summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/wasm/spec
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
commit26a029d407be480d791972afb5975cf62c9360a6 (patch)
treef435a8308119effd964b339f76abb83a57c29483 /js/src/jit-test/tests/wasm/spec
parentInitial commit. (diff)
downloadfirefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz
firefox-26a029d407be480d791972afb5975cf62c9360a6.zip
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'js/src/jit-test/tests/wasm/spec')
-rw-r--r--js/src/jit-test/tests/wasm/spec/README.md5
-rw-r--r--js/src/jit-test/tests/wasm/spec/exception-handling/directives.txt1
-rw-r--r--js/src/jit-test/tests/wasm/spec/exception-handling/harness/directives.txt1
-rw-r--r--js/src/jit-test/tests/wasm/spec/exception-handling/harness/harness.js448
-rw-r--r--js/src/jit-test/tests/wasm/spec/exception-handling/tag.wast.js40
-rw-r--r--js/src/jit-test/tests/wasm/spec/exception-handling/throw.wast.js94
-rw-r--r--js/src/jit-test/tests/wasm/spec/exception-handling/throw_ref.wast.js155
-rw-r--r--js/src/jit-test/tests/wasm/spec/extended-const/directives.txt1
-rw-r--r--js/src/jit-test/tests/wasm/spec/extended-const/global.wast.js828
-rw-r--r--js/src/jit-test/tests/wasm/spec/extended-const/harness/directives.txt1
-rw-r--r--js/src/jit-test/tests/wasm/spec/extended-const/harness/harness.js448
-rw-r--r--js/src/jit-test/tests/wasm/spec/function-references/br_if.wast.js886
-rw-r--r--js/src/jit-test/tests/wasm/spec/function-references/br_on_non_null.wast.js101
-rw-r--r--js/src/jit-test/tests/wasm/spec/function-references/br_on_null.wast.js94
-rw-r--r--js/src/jit-test/tests/wasm/spec/function-references/call_ref.wast.js275
-rw-r--r--js/src/jit-test/tests/wasm/spec/function-references/directives.txt1
-rw-r--r--js/src/jit-test/tests/wasm/spec/function-references/func.wast.js1240
-rw-r--r--js/src/jit-test/tests/wasm/spec/function-references/global.wast.js796
-rw-r--r--js/src/jit-test/tests/wasm/spec/function-references/harness/directives.txt1
-rw-r--r--js/src/jit-test/tests/wasm/spec/function-references/harness/harness.js448
-rw-r--r--js/src/jit-test/tests/wasm/spec/function-references/if.wast.js1911
-rw-r--r--js/src/jit-test/tests/wasm/spec/function-references/local_get.wast.js279
-rw-r--r--js/src/jit-test/tests/wasm/spec/function-references/ref.wast.js110
-rw-r--r--js/src/jit-test/tests/wasm/spec/function-references/ref_as_non_null.wast.js71
-rw-r--r--js/src/jit-test/tests/wasm/spec/function-references/ref_func.wast.js156
-rw-r--r--js/src/jit-test/tests/wasm/spec/function-references/return_call_ref.wast.js460
-rw-r--r--js/src/jit-test/tests/wasm/spec/function-references/unreached-valid.wast.js109
-rw-r--r--js/src/jit-test/tests/wasm/spec/gc/array.wast.js385
-rw-r--r--js/src/jit-test/tests/wasm/spec/gc/array_copy.wast.js202
-rw-r--r--js/src/jit-test/tests/wasm/spec/gc/array_fill.wast.js112
-rw-r--r--js/src/jit-test/tests/wasm/spec/gc/binary-gc.wast.js30
-rw-r--r--js/src/jit-test/tests/wasm/spec/gc/br_if.wast.js886
-rw-r--r--js/src/jit-test/tests/wasm/spec/gc/br_on_cast.wast.js337
-rw-r--r--js/src/jit-test/tests/wasm/spec/gc/br_on_cast_fail.wast.js352
-rw-r--r--js/src/jit-test/tests/wasm/spec/gc/comments.wast.js51
-rw-r--r--js/src/jit-test/tests/wasm/spec/gc/directives.txt1
-rw-r--r--js/src/jit-test/tests/wasm/spec/gc/extern.wast.js101
-rw-r--r--js/src/jit-test/tests/wasm/spec/gc/float_literals.wast.js776
-rw-r--r--js/src/jit-test/tests/wasm/spec/gc/global.wast.js869
-rw-r--r--js/src/jit-test/tests/wasm/spec/gc/harness/directives.txt1
-rw-r--r--js/src/jit-test/tests/wasm/spec/gc/harness/harness.js448
-rw-r--r--js/src/jit-test/tests/wasm/spec/gc/i31.wast.js104
-rw-r--r--js/src/jit-test/tests/wasm/spec/gc/if.wast.js1928
-rw-r--r--js/src/jit-test/tests/wasm/spec/gc/obsolete-keywords.wast.js82
-rw-r--r--js/src/jit-test/tests/wasm/spec/gc/ref_cast.wast.js279
-rw-r--r--js/src/jit-test/tests/wasm/spec/gc/ref_eq.wast.js351
-rw-r--r--js/src/jit-test/tests/wasm/spec/gc/ref_null.wast.js127
-rw-r--r--js/src/jit-test/tests/wasm/spec/gc/ref_test.wast.js470
-rw-r--r--js/src/jit-test/tests/wasm/spec/gc/struct.wast.js271
-rw-r--r--js/src/jit-test/tests/wasm/spec/gc/token.wast.js289
-rw-r--r--js/src/jit-test/tests/wasm/spec/gc/type-canon.wast.js36
-rw-r--r--js/src/jit-test/tests/wasm/spec/gc/type-equivalence.wast.js345
-rw-r--r--js/src/jit-test/tests/wasm/spec/gc/type-rec.wast.js189
-rw-r--r--js/src/jit-test/tests/wasm/spec/gc/type-subtyping.wast.js943
-rw-r--r--js/src/jit-test/tests/wasm/spec/gc/unreachable.wast.js424
-rw-r--r--js/src/jit-test/tests/wasm/spec/gc/unreached-valid.wast.js138
-rw-r--r--js/src/jit-test/tests/wasm/spec/memory64/address64.wast.js1025
-rw-r--r--js/src/jit-test/tests/wasm/spec/memory64/align64.wast.js1090
-rw-r--r--js/src/jit-test/tests/wasm/spec/memory64/directives.txt1
-rw-r--r--js/src/jit-test/tests/wasm/spec/memory64/endianness64.wast.js385
-rw-r--r--js/src/jit-test/tests/wasm/spec/memory64/float_memory64.wast.js361
-rw-r--r--js/src/jit-test/tests/wasm/spec/memory64/harness/directives.txt1
-rw-r--r--js/src/jit-test/tests/wasm/spec/memory64/harness/harness.js457
-rw-r--r--js/src/jit-test/tests/wasm/spec/memory64/load64.wast.js749
-rw-r--r--js/src/jit-test/tests/wasm/spec/memory64/memory64.wast.js324
-rw-r--r--js/src/jit-test/tests/wasm/spec/memory64/memory_grow64.wast.js199
-rw-r--r--js/src/jit-test/tests/wasm/spec/memory64/memory_redundancy64.wast.js95
-rw-r--r--js/src/jit-test/tests/wasm/spec/memory64/memory_trap64.wast.js632
-rw-r--r--js/src/jit-test/tests/wasm/spec/multi-memory/address0.wast.js392
-rw-r--r--js/src/jit-test/tests/wasm/spec/multi-memory/address1.wast.js538
-rw-r--r--js/src/jit-test/tests/wasm/spec/multi-memory/align0.wast.js65
-rw-r--r--js/src/jit-test/tests/wasm/spec/multi-memory/binary0.wast.js88
-rw-r--r--js/src/jit-test/tests/wasm/spec/multi-memory/data0.wast.js93
-rw-r--r--js/src/jit-test/tests/wasm/spec/multi-memory/data1.wast.js170
-rw-r--r--js/src/jit-test/tests/wasm/spec/multi-memory/data_drop0.wast.js63
-rw-r--r--js/src/jit-test/tests/wasm/spec/multi-memory/directives.txt1
-rw-r--r--js/src/jit-test/tests/wasm/spec/multi-memory/exports0.wast.js78
-rw-r--r--js/src/jit-test/tests/wasm/spec/multi-memory/float_exprs0.wast.js80
-rw-r--r--js/src/jit-test/tests/wasm/spec/multi-memory/float_exprs1.wast.js128
-rw-r--r--js/src/jit-test/tests/wasm/spec/multi-memory/float_memory.wast.js361
-rw-r--r--js/src/jit-test/tests/wasm/spec/multi-memory/float_memory0.wast.js137
-rw-r--r--js/src/jit-test/tests/wasm/spec/multi-memory/harness/directives.txt1
-rw-r--r--js/src/jit-test/tests/wasm/spec/multi-memory/harness/harness.js448
-rw-r--r--js/src/jit-test/tests/wasm/spec/multi-memory/imports0.wast.js73
-rw-r--r--js/src/jit-test/tests/wasm/spec/multi-memory/imports1.wast.js40
-rw-r--r--js/src/jit-test/tests/wasm/spec/multi-memory/imports2.wast.js120
-rw-r--r--js/src/jit-test/tests/wasm/spec/multi-memory/imports3.wast.js109
-rw-r--r--js/src/jit-test/tests/wasm/spec/multi-memory/imports4.wast.js93
-rw-r--r--js/src/jit-test/tests/wasm/spec/multi-memory/linking0.wast.js68
-rw-r--r--js/src/jit-test/tests/wasm/spec/multi-memory/linking1.wast.js104
-rw-r--r--js/src/jit-test/tests/wasm/spec/multi-memory/linking2.wast.js67
-rw-r--r--js/src/jit-test/tests/wasm/spec/multi-memory/linking3.wast.js120
-rw-r--r--js/src/jit-test/tests/wasm/spec/multi-memory/load.wast.js845
-rw-r--r--js/src/jit-test/tests/wasm/spec/multi-memory/load0.wast.js38
-rw-r--r--js/src/jit-test/tests/wasm/spec/multi-memory/load1.wast.js90
-rw-r--r--js/src/jit-test/tests/wasm/spec/multi-memory/load2.wast.js289
-rw-r--r--js/src/jit-test/tests/wasm/spec/multi-memory/memory-multi.wast.js62
-rw-r--r--js/src/jit-test/tests/wasm/spec/multi-memory/memory.wast.js390
-rw-r--r--js/src/jit-test/tests/wasm/spec/multi-memory/memory_copy0.wast.js117
-rw-r--r--js/src/jit-test/tests/wasm/spec/multi-memory/memory_fill0.wast.js77
-rw-r--r--js/src/jit-test/tests/wasm/spec/multi-memory/memory_grow.wast.js773
-rw-r--r--js/src/jit-test/tests/wasm/spec/multi-memory/memory_init0.wast.js70
-rw-r--r--js/src/jit-test/tests/wasm/spec/multi-memory/memory_size.wast.js208
-rw-r--r--js/src/jit-test/tests/wasm/spec/multi-memory/memory_size0.wast.js49
-rw-r--r--js/src/jit-test/tests/wasm/spec/multi-memory/memory_size1.wast.js73
-rw-r--r--js/src/jit-test/tests/wasm/spec/multi-memory/memory_size2.wast.js90
-rw-r--r--js/src/jit-test/tests/wasm/spec/multi-memory/memory_size3.wast.js43
-rw-r--r--js/src/jit-test/tests/wasm/spec/multi-memory/memory_trap0.wast.js78
-rw-r--r--js/src/jit-test/tests/wasm/spec/multi-memory/memory_trap1.wast.js602
-rw-r--r--js/src/jit-test/tests/wasm/spec/multi-memory/simd_load.wast.js295
-rw-r--r--js/src/jit-test/tests/wasm/spec/multi-memory/simd_memory-multi.wast.js58
-rw-r--r--js/src/jit-test/tests/wasm/spec/multi-memory/simd_store.wast.js238
-rw-r--r--js/src/jit-test/tests/wasm/spec/multi-memory/start0.wast.js73
-rw-r--r--js/src/jit-test/tests/wasm/spec/multi-memory/store.wast.js803
-rw-r--r--js/src/jit-test/tests/wasm/spec/multi-memory/store0.wast.js48
-rw-r--r--js/src/jit-test/tests/wasm/spec/multi-memory/store1.wast.js92
-rw-r--r--js/src/jit-test/tests/wasm/spec/multi-memory/traps0.wast.js80
-rw-r--r--js/src/jit-test/tests/wasm/spec/relaxed-simd/directives.txt1
-rw-r--r--js/src/jit-test/tests/wasm/spec/relaxed-simd/harness/directives.txt1
-rw-r--r--js/src/jit-test/tests/wasm/spec/relaxed-simd/harness/harness.js448
-rw-r--r--js/src/jit-test/tests/wasm/spec/relaxed-simd/i16x8_relaxed_q15mulr_s.wast.js49
-rw-r--r--js/src/jit-test/tests/wasm/spec/relaxed-simd/i32x4_relaxed_trunc.wast.js338
-rw-r--r--js/src/jit-test/tests/wasm/spec/relaxed-simd/i8x16_relaxed_swizzle.wast.js90
-rw-r--r--js/src/jit-test/tests/wasm/spec/relaxed-simd/relaxed_dot_product.wast.js139
-rw-r--r--js/src/jit-test/tests/wasm/spec/relaxed-simd/relaxed_laneselect.wast.js179
-rw-r--r--js/src/jit-test/tests/wasm/spec/relaxed-simd/relaxed_madd_nmadd.wast.js325
-rw-r--r--js/src/jit-test/tests/wasm/spec/relaxed-simd/relaxed_min_max.wast.js663
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/address.wast.js1082
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/block.wast.js1878
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/br.wast.js839
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/br_if.wast.js886
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/bulk.wast.js499
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/call.wast.js683
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/call_indirect.wast.js1256
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/comments.wast.js34
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/const.wast.js3114
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/conversions.wast.js3109
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/custom.wast.js157
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/directives.txt1
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/endianness.wast.js385
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/f32.wast.js18629
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/f32_bitwise.wast.js2688
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/f32_cmp.wast.js17342
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/f64.wast.js20658
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/f64_bitwise.wast.js3032
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/f64_cmp.wast.js18854
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/fac.wast.js139
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/float_exprs.wast.js7295
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/float_literals.wast.js764
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/float_memory.wast.js361
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/float_misc.wast.js3679
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/forward.wast.js45
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/func.wast.js1218
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/func_ptrs.wast.js191
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/global.wast.js809
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/harness/directives.txt1
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/harness/harness.js448
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/i32.wast.js1967
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/i64.wast.js1600
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/if.wast.js1911
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/inline-module.wast.js20
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/int_exprs.wast.js534
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/int_literals.wast.js233
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/labels.wast.js400
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/left-to-right.wast.js482
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/load.wast.js749
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/local_get.wast.js279
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/local_set.wast.js442
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/local_tee.wast.js806
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/loop.wast.js986
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/memory.wast.js399
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/memory_copy.wast.js14165
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/memory_fill.wast.js865
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/memory_grow.wast.js555
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/memory_init.wast.js1409
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/memory_redundancy.wast.js95
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/memory_size.wast.js174
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/names.wast.js2158
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/nop.wast.js593
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/ref_func.wast.js156
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/ref_is_null.wast.js97
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/ref_null.wast.js31
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/return.wast.js636
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/simd_address.wast.js348
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/simd_bit_shift.wast.js2102
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/simd_bitwise.wast.js2769
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/simd_boolean.wast.js2455
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/simd_const.wast.js4681
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/simd_conversions.wast.js3341
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/simd_f32x4.wast.js18269
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/simd_f32x4_arith.wast.js45212
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/simd_f32x4_cmp.wast.js47701
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/simd_f32x4_pmin_pmax.wast.js92356
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/simd_f32x4_rounding.wast.js3432
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/simd_f64x2.wast.js13218
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/simd_f64x2_arith.wast.js32018
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/simd_f64x2_cmp.wast.js43747
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/simd_f64x2_pmin_pmax.wast.js64564
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/simd_f64x2_rounding.wast.js2210
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/simd_i16x8_arith.wast.js1801
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/simd_i16x8_arith2.wast.js1558
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/simd_i16x8_cmp.wast.js4369
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/simd_i16x8_extadd_pairwise_i8x16.wast.js184
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/simd_i16x8_extmul_i8x16.wast.js1066
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/simd_i16x8_q15mulr_sat_s.wast.js283
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/simd_i16x8_sat_arith.wast.js2150
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/simd_i32x4_arith.wast.js1801
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/simd_i32x4_arith2.wast.js1279
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/simd_i32x4_cmp.wast.js4369
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/simd_i32x4_dot_i16x8.wast.js283
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/simd_i32x4_extadd_pairwise_i16x8.wast.js184
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/simd_i32x4_extmul_i16x8.wast.js1066
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/simd_i32x4_trunc_sat_f32x4.wast.js1016
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/simd_i32x4_trunc_sat_f64x2.wast.js940
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/simd_i64x2_arith.wast.js1753
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/simd_i64x2_arith2.wast.js149
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/simd_i64x2_cmp.wast.js980
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/simd_i64x2_extmul_i32x4.wast.js1066
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/simd_i8x16_arith.wast.js1457
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/simd_i8x16_arith2.wast.js2263
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/simd_i8x16_cmp.wast.js4989
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/simd_i8x16_sat_arith.wast.js2430
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/simd_int_to_int_extend.wast.js2026
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/simd_lane.wast.js4349
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/simd_load.wast.js295
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/simd_load16_lane.wast.js424
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/simd_load32_lane.wast.js228
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/simd_load64_lane.wast.js156
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/simd_load8_lane.wast.js704
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/simd_load_extend.wast.js726
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/simd_load_splat.wast.js750
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/simd_load_zero.wast.js264
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/simd_splat.wast.js1607
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/simd_store.wast.js238
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/simd_store16_lane.wast.js512
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/simd_store32_lane.wast.js320
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/simd_store64_lane.wast.js214
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/simd_store8_lane.wast.js736
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/skip-stack-guard-page.wast.js2320
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/stack.wast.js263
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/start.wast.js150
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/store.wast.js583
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/switch.wast.js220
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/table-sub.wast.js40
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/table_copy.wast.js6436
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/table_fill.wast.js238
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/table_get.wast.js126
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/table_grow.wast.js271
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/table_init.wast.js3674
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/table_set.wast.js177
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/table_size.wast.js172
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/token.wast.js22
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/tokens.wast.js283
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/traps.wast.js200
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/type.wast.js66
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/unreachable.wast.js424
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/unreached-valid.wast.js88
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/unwind.wast.js373
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/utf8-import-field.wast.js2656
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/utf8-import-module.wast.js2656
-rw-r--r--js/src/jit-test/tests/wasm/spec/spec/utf8-invalid-encoding.wast.js1033
-rw-r--r--js/src/jit-test/tests/wasm/spec/tail-call/directives.txt1
-rw-r--r--js/src/jit-test/tests/wasm/spec/tail-call/harness/directives.txt1
-rw-r--r--js/src/jit-test/tests/wasm/spec/tail-call/harness/harness.js448
-rw-r--r--js/src/jit-test/tests/wasm/spec/tail-call/return_call.wast.js283
-rw-r--r--js/src/jit-test/tests/wasm/spec/tail-call/return_call_indirect.wast.js591
266 files changed, 631078 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/wasm/spec/README.md b/js/src/jit-test/tests/wasm/spec/README.md
new file mode 100644
index 0000000000..bc1e89348e
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/README.md
@@ -0,0 +1,5 @@
+# Wasm Spec Tests
+
+These tests are autogenerated using a tool, do not edit.
+
+See `jit-test/etc/wasm/` for more information.
diff --git a/js/src/jit-test/tests/wasm/spec/exception-handling/directives.txt b/js/src/jit-test/tests/wasm/spec/exception-handling/directives.txt
new file mode 100644
index 0000000000..51f58354cb
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/exception-handling/directives.txt
@@ -0,0 +1 @@
+|jit-test| test-also=--wasm-compiler=optimizing; test-also=--wasm-compiler=baseline; test-also=--wasm-test-serialization; test-also=--test-wasm-await-tier2; test-also=--disable-wasm-huge-memory; skip-variant-if: --disable-wasm-huge-memory, !wasmHugeMemorySupported(); local-include:harness/harness.js; --wasm-exceptions; --wasm-exnref; skip-if: !wasmExceptionsEnabled() \ No newline at end of file
diff --git a/js/src/jit-test/tests/wasm/spec/exception-handling/harness/directives.txt b/js/src/jit-test/tests/wasm/spec/exception-handling/harness/directives.txt
new file mode 100644
index 0000000000..d41243abbb
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/exception-handling/harness/directives.txt
@@ -0,0 +1 @@
+|jit-test| skip-if: true \ No newline at end of file
diff --git a/js/src/jit-test/tests/wasm/spec/exception-handling/harness/harness.js b/js/src/jit-test/tests/wasm/spec/exception-handling/harness/harness.js
new file mode 100644
index 0000000000..a96781e8ed
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/exception-handling/harness/harness.js
@@ -0,0 +1,448 @@
+"use strict";
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+if (!wasmIsSupported()) {
+ quit();
+}
+
+function bytes(type, bytes) {
+ var typedBuffer = new Uint8Array(bytes);
+ return wasmGlobalFromArrayBuffer(type, typedBuffer.buffer);
+}
+function value(type, value) {
+ return new WebAssembly.Global({
+ value: type,
+ mutable: false,
+ }, value);
+}
+
+function i8x16(elements) {
+ let typedBuffer = new Uint8Array(elements);
+ return wasmGlobalFromArrayBuffer("v128", typedBuffer.buffer);
+}
+function i16x8(elements) {
+ let typedBuffer = new Uint16Array(elements);
+ return wasmGlobalFromArrayBuffer("v128", typedBuffer.buffer);
+}
+function i32x4(elements) {
+ let typedBuffer = new Uint32Array(elements);
+ return wasmGlobalFromArrayBuffer("v128", typedBuffer.buffer);
+}
+function i64x2(elements) {
+ let typedBuffer = new BigUint64Array(elements);
+ return wasmGlobalFromArrayBuffer("v128", typedBuffer.buffer);
+}
+function f32x4(elements) {
+ let typedBuffer = new Float32Array(elements);
+ return wasmGlobalFromArrayBuffer("v128", typedBuffer.buffer);
+}
+function f64x2(elements) {
+ let typedBuffer = new Float64Array(elements);
+ return wasmGlobalFromArrayBuffer("v128", typedBuffer.buffer);
+}
+
+function either(...arr) {
+ return new EitherVariants(arr);
+}
+
+class F32x4Pattern {
+ constructor(x, y, z, w) {
+ this.x = x;
+ this.y = y;
+ this.z = z;
+ this.w = w;
+ }
+}
+
+class F64x2Pattern {
+ constructor(x, y) {
+ this.x = x;
+ this.y = y;
+ }
+}
+
+class RefWithType {
+ constructor(type) {
+ this.type = type;
+ }
+
+ formatExpected() {
+ return `RefWithType(${this.type})`;
+ }
+
+ test(refGlobal) {
+ try {
+ new WebAssembly.Global({value: this.type}, refGlobal.value);
+ return true;
+ } catch (err) {
+ assertEq(err instanceof TypeError, true, `wrong type of error when creating global: ${err}`);
+ assertEq(!!err.message.match(/can only pass/), true, `wrong type of error when creating global: ${err}`);
+ return false;
+ }
+ }
+}
+
+// ref.extern values created by spec tests will be JS objects of the form
+// { [externsym]: <number> }. Other externref values are possible to observe
+// if extern.convert_any is used.
+let externsym = Symbol("externref");
+function externref(s) {
+ return { [externsym]: s };
+}
+function is_externref(x) {
+ return (x !== null && externsym in x) ? 1 : 0;
+}
+function is_funcref(x) {
+ return typeof x === "function" ? 1 : 0;
+}
+function eq_externref(x, y) {
+ return x === y ? 1 : 0;
+}
+function eq_funcref(x, y) {
+ return x === y ? 1 : 0;
+}
+
+class ExternRefResult {
+ constructor(n) {
+ this.n = n;
+ }
+
+ formatExpected() {
+ return `ref.extern ${this.n}`;
+ }
+
+ test(global) {
+ // the global's value can either be an externref or just a plain old JS number
+ let result = global.value;
+ if (typeof global.value === "object" && externsym in global.value) {
+ result = global.value[externsym];
+ }
+ return result === this.n;
+ }
+}
+
+// ref.host values created by spectests will be whatever the JS API does to
+// convert the given value to anyref. It should implicitly be like any.convert_extern.
+function hostref(v) {
+ if (!wasmGcEnabled()) {
+ throw new Error("ref.host only works when wasm GC is enabled");
+ }
+
+ const { internalizeNum } = new WebAssembly.Instance(
+ new WebAssembly.Module(wasmTextToBinary(`(module
+ (func (import "test" "coerce") (param i32) (result anyref))
+ (func (export "internalizeNum") (param i32) (result anyref)
+ (call 0 (local.get 0))
+ )
+ )`)),
+ { "test": { "coerce": x => x } },
+ ).exports;
+ return internalizeNum(v);
+}
+
+class HostRefResult {
+ constructor(n) {
+ this.n = n;
+ }
+
+ formatExpected() {
+ return `ref.host ${this.n}`;
+ }
+
+ test(externrefGlobal) {
+ assertEq(externsym in externrefGlobal.value, true, `HostRefResult only works with externref inputs`);
+ return externrefGlobal.value[externsym] === this.n;
+ }
+}
+
+let spectest = {
+ externref: externref,
+ is_externref: is_externref,
+ is_funcref: is_funcref,
+ eq_externref: eq_externref,
+ eq_funcref: eq_funcref,
+ print: console.log.bind(console),
+ print_i32: console.log.bind(console),
+ print_i32_f32: console.log.bind(console),
+ print_f64_f64: console.log.bind(console),
+ print_f32: console.log.bind(console),
+ print_f64: console.log.bind(console),
+ global_i32: 666,
+ global_i64: 666n,
+ global_f32: 666,
+ global_f64: 666,
+ table: new WebAssembly.Table({
+ initial: 10,
+ maximum: 20,
+ element: "anyfunc",
+ }),
+ memory: new WebAssembly.Memory({ initial: 1, maximum: 2 }),
+};
+
+let linkage = {
+ spectest,
+};
+
+function getInstance(instanceish) {
+ if (typeof instanceish === "string") {
+ assertEq(
+ instanceish in linkage,
+ true,
+ `'${instanceish}'' must be registered`,
+ );
+ return linkage[instanceish];
+ }
+ return instanceish;
+}
+
+function instantiate(source) {
+ let bytecode = wasmTextToBinary(source);
+ let module = new WebAssembly.Module(bytecode);
+ let instance = new WebAssembly.Instance(module, linkage);
+ return instance.exports;
+}
+
+function register(instanceish, name) {
+ linkage[name] = getInstance(instanceish);
+}
+
+function invoke(instanceish, field, params) {
+ let func = getInstance(instanceish)[field];
+ assertEq(func instanceof Function, true, "expected a function");
+ return wasmLosslessInvoke(func, ...params);
+}
+
+function get(instanceish, field) {
+ let global = getInstance(instanceish)[field];
+ assertEq(
+ global instanceof WebAssembly.Global,
+ true,
+ "expected a WebAssembly.Global",
+ );
+ return global;
+}
+
+function assert_trap(thunk, message) {
+ try {
+ thunk();
+ throw new Error("expected trap");
+ } catch (err) {
+ if (err instanceof WebAssembly.RuntimeError) {
+ return;
+ }
+ throw err;
+ }
+}
+
+let StackOverflow;
+try {
+ (function f() {
+ 1 + f();
+ })();
+} catch (e) {
+ StackOverflow = e.constructor;
+}
+function assert_exhaustion(thunk, message) {
+ try {
+ thunk();
+ assertEq("normal return", "exhaustion");
+ } catch (err) {
+ assertEq(
+ err instanceof StackOverflow,
+ true,
+ "expected exhaustion",
+ );
+ }
+}
+
+function assert_invalid(thunk, message) {
+ try {
+ thunk();
+ assertEq("valid module", "invalid module");
+ } catch (err) {
+ assertEq(
+ err instanceof WebAssembly.LinkError ||
+ err instanceof WebAssembly.CompileError,
+ true,
+ "expected an invalid module",
+ );
+ }
+}
+
+function assert_unlinkable(thunk, message) {
+ try {
+ thunk();
+ assertEq(true, false, "expected an unlinkable module");
+ } catch (err) {
+ assertEq(
+ err instanceof WebAssembly.LinkError ||
+ err instanceof WebAssembly.CompileError,
+ true,
+ "expected an unlinkable module",
+ );
+ }
+}
+
+function assert_malformed(thunk, message) {
+ try {
+ thunk();
+ assertEq("valid module", "malformed module");
+ } catch (err) {
+ assertEq(
+ err instanceof TypeError ||
+ err instanceof SyntaxError ||
+ err instanceof WebAssembly.CompileError ||
+ err instanceof WebAssembly.LinkError,
+ true,
+ `expected a malformed module`,
+ );
+ }
+}
+
+function assert_exception(thunk) {
+ let thrown = false;
+ try {
+ thunk();
+ } catch (err) {
+ thrown = true;
+ }
+ assertEq(thrown, true, "expected an exception to be thrown");
+}
+
+function assert_return(thunk, expected) {
+ let results = thunk();
+
+ if (results === undefined) {
+ results = [];
+ } else if (!Array.isArray(results)) {
+ results = [results];
+ }
+ if (!Array.isArray(expected)) {
+ expected = [expected];
+ }
+
+ if (!compareResults(results, expected)) {
+ let got = results.map((x) => formatResult(x)).join(", ");
+ let wanted = expected.map((x) => formatExpected(x)).join(", ");
+ assertEq(
+ `[${got}]`,
+ `[${wanted}]`,
+ );
+ assertEq(true, false, `${got} !== ${wanted}`);
+ }
+}
+
+function formatResult(result) {
+ if (typeof (result) === "object") {
+ return wasmGlobalToString(result);
+ } else {
+ return `${result}`;
+ }
+}
+
+function formatExpected(expected) {
+ if (
+ expected === `f32_canonical_nan` ||
+ expected === `f32_arithmetic_nan` ||
+ expected === `f64_canonical_nan` ||
+ expected === `f64_arithmetic_nan`
+ ) {
+ return expected;
+ } else if (expected instanceof F32x4Pattern) {
+ return `f32x4(${formatExpected(expected.x)}, ${
+ formatExpected(expected.y)
+ }, ${formatExpected(expected.z)}, ${formatExpected(expected.w)})`;
+ } else if (expected instanceof F64x2Pattern) {
+ return `f64x2(${formatExpected(expected.x)}, ${
+ formatExpected(expected.y)
+ })`;
+ } else if (expected instanceof EitherVariants) {
+ return expected.formatExpected();
+ } else if (expected instanceof RefWithType) {
+ return expected.formatExpected();
+ } else if (expected instanceof ExternRefResult) {
+ return expected.formatExpected();
+ } else if (expected instanceof HostRefResult) {
+ return expected.formatExpected();
+ } else if (typeof (expected) === "object") {
+ return wasmGlobalToString(expected);
+ } else {
+ throw new Error("unknown expected result");
+ }
+}
+
+class EitherVariants {
+ constructor(arr) {
+ this.arr = arr;
+ }
+ matches(v) {
+ return this.arr.some((e) => compareResult(v, e));
+ }
+ formatExpected() {
+ return `either(${this.arr.map(formatExpected).join(", ")})`;
+ }
+}
+
+function compareResults(results, expected) {
+ if (results.length !== expected.length) {
+ return false;
+ }
+ for (let i in results) {
+ if (expected[i] instanceof EitherVariants) {
+ return expected[i].matches(results[i]);
+ }
+ if (!compareResult(results[i], expected[i])) {
+ return false;
+ }
+ }
+ return true;
+}
+
+function compareResult(result, expected) {
+ if (
+ expected === `canonical_nan` ||
+ expected === `arithmetic_nan`
+ ) {
+ return wasmGlobalIsNaN(result, expected);
+ } else if (expected === null) {
+ return result.value === null;
+ } else if (expected instanceof F32x4Pattern) {
+ return compareResult(
+ wasmGlobalExtractLane(result, "f32x4", 0),
+ expected.x,
+ ) &&
+ compareResult(wasmGlobalExtractLane(result, "f32x4", 1), expected.y) &&
+ compareResult(wasmGlobalExtractLane(result, "f32x4", 2), expected.z) &&
+ compareResult(wasmGlobalExtractLane(result, "f32x4", 3), expected.w);
+ } else if (expected instanceof F64x2Pattern) {
+ return compareResult(
+ wasmGlobalExtractLane(result, "f64x2", 0),
+ expected.x,
+ ) &&
+ compareResult(wasmGlobalExtractLane(result, "f64x2", 1), expected.y);
+ } else if (expected instanceof RefWithType) {
+ return expected.test(result);
+ } else if (expected instanceof ExternRefResult) {
+ return expected.test(result);
+ } else if (expected instanceof HostRefResult) {
+ return expected.test(result);
+ } else if (typeof (expected) === "object") {
+ return wasmGlobalsEqual(result, expected);
+ } else {
+ throw new Error("unknown expected result");
+ }
+}
diff --git a/js/src/jit-test/tests/wasm/spec/exception-handling/tag.wast.js b/js/src/jit-test/tests/wasm/spec/exception-handling/tag.wast.js
new file mode 100644
index 0000000000..70e75a12d1
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/exception-handling/tag.wast.js
@@ -0,0 +1,40 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/tag.wast
+
+// ./test/core/tag.wast:3
+let $0 = instantiate(`(module
+ (tag)
+ (tag (param i32))
+ (tag (export "t2") (param i32))
+ (tag $$t3 (param i32 f32))
+ (export "t3" (tag 3))
+)`);
+
+// ./test/core/tag.wast:11
+register($0, `test`);
+
+// ./test/core/tag.wast:13
+let $1 = instantiate(`(module
+ (tag $$t0 (import "test" "t2") (param i32))
+ (import "test" "t3" (tag $$t1 (param i32 f32)))
+)`);
+
+// ./test/core/tag.wast:18
+assert_invalid(
+ () => instantiate(`(module (tag (result i32)))`),
+ `non-empty tag result type`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/exception-handling/throw.wast.js b/js/src/jit-test/tests/wasm/spec/exception-handling/throw.wast.js
new file mode 100644
index 0000000000..2bb83c6ef0
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/exception-handling/throw.wast.js
@@ -0,0 +1,94 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/throw.wast
+
+// ./test/core/throw.wast:3
+let $0 = instantiate(`(module
+ (tag $$e0)
+ (tag $$e-i32 (param i32))
+ (tag $$e-f32 (param f32))
+ (tag $$e-i64 (param i64))
+ (tag $$e-f64 (param f64))
+ (tag $$e-i32-i32 (param i32 i32))
+
+ (func $$throw-if (export "throw-if") (param i32) (result i32)
+ (local.get 0)
+ (i32.const 0) (if (i32.ne) (then (throw $$e0)))
+ (i32.const 0)
+ )
+
+ (func (export "throw-param-f32") (param f32) (local.get 0) (throw $$e-f32))
+
+ (func (export "throw-param-i64") (param i64) (local.get 0) (throw $$e-i64))
+
+ (func (export "throw-param-f64") (param f64) (local.get 0) (throw $$e-f64))
+
+ (func (export "throw-polymorphic") (throw $$e0) (throw $$e-i32))
+
+ (func (export "throw-polymorphic-block") (block (result i32) (throw $$e0)) (throw $$e-i32))
+
+ (func $$throw-1-2 (i32.const 1) (i32.const 2) (throw $$e-i32-i32))
+ (func (export "test-throw-1-2")
+ (block $$h (result i32 i32)
+ (try_table (catch $$e-i32-i32 $$h) (call $$throw-1-2))
+ (return)
+ )
+ (if (i32.ne (i32.const 2)) (then (unreachable)))
+ (if (i32.ne (i32.const 1)) (then (unreachable)))
+ )
+)`);
+
+// ./test/core/throw.wast:38
+assert_return(() => invoke($0, `throw-if`, [0]), [value("i32", 0)]);
+
+// ./test/core/throw.wast:39
+assert_exception(() => invoke($0, `throw-if`, [10]));
+
+// ./test/core/throw.wast:40
+assert_exception(() => invoke($0, `throw-if`, [-1]));
+
+// ./test/core/throw.wast:42
+assert_exception(() => invoke($0, `throw-param-f32`, [value("f32", 5)]));
+
+// ./test/core/throw.wast:43
+assert_exception(() => invoke($0, `throw-param-i64`, [5n]));
+
+// ./test/core/throw.wast:44
+assert_exception(() => invoke($0, `throw-param-f64`, [value("f64", 5)]));
+
+// ./test/core/throw.wast:46
+assert_exception(() => invoke($0, `throw-polymorphic`, []));
+
+// ./test/core/throw.wast:47
+assert_exception(() => invoke($0, `throw-polymorphic-block`, []));
+
+// ./test/core/throw.wast:49
+assert_return(() => invoke($0, `test-throw-1-2`, []), []);
+
+// ./test/core/throw.wast:51
+assert_invalid(() => instantiate(`(module (func (throw 0)))`), `unknown tag 0`);
+
+// ./test/core/throw.wast:52
+assert_invalid(
+ () => instantiate(`(module (tag (param i32)) (func (throw 0)))`),
+ `type mismatch: instruction requires [i32] but stack has []`,
+);
+
+// ./test/core/throw.wast:54
+assert_invalid(
+ () => instantiate(`(module (tag (param i32)) (func (i64.const 5) (throw 0)))`),
+ `type mismatch: instruction requires [i32] but stack has [i64]`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/exception-handling/throw_ref.wast.js b/js/src/jit-test/tests/wasm/spec/exception-handling/throw_ref.wast.js
new file mode 100644
index 0000000000..50b7b49837
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/exception-handling/throw_ref.wast.js
@@ -0,0 +1,155 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/throw_ref.wast
+
+// ./test/core/throw_ref.wast:3
+let $0 = instantiate(`(module
+ (tag $$e0)
+ (tag $$e1)
+
+ (func (export "catch-throw_ref-0")
+ (block $$h (result exnref)
+ (try_table (catch_ref $$e0 $$h) (throw $$e0))
+ (unreachable)
+ )
+ (throw_ref)
+ )
+
+ (func (export "catch-throw_ref-1") (param i32) (result i32)
+ (block $$h (result exnref)
+ (try_table (result i32) (catch_ref $$e0 $$h) (throw $$e0))
+ (return)
+ )
+ (if (param exnref) (i32.eqz (local.get 0))
+ (then (throw_ref))
+ (else (drop))
+ )
+ (i32.const 23)
+ )
+
+ (func (export "catchall-throw_ref-0")
+ (block $$h (result exnref)
+ (try_table (result exnref) (catch_all_ref $$h) (throw $$e0))
+ )
+ (throw_ref)
+ )
+
+ (func (export "catchall-throw_ref-1") (param i32) (result i32)
+ (block $$h (result exnref)
+ (try_table (result i32) (catch_all_ref $$h) (throw $$e0))
+ (return)
+ )
+ (if (param exnref) (i32.eqz (local.get 0))
+ (then (throw_ref))
+ (else (drop))
+ )
+ (i32.const 23)
+ )
+
+ (func (export "throw_ref-nested") (param i32) (result i32)
+ (local $$exn1 exnref)
+ (local $$exn2 exnref)
+ (block $$h1 (result exnref)
+ (try_table (result i32) (catch_ref $$e1 $$h1) (throw $$e1))
+ (return)
+ )
+ (local.set $$exn1)
+ (block $$h2 (result exnref)
+ (try_table (result i32) (catch_ref $$e0 $$h2) (throw $$e0))
+ (return)
+ )
+ (local.set $$exn2)
+ (if (i32.eq (local.get 0) (i32.const 0))
+ (then (throw_ref (local.get $$exn1)))
+ )
+ (if (i32.eq (local.get 0) (i32.const 1))
+ (then (throw_ref (local.get $$exn2)))
+ )
+ (i32.const 23)
+ )
+
+ (func (export "throw_ref-recatch") (param i32) (result i32)
+ (local $$e exnref)
+ (block $$h1 (result exnref)
+ (try_table (result i32) (catch_ref $$e0 $$h1) (throw $$e0))
+ (return)
+ )
+ (local.set $$e)
+ (block $$h2 (result exnref)
+ (try_table (result i32) (catch_ref $$e0 $$h2)
+ (if (i32.eqz (local.get 0))
+ (then (throw_ref (local.get $$e)))
+ )
+ (i32.const 42)
+ )
+ (return)
+ )
+ (drop) (i32.const 23)
+ )
+
+ (func (export "throw_ref-stack-polymorphism")
+ (local $$e exnref)
+ (block $$h (result exnref)
+ (try_table (result f64) (catch_ref $$e0 $$h) (throw $$e0))
+ (unreachable)
+ )
+ (local.set $$e)
+ (i32.const 1)
+ (throw_ref (local.get $$e))
+ )
+)`);
+
+// ./test/core/throw_ref.wast:99
+assert_exception(() => invoke($0, `catch-throw_ref-0`, []));
+
+// ./test/core/throw_ref.wast:101
+assert_exception(() => invoke($0, `catch-throw_ref-1`, [0]));
+
+// ./test/core/throw_ref.wast:102
+assert_return(() => invoke($0, `catch-throw_ref-1`, [1]), [value("i32", 23)]);
+
+// ./test/core/throw_ref.wast:104
+assert_exception(() => invoke($0, `catchall-throw_ref-0`, []));
+
+// ./test/core/throw_ref.wast:106
+assert_exception(() => invoke($0, `catchall-throw_ref-1`, [0]));
+
+// ./test/core/throw_ref.wast:107
+assert_return(() => invoke($0, `catchall-throw_ref-1`, [1]), [value("i32", 23)]);
+
+// ./test/core/throw_ref.wast:108
+assert_exception(() => invoke($0, `throw_ref-nested`, [0]));
+
+// ./test/core/throw_ref.wast:109
+assert_exception(() => invoke($0, `throw_ref-nested`, [1]));
+
+// ./test/core/throw_ref.wast:110
+assert_return(() => invoke($0, `throw_ref-nested`, [2]), [value("i32", 23)]);
+
+// ./test/core/throw_ref.wast:112
+assert_return(() => invoke($0, `throw_ref-recatch`, [0]), [value("i32", 23)]);
+
+// ./test/core/throw_ref.wast:113
+assert_return(() => invoke($0, `throw_ref-recatch`, [1]), [value("i32", 42)]);
+
+// ./test/core/throw_ref.wast:115
+assert_exception(() => invoke($0, `throw_ref-stack-polymorphism`, []));
+
+// ./test/core/throw_ref.wast:117
+assert_invalid(() => instantiate(`(module (func (throw_ref)))`), `type mismatch`);
+
+// ./test/core/throw_ref.wast:118
+assert_invalid(() => instantiate(`(module (func (block (throw_ref))))`), `type mismatch`);
diff --git a/js/src/jit-test/tests/wasm/spec/extended-const/directives.txt b/js/src/jit-test/tests/wasm/spec/extended-const/directives.txt
new file mode 100644
index 0000000000..5b3d5f6d83
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/extended-const/directives.txt
@@ -0,0 +1 @@
+|jit-test| test-also=--wasm-compiler=optimizing; test-also=--wasm-compiler=baseline; test-also=--wasm-test-serialization; test-also=--test-wasm-await-tier2; test-also=--disable-wasm-huge-memory; skip-variant-if: --disable-wasm-huge-memory, !wasmHugeMemorySupported(); local-include:harness/harness.js; --wasm-extended-const; --no-wasm-gc; skip-if: !wasmExtendedConstEnabled() \ No newline at end of file
diff --git a/js/src/jit-test/tests/wasm/spec/extended-const/global.wast.js b/js/src/jit-test/tests/wasm/spec/extended-const/global.wast.js
new file mode 100644
index 0000000000..b0b4beed95
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/extended-const/global.wast.js
@@ -0,0 +1,828 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/global.wast
+
+// ./test/core/global.wast:3
+let $0 = instantiate(`(module
+ (global (import "spectest" "global_i32") i32)
+ (global (import "spectest" "global_i64") i64)
+
+ (global $$a i32 (i32.const -2))
+ (global (;3;) f32 (f32.const -3))
+ (global (;4;) f64 (f64.const -4))
+ (global $$b i64 (i64.const -5))
+
+ (global $$x (mut i32) (i32.const -12))
+ (global (;7;) (mut f32) (f32.const -13))
+ (global (;8;) (mut f64) (f64.const -14))
+ (global $$y (mut i64) (i64.const -15))
+
+ (global $$z1 i32 (global.get 0))
+ (global $$z2 i64 (global.get 1))
+ (global $$z3 i32 (i32.add (i32.sub (i32.mul (i32.const 20) (i32.const 2)) (i32.const 2)) (i32.const 4)))
+ (global $$z4 i64 (i64.add (i64.sub (i64.mul (i64.const 20) (i64.const 2)) (i64.const 2)) (i64.const 5)))
+ (global $$z5 i32 (i32.add (global.get 0) (i32.const 42)))
+ (global $$z6 i64 (i64.add (global.get 1) (i64.const 42)))
+
+ (global $$r externref (ref.null extern))
+ (global $$mr (mut externref) (ref.null extern))
+ (global funcref (ref.null func))
+
+ (func (export "get-a") (result i32) (global.get $$a))
+ (func (export "get-b") (result i64) (global.get $$b))
+ (func (export "get-r") (result externref) (global.get $$r))
+ (func (export "get-mr") (result externref) (global.get $$mr))
+ (func (export "get-x") (result i32) (global.get $$x))
+ (func (export "get-y") (result i64) (global.get $$y))
+ (func (export "get-z1") (result i32) (global.get $$z1))
+ (func (export "get-z2") (result i64) (global.get $$z2))
+ (func (export "get-z3") (result i32) (global.get $$z3))
+ (func (export "get-z4") (result i64) (global.get $$z4))
+ (func (export "get-z5") (result i32) (global.get $$z5))
+ (func (export "get-z6") (result i64) (global.get $$z6))
+ (func (export "set-x") (param i32) (global.set $$x (local.get 0)))
+ (func (export "set-y") (param i64) (global.set $$y (local.get 0)))
+ (func (export "set-mr") (param externref) (global.set $$mr (local.get 0)))
+
+ (func (export "get-3") (result f32) (global.get 3))
+ (func (export "get-4") (result f64) (global.get 4))
+ (func (export "get-7") (result f32) (global.get 7))
+ (func (export "get-8") (result f64) (global.get 8))
+ (func (export "set-7") (param f32) (global.set 7 (local.get 0)))
+ (func (export "set-8") (param f64) (global.set 8 (local.get 0)))
+
+ ;; As the argument of control constructs and instructions
+
+ (memory 1)
+
+ (func $$dummy)
+
+ (func (export "as-select-first") (result i32)
+ (select (global.get $$x) (i32.const 2) (i32.const 3))
+ )
+ (func (export "as-select-mid") (result i32)
+ (select (i32.const 2) (global.get $$x) (i32.const 3))
+ )
+ (func (export "as-select-last") (result i32)
+ (select (i32.const 2) (i32.const 3) (global.get $$x))
+ )
+
+ (func (export "as-loop-first") (result i32)
+ (loop (result i32)
+ (global.get $$x) (call $$dummy) (call $$dummy)
+ )
+ )
+ (func (export "as-loop-mid") (result i32)
+ (loop (result i32)
+ (call $$dummy) (global.get $$x) (call $$dummy)
+ )
+ )
+ (func (export "as-loop-last") (result i32)
+ (loop (result i32)
+ (call $$dummy) (call $$dummy) (global.get $$x)
+ )
+ )
+
+ (func (export "as-if-condition") (result i32)
+ (if (result i32) (global.get $$x)
+ (then (call $$dummy) (i32.const 2))
+ (else (call $$dummy) (i32.const 3))
+ )
+ )
+ (func (export "as-if-then") (result i32)
+ (if (result i32) (i32.const 1)
+ (then (global.get $$x)) (else (i32.const 2))
+ )
+ )
+ (func (export "as-if-else") (result i32)
+ (if (result i32) (i32.const 0)
+ (then (i32.const 2)) (else (global.get $$x))
+ )
+ )
+
+ (func (export "as-br_if-first") (result i32)
+ (block (result i32)
+ (br_if 0 (global.get $$x) (i32.const 2))
+ (return (i32.const 3))
+ )
+ )
+ (func (export "as-br_if-last") (result i32)
+ (block (result i32)
+ (br_if 0 (i32.const 2) (global.get $$x))
+ (return (i32.const 3))
+ )
+ )
+
+ (func (export "as-br_table-first") (result i32)
+ (block (result i32)
+ (global.get $$x) (i32.const 2) (br_table 0 0)
+ )
+ )
+ (func (export "as-br_table-last") (result i32)
+ (block (result i32)
+ (i32.const 2) (global.get $$x) (br_table 0 0)
+ )
+ )
+
+ (func $$func (param i32 i32) (result i32) (local.get 0))
+ (type $$check (func (param i32 i32) (result i32)))
+ (table funcref (elem $$func))
+ (func (export "as-call_indirect-first") (result i32)
+ (block (result i32)
+ (call_indirect (type $$check)
+ (global.get $$x) (i32.const 2) (i32.const 0)
+ )
+ )
+ )
+ (func (export "as-call_indirect-mid") (result i32)
+ (block (result i32)
+ (call_indirect (type $$check)
+ (i32.const 2) (global.get $$x) (i32.const 0)
+ )
+ )
+ )
+ (func (export "as-call_indirect-last") (result i32)
+ (block (result i32)
+ (call_indirect (type $$check)
+ (i32.const 2) (i32.const 0) (global.get $$x)
+ )
+ )
+ )
+
+ (func (export "as-store-first")
+ (global.get $$x) (i32.const 1) (i32.store)
+ )
+ (func (export "as-store-last")
+ (i32.const 0) (global.get $$x) (i32.store)
+ )
+ (func (export "as-load-operand") (result i32)
+ (i32.load (global.get $$x))
+ )
+ (func (export "as-memory.grow-value") (result i32)
+ (memory.grow (global.get $$x))
+ )
+
+ (func $$f (param i32) (result i32) (local.get 0))
+ (func (export "as-call-value") (result i32)
+ (call $$f (global.get $$x))
+ )
+
+ (func (export "as-return-value") (result i32)
+ (global.get $$x) (return)
+ )
+ (func (export "as-drop-operand")
+ (drop (global.get $$x))
+ )
+ (func (export "as-br-value") (result i32)
+ (block (result i32) (br 0 (global.get $$x)))
+ )
+
+ (func (export "as-local.set-value") (param i32) (result i32)
+ (local.set 0 (global.get $$x))
+ (local.get 0)
+ )
+ (func (export "as-local.tee-value") (param i32) (result i32)
+ (local.tee 0 (global.get $$x))
+ )
+ (func (export "as-global.set-value") (result i32)
+ (global.set $$x (global.get $$x))
+ (global.get $$x)
+ )
+
+ (func (export "as-unary-operand") (result i32)
+ (i32.eqz (global.get $$x))
+ )
+ (func (export "as-binary-operand") (result i32)
+ (i32.mul
+ (global.get $$x) (global.get $$x)
+ )
+ )
+ (func (export "as-compare-operand") (result i32)
+ (i32.gt_u
+ (global.get 0) (i32.const 1)
+ )
+ )
+)`);
+
+// ./test/core/global.wast:204
+assert_return(() => invoke($0, `get-a`, []), [value("i32", -2)]);
+
+// ./test/core/global.wast:205
+assert_return(() => invoke($0, `get-b`, []), [value("i64", -5n)]);
+
+// ./test/core/global.wast:206
+assert_return(() => invoke($0, `get-r`, []), [value('externref', null)]);
+
+// ./test/core/global.wast:207
+assert_return(() => invoke($0, `get-mr`, []), [value('externref', null)]);
+
+// ./test/core/global.wast:208
+assert_return(() => invoke($0, `get-x`, []), [value("i32", -12)]);
+
+// ./test/core/global.wast:209
+assert_return(() => invoke($0, `get-y`, []), [value("i64", -15n)]);
+
+// ./test/core/global.wast:210
+assert_return(() => invoke($0, `get-z1`, []), [value("i32", 666)]);
+
+// ./test/core/global.wast:211
+assert_return(() => invoke($0, `get-z2`, []), [value("i64", 666n)]);
+
+// ./test/core/global.wast:212
+assert_return(() => invoke($0, `get-z3`, []), [value("i32", 42)]);
+
+// ./test/core/global.wast:213
+assert_return(() => invoke($0, `get-z4`, []), [value("i64", 43n)]);
+
+// ./test/core/global.wast:214
+assert_return(() => invoke($0, `get-z5`, []), [value("i32", 708)]);
+
+// ./test/core/global.wast:215
+assert_return(() => invoke($0, `get-z6`, []), [value("i64", 708n)]);
+
+// ./test/core/global.wast:217
+assert_return(() => invoke($0, `get-3`, []), [value("f32", -3)]);
+
+// ./test/core/global.wast:218
+assert_return(() => invoke($0, `get-4`, []), [value("f64", -4)]);
+
+// ./test/core/global.wast:219
+assert_return(() => invoke($0, `get-7`, []), [value("f32", -13)]);
+
+// ./test/core/global.wast:220
+assert_return(() => invoke($0, `get-8`, []), [value("f64", -14)]);
+
+// ./test/core/global.wast:222
+assert_return(() => invoke($0, `set-x`, [6]), []);
+
+// ./test/core/global.wast:223
+assert_return(() => invoke($0, `set-y`, [7n]), []);
+
+// ./test/core/global.wast:225
+assert_return(() => invoke($0, `set-7`, [value("f32", 8)]), []);
+
+// ./test/core/global.wast:226
+assert_return(() => invoke($0, `set-8`, [value("f64", 9)]), []);
+
+// ./test/core/global.wast:228
+assert_return(() => invoke($0, `get-x`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:229
+assert_return(() => invoke($0, `get-y`, []), [value("i64", 7n)]);
+
+// ./test/core/global.wast:230
+assert_return(() => invoke($0, `get-7`, []), [value("f32", 8)]);
+
+// ./test/core/global.wast:231
+assert_return(() => invoke($0, `get-8`, []), [value("f64", 9)]);
+
+// ./test/core/global.wast:233
+assert_return(() => invoke($0, `set-7`, [value("f32", 8)]), []);
+
+// ./test/core/global.wast:234
+assert_return(() => invoke($0, `set-8`, [value("f64", 9)]), []);
+
+// ./test/core/global.wast:235
+assert_return(() => invoke($0, `set-mr`, [externref(10)]), []);
+
+// ./test/core/global.wast:237
+assert_return(() => invoke($0, `get-x`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:238
+assert_return(() => invoke($0, `get-y`, []), [value("i64", 7n)]);
+
+// ./test/core/global.wast:239
+assert_return(() => invoke($0, `get-7`, []), [value("f32", 8)]);
+
+// ./test/core/global.wast:240
+assert_return(() => invoke($0, `get-8`, []), [value("f64", 9)]);
+
+// ./test/core/global.wast:241
+assert_return(() => invoke($0, `get-mr`, []), [new ExternRefResult(10)]);
+
+// ./test/core/global.wast:243
+assert_return(() => invoke($0, `as-select-first`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:244
+assert_return(() => invoke($0, `as-select-mid`, []), [value("i32", 2)]);
+
+// ./test/core/global.wast:245
+assert_return(() => invoke($0, `as-select-last`, []), [value("i32", 2)]);
+
+// ./test/core/global.wast:247
+assert_return(() => invoke($0, `as-loop-first`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:248
+assert_return(() => invoke($0, `as-loop-mid`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:249
+assert_return(() => invoke($0, `as-loop-last`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:251
+assert_return(() => invoke($0, `as-if-condition`, []), [value("i32", 2)]);
+
+// ./test/core/global.wast:252
+assert_return(() => invoke($0, `as-if-then`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:253
+assert_return(() => invoke($0, `as-if-else`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:255
+assert_return(() => invoke($0, `as-br_if-first`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:256
+assert_return(() => invoke($0, `as-br_if-last`, []), [value("i32", 2)]);
+
+// ./test/core/global.wast:258
+assert_return(() => invoke($0, `as-br_table-first`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:259
+assert_return(() => invoke($0, `as-br_table-last`, []), [value("i32", 2)]);
+
+// ./test/core/global.wast:261
+assert_return(() => invoke($0, `as-call_indirect-first`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:262
+assert_return(() => invoke($0, `as-call_indirect-mid`, []), [value("i32", 2)]);
+
+// ./test/core/global.wast:263
+assert_trap(() => invoke($0, `as-call_indirect-last`, []), `undefined element`);
+
+// ./test/core/global.wast:265
+assert_return(() => invoke($0, `as-store-first`, []), []);
+
+// ./test/core/global.wast:266
+assert_return(() => invoke($0, `as-store-last`, []), []);
+
+// ./test/core/global.wast:267
+assert_return(() => invoke($0, `as-load-operand`, []), [value("i32", 1)]);
+
+// ./test/core/global.wast:268
+assert_return(() => invoke($0, `as-memory.grow-value`, []), [value("i32", 1)]);
+
+// ./test/core/global.wast:270
+assert_return(() => invoke($0, `as-call-value`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:272
+assert_return(() => invoke($0, `as-return-value`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:273
+assert_return(() => invoke($0, `as-drop-operand`, []), []);
+
+// ./test/core/global.wast:274
+assert_return(() => invoke($0, `as-br-value`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:276
+assert_return(() => invoke($0, `as-local.set-value`, [1]), [value("i32", 6)]);
+
+// ./test/core/global.wast:277
+assert_return(() => invoke($0, `as-local.tee-value`, [1]), [value("i32", 6)]);
+
+// ./test/core/global.wast:278
+assert_return(() => invoke($0, `as-global.set-value`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:280
+assert_return(() => invoke($0, `as-unary-operand`, []), [value("i32", 0)]);
+
+// ./test/core/global.wast:281
+assert_return(() => invoke($0, `as-binary-operand`, []), [value("i32", 36)]);
+
+// ./test/core/global.wast:282
+assert_return(() => invoke($0, `as-compare-operand`, []), [value("i32", 1)]);
+
+// ./test/core/global.wast:284
+assert_invalid(
+ () => instantiate(`(module (global f32 (f32.const 0)) (func (global.set 0 (f32.const 1))))`),
+ `global is immutable`,
+);
+
+// ./test/core/global.wast:289
+assert_invalid(
+ () => instantiate(`(module (import "spectest" "global_i32" (global i32)) (func (global.set 0 (i32.const 1))))`),
+ `global is immutable`,
+);
+
+// ./test/core/global.wast:295
+let $1 = instantiate(`(module (global (mut f32) (f32.const 0)) (export "a" (global 0)))`);
+
+// ./test/core/global.wast:296
+let $2 = instantiate(`(module (global (export "a") (mut f32) (f32.const 0)))`);
+
+// ./test/core/global.wast:298
+assert_invalid(
+ () => instantiate(`(module (global f32 (f32.neg (f32.const 0))))`),
+ `constant expression required`,
+);
+
+// ./test/core/global.wast:303
+assert_invalid(
+ () => instantiate(`(module (global f32 (local.get 0)))`),
+ `constant expression required`,
+);
+
+// ./test/core/global.wast:308
+assert_invalid(
+ () => instantiate(`(module (global f32 (f32.neg (f32.const 1))))`),
+ `constant expression required`,
+);
+
+// ./test/core/global.wast:313
+assert_invalid(
+ () => instantiate(`(module (global i32 (i32.const 0) (nop)))`),
+ `constant expression required`,
+);
+
+// ./test/core/global.wast:318
+assert_invalid(
+ () => instantiate(`(module (global i32 (i32.ctz (i32.const 0))))`),
+ `constant expression required`,
+);
+
+// ./test/core/global.wast:323
+assert_invalid(
+ () => instantiate(`(module (global i32 (nop)))`),
+ `constant expression required`,
+);
+
+// ./test/core/global.wast:328
+assert_invalid(() => instantiate(`(module (global i32 (f32.const 0)))`), `type mismatch`);
+
+// ./test/core/global.wast:333
+assert_invalid(
+ () => instantiate(`(module (global i32 (i32.const 0) (i32.const 0)))`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:338
+assert_invalid(
+ () => instantiate(`(module (global i32 (;empty instruction sequence;)))`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:343
+assert_invalid(
+ () => instantiate(`(module (global (import "" "") externref) (global funcref (global.get 0)))`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:348
+assert_invalid(
+ () => instantiate(`(module (global (import "test" "global-i32") i32) (global i32 (global.get 0) (global.get 0)))`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:353
+assert_invalid(
+ () => instantiate(`(module (global (import "test" "global-i32") i32) (global i32 (i32.const 0) (global.get 0)))`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:358
+assert_invalid(
+ () => instantiate(`(module (global i32 (global.get 0)))`),
+ `unknown global`,
+);
+
+// ./test/core/global.wast:363
+assert_invalid(
+ () => instantiate(`(module (global i32 (i32.const 0)) (global i32 (global.get 0)))`),
+ `unknown global`,
+);
+
+// ./test/core/global.wast:367
+assert_invalid(
+ () => instantiate(`(module (global $$g i32 (i32.const 0)) (global i32 (global.get $$g)))`),
+ `unknown global`,
+);
+
+// ./test/core/global.wast:372
+assert_invalid(
+ () => instantiate(`(module (global i32 (global.get 1)) (global i32 (i32.const 0)))`),
+ `unknown global`,
+);
+
+// ./test/core/global.wast:377
+assert_invalid(
+ () => instantiate(`(module (global (import "test" "global-i32") i32) (global i32 (global.get 2)))`),
+ `unknown global`,
+);
+
+// ./test/core/global.wast:382
+assert_invalid(
+ () => instantiate(`(module (global (import "test" "global-mut-i32") (mut i32)) (global i32 (global.get 0)))`),
+ `constant expression required`,
+);
+
+// ./test/core/global.wast:387
+let $3 = instantiate(`(module
+ (import "spectest" "global_i32" (global i32))
+)`);
+
+// ./test/core/global.wast:390
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\98\\80\\80\\80\\00" ;; import section
+ "\\01" ;; length 1
+ "\\08\\73\\70\\65\\63\\74\\65\\73\\74" ;; "spectest"
+ "\\0a\\67\\6c\\6f\\62\\61\\6c\\5f\\69\\33\\32" ;; "global_i32"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\02" ;; malformed mutability
+ )`),
+ `malformed mutability`,
+);
+
+// ./test/core/global.wast:403
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\98\\80\\80\\80\\00" ;; import section
+ "\\01" ;; length 1
+ "\\08\\73\\70\\65\\63\\74\\65\\73\\74" ;; "spectest"
+ "\\0a\\67\\6c\\6f\\62\\61\\6c\\5f\\69\\33\\32" ;; "global_i32"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\ff" ;; malformed mutability
+ )`),
+ `malformed mutability`,
+);
+
+// ./test/core/global.wast:417
+let $4 = instantiate(`(module
+ (global i32 (i32.const 0))
+)`);
+
+// ./test/core/global.wast:420
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\06\\86\\80\\80\\80\\00" ;; global section
+ "\\01" ;; length 1
+ "\\7f" ;; i32
+ "\\02" ;; malformed mutability
+ "\\41\\00" ;; i32.const 0
+ "\\0b" ;; end
+ )`),
+ `malformed mutability`,
+);
+
+// ./test/core/global.wast:432
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\06\\86\\80\\80\\80\\00" ;; global section
+ "\\01" ;; length 1
+ "\\7f" ;; i32
+ "\\ff" ;; malformed mutability
+ "\\41\\00" ;; i32.const 0
+ "\\0b" ;; end
+ )`),
+ `malformed mutability`,
+);
+
+// ./test/core/global.wast:446
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (global.get 0)))`),
+ `unknown global`,
+);
+
+// ./test/core/global.wast:451
+assert_invalid(
+ () => instantiate(`(module
+ (global i32 (i32.const 0))
+ (func (result i32) (global.get 1))
+ )`),
+ `unknown global`,
+);
+
+// ./test/core/global.wast:459
+assert_invalid(
+ () => instantiate(`(module
+ (import "spectest" "global_i32" (global i32))
+ (func (result i32) (global.get 1))
+ )`),
+ `unknown global`,
+);
+
+// ./test/core/global.wast:467
+assert_invalid(
+ () => instantiate(`(module
+ (import "spectest" "global_i32" (global i32))
+ (global i32 (i32.const 0))
+ (func (result i32) (global.get 2))
+ )`),
+ `unknown global`,
+);
+
+// ./test/core/global.wast:477
+assert_invalid(
+ () => instantiate(`(module (func (i32.const 0) (global.set 0)))`),
+ `unknown global`,
+);
+
+// ./test/core/global.wast:482
+assert_invalid(
+ () => instantiate(`(module
+ (global i32 (i32.const 0))
+ (func (i32.const 0) (global.set 1))
+ )`),
+ `unknown global`,
+);
+
+// ./test/core/global.wast:490
+assert_invalid(
+ () => instantiate(`(module
+ (import "spectest" "global_i32" (global i32))
+ (func (i32.const 0) (global.set 1))
+ )`),
+ `unknown global`,
+);
+
+// ./test/core/global.wast:498
+assert_invalid(
+ () => instantiate(`(module
+ (import "spectest" "global_i32" (global i32))
+ (global i32 (i32.const 0))
+ (func (i32.const 0) (global.set 2))
+ )`),
+ `unknown global`,
+);
+
+// ./test/core/global.wast:508
+assert_invalid(
+ () => instantiate(`(module
+ (global $$x (mut i32) (i32.const 0))
+ (func $$type-global.set-value-empty
+ (global.set $$x)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:517
+assert_invalid(
+ () => instantiate(`(module
+ (global $$x (mut i32) (i32.const 0))
+ (func $$type-global.set-value-empty-in-block
+ (i32.const 0)
+ (block (global.set $$x))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:527
+assert_invalid(
+ () => instantiate(`(module
+ (global $$x (mut i32) (i32.const 0))
+ (func $$type-global.set-value-empty-in-loop
+ (i32.const 0)
+ (loop (global.set $$x))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:537
+assert_invalid(
+ () => instantiate(`(module
+ (global $$x (mut i32) (i32.const 0))
+ (func $$type-global.set-value-empty-in-then
+ (i32.const 0) (i32.const 0)
+ (if (then (global.set $$x)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:547
+assert_invalid(
+ () => instantiate(`(module
+ (global $$x (mut i32) (i32.const 0))
+ (func $$type-global.set-value-empty-in-else
+ (i32.const 0) (i32.const 0)
+ (if (result i32) (then (i32.const 0)) (else (global.set $$x)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:557
+assert_invalid(
+ () => instantiate(`(module
+ (global $$x (mut i32) (i32.const 0))
+ (func $$type-global.set-value-empty-in-br
+ (i32.const 0)
+ (block (br 0 (global.set $$x)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:567
+assert_invalid(
+ () => instantiate(`(module
+ (global $$x (mut i32) (i32.const 0))
+ (func $$type-global.set-value-empty-in-br_if
+ (i32.const 0)
+ (block (br_if 0 (global.set $$x)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:577
+assert_invalid(
+ () => instantiate(`(module
+ (global $$x (mut i32) (i32.const 0))
+ (func $$type-global.set-value-empty-in-br_table
+ (i32.const 0)
+ (block (br_table 0 (global.set $$x)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:587
+assert_invalid(
+ () => instantiate(`(module
+ (global $$x (mut i32) (i32.const 0))
+ (func $$type-global.set-value-empty-in-return
+ (return (global.set $$x))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:596
+assert_invalid(
+ () => instantiate(`(module
+ (global $$x (mut i32) (i32.const 0))
+ (func $$type-global.set-value-empty-in-select
+ (select (global.set $$x) (i32.const 1) (i32.const 2))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:605
+assert_invalid(
+ () => instantiate(`(module
+ (global $$x (mut i32) (i32.const 0))
+ (func $$type-global.set-value-empty-in-call
+ (call 1 (global.set $$x))
+ )
+ (func (param i32) (result i32) (local.get 0))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:615
+assert_invalid(
+ () => instantiate(`(module
+ (global $$x (mut i32) (i32.const 0))
+ (func $$f (param i32) (result i32) (local.get 0))
+ (type $$sig (func (param i32) (result i32)))
+ (table funcref (elem $$f))
+ (func $$type-global.set-value-empty-in-call_indirect
+ (block (result i32)
+ (call_indirect (type $$sig)
+ (global.set $$x) (i32.const 0)
+ )
+ )
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:634
+assert_malformed(
+ () => instantiate(`(global $$foo i32 (i32.const 0)) (global $$foo i32 (i32.const 0)) `),
+ `duplicate global`,
+);
+
+// ./test/core/global.wast:638
+assert_malformed(
+ () => instantiate(`(import "" "" (global $$foo i32)) (global $$foo i32 (i32.const 0)) `),
+ `duplicate global`,
+);
+
+// ./test/core/global.wast:642
+assert_malformed(
+ () => instantiate(`(import "" "" (global $$foo i32)) (import "" "" (global $$foo i32)) `),
+ `duplicate global`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/extended-const/harness/directives.txt b/js/src/jit-test/tests/wasm/spec/extended-const/harness/directives.txt
new file mode 100644
index 0000000000..d41243abbb
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/extended-const/harness/directives.txt
@@ -0,0 +1 @@
+|jit-test| skip-if: true \ No newline at end of file
diff --git a/js/src/jit-test/tests/wasm/spec/extended-const/harness/harness.js b/js/src/jit-test/tests/wasm/spec/extended-const/harness/harness.js
new file mode 100644
index 0000000000..a96781e8ed
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/extended-const/harness/harness.js
@@ -0,0 +1,448 @@
+"use strict";
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+if (!wasmIsSupported()) {
+ quit();
+}
+
+function bytes(type, bytes) {
+ var typedBuffer = new Uint8Array(bytes);
+ return wasmGlobalFromArrayBuffer(type, typedBuffer.buffer);
+}
+function value(type, value) {
+ return new WebAssembly.Global({
+ value: type,
+ mutable: false,
+ }, value);
+}
+
+function i8x16(elements) {
+ let typedBuffer = new Uint8Array(elements);
+ return wasmGlobalFromArrayBuffer("v128", typedBuffer.buffer);
+}
+function i16x8(elements) {
+ let typedBuffer = new Uint16Array(elements);
+ return wasmGlobalFromArrayBuffer("v128", typedBuffer.buffer);
+}
+function i32x4(elements) {
+ let typedBuffer = new Uint32Array(elements);
+ return wasmGlobalFromArrayBuffer("v128", typedBuffer.buffer);
+}
+function i64x2(elements) {
+ let typedBuffer = new BigUint64Array(elements);
+ return wasmGlobalFromArrayBuffer("v128", typedBuffer.buffer);
+}
+function f32x4(elements) {
+ let typedBuffer = new Float32Array(elements);
+ return wasmGlobalFromArrayBuffer("v128", typedBuffer.buffer);
+}
+function f64x2(elements) {
+ let typedBuffer = new Float64Array(elements);
+ return wasmGlobalFromArrayBuffer("v128", typedBuffer.buffer);
+}
+
+function either(...arr) {
+ return new EitherVariants(arr);
+}
+
+class F32x4Pattern {
+ constructor(x, y, z, w) {
+ this.x = x;
+ this.y = y;
+ this.z = z;
+ this.w = w;
+ }
+}
+
+class F64x2Pattern {
+ constructor(x, y) {
+ this.x = x;
+ this.y = y;
+ }
+}
+
+class RefWithType {
+ constructor(type) {
+ this.type = type;
+ }
+
+ formatExpected() {
+ return `RefWithType(${this.type})`;
+ }
+
+ test(refGlobal) {
+ try {
+ new WebAssembly.Global({value: this.type}, refGlobal.value);
+ return true;
+ } catch (err) {
+ assertEq(err instanceof TypeError, true, `wrong type of error when creating global: ${err}`);
+ assertEq(!!err.message.match(/can only pass/), true, `wrong type of error when creating global: ${err}`);
+ return false;
+ }
+ }
+}
+
+// ref.extern values created by spec tests will be JS objects of the form
+// { [externsym]: <number> }. Other externref values are possible to observe
+// if extern.convert_any is used.
+let externsym = Symbol("externref");
+function externref(s) {
+ return { [externsym]: s };
+}
+function is_externref(x) {
+ return (x !== null && externsym in x) ? 1 : 0;
+}
+function is_funcref(x) {
+ return typeof x === "function" ? 1 : 0;
+}
+function eq_externref(x, y) {
+ return x === y ? 1 : 0;
+}
+function eq_funcref(x, y) {
+ return x === y ? 1 : 0;
+}
+
+class ExternRefResult {
+ constructor(n) {
+ this.n = n;
+ }
+
+ formatExpected() {
+ return `ref.extern ${this.n}`;
+ }
+
+ test(global) {
+ // the global's value can either be an externref or just a plain old JS number
+ let result = global.value;
+ if (typeof global.value === "object" && externsym in global.value) {
+ result = global.value[externsym];
+ }
+ return result === this.n;
+ }
+}
+
+// ref.host values created by spectests will be whatever the JS API does to
+// convert the given value to anyref. It should implicitly be like any.convert_extern.
+function hostref(v) {
+ if (!wasmGcEnabled()) {
+ throw new Error("ref.host only works when wasm GC is enabled");
+ }
+
+ const { internalizeNum } = new WebAssembly.Instance(
+ new WebAssembly.Module(wasmTextToBinary(`(module
+ (func (import "test" "coerce") (param i32) (result anyref))
+ (func (export "internalizeNum") (param i32) (result anyref)
+ (call 0 (local.get 0))
+ )
+ )`)),
+ { "test": { "coerce": x => x } },
+ ).exports;
+ return internalizeNum(v);
+}
+
+class HostRefResult {
+ constructor(n) {
+ this.n = n;
+ }
+
+ formatExpected() {
+ return `ref.host ${this.n}`;
+ }
+
+ test(externrefGlobal) {
+ assertEq(externsym in externrefGlobal.value, true, `HostRefResult only works with externref inputs`);
+ return externrefGlobal.value[externsym] === this.n;
+ }
+}
+
+let spectest = {
+ externref: externref,
+ is_externref: is_externref,
+ is_funcref: is_funcref,
+ eq_externref: eq_externref,
+ eq_funcref: eq_funcref,
+ print: console.log.bind(console),
+ print_i32: console.log.bind(console),
+ print_i32_f32: console.log.bind(console),
+ print_f64_f64: console.log.bind(console),
+ print_f32: console.log.bind(console),
+ print_f64: console.log.bind(console),
+ global_i32: 666,
+ global_i64: 666n,
+ global_f32: 666,
+ global_f64: 666,
+ table: new WebAssembly.Table({
+ initial: 10,
+ maximum: 20,
+ element: "anyfunc",
+ }),
+ memory: new WebAssembly.Memory({ initial: 1, maximum: 2 }),
+};
+
+let linkage = {
+ spectest,
+};
+
+function getInstance(instanceish) {
+ if (typeof instanceish === "string") {
+ assertEq(
+ instanceish in linkage,
+ true,
+ `'${instanceish}'' must be registered`,
+ );
+ return linkage[instanceish];
+ }
+ return instanceish;
+}
+
+function instantiate(source) {
+ let bytecode = wasmTextToBinary(source);
+ let module = new WebAssembly.Module(bytecode);
+ let instance = new WebAssembly.Instance(module, linkage);
+ return instance.exports;
+}
+
+function register(instanceish, name) {
+ linkage[name] = getInstance(instanceish);
+}
+
+function invoke(instanceish, field, params) {
+ let func = getInstance(instanceish)[field];
+ assertEq(func instanceof Function, true, "expected a function");
+ return wasmLosslessInvoke(func, ...params);
+}
+
+function get(instanceish, field) {
+ let global = getInstance(instanceish)[field];
+ assertEq(
+ global instanceof WebAssembly.Global,
+ true,
+ "expected a WebAssembly.Global",
+ );
+ return global;
+}
+
+function assert_trap(thunk, message) {
+ try {
+ thunk();
+ throw new Error("expected trap");
+ } catch (err) {
+ if (err instanceof WebAssembly.RuntimeError) {
+ return;
+ }
+ throw err;
+ }
+}
+
+let StackOverflow;
+try {
+ (function f() {
+ 1 + f();
+ })();
+} catch (e) {
+ StackOverflow = e.constructor;
+}
+function assert_exhaustion(thunk, message) {
+ try {
+ thunk();
+ assertEq("normal return", "exhaustion");
+ } catch (err) {
+ assertEq(
+ err instanceof StackOverflow,
+ true,
+ "expected exhaustion",
+ );
+ }
+}
+
+function assert_invalid(thunk, message) {
+ try {
+ thunk();
+ assertEq("valid module", "invalid module");
+ } catch (err) {
+ assertEq(
+ err instanceof WebAssembly.LinkError ||
+ err instanceof WebAssembly.CompileError,
+ true,
+ "expected an invalid module",
+ );
+ }
+}
+
+function assert_unlinkable(thunk, message) {
+ try {
+ thunk();
+ assertEq(true, false, "expected an unlinkable module");
+ } catch (err) {
+ assertEq(
+ err instanceof WebAssembly.LinkError ||
+ err instanceof WebAssembly.CompileError,
+ true,
+ "expected an unlinkable module",
+ );
+ }
+}
+
+function assert_malformed(thunk, message) {
+ try {
+ thunk();
+ assertEq("valid module", "malformed module");
+ } catch (err) {
+ assertEq(
+ err instanceof TypeError ||
+ err instanceof SyntaxError ||
+ err instanceof WebAssembly.CompileError ||
+ err instanceof WebAssembly.LinkError,
+ true,
+ `expected a malformed module`,
+ );
+ }
+}
+
+function assert_exception(thunk) {
+ let thrown = false;
+ try {
+ thunk();
+ } catch (err) {
+ thrown = true;
+ }
+ assertEq(thrown, true, "expected an exception to be thrown");
+}
+
+function assert_return(thunk, expected) {
+ let results = thunk();
+
+ if (results === undefined) {
+ results = [];
+ } else if (!Array.isArray(results)) {
+ results = [results];
+ }
+ if (!Array.isArray(expected)) {
+ expected = [expected];
+ }
+
+ if (!compareResults(results, expected)) {
+ let got = results.map((x) => formatResult(x)).join(", ");
+ let wanted = expected.map((x) => formatExpected(x)).join(", ");
+ assertEq(
+ `[${got}]`,
+ `[${wanted}]`,
+ );
+ assertEq(true, false, `${got} !== ${wanted}`);
+ }
+}
+
+function formatResult(result) {
+ if (typeof (result) === "object") {
+ return wasmGlobalToString(result);
+ } else {
+ return `${result}`;
+ }
+}
+
+function formatExpected(expected) {
+ if (
+ expected === `f32_canonical_nan` ||
+ expected === `f32_arithmetic_nan` ||
+ expected === `f64_canonical_nan` ||
+ expected === `f64_arithmetic_nan`
+ ) {
+ return expected;
+ } else if (expected instanceof F32x4Pattern) {
+ return `f32x4(${formatExpected(expected.x)}, ${
+ formatExpected(expected.y)
+ }, ${formatExpected(expected.z)}, ${formatExpected(expected.w)})`;
+ } else if (expected instanceof F64x2Pattern) {
+ return `f64x2(${formatExpected(expected.x)}, ${
+ formatExpected(expected.y)
+ })`;
+ } else if (expected instanceof EitherVariants) {
+ return expected.formatExpected();
+ } else if (expected instanceof RefWithType) {
+ return expected.formatExpected();
+ } else if (expected instanceof ExternRefResult) {
+ return expected.formatExpected();
+ } else if (expected instanceof HostRefResult) {
+ return expected.formatExpected();
+ } else if (typeof (expected) === "object") {
+ return wasmGlobalToString(expected);
+ } else {
+ throw new Error("unknown expected result");
+ }
+}
+
+class EitherVariants {
+ constructor(arr) {
+ this.arr = arr;
+ }
+ matches(v) {
+ return this.arr.some((e) => compareResult(v, e));
+ }
+ formatExpected() {
+ return `either(${this.arr.map(formatExpected).join(", ")})`;
+ }
+}
+
+function compareResults(results, expected) {
+ if (results.length !== expected.length) {
+ return false;
+ }
+ for (let i in results) {
+ if (expected[i] instanceof EitherVariants) {
+ return expected[i].matches(results[i]);
+ }
+ if (!compareResult(results[i], expected[i])) {
+ return false;
+ }
+ }
+ return true;
+}
+
+function compareResult(result, expected) {
+ if (
+ expected === `canonical_nan` ||
+ expected === `arithmetic_nan`
+ ) {
+ return wasmGlobalIsNaN(result, expected);
+ } else if (expected === null) {
+ return result.value === null;
+ } else if (expected instanceof F32x4Pattern) {
+ return compareResult(
+ wasmGlobalExtractLane(result, "f32x4", 0),
+ expected.x,
+ ) &&
+ compareResult(wasmGlobalExtractLane(result, "f32x4", 1), expected.y) &&
+ compareResult(wasmGlobalExtractLane(result, "f32x4", 2), expected.z) &&
+ compareResult(wasmGlobalExtractLane(result, "f32x4", 3), expected.w);
+ } else if (expected instanceof F64x2Pattern) {
+ return compareResult(
+ wasmGlobalExtractLane(result, "f64x2", 0),
+ expected.x,
+ ) &&
+ compareResult(wasmGlobalExtractLane(result, "f64x2", 1), expected.y);
+ } else if (expected instanceof RefWithType) {
+ return expected.test(result);
+ } else if (expected instanceof ExternRefResult) {
+ return expected.test(result);
+ } else if (expected instanceof HostRefResult) {
+ return expected.test(result);
+ } else if (typeof (expected) === "object") {
+ return wasmGlobalsEqual(result, expected);
+ } else {
+ throw new Error("unknown expected result");
+ }
+}
diff --git a/js/src/jit-test/tests/wasm/spec/function-references/br_if.wast.js b/js/src/jit-test/tests/wasm/spec/function-references/br_if.wast.js
new file mode 100644
index 0000000000..511ee003fb
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/function-references/br_if.wast.js
@@ -0,0 +1,886 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/br_if.wast
+
+// ./test/core/br_if.wast:3
+let $0 = instantiate(`(module
+ (func $$dummy)
+
+ (func (export "type-i32")
+ (block (drop (i32.ctz (br_if 0 (i32.const 0) (i32.const 1)))))
+ )
+ (func (export "type-i64")
+ (block (drop (i64.ctz (br_if 0 (i64.const 0) (i32.const 1)))))
+ )
+ (func (export "type-f32")
+ (block (drop (f32.neg (br_if 0 (f32.const 0) (i32.const 1)))))
+ )
+ (func (export "type-f64")
+ (block (drop (f64.neg (br_if 0 (f64.const 0) (i32.const 1)))))
+ )
+
+ (func (export "type-i32-value") (result i32)
+ (block (result i32) (i32.ctz (br_if 0 (i32.const 1) (i32.const 1))))
+ )
+ (func (export "type-i64-value") (result i64)
+ (block (result i64) (i64.ctz (br_if 0 (i64.const 2) (i32.const 1))))
+ )
+ (func (export "type-f32-value") (result f32)
+ (block (result f32) (f32.neg (br_if 0 (f32.const 3) (i32.const 1))))
+ )
+ (func (export "type-f64-value") (result f64)
+ (block (result f64) (f64.neg (br_if 0 (f64.const 4) (i32.const 1))))
+ )
+
+ (func (export "as-block-first") (param i32) (result i32)
+ (block (br_if 0 (local.get 0)) (return (i32.const 2))) (i32.const 3)
+ )
+ (func (export "as-block-mid") (param i32) (result i32)
+ (block (call $$dummy) (br_if 0 (local.get 0)) (return (i32.const 2)))
+ (i32.const 3)
+ )
+ (func (export "as-block-last") (param i32)
+ (block (call $$dummy) (call $$dummy) (br_if 0 (local.get 0)))
+ )
+ (func (export "as-block-first-value") (param i32) (result i32)
+ (block (result i32)
+ (drop (br_if 0 (i32.const 10) (local.get 0))) (return (i32.const 11))
+ )
+ )
+ (func (export "as-block-mid-value") (param i32) (result i32)
+ (block (result i32)
+ (call $$dummy)
+ (drop (br_if 0 (i32.const 20) (local.get 0)))
+ (return (i32.const 21))
+ )
+ )
+ (func (export "as-block-last-value") (param i32) (result i32)
+ (block (result i32)
+ (call $$dummy) (call $$dummy) (br_if 0 (i32.const 11) (local.get 0))
+ )
+ )
+
+ (func (export "as-loop-first") (param i32) (result i32)
+ (block (loop (br_if 1 (local.get 0)) (return (i32.const 2)))) (i32.const 3)
+ )
+ (func (export "as-loop-mid") (param i32) (result i32)
+ (block (loop (call $$dummy) (br_if 1 (local.get 0)) (return (i32.const 2))))
+ (i32.const 4)
+ )
+ (func (export "as-loop-last") (param i32)
+ (loop (call $$dummy) (br_if 1 (local.get 0)))
+ )
+
+ (func (export "as-br-value") (result i32)
+ (block (result i32) (br 0 (br_if 0 (i32.const 1) (i32.const 2))))
+ )
+
+ (func (export "as-br_if-cond")
+ (block (br_if 0 (br_if 0 (i32.const 1) (i32.const 1))))
+ )
+ (func (export "as-br_if-value") (result i32)
+ (block (result i32)
+ (drop (br_if 0 (br_if 0 (i32.const 1) (i32.const 2)) (i32.const 3)))
+ (i32.const 4)
+ )
+ )
+ (func (export "as-br_if-value-cond") (param i32) (result i32)
+ (block (result i32)
+ (drop (br_if 0 (i32.const 2) (br_if 0 (i32.const 1) (local.get 0))))
+ (i32.const 4)
+ )
+ )
+
+ (func (export "as-br_table-index")
+ (block (br_table 0 0 0 (br_if 0 (i32.const 1) (i32.const 2))))
+ )
+ (func (export "as-br_table-value") (result i32)
+ (block (result i32)
+ (br_table 0 0 0 (br_if 0 (i32.const 1) (i32.const 2)) (i32.const 3)) (i32.const 4)
+ )
+ )
+ (func (export "as-br_table-value-index") (result i32)
+ (block (result i32)
+ (br_table 0 0 (i32.const 2) (br_if 0 (i32.const 1) (i32.const 3))) (i32.const 4)
+ )
+ )
+ (func (export "as-return-value") (result i64)
+ (block (result i64) (return (br_if 0 (i64.const 1) (i32.const 2))))
+ )
+
+ (func (export "as-if-cond") (param i32) (result i32)
+ (block (result i32)
+ (if (result i32)
+ (br_if 0 (i32.const 1) (local.get 0))
+ (then (i32.const 2))
+ (else (i32.const 3))
+ )
+ )
+ )
+ (func (export "as-if-then") (param i32 i32)
+ (block
+ (if (local.get 0) (then (br_if 1 (local.get 1))) (else (call $$dummy)))
+ )
+ )
+ (func (export "as-if-else") (param i32 i32)
+ (block
+ (if (local.get 0) (then (call $$dummy)) (else (br_if 1 (local.get 1))))
+ )
+ )
+
+ (func (export "as-select-first") (param i32) (result i32)
+ (block (result i32)
+ (select (br_if 0 (i32.const 3) (i32.const 10)) (i32.const 2) (local.get 0))
+ )
+ )
+ (func (export "as-select-second") (param i32) (result i32)
+ (block (result i32)
+ (select (i32.const 1) (br_if 0 (i32.const 3) (i32.const 10)) (local.get 0))
+ )
+ )
+ (func (export "as-select-cond") (result i32)
+ (block (result i32)
+ (select (i32.const 1) (i32.const 2) (br_if 0 (i32.const 3) (i32.const 10)))
+ )
+ )
+
+ (func $$f (param i32 i32 i32) (result i32) (i32.const -1))
+ (func (export "as-call-first") (result i32)
+ (block (result i32)
+ (call $$f
+ (br_if 0 (i32.const 12) (i32.const 1)) (i32.const 2) (i32.const 3)
+ )
+ )
+ )
+ (func (export "as-call-mid") (result i32)
+ (block (result i32)
+ (call $$f
+ (i32.const 1) (br_if 0 (i32.const 13) (i32.const 1)) (i32.const 3)
+ )
+ )
+ )
+ (func (export "as-call-last") (result i32)
+ (block (result i32)
+ (call $$f
+ (i32.const 1) (i32.const 2) (br_if 0 (i32.const 14) (i32.const 1))
+ )
+ )
+ )
+
+ (func $$func (param i32 i32 i32) (result i32) (local.get 0))
+ (type $$check (func (param i32 i32 i32) (result i32)))
+ (table funcref (elem $$func))
+ (func (export "as-call_indirect-func") (result i32)
+ (block (result i32)
+ (call_indirect (type $$check)
+ (br_if 0 (i32.const 4) (i32.const 10))
+ (i32.const 1) (i32.const 2) (i32.const 0)
+ )
+ )
+ )
+
+ (func (export "as-call_indirect-first") (result i32)
+ (block (result i32)
+ (call_indirect (type $$check)
+ (i32.const 1) (br_if 0 (i32.const 4) (i32.const 10)) (i32.const 2) (i32.const 0)
+ )
+ )
+ )
+ (func (export "as-call_indirect-mid") (result i32)
+ (block (result i32)
+ (call_indirect (type $$check)
+ (i32.const 1) (i32.const 2) (br_if 0 (i32.const 4) (i32.const 10)) (i32.const 0)
+ )
+ )
+ )
+ (func (export "as-call_indirect-last") (result i32)
+ (block (result i32)
+ (call_indirect (type $$check)
+ (i32.const 1) (i32.const 2) (i32.const 3) (br_if 0 (i32.const 4) (i32.const 10))
+ )
+ )
+ )
+
+ (func (export "as-local.set-value") (param i32) (result i32)
+ (local i32)
+ (block (result i32)
+ (local.set 0 (br_if 0 (i32.const 17) (local.get 0)))
+ (i32.const -1)
+ )
+ )
+ (func (export "as-local.tee-value") (param i32) (result i32)
+ (block (result i32)
+ (local.tee 0 (br_if 0 (i32.const 1) (local.get 0)))
+ (return (i32.const -1))
+ )
+ )
+ (global $$a (mut i32) (i32.const 10))
+ (func (export "as-global.set-value") (param i32) (result i32)
+ (block (result i32)
+ (global.set $$a (br_if 0 (i32.const 1) (local.get 0)))
+ (return (i32.const -1))
+ )
+ )
+
+ (memory 1)
+ (func (export "as-load-address") (result i32)
+ (block (result i32) (i32.load (br_if 0 (i32.const 1) (i32.const 1))))
+ )
+ (func (export "as-loadN-address") (result i32)
+ (block (result i32) (i32.load8_s (br_if 0 (i32.const 30) (i32.const 1))))
+ )
+
+ (func (export "as-store-address") (result i32)
+ (block (result i32)
+ (i32.store (br_if 0 (i32.const 30) (i32.const 1)) (i32.const 7)) (i32.const -1)
+ )
+ )
+ (func (export "as-store-value") (result i32)
+ (block (result i32)
+ (i32.store (i32.const 2) (br_if 0 (i32.const 31) (i32.const 1))) (i32.const -1)
+ )
+ )
+
+ (func (export "as-storeN-address") (result i32)
+ (block (result i32)
+ (i32.store8 (br_if 0 (i32.const 32) (i32.const 1)) (i32.const 7)) (i32.const -1)
+ )
+ )
+ (func (export "as-storeN-value") (result i32)
+ (block (result i32)
+ (i32.store16 (i32.const 2) (br_if 0 (i32.const 33) (i32.const 1))) (i32.const -1)
+ )
+ )
+
+ (func (export "as-unary-operand") (result f64)
+ (block (result f64) (f64.neg (br_if 0 (f64.const 1.0) (i32.const 1))))
+ )
+ (func (export "as-binary-left") (result i32)
+ (block (result i32) (i32.add (br_if 0 (i32.const 1) (i32.const 1)) (i32.const 10)))
+ )
+ (func (export "as-binary-right") (result i32)
+ (block (result i32) (i32.sub (i32.const 10) (br_if 0 (i32.const 1) (i32.const 1))))
+ )
+ (func (export "as-test-operand") (result i32)
+ (block (result i32) (i32.eqz (br_if 0 (i32.const 0) (i32.const 1))))
+ )
+ (func (export "as-compare-left") (result i32)
+ (block (result i32) (i32.le_u (br_if 0 (i32.const 1) (i32.const 1)) (i32.const 10)))
+ )
+ (func (export "as-compare-right") (result i32)
+ (block (result i32) (i32.ne (i32.const 10) (br_if 0 (i32.const 1) (i32.const 42))))
+ )
+
+ (func (export "as-memory.grow-size") (result i32)
+ (block (result i32) (memory.grow (br_if 0 (i32.const 1) (i32.const 1))))
+ )
+
+ (func (export "nested-block-value") (param i32) (result i32)
+ (i32.add
+ (i32.const 1)
+ (block (result i32)
+ (drop (i32.const 2))
+ (i32.add
+ (i32.const 4)
+ (block (result i32)
+ (drop (br_if 1 (i32.const 8) (local.get 0)))
+ (i32.const 16)
+ )
+ )
+ )
+ )
+ )
+
+ (func (export "nested-br-value") (param i32) (result i32)
+ (i32.add
+ (i32.const 1)
+ (block (result i32)
+ (drop (i32.const 2))
+ (br 0
+ (block (result i32)
+ (drop (br_if 1 (i32.const 8) (local.get 0))) (i32.const 4)
+ )
+ )
+ (i32.const 16)
+ )
+ )
+ )
+
+ (func (export "nested-br_if-value") (param i32) (result i32)
+ (i32.add
+ (i32.const 1)
+ (block (result i32)
+ (drop (i32.const 2))
+ (drop (br_if 0
+ (block (result i32)
+ (drop (br_if 1 (i32.const 8) (local.get 0))) (i32.const 4)
+ )
+ (i32.const 1)
+ ))
+ (i32.const 16)
+ )
+ )
+ )
+
+ (func (export "nested-br_if-value-cond") (param i32) (result i32)
+ (i32.add
+ (i32.const 1)
+ (block (result i32)
+ (drop (i32.const 2))
+ (drop (br_if 0
+ (i32.const 4)
+ (block (result i32)
+ (drop (br_if 1 (i32.const 8) (local.get 0))) (i32.const 1)
+ )
+ ))
+ (i32.const 16)
+ )
+ )
+ )
+
+ (func (export "nested-br_table-value") (param i32) (result i32)
+ (i32.add
+ (i32.const 1)
+ (block (result i32)
+ (drop (i32.const 2))
+ (br_table 0
+ (block (result i32)
+ (drop (br_if 1 (i32.const 8) (local.get 0))) (i32.const 4)
+ )
+ (i32.const 1)
+ )
+ (i32.const 16)
+ )
+ )
+ )
+
+ (func (export "nested-br_table-value-index") (param i32) (result i32)
+ (i32.add
+ (i32.const 1)
+ (block (result i32)
+ (drop (i32.const 2))
+ (br_table 0
+ (i32.const 4)
+ (block (result i32)
+ (drop (br_if 1 (i32.const 8) (local.get 0))) (i32.const 1)
+ )
+ )
+ (i32.const 16)
+ )
+ )
+ )
+
+)`);
+
+// ./test/core/br_if.wast:372
+assert_return(() => invoke($0, `type-i32`, []), []);
+
+// ./test/core/br_if.wast:373
+assert_return(() => invoke($0, `type-i64`, []), []);
+
+// ./test/core/br_if.wast:374
+assert_return(() => invoke($0, `type-f32`, []), []);
+
+// ./test/core/br_if.wast:375
+assert_return(() => invoke($0, `type-f64`, []), []);
+
+// ./test/core/br_if.wast:377
+assert_return(() => invoke($0, `type-i32-value`, []), [value("i32", 1)]);
+
+// ./test/core/br_if.wast:378
+assert_return(() => invoke($0, `type-i64-value`, []), [value("i64", 2n)]);
+
+// ./test/core/br_if.wast:379
+assert_return(() => invoke($0, `type-f32-value`, []), [value("f32", 3)]);
+
+// ./test/core/br_if.wast:380
+assert_return(() => invoke($0, `type-f64-value`, []), [value("f64", 4)]);
+
+// ./test/core/br_if.wast:382
+assert_return(() => invoke($0, `as-block-first`, [0]), [value("i32", 2)]);
+
+// ./test/core/br_if.wast:383
+assert_return(() => invoke($0, `as-block-first`, [1]), [value("i32", 3)]);
+
+// ./test/core/br_if.wast:384
+assert_return(() => invoke($0, `as-block-mid`, [0]), [value("i32", 2)]);
+
+// ./test/core/br_if.wast:385
+assert_return(() => invoke($0, `as-block-mid`, [1]), [value("i32", 3)]);
+
+// ./test/core/br_if.wast:386
+assert_return(() => invoke($0, `as-block-last`, [0]), []);
+
+// ./test/core/br_if.wast:387
+assert_return(() => invoke($0, `as-block-last`, [1]), []);
+
+// ./test/core/br_if.wast:389
+assert_return(() => invoke($0, `as-block-first-value`, [0]), [value("i32", 11)]);
+
+// ./test/core/br_if.wast:390
+assert_return(() => invoke($0, `as-block-first-value`, [1]), [value("i32", 10)]);
+
+// ./test/core/br_if.wast:391
+assert_return(() => invoke($0, `as-block-mid-value`, [0]), [value("i32", 21)]);
+
+// ./test/core/br_if.wast:392
+assert_return(() => invoke($0, `as-block-mid-value`, [1]), [value("i32", 20)]);
+
+// ./test/core/br_if.wast:393
+assert_return(() => invoke($0, `as-block-last-value`, [0]), [value("i32", 11)]);
+
+// ./test/core/br_if.wast:394
+assert_return(() => invoke($0, `as-block-last-value`, [1]), [value("i32", 11)]);
+
+// ./test/core/br_if.wast:396
+assert_return(() => invoke($0, `as-loop-first`, [0]), [value("i32", 2)]);
+
+// ./test/core/br_if.wast:397
+assert_return(() => invoke($0, `as-loop-first`, [1]), [value("i32", 3)]);
+
+// ./test/core/br_if.wast:398
+assert_return(() => invoke($0, `as-loop-mid`, [0]), [value("i32", 2)]);
+
+// ./test/core/br_if.wast:399
+assert_return(() => invoke($0, `as-loop-mid`, [1]), [value("i32", 4)]);
+
+// ./test/core/br_if.wast:400
+assert_return(() => invoke($0, `as-loop-last`, [0]), []);
+
+// ./test/core/br_if.wast:401
+assert_return(() => invoke($0, `as-loop-last`, [1]), []);
+
+// ./test/core/br_if.wast:403
+assert_return(() => invoke($0, `as-br-value`, []), [value("i32", 1)]);
+
+// ./test/core/br_if.wast:405
+assert_return(() => invoke($0, `as-br_if-cond`, []), []);
+
+// ./test/core/br_if.wast:406
+assert_return(() => invoke($0, `as-br_if-value`, []), [value("i32", 1)]);
+
+// ./test/core/br_if.wast:407
+assert_return(() => invoke($0, `as-br_if-value-cond`, [0]), [value("i32", 2)]);
+
+// ./test/core/br_if.wast:408
+assert_return(() => invoke($0, `as-br_if-value-cond`, [1]), [value("i32", 1)]);
+
+// ./test/core/br_if.wast:410
+assert_return(() => invoke($0, `as-br_table-index`, []), []);
+
+// ./test/core/br_if.wast:411
+assert_return(() => invoke($0, `as-br_table-value`, []), [value("i32", 1)]);
+
+// ./test/core/br_if.wast:412
+assert_return(() => invoke($0, `as-br_table-value-index`, []), [value("i32", 1)]);
+
+// ./test/core/br_if.wast:414
+assert_return(() => invoke($0, `as-return-value`, []), [value("i64", 1n)]);
+
+// ./test/core/br_if.wast:416
+assert_return(() => invoke($0, `as-if-cond`, [0]), [value("i32", 2)]);
+
+// ./test/core/br_if.wast:417
+assert_return(() => invoke($0, `as-if-cond`, [1]), [value("i32", 1)]);
+
+// ./test/core/br_if.wast:418
+assert_return(() => invoke($0, `as-if-then`, [0, 0]), []);
+
+// ./test/core/br_if.wast:419
+assert_return(() => invoke($0, `as-if-then`, [4, 0]), []);
+
+// ./test/core/br_if.wast:420
+assert_return(() => invoke($0, `as-if-then`, [0, 1]), []);
+
+// ./test/core/br_if.wast:421
+assert_return(() => invoke($0, `as-if-then`, [4, 1]), []);
+
+// ./test/core/br_if.wast:422
+assert_return(() => invoke($0, `as-if-else`, [0, 0]), []);
+
+// ./test/core/br_if.wast:423
+assert_return(() => invoke($0, `as-if-else`, [3, 0]), []);
+
+// ./test/core/br_if.wast:424
+assert_return(() => invoke($0, `as-if-else`, [0, 1]), []);
+
+// ./test/core/br_if.wast:425
+assert_return(() => invoke($0, `as-if-else`, [3, 1]), []);
+
+// ./test/core/br_if.wast:427
+assert_return(() => invoke($0, `as-select-first`, [0]), [value("i32", 3)]);
+
+// ./test/core/br_if.wast:428
+assert_return(() => invoke($0, `as-select-first`, [1]), [value("i32", 3)]);
+
+// ./test/core/br_if.wast:429
+assert_return(() => invoke($0, `as-select-second`, [0]), [value("i32", 3)]);
+
+// ./test/core/br_if.wast:430
+assert_return(() => invoke($0, `as-select-second`, [1]), [value("i32", 3)]);
+
+// ./test/core/br_if.wast:431
+assert_return(() => invoke($0, `as-select-cond`, []), [value("i32", 3)]);
+
+// ./test/core/br_if.wast:433
+assert_return(() => invoke($0, `as-call-first`, []), [value("i32", 12)]);
+
+// ./test/core/br_if.wast:434
+assert_return(() => invoke($0, `as-call-mid`, []), [value("i32", 13)]);
+
+// ./test/core/br_if.wast:435
+assert_return(() => invoke($0, `as-call-last`, []), [value("i32", 14)]);
+
+// ./test/core/br_if.wast:437
+assert_return(() => invoke($0, `as-call_indirect-func`, []), [value("i32", 4)]);
+
+// ./test/core/br_if.wast:438
+assert_return(() => invoke($0, `as-call_indirect-first`, []), [value("i32", 4)]);
+
+// ./test/core/br_if.wast:439
+assert_return(() => invoke($0, `as-call_indirect-mid`, []), [value("i32", 4)]);
+
+// ./test/core/br_if.wast:440
+assert_return(() => invoke($0, `as-call_indirect-last`, []), [value("i32", 4)]);
+
+// ./test/core/br_if.wast:442
+assert_return(() => invoke($0, `as-local.set-value`, [0]), [value("i32", -1)]);
+
+// ./test/core/br_if.wast:443
+assert_return(() => invoke($0, `as-local.set-value`, [1]), [value("i32", 17)]);
+
+// ./test/core/br_if.wast:445
+assert_return(() => invoke($0, `as-local.tee-value`, [0]), [value("i32", -1)]);
+
+// ./test/core/br_if.wast:446
+assert_return(() => invoke($0, `as-local.tee-value`, [1]), [value("i32", 1)]);
+
+// ./test/core/br_if.wast:448
+assert_return(() => invoke($0, `as-global.set-value`, [0]), [value("i32", -1)]);
+
+// ./test/core/br_if.wast:449
+assert_return(() => invoke($0, `as-global.set-value`, [1]), [value("i32", 1)]);
+
+// ./test/core/br_if.wast:451
+assert_return(() => invoke($0, `as-load-address`, []), [value("i32", 1)]);
+
+// ./test/core/br_if.wast:452
+assert_return(() => invoke($0, `as-loadN-address`, []), [value("i32", 30)]);
+
+// ./test/core/br_if.wast:454
+assert_return(() => invoke($0, `as-store-address`, []), [value("i32", 30)]);
+
+// ./test/core/br_if.wast:455
+assert_return(() => invoke($0, `as-store-value`, []), [value("i32", 31)]);
+
+// ./test/core/br_if.wast:456
+assert_return(() => invoke($0, `as-storeN-address`, []), [value("i32", 32)]);
+
+// ./test/core/br_if.wast:457
+assert_return(() => invoke($0, `as-storeN-value`, []), [value("i32", 33)]);
+
+// ./test/core/br_if.wast:459
+assert_return(() => invoke($0, `as-unary-operand`, []), [value("f64", 1)]);
+
+// ./test/core/br_if.wast:460
+assert_return(() => invoke($0, `as-binary-left`, []), [value("i32", 1)]);
+
+// ./test/core/br_if.wast:461
+assert_return(() => invoke($0, `as-binary-right`, []), [value("i32", 1)]);
+
+// ./test/core/br_if.wast:462
+assert_return(() => invoke($0, `as-test-operand`, []), [value("i32", 0)]);
+
+// ./test/core/br_if.wast:463
+assert_return(() => invoke($0, `as-compare-left`, []), [value("i32", 1)]);
+
+// ./test/core/br_if.wast:464
+assert_return(() => invoke($0, `as-compare-right`, []), [value("i32", 1)]);
+
+// ./test/core/br_if.wast:465
+assert_return(() => invoke($0, `as-memory.grow-size`, []), [value("i32", 1)]);
+
+// ./test/core/br_if.wast:467
+assert_return(() => invoke($0, `nested-block-value`, [0]), [value("i32", 21)]);
+
+// ./test/core/br_if.wast:468
+assert_return(() => invoke($0, `nested-block-value`, [1]), [value("i32", 9)]);
+
+// ./test/core/br_if.wast:469
+assert_return(() => invoke($0, `nested-br-value`, [0]), [value("i32", 5)]);
+
+// ./test/core/br_if.wast:470
+assert_return(() => invoke($0, `nested-br-value`, [1]), [value("i32", 9)]);
+
+// ./test/core/br_if.wast:471
+assert_return(() => invoke($0, `nested-br_if-value`, [0]), [value("i32", 5)]);
+
+// ./test/core/br_if.wast:472
+assert_return(() => invoke($0, `nested-br_if-value`, [1]), [value("i32", 9)]);
+
+// ./test/core/br_if.wast:473
+assert_return(() => invoke($0, `nested-br_if-value-cond`, [0]), [value("i32", 5)]);
+
+// ./test/core/br_if.wast:474
+assert_return(() => invoke($0, `nested-br_if-value-cond`, [1]), [value("i32", 9)]);
+
+// ./test/core/br_if.wast:475
+assert_return(() => invoke($0, `nested-br_table-value`, [0]), [value("i32", 5)]);
+
+// ./test/core/br_if.wast:476
+assert_return(() => invoke($0, `nested-br_table-value`, [1]), [value("i32", 9)]);
+
+// ./test/core/br_if.wast:477
+assert_return(() => invoke($0, `nested-br_table-value-index`, [0]), [value("i32", 5)]);
+
+// ./test/core/br_if.wast:478
+assert_return(() => invoke($0, `nested-br_table-value-index`, [1]), [value("i32", 9)]);
+
+// ./test/core/br_if.wast:480
+assert_invalid(
+ () => instantiate(`(module (func $$type-false-i32 (block (i32.ctz (br_if 0 (i32.const 0))))))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:484
+assert_invalid(
+ () => instantiate(`(module (func $$type-false-i64 (block (i64.ctz (br_if 0 (i32.const 0))))))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:488
+assert_invalid(
+ () => instantiate(`(module (func $$type-false-f32 (block (f32.neg (br_if 0 (i32.const 0))))))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:492
+assert_invalid(
+ () => instantiate(`(module (func $$type-false-f64 (block (f64.neg (br_if 0 (i32.const 0))))))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:497
+assert_invalid(
+ () => instantiate(`(module (func $$type-true-i32 (block (i32.ctz (br_if 0 (i32.const 1))))))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:501
+assert_invalid(
+ () => instantiate(`(module (func $$type-true-i64 (block (i64.ctz (br_if 0 (i64.const 1))))))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:505
+assert_invalid(
+ () => instantiate(`(module (func $$type-true-f32 (block (f32.neg (br_if 0 (f32.const 1))))))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:509
+assert_invalid(
+ () => instantiate(`(module (func $$type-true-f64 (block (f64.neg (br_if 0 (i64.const 1))))))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:514
+assert_invalid(
+ () => instantiate(`(module (func $$type-false-arg-void-vs-num (result i32)
+ (block (result i32) (br_if 0 (i32.const 0)) (i32.const 1))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:520
+assert_invalid(
+ () => instantiate(`(module (func $$type-true-arg-void-vs-num (result i32)
+ (block (result i32) (br_if 0 (i32.const 1)) (i32.const 1))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:526
+assert_invalid(
+ () => instantiate(`(module (func $$type-false-arg-num-vs-void
+ (block (br_if 0 (i32.const 0) (i32.const 0)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:532
+assert_invalid(
+ () => instantiate(`(module (func $$type-true-arg-num-vs-void
+ (block (br_if 0 (i32.const 0) (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:539
+assert_invalid(
+ () => instantiate(`(module (func $$type-false-arg-void-vs-num (result i32)
+ (block (result i32) (br_if 0 (nop) (i32.const 0)) (i32.const 1))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:545
+assert_invalid(
+ () => instantiate(`(module (func $$type-true-arg-void-vs-num (result i32)
+ (block (result i32) (br_if 0 (nop) (i32.const 1)) (i32.const 1))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:551
+assert_invalid(
+ () => instantiate(`(module (func $$type-false-arg-num-vs-num (result i32)
+ (block (result i32)
+ (drop (br_if 0 (i64.const 1) (i32.const 0))) (i32.const 1)
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:559
+assert_invalid(
+ () => instantiate(`(module (func $$type-true-arg-num-vs-num (result i32)
+ (block (result i32)
+ (drop (br_if 0 (i64.const 1) (i32.const 0))) (i32.const 1)
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:568
+assert_invalid(
+ () => instantiate(`(module (func $$type-cond-empty-vs-i32
+ (block (br_if 0))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:574
+assert_invalid(
+ () => instantiate(`(module (func $$type-cond-void-vs-i32
+ (block (br_if 0 (nop)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:580
+assert_invalid(
+ () => instantiate(`(module (func $$type-cond-num-vs-i32
+ (block (br_if 0 (i64.const 0)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:586
+assert_invalid(
+ () => instantiate(`(module (func $$type-arg-cond-void-vs-i32 (result i32)
+ (block (result i32) (br_if 0 (i32.const 0) (nop)) (i32.const 1))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:592
+assert_invalid(
+ () => instantiate(`(module (func $$type-arg-void-vs-num-nested (result i32)
+ (block (result i32) (i32.const 0) (block (br_if 1 (i32.const 1))))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:598
+assert_invalid(
+ () => instantiate(`(module (func $$type-arg-cond-num-vs-i32 (result i32)
+ (block (result i32) (br_if 0 (i32.const 0) (i64.const 0)) (i32.const 1))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:605
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-1st-cond-empty-in-then
+ (block
+ (i32.const 0) (i32.const 0)
+ (if (result i32) (then (br_if 0)))
+ )
+ (i32.eqz) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:617
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-2nd-cond-empty-in-then
+ (block
+ (i32.const 0) (i32.const 0)
+ (if (result i32) (then (br_if 0 (i32.const 1))))
+ )
+ (i32.eqz) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:629
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-1st-cond-empty-in-return
+ (block (result i32)
+ (return (br_if 0))
+ )
+ (i32.eqz) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:640
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-2nd-cond-empty-in-return
+ (block (result i32)
+ (return (br_if 0 (i32.const 1)))
+ )
+ (i32.eqz) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:653
+assert_invalid(
+ () => instantiate(`(module (func $$unbound-label (br_if 1 (i32.const 1))))`),
+ `unknown label`,
+);
+
+// ./test/core/br_if.wast:657
+assert_invalid(
+ () => instantiate(`(module (func $$unbound-nested-label (block (block (br_if 5 (i32.const 1))))))`),
+ `unknown label`,
+);
+
+// ./test/core/br_if.wast:661
+assert_invalid(
+ () => instantiate(`(module (func $$large-label (br_if 0x10000001 (i32.const 1))))`),
+ `unknown label`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/function-references/br_on_non_null.wast.js b/js/src/jit-test/tests/wasm/spec/function-references/br_on_non_null.wast.js
new file mode 100644
index 0000000000..16a778a8e4
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/function-references/br_on_non_null.wast.js
@@ -0,0 +1,101 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/br_on_non_null.wast
+
+// ./test/core/br_on_non_null.wast:1
+let $0 = instantiate(`(module
+ (type $$t (func (result i32)))
+
+ (func $$nn (param $$r (ref $$t)) (result i32)
+ (call_ref $$t
+ (block $$l (result (ref $$t))
+ (br_on_non_null $$l (local.get $$r))
+ (return (i32.const -1))
+ )
+ )
+ )
+ (func $$n (param $$r (ref null $$t)) (result i32)
+ (call_ref $$t
+ (block $$l (result (ref $$t))
+ (br_on_non_null $$l (local.get $$r))
+ (return (i32.const -1))
+ )
+ )
+ )
+
+ (elem func $$f)
+ (func $$f (result i32) (i32.const 7))
+
+ (func (export "nullable-null") (result i32) (call $$n (ref.null $$t)))
+ (func (export "nonnullable-f") (result i32) (call $$nn (ref.func $$f)))
+ (func (export "nullable-f") (result i32) (call $$n (ref.func $$f)))
+
+ (func (export "unreachable") (result i32)
+ (block $$l (result (ref $$t))
+ (br_on_non_null $$l (unreachable))
+ (return (i32.const -1))
+ )
+ (call_ref $$t)
+ )
+)`);
+
+// ./test/core/br_on_non_null.wast:37
+assert_trap(() => invoke($0, `unreachable`, []), `unreachable`);
+
+// ./test/core/br_on_non_null.wast:39
+assert_return(() => invoke($0, `nullable-null`, []), [value("i32", -1)]);
+
+// ./test/core/br_on_non_null.wast:40
+assert_return(() => invoke($0, `nonnullable-f`, []), [value("i32", 7)]);
+
+// ./test/core/br_on_non_null.wast:41
+assert_return(() => invoke($0, `nullable-f`, []), [value("i32", 7)]);
+
+// ./test/core/br_on_non_null.wast:43
+let $1 = instantiate(`(module
+ (type $$t (func))
+ (func (param $$r (ref null $$t)) (drop (block (result (ref $$t)) (br_on_non_null 0 (local.get $$r)) (unreachable))))
+ (func (param $$r (ref null func)) (drop (block (result (ref func)) (br_on_non_null 0 (local.get $$r)) (unreachable))))
+ (func (param $$r (ref null extern)) (drop (block (result (ref extern)) (br_on_non_null 0 (local.get $$r)) (unreachable))))
+)`);
+
+// ./test/core/br_on_non_null.wast:51
+let $2 = instantiate(`(module
+ (type $$t (func (param i32) (result i32)))
+ (elem func $$f)
+ (func $$f (param i32) (result i32) (i32.mul (local.get 0) (local.get 0)))
+
+ (func $$a (param $$n i32) (param $$r (ref null $$t)) (result i32)
+ (call_ref $$t
+ (block $$l (result i32 (ref $$t))
+ (return (br_on_non_null $$l (local.get $$n) (local.get $$r)))
+ )
+ )
+ )
+
+ (func (export "args-null") (param $$n i32) (result i32)
+ (call $$a (local.get $$n) (ref.null $$t))
+ )
+ (func (export "args-f") (param $$n i32) (result i32)
+ (call $$a (local.get $$n) (ref.func $$f))
+ )
+)`);
+
+// ./test/core/br_on_non_null.wast:72
+assert_return(() => invoke($2, `args-null`, [3]), [value("i32", 3)]);
+
+// ./test/core/br_on_non_null.wast:73
+assert_return(() => invoke($2, `args-f`, [3]), [value("i32", 9)]);
diff --git a/js/src/jit-test/tests/wasm/spec/function-references/br_on_null.wast.js b/js/src/jit-test/tests/wasm/spec/function-references/br_on_null.wast.js
new file mode 100644
index 0000000000..3335e22930
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/function-references/br_on_null.wast.js
@@ -0,0 +1,94 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/br_on_null.wast
+
+// ./test/core/br_on_null.wast:1
+let $0 = instantiate(`(module
+ (type $$t (func (result i32)))
+
+ (func $$nn (param $$r (ref $$t)) (result i32)
+ (block $$l
+ (return (call_ref $$t (br_on_null $$l (local.get $$r))))
+ )
+ (i32.const -1)
+ )
+ (func $$n (param $$r (ref null $$t)) (result i32)
+ (block $$l
+ (return (call_ref $$t (br_on_null $$l (local.get $$r))))
+ )
+ (i32.const -1)
+ )
+
+ (elem func $$f)
+ (func $$f (result i32) (i32.const 7))
+
+ (func (export "nullable-null") (result i32) (call $$n (ref.null $$t)))
+ (func (export "nonnullable-f") (result i32) (call $$nn (ref.func $$f)))
+ (func (export "nullable-f") (result i32) (call $$n (ref.func $$f)))
+
+ (func (export "unreachable") (result i32)
+ (block $$l
+ (return (call_ref $$t (br_on_null $$l (unreachable))))
+ )
+ (i32.const -1)
+ )
+)`);
+
+// ./test/core/br_on_null.wast:32
+assert_trap(() => invoke($0, `unreachable`, []), `unreachable`);
+
+// ./test/core/br_on_null.wast:34
+assert_return(() => invoke($0, `nullable-null`, []), [value("i32", -1)]);
+
+// ./test/core/br_on_null.wast:35
+assert_return(() => invoke($0, `nonnullable-f`, []), [value("i32", 7)]);
+
+// ./test/core/br_on_null.wast:36
+assert_return(() => invoke($0, `nullable-f`, []), [value("i32", 7)]);
+
+// ./test/core/br_on_null.wast:38
+let $1 = instantiate(`(module
+ (type $$t (func))
+ (func (param $$r (ref null $$t)) (drop (br_on_null 0 (local.get $$r))))
+ (func (param $$r (ref null func)) (drop (br_on_null 0 (local.get $$r))))
+ (func (param $$r (ref null extern)) (drop (br_on_null 0 (local.get $$r))))
+)`);
+
+// ./test/core/br_on_null.wast:46
+let $2 = instantiate(`(module
+ (type $$t (func (param i32) (result i32)))
+ (elem func $$f)
+ (func $$f (param i32) (result i32) (i32.mul (local.get 0) (local.get 0)))
+
+ (func $$a (param $$n i32) (param $$r (ref null $$t)) (result i32)
+ (block $$l (result i32)
+ (return (call_ref $$t (br_on_null $$l (local.get $$n) (local.get $$r))))
+ )
+ )
+
+ (func (export "args-null") (param $$n i32) (result i32)
+ (call $$a (local.get $$n) (ref.null $$t))
+ )
+ (func (export "args-f") (param $$n i32) (result i32)
+ (call $$a (local.get $$n) (ref.func $$f))
+ )
+)`);
+
+// ./test/core/br_on_null.wast:65
+assert_return(() => invoke($2, `args-null`, [3]), [value("i32", 3)]);
+
+// ./test/core/br_on_null.wast:66
+assert_return(() => invoke($2, `args-f`, [3]), [value("i32", 9)]);
diff --git a/js/src/jit-test/tests/wasm/spec/function-references/call_ref.wast.js b/js/src/jit-test/tests/wasm/spec/function-references/call_ref.wast.js
new file mode 100644
index 0000000000..4b430e1dae
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/function-references/call_ref.wast.js
@@ -0,0 +1,275 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/call_ref.wast
+
+// ./test/core/call_ref.wast:1
+let $0 = instantiate(`(module
+ (type $$ii (func (param i32) (result i32)))
+
+ (func $$apply (param $$f (ref $$ii)) (param $$x i32) (result i32)
+ (call_ref $$ii (local.get $$x) (local.get $$f))
+ )
+
+ (func $$f (type $$ii) (i32.mul (local.get 0) (local.get 0)))
+ (func $$g (type $$ii) (i32.sub (i32.const 0) (local.get 0)))
+
+ (elem declare func $$f $$g)
+
+ (func (export "run") (param $$x i32) (result i32)
+ (local $$rf (ref null $$ii))
+ (local $$rg (ref null $$ii))
+ (local.set $$rf (ref.func $$f))
+ (local.set $$rg (ref.func $$g))
+ (call_ref $$ii (call_ref $$ii (local.get $$x) (local.get $$rf)) (local.get $$rg))
+ )
+
+ (func (export "null") (result i32)
+ (call_ref $$ii (i32.const 1) (ref.null $$ii))
+ )
+
+ ;; Recursion
+
+ (type $$ll (func (param i64) (result i64)))
+ (type $$lll (func (param i64 i64) (result i64)))
+
+ (elem declare func $$fac)
+ (global $$fac (ref $$ll) (ref.func $$fac))
+
+ (func $$fac (export "fac") (type $$ll)
+ (if (result i64) (i64.eqz (local.get 0))
+ (then (i64.const 1))
+ (else
+ (i64.mul
+ (local.get 0)
+ (call_ref $$ll (i64.sub (local.get 0) (i64.const 1)) (global.get $$fac))
+ )
+ )
+ )
+ )
+
+ (elem declare func $$fac-acc)
+ (global $$fac-acc (ref $$lll) (ref.func $$fac-acc))
+
+ (func $$fac-acc (export "fac-acc") (type $$lll)
+ (if (result i64) (i64.eqz (local.get 0))
+ (then (local.get 1))
+ (else
+ (call_ref $$lll
+ (i64.sub (local.get 0) (i64.const 1))
+ (i64.mul (local.get 0) (local.get 1))
+ (global.get $$fac-acc)
+ )
+ )
+ )
+ )
+
+ (elem declare func $$fib)
+ (global $$fib (ref $$ll) (ref.func $$fib))
+
+ (func $$fib (export "fib") (type $$ll)
+ (if (result i64) (i64.le_u (local.get 0) (i64.const 1))
+ (then (i64.const 1))
+ (else
+ (i64.add
+ (call_ref $$ll (i64.sub (local.get 0) (i64.const 2)) (global.get $$fib))
+ (call_ref $$ll (i64.sub (local.get 0) (i64.const 1)) (global.get $$fib))
+ )
+ )
+ )
+ )
+
+ (elem declare func $$even $$odd)
+ (global $$even (ref $$ll) (ref.func $$even))
+ (global $$odd (ref $$ll) (ref.func $$odd))
+
+ (func $$even (export "even") (type $$ll)
+ (if (result i64) (i64.eqz (local.get 0))
+ (then (i64.const 44))
+ (else (call_ref $$ll (i64.sub (local.get 0) (i64.const 1)) (global.get $$odd)))
+ )
+ )
+ (func $$odd (export "odd") (type $$ll)
+ (if (result i64) (i64.eqz (local.get 0))
+ (then (i64.const 99))
+ (else (call_ref $$ll (i64.sub (local.get 0) (i64.const 1)) (global.get $$even)))
+ )
+ )
+)`);
+
+// ./test/core/call_ref.wast:94
+assert_return(() => invoke($0, `run`, [0]), [value("i32", 0)]);
+
+// ./test/core/call_ref.wast:95
+assert_return(() => invoke($0, `run`, [3]), [value("i32", -9)]);
+
+// ./test/core/call_ref.wast:97
+assert_trap(() => invoke($0, `null`, []), `null function`);
+
+// ./test/core/call_ref.wast:99
+assert_return(() => invoke($0, `fac`, [0n]), [value("i64", 1n)]);
+
+// ./test/core/call_ref.wast:100
+assert_return(() => invoke($0, `fac`, [1n]), [value("i64", 1n)]);
+
+// ./test/core/call_ref.wast:101
+assert_return(() => invoke($0, `fac`, [5n]), [value("i64", 120n)]);
+
+// ./test/core/call_ref.wast:102
+assert_return(() => invoke($0, `fac`, [25n]), [value("i64", 7034535277573963776n)]);
+
+// ./test/core/call_ref.wast:103
+assert_return(() => invoke($0, `fac-acc`, [0n, 1n]), [value("i64", 1n)]);
+
+// ./test/core/call_ref.wast:104
+assert_return(() => invoke($0, `fac-acc`, [1n, 1n]), [value("i64", 1n)]);
+
+// ./test/core/call_ref.wast:105
+assert_return(() => invoke($0, `fac-acc`, [5n, 1n]), [value("i64", 120n)]);
+
+// ./test/core/call_ref.wast:106
+assert_return(() => invoke($0, `fac-acc`, [25n, 1n]), [value("i64", 7034535277573963776n)]);
+
+// ./test/core/call_ref.wast:111
+assert_return(() => invoke($0, `fib`, [0n]), [value("i64", 1n)]);
+
+// ./test/core/call_ref.wast:112
+assert_return(() => invoke($0, `fib`, [1n]), [value("i64", 1n)]);
+
+// ./test/core/call_ref.wast:113
+assert_return(() => invoke($0, `fib`, [2n]), [value("i64", 2n)]);
+
+// ./test/core/call_ref.wast:114
+assert_return(() => invoke($0, `fib`, [5n]), [value("i64", 8n)]);
+
+// ./test/core/call_ref.wast:115
+assert_return(() => invoke($0, `fib`, [20n]), [value("i64", 10946n)]);
+
+// ./test/core/call_ref.wast:117
+assert_return(() => invoke($0, `even`, [0n]), [value("i64", 44n)]);
+
+// ./test/core/call_ref.wast:118
+assert_return(() => invoke($0, `even`, [1n]), [value("i64", 99n)]);
+
+// ./test/core/call_ref.wast:119
+assert_return(() => invoke($0, `even`, [100n]), [value("i64", 44n)]);
+
+// ./test/core/call_ref.wast:120
+assert_return(() => invoke($0, `even`, [77n]), [value("i64", 99n)]);
+
+// ./test/core/call_ref.wast:121
+assert_return(() => invoke($0, `odd`, [0n]), [value("i64", 99n)]);
+
+// ./test/core/call_ref.wast:122
+assert_return(() => invoke($0, `odd`, [1n]), [value("i64", 44n)]);
+
+// ./test/core/call_ref.wast:123
+assert_return(() => invoke($0, `odd`, [200n]), [value("i64", 99n)]);
+
+// ./test/core/call_ref.wast:124
+assert_return(() => invoke($0, `odd`, [77n]), [value("i64", 44n)]);
+
+// ./test/core/call_ref.wast:129
+let $1 = instantiate(`(module
+ (type $$t (func))
+ (func (export "unreachable") (result i32)
+ (unreachable)
+ (call_ref $$t)
+ )
+)`);
+
+// ./test/core/call_ref.wast:136
+assert_trap(() => invoke($1, `unreachable`, []), `unreachable`);
+
+// ./test/core/call_ref.wast:138
+let $2 = instantiate(`(module
+ (elem declare func $$f)
+ (type $$t (func (param i32) (result i32)))
+ (func $$f (param i32) (result i32) (local.get 0))
+
+ (func (export "unreachable") (result i32)
+ (unreachable)
+ (ref.func $$f)
+ (call_ref $$t)
+ )
+)`);
+
+// ./test/core/call_ref.wast:149
+assert_trap(() => invoke($2, `unreachable`, []), `unreachable`);
+
+// ./test/core/call_ref.wast:151
+let $3 = instantiate(`(module
+ (elem declare func $$f)
+ (type $$t (func (param i32) (result i32)))
+ (func $$f (param i32) (result i32) (local.get 0))
+
+ (func (export "unreachable") (result i32)
+ (unreachable)
+ (i32.const 0)
+ (ref.func $$f)
+ (call_ref $$t)
+ (drop)
+ (i32.const 0)
+ )
+)`);
+
+// ./test/core/call_ref.wast:165
+assert_trap(() => invoke($3, `unreachable`, []), `unreachable`);
+
+// ./test/core/call_ref.wast:167
+assert_invalid(
+ () => instantiate(`(module
+ (elem declare func $$f)
+ (type $$t (func (param i32) (result i32)))
+ (func $$f (param i32) (result i32) (local.get 0))
+
+ (func (export "unreachable") (result i32)
+ (unreachable)
+ (i64.const 0)
+ (ref.func $$f)
+ (call_ref $$t)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/call_ref.wast:183
+assert_invalid(
+ () => instantiate(`(module
+ (elem declare func $$f)
+ (type $$t (func (param i32) (result i32)))
+ (func $$f (param i32) (result i32) (local.get 0))
+
+ (func (export "unreachable") (result i32)
+ (unreachable)
+ (ref.func $$f)
+ (call_ref $$t)
+ (drop)
+ (i64.const 0)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/call_ref.wast:200
+assert_invalid(
+ () => instantiate(`(module
+ (type $$t (func))
+ (func $$f (param $$r externref)
+ (call_ref $$t (local.get $$r))
+ )
+ )`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/function-references/directives.txt b/js/src/jit-test/tests/wasm/spec/function-references/directives.txt
new file mode 100644
index 0000000000..bb76560525
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/function-references/directives.txt
@@ -0,0 +1 @@
+|jit-test| test-also=--wasm-compiler=optimizing; test-also=--wasm-compiler=baseline; test-also=--wasm-test-serialization; test-also=--test-wasm-await-tier2; test-also=--disable-wasm-huge-memory; skip-variant-if: --disable-wasm-huge-memory, !wasmHugeMemorySupported(); local-include:harness/harness.js; --wasm-function-references; skip-if: !wasmFunctionReferencesEnabled() \ No newline at end of file
diff --git a/js/src/jit-test/tests/wasm/spec/function-references/func.wast.js b/js/src/jit-test/tests/wasm/spec/function-references/func.wast.js
new file mode 100644
index 0000000000..8521cbbd18
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/function-references/func.wast.js
@@ -0,0 +1,1240 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/func.wast
+
+// ./test/core/func.wast:3
+let $0 = instantiate(`(module
+ ;; Auxiliary definition
+ (type $$sig (func))
+ (func $$dummy)
+
+ ;; Syntax
+
+ (func)
+ (func (export "f"))
+ (func $$f)
+ (func $$h (export "g"))
+
+ (func (local))
+ (func (local) (local))
+ (func (local i32))
+ (func (local $$x i32))
+ (func (local i32 f64 i64))
+ (func (local i32) (local f64))
+ (func (local i32 f32) (local $$x i64) (local) (local i32 f64))
+
+ (func (param))
+ (func (param) (param))
+ (func (param i32))
+ (func (param $$x i32))
+ (func (param i32 f64 i64))
+ (func (param i32) (param f64))
+ (func (param i32 f32) (param $$x i64) (param) (param i32 f64))
+
+ (func (result))
+ (func (result) (result))
+ (func (result i32) (unreachable))
+ (func (result i32 f64 f32) (unreachable))
+ (func (result i32) (result f64) (unreachable))
+ (func (result i32 f32) (result i64) (result) (result i32 f64) (unreachable))
+
+ (type $$sig-1 (func))
+ (type $$sig-2 (func (result i32)))
+ (type $$sig-3 (func (param $$x i32)))
+ (type $$sig-4 (func (param i32 f64 i32) (result i32)))
+
+ (func (export "type-use-1") (type $$sig-1))
+ (func (export "type-use-2") (type $$sig-2) (i32.const 0))
+ (func (export "type-use-3") (type $$sig-3))
+ (func (export "type-use-4") (type $$sig-4) (i32.const 0))
+ (func (export "type-use-5") (type $$sig-2) (result i32) (i32.const 0))
+ (func (export "type-use-6") (type $$sig-3) (param i32))
+ (func (export "type-use-7")
+ (type $$sig-4) (param i32) (param f64 i32) (result i32) (i32.const 0)
+ )
+
+ (func (type $$sig))
+ (func (type $$forward)) ;; forward reference
+
+ (func $$complex
+ (param i32 f32) (param $$x i64) (param) (param i32)
+ (result) (result i32) (result) (result i64 i32)
+ (local f32) (local $$y i32) (local i64 i32) (local) (local f64 i32)
+ (unreachable) (unreachable)
+ )
+ (func $$complex-sig
+ (type $$sig)
+ (local f32) (local $$y i32) (local i64 i32) (local) (local f64 i32)
+ (unreachable) (unreachable)
+ )
+
+ (type $$forward (func))
+
+ ;; Typing of locals
+
+ (func (export "local-first-i32") (result i32) (local i32 i32) (local.get 0))
+ (func (export "local-first-i64") (result i64) (local i64 i64) (local.get 0))
+ (func (export "local-first-f32") (result f32) (local f32 f32) (local.get 0))
+ (func (export "local-first-f64") (result f64) (local f64 f64) (local.get 0))
+ (func (export "local-second-i32") (result i32) (local i32 i32) (local.get 1))
+ (func (export "local-second-i64") (result i64) (local i64 i64) (local.get 1))
+ (func (export "local-second-f32") (result f32) (local f32 f32) (local.get 1))
+ (func (export "local-second-f64") (result f64) (local f64 f64) (local.get 1))
+ (func (export "local-mixed") (result f64)
+ (local f32) (local $$x i32) (local i64 i32) (local) (local f64 i32)
+ (drop (f32.neg (local.get 0)))
+ (drop (i32.eqz (local.get 1)))
+ (drop (i64.eqz (local.get 2)))
+ (drop (i32.eqz (local.get 3)))
+ (drop (f64.neg (local.get 4)))
+ (drop (i32.eqz (local.get 5)))
+ (local.get 4)
+ )
+
+ ;; Typing of parameters
+
+ (func (export "param-first-i32") (param i32 i32) (result i32) (local.get 0))
+ (func (export "param-first-i64") (param i64 i64) (result i64) (local.get 0))
+ (func (export "param-first-f32") (param f32 f32) (result f32) (local.get 0))
+ (func (export "param-first-f64") (param f64 f64) (result f64) (local.get 0))
+ (func (export "param-second-i32") (param i32 i32) (result i32) (local.get 1))
+ (func (export "param-second-i64") (param i64 i64) (result i64) (local.get 1))
+ (func (export "param-second-f32") (param f32 f32) (result f32) (local.get 1))
+ (func (export "param-second-f64") (param f64 f64) (result f64) (local.get 1))
+ (func (export "param-mixed") (param f32 i32) (param) (param $$x i64) (param i32 f64 i32)
+ (result f64)
+ (drop (f32.neg (local.get 0)))
+ (drop (i32.eqz (local.get 1)))
+ (drop (i64.eqz (local.get 2)))
+ (drop (i32.eqz (local.get 3)))
+ (drop (f64.neg (local.get 4)))
+ (drop (i32.eqz (local.get 5)))
+ (local.get 4)
+ )
+
+ ;; Typing of results
+
+ (func (export "empty"))
+ (func (export "value-void") (call $$dummy))
+ (func (export "value-i32") (result i32) (i32.const 77))
+ (func (export "value-i64") (result i64) (i64.const 7777))
+ (func (export "value-f32") (result f32) (f32.const 77.7))
+ (func (export "value-f64") (result f64) (f64.const 77.77))
+ (func (export "value-i32-f64") (result i32 f64) (i32.const 77) (f64.const 7))
+ (func (export "value-i32-i32-i32") (result i32 i32 i32)
+ (i32.const 1) (i32.const 2) (i32.const 3)
+ )
+ (func (export "value-block-void") (block (call $$dummy) (call $$dummy)))
+ (func (export "value-block-i32") (result i32)
+ (block (result i32) (call $$dummy) (i32.const 77))
+ )
+ (func (export "value-block-i32-i64") (result i32 i64)
+ (block (result i32 i64) (call $$dummy) (i32.const 1) (i64.const 2))
+ )
+
+ (func (export "return-empty") (return))
+ (func (export "return-i32") (result i32) (return (i32.const 78)))
+ (func (export "return-i64") (result i64) (return (i64.const 7878)))
+ (func (export "return-f32") (result f32) (return (f32.const 78.7)))
+ (func (export "return-f64") (result f64) (return (f64.const 78.78)))
+ (func (export "return-i32-f64") (result i32 f64)
+ (return (i32.const 78) (f64.const 78.78))
+ )
+ (func (export "return-i32-i32-i32") (result i32 i32 i32)
+ (return (i32.const 1) (i32.const 2) (i32.const 3))
+ )
+ (func (export "return-block-i32") (result i32)
+ (return (block (result i32) (call $$dummy) (i32.const 77)))
+ )
+ (func (export "return-block-i32-i64") (result i32 i64)
+ (return (block (result i32 i64) (call $$dummy) (i32.const 1) (i64.const 2)))
+ )
+
+ (func (export "break-empty") (br 0))
+ (func (export "break-i32") (result i32) (br 0 (i32.const 79)))
+ (func (export "break-i64") (result i64) (br 0 (i64.const 7979)))
+ (func (export "break-f32") (result f32) (br 0 (f32.const 79.9)))
+ (func (export "break-f64") (result f64) (br 0 (f64.const 79.79)))
+ (func (export "break-i32-f64") (result i32 f64)
+ (br 0 (i32.const 79) (f64.const 79.79))
+ )
+ (func (export "break-i32-i32-i32") (result i32 i32 i32)
+ (br 0 (i32.const 1) (i32.const 2) (i32.const 3))
+ )
+ (func (export "break-block-i32") (result i32)
+ (br 0 (block (result i32) (call $$dummy) (i32.const 77)))
+ )
+ (func (export "break-block-i32-i64") (result i32 i64)
+ (br 0 (block (result i32 i64) (call $$dummy) (i32.const 1) (i64.const 2)))
+ )
+
+ (func (export "break-br_if-empty") (param i32)
+ (br_if 0 (local.get 0))
+ )
+ (func (export "break-br_if-num") (param i32) (result i32)
+ (drop (br_if 0 (i32.const 50) (local.get 0))) (i32.const 51)
+ )
+ (func (export "break-br_if-num-num") (param i32) (result i32 i64)
+ (drop (drop (br_if 0 (i32.const 50) (i64.const 51) (local.get 0))))
+ (i32.const 51) (i64.const 52)
+ )
+
+ (func (export "break-br_table-empty") (param i32)
+ (br_table 0 0 0 (local.get 0))
+ )
+ (func (export "break-br_table-num") (param i32) (result i32)
+ (br_table 0 0 (i32.const 50) (local.get 0)) (i32.const 51)
+ )
+ (func (export "break-br_table-num-num") (param i32) (result f32 i64)
+ (br_table 0 0 (f32.const 50) (i64.const 51) (local.get 0))
+ (f32.const 51) (i64.const 52)
+ )
+ (func (export "break-br_table-nested-empty") (param i32)
+ (block (br_table 0 1 0 (local.get 0)))
+ )
+ (func (export "break-br_table-nested-num") (param i32) (result i32)
+ (i32.add
+ (block (result i32)
+ (br_table 0 1 0 (i32.const 50) (local.get 0)) (i32.const 51)
+ )
+ (i32.const 2)
+ )
+ )
+ (func (export "break-br_table-nested-num-num") (param i32) (result i32 i32)
+ (i32.add
+ (block (result i32 i32)
+ (br_table 0 1 0 (i32.const 50) (i32.const 51) (local.get 0))
+ (i32.const 51) (i32.const -3)
+ )
+ )
+ (i32.const 52)
+ )
+
+ ;; Large signatures
+
+ (func (export "large-sig")
+ (param i32 i64 f32 f32 i32 f64 f32 i32 i32 i32 f32 f64 f64 f64 i32 i32 f32)
+ (result f64 f32 i32 i32 i32 i64 f32 i32 i32 f32 f64 f64 i32 f32 i32 f64)
+ (local.get 5)
+ (local.get 2)
+ (local.get 0)
+ (local.get 8)
+ (local.get 7)
+ (local.get 1)
+ (local.get 3)
+ (local.get 9)
+ (local.get 4)
+ (local.get 6)
+ (local.get 13)
+ (local.get 11)
+ (local.get 15)
+ (local.get 16)
+ (local.get 14)
+ (local.get 12)
+ )
+
+ ;; Default initialization of locals
+
+ (func (export "init-local-i32") (result i32) (local i32) (local.get 0))
+ (func (export "init-local-i64") (result i64) (local i64) (local.get 0))
+ (func (export "init-local-f32") (result f32) (local f32) (local.get 0))
+ (func (export "init-local-f64") (result f64) (local f64) (local.get 0))
+)`);
+
+// ./test/core/func.wast:241
+assert_return(() => invoke($0, `type-use-1`, []), []);
+
+// ./test/core/func.wast:242
+assert_return(() => invoke($0, `type-use-2`, []), [value("i32", 0)]);
+
+// ./test/core/func.wast:243
+assert_return(() => invoke($0, `type-use-3`, [1]), []);
+
+// ./test/core/func.wast:244
+assert_return(() => invoke($0, `type-use-4`, [1, value("f64", 1), 1]), [value("i32", 0)]);
+
+// ./test/core/func.wast:248
+assert_return(() => invoke($0, `type-use-5`, []), [value("i32", 0)]);
+
+// ./test/core/func.wast:249
+assert_return(() => invoke($0, `type-use-6`, [1]), []);
+
+// ./test/core/func.wast:250
+assert_return(() => invoke($0, `type-use-7`, [1, value("f64", 1), 1]), [value("i32", 0)]);
+
+// ./test/core/func.wast:255
+assert_return(() => invoke($0, `local-first-i32`, []), [value("i32", 0)]);
+
+// ./test/core/func.wast:256
+assert_return(() => invoke($0, `local-first-i64`, []), [value("i64", 0n)]);
+
+// ./test/core/func.wast:257
+assert_return(() => invoke($0, `local-first-f32`, []), [value("f32", 0)]);
+
+// ./test/core/func.wast:258
+assert_return(() => invoke($0, `local-first-f64`, []), [value("f64", 0)]);
+
+// ./test/core/func.wast:259
+assert_return(() => invoke($0, `local-second-i32`, []), [value("i32", 0)]);
+
+// ./test/core/func.wast:260
+assert_return(() => invoke($0, `local-second-i64`, []), [value("i64", 0n)]);
+
+// ./test/core/func.wast:261
+assert_return(() => invoke($0, `local-second-f32`, []), [value("f32", 0)]);
+
+// ./test/core/func.wast:262
+assert_return(() => invoke($0, `local-second-f64`, []), [value("f64", 0)]);
+
+// ./test/core/func.wast:263
+assert_return(() => invoke($0, `local-mixed`, []), [value("f64", 0)]);
+
+// ./test/core/func.wast:265
+assert_return(() => invoke($0, `param-first-i32`, [2, 3]), [value("i32", 2)]);
+
+// ./test/core/func.wast:268
+assert_return(() => invoke($0, `param-first-i64`, [2n, 3n]), [value("i64", 2n)]);
+
+// ./test/core/func.wast:271
+assert_return(
+ () => invoke($0, `param-first-f32`, [value("f32", 2), value("f32", 3)]),
+ [value("f32", 2)],
+);
+
+// ./test/core/func.wast:274
+assert_return(
+ () => invoke($0, `param-first-f64`, [value("f64", 2), value("f64", 3)]),
+ [value("f64", 2)],
+);
+
+// ./test/core/func.wast:277
+assert_return(() => invoke($0, `param-second-i32`, [2, 3]), [value("i32", 3)]);
+
+// ./test/core/func.wast:280
+assert_return(() => invoke($0, `param-second-i64`, [2n, 3n]), [value("i64", 3n)]);
+
+// ./test/core/func.wast:283
+assert_return(
+ () => invoke($0, `param-second-f32`, [value("f32", 2), value("f32", 3)]),
+ [value("f32", 3)],
+);
+
+// ./test/core/func.wast:286
+assert_return(
+ () => invoke($0, `param-second-f64`, [value("f64", 2), value("f64", 3)]),
+ [value("f64", 3)],
+);
+
+// ./test/core/func.wast:290
+assert_return(
+ () => invoke($0, `param-mixed`, [value("f32", 1), 2, 3n, 4, value("f64", 5.5), 6]),
+ [value("f64", 5.5)],
+);
+
+// ./test/core/func.wast:298
+assert_return(() => invoke($0, `empty`, []), []);
+
+// ./test/core/func.wast:299
+assert_return(() => invoke($0, `value-void`, []), []);
+
+// ./test/core/func.wast:300
+assert_return(() => invoke($0, `value-i32`, []), [value("i32", 77)]);
+
+// ./test/core/func.wast:301
+assert_return(() => invoke($0, `value-i64`, []), [value("i64", 7777n)]);
+
+// ./test/core/func.wast:302
+assert_return(() => invoke($0, `value-f32`, []), [value("f32", 77.7)]);
+
+// ./test/core/func.wast:303
+assert_return(() => invoke($0, `value-f64`, []), [value("f64", 77.77)]);
+
+// ./test/core/func.wast:304
+assert_return(() => invoke($0, `value-i32-f64`, []), [value("i32", 77), value("f64", 7)]);
+
+// ./test/core/func.wast:305
+assert_return(
+ () => invoke($0, `value-i32-i32-i32`, []),
+ [value("i32", 1), value("i32", 2), value("i32", 3)],
+);
+
+// ./test/core/func.wast:308
+assert_return(() => invoke($0, `value-block-void`, []), []);
+
+// ./test/core/func.wast:309
+assert_return(() => invoke($0, `value-block-i32`, []), [value("i32", 77)]);
+
+// ./test/core/func.wast:310
+assert_return(() => invoke($0, `value-block-i32-i64`, []), [value("i32", 1), value("i64", 2n)]);
+
+// ./test/core/func.wast:312
+assert_return(() => invoke($0, `return-empty`, []), []);
+
+// ./test/core/func.wast:313
+assert_return(() => invoke($0, `return-i32`, []), [value("i32", 78)]);
+
+// ./test/core/func.wast:314
+assert_return(() => invoke($0, `return-i64`, []), [value("i64", 7878n)]);
+
+// ./test/core/func.wast:315
+assert_return(() => invoke($0, `return-f32`, []), [value("f32", 78.7)]);
+
+// ./test/core/func.wast:316
+assert_return(() => invoke($0, `return-f64`, []), [value("f64", 78.78)]);
+
+// ./test/core/func.wast:317
+assert_return(() => invoke($0, `return-i32-f64`, []), [value("i32", 78), value("f64", 78.78)]);
+
+// ./test/core/func.wast:318
+assert_return(
+ () => invoke($0, `return-i32-i32-i32`, []),
+ [value("i32", 1), value("i32", 2), value("i32", 3)],
+);
+
+// ./test/core/func.wast:321
+assert_return(() => invoke($0, `return-block-i32`, []), [value("i32", 77)]);
+
+// ./test/core/func.wast:322
+assert_return(() => invoke($0, `return-block-i32-i64`, []), [value("i32", 1), value("i64", 2n)]);
+
+// ./test/core/func.wast:324
+assert_return(() => invoke($0, `break-empty`, []), []);
+
+// ./test/core/func.wast:325
+assert_return(() => invoke($0, `break-i32`, []), [value("i32", 79)]);
+
+// ./test/core/func.wast:326
+assert_return(() => invoke($0, `break-i64`, []), [value("i64", 7979n)]);
+
+// ./test/core/func.wast:327
+assert_return(() => invoke($0, `break-f32`, []), [value("f32", 79.9)]);
+
+// ./test/core/func.wast:328
+assert_return(() => invoke($0, `break-f64`, []), [value("f64", 79.79)]);
+
+// ./test/core/func.wast:329
+assert_return(() => invoke($0, `break-i32-f64`, []), [value("i32", 79), value("f64", 79.79)]);
+
+// ./test/core/func.wast:330
+assert_return(
+ () => invoke($0, `break-i32-i32-i32`, []),
+ [value("i32", 1), value("i32", 2), value("i32", 3)],
+);
+
+// ./test/core/func.wast:333
+assert_return(() => invoke($0, `break-block-i32`, []), [value("i32", 77)]);
+
+// ./test/core/func.wast:334
+assert_return(() => invoke($0, `break-block-i32-i64`, []), [value("i32", 1), value("i64", 2n)]);
+
+// ./test/core/func.wast:336
+assert_return(() => invoke($0, `break-br_if-empty`, [0]), []);
+
+// ./test/core/func.wast:337
+assert_return(() => invoke($0, `break-br_if-empty`, [2]), []);
+
+// ./test/core/func.wast:338
+assert_return(() => invoke($0, `break-br_if-num`, [0]), [value("i32", 51)]);
+
+// ./test/core/func.wast:339
+assert_return(() => invoke($0, `break-br_if-num`, [1]), [value("i32", 50)]);
+
+// ./test/core/func.wast:340
+assert_return(() => invoke($0, `break-br_if-num-num`, [0]), [value("i32", 51), value("i64", 52n)]);
+
+// ./test/core/func.wast:343
+assert_return(() => invoke($0, `break-br_if-num-num`, [1]), [value("i32", 50), value("i64", 51n)]);
+
+// ./test/core/func.wast:347
+assert_return(() => invoke($0, `break-br_table-empty`, [0]), []);
+
+// ./test/core/func.wast:348
+assert_return(() => invoke($0, `break-br_table-empty`, [1]), []);
+
+// ./test/core/func.wast:349
+assert_return(() => invoke($0, `break-br_table-empty`, [5]), []);
+
+// ./test/core/func.wast:350
+assert_return(() => invoke($0, `break-br_table-empty`, [-1]), []);
+
+// ./test/core/func.wast:351
+assert_return(() => invoke($0, `break-br_table-num`, [0]), [value("i32", 50)]);
+
+// ./test/core/func.wast:352
+assert_return(() => invoke($0, `break-br_table-num`, [1]), [value("i32", 50)]);
+
+// ./test/core/func.wast:353
+assert_return(() => invoke($0, `break-br_table-num`, [10]), [value("i32", 50)]);
+
+// ./test/core/func.wast:354
+assert_return(() => invoke($0, `break-br_table-num`, [-100]), [value("i32", 50)]);
+
+// ./test/core/func.wast:355
+assert_return(() => invoke($0, `break-br_table-num-num`, [0]), [value("f32", 50), value("i64", 51n)]);
+
+// ./test/core/func.wast:358
+assert_return(() => invoke($0, `break-br_table-num-num`, [1]), [value("f32", 50), value("i64", 51n)]);
+
+// ./test/core/func.wast:361
+assert_return(() => invoke($0, `break-br_table-num-num`, [10]), [value("f32", 50), value("i64", 51n)]);
+
+// ./test/core/func.wast:364
+assert_return(() => invoke($0, `break-br_table-num-num`, [-100]), [value("f32", 50), value("i64", 51n)]);
+
+// ./test/core/func.wast:367
+assert_return(() => invoke($0, `break-br_table-nested-empty`, [0]), []);
+
+// ./test/core/func.wast:368
+assert_return(() => invoke($0, `break-br_table-nested-empty`, [1]), []);
+
+// ./test/core/func.wast:369
+assert_return(() => invoke($0, `break-br_table-nested-empty`, [3]), []);
+
+// ./test/core/func.wast:370
+assert_return(() => invoke($0, `break-br_table-nested-empty`, [-2]), []);
+
+// ./test/core/func.wast:371
+assert_return(() => invoke($0, `break-br_table-nested-num`, [0]), [value("i32", 52)]);
+
+// ./test/core/func.wast:374
+assert_return(() => invoke($0, `break-br_table-nested-num`, [1]), [value("i32", 50)]);
+
+// ./test/core/func.wast:377
+assert_return(() => invoke($0, `break-br_table-nested-num`, [2]), [value("i32", 52)]);
+
+// ./test/core/func.wast:380
+assert_return(() => invoke($0, `break-br_table-nested-num`, [-3]), [value("i32", 52)]);
+
+// ./test/core/func.wast:383
+assert_return(
+ () => invoke($0, `break-br_table-nested-num-num`, [0]),
+ [value("i32", 101), value("i32", 52)],
+);
+
+// ./test/core/func.wast:387
+assert_return(
+ () => invoke($0, `break-br_table-nested-num-num`, [1]),
+ [value("i32", 50), value("i32", 51)],
+);
+
+// ./test/core/func.wast:391
+assert_return(
+ () => invoke($0, `break-br_table-nested-num-num`, [2]),
+ [value("i32", 101), value("i32", 52)],
+);
+
+// ./test/core/func.wast:395
+assert_return(
+ () => invoke($0, `break-br_table-nested-num-num`, [-3]),
+ [value("i32", 101), value("i32", 52)],
+);
+
+// ./test/core/func.wast:400
+assert_return(
+ () => invoke($0, `large-sig`, [
+ 0,
+ 1n,
+ value("f32", 2),
+ value("f32", 3),
+ 4,
+ value("f64", 5),
+ value("f32", 6),
+ 7,
+ 8,
+ 9,
+ value("f32", 10),
+ value("f64", 11),
+ value("f64", 12),
+ value("f64", 13),
+ 14,
+ 15,
+ value("f32", 16),
+ ]),
+ [
+ value("f64", 5),
+ value("f32", 2),
+ value("i32", 0),
+ value("i32", 8),
+ value("i32", 7),
+ value("i64", 1n),
+ value("f32", 3),
+ value("i32", 9),
+ value("i32", 4),
+ value("f32", 6),
+ value("f64", 13),
+ value("f64", 11),
+ value("i32", 15),
+ value("f32", 16),
+ value("i32", 14),
+ value("f64", 12),
+ ],
+);
+
+// ./test/core/func.wast:414
+assert_return(() => invoke($0, `init-local-i32`, []), [value("i32", 0)]);
+
+// ./test/core/func.wast:415
+assert_return(() => invoke($0, `init-local-i64`, []), [value("i64", 0n)]);
+
+// ./test/core/func.wast:416
+assert_return(() => invoke($0, `init-local-f32`, []), [value("f32", 0)]);
+
+// ./test/core/func.wast:417
+assert_return(() => invoke($0, `init-local-f64`, []), [value("f64", 0)]);
+
+// ./test/core/func.wast:422
+let $1 = instantiate(`(module
+ (func $$f (result f64) (f64.const 0)) ;; adds implicit type definition
+ (func $$g (param i32)) ;; reuses explicit type definition
+ (type $$t (func (param i32)))
+
+ (func $$i32->void (type 0)) ;; (param i32)
+ (func $$void->f64 (type 1) (f64.const 0)) ;; (result f64)
+ (func $$check
+ (call $$i32->void (i32.const 0))
+ (drop (call $$void->f64))
+ )
+)`);
+
+// ./test/core/func.wast:435
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f (result f64) (f64.const 0)) ;; adds implicit type definition
+ (func $$g (param i32)) ;; reuses explicit type definition
+ (func $$h (result f64) (f64.const 1)) ;; reuses implicit type definition
+ (type $$t (func (param i32)))
+
+ (func (type 2)) ;; does not exist
+ )`),
+ `unknown type`,
+);
+
+// ./test/core/func.wast:447
+assert_malformed(
+ () => instantiate(`(func $$f (result f64) (f64.const 0)) (func $$g (param i32)) (func $$h (result f64) (f64.const 1)) (type $$t (func (param i32))) (func (type 2) (param i32)) `),
+ `unknown type`,
+);
+
+// ./test/core/func.wast:459
+let $2 = instantiate(`(module
+ (type $$proc (func (result i32)))
+ (type $$sig (func (param i32) (result i32)))
+
+ (func (export "f") (type $$sig)
+ (local $$var i32)
+ (local.get $$var)
+ )
+
+ (func $$g (type $$sig)
+ (local $$var i32)
+ (local.get $$var)
+ )
+ (func (export "g") (type $$sig)
+ (call $$g (local.get 0))
+ )
+
+ (func (export "p") (type $$proc)
+ (local $$var i32)
+ (local.set 0 (i32.const 42))
+ (local.get $$var)
+ )
+)`);
+
+// ./test/core/func.wast:483
+assert_return(() => invoke($2, `f`, [42]), [value("i32", 0)]);
+
+// ./test/core/func.wast:484
+assert_return(() => invoke($2, `g`, [42]), [value("i32", 0)]);
+
+// ./test/core/func.wast:485
+assert_return(() => invoke($2, `p`, []), [value("i32", 42)]);
+
+// ./test/core/func.wast:488
+let $3 = instantiate(`(module
+ (type $$sig (func))
+
+ (func $$empty-sig-1) ;; should be assigned type $$sig
+ (func $$complex-sig-1 (param f64 i64 f64 i64 f64 i64 f32 i32))
+ (func $$empty-sig-2) ;; should be assigned type $$sig
+ (func $$complex-sig-2 (param f64 i64 f64 i64 f64 i64 f32 i32))
+ (func $$complex-sig-3 (param f64 i64 f64 i64 f64 i64 f32 i32))
+ (func $$complex-sig-4 (param i64 i64 f64 i64 f64 i64 f32 i32))
+ (func $$complex-sig-5 (param i64 i64 f64 i64 f64 i64 f32 i32))
+
+ (type $$empty-sig-duplicate (func))
+ (type $$complex-sig-duplicate (func (param i64 i64 f64 i64 f64 i64 f32 i32)))
+ (table funcref
+ (elem
+ $$complex-sig-3 $$empty-sig-2 $$complex-sig-1 $$complex-sig-3 $$empty-sig-1
+ $$complex-sig-4 $$complex-sig-5
+ )
+ )
+
+ (func (export "signature-explicit-reused")
+ (call_indirect (type $$sig) (i32.const 1))
+ (call_indirect (type $$sig) (i32.const 4))
+ )
+
+ (func (export "signature-implicit-reused")
+ ;; The implicit index 3 in this test depends on the function and
+ ;; type definitions, and may need adapting if they change.
+ (call_indirect (type 3)
+ (f64.const 0) (i64.const 0) (f64.const 0) (i64.const 0)
+ (f64.const 0) (i64.const 0) (f32.const 0) (i32.const 0)
+ (i32.const 0)
+ )
+ (call_indirect (type 3)
+ (f64.const 0) (i64.const 0) (f64.const 0) (i64.const 0)
+ (f64.const 0) (i64.const 0) (f32.const 0) (i32.const 0)
+ (i32.const 2)
+ )
+ (call_indirect (type 3)
+ (f64.const 0) (i64.const 0) (f64.const 0) (i64.const 0)
+ (f64.const 0) (i64.const 0) (f32.const 0) (i32.const 0)
+ (i32.const 3)
+ )
+ )
+
+ (func (export "signature-explicit-duplicate")
+ (call_indirect (type $$empty-sig-duplicate) (i32.const 1))
+ )
+
+ (func (export "signature-implicit-duplicate")
+ (call_indirect (type $$complex-sig-duplicate)
+ (i64.const 0) (i64.const 0) (f64.const 0) (i64.const 0)
+ (f64.const 0) (i64.const 0) (f32.const 0) (i32.const 0)
+ (i32.const 5)
+ )
+ (call_indirect (type $$complex-sig-duplicate)
+ (i64.const 0) (i64.const 0) (f64.const 0) (i64.const 0)
+ (f64.const 0) (i64.const 0) (f32.const 0) (i32.const 0)
+ (i32.const 6)
+ )
+ )
+)`);
+
+// ./test/core/func.wast:551
+assert_return(() => invoke($3, `signature-explicit-reused`, []), []);
+
+// ./test/core/func.wast:552
+assert_return(() => invoke($3, `signature-implicit-reused`, []), []);
+
+// ./test/core/func.wast:553
+assert_return(() => invoke($3, `signature-explicit-duplicate`, []), []);
+
+// ./test/core/func.wast:554
+assert_return(() => invoke($3, `signature-implicit-duplicate`, []), []);
+
+// ./test/core/func.wast:559
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (func (type $$sig) (result i32) (param i32) (i32.const 0)) `),
+ `unexpected token`,
+);
+
+// ./test/core/func.wast:566
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (func (param i32) (type $$sig) (result i32) (i32.const 0)) `),
+ `unexpected token`,
+);
+
+// ./test/core/func.wast:573
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (func (param i32) (result i32) (type $$sig) (i32.const 0)) `),
+ `unexpected token`,
+);
+
+// ./test/core/func.wast:580
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (func (result i32) (type $$sig) (param i32) (i32.const 0)) `),
+ `unexpected token`,
+);
+
+// ./test/core/func.wast:587
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (func (result i32) (param i32) (type $$sig) (i32.const 0)) `),
+ `unexpected token`,
+);
+
+// ./test/core/func.wast:594
+assert_malformed(
+ () => instantiate(`(func (result i32) (param i32) (i32.const 0)) `),
+ `unexpected token`,
+);
+
+// ./test/core/func.wast:601
+assert_malformed(
+ () => instantiate(`(type $$sig (func)) (func (type $$sig) (result i32) (i32.const 0)) `),
+ `inline function type`,
+);
+
+// ./test/core/func.wast:608
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (func (type $$sig) (result i32) (i32.const 0)) `),
+ `inline function type`,
+);
+
+// ./test/core/func.wast:615
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (func (type $$sig) (param i32) (i32.const 0)) `),
+ `inline function type`,
+);
+
+// ./test/core/func.wast:622
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32 i32) (result i32))) (func (type $$sig) (param i32) (result i32) (unreachable)) `),
+ `inline function type`,
+);
+
+// ./test/core/func.wast:630
+assert_invalid(() => instantiate(`(module (func $$g (type 4)))`), `unknown type`);
+
+// ./test/core/func.wast:634
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f (drop (ref.func $$g)))
+ (func $$g (type 4))
+ (elem declare func $$g)
+ )`),
+ `unknown type`,
+);
+
+// ./test/core/func.wast:646
+assert_invalid(
+ () => instantiate(`(module (func $$type-local-num-vs-num (result i64) (local i32) (local.get 0)))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:650
+assert_invalid(
+ () => instantiate(`(module (func $$type-local-num-vs-num (local f32) (i32.eqz (local.get 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:654
+assert_invalid(
+ () => instantiate(`(module (func $$type-local-num-vs-num (local f64 i64) (f64.neg (local.get 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:659
+assert_invalid(
+ () => instantiate(`(module
+ (type $$t (func))
+ (func $$type-local-uninitialized (local $$x (ref $$t)) (drop (local.get $$x)))
+ )`),
+ `uninitialized local`,
+);
+
+// ./test/core/func.wast:670
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-num-vs-num (param i32) (result i64) (local.get 0)))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:674
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-num-vs-num (param f32) (i32.eqz (local.get 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:678
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-num-vs-num (param f64 i64) (f64.neg (local.get 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:686
+assert_invalid(
+ () => instantiate(`(module (func $$type-empty-i32 (result i32)))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:690
+assert_invalid(
+ () => instantiate(`(module (func $$type-empty-i64 (result i64)))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:694
+assert_invalid(
+ () => instantiate(`(module (func $$type-empty-f32 (result f32)))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:698
+assert_invalid(
+ () => instantiate(`(module (func $$type-empty-f64 (result f64)))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:702
+assert_invalid(
+ () => instantiate(`(module (func $$type-empty-f64-i32 (result f64 i32)))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:707
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-void-vs-num (result i32)
+ (nop)
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:713
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-void-vs-nums (result i32 i32)
+ (nop)
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:719
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-num-vs-void
+ (i32.const 0)
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:725
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-nums-vs-void
+ (i32.const 0) (i64.const 0)
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:731
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-num-vs-num (result i32)
+ (f32.const 0)
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:737
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-num-vs-nums (result f32 f32)
+ (f32.const 0)
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:743
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-nums-vs-num (result f32)
+ (f32.const 0) (f32.const 0)
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:750
+assert_invalid(
+ () => instantiate(`(module (func $$type-return-last-empty-vs-num (result i32)
+ (return)
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:756
+assert_invalid(
+ () => instantiate(`(module (func $$type-return-last-empty-vs-nums (result i32 i32)
+ (return)
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:762
+assert_invalid(
+ () => instantiate(`(module (func $$type-return-last-void-vs-num (result i32)
+ (return (nop))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:768
+assert_invalid(
+ () => instantiate(`(module (func $$type-return-last-void-vs-nums (result i32 i64)
+ (return (nop))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:774
+assert_invalid(
+ () => instantiate(`(module (func $$type-return-last-num-vs-num (result i32)
+ (return (i64.const 0))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:780
+assert_invalid(
+ () => instantiate(`(module (func $$type-return-last-num-vs-nums (result i64 i64)
+ (return (i64.const 0))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:787
+assert_invalid(
+ () => instantiate(`(module (func $$type-return-empty-vs-num (result i32)
+ (return) (i32.const 1)
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:793
+assert_invalid(
+ () => instantiate(`(module (func $$type-return-empty-vs-nums (result i32 i32)
+ (return) (i32.const 1) (i32.const 2)
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:799
+assert_invalid(
+ () => instantiate(`(module (func $$type-return-partial-vs-nums (result i32 i32)
+ (i32.const 1) (return) (i32.const 2)
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:805
+assert_invalid(
+ () => instantiate(`(module (func $$type-return-void-vs-num (result i32)
+ (return (nop)) (i32.const 1)
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:811
+assert_invalid(
+ () => instantiate(`(module (func $$type-return-void-vs-nums (result i32 i32)
+ (return (nop)) (i32.const 1)
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:817
+assert_invalid(
+ () => instantiate(`(module (func $$type-return-num-vs-num (result i32)
+ (return (i64.const 1)) (i32.const 1)
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:823
+assert_invalid(
+ () => instantiate(`(module (func $$type-return-num-vs-nums (result i32 i32)
+ (return (i64.const 1)) (i32.const 1) (i32.const 2)
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:829
+assert_invalid(
+ () => instantiate(`(module (func $$type-return-first-num-vs-num (result i32)
+ (return (i64.const 1)) (return (i32.const 1))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:835
+assert_invalid(
+ () => instantiate(`(module (func $$type-return-first-num-vs-nums (result i32 i32)
+ (return (i32.const 1)) (return (i32.const 1) (i32.const 2))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:842
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-last-void-vs-num (result i32)
+ (br 0)
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:848
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-last-void-vs-nums (result i32 i32)
+ (br 0)
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:854
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-last-num-vs-num (result i32)
+ (br 0 (f32.const 0))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:860
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-last-num-vs-nums (result i32 i32)
+ (br 0 (i32.const 0))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:866
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-void-vs-num (result i32)
+ (br 0) (i32.const 1)
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:872
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-void-vs-nums (result i32 i32)
+ (br 0) (i32.const 1) (i32.const 2)
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:878
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-num-vs-num (result i32)
+ (br 0 (i64.const 1)) (i32.const 1)
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:884
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-num-vs-nums (result i32 i32)
+ (br 0 (i32.const 1)) (i32.const 1) (i32.const 2)
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:890
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-first-num-vs-num (result i32)
+ (br 0 (i64.const 1)) (br 0 (i32.const 1))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:897
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-nested-empty-vs-num (result i32)
+ (block (br 1)) (br 0 (i32.const 1))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:903
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-nested-empty-vs-nums (result i32 i32)
+ (block (br 1)) (br 0 (i32.const 1) (i32.const 2))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:909
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-nested-void-vs-num (result i32)
+ (block (br 1 (nop))) (br 0 (i32.const 1))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:915
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-nested-void-vs-nums (result i32 i32)
+ (block (br 1 (nop))) (br 0 (i32.const 1) (i32.const 2))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:921
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-nested-num-vs-num (result i32)
+ (block (br 1 (i64.const 1))) (br 0 (i32.const 1))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:927
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-nested-num-vs-nums (result i32 i32)
+ (block (result i32) (br 1 (i32.const 1))) (br 0 (i32.const 1) (i32.const 2))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:937
+assert_malformed(() => instantiate(`(func (nop) (local i32)) `), `unexpected token`);
+
+// ./test/core/func.wast:941
+assert_malformed(() => instantiate(`(func (nop) (param i32)) `), `unexpected token`);
+
+// ./test/core/func.wast:945
+assert_malformed(() => instantiate(`(func (nop) (result i32)) `), `unexpected token`);
+
+// ./test/core/func.wast:949
+assert_malformed(() => instantiate(`(func (local i32) (param i32)) `), `unexpected token`);
+
+// ./test/core/func.wast:953
+assert_malformed(
+ () => instantiate(`(func (local i32) (result i32) (local.get 0)) `),
+ `unexpected token`,
+);
+
+// ./test/core/func.wast:957
+assert_malformed(
+ () => instantiate(`(func (result i32) (param i32) (local.get 0)) `),
+ `unexpected token`,
+);
+
+// ./test/core/func.wast:964
+assert_malformed(() => instantiate(`(func $$foo) (func $$foo) `), `duplicate func`);
+
+// ./test/core/func.wast:968
+assert_malformed(
+ () => instantiate(`(import "" "" (func $$foo)) (func $$foo) `),
+ `duplicate func`,
+);
+
+// ./test/core/func.wast:972
+assert_malformed(
+ () => instantiate(`(import "" "" (func $$foo)) (import "" "" (func $$foo)) `),
+ `duplicate func`,
+);
+
+// ./test/core/func.wast:977
+assert_malformed(
+ () => instantiate(`(func (param $$foo i32) (param $$foo i32)) `),
+ `duplicate local`,
+);
+
+// ./test/core/func.wast:981
+assert_malformed(
+ () => instantiate(`(func (param $$foo i32) (local $$foo i32)) `),
+ `duplicate local`,
+);
+
+// ./test/core/func.wast:985
+assert_malformed(
+ () => instantiate(`(func (local $$foo i32) (local $$foo i32)) `),
+ `duplicate local`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/function-references/global.wast.js b/js/src/jit-test/tests/wasm/spec/function-references/global.wast.js
new file mode 100644
index 0000000000..de27027554
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/function-references/global.wast.js
@@ -0,0 +1,796 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/global.wast
+
+// ./test/core/global.wast:3
+let $0 = instantiate(`(module
+ (global (import "spectest" "global_i32") i32)
+ (global (import "spectest" "global_i64") i64)
+
+ (global $$a i32 (i32.const -2))
+ (global (;3;) f32 (f32.const -3))
+ (global (;4;) f64 (f64.const -4))
+ (global $$b i64 (i64.const -5))
+
+ (global $$x (mut i32) (i32.const -12))
+ (global (;7;) (mut f32) (f32.const -13))
+ (global (;8;) (mut f64) (f64.const -14))
+ (global $$y (mut i64) (i64.const -15))
+
+ (global $$z1 i32 (global.get 0))
+ (global $$z2 i64 (global.get 1))
+
+ (global $$r externref (ref.null extern))
+ (global $$mr (mut externref) (ref.null extern))
+ (global funcref (ref.null func))
+
+ (func (export "get-a") (result i32) (global.get $$a))
+ (func (export "get-b") (result i64) (global.get $$b))
+ (func (export "get-r") (result externref) (global.get $$r))
+ (func (export "get-mr") (result externref) (global.get $$mr))
+ (func (export "get-x") (result i32) (global.get $$x))
+ (func (export "get-y") (result i64) (global.get $$y))
+ (func (export "get-z1") (result i32) (global.get $$z1))
+ (func (export "get-z2") (result i64) (global.get $$z2))
+ (func (export "set-x") (param i32) (global.set $$x (local.get 0)))
+ (func (export "set-y") (param i64) (global.set $$y (local.get 0)))
+ (func (export "set-mr") (param externref) (global.set $$mr (local.get 0)))
+
+ (func (export "get-3") (result f32) (global.get 3))
+ (func (export "get-4") (result f64) (global.get 4))
+ (func (export "get-7") (result f32) (global.get 7))
+ (func (export "get-8") (result f64) (global.get 8))
+ (func (export "set-7") (param f32) (global.set 7 (local.get 0)))
+ (func (export "set-8") (param f64) (global.set 8 (local.get 0)))
+
+ ;; As the argument of control constructs and instructions
+
+ (memory 1)
+
+ (func $$dummy)
+
+ (func (export "as-select-first") (result i32)
+ (select (global.get $$x) (i32.const 2) (i32.const 3))
+ )
+ (func (export "as-select-mid") (result i32)
+ (select (i32.const 2) (global.get $$x) (i32.const 3))
+ )
+ (func (export "as-select-last") (result i32)
+ (select (i32.const 2) (i32.const 3) (global.get $$x))
+ )
+
+ (func (export "as-loop-first") (result i32)
+ (loop (result i32)
+ (global.get $$x) (call $$dummy) (call $$dummy)
+ )
+ )
+ (func (export "as-loop-mid") (result i32)
+ (loop (result i32)
+ (call $$dummy) (global.get $$x) (call $$dummy)
+ )
+ )
+ (func (export "as-loop-last") (result i32)
+ (loop (result i32)
+ (call $$dummy) (call $$dummy) (global.get $$x)
+ )
+ )
+
+ (func (export "as-if-condition") (result i32)
+ (if (result i32) (global.get $$x)
+ (then (call $$dummy) (i32.const 2))
+ (else (call $$dummy) (i32.const 3))
+ )
+ )
+ (func (export "as-if-then") (result i32)
+ (if (result i32) (i32.const 1)
+ (then (global.get $$x)) (else (i32.const 2))
+ )
+ )
+ (func (export "as-if-else") (result i32)
+ (if (result i32) (i32.const 0)
+ (then (i32.const 2)) (else (global.get $$x))
+ )
+ )
+
+ (func (export "as-br_if-first") (result i32)
+ (block (result i32)
+ (br_if 0 (global.get $$x) (i32.const 2))
+ (return (i32.const 3))
+ )
+ )
+ (func (export "as-br_if-last") (result i32)
+ (block (result i32)
+ (br_if 0 (i32.const 2) (global.get $$x))
+ (return (i32.const 3))
+ )
+ )
+
+ (func (export "as-br_table-first") (result i32)
+ (block (result i32)
+ (global.get $$x) (i32.const 2) (br_table 0 0)
+ )
+ )
+ (func (export "as-br_table-last") (result i32)
+ (block (result i32)
+ (i32.const 2) (global.get $$x) (br_table 0 0)
+ )
+ )
+
+ (func $$func (param i32 i32) (result i32) (local.get 0))
+ (type $$check (func (param i32 i32) (result i32)))
+ (table funcref (elem $$func))
+ (func (export "as-call_indirect-first") (result i32)
+ (block (result i32)
+ (call_indirect (type $$check)
+ (global.get $$x) (i32.const 2) (i32.const 0)
+ )
+ )
+ )
+ (func (export "as-call_indirect-mid") (result i32)
+ (block (result i32)
+ (call_indirect (type $$check)
+ (i32.const 2) (global.get $$x) (i32.const 0)
+ )
+ )
+ )
+ (func (export "as-call_indirect-last") (result i32)
+ (block (result i32)
+ (call_indirect (type $$check)
+ (i32.const 2) (i32.const 0) (global.get $$x)
+ )
+ )
+ )
+
+ (func (export "as-store-first")
+ (global.get $$x) (i32.const 1) (i32.store)
+ )
+ (func (export "as-store-last")
+ (i32.const 0) (global.get $$x) (i32.store)
+ )
+ (func (export "as-load-operand") (result i32)
+ (i32.load (global.get $$x))
+ )
+ (func (export "as-memory.grow-value") (result i32)
+ (memory.grow (global.get $$x))
+ )
+
+ (func $$f (param i32) (result i32) (local.get 0))
+ (func (export "as-call-value") (result i32)
+ (call $$f (global.get $$x))
+ )
+
+ (func (export "as-return-value") (result i32)
+ (global.get $$x) (return)
+ )
+ (func (export "as-drop-operand")
+ (drop (global.get $$x))
+ )
+ (func (export "as-br-value") (result i32)
+ (block (result i32) (br 0 (global.get $$x)))
+ )
+
+ (func (export "as-local.set-value") (param i32) (result i32)
+ (local.set 0 (global.get $$x))
+ (local.get 0)
+ )
+ (func (export "as-local.tee-value") (param i32) (result i32)
+ (local.tee 0 (global.get $$x))
+ )
+ (func (export "as-global.set-value") (result i32)
+ (global.set $$x (global.get $$x))
+ (global.get $$x)
+ )
+
+ (func (export "as-unary-operand") (result i32)
+ (i32.eqz (global.get $$x))
+ )
+ (func (export "as-binary-operand") (result i32)
+ (i32.mul
+ (global.get $$x) (global.get $$x)
+ )
+ )
+ (func (export "as-compare-operand") (result i32)
+ (i32.gt_u
+ (global.get 0) (i32.const 1)
+ )
+ )
+)`);
+
+// ./test/core/global.wast:196
+assert_return(() => invoke($0, `get-a`, []), [value("i32", -2)]);
+
+// ./test/core/global.wast:197
+assert_return(() => invoke($0, `get-b`, []), [value("i64", -5n)]);
+
+// ./test/core/global.wast:198
+assert_return(() => invoke($0, `get-r`, []), [value('externref', null)]);
+
+// ./test/core/global.wast:199
+assert_return(() => invoke($0, `get-mr`, []), [value('externref', null)]);
+
+// ./test/core/global.wast:200
+assert_return(() => invoke($0, `get-x`, []), [value("i32", -12)]);
+
+// ./test/core/global.wast:201
+assert_return(() => invoke($0, `get-y`, []), [value("i64", -15n)]);
+
+// ./test/core/global.wast:202
+assert_return(() => invoke($0, `get-z1`, []), [value("i32", 666)]);
+
+// ./test/core/global.wast:203
+assert_return(() => invoke($0, `get-z2`, []), [value("i64", 666n)]);
+
+// ./test/core/global.wast:205
+assert_return(() => invoke($0, `get-3`, []), [value("f32", -3)]);
+
+// ./test/core/global.wast:206
+assert_return(() => invoke($0, `get-4`, []), [value("f64", -4)]);
+
+// ./test/core/global.wast:207
+assert_return(() => invoke($0, `get-7`, []), [value("f32", -13)]);
+
+// ./test/core/global.wast:208
+assert_return(() => invoke($0, `get-8`, []), [value("f64", -14)]);
+
+// ./test/core/global.wast:210
+assert_return(() => invoke($0, `set-x`, [6]), []);
+
+// ./test/core/global.wast:211
+assert_return(() => invoke($0, `set-y`, [7n]), []);
+
+// ./test/core/global.wast:213
+assert_return(() => invoke($0, `set-7`, [value("f32", 8)]), []);
+
+// ./test/core/global.wast:214
+assert_return(() => invoke($0, `set-8`, [value("f64", 9)]), []);
+
+// ./test/core/global.wast:216
+assert_return(() => invoke($0, `get-x`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:217
+assert_return(() => invoke($0, `get-y`, []), [value("i64", 7n)]);
+
+// ./test/core/global.wast:218
+assert_return(() => invoke($0, `get-7`, []), [value("f32", 8)]);
+
+// ./test/core/global.wast:219
+assert_return(() => invoke($0, `get-8`, []), [value("f64", 9)]);
+
+// ./test/core/global.wast:221
+assert_return(() => invoke($0, `set-7`, [value("f32", 8)]), []);
+
+// ./test/core/global.wast:222
+assert_return(() => invoke($0, `set-8`, [value("f64", 9)]), []);
+
+// ./test/core/global.wast:223
+assert_return(() => invoke($0, `set-mr`, [externref(10)]), []);
+
+// ./test/core/global.wast:225
+assert_return(() => invoke($0, `get-x`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:226
+assert_return(() => invoke($0, `get-y`, []), [value("i64", 7n)]);
+
+// ./test/core/global.wast:227
+assert_return(() => invoke($0, `get-7`, []), [value("f32", 8)]);
+
+// ./test/core/global.wast:228
+assert_return(() => invoke($0, `get-8`, []), [value("f64", 9)]);
+
+// ./test/core/global.wast:229
+assert_return(() => invoke($0, `get-mr`, []), [new ExternRefResult(10)]);
+
+// ./test/core/global.wast:231
+assert_return(() => invoke($0, `as-select-first`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:232
+assert_return(() => invoke($0, `as-select-mid`, []), [value("i32", 2)]);
+
+// ./test/core/global.wast:233
+assert_return(() => invoke($0, `as-select-last`, []), [value("i32", 2)]);
+
+// ./test/core/global.wast:235
+assert_return(() => invoke($0, `as-loop-first`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:236
+assert_return(() => invoke($0, `as-loop-mid`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:237
+assert_return(() => invoke($0, `as-loop-last`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:239
+assert_return(() => invoke($0, `as-if-condition`, []), [value("i32", 2)]);
+
+// ./test/core/global.wast:240
+assert_return(() => invoke($0, `as-if-then`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:241
+assert_return(() => invoke($0, `as-if-else`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:243
+assert_return(() => invoke($0, `as-br_if-first`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:244
+assert_return(() => invoke($0, `as-br_if-last`, []), [value("i32", 2)]);
+
+// ./test/core/global.wast:246
+assert_return(() => invoke($0, `as-br_table-first`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:247
+assert_return(() => invoke($0, `as-br_table-last`, []), [value("i32", 2)]);
+
+// ./test/core/global.wast:249
+assert_return(() => invoke($0, `as-call_indirect-first`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:250
+assert_return(() => invoke($0, `as-call_indirect-mid`, []), [value("i32", 2)]);
+
+// ./test/core/global.wast:251
+assert_trap(() => invoke($0, `as-call_indirect-last`, []), `undefined element`);
+
+// ./test/core/global.wast:253
+assert_return(() => invoke($0, `as-store-first`, []), []);
+
+// ./test/core/global.wast:254
+assert_return(() => invoke($0, `as-store-last`, []), []);
+
+// ./test/core/global.wast:255
+assert_return(() => invoke($0, `as-load-operand`, []), [value("i32", 1)]);
+
+// ./test/core/global.wast:256
+assert_return(() => invoke($0, `as-memory.grow-value`, []), [value("i32", 1)]);
+
+// ./test/core/global.wast:258
+assert_return(() => invoke($0, `as-call-value`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:260
+assert_return(() => invoke($0, `as-return-value`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:261
+assert_return(() => invoke($0, `as-drop-operand`, []), []);
+
+// ./test/core/global.wast:262
+assert_return(() => invoke($0, `as-br-value`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:264
+assert_return(() => invoke($0, `as-local.set-value`, [1]), [value("i32", 6)]);
+
+// ./test/core/global.wast:265
+assert_return(() => invoke($0, `as-local.tee-value`, [1]), [value("i32", 6)]);
+
+// ./test/core/global.wast:266
+assert_return(() => invoke($0, `as-global.set-value`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:268
+assert_return(() => invoke($0, `as-unary-operand`, []), [value("i32", 0)]);
+
+// ./test/core/global.wast:269
+assert_return(() => invoke($0, `as-binary-operand`, []), [value("i32", 36)]);
+
+// ./test/core/global.wast:270
+assert_return(() => invoke($0, `as-compare-operand`, []), [value("i32", 1)]);
+
+// ./test/core/global.wast:272
+assert_invalid(
+ () => instantiate(`(module (global f32 (f32.const 0)) (func (global.set 0 (f32.const 1))))`),
+ `immutable global`,
+);
+
+// ./test/core/global.wast:277
+assert_invalid(
+ () => instantiate(`(module (import "spectest" "global_i32" (global i32)) (func (global.set 0 (i32.const 1))))`),
+ `immutable global`,
+);
+
+// ./test/core/global.wast:283
+let $1 = instantiate(`(module (global (mut f32) (f32.const 0)) (export "a" (global 0)))`);
+
+// ./test/core/global.wast:284
+let $2 = instantiate(`(module (global (export "a") (mut f32) (f32.const 0)))`);
+
+// ./test/core/global.wast:286
+assert_invalid(
+ () => instantiate(`(module (global f32 (f32.neg (f32.const 0))))`),
+ `constant expression required`,
+);
+
+// ./test/core/global.wast:291
+assert_invalid(
+ () => instantiate(`(module (global f32 (local.get 0)))`),
+ `constant expression required`,
+);
+
+// ./test/core/global.wast:296
+assert_invalid(
+ () => instantiate(`(module (global f32 (f32.neg (f32.const 1))))`),
+ `constant expression required`,
+);
+
+// ./test/core/global.wast:301
+assert_invalid(
+ () => instantiate(`(module (global i32 (i32.const 0) (nop)))`),
+ `constant expression required`,
+);
+
+// ./test/core/global.wast:306
+assert_invalid(
+ () => instantiate(`(module (global i32 (i32.ctz (i32.const 0))))`),
+ `constant expression required`,
+);
+
+// ./test/core/global.wast:311
+assert_invalid(
+ () => instantiate(`(module (global i32 (nop)))`),
+ `constant expression required`,
+);
+
+// ./test/core/global.wast:316
+assert_invalid(() => instantiate(`(module (global i32 (f32.const 0)))`), `type mismatch`);
+
+// ./test/core/global.wast:321
+assert_invalid(
+ () => instantiate(`(module (global i32 (i32.const 0) (i32.const 0)))`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:326
+assert_invalid(
+ () => instantiate(`(module (global i32 (;empty instruction sequence;)))`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:331
+assert_invalid(
+ () => instantiate(`(module (global (import "" "") externref) (global funcref (global.get 0)))`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:336
+assert_invalid(
+ () => instantiate(`(module (global (import "test" "global-i32") i32) (global i32 (global.get 0) (global.get 0)))`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:341
+assert_invalid(
+ () => instantiate(`(module (global (import "test" "global-i32") i32) (global i32 (i32.const 0) (global.get 0)))`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:346
+assert_invalid(
+ () => instantiate(`(module (global i32 (global.get 0)))`),
+ `unknown global`,
+);
+
+// ./test/core/global.wast:351
+assert_invalid(
+ () => instantiate(`(module (global i32 (global.get 1)) (global i32 (i32.const 0)))`),
+ `unknown global`,
+);
+
+// ./test/core/global.wast:356
+assert_invalid(
+ () => instantiate(`(module (global (import "test" "global-i32") i32) (global i32 (global.get 2)))`),
+ `unknown global`,
+);
+
+// ./test/core/global.wast:361
+assert_invalid(
+ () => instantiate(`(module (global (import "test" "global-mut-i32") (mut i32)) (global i32 (global.get 0)))`),
+ `constant expression required`,
+);
+
+// ./test/core/global.wast:366
+let $3 = instantiate(`(module
+ (import "spectest" "global_i32" (global i32))
+)`);
+
+// ./test/core/global.wast:369
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\98\\80\\80\\80\\00" ;; import section
+ "\\01" ;; length 1
+ "\\08\\73\\70\\65\\63\\74\\65\\73\\74" ;; "spectest"
+ "\\0a\\67\\6c\\6f\\62\\61\\6c\\5f\\69\\33\\32" ;; "global_i32"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\02" ;; malformed mutability
+ )`),
+ `malformed mutability`,
+);
+
+// ./test/core/global.wast:382
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\98\\80\\80\\80\\00" ;; import section
+ "\\01" ;; length 1
+ "\\08\\73\\70\\65\\63\\74\\65\\73\\74" ;; "spectest"
+ "\\0a\\67\\6c\\6f\\62\\61\\6c\\5f\\69\\33\\32" ;; "global_i32"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\ff" ;; malformed mutability
+ )`),
+ `malformed mutability`,
+);
+
+// ./test/core/global.wast:396
+let $4 = instantiate(`(module
+ (global i32 (i32.const 0))
+)`);
+
+// ./test/core/global.wast:399
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\06\\86\\80\\80\\80\\00" ;; global section
+ "\\01" ;; length 1
+ "\\7f" ;; i32
+ "\\02" ;; malformed mutability
+ "\\41\\00" ;; i32.const 0
+ "\\0b" ;; end
+ )`),
+ `malformed mutability`,
+);
+
+// ./test/core/global.wast:411
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\06\\86\\80\\80\\80\\00" ;; global section
+ "\\01" ;; length 1
+ "\\7f" ;; i32
+ "\\ff" ;; malformed mutability
+ "\\41\\00" ;; i32.const 0
+ "\\0b" ;; end
+ )`),
+ `malformed mutability`,
+);
+
+// ./test/core/global.wast:425
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (global.get 0)))`),
+ `unknown global`,
+);
+
+// ./test/core/global.wast:430
+assert_invalid(
+ () => instantiate(`(module
+ (global i32 (i32.const 0))
+ (func (result i32) (global.get 1))
+ )`),
+ `unknown global`,
+);
+
+// ./test/core/global.wast:438
+assert_invalid(
+ () => instantiate(`(module
+ (import "spectest" "global_i32" (global i32))
+ (func (result i32) (global.get 1))
+ )`),
+ `unknown global`,
+);
+
+// ./test/core/global.wast:446
+assert_invalid(
+ () => instantiate(`(module
+ (import "spectest" "global_i32" (global i32))
+ (global i32 (i32.const 0))
+ (func (result i32) (global.get 2))
+ )`),
+ `unknown global`,
+);
+
+// ./test/core/global.wast:456
+assert_invalid(
+ () => instantiate(`(module (func (i32.const 0) (global.set 0)))`),
+ `unknown global`,
+);
+
+// ./test/core/global.wast:461
+assert_invalid(
+ () => instantiate(`(module
+ (global i32 (i32.const 0))
+ (func (i32.const 0) (global.set 1))
+ )`),
+ `unknown global`,
+);
+
+// ./test/core/global.wast:469
+assert_invalid(
+ () => instantiate(`(module
+ (import "spectest" "global_i32" (global i32))
+ (func (i32.const 0) (global.set 1))
+ )`),
+ `unknown global`,
+);
+
+// ./test/core/global.wast:477
+assert_invalid(
+ () => instantiate(`(module
+ (import "spectest" "global_i32" (global i32))
+ (global i32 (i32.const 0))
+ (func (i32.const 0) (global.set 2))
+ )`),
+ `unknown global`,
+);
+
+// ./test/core/global.wast:487
+assert_invalid(
+ () => instantiate(`(module
+ (global $$x (mut i32) (i32.const 0))
+ (func $$type-global.set-value-empty
+ (global.set $$x)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:496
+assert_invalid(
+ () => instantiate(`(module
+ (global $$x (mut i32) (i32.const 0))
+ (func $$type-global.set-value-empty-in-block
+ (i32.const 0)
+ (block (global.set $$x))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:506
+assert_invalid(
+ () => instantiate(`(module
+ (global $$x (mut i32) (i32.const 0))
+ (func $$type-global.set-value-empty-in-loop
+ (i32.const 0)
+ (loop (global.set $$x))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:516
+assert_invalid(
+ () => instantiate(`(module
+ (global $$x (mut i32) (i32.const 0))
+ (func $$type-global.set-value-empty-in-then
+ (i32.const 0) (i32.const 0)
+ (if (then (global.set $$x)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:526
+assert_invalid(
+ () => instantiate(`(module
+ (global $$x (mut i32) (i32.const 0))
+ (func $$type-global.set-value-empty-in-else
+ (i32.const 0) (i32.const 0)
+ (if (result i32) (then (i32.const 0)) (else (global.set $$x)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:536
+assert_invalid(
+ () => instantiate(`(module
+ (global $$x (mut i32) (i32.const 0))
+ (func $$type-global.set-value-empty-in-br
+ (i32.const 0)
+ (block (br 0 (global.set $$x)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:546
+assert_invalid(
+ () => instantiate(`(module
+ (global $$x (mut i32) (i32.const 0))
+ (func $$type-global.set-value-empty-in-br_if
+ (i32.const 0)
+ (block (br_if 0 (global.set $$x)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:556
+assert_invalid(
+ () => instantiate(`(module
+ (global $$x (mut i32) (i32.const 0))
+ (func $$type-global.set-value-empty-in-br_table
+ (i32.const 0)
+ (block (br_table 0 (global.set $$x)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:566
+assert_invalid(
+ () => instantiate(`(module
+ (global $$x (mut i32) (i32.const 0))
+ (func $$type-global.set-value-empty-in-return
+ (return (global.set $$x))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:575
+assert_invalid(
+ () => instantiate(`(module
+ (global $$x (mut i32) (i32.const 0))
+ (func $$type-global.set-value-empty-in-select
+ (select (global.set $$x) (i32.const 1) (i32.const 2))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:584
+assert_invalid(
+ () => instantiate(`(module
+ (global $$x (mut i32) (i32.const 0))
+ (func $$type-global.set-value-empty-in-call
+ (call 1 (global.set $$x))
+ )
+ (func (param i32) (result i32) (local.get 0))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:594
+assert_invalid(
+ () => instantiate(`(module
+ (global $$x (mut i32) (i32.const 0))
+ (func $$f (param i32) (result i32) (local.get 0))
+ (type $$sig (func (param i32) (result i32)))
+ (table funcref (elem $$f))
+ (func $$type-global.set-value-empty-in-call_indirect
+ (block (result i32)
+ (call_indirect (type $$sig)
+ (global.set $$x) (i32.const 0)
+ )
+ )
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:613
+assert_malformed(
+ () => instantiate(`(global $$foo i32 (i32.const 0)) (global $$foo i32 (i32.const 0)) `),
+ `duplicate global`,
+);
+
+// ./test/core/global.wast:617
+assert_malformed(
+ () => instantiate(`(import "" "" (global $$foo i32)) (global $$foo i32 (i32.const 0)) `),
+ `duplicate global`,
+);
+
+// ./test/core/global.wast:621
+assert_malformed(
+ () => instantiate(`(import "" "" (global $$foo i32)) (import "" "" (global $$foo i32)) `),
+ `duplicate global`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/function-references/harness/directives.txt b/js/src/jit-test/tests/wasm/spec/function-references/harness/directives.txt
new file mode 100644
index 0000000000..d41243abbb
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/function-references/harness/directives.txt
@@ -0,0 +1 @@
+|jit-test| skip-if: true \ No newline at end of file
diff --git a/js/src/jit-test/tests/wasm/spec/function-references/harness/harness.js b/js/src/jit-test/tests/wasm/spec/function-references/harness/harness.js
new file mode 100644
index 0000000000..a96781e8ed
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/function-references/harness/harness.js
@@ -0,0 +1,448 @@
+"use strict";
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+if (!wasmIsSupported()) {
+ quit();
+}
+
+function bytes(type, bytes) {
+ var typedBuffer = new Uint8Array(bytes);
+ return wasmGlobalFromArrayBuffer(type, typedBuffer.buffer);
+}
+function value(type, value) {
+ return new WebAssembly.Global({
+ value: type,
+ mutable: false,
+ }, value);
+}
+
+function i8x16(elements) {
+ let typedBuffer = new Uint8Array(elements);
+ return wasmGlobalFromArrayBuffer("v128", typedBuffer.buffer);
+}
+function i16x8(elements) {
+ let typedBuffer = new Uint16Array(elements);
+ return wasmGlobalFromArrayBuffer("v128", typedBuffer.buffer);
+}
+function i32x4(elements) {
+ let typedBuffer = new Uint32Array(elements);
+ return wasmGlobalFromArrayBuffer("v128", typedBuffer.buffer);
+}
+function i64x2(elements) {
+ let typedBuffer = new BigUint64Array(elements);
+ return wasmGlobalFromArrayBuffer("v128", typedBuffer.buffer);
+}
+function f32x4(elements) {
+ let typedBuffer = new Float32Array(elements);
+ return wasmGlobalFromArrayBuffer("v128", typedBuffer.buffer);
+}
+function f64x2(elements) {
+ let typedBuffer = new Float64Array(elements);
+ return wasmGlobalFromArrayBuffer("v128", typedBuffer.buffer);
+}
+
+function either(...arr) {
+ return new EitherVariants(arr);
+}
+
+class F32x4Pattern {
+ constructor(x, y, z, w) {
+ this.x = x;
+ this.y = y;
+ this.z = z;
+ this.w = w;
+ }
+}
+
+class F64x2Pattern {
+ constructor(x, y) {
+ this.x = x;
+ this.y = y;
+ }
+}
+
+class RefWithType {
+ constructor(type) {
+ this.type = type;
+ }
+
+ formatExpected() {
+ return `RefWithType(${this.type})`;
+ }
+
+ test(refGlobal) {
+ try {
+ new WebAssembly.Global({value: this.type}, refGlobal.value);
+ return true;
+ } catch (err) {
+ assertEq(err instanceof TypeError, true, `wrong type of error when creating global: ${err}`);
+ assertEq(!!err.message.match(/can only pass/), true, `wrong type of error when creating global: ${err}`);
+ return false;
+ }
+ }
+}
+
+// ref.extern values created by spec tests will be JS objects of the form
+// { [externsym]: <number> }. Other externref values are possible to observe
+// if extern.convert_any is used.
+let externsym = Symbol("externref");
+function externref(s) {
+ return { [externsym]: s };
+}
+function is_externref(x) {
+ return (x !== null && externsym in x) ? 1 : 0;
+}
+function is_funcref(x) {
+ return typeof x === "function" ? 1 : 0;
+}
+function eq_externref(x, y) {
+ return x === y ? 1 : 0;
+}
+function eq_funcref(x, y) {
+ return x === y ? 1 : 0;
+}
+
+class ExternRefResult {
+ constructor(n) {
+ this.n = n;
+ }
+
+ formatExpected() {
+ return `ref.extern ${this.n}`;
+ }
+
+ test(global) {
+ // the global's value can either be an externref or just a plain old JS number
+ let result = global.value;
+ if (typeof global.value === "object" && externsym in global.value) {
+ result = global.value[externsym];
+ }
+ return result === this.n;
+ }
+}
+
+// ref.host values created by spectests will be whatever the JS API does to
+// convert the given value to anyref. It should implicitly be like any.convert_extern.
+function hostref(v) {
+ if (!wasmGcEnabled()) {
+ throw new Error("ref.host only works when wasm GC is enabled");
+ }
+
+ const { internalizeNum } = new WebAssembly.Instance(
+ new WebAssembly.Module(wasmTextToBinary(`(module
+ (func (import "test" "coerce") (param i32) (result anyref))
+ (func (export "internalizeNum") (param i32) (result anyref)
+ (call 0 (local.get 0))
+ )
+ )`)),
+ { "test": { "coerce": x => x } },
+ ).exports;
+ return internalizeNum(v);
+}
+
+class HostRefResult {
+ constructor(n) {
+ this.n = n;
+ }
+
+ formatExpected() {
+ return `ref.host ${this.n}`;
+ }
+
+ test(externrefGlobal) {
+ assertEq(externsym in externrefGlobal.value, true, `HostRefResult only works with externref inputs`);
+ return externrefGlobal.value[externsym] === this.n;
+ }
+}
+
+let spectest = {
+ externref: externref,
+ is_externref: is_externref,
+ is_funcref: is_funcref,
+ eq_externref: eq_externref,
+ eq_funcref: eq_funcref,
+ print: console.log.bind(console),
+ print_i32: console.log.bind(console),
+ print_i32_f32: console.log.bind(console),
+ print_f64_f64: console.log.bind(console),
+ print_f32: console.log.bind(console),
+ print_f64: console.log.bind(console),
+ global_i32: 666,
+ global_i64: 666n,
+ global_f32: 666,
+ global_f64: 666,
+ table: new WebAssembly.Table({
+ initial: 10,
+ maximum: 20,
+ element: "anyfunc",
+ }),
+ memory: new WebAssembly.Memory({ initial: 1, maximum: 2 }),
+};
+
+let linkage = {
+ spectest,
+};
+
+function getInstance(instanceish) {
+ if (typeof instanceish === "string") {
+ assertEq(
+ instanceish in linkage,
+ true,
+ `'${instanceish}'' must be registered`,
+ );
+ return linkage[instanceish];
+ }
+ return instanceish;
+}
+
+function instantiate(source) {
+ let bytecode = wasmTextToBinary(source);
+ let module = new WebAssembly.Module(bytecode);
+ let instance = new WebAssembly.Instance(module, linkage);
+ return instance.exports;
+}
+
+function register(instanceish, name) {
+ linkage[name] = getInstance(instanceish);
+}
+
+function invoke(instanceish, field, params) {
+ let func = getInstance(instanceish)[field];
+ assertEq(func instanceof Function, true, "expected a function");
+ return wasmLosslessInvoke(func, ...params);
+}
+
+function get(instanceish, field) {
+ let global = getInstance(instanceish)[field];
+ assertEq(
+ global instanceof WebAssembly.Global,
+ true,
+ "expected a WebAssembly.Global",
+ );
+ return global;
+}
+
+function assert_trap(thunk, message) {
+ try {
+ thunk();
+ throw new Error("expected trap");
+ } catch (err) {
+ if (err instanceof WebAssembly.RuntimeError) {
+ return;
+ }
+ throw err;
+ }
+}
+
+let StackOverflow;
+try {
+ (function f() {
+ 1 + f();
+ })();
+} catch (e) {
+ StackOverflow = e.constructor;
+}
+function assert_exhaustion(thunk, message) {
+ try {
+ thunk();
+ assertEq("normal return", "exhaustion");
+ } catch (err) {
+ assertEq(
+ err instanceof StackOverflow,
+ true,
+ "expected exhaustion",
+ );
+ }
+}
+
+function assert_invalid(thunk, message) {
+ try {
+ thunk();
+ assertEq("valid module", "invalid module");
+ } catch (err) {
+ assertEq(
+ err instanceof WebAssembly.LinkError ||
+ err instanceof WebAssembly.CompileError,
+ true,
+ "expected an invalid module",
+ );
+ }
+}
+
+function assert_unlinkable(thunk, message) {
+ try {
+ thunk();
+ assertEq(true, false, "expected an unlinkable module");
+ } catch (err) {
+ assertEq(
+ err instanceof WebAssembly.LinkError ||
+ err instanceof WebAssembly.CompileError,
+ true,
+ "expected an unlinkable module",
+ );
+ }
+}
+
+function assert_malformed(thunk, message) {
+ try {
+ thunk();
+ assertEq("valid module", "malformed module");
+ } catch (err) {
+ assertEq(
+ err instanceof TypeError ||
+ err instanceof SyntaxError ||
+ err instanceof WebAssembly.CompileError ||
+ err instanceof WebAssembly.LinkError,
+ true,
+ `expected a malformed module`,
+ );
+ }
+}
+
+function assert_exception(thunk) {
+ let thrown = false;
+ try {
+ thunk();
+ } catch (err) {
+ thrown = true;
+ }
+ assertEq(thrown, true, "expected an exception to be thrown");
+}
+
+function assert_return(thunk, expected) {
+ let results = thunk();
+
+ if (results === undefined) {
+ results = [];
+ } else if (!Array.isArray(results)) {
+ results = [results];
+ }
+ if (!Array.isArray(expected)) {
+ expected = [expected];
+ }
+
+ if (!compareResults(results, expected)) {
+ let got = results.map((x) => formatResult(x)).join(", ");
+ let wanted = expected.map((x) => formatExpected(x)).join(", ");
+ assertEq(
+ `[${got}]`,
+ `[${wanted}]`,
+ );
+ assertEq(true, false, `${got} !== ${wanted}`);
+ }
+}
+
+function formatResult(result) {
+ if (typeof (result) === "object") {
+ return wasmGlobalToString(result);
+ } else {
+ return `${result}`;
+ }
+}
+
+function formatExpected(expected) {
+ if (
+ expected === `f32_canonical_nan` ||
+ expected === `f32_arithmetic_nan` ||
+ expected === `f64_canonical_nan` ||
+ expected === `f64_arithmetic_nan`
+ ) {
+ return expected;
+ } else if (expected instanceof F32x4Pattern) {
+ return `f32x4(${formatExpected(expected.x)}, ${
+ formatExpected(expected.y)
+ }, ${formatExpected(expected.z)}, ${formatExpected(expected.w)})`;
+ } else if (expected instanceof F64x2Pattern) {
+ return `f64x2(${formatExpected(expected.x)}, ${
+ formatExpected(expected.y)
+ })`;
+ } else if (expected instanceof EitherVariants) {
+ return expected.formatExpected();
+ } else if (expected instanceof RefWithType) {
+ return expected.formatExpected();
+ } else if (expected instanceof ExternRefResult) {
+ return expected.formatExpected();
+ } else if (expected instanceof HostRefResult) {
+ return expected.formatExpected();
+ } else if (typeof (expected) === "object") {
+ return wasmGlobalToString(expected);
+ } else {
+ throw new Error("unknown expected result");
+ }
+}
+
+class EitherVariants {
+ constructor(arr) {
+ this.arr = arr;
+ }
+ matches(v) {
+ return this.arr.some((e) => compareResult(v, e));
+ }
+ formatExpected() {
+ return `either(${this.arr.map(formatExpected).join(", ")})`;
+ }
+}
+
+function compareResults(results, expected) {
+ if (results.length !== expected.length) {
+ return false;
+ }
+ for (let i in results) {
+ if (expected[i] instanceof EitherVariants) {
+ return expected[i].matches(results[i]);
+ }
+ if (!compareResult(results[i], expected[i])) {
+ return false;
+ }
+ }
+ return true;
+}
+
+function compareResult(result, expected) {
+ if (
+ expected === `canonical_nan` ||
+ expected === `arithmetic_nan`
+ ) {
+ return wasmGlobalIsNaN(result, expected);
+ } else if (expected === null) {
+ return result.value === null;
+ } else if (expected instanceof F32x4Pattern) {
+ return compareResult(
+ wasmGlobalExtractLane(result, "f32x4", 0),
+ expected.x,
+ ) &&
+ compareResult(wasmGlobalExtractLane(result, "f32x4", 1), expected.y) &&
+ compareResult(wasmGlobalExtractLane(result, "f32x4", 2), expected.z) &&
+ compareResult(wasmGlobalExtractLane(result, "f32x4", 3), expected.w);
+ } else if (expected instanceof F64x2Pattern) {
+ return compareResult(
+ wasmGlobalExtractLane(result, "f64x2", 0),
+ expected.x,
+ ) &&
+ compareResult(wasmGlobalExtractLane(result, "f64x2", 1), expected.y);
+ } else if (expected instanceof RefWithType) {
+ return expected.test(result);
+ } else if (expected instanceof ExternRefResult) {
+ return expected.test(result);
+ } else if (expected instanceof HostRefResult) {
+ return expected.test(result);
+ } else if (typeof (expected) === "object") {
+ return wasmGlobalsEqual(result, expected);
+ } else {
+ throw new Error("unknown expected result");
+ }
+}
diff --git a/js/src/jit-test/tests/wasm/spec/function-references/if.wast.js b/js/src/jit-test/tests/wasm/spec/function-references/if.wast.js
new file mode 100644
index 0000000000..ada0bd224a
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/function-references/if.wast.js
@@ -0,0 +1,1911 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/if.wast
+
+// ./test/core/if.wast:3
+let $0 = instantiate(`(module
+ ;; Auxiliary definition
+ (memory 1)
+
+ (func $$dummy)
+
+ (func (export "empty") (param i32)
+ (if (local.get 0) (then))
+ (if (local.get 0) (then) (else))
+ (if $$l (local.get 0) (then))
+ (if $$l (local.get 0) (then) (else))
+ )
+
+ (func (export "singular") (param i32) (result i32)
+ (if (local.get 0) (then (nop)))
+ (if (local.get 0) (then (nop)) (else (nop)))
+ (if (result i32) (local.get 0) (then (i32.const 7)) (else (i32.const 8)))
+ )
+
+ (func (export "multi") (param i32) (result i32 i32)
+ (if (local.get 0) (then (call $$dummy) (call $$dummy) (call $$dummy)))
+ (if (local.get 0) (then) (else (call $$dummy) (call $$dummy) (call $$dummy)))
+ (if (result i32) (local.get 0)
+ (then (call $$dummy) (call $$dummy) (i32.const 8) (call $$dummy))
+ (else (call $$dummy) (call $$dummy) (i32.const 9) (call $$dummy))
+ )
+ (if (result i32 i64 i32) (local.get 0)
+ (then
+ (call $$dummy) (call $$dummy) (i32.const 1) (call $$dummy)
+ (call $$dummy) (call $$dummy) (i64.const 2) (call $$dummy)
+ (call $$dummy) (call $$dummy) (i32.const 3) (call $$dummy)
+ )
+ (else
+ (call $$dummy) (call $$dummy) (i32.const -1) (call $$dummy)
+ (call $$dummy) (call $$dummy) (i64.const -2) (call $$dummy)
+ (call $$dummy) (call $$dummy) (i32.const -3) (call $$dummy)
+ )
+ )
+ (drop) (drop)
+ )
+
+ (func (export "nested") (param i32 i32) (result i32)
+ (if (result i32) (local.get 0)
+ (then
+ (if (local.get 1) (then (call $$dummy) (block) (nop)))
+ (if (local.get 1) (then) (else (call $$dummy) (block) (nop)))
+ (if (result i32) (local.get 1)
+ (then (call $$dummy) (i32.const 9))
+ (else (call $$dummy) (i32.const 10))
+ )
+ )
+ (else
+ (if (local.get 1) (then (call $$dummy) (block) (nop)))
+ (if (local.get 1) (then) (else (call $$dummy) (block) (nop)))
+ (if (result i32) (local.get 1)
+ (then (call $$dummy) (i32.const 10))
+ (else (call $$dummy) (i32.const 11))
+ )
+ )
+ )
+ )
+
+ (func (export "as-select-first") (param i32) (result i32)
+ (select
+ (if (result i32) (local.get 0)
+ (then (call $$dummy) (i32.const 1))
+ (else (call $$dummy) (i32.const 0))
+ )
+ (i32.const 2) (i32.const 3)
+ )
+ )
+ (func (export "as-select-mid") (param i32) (result i32)
+ (select
+ (i32.const 2)
+ (if (result i32) (local.get 0)
+ (then (call $$dummy) (i32.const 1))
+ (else (call $$dummy) (i32.const 0))
+ )
+ (i32.const 3)
+ )
+ )
+ (func (export "as-select-last") (param i32) (result i32)
+ (select
+ (i32.const 2) (i32.const 3)
+ (if (result i32) (local.get 0)
+ (then (call $$dummy) (i32.const 1))
+ (else (call $$dummy) (i32.const 0))
+ )
+ )
+ )
+
+ (func (export "as-loop-first") (param i32) (result i32)
+ (loop (result i32)
+ (if (result i32) (local.get 0)
+ (then (call $$dummy) (i32.const 1))
+ (else (call $$dummy) (i32.const 0))
+ )
+ (call $$dummy) (call $$dummy)
+ )
+ )
+ (func (export "as-loop-mid") (param i32) (result i32)
+ (loop (result i32)
+ (call $$dummy)
+ (if (result i32) (local.get 0)
+ (then (call $$dummy) (i32.const 1))
+ (else (call $$dummy) (i32.const 0))
+ )
+ (call $$dummy)
+ )
+ )
+ (func (export "as-loop-last") (param i32) (result i32)
+ (loop (result i32)
+ (call $$dummy) (call $$dummy)
+ (if (result i32) (local.get 0)
+ (then (call $$dummy) (i32.const 1))
+ (else (call $$dummy) (i32.const 0))
+ )
+ )
+ )
+
+ (func (export "as-if-condition") (param i32) (result i32)
+ (if (result i32)
+ (if (result i32) (local.get 0)
+ (then (i32.const 1)) (else (i32.const 0))
+ )
+ (then (call $$dummy) (i32.const 2))
+ (else (call $$dummy) (i32.const 3))
+ )
+ )
+
+ (func (export "as-br_if-first") (param i32) (result i32)
+ (block (result i32)
+ (br_if 0
+ (if (result i32) (local.get 0)
+ (then (call $$dummy) (i32.const 1))
+ (else (call $$dummy) (i32.const 0))
+ )
+ (i32.const 2)
+ )
+ (return (i32.const 3))
+ )
+ )
+ (func (export "as-br_if-last") (param i32) (result i32)
+ (block (result i32)
+ (br_if 0
+ (i32.const 2)
+ (if (result i32) (local.get 0)
+ (then (call $$dummy) (i32.const 1))
+ (else (call $$dummy) (i32.const 0))
+ )
+ )
+ (return (i32.const 3))
+ )
+ )
+
+ (func (export "as-br_table-first") (param i32) (result i32)
+ (block (result i32)
+ (if (result i32) (local.get 0)
+ (then (call $$dummy) (i32.const 1))
+ (else (call $$dummy) (i32.const 0))
+ )
+ (i32.const 2)
+ (br_table 0 0)
+ )
+ )
+ (func (export "as-br_table-last") (param i32) (result i32)
+ (block (result i32)
+ (i32.const 2)
+ (if (result i32) (local.get 0)
+ (then (call $$dummy) (i32.const 1))
+ (else (call $$dummy) (i32.const 0))
+ )
+ (br_table 0 0)
+ )
+ )
+
+ (func $$func (param i32 i32) (result i32) (local.get 0))
+ (type $$check (func (param i32 i32) (result i32)))
+ (table funcref (elem $$func))
+ (func (export "as-call_indirect-first") (param i32) (result i32)
+ (block (result i32)
+ (call_indirect (type $$check)
+ (if (result i32) (local.get 0)
+ (then (call $$dummy) (i32.const 1))
+ (else (call $$dummy) (i32.const 0))
+ )
+ (i32.const 2) (i32.const 0)
+ )
+ )
+ )
+ (func (export "as-call_indirect-mid") (param i32) (result i32)
+ (block (result i32)
+ (call_indirect (type $$check)
+ (i32.const 2)
+ (if (result i32) (local.get 0)
+ (then (call $$dummy) (i32.const 1))
+ (else (call $$dummy) (i32.const 0))
+ )
+ (i32.const 0)
+ )
+ )
+ )
+ (func (export "as-call_indirect-last") (param i32) (result i32)
+ (block (result i32)
+ (call_indirect (type $$check)
+ (i32.const 2) (i32.const 0)
+ (if (result i32) (local.get 0)
+ (then (call $$dummy) (i32.const 1))
+ (else (call $$dummy) (i32.const 0))
+ )
+ )
+ )
+ )
+
+ (func (export "as-store-first") (param i32)
+ (if (result i32) (local.get 0)
+ (then (call $$dummy) (i32.const 1))
+ (else (call $$dummy) (i32.const 0))
+ )
+ (i32.const 2)
+ (i32.store)
+ )
+ (func (export "as-store-last") (param i32)
+ (i32.const 2)
+ (if (result i32) (local.get 0)
+ (then (call $$dummy) (i32.const 1))
+ (else (call $$dummy) (i32.const 0))
+ )
+ (i32.store)
+ )
+
+ (func (export "as-memory.grow-value") (param i32) (result i32)
+ (memory.grow
+ (if (result i32) (local.get 0)
+ (then (i32.const 1))
+ (else (i32.const 0))
+ )
+ )
+ )
+
+ (func $$f (param i32) (result i32) (local.get 0))
+
+ (func (export "as-call-value") (param i32) (result i32)
+ (call $$f
+ (if (result i32) (local.get 0)
+ (then (i32.const 1))
+ (else (i32.const 0))
+ )
+ )
+ )
+ (func (export "as-return-value") (param i32) (result i32)
+ (if (result i32) (local.get 0)
+ (then (i32.const 1))
+ (else (i32.const 0)))
+ (return)
+ )
+ (func (export "as-drop-operand") (param i32)
+ (drop
+ (if (result i32) (local.get 0)
+ (then (i32.const 1))
+ (else (i32.const 0))
+ )
+ )
+ )
+ (func (export "as-br-value") (param i32) (result i32)
+ (block (result i32)
+ (br 0
+ (if (result i32) (local.get 0)
+ (then (i32.const 1))
+ (else (i32.const 0))
+ )
+ )
+ )
+ )
+ (func (export "as-local.set-value") (param i32) (result i32)
+ (local i32)
+ (local.set 0
+ (if (result i32) (local.get 0)
+ (then (i32.const 1))
+ (else (i32.const 0))
+ )
+ )
+ (local.get 0)
+ )
+ (func (export "as-local.tee-value") (param i32) (result i32)
+ (local.tee 0
+ (if (result i32) (local.get 0)
+ (then (i32.const 1))
+ (else (i32.const 0))
+ )
+ )
+ )
+ (global $$a (mut i32) (i32.const 10))
+ (func (export "as-global.set-value") (param i32) (result i32)
+ (global.set $$a
+ (if (result i32) (local.get 0)
+ (then (i32.const 1))
+ (else (i32.const 0))
+ )
+ ) (global.get $$a)
+ )
+ (func (export "as-load-operand") (param i32) (result i32)
+ (i32.load
+ (if (result i32) (local.get 0)
+ (then (i32.const 11))
+ (else (i32.const 10))
+ )
+ )
+ )
+
+ (func (export "as-unary-operand") (param i32) (result i32)
+ (i32.ctz
+ (if (result i32) (local.get 0)
+ (then (call $$dummy) (i32.const 13))
+ (else (call $$dummy) (i32.const -13))
+ )
+ )
+ )
+ (func (export "as-binary-operand") (param i32 i32) (result i32)
+ (i32.mul
+ (if (result i32) (local.get 0)
+ (then (call $$dummy) (i32.const 3))
+ (else (call $$dummy) (i32.const -3))
+ )
+ (if (result i32) (local.get 1)
+ (then (call $$dummy) (i32.const 4))
+ (else (call $$dummy) (i32.const -5))
+ )
+ )
+ )
+ (func (export "as-test-operand") (param i32) (result i32)
+ (i32.eqz
+ (if (result i32) (local.get 0)
+ (then (call $$dummy) (i32.const 13))
+ (else (call $$dummy) (i32.const 0))
+ )
+ )
+ )
+ (func (export "as-compare-operand") (param i32 i32) (result i32)
+ (f32.gt
+ (if (result f32) (local.get 0)
+ (then (call $$dummy) (f32.const 3))
+ (else (call $$dummy) (f32.const -3))
+ )
+ (if (result f32) (local.get 1)
+ (then (call $$dummy) (f32.const 4))
+ (else (call $$dummy) (f32.const -4))
+ )
+ )
+ )
+ (func (export "as-binary-operands") (param i32) (result i32)
+ (i32.mul
+ (if (result i32 i32) (local.get 0)
+ (then (call $$dummy) (i32.const 3) (call $$dummy) (i32.const 4))
+ (else (call $$dummy) (i32.const 3) (call $$dummy) (i32.const -4))
+ )
+ )
+ )
+ (func (export "as-compare-operands") (param i32) (result i32)
+ (f32.gt
+ (if (result f32 f32) (local.get 0)
+ (then (call $$dummy) (f32.const 3) (call $$dummy) (f32.const 3))
+ (else (call $$dummy) (f32.const -2) (call $$dummy) (f32.const -3))
+ )
+ )
+ )
+ (func (export "as-mixed-operands") (param i32) (result i32)
+ (if (result i32 i32) (local.get 0)
+ (then (call $$dummy) (i32.const 3) (call $$dummy) (i32.const 4))
+ (else (call $$dummy) (i32.const -3) (call $$dummy) (i32.const -4))
+ )
+ (i32.const 5)
+ (i32.add)
+ (i32.mul)
+ )
+
+ (func (export "break-bare") (result i32)
+ (if (i32.const 1) (then (br 0) (unreachable)))
+ (if (i32.const 1) (then (br 0) (unreachable)) (else (unreachable)))
+ (if (i32.const 0) (then (unreachable)) (else (br 0) (unreachable)))
+ (if (i32.const 1) (then (br_if 0 (i32.const 1)) (unreachable)))
+ (if (i32.const 1) (then (br_if 0 (i32.const 1)) (unreachable)) (else (unreachable)))
+ (if (i32.const 0) (then (unreachable)) (else (br_if 0 (i32.const 1)) (unreachable)))
+ (if (i32.const 1) (then (br_table 0 (i32.const 0)) (unreachable)))
+ (if (i32.const 1) (then (br_table 0 (i32.const 0)) (unreachable)) (else (unreachable)))
+ (if (i32.const 0) (then (unreachable)) (else (br_table 0 (i32.const 0)) (unreachable)))
+ (i32.const 19)
+ )
+
+ (func (export "break-value") (param i32) (result i32)
+ (if (result i32) (local.get 0)
+ (then (br 0 (i32.const 18)) (i32.const 19))
+ (else (br 0 (i32.const 21)) (i32.const 20))
+ )
+ )
+ (func (export "break-multi-value") (param i32) (result i32 i32 i64)
+ (if (result i32 i32 i64) (local.get 0)
+ (then
+ (br 0 (i32.const 18) (i32.const -18) (i64.const 18))
+ (i32.const 19) (i32.const -19) (i64.const 19)
+ )
+ (else
+ (br 0 (i32.const -18) (i32.const 18) (i64.const -18))
+ (i32.const -19) (i32.const 19) (i64.const -19)
+ )
+ )
+ )
+
+ (func (export "param") (param i32) (result i32)
+ (i32.const 1)
+ (if (param i32) (result i32) (local.get 0)
+ (then (i32.const 2) (i32.add))
+ (else (i32.const -2) (i32.add))
+ )
+ )
+ (func (export "params") (param i32) (result i32)
+ (i32.const 1)
+ (i32.const 2)
+ (if (param i32 i32) (result i32) (local.get 0)
+ (then (i32.add))
+ (else (i32.sub))
+ )
+ )
+ (func (export "params-id") (param i32) (result i32)
+ (i32.const 1)
+ (i32.const 2)
+ (if (param i32 i32) (result i32 i32) (local.get 0) (then))
+ (i32.add)
+ )
+ (func (export "param-break") (param i32) (result i32)
+ (i32.const 1)
+ (if (param i32) (result i32) (local.get 0)
+ (then (i32.const 2) (i32.add) (br 0))
+ (else (i32.const -2) (i32.add) (br 0))
+ )
+ )
+ (func (export "params-break") (param i32) (result i32)
+ (i32.const 1)
+ (i32.const 2)
+ (if (param i32 i32) (result i32) (local.get 0)
+ (then (i32.add) (br 0))
+ (else (i32.sub) (br 0))
+ )
+ )
+ (func (export "params-id-break") (param i32) (result i32)
+ (i32.const 1)
+ (i32.const 2)
+ (if (param i32 i32) (result i32 i32) (local.get 0) (then (br 0)))
+ (i32.add)
+ )
+
+ (func (export "effects") (param i32) (result i32)
+ (local i32)
+ (if
+ (block (result i32) (local.set 1 (i32.const 1)) (local.get 0))
+ (then
+ (local.set 1 (i32.mul (local.get 1) (i32.const 3)))
+ (local.set 1 (i32.sub (local.get 1) (i32.const 5)))
+ (local.set 1 (i32.mul (local.get 1) (i32.const 7)))
+ (br 0)
+ (local.set 1 (i32.mul (local.get 1) (i32.const 100)))
+ )
+ (else
+ (local.set 1 (i32.mul (local.get 1) (i32.const 5)))
+ (local.set 1 (i32.sub (local.get 1) (i32.const 7)))
+ (local.set 1 (i32.mul (local.get 1) (i32.const 3)))
+ (br 0)
+ (local.set 1 (i32.mul (local.get 1) (i32.const 1000)))
+ )
+ )
+ (local.get 1)
+ )
+
+ ;; Examples
+
+ (func $$add64_u_with_carry (export "add64_u_with_carry")
+ (param $$i i64) (param $$j i64) (param $$c i32) (result i64 i32)
+ (local $$k i64)
+ (local.set $$k
+ (i64.add
+ (i64.add (local.get $$i) (local.get $$j))
+ (i64.extend_i32_u (local.get $$c))
+ )
+ )
+ (return (local.get $$k) (i64.lt_u (local.get $$k) (local.get $$i)))
+ )
+
+ (func $$add64_u_saturated (export "add64_u_saturated")
+ (param i64 i64) (result i64)
+ (call $$add64_u_with_carry (local.get 0) (local.get 1) (i32.const 0))
+ (if (param i64) (result i64)
+ (then (drop) (i64.const -1))
+ )
+ )
+
+ ;; Block signature syntax
+
+ (type $$block-sig-1 (func))
+ (type $$block-sig-2 (func (result i32)))
+ (type $$block-sig-3 (func (param $$x i32)))
+ (type $$block-sig-4 (func (param i32 f64 i32) (result i32 f64 i32)))
+
+ (func (export "type-use")
+ (if (type $$block-sig-1) (i32.const 1) (then))
+ (if (type $$block-sig-2) (i32.const 1)
+ (then (i32.const 0)) (else (i32.const 2))
+ )
+ (if (type $$block-sig-3) (i32.const 1) (then (drop)) (else (drop)))
+ (i32.const 0) (f64.const 0) (i32.const 0)
+ (if (type $$block-sig-4) (i32.const 1) (then))
+ (drop) (drop) (drop)
+ (if (type $$block-sig-2) (result i32) (i32.const 1)
+ (then (i32.const 0)) (else (i32.const 2))
+ )
+ (if (type $$block-sig-3) (param i32) (i32.const 1)
+ (then (drop)) (else (drop))
+ )
+ (i32.const 0) (f64.const 0) (i32.const 0)
+ (if (type $$block-sig-4)
+ (param i32) (param f64 i32) (result i32 f64) (result i32)
+ (i32.const 1) (then)
+ )
+ (drop) (drop) (drop)
+ )
+)`);
+
+// ./test/core/if.wast:529
+assert_return(() => invoke($0, `empty`, [0]), []);
+
+// ./test/core/if.wast:530
+assert_return(() => invoke($0, `empty`, [1]), []);
+
+// ./test/core/if.wast:531
+assert_return(() => invoke($0, `empty`, [100]), []);
+
+// ./test/core/if.wast:532
+assert_return(() => invoke($0, `empty`, [-2]), []);
+
+// ./test/core/if.wast:534
+assert_return(() => invoke($0, `singular`, [0]), [value("i32", 8)]);
+
+// ./test/core/if.wast:535
+assert_return(() => invoke($0, `singular`, [1]), [value("i32", 7)]);
+
+// ./test/core/if.wast:536
+assert_return(() => invoke($0, `singular`, [10]), [value("i32", 7)]);
+
+// ./test/core/if.wast:537
+assert_return(() => invoke($0, `singular`, [-10]), [value("i32", 7)]);
+
+// ./test/core/if.wast:539
+assert_return(() => invoke($0, `multi`, [0]), [value("i32", 9), value("i32", -1)]);
+
+// ./test/core/if.wast:540
+assert_return(() => invoke($0, `multi`, [1]), [value("i32", 8), value("i32", 1)]);
+
+// ./test/core/if.wast:541
+assert_return(() => invoke($0, `multi`, [13]), [value("i32", 8), value("i32", 1)]);
+
+// ./test/core/if.wast:542
+assert_return(() => invoke($0, `multi`, [-5]), [value("i32", 8), value("i32", 1)]);
+
+// ./test/core/if.wast:544
+assert_return(() => invoke($0, `nested`, [0, 0]), [value("i32", 11)]);
+
+// ./test/core/if.wast:545
+assert_return(() => invoke($0, `nested`, [1, 0]), [value("i32", 10)]);
+
+// ./test/core/if.wast:546
+assert_return(() => invoke($0, `nested`, [0, 1]), [value("i32", 10)]);
+
+// ./test/core/if.wast:547
+assert_return(() => invoke($0, `nested`, [3, 2]), [value("i32", 9)]);
+
+// ./test/core/if.wast:548
+assert_return(() => invoke($0, `nested`, [0, -100]), [value("i32", 10)]);
+
+// ./test/core/if.wast:549
+assert_return(() => invoke($0, `nested`, [10, 10]), [value("i32", 9)]);
+
+// ./test/core/if.wast:550
+assert_return(() => invoke($0, `nested`, [0, -1]), [value("i32", 10)]);
+
+// ./test/core/if.wast:551
+assert_return(() => invoke($0, `nested`, [-111, -2]), [value("i32", 9)]);
+
+// ./test/core/if.wast:553
+assert_return(() => invoke($0, `as-select-first`, [0]), [value("i32", 0)]);
+
+// ./test/core/if.wast:554
+assert_return(() => invoke($0, `as-select-first`, [1]), [value("i32", 1)]);
+
+// ./test/core/if.wast:555
+assert_return(() => invoke($0, `as-select-mid`, [0]), [value("i32", 2)]);
+
+// ./test/core/if.wast:556
+assert_return(() => invoke($0, `as-select-mid`, [1]), [value("i32", 2)]);
+
+// ./test/core/if.wast:557
+assert_return(() => invoke($0, `as-select-last`, [0]), [value("i32", 3)]);
+
+// ./test/core/if.wast:558
+assert_return(() => invoke($0, `as-select-last`, [1]), [value("i32", 2)]);
+
+// ./test/core/if.wast:560
+assert_return(() => invoke($0, `as-loop-first`, [0]), [value("i32", 0)]);
+
+// ./test/core/if.wast:561
+assert_return(() => invoke($0, `as-loop-first`, [1]), [value("i32", 1)]);
+
+// ./test/core/if.wast:562
+assert_return(() => invoke($0, `as-loop-mid`, [0]), [value("i32", 0)]);
+
+// ./test/core/if.wast:563
+assert_return(() => invoke($0, `as-loop-mid`, [1]), [value("i32", 1)]);
+
+// ./test/core/if.wast:564
+assert_return(() => invoke($0, `as-loop-last`, [0]), [value("i32", 0)]);
+
+// ./test/core/if.wast:565
+assert_return(() => invoke($0, `as-loop-last`, [1]), [value("i32", 1)]);
+
+// ./test/core/if.wast:567
+assert_return(() => invoke($0, `as-if-condition`, [0]), [value("i32", 3)]);
+
+// ./test/core/if.wast:568
+assert_return(() => invoke($0, `as-if-condition`, [1]), [value("i32", 2)]);
+
+// ./test/core/if.wast:570
+assert_return(() => invoke($0, `as-br_if-first`, [0]), [value("i32", 0)]);
+
+// ./test/core/if.wast:571
+assert_return(() => invoke($0, `as-br_if-first`, [1]), [value("i32", 1)]);
+
+// ./test/core/if.wast:572
+assert_return(() => invoke($0, `as-br_if-last`, [0]), [value("i32", 3)]);
+
+// ./test/core/if.wast:573
+assert_return(() => invoke($0, `as-br_if-last`, [1]), [value("i32", 2)]);
+
+// ./test/core/if.wast:575
+assert_return(() => invoke($0, `as-br_table-first`, [0]), [value("i32", 0)]);
+
+// ./test/core/if.wast:576
+assert_return(() => invoke($0, `as-br_table-first`, [1]), [value("i32", 1)]);
+
+// ./test/core/if.wast:577
+assert_return(() => invoke($0, `as-br_table-last`, [0]), [value("i32", 2)]);
+
+// ./test/core/if.wast:578
+assert_return(() => invoke($0, `as-br_table-last`, [1]), [value("i32", 2)]);
+
+// ./test/core/if.wast:580
+assert_return(() => invoke($0, `as-call_indirect-first`, [0]), [value("i32", 0)]);
+
+// ./test/core/if.wast:581
+assert_return(() => invoke($0, `as-call_indirect-first`, [1]), [value("i32", 1)]);
+
+// ./test/core/if.wast:582
+assert_return(() => invoke($0, `as-call_indirect-mid`, [0]), [value("i32", 2)]);
+
+// ./test/core/if.wast:583
+assert_return(() => invoke($0, `as-call_indirect-mid`, [1]), [value("i32", 2)]);
+
+// ./test/core/if.wast:584
+assert_return(() => invoke($0, `as-call_indirect-last`, [0]), [value("i32", 2)]);
+
+// ./test/core/if.wast:585
+assert_trap(() => invoke($0, `as-call_indirect-last`, [1]), `undefined element`);
+
+// ./test/core/if.wast:587
+assert_return(() => invoke($0, `as-store-first`, [0]), []);
+
+// ./test/core/if.wast:588
+assert_return(() => invoke($0, `as-store-first`, [1]), []);
+
+// ./test/core/if.wast:589
+assert_return(() => invoke($0, `as-store-last`, [0]), []);
+
+// ./test/core/if.wast:590
+assert_return(() => invoke($0, `as-store-last`, [1]), []);
+
+// ./test/core/if.wast:592
+assert_return(() => invoke($0, `as-memory.grow-value`, [0]), [value("i32", 1)]);
+
+// ./test/core/if.wast:593
+assert_return(() => invoke($0, `as-memory.grow-value`, [1]), [value("i32", 1)]);
+
+// ./test/core/if.wast:595
+assert_return(() => invoke($0, `as-call-value`, [0]), [value("i32", 0)]);
+
+// ./test/core/if.wast:596
+assert_return(() => invoke($0, `as-call-value`, [1]), [value("i32", 1)]);
+
+// ./test/core/if.wast:598
+assert_return(() => invoke($0, `as-return-value`, [0]), [value("i32", 0)]);
+
+// ./test/core/if.wast:599
+assert_return(() => invoke($0, `as-return-value`, [1]), [value("i32", 1)]);
+
+// ./test/core/if.wast:601
+assert_return(() => invoke($0, `as-drop-operand`, [0]), []);
+
+// ./test/core/if.wast:602
+assert_return(() => invoke($0, `as-drop-operand`, [1]), []);
+
+// ./test/core/if.wast:604
+assert_return(() => invoke($0, `as-br-value`, [0]), [value("i32", 0)]);
+
+// ./test/core/if.wast:605
+assert_return(() => invoke($0, `as-br-value`, [1]), [value("i32", 1)]);
+
+// ./test/core/if.wast:607
+assert_return(() => invoke($0, `as-local.set-value`, [0]), [value("i32", 0)]);
+
+// ./test/core/if.wast:608
+assert_return(() => invoke($0, `as-local.set-value`, [1]), [value("i32", 1)]);
+
+// ./test/core/if.wast:610
+assert_return(() => invoke($0, `as-local.tee-value`, [0]), [value("i32", 0)]);
+
+// ./test/core/if.wast:611
+assert_return(() => invoke($0, `as-local.tee-value`, [1]), [value("i32", 1)]);
+
+// ./test/core/if.wast:613
+assert_return(() => invoke($0, `as-global.set-value`, [0]), [value("i32", 0)]);
+
+// ./test/core/if.wast:614
+assert_return(() => invoke($0, `as-global.set-value`, [1]), [value("i32", 1)]);
+
+// ./test/core/if.wast:616
+assert_return(() => invoke($0, `as-load-operand`, [0]), [value("i32", 0)]);
+
+// ./test/core/if.wast:617
+assert_return(() => invoke($0, `as-load-operand`, [1]), [value("i32", 0)]);
+
+// ./test/core/if.wast:619
+assert_return(() => invoke($0, `as-unary-operand`, [0]), [value("i32", 0)]);
+
+// ./test/core/if.wast:620
+assert_return(() => invoke($0, `as-unary-operand`, [1]), [value("i32", 0)]);
+
+// ./test/core/if.wast:621
+assert_return(() => invoke($0, `as-unary-operand`, [-1]), [value("i32", 0)]);
+
+// ./test/core/if.wast:623
+assert_return(() => invoke($0, `as-binary-operand`, [0, 0]), [value("i32", 15)]);
+
+// ./test/core/if.wast:624
+assert_return(() => invoke($0, `as-binary-operand`, [0, 1]), [value("i32", -12)]);
+
+// ./test/core/if.wast:625
+assert_return(() => invoke($0, `as-binary-operand`, [1, 0]), [value("i32", -15)]);
+
+// ./test/core/if.wast:626
+assert_return(() => invoke($0, `as-binary-operand`, [1, 1]), [value("i32", 12)]);
+
+// ./test/core/if.wast:628
+assert_return(() => invoke($0, `as-test-operand`, [0]), [value("i32", 1)]);
+
+// ./test/core/if.wast:629
+assert_return(() => invoke($0, `as-test-operand`, [1]), [value("i32", 0)]);
+
+// ./test/core/if.wast:631
+assert_return(() => invoke($0, `as-compare-operand`, [0, 0]), [value("i32", 1)]);
+
+// ./test/core/if.wast:632
+assert_return(() => invoke($0, `as-compare-operand`, [0, 1]), [value("i32", 0)]);
+
+// ./test/core/if.wast:633
+assert_return(() => invoke($0, `as-compare-operand`, [1, 0]), [value("i32", 1)]);
+
+// ./test/core/if.wast:634
+assert_return(() => invoke($0, `as-compare-operand`, [1, 1]), [value("i32", 0)]);
+
+// ./test/core/if.wast:636
+assert_return(() => invoke($0, `as-binary-operands`, [0]), [value("i32", -12)]);
+
+// ./test/core/if.wast:637
+assert_return(() => invoke($0, `as-binary-operands`, [1]), [value("i32", 12)]);
+
+// ./test/core/if.wast:639
+assert_return(() => invoke($0, `as-compare-operands`, [0]), [value("i32", 1)]);
+
+// ./test/core/if.wast:640
+assert_return(() => invoke($0, `as-compare-operands`, [1]), [value("i32", 0)]);
+
+// ./test/core/if.wast:642
+assert_return(() => invoke($0, `as-mixed-operands`, [0]), [value("i32", -3)]);
+
+// ./test/core/if.wast:643
+assert_return(() => invoke($0, `as-mixed-operands`, [1]), [value("i32", 27)]);
+
+// ./test/core/if.wast:645
+assert_return(() => invoke($0, `break-bare`, []), [value("i32", 19)]);
+
+// ./test/core/if.wast:646
+assert_return(() => invoke($0, `break-value`, [1]), [value("i32", 18)]);
+
+// ./test/core/if.wast:647
+assert_return(() => invoke($0, `break-value`, [0]), [value("i32", 21)]);
+
+// ./test/core/if.wast:648
+assert_return(
+ () => invoke($0, `break-multi-value`, [0]),
+ [value("i32", -18), value("i32", 18), value("i64", -18n)],
+);
+
+// ./test/core/if.wast:651
+assert_return(
+ () => invoke($0, `break-multi-value`, [1]),
+ [value("i32", 18), value("i32", -18), value("i64", 18n)],
+);
+
+// ./test/core/if.wast:655
+assert_return(() => invoke($0, `param`, [0]), [value("i32", -1)]);
+
+// ./test/core/if.wast:656
+assert_return(() => invoke($0, `param`, [1]), [value("i32", 3)]);
+
+// ./test/core/if.wast:657
+assert_return(() => invoke($0, `params`, [0]), [value("i32", -1)]);
+
+// ./test/core/if.wast:658
+assert_return(() => invoke($0, `params`, [1]), [value("i32", 3)]);
+
+// ./test/core/if.wast:659
+assert_return(() => invoke($0, `params-id`, [0]), [value("i32", 3)]);
+
+// ./test/core/if.wast:660
+assert_return(() => invoke($0, `params-id`, [1]), [value("i32", 3)]);
+
+// ./test/core/if.wast:661
+assert_return(() => invoke($0, `param-break`, [0]), [value("i32", -1)]);
+
+// ./test/core/if.wast:662
+assert_return(() => invoke($0, `param-break`, [1]), [value("i32", 3)]);
+
+// ./test/core/if.wast:663
+assert_return(() => invoke($0, `params-break`, [0]), [value("i32", -1)]);
+
+// ./test/core/if.wast:664
+assert_return(() => invoke($0, `params-break`, [1]), [value("i32", 3)]);
+
+// ./test/core/if.wast:665
+assert_return(() => invoke($0, `params-id-break`, [0]), [value("i32", 3)]);
+
+// ./test/core/if.wast:666
+assert_return(() => invoke($0, `params-id-break`, [1]), [value("i32", 3)]);
+
+// ./test/core/if.wast:668
+assert_return(() => invoke($0, `effects`, [1]), [value("i32", -14)]);
+
+// ./test/core/if.wast:669
+assert_return(() => invoke($0, `effects`, [0]), [value("i32", -6)]);
+
+// ./test/core/if.wast:671
+assert_return(() => invoke($0, `add64_u_with_carry`, [0n, 0n, 0]), [value("i64", 0n), value("i32", 0)]);
+
+// ./test/core/if.wast:675
+assert_return(
+ () => invoke($0, `add64_u_with_carry`, [100n, 124n, 0]),
+ [value("i64", 224n), value("i32", 0)],
+);
+
+// ./test/core/if.wast:679
+assert_return(
+ () => invoke($0, `add64_u_with_carry`, [-1n, 0n, 0]),
+ [value("i64", -1n), value("i32", 0)],
+);
+
+// ./test/core/if.wast:683
+assert_return(() => invoke($0, `add64_u_with_carry`, [-1n, 1n, 0]), [value("i64", 0n), value("i32", 1)]);
+
+// ./test/core/if.wast:687
+assert_return(
+ () => invoke($0, `add64_u_with_carry`, [-1n, -1n, 0]),
+ [value("i64", -2n), value("i32", 1)],
+);
+
+// ./test/core/if.wast:691
+assert_return(() => invoke($0, `add64_u_with_carry`, [-1n, 0n, 1]), [value("i64", 0n), value("i32", 1)]);
+
+// ./test/core/if.wast:695
+assert_return(() => invoke($0, `add64_u_with_carry`, [-1n, 1n, 1]), [value("i64", 1n), value("i32", 1)]);
+
+// ./test/core/if.wast:699
+assert_return(
+ () => invoke($0, `add64_u_with_carry`, [
+ -9223372036854775808n,
+ -9223372036854775808n,
+ 0,
+ ]),
+ [value("i64", 0n), value("i32", 1)],
+);
+
+// ./test/core/if.wast:704
+assert_return(() => invoke($0, `add64_u_saturated`, [0n, 0n]), [value("i64", 0n)]);
+
+// ./test/core/if.wast:707
+assert_return(() => invoke($0, `add64_u_saturated`, [1230n, 23n]), [value("i64", 1253n)]);
+
+// ./test/core/if.wast:710
+assert_return(() => invoke($0, `add64_u_saturated`, [-1n, 0n]), [value("i64", -1n)]);
+
+// ./test/core/if.wast:713
+assert_return(() => invoke($0, `add64_u_saturated`, [-1n, 1n]), [value("i64", -1n)]);
+
+// ./test/core/if.wast:716
+assert_return(() => invoke($0, `add64_u_saturated`, [-1n, -1n]), [value("i64", -1n)]);
+
+// ./test/core/if.wast:719
+assert_return(
+ () => invoke($0, `add64_u_saturated`, [-9223372036854775808n, -9223372036854775808n]),
+ [value("i64", -1n)],
+);
+
+// ./test/core/if.wast:723
+assert_return(() => invoke($0, `type-use`, []), []);
+
+// ./test/core/if.wast:725
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (func (i32.const 0) (if (type $$sig) (result i32) (param i32) (i32.const 1) (then)) ) `),
+ `unexpected token`,
+);
+
+// ./test/core/if.wast:734
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (func (i32.const 0) (if (param i32) (type $$sig) (result i32) (i32.const 1) (then)) ) `),
+ `unexpected token`,
+);
+
+// ./test/core/if.wast:743
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (func (i32.const 0) (if (param i32) (result i32) (type $$sig) (i32.const 1) (then)) ) `),
+ `unexpected token`,
+);
+
+// ./test/core/if.wast:752
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (func (i32.const 0) (if (result i32) (type $$sig) (param i32) (i32.const 1) (then)) ) `),
+ `unexpected token`,
+);
+
+// ./test/core/if.wast:761
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (func (i32.const 0) (if (result i32) (param i32) (type $$sig) (i32.const 1) (then)) ) `),
+ `unexpected token`,
+);
+
+// ./test/core/if.wast:770
+assert_malformed(
+ () => instantiate(`(func (i32.const 0) (if (result i32) (param i32) (i32.const 1) (then))) `),
+ `unexpected token`,
+);
+
+// ./test/core/if.wast:777
+assert_malformed(
+ () => instantiate(`(func (i32.const 0) (i32.const 1) (if (param $$x i32) (then (drop)) (else (drop))) ) `),
+ `unexpected token`,
+);
+
+// ./test/core/if.wast:785
+assert_malformed(
+ () => instantiate(`(type $$sig (func)) (func (i32.const 1) (if (type $$sig) (result i32) (then (i32.const 0)) (else (i32.const 2))) (unreachable) ) `),
+ `inline function type`,
+);
+
+// ./test/core/if.wast:795
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (func (i32.const 1) (if (type $$sig) (result i32) (then (i32.const 0)) (else (i32.const 2))) (unreachable) ) `),
+ `inline function type`,
+);
+
+// ./test/core/if.wast:805
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (func (i32.const 0) (i32.const 1) (if (type $$sig) (param i32) (then (drop)) (else (drop))) (unreachable) ) `),
+ `inline function type`,
+);
+
+// ./test/core/if.wast:815
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32 i32) (result i32))) (func (i32.const 0) (i32.const 1) (if (type $$sig) (param i32) (result i32) (then)) (unreachable) ) `),
+ `inline function type`,
+);
+
+// ./test/core/if.wast:825
+assert_invalid(
+ () => instantiate(`(module
+ (type $$sig (func))
+ (func (i32.const 1) (if (type $$sig) (i32.const 0) (then)))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:833
+assert_invalid(
+ () => instantiate(`(module (func $$type-empty-i32 (result i32) (if (i32.const 0) (then))))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:837
+assert_invalid(
+ () => instantiate(`(module (func $$type-empty-i64 (result i64) (if (i32.const 0) (then))))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:841
+assert_invalid(
+ () => instantiate(`(module (func $$type-empty-f32 (result f32) (if (i32.const 0) (then))))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:845
+assert_invalid(
+ () => instantiate(`(module (func $$type-empty-f64 (result f64) (if (i32.const 0) (then))))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:850
+assert_invalid(
+ () => instantiate(`(module (func $$type-empty-i32 (result i32) (if (i32.const 0) (then) (else))))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:854
+assert_invalid(
+ () => instantiate(`(module (func $$type-empty-i64 (result i64) (if (i32.const 0) (then) (else))))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:858
+assert_invalid(
+ () => instantiate(`(module (func $$type-empty-f32 (result f32) (if (i32.const 0) (then) (else))))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:862
+assert_invalid(
+ () => instantiate(`(module (func $$type-empty-f64 (result f64) (if (i32.const 0) (then) (else))))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:867
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-value-num-vs-void
+ (if (i32.const 1) (then (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:873
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-value-num-vs-void-else
+ (if (i32.const 1) (then (i32.const 1)) (else))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:879
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-value-num-vs-void
+ (if (i32.const 1) (then) (else (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:885
+assert_invalid(
+ () => instantiate(`(module (func $$type-both-value-num-vs-void
+ (if (i32.const 1) (then (i32.const 1)) (else (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:892
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-value-nums-vs-void
+ (if (i32.const 1) (then (i32.const 1) (i32.const 2)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:898
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-value-nums-vs-void-else
+ (if (i32.const 1) (then (i32.const 1) (i32.const 2)) (else))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:904
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-value-nums-vs-void
+ (if (i32.const 1) (then) (else (i32.const 1) (i32.const 2)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:910
+assert_invalid(
+ () => instantiate(`(module (func $$type-both-value-nums-vs-void
+ (if (i32.const 1) (then (i32.const 1) (i32.const 2)) (else (i32.const 2) (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:917
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-value-empty-vs-num (result i32)
+ (if (result i32) (i32.const 1) (then) (else (i32.const 0)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:923
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-value-empty-vs-num (result i32)
+ (if (result i32) (i32.const 1) (then (i32.const 0)) (else))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:929
+assert_invalid(
+ () => instantiate(`(module (func $$type-both-value-empty-vs-num (result i32)
+ (if (result i32) (i32.const 1) (then) (else))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:936
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-value-empty-vs-nums (result i32 i32)
+ (if (result i32 i32) (i32.const 1) (then) (else (i32.const 0) (i32.const 2)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:942
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-value-empty-vs-nums (result i32 i32)
+ (if (result i32 i32) (i32.const 1) (then (i32.const 0) (i32.const 1)) (else))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:948
+assert_invalid(
+ () => instantiate(`(module (func $$type-both-value-empty-vs-nums (result i32 i32)
+ (if (result i32 i32) (i32.const 1) (then) (else))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:955
+assert_invalid(
+ () => instantiate(`(module (func $$type-no-else-vs-num (result i32)
+ (if (result i32) (i32.const 1) (then (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:961
+assert_invalid(
+ () => instantiate(`(module (func $$type-no-else-vs-nums (result i32 i32)
+ (if (result i32 i32) (i32.const 1) (then (i32.const 1) (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:968
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-value-void-vs-num (result i32)
+ (if (result i32) (i32.const 1) (then (nop)) (else (i32.const 0)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:974
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-value-void-vs-num (result i32)
+ (if (result i32) (i32.const 1) (then (i32.const 0)) (else (nop)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:980
+assert_invalid(
+ () => instantiate(`(module (func $$type-both-value-void-vs-num (result i32)
+ (if (result i32) (i32.const 1) (then (nop)) (else (nop)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:987
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-value-void-vs-nums (result i32 i32)
+ (if (result i32 i32) (i32.const 1) (then (nop)) (else (i32.const 0) (i32.const 0)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:993
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-value-void-vs-nums (result i32 i32)
+ (if (result i32 i32) (i32.const 1) (then (i32.const 0) (i32.const 0)) (else (nop)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:999
+assert_invalid(
+ () => instantiate(`(module (func $$type-both-value-void-vs-nums (result i32 i32)
+ (if (result i32 i32) (i32.const 1) (then (nop)) (else (nop)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1006
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-value-num-vs-num (result i32)
+ (if (result i32) (i32.const 1) (then (i64.const 1)) (else (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1012
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-value-num-vs-num (result i32)
+ (if (result i32) (i32.const 1) (then (i32.const 1)) (else (i64.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1018
+assert_invalid(
+ () => instantiate(`(module (func $$type-both-value-num-vs-num (result i32)
+ (if (result i32) (i32.const 1) (then (i64.const 1)) (else (i64.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1025
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-value-num-vs-nums (result i32 i32)
+ (if (result i32 i32) (i32.const 1) (then (i32.const 1)) (else (i32.const 1) (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1031
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-value-num-vs-nums (result i32 i32)
+ (if (result i32 i32) (i32.const 1) (then (i32.const 1) (i32.const 1)) (else (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1037
+assert_invalid(
+ () => instantiate(`(module (func $$type-both-value-num-vs-nums (result i32 i32)
+ (if (result i32 i32) (i32.const 1) (then (i32.const 1)) (else (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1044
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-value-partial-vs-nums (result i32 i32)
+ (i32.const 0)
+ (if (result i32 i32) (i32.const 1) (then (i32.const 1)) (else (i32.const 1) (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1051
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-value-partial-vs-nums (result i32 i32)
+ (i32.const 0)
+ (if (result i32 i32) (i32.const 1) (then (i32.const 1) (i32.const 1)) (else (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1058
+assert_invalid(
+ () => instantiate(`(module (func $$type-both-value-partial-vs-nums (result i32 i32)
+ (i32.const 0)
+ (if (result i32 i32) (i32.const 1) (then (i32.const 1)) (else (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1066
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-value-nums-vs-num (result i32)
+ (if (result i32) (i32.const 1) (then (i32.const 1) (i32.const 1)) (else (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1072
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-value-nums-vs-num (result i32)
+ (if (result i32) (i32.const 1) (then (i32.const 1)) (else (i32.const 1) (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1078
+assert_invalid(
+ () => instantiate(`(module (func $$type-both-value-nums-vs-num (result i32)
+ (if (result i32) (i32.const 1) (then (i32.const 1) (i32.const 1)) (else (i32.const 1) (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1085
+assert_invalid(
+ () => instantiate(`(module (func $$type-both-different-value-num-vs-num (result i32)
+ (if (result i32) (i32.const 1) (then (i64.const 1)) (else (f64.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1091
+assert_invalid(
+ () => instantiate(`(module (func $$type-both-different-value-nums-vs-nums (result i32 i32)
+ (if (result i32 i32) (i32.const 1) (then (i32.const 1) (i32.const 1) (i32.const 1)) (else (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1098
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-value-unreached-select (result i32)
+ (if (result i64)
+ (i32.const 0)
+ (then (select (unreachable) (unreachable) (unreachable)))
+ (else (i64.const 0))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1108
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-value-unreached-select (result i32)
+ (if (result i64)
+ (i32.const 1)
+ (then (i64.const 0))
+ (else (select (unreachable) (unreachable) (unreachable)))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1118
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-value-unreached-select (result i32)
+ (if (result i64)
+ (i32.const 1)
+ (then (select (unreachable) (unreachable) (unreachable)))
+ (else (select (unreachable) (unreachable) (unreachable)))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1129
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-break-last-void-vs-num (result i32)
+ (if (result i32) (i32.const 1) (then (br 0)) (else (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1135
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-break-last-void-vs-num (result i32)
+ (if (result i32) (i32.const 1) (then (i32.const 1)) (else (br 0)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1141
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-break-last-void-vs-nums (result i32 i32)
+ (if (result i32 i32) (i32.const 1) (then (br 0)) (else (i32.const 1) (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1147
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-break-last-void-vs-nums (result i32 i32)
+ (if (result i32 i32) (i32.const 1) (then (i32.const 1) (i32.const 1)) (else (br 0)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1154
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-break-empty-vs-num (result i32)
+ (if (result i32) (i32.const 1)
+ (then (br 0) (i32.const 1))
+ (else (i32.const 1))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1163
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-break-empty-vs-num (result i32)
+ (if (result i32) (i32.const 1)
+ (then (i32.const 1))
+ (else (br 0) (i32.const 1))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1172
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-break-empty-vs-nums (result i32 i32)
+ (if (result i32 i32) (i32.const 1)
+ (then (br 0) (i32.const 1) (i32.const 1))
+ (else (i32.const 1) (i32.const 1))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1181
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-break-empty-vs-nums (result i32 i32)
+ (if (result i32 i32) (i32.const 1)
+ (then (i32.const 1) (i32.const 1))
+ (else (br 0) (i32.const 1) (i32.const 1))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1191
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-break-void-vs-num (result i32)
+ (if (result i32) (i32.const 1)
+ (then (br 0 (nop)) (i32.const 1))
+ (else (i32.const 1))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1200
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-break-void-vs-num (result i32)
+ (if (result i32) (i32.const 1)
+ (then (i32.const 1))
+ (else (br 0 (nop)) (i32.const 1))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1209
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-break-void-vs-nums (result i32 i32)
+ (if (result i32 i32) (i32.const 1)
+ (then (br 0 (nop)) (i32.const 1) (i32.const 1))
+ (else (i32.const 1) (i32.const 1))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1218
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-break-void-vs-nums (result i32 i32)
+ (if (result i32 i32) (i32.const 1)
+ (then (i32.const 1) (i32.const 1))
+ (else (br 0 (nop)) (i32.const 1) (i32.const 1))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1228
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-break-num-vs-num (result i32)
+ (if (result i32) (i32.const 1)
+ (then (br 0 (i64.const 1)) (i32.const 1))
+ (else (i32.const 1))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1237
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-break-num-vs-num (result i32)
+ (if (result i32) (i32.const 1)
+ (then (i32.const 1))
+ (else (br 0 (i64.const 1)) (i32.const 1))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1246
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-break-num-vs-nums (result i32 i32)
+ (if (result i32 i32) (i32.const 1)
+ (then (br 0 (i64.const 1)) (i32.const 1) (i32.const 1))
+ (else (i32.const 1) (i32.const 1))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1255
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-break-num-vs-nums (result i32 i32)
+ (if (result i32 i32) (i32.const 1)
+ (then (i32.const 1) (i32.const 1))
+ (else (br 0 (i64.const 1)) (i32.const 1) (i32.const 1))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1264
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-break-partial-vs-nums (result i32 i32)
+ (i32.const 1)
+ (if (result i32 i32) (i32.const 1)
+ (then (br 0 (i64.const 1)) (i32.const 1))
+ (else (i32.const 1))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1274
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-break-partial-vs-nums (result i32 i32)
+ (i32.const 1)
+ (if (result i32 i32) (i32.const 1)
+ (then (i32.const 1))
+ (else (br 0 (i64.const 1)) (i32.const 1))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1285
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-condition-empty
+ (if (then))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1293
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-condition-empty-in-block
+ (i32.const 0)
+ (block (if (then)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1302
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-condition-empty-in-loop
+ (i32.const 0)
+ (loop (if (then)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1311
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-condition-empty-in-then
+ (i32.const 0) (i32.const 0)
+ (if (then (if (then))))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1320
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-condition-empty-in-else
+ (i32.const 0) (i32.const 0)
+ (if (result i32) (then (i32.const 0)) (else (if (then)) (i32.const 0)))
+ (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1330
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-condition-empty-in-br
+ (i32.const 0)
+ (block (br 0 (if(then))) (drop))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1339
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-condition-empty-in-br_if
+ (i32.const 0)
+ (block (br_if 0 (if(then)) (i32.const 1)) (drop))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1348
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-condition-empty-in-br_table
+ (i32.const 0)
+ (block (br_table 0 (if(then))) (drop))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1357
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-condition-empty-in-return
+ (return (if(then))) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1365
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-condition-empty-in-select
+ (select (if(then)) (i32.const 1) (i32.const 2)) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1373
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-condition-empty-in-call
+ (call 1 (if(then))) (drop)
+ )
+ (func (param i32) (result i32) (local.get 0))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1382
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f (param i32) (result i32) (local.get 0))
+ (type $$sig (func (param i32) (result i32)))
+ (table funcref (elem $$f))
+ (func $$type-condition-empty-in-call_indirect
+ (block (result i32)
+ (call_indirect (type $$sig)
+ (if(then)) (i32.const 0)
+ )
+ (drop)
+ )
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1398
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-condition-empty-in-local.set
+ (local i32)
+ (local.set 0 (if(then))) (local.get 0) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1407
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-condition-empty-in-local.tee
+ (local i32)
+ (local.tee 0 (if(then))) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1416
+assert_invalid(
+ () => instantiate(`(module
+ (global $$x (mut i32) (i32.const 0))
+ (func $$type-condition-empty-in-global.set
+ (global.set $$x (if(then))) (global.get $$x) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1425
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (func $$type-condition-empty-in-memory.grow
+ (memory.grow (if(then))) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1434
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (func $$type-condition-empty-in-load
+ (i32.load (if(then))) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1443
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-condition-empty-in-store
+ (i32.store (if(then)) (i32.const 1))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1453
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-void-vs-num
+ (if (param i32) (i32.const 1) (then (drop)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1459
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-void-vs-nums
+ (if (param i32 f64) (i32.const 1) (then (drop) (drop)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1465
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-num-vs-num
+ (f32.const 0) (if (param i32) (i32.const 1) (then (drop)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1471
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-num-vs-nums
+ (f32.const 0) (if (param f32 i32) (i32.const 1) (then (drop) (drop)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1477
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-nested-void-vs-num
+ (block (if (param i32) (i32.const 1) (then (drop))))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1483
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-void-vs-nums
+ (block (if (param i32 f64) (i32.const 1) (then (drop) (drop))))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1489
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-num-vs-num
+ (block (f32.const 0) (if (param i32) (i32.const 1) (then (drop))))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1495
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-num-vs-nums
+ (block (f32.const 0) (if (param f32 i32) (i32.const 1) (then (drop) (drop))))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1502
+assert_malformed(
+ () => instantiate(`(func (param i32) (result i32) if (param $$x i32) end) `),
+ `unexpected token`,
+);
+
+// ./test/core/if.wast:1506
+assert_malformed(
+ () => instantiate(`(func (param i32) (result i32) (if (param $$x i32) (then))) `),
+ `unexpected token`,
+);
+
+// ./test/core/if.wast:1511
+assert_malformed(() => instantiate(`(func i32.const 0 if end $$l) `), `mismatching label`);
+
+// ./test/core/if.wast:1515
+assert_malformed(
+ () => instantiate(`(func i32.const 0 if $$a end $$l) `),
+ `mismatching label`,
+);
+
+// ./test/core/if.wast:1519
+assert_malformed(
+ () => instantiate(`(func i32.const 0 if else $$l end) `),
+ `mismatching label`,
+);
+
+// ./test/core/if.wast:1523
+assert_malformed(
+ () => instantiate(`(func i32.const 0 if $$a else $$l end) `),
+ `mismatching label`,
+);
+
+// ./test/core/if.wast:1527
+assert_malformed(
+ () => instantiate(`(func i32.const 0 if else end $$l) `),
+ `mismatching label`,
+);
+
+// ./test/core/if.wast:1531
+assert_malformed(
+ () => instantiate(`(func i32.const 0 if else $$l end $$l) `),
+ `mismatching label`,
+);
+
+// ./test/core/if.wast:1535
+assert_malformed(
+ () => instantiate(`(func i32.const 0 if else $$l1 end $$l2) `),
+ `mismatching label`,
+);
+
+// ./test/core/if.wast:1539
+assert_malformed(
+ () => instantiate(`(func i32.const 0 if $$a else end $$l) `),
+ `mismatching label`,
+);
+
+// ./test/core/if.wast:1543
+assert_malformed(
+ () => instantiate(`(func i32.const 0 if $$a else $$a end $$l) `),
+ `mismatching label`,
+);
+
+// ./test/core/if.wast:1547
+assert_malformed(
+ () => instantiate(`(func i32.const 0 if $$a else $$l end $$l) `),
+ `mismatching label`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/function-references/local_get.wast.js b/js/src/jit-test/tests/wasm/spec/function-references/local_get.wast.js
new file mode 100644
index 0000000000..c51b00bd31
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/function-references/local_get.wast.js
@@ -0,0 +1,279 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/local_get.wast
+
+// ./test/core/local_get.wast:3
+let $0 = instantiate(`(module
+ ;; Typing
+
+ (func (export "type-local-i32") (result i32) (local i32) (local.get 0))
+ (func (export "type-local-i64") (result i64) (local i64) (local.get 0))
+ (func (export "type-local-f32") (result f32) (local f32) (local.get 0))
+ (func (export "type-local-f64") (result f64) (local f64) (local.get 0))
+
+ (func (export "type-param-i32") (param i32) (result i32) (local.get 0))
+ (func (export "type-param-i64") (param i64) (result i64) (local.get 0))
+ (func (export "type-param-f32") (param f32) (result f32) (local.get 0))
+ (func (export "type-param-f64") (param f64) (result f64) (local.get 0))
+
+ (func (export "type-mixed") (param i64 f32 f64 i32 i32)
+ (local f32 i64 i64 f64)
+ (drop (i64.eqz (local.get 0)))
+ (drop (f32.neg (local.get 1)))
+ (drop (f64.neg (local.get 2)))
+ (drop (i32.eqz (local.get 3)))
+ (drop (i32.eqz (local.get 4)))
+ (drop (f32.neg (local.get 5)))
+ (drop (i64.eqz (local.get 6)))
+ (drop (i64.eqz (local.get 7)))
+ (drop (f64.neg (local.get 8)))
+ )
+
+ ;; Reading
+
+ (func (export "read") (param i64 f32 f64 i32 i32) (result f64)
+ (local f32 i64 i64 f64)
+ (local.set 5 (f32.const 5.5))
+ (local.set 6 (i64.const 6))
+ (local.set 8 (f64.const 8))
+ (f64.add
+ (f64.convert_i64_u (local.get 0))
+ (f64.add
+ (f64.promote_f32 (local.get 1))
+ (f64.add
+ (local.get 2)
+ (f64.add
+ (f64.convert_i32_u (local.get 3))
+ (f64.add
+ (f64.convert_i32_s (local.get 4))
+ (f64.add
+ (f64.promote_f32 (local.get 5))
+ (f64.add
+ (f64.convert_i64_u (local.get 6))
+ (f64.add
+ (f64.convert_i64_u (local.get 7))
+ (local.get 8)
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+
+ ;; As parameter of control constructs and instructions
+
+ (func (export "as-block-value") (param i32) (result i32)
+ (block (result i32) (local.get 0))
+ )
+ (func (export "as-loop-value") (param i32) (result i32)
+ (loop (result i32) (local.get 0))
+ )
+ (func (export "as-br-value") (param i32) (result i32)
+ (block (result i32) (br 0 (local.get 0)))
+ )
+ (func (export "as-br_if-value") (param i32) (result i32)
+ (block $$l0 (result i32) (br_if $$l0 (local.get 0) (i32.const 1)))
+ )
+
+ (func (export "as-br_if-value-cond") (param i32) (result i32)
+ (block (result i32)
+ (br_if 0 (local.get 0) (local.get 0))
+ )
+ )
+ (func (export "as-br_table-value") (param i32) (result i32)
+ (block
+ (block
+ (block
+ (br_table 0 1 2 (local.get 0))
+ (return (i32.const 0))
+ )
+ (return (i32.const 1))
+ )
+ (return (i32.const 2))
+ )
+ (i32.const 3)
+ )
+
+ (func (export "as-return-value") (param i32) (result i32)
+ (return (local.get 0))
+ )
+
+ (func (export "as-if-then") (param i32) (result i32)
+ (if (result i32) (local.get 0) (then (local.get 0)) (else (i32.const 0)))
+ )
+ (func (export "as-if-else") (param i32) (result i32)
+ (if (result i32) (local.get 0) (then (i32.const 1)) (else (local.get 0)))
+ )
+)`);
+
+// ./test/core/local_get.wast:109
+assert_return(() => invoke($0, `type-local-i32`, []), [value("i32", 0)]);
+
+// ./test/core/local_get.wast:110
+assert_return(() => invoke($0, `type-local-i64`, []), [value("i64", 0n)]);
+
+// ./test/core/local_get.wast:111
+assert_return(() => invoke($0, `type-local-f32`, []), [value("f32", 0)]);
+
+// ./test/core/local_get.wast:112
+assert_return(() => invoke($0, `type-local-f64`, []), [value("f64", 0)]);
+
+// ./test/core/local_get.wast:114
+assert_return(() => invoke($0, `type-param-i32`, [2]), [value("i32", 2)]);
+
+// ./test/core/local_get.wast:115
+assert_return(() => invoke($0, `type-param-i64`, [3n]), [value("i64", 3n)]);
+
+// ./test/core/local_get.wast:116
+assert_return(() => invoke($0, `type-param-f32`, [value("f32", 4.4)]), [value("f32", 4.4)]);
+
+// ./test/core/local_get.wast:117
+assert_return(() => invoke($0, `type-param-f64`, [value("f64", 5.5)]), [value("f64", 5.5)]);
+
+// ./test/core/local_get.wast:119
+assert_return(() => invoke($0, `as-block-value`, [6]), [value("i32", 6)]);
+
+// ./test/core/local_get.wast:120
+assert_return(() => invoke($0, `as-loop-value`, [7]), [value("i32", 7)]);
+
+// ./test/core/local_get.wast:122
+assert_return(() => invoke($0, `as-br-value`, [8]), [value("i32", 8)]);
+
+// ./test/core/local_get.wast:123
+assert_return(() => invoke($0, `as-br_if-value`, [9]), [value("i32", 9)]);
+
+// ./test/core/local_get.wast:124
+assert_return(() => invoke($0, `as-br_if-value-cond`, [10]), [value("i32", 10)]);
+
+// ./test/core/local_get.wast:125
+assert_return(() => invoke($0, `as-br_table-value`, [1]), [value("i32", 2)]);
+
+// ./test/core/local_get.wast:127
+assert_return(() => invoke($0, `as-return-value`, [0]), [value("i32", 0)]);
+
+// ./test/core/local_get.wast:129
+assert_return(() => invoke($0, `as-if-then`, [1]), [value("i32", 1)]);
+
+// ./test/core/local_get.wast:130
+assert_return(() => invoke($0, `as-if-else`, [0]), [value("i32", 0)]);
+
+// ./test/core/local_get.wast:132
+assert_return(() => invoke($0, `type-mixed`, [1n, value("f32", 2.2), value("f64", 3.3), 4, 5]), []);
+
+// ./test/core/local_get.wast:138
+assert_return(
+ () => invoke($0, `read`, [1n, value("f32", 2), value("f64", 3.3), 4, 5]),
+ [value("f64", 34.8)],
+);
+
+// ./test/core/local_get.wast:148
+assert_invalid(
+ () => instantiate(`(module (func $$type-local-num-vs-num (result i64) (local i32) (local.get 0)))`),
+ `type mismatch`,
+);
+
+// ./test/core/local_get.wast:152
+assert_invalid(
+ () => instantiate(`(module (func $$type-local-num-vs-num (result i32) (local f32) (i32.eqz (local.get 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/local_get.wast:156
+assert_invalid(
+ () => instantiate(`(module (func $$type-local-num-vs-num (result f64) (local f64 i64) (f64.neg (local.get 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/local_get.wast:164
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-num-vs-num (param i32) (result i64) (local.get 0)))`),
+ `type mismatch`,
+);
+
+// ./test/core/local_get.wast:168
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-num-vs-num (param f32) (result i32) (i32.eqz (local.get 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/local_get.wast:172
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-num-vs-num (param f64 i64) (result f64) (f64.neg (local.get 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/local_get.wast:180
+assert_invalid(
+ () => instantiate(`(module (func $$type-empty-vs-i32 (local i32) (local.get 0)))`),
+ `type mismatch`,
+);
+
+// ./test/core/local_get.wast:184
+assert_invalid(
+ () => instantiate(`(module (func $$type-empty-vs-i64 (local i64) (local.get 0)))`),
+ `type mismatch`,
+);
+
+// ./test/core/local_get.wast:188
+assert_invalid(
+ () => instantiate(`(module (func $$type-empty-vs-f32 (local f32) (local.get 0)))`),
+ `type mismatch`,
+);
+
+// ./test/core/local_get.wast:192
+assert_invalid(
+ () => instantiate(`(module (func $$type-empty-vs-f64 (local f64) (local.get 0)))`),
+ `type mismatch`,
+);
+
+// ./test/core/local_get.wast:200
+assert_invalid(
+ () => instantiate(`(module (func $$unbound-local (local i32 i64) (local.get 3) drop))`),
+ `unknown local`,
+);
+
+// ./test/core/local_get.wast:204
+assert_invalid(
+ () => instantiate(`(module (func $$large-local (local i32 i64) (local.get 14324343) drop))`),
+ `unknown local`,
+);
+
+// ./test/core/local_get.wast:209
+assert_invalid(
+ () => instantiate(`(module (func $$unbound-param (param i32 i64) (local.get 2) drop))`),
+ `unknown local`,
+);
+
+// ./test/core/local_get.wast:213
+assert_invalid(
+ () => instantiate(`(module (func $$large-param (param i32 i64) (local.get 714324343) drop))`),
+ `unknown local`,
+);
+
+// ./test/core/local_get.wast:218
+assert_invalid(
+ () => instantiate(`(module (func $$unbound-mixed (param i32) (local i32 i64) (local.get 3) drop))`),
+ `unknown local`,
+);
+
+// ./test/core/local_get.wast:222
+assert_invalid(
+ () => instantiate(`(module (func $$large-mixed (param i64) (local i32 i64) (local.get 214324343) drop))`),
+ `unknown local`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/function-references/ref.wast.js b/js/src/jit-test/tests/wasm/spec/function-references/ref.wast.js
new file mode 100644
index 0000000000..5d2fce2314
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/function-references/ref.wast.js
@@ -0,0 +1,110 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/ref.wast
+
+// ./test/core/ref.wast:3
+let $0 = instantiate(`(module
+ (type $$t (func))
+
+ (func
+ (param
+ funcref
+ externref
+ (ref func)
+ (ref extern)
+ (ref 0)
+ (ref $$t)
+ (ref 0)
+ (ref $$t)
+ (ref null func)
+ (ref null extern)
+ (ref null 0)
+ (ref null $$t)
+ )
+ )
+)`);
+
+// ./test/core/ref.wast:27
+assert_invalid(
+ () => instantiate(`(module (type $$type-func-param-invalid (func (param (ref 1)))))`),
+ `unknown type`,
+);
+
+// ./test/core/ref.wast:31
+assert_invalid(
+ () => instantiate(`(module (type $$type-func-result-invalid (func (result (ref 1)))))`),
+ `unknown type`,
+);
+
+// ./test/core/ref.wast:36
+assert_invalid(
+ () => instantiate(`(module (global $$global-invalid (ref null 1) (ref.null 1)))`),
+ `unknown type`,
+);
+
+// ./test/core/ref.wast:41
+assert_invalid(
+ () => instantiate(`(module (table $$table-invalid 10 (ref null 1)))`),
+ `unknown type`,
+);
+
+// ./test/core/ref.wast:46
+assert_invalid(
+ () => instantiate(`(module (elem $$elem-invalid (ref 1)))`),
+ `unknown type`,
+);
+
+// ./test/core/ref.wast:51
+assert_invalid(
+ () => instantiate(`(module (func $$func-param-invalid (param (ref 1))))`),
+ `unknown type`,
+);
+
+// ./test/core/ref.wast:55
+assert_invalid(
+ () => instantiate(`(module (func $$func-result-invalid (result (ref 1))))`),
+ `unknown type`,
+);
+
+// ./test/core/ref.wast:59
+assert_invalid(
+ () => instantiate(`(module (func $$func-local-invalid (local (ref null 1))))`),
+ `unknown type`,
+);
+
+// ./test/core/ref.wast:64
+assert_invalid(
+ () => instantiate(`(module (func $$block-result-invalid (drop (block (result (ref 1)) (unreachable)))))`),
+ `unknown type`,
+);
+
+// ./test/core/ref.wast:68
+assert_invalid(
+ () => instantiate(`(module (func $$loop-result-invalid (drop (loop (result (ref 1)) (unreachable)))))`),
+ `unknown type`,
+);
+
+// ./test/core/ref.wast:72
+assert_invalid(
+ () => instantiate(`(module (func $$if-invalid (drop (if (result (ref 1)) (then) (else)))))`),
+ `unknown type`,
+);
+
+// ./test/core/ref.wast:77
+assert_invalid(
+ () => instantiate(`(module (func $$select-result-invalid (drop (select (result (ref 1)) (unreachable)))))`),
+ `unknown type`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/function-references/ref_as_non_null.wast.js b/js/src/jit-test/tests/wasm/spec/function-references/ref_as_non_null.wast.js
new file mode 100644
index 0000000000..af2628a7b6
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/function-references/ref_as_non_null.wast.js
@@ -0,0 +1,71 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/ref_as_non_null.wast
+
+// ./test/core/ref_as_non_null.wast:1
+let $0 = instantiate(`(module
+ (type $$t (func (result i32)))
+
+ (func $$nn (param $$r (ref $$t)) (result i32)
+ (call_ref $$t (ref.as_non_null (local.get $$r)))
+ )
+ (func $$n (param $$r (ref null $$t)) (result i32)
+ (call_ref $$t (ref.as_non_null (local.get $$r)))
+ )
+
+ (elem func $$f)
+ (func $$f (result i32) (i32.const 7))
+
+ (func (export "nullable-null") (result i32) (call $$n (ref.null $$t)))
+ (func (export "nonnullable-f") (result i32) (call $$nn (ref.func $$f)))
+ (func (export "nullable-f") (result i32) (call $$n (ref.func $$f)))
+
+ (func (export "unreachable") (result i32)
+ (unreachable)
+ (ref.as_non_null)
+ (call $$nn)
+ )
+)`);
+
+// ./test/core/ref_as_non_null.wast:25
+assert_trap(() => invoke($0, `unreachable`, []), `unreachable`);
+
+// ./test/core/ref_as_non_null.wast:27
+assert_trap(() => invoke($0, `nullable-null`, []), `null reference`);
+
+// ./test/core/ref_as_non_null.wast:28
+assert_return(() => invoke($0, `nonnullable-f`, []), [value("i32", 7)]);
+
+// ./test/core/ref_as_non_null.wast:29
+assert_return(() => invoke($0, `nullable-f`, []), [value("i32", 7)]);
+
+// ./test/core/ref_as_non_null.wast:31
+assert_invalid(
+ () => instantiate(`(module
+ (type $$t (func (result i32)))
+ (func $$g (param $$r (ref $$t)) (drop (ref.as_non_null (local.get $$r))))
+ (func (call $$g (ref.null $$t)))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/ref_as_non_null.wast:41
+let $1 = instantiate(`(module
+ (type $$t (func))
+ (func (param $$r (ref $$t)) (drop (ref.as_non_null (local.get $$r))))
+ (func (param $$r (ref func)) (drop (ref.as_non_null (local.get $$r))))
+ (func (param $$r (ref extern)) (drop (ref.as_non_null (local.get $$r))))
+)`);
diff --git a/js/src/jit-test/tests/wasm/spec/function-references/ref_func.wast.js b/js/src/jit-test/tests/wasm/spec/function-references/ref_func.wast.js
new file mode 100644
index 0000000000..3ca5cea002
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/function-references/ref_func.wast.js
@@ -0,0 +1,156 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/ref_func.wast
+
+// ./test/core/ref_func.wast:1
+let $0 = instantiate(`(module
+ (func (export "f") (param $$x i32) (result i32) (local.get $$x))
+)`);
+
+// ./test/core/ref_func.wast:4
+register($0, `M`);
+
+// ./test/core/ref_func.wast:6
+let $1 = instantiate(`(module
+ (func $$f (import "M" "f") (param i32) (result i32))
+ (func $$g (param $$x i32) (result i32)
+ (i32.add (local.get $$x) (i32.const 1))
+ )
+
+ (global funcref (ref.func $$f))
+ (global funcref (ref.func $$g))
+ (global $$v (mut funcref) (ref.func $$f))
+
+ (global funcref (ref.func $$gf1))
+ (global funcref (ref.func $$gf2))
+ (func (drop (ref.func $$ff1)) (drop (ref.func $$ff2)))
+ (elem declare func $$gf1 $$ff1)
+ (elem declare funcref (ref.func $$gf2) (ref.func $$ff2))
+ (func $$gf1)
+ (func $$gf2)
+ (func $$ff1)
+ (func $$ff2)
+
+ (func (export "is_null-f") (result i32)
+ (ref.is_null (ref.func $$f))
+ )
+ (func (export "is_null-g") (result i32)
+ (ref.is_null (ref.func $$g))
+ )
+ (func (export "is_null-v") (result i32)
+ (ref.is_null (global.get $$v))
+ )
+
+ (func (export "set-f") (global.set $$v (ref.func $$f)))
+ (func (export "set-g") (global.set $$v (ref.func $$g)))
+
+ (table $$t 1 funcref)
+ (elem declare func $$f $$g)
+
+ (func (export "call-f") (param $$x i32) (result i32)
+ (table.set $$t (i32.const 0) (ref.func $$f))
+ (call_indirect $$t (param i32) (result i32) (local.get $$x) (i32.const 0))
+ )
+ (func (export "call-g") (param $$x i32) (result i32)
+ (table.set $$t (i32.const 0) (ref.func $$g))
+ (call_indirect $$t (param i32) (result i32) (local.get $$x) (i32.const 0))
+ )
+ (func (export "call-v") (param $$x i32) (result i32)
+ (table.set $$t (i32.const 0) (global.get $$v))
+ (call_indirect $$t (param i32) (result i32) (local.get $$x) (i32.const 0))
+ )
+)`);
+
+// ./test/core/ref_func.wast:56
+assert_return(() => invoke($1, `is_null-f`, []), [value("i32", 0)]);
+
+// ./test/core/ref_func.wast:57
+assert_return(() => invoke($1, `is_null-g`, []), [value("i32", 0)]);
+
+// ./test/core/ref_func.wast:58
+assert_return(() => invoke($1, `is_null-v`, []), [value("i32", 0)]);
+
+// ./test/core/ref_func.wast:60
+assert_return(() => invoke($1, `call-f`, [4]), [value("i32", 4)]);
+
+// ./test/core/ref_func.wast:61
+assert_return(() => invoke($1, `call-g`, [4]), [value("i32", 5)]);
+
+// ./test/core/ref_func.wast:62
+assert_return(() => invoke($1, `call-v`, [4]), [value("i32", 4)]);
+
+// ./test/core/ref_func.wast:63
+invoke($1, `set-g`, []);
+
+// ./test/core/ref_func.wast:64
+assert_return(() => invoke($1, `call-v`, [4]), [value("i32", 5)]);
+
+// ./test/core/ref_func.wast:65
+invoke($1, `set-f`, []);
+
+// ./test/core/ref_func.wast:66
+assert_return(() => invoke($1, `call-v`, [4]), [value("i32", 4)]);
+
+// ./test/core/ref_func.wast:68
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f (import "M" "f") (param i32) (result i32))
+ (func $$g (import "M" "g") (param i32) (result i32))
+ (global funcref (ref.func 7))
+ )`),
+ `unknown function 7`,
+);
+
+// ./test/core/ref_func.wast:80
+let $2 = instantiate(`(module
+ (func $$f1)
+ (func $$f2)
+ (func $$f3)
+ (func $$f4)
+ (func $$f5)
+ (func $$f6)
+
+ (table $$t 1 funcref)
+
+ (global funcref (ref.func $$f1))
+ (export "f" (func $$f2))
+ (elem (table $$t) (i32.const 0) func $$f3)
+ (elem (table $$t) (i32.const 0) funcref (ref.func $$f4))
+ (elem func $$f5)
+ (elem funcref (ref.func $$f6))
+
+ (func
+ (ref.func $$f1)
+ (ref.func $$f2)
+ (ref.func $$f3)
+ (ref.func $$f4)
+ (ref.func $$f5)
+ (ref.func $$f6)
+ (return)
+ )
+)`);
+
+// ./test/core/ref_func.wast:108
+assert_invalid(
+ () => instantiate(`(module (func $$f (drop (ref.func $$f))))`),
+ `undeclared function reference`,
+);
+
+// ./test/core/ref_func.wast:112
+assert_invalid(
+ () => instantiate(`(module (start $$f) (func $$f (drop (ref.func $$f))))`),
+ `undeclared function reference`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/function-references/return_call_ref.wast.js b/js/src/jit-test/tests/wasm/spec/function-references/return_call_ref.wast.js
new file mode 100644
index 0000000000..3ea51a8cb0
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/function-references/return_call_ref.wast.js
@@ -0,0 +1,460 @@
+// |jit-test| --wasm-tail-calls; skip-if: !wasmTailCallsEnabled()
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/return_call_ref.wast
+
+// ./test/core/return_call_ref.wast:3
+let $0 = instantiate(`(module
+ ;; Auxiliary definitions
+ (type $$proc (func))
+ (type $$-i32 (func (result i32)))
+ (type $$-i64 (func (result i64)))
+ (type $$-f32 (func (result f32)))
+ (type $$-f64 (func (result f64)))
+
+ (type $$i32-i32 (func (param i32) (result i32)))
+ (type $$i64-i64 (func (param i64) (result i64)))
+ (type $$f32-f32 (func (param f32) (result f32)))
+ (type $$f64-f64 (func (param f64) (result f64)))
+
+ (type $$f32-i32 (func (param f32 i32) (result i32)))
+ (type $$i32-i64 (func (param i32 i64) (result i64)))
+ (type $$f64-f32 (func (param f64 f32) (result f32)))
+ (type $$i64-f64 (func (param i64 f64) (result f64)))
+
+ (type $$i64i64-i64 (func (param i64 i64) (result i64)))
+
+ (func $$const-i32 (result i32) (i32.const 0x132))
+ (func $$const-i64 (result i64) (i64.const 0x164))
+ (func $$const-f32 (result f32) (f32.const 0xf32))
+ (func $$const-f64 (result f64) (f64.const 0xf64))
+
+ (func $$id-i32 (param i32) (result i32) (local.get 0))
+ (func $$id-i64 (param i64) (result i64) (local.get 0))
+ (func $$id-f32 (param f32) (result f32) (local.get 0))
+ (func $$id-f64 (param f64) (result f64) (local.get 0))
+
+ (func $$f32-i32 (param f32 i32) (result i32) (local.get 1))
+ (func $$i32-i64 (param i32 i64) (result i64) (local.get 1))
+ (func $$f64-f32 (param f64 f32) (result f32) (local.get 1))
+ (func $$i64-f64 (param i64 f64) (result f64) (local.get 1))
+
+ (global $$const-i32 (ref $$-i32) (ref.func $$const-i32))
+ (global $$const-i64 (ref $$-i64) (ref.func $$const-i64))
+ (global $$const-f32 (ref $$-f32) (ref.func $$const-f32))
+ (global $$const-f64 (ref $$-f64) (ref.func $$const-f64))
+
+ (global $$id-i32 (ref $$i32-i32) (ref.func $$id-i32))
+ (global $$id-i64 (ref $$i64-i64) (ref.func $$id-i64))
+ (global $$id-f32 (ref $$f32-f32) (ref.func $$id-f32))
+ (global $$id-f64 (ref $$f64-f64) (ref.func $$id-f64))
+
+ (global $$f32-i32 (ref $$f32-i32) (ref.func $$f32-i32))
+ (global $$i32-i64 (ref $$i32-i64) (ref.func $$i32-i64))
+ (global $$f64-f32 (ref $$f64-f32) (ref.func $$f64-f32))
+ (global $$i64-f64 (ref $$i64-f64) (ref.func $$i64-f64))
+
+ (elem declare func
+ $$const-i32 $$const-i64 $$const-f32 $$const-f64
+ $$id-i32 $$id-i64 $$id-f32 $$id-f64
+ $$f32-i32 $$i32-i64 $$f64-f32 $$i64-f64
+ )
+
+ ;; Typing
+
+ (func (export "type-i32") (result i32)
+ (return_call_ref $$-i32 (global.get $$const-i32))
+ )
+ (func (export "type-i64") (result i64)
+ (return_call_ref $$-i64 (global.get $$const-i64))
+ )
+ (func (export "type-f32") (result f32)
+ (return_call_ref $$-f32 (global.get $$const-f32))
+ )
+ (func (export "type-f64") (result f64)
+ (return_call_ref $$-f64 (global.get $$const-f64))
+ )
+
+ (func (export "type-first-i32") (result i32)
+ (return_call_ref $$i32-i32 (i32.const 32) (global.get $$id-i32))
+ )
+ (func (export "type-first-i64") (result i64)
+ (return_call_ref $$i64-i64 (i64.const 64) (global.get $$id-i64))
+ )
+ (func (export "type-first-f32") (result f32)
+ (return_call_ref $$f32-f32 (f32.const 1.32) (global.get $$id-f32))
+ )
+ (func (export "type-first-f64") (result f64)
+ (return_call_ref $$f64-f64 (f64.const 1.64) (global.get $$id-f64))
+ )
+
+ (func (export "type-second-i32") (result i32)
+ (return_call_ref $$f32-i32 (f32.const 32.1) (i32.const 32) (global.get $$f32-i32))
+ )
+ (func (export "type-second-i64") (result i64)
+ (return_call_ref $$i32-i64 (i32.const 32) (i64.const 64) (global.get $$i32-i64))
+ )
+ (func (export "type-second-f32") (result f32)
+ (return_call_ref $$f64-f32 (f64.const 64) (f32.const 32) (global.get $$f64-f32))
+ )
+ (func (export "type-second-f64") (result f64)
+ (return_call_ref $$i64-f64 (i64.const 64) (f64.const 64.1) (global.get $$i64-f64))
+ )
+
+ ;; Null
+
+ (func (export "null")
+ (return_call_ref $$proc (ref.null $$proc))
+ )
+
+ ;; Recursion
+
+ (global $$fac-acc (ref $$i64i64-i64) (ref.func $$fac-acc))
+
+ (elem declare func $$fac-acc)
+ (func $$fac-acc (export "fac-acc") (param i64 i64) (result i64)
+ (if (result i64) (i64.eqz (local.get 0))
+ (then (local.get 1))
+ (else
+ (return_call_ref $$i64i64-i64
+ (i64.sub (local.get 0) (i64.const 1))
+ (i64.mul (local.get 0) (local.get 1))
+ (global.get $$fac-acc)
+ )
+ )
+ )
+ )
+
+ (global $$count (ref $$i64-i64) (ref.func $$count))
+
+ (elem declare func $$count)
+ (func $$count (export "count") (param i64) (result i64)
+ (if (result i64) (i64.eqz (local.get 0))
+ (then (local.get 0))
+ (else
+ (return_call_ref $$i64-i64
+ (i64.sub (local.get 0) (i64.const 1))
+ (global.get $$count)
+ )
+ )
+ )
+ )
+
+ (global $$even (ref $$i64-i64) (ref.func $$even))
+ (global $$odd (ref $$i64-i64) (ref.func $$odd))
+
+ (elem declare func $$even)
+ (func $$even (export "even") (param i64) (result i64)
+ (if (result i64) (i64.eqz (local.get 0))
+ (then (i64.const 44))
+ (else
+ (return_call_ref $$i64-i64
+ (i64.sub (local.get 0) (i64.const 1))
+ (global.get $$odd)
+ )
+ )
+ )
+ )
+ (elem declare func $$odd)
+ (func $$odd (export "odd") (param i64) (result i64)
+ (if (result i64) (i64.eqz (local.get 0))
+ (then (i64.const 99))
+ (else
+ (return_call_ref $$i64-i64
+ (i64.sub (local.get 0) (i64.const 1))
+ (global.get $$even)
+ )
+ )
+ )
+ )
+)`);
+
+// ./test/core/return_call_ref.wast:168
+assert_return(() => invoke($0, `type-i32`, []), [value("i32", 306)]);
+
+// ./test/core/return_call_ref.wast:169
+assert_return(() => invoke($0, `type-i64`, []), [value("i64", 356n)]);
+
+// ./test/core/return_call_ref.wast:170
+assert_return(() => invoke($0, `type-f32`, []), [value("f32", 3890)]);
+
+// ./test/core/return_call_ref.wast:171
+assert_return(() => invoke($0, `type-f64`, []), [value("f64", 3940)]);
+
+// ./test/core/return_call_ref.wast:173
+assert_return(() => invoke($0, `type-first-i32`, []), [value("i32", 32)]);
+
+// ./test/core/return_call_ref.wast:174
+assert_return(() => invoke($0, `type-first-i64`, []), [value("i64", 64n)]);
+
+// ./test/core/return_call_ref.wast:175
+assert_return(() => invoke($0, `type-first-f32`, []), [value("f32", 1.32)]);
+
+// ./test/core/return_call_ref.wast:176
+assert_return(() => invoke($0, `type-first-f64`, []), [value("f64", 1.64)]);
+
+// ./test/core/return_call_ref.wast:178
+assert_return(() => invoke($0, `type-second-i32`, []), [value("i32", 32)]);
+
+// ./test/core/return_call_ref.wast:179
+assert_return(() => invoke($0, `type-second-i64`, []), [value("i64", 64n)]);
+
+// ./test/core/return_call_ref.wast:180
+assert_return(() => invoke($0, `type-second-f32`, []), [value("f32", 32)]);
+
+// ./test/core/return_call_ref.wast:181
+assert_return(() => invoke($0, `type-second-f64`, []), [value("f64", 64.1)]);
+
+// ./test/core/return_call_ref.wast:183
+assert_trap(() => invoke($0, `null`, []), `null function`);
+
+// ./test/core/return_call_ref.wast:185
+assert_return(() => invoke($0, `fac-acc`, [0n, 1n]), [value("i64", 1n)]);
+
+// ./test/core/return_call_ref.wast:186
+assert_return(() => invoke($0, `fac-acc`, [1n, 1n]), [value("i64", 1n)]);
+
+// ./test/core/return_call_ref.wast:187
+assert_return(() => invoke($0, `fac-acc`, [5n, 1n]), [value("i64", 120n)]);
+
+// ./test/core/return_call_ref.wast:188
+assert_return(() => invoke($0, `fac-acc`, [25n, 1n]), [value("i64", 7034535277573963776n)]);
+
+// ./test/core/return_call_ref.wast:193
+assert_return(() => invoke($0, `count`, [0n]), [value("i64", 0n)]);
+
+// ./test/core/return_call_ref.wast:194
+assert_return(() => invoke($0, `count`, [1000n]), [value("i64", 0n)]);
+
+// ./test/core/return_call_ref.wast:195
+assert_return(() => invoke($0, `count`, [1000000n]), [value("i64", 0n)]);
+
+// ./test/core/return_call_ref.wast:197
+assert_return(() => invoke($0, `even`, [0n]), [value("i64", 44n)]);
+
+// ./test/core/return_call_ref.wast:198
+assert_return(() => invoke($0, `even`, [1n]), [value("i64", 99n)]);
+
+// ./test/core/return_call_ref.wast:199
+assert_return(() => invoke($0, `even`, [100n]), [value("i64", 44n)]);
+
+// ./test/core/return_call_ref.wast:200
+assert_return(() => invoke($0, `even`, [77n]), [value("i64", 99n)]);
+
+// ./test/core/return_call_ref.wast:201
+assert_return(() => invoke($0, `even`, [1000000n]), [value("i64", 44n)]);
+
+// ./test/core/return_call_ref.wast:202
+assert_return(() => invoke($0, `even`, [1000001n]), [value("i64", 99n)]);
+
+// ./test/core/return_call_ref.wast:203
+assert_return(() => invoke($0, `odd`, [0n]), [value("i64", 99n)]);
+
+// ./test/core/return_call_ref.wast:204
+assert_return(() => invoke($0, `odd`, [1n]), [value("i64", 44n)]);
+
+// ./test/core/return_call_ref.wast:205
+assert_return(() => invoke($0, `odd`, [200n]), [value("i64", 99n)]);
+
+// ./test/core/return_call_ref.wast:206
+assert_return(() => invoke($0, `odd`, [77n]), [value("i64", 44n)]);
+
+// ./test/core/return_call_ref.wast:207
+assert_return(() => invoke($0, `odd`, [1000000n]), [value("i64", 99n)]);
+
+// ./test/core/return_call_ref.wast:208
+assert_return(() => invoke($0, `odd`, [999999n]), [value("i64", 44n)]);
+
+// ./test/core/return_call_ref.wast:213
+let $1 = instantiate(`(module
+ (type $$t (func))
+ (type $$t1 (func (result (ref $$t))))
+ (type $$t2 (func (result (ref null $$t))))
+ (type $$t3 (func (result (ref func))))
+ (type $$t4 (func (result (ref null func))))
+ (elem declare func $$f11 $$f22 $$f33 $$f44)
+ (func $$f11 (result (ref $$t)) (return_call_ref $$t1 (ref.func $$f11)))
+ (func $$f21 (result (ref null $$t)) (return_call_ref $$t1 (ref.func $$f11)))
+ (func $$f22 (result (ref null $$t)) (return_call_ref $$t2 (ref.func $$f22)))
+ (func $$f31 (result (ref func)) (return_call_ref $$t1 (ref.func $$f11)))
+ (func $$f33 (result (ref func)) (return_call_ref $$t3 (ref.func $$f33)))
+ (func $$f41 (result (ref null func)) (return_call_ref $$t1 (ref.func $$f11)))
+ (func $$f42 (result (ref null func)) (return_call_ref $$t2 (ref.func $$f22)))
+ (func $$f43 (result (ref null func)) (return_call_ref $$t3 (ref.func $$f33)))
+ (func $$f44 (result (ref null func)) (return_call_ref $$t4 (ref.func $$f44)))
+)`);
+
+// ./test/core/return_call_ref.wast:231
+assert_invalid(
+ () => instantiate(`(module
+ (type $$t (func))
+ (type $$t2 (func (result (ref null $$t))))
+ (elem declare func $$f22)
+ (func $$f12 (result (ref $$t)) (return_call_ref $$t2 (ref.func $$f22)))
+ (func $$f22 (result (ref null $$t)) (return_call_ref $$t2 (ref.func $$f22)))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/return_call_ref.wast:242
+assert_invalid(
+ () => instantiate(`(module
+ (type $$t (func))
+ (type $$t3 (func (result (ref func))))
+ (elem declare func $$f33)
+ (func $$f13 (result (ref $$t)) (return_call_ref $$t3 (ref.func $$f33)))
+ (func $$f33 (result (ref func)) (return_call_ref $$t3 (ref.func $$f33)))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/return_call_ref.wast:253
+assert_invalid(
+ () => instantiate(`(module
+ (type $$t (func))
+ (type $$t4 (func (result (ref null func))))
+ (elem declare func $$f44)
+ (func $$f14 (result (ref $$t)) (return_call_ref $$t4 (ref.func $$f44)))
+ (func $$f44 (result (ref null func)) (return_call_ref $$t4 (ref.func $$f44)))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/return_call_ref.wast:264
+assert_invalid(
+ () => instantiate(`(module
+ (type $$t (func))
+ (type $$t3 (func (result (ref func))))
+ (elem declare func $$f33)
+ (func $$f23 (result (ref null $$t)) (return_call_ref $$t3 (ref.func $$f33)))
+ (func $$f33 (result (ref func)) (return_call_ref $$t3 (ref.func $$f33)))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/return_call_ref.wast:275
+assert_invalid(
+ () => instantiate(`(module
+ (type $$t (func))
+ (type $$t4 (func (result (ref null func))))
+ (elem declare func $$f44)
+ (func $$f24 (result (ref null $$t)) (return_call_ref $$t4 (ref.func $$f44)))
+ (func $$f44 (result (ref null func)) (return_call_ref $$t4 (ref.func $$f44)))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/return_call_ref.wast:286
+assert_invalid(
+ () => instantiate(`(module
+ (type $$t4 (func (result (ref null func))))
+ (elem declare func $$f44)
+ (func $$f34 (result (ref func)) (return_call_ref $$t4 (ref.func $$f44)))
+ (func $$f44 (result (ref null func)) (return_call_ref $$t4 (ref.func $$f44)))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/return_call_ref.wast:299
+let $2 = instantiate(`(module
+ (type $$t (func (result i32)))
+ (func (export "unreachable") (result i32)
+ (unreachable)
+ (return_call_ref $$t)
+ )
+)`);
+
+// ./test/core/return_call_ref.wast:306
+assert_trap(() => invoke($2, `unreachable`, []), `unreachable`);
+
+// ./test/core/return_call_ref.wast:308
+let $3 = instantiate(`(module
+ (elem declare func $$f)
+ (type $$t (func (param i32) (result i32)))
+ (func $$f (param i32) (result i32) (local.get 0))
+
+ (func (export "unreachable") (result i32)
+ (unreachable)
+ (ref.func $$f)
+ (return_call_ref $$t)
+ )
+)`);
+
+// ./test/core/return_call_ref.wast:319
+assert_trap(() => invoke($3, `unreachable`, []), `unreachable`);
+
+// ./test/core/return_call_ref.wast:321
+let $4 = instantiate(`(module
+ (elem declare func $$f)
+ (type $$t (func (param i32) (result i32)))
+ (func $$f (param i32) (result i32) (local.get 0))
+
+ (func (export "unreachable") (result i32)
+ (unreachable)
+ (i32.const 0)
+ (ref.func $$f)
+ (return_call_ref $$t)
+ (i32.const 0)
+ )
+)`);
+
+// ./test/core/return_call_ref.wast:334
+assert_trap(() => invoke($4, `unreachable`, []), `unreachable`);
+
+// ./test/core/return_call_ref.wast:336
+assert_invalid(
+ () => instantiate(`(module
+ (elem declare func $$f)
+ (type $$t (func (param i32) (result i32)))
+ (func $$f (param i32) (result i32) (local.get 0))
+
+ (func (export "unreachable") (result i32)
+ (unreachable)
+ (i64.const 0)
+ (ref.func $$f)
+ (return_call_ref $$t)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/return_call_ref.wast:352
+assert_invalid(
+ () => instantiate(`(module
+ (elem declare func $$f)
+ (type $$t (func (param i32) (result i32)))
+ (func $$f (param i32) (result i32) (local.get 0))
+
+ (func (export "unreachable") (result i32)
+ (unreachable)
+ (ref.func $$f)
+ (return_call_ref $$t)
+ (i64.const 0)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/return_call_ref.wast:368
+assert_invalid(
+ () => instantiate(`(module
+ (type $$t (func))
+ (func $$f (param $$r externref)
+ (return_call_ref $$t (local.get $$r))
+ )
+ )`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/function-references/unreached-valid.wast.js b/js/src/jit-test/tests/wasm/spec/function-references/unreached-valid.wast.js
new file mode 100644
index 0000000000..e25a157431
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/function-references/unreached-valid.wast.js
@@ -0,0 +1,109 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/unreached-valid.wast
+
+// ./test/core/unreached-valid.wast:1
+let $0 = instantiate(`(module
+
+ ;; Check that both sides of the select are evaluated
+ (func (export "select-trap-left") (param $$cond i32) (result i32)
+ (select (unreachable) (i32.const 0) (local.get $$cond))
+ )
+ (func (export "select-trap-right") (param $$cond i32) (result i32)
+ (select (i32.const 0) (unreachable) (local.get $$cond))
+ )
+
+ (func (export "select-unreached")
+ (unreachable) (select)
+ (unreachable) (i32.const 0) (select)
+ (unreachable) (i32.const 0) (i32.const 0) (select)
+ (unreachable) (i32.const 0) (i32.const 0) (i32.const 0) (select)
+ (unreachable) (f32.const 0) (i32.const 0) (select)
+ (unreachable)
+ )
+
+ (func (export "select-unreached-result1") (result i32)
+ (unreachable) (i32.add (select))
+ )
+
+ (func (export "select-unreached-result2") (result i64)
+ (unreachable) (i64.add (select (i64.const 0) (i32.const 0)))
+ )
+
+ (func (export "select-unreached-num")
+ (unreachable)
+ (select)
+ (i32.eqz)
+ (drop)
+ )
+ (func (export "select-unreached-ref")
+ (unreachable)
+ (select)
+ (ref.is_null)
+ (drop)
+ )
+
+ (type $$t (func (param i32) (result i32)))
+ (func (export "call_ref-unreached") (result i32)
+ (unreachable)
+ (call_ref $$t)
+ )
+)`);
+
+// ./test/core/unreached-valid.wast:48
+assert_trap(() => invoke($0, `select-trap-left`, [1]), `unreachable`);
+
+// ./test/core/unreached-valid.wast:49
+assert_trap(() => invoke($0, `select-trap-left`, [0]), `unreachable`);
+
+// ./test/core/unreached-valid.wast:50
+assert_trap(() => invoke($0, `select-trap-right`, [1]), `unreachable`);
+
+// ./test/core/unreached-valid.wast:51
+assert_trap(() => invoke($0, `select-trap-right`, [0]), `unreachable`);
+
+// ./test/core/unreached-valid.wast:53
+assert_trap(() => invoke($0, `select-unreached-result1`, []), `unreachable`);
+
+// ./test/core/unreached-valid.wast:54
+assert_trap(() => invoke($0, `select-unreached-result2`, []), `unreachable`);
+
+// ./test/core/unreached-valid.wast:55
+assert_trap(() => invoke($0, `select-unreached-num`, []), `unreachable`);
+
+// ./test/core/unreached-valid.wast:56
+assert_trap(() => invoke($0, `select-unreached-ref`, []), `unreachable`);
+
+// ./test/core/unreached-valid.wast:58
+assert_trap(() => invoke($0, `call_ref-unreached`, []), `unreachable`);
+
+// ./test/core/unreached-valid.wast:63
+let $1 = instantiate(`(module
+ (func (export "meet-bottom")
+ (block (result f64)
+ (block (result f32)
+ (unreachable)
+ (br_table 0 1 1 (i32.const 1))
+ )
+ (drop)
+ (f64.const 0)
+ )
+ (drop)
+ )
+)`);
+
+// ./test/core/unreached-valid.wast:77
+assert_trap(() => invoke($1, `meet-bottom`, []), `unreachable`);
diff --git a/js/src/jit-test/tests/wasm/spec/gc/array.wast.js b/js/src/jit-test/tests/wasm/spec/gc/array.wast.js
new file mode 100644
index 0000000000..4161a6b5f9
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/gc/array.wast.js
@@ -0,0 +1,385 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/gc/array.wast
+
+// ./test/core/gc/array.wast:3
+let $0 = instantiate(`(module
+ (type (array i8))
+ (type (array i16))
+ (type (array i32))
+ (type (array i64))
+ (type (array f32))
+ (type (array f64))
+ (type (array anyref))
+ (type (array (ref struct)))
+ (type (array (ref 0)))
+ (type (array (ref null 1)))
+ (type (array (mut i8)))
+ (type (array (mut i16)))
+ (type (array (mut i32)))
+ (type (array (mut i64)))
+ (type (array (mut i32)))
+ (type (array (mut i64)))
+ (type (array (mut anyref)))
+ (type (array (mut (ref struct))))
+ (type (array (mut (ref 0))))
+ (type (array (mut (ref null i31))))
+)`);
+
+// ./test/core/gc/array.wast:27
+assert_invalid(
+ () => instantiate(`(module
+ (type (array (mut (ref null 10))))
+ )`),
+ `unknown type`,
+);
+
+// ./test/core/gc/array.wast:37
+let $1 = instantiate(`(module
+ (rec
+ (type $$s0 (array (ref $$s1)))
+ (type $$s1 (array (ref $$s0)))
+ )
+
+ (func (param (ref $$forward)))
+
+ (type $$forward (array i32))
+)`);
+
+// ./test/core/gc/array.wast:48
+assert_invalid(() => instantiate(`(module (type (array (ref 1))))`), `unknown type`);
+
+// ./test/core/gc/array.wast:52
+assert_invalid(() => instantiate(`(module (type (array (mut (ref 1)))))`), `unknown type`);
+
+// ./test/core/gc/array.wast:60
+let $2 = instantiate(`(module
+ (type $$vec (array f32))
+ (type $$mvec (array (mut f32)))
+
+ (global (ref $$vec) (array.new $$vec (f32.const 1) (i32.const 3)))
+ (global (ref $$vec) (array.new_default $$vec (i32.const 3)))
+
+ (func $$new (export "new") (result (ref $$vec))
+ (array.new_default $$vec (i32.const 3))
+ )
+
+ (func $$get (param $$i i32) (param $$v (ref $$vec)) (result f32)
+ (array.get $$vec (local.get $$v) (local.get $$i))
+ )
+ (func (export "get") (param $$i i32) (result f32)
+ (call $$get (local.get $$i) (call $$new))
+ )
+
+ (func $$set_get (param $$i i32) (param $$v (ref $$mvec)) (param $$y f32) (result f32)
+ (array.set $$mvec (local.get $$v) (local.get $$i) (local.get $$y))
+ (array.get $$mvec (local.get $$v) (local.get $$i))
+ )
+ (func (export "set_get") (param $$i i32) (param $$y f32) (result f32)
+ (call $$set_get (local.get $$i)
+ (array.new_default $$mvec (i32.const 3))
+ (local.get $$y)
+ )
+ )
+
+ (func $$len (param $$v (ref array)) (result i32)
+ (array.len (local.get $$v))
+ )
+ (func (export "len") (result i32)
+ (call $$len (call $$new))
+ )
+)`);
+
+// ./test/core/gc/array.wast:97
+assert_return(() => invoke($2, `new`, []), [new RefWithType('arrayref')]);
+
+// ./test/core/gc/array.wast:98
+assert_return(() => invoke($2, `new`, []), [new RefWithType('eqref')]);
+
+// ./test/core/gc/array.wast:99
+assert_return(() => invoke($2, `get`, [0]), [value("f32", 0)]);
+
+// ./test/core/gc/array.wast:100
+assert_return(() => invoke($2, `set_get`, [1, value("f32", 7)]), [value("f32", 7)]);
+
+// ./test/core/gc/array.wast:101
+assert_return(() => invoke($2, `len`, []), [value("i32", 3)]);
+
+// ./test/core/gc/array.wast:103
+assert_trap(() => invoke($2, `get`, [10]), `out of bounds array access`);
+
+// ./test/core/gc/array.wast:104
+assert_trap(() => invoke($2, `set_get`, [10, value("f32", 7)]), `out of bounds array access`);
+
+// ./test/core/gc/array.wast:106
+let $3 = instantiate(`(module
+ (type $$vec (array f32))
+ (type $$mvec (array (mut f32)))
+
+ (global (ref $$vec) (array.new_fixed $$vec 2 (f32.const 1) (f32.const 2)))
+
+ (func $$new (export "new") (result (ref $$vec))
+ (array.new_fixed $$vec 2 (f32.const 1) (f32.const 2))
+ )
+
+ (func $$get (param $$i i32) (param $$v (ref $$vec)) (result f32)
+ (array.get $$vec (local.get $$v) (local.get $$i))
+ )
+ (func (export "get") (param $$i i32) (result f32)
+ (call $$get (local.get $$i) (call $$new))
+ )
+
+ (func $$set_get (param $$i i32) (param $$v (ref $$mvec)) (param $$y f32) (result f32)
+ (array.set $$mvec (local.get $$v) (local.get $$i) (local.get $$y))
+ (array.get $$mvec (local.get $$v) (local.get $$i))
+ )
+ (func (export "set_get") (param $$i i32) (param $$y f32) (result f32)
+ (call $$set_get (local.get $$i)
+ (array.new_fixed $$mvec 3 (f32.const 1) (f32.const 2) (f32.const 3))
+ (local.get $$y)
+ )
+ )
+
+ (func $$len (param $$v (ref array)) (result i32)
+ (array.len (local.get $$v))
+ )
+ (func (export "len") (result i32)
+ (call $$len (call $$new))
+ )
+)`);
+
+// ./test/core/gc/array.wast:142
+assert_return(() => invoke($3, `new`, []), [new RefWithType('arrayref')]);
+
+// ./test/core/gc/array.wast:143
+assert_return(() => invoke($3, `new`, []), [new RefWithType('eqref')]);
+
+// ./test/core/gc/array.wast:144
+assert_return(() => invoke($3, `get`, [0]), [value("f32", 1)]);
+
+// ./test/core/gc/array.wast:145
+assert_return(() => invoke($3, `set_get`, [1, value("f32", 7)]), [value("f32", 7)]);
+
+// ./test/core/gc/array.wast:146
+assert_return(() => invoke($3, `len`, []), [value("i32", 2)]);
+
+// ./test/core/gc/array.wast:148
+assert_trap(() => invoke($3, `get`, [10]), `out of bounds array access`);
+
+// ./test/core/gc/array.wast:149
+assert_trap(() => invoke($3, `set_get`, [10, value("f32", 7)]), `out of bounds array access`);
+
+// ./test/core/gc/array.wast:151
+let $4 = instantiate(`(module
+ (type $$vec (array i8))
+ (type $$mvec (array (mut i8)))
+
+ (data $$d "\\00\\01\\02\\ff\\04")
+
+ (func $$new (export "new") (result (ref $$vec))
+ (array.new_data $$vec $$d (i32.const 1) (i32.const 3))
+ )
+
+ (func $$get_u (param $$i i32) (param $$v (ref $$vec)) (result i32)
+ (array.get_u $$vec (local.get $$v) (local.get $$i))
+ )
+ (func (export "get_u") (param $$i i32) (result i32)
+ (call $$get_u (local.get $$i) (call $$new))
+ )
+
+ (func $$get_s (param $$i i32) (param $$v (ref $$vec)) (result i32)
+ (array.get_s $$vec (local.get $$v) (local.get $$i))
+ )
+ (func (export "get_s") (param $$i i32) (result i32)
+ (call $$get_s (local.get $$i) (call $$new))
+ )
+
+ (func $$set_get (param $$i i32) (param $$v (ref $$mvec)) (param $$y i32) (result i32)
+ (array.set $$mvec (local.get $$v) (local.get $$i) (local.get $$y))
+ (array.get_u $$mvec (local.get $$v) (local.get $$i))
+ )
+ (func (export "set_get") (param $$i i32) (param $$y i32) (result i32)
+ (call $$set_get (local.get $$i)
+ (array.new_data $$mvec $$d (i32.const 1) (i32.const 3))
+ (local.get $$y)
+ )
+ )
+
+ (func $$len (param $$v (ref array)) (result i32)
+ (array.len (local.get $$v))
+ )
+ (func (export "len") (result i32)
+ (call $$len (call $$new))
+ )
+)`);
+
+// ./test/core/gc/array.wast:194
+assert_return(() => invoke($4, `new`, []), [new RefWithType('arrayref')]);
+
+// ./test/core/gc/array.wast:195
+assert_return(() => invoke($4, `new`, []), [new RefWithType('eqref')]);
+
+// ./test/core/gc/array.wast:196
+assert_return(() => invoke($4, `get_u`, [2]), [value("i32", 255)]);
+
+// ./test/core/gc/array.wast:197
+assert_return(() => invoke($4, `get_s`, [2]), [value("i32", -1)]);
+
+// ./test/core/gc/array.wast:198
+assert_return(() => invoke($4, `set_get`, [1, 7]), [value("i32", 7)]);
+
+// ./test/core/gc/array.wast:199
+assert_return(() => invoke($4, `len`, []), [value("i32", 3)]);
+
+// ./test/core/gc/array.wast:201
+assert_trap(() => invoke($4, `get_u`, [10]), `out of bounds array access`);
+
+// ./test/core/gc/array.wast:202
+assert_trap(() => invoke($4, `get_s`, [10]), `out of bounds array access`);
+
+// ./test/core/gc/array.wast:203
+assert_trap(() => invoke($4, `set_get`, [10, 7]), `out of bounds array access`);
+
+// ./test/core/gc/array.wast:205
+let $5 = instantiate(`(module
+ (type $$bvec (array i8))
+ (type $$vec (array (ref $$bvec)))
+ (type $$mvec (array (mut (ref $$bvec))))
+ (type $$nvec (array (ref null $$bvec)))
+ (type $$avec (array (mut anyref)))
+
+ (elem $$e (ref $$bvec)
+ (array.new $$bvec (i32.const 7) (i32.const 3))
+ (array.new_fixed $$bvec 2 (i32.const 1) (i32.const 2))
+ )
+
+ (func $$new (export "new") (result (ref $$vec))
+ (array.new_elem $$vec $$e (i32.const 0) (i32.const 2))
+ )
+
+ (func $$sub1 (result (ref $$nvec))
+ (array.new_elem $$nvec $$e (i32.const 0) (i32.const 2))
+ )
+ (func $$sub2 (result (ref $$avec))
+ (array.new_elem $$avec $$e (i32.const 0) (i32.const 2))
+ )
+
+ (func $$get (param $$i i32) (param $$j i32) (param $$v (ref $$vec)) (result i32)
+ (array.get_u $$bvec (array.get $$vec (local.get $$v) (local.get $$i)) (local.get $$j))
+ )
+ (func (export "get") (param $$i i32) (param $$j i32) (result i32)
+ (call $$get (local.get $$i) (local.get $$j) (call $$new))
+ )
+
+ (func $$set_get (param $$i i32) (param $$j i32) (param $$v (ref $$mvec)) (param $$y i32) (result i32)
+ (array.set $$mvec (local.get $$v) (local.get $$i) (array.get $$mvec (local.get $$v) (local.get $$y)))
+ (array.get_u $$bvec (array.get $$mvec (local.get $$v) (local.get $$i)) (local.get $$j))
+ )
+ (func (export "set_get") (param $$i i32) (param $$j i32) (param $$y i32) (result i32)
+ (call $$set_get (local.get $$i) (local.get $$j)
+ (array.new_elem $$mvec $$e (i32.const 0) (i32.const 2))
+ (local.get $$y)
+ )
+ )
+
+ (func $$len (param $$v (ref array)) (result i32)
+ (array.len (local.get $$v))
+ )
+ (func (export "len") (result i32)
+ (call $$len (call $$new))
+ )
+)`);
+
+// ./test/core/gc/array.wast:254
+assert_return(() => invoke($5, `new`, []), [new RefWithType('arrayref')]);
+
+// ./test/core/gc/array.wast:255
+assert_return(() => invoke($5, `new`, []), [new RefWithType('eqref')]);
+
+// ./test/core/gc/array.wast:256
+assert_return(() => invoke($5, `get`, [0, 0]), [value("i32", 7)]);
+
+// ./test/core/gc/array.wast:257
+assert_return(() => invoke($5, `get`, [1, 0]), [value("i32", 1)]);
+
+// ./test/core/gc/array.wast:258
+assert_return(() => invoke($5, `set_get`, [0, 1, 1]), [value("i32", 2)]);
+
+// ./test/core/gc/array.wast:259
+assert_return(() => invoke($5, `len`, []), [value("i32", 2)]);
+
+// ./test/core/gc/array.wast:261
+assert_trap(() => invoke($5, `get`, [10, 0]), `out of bounds array access`);
+
+// ./test/core/gc/array.wast:262
+assert_trap(() => invoke($5, `set_get`, [10, 0, 0]), `out of bounds array access`);
+
+// ./test/core/gc/array.wast:264
+assert_invalid(
+ () => instantiate(`(module
+ (type $$a (array i64))
+ (func (export "array.set-immutable") (param $$a (ref $$a))
+ (array.set $$a (local.get $$a) (i32.const 0) (i64.const 1))
+ )
+ )`),
+ `array is immutable`,
+);
+
+// ./test/core/gc/array.wast:274
+assert_invalid(
+ () => instantiate(`(module
+ (type $$bvec (array i8))
+
+ (data $$d "\\00\\01\\02\\03\\04")
+
+ (global (ref $$bvec)
+ (array.new_data $$bvec $$d (i32.const 1) (i32.const 3))
+ )
+ )`),
+ `constant expression required`,
+);
+
+// ./test/core/gc/array.wast:287
+assert_invalid(
+ () => instantiate(`(module
+ (type $$bvec (array i8))
+ (type $$vvec (array (ref $$bvec)))
+
+ (elem $$e (ref $$bvec) (ref.null $$bvec))
+
+ (global (ref $$vvec)
+ (array.new_elem $$vvec $$e (i32.const 0) (i32.const 1))
+ )
+ )`),
+ `constant expression required`,
+);
+
+// ./test/core/gc/array.wast:304
+let $6 = instantiate(`(module
+ (type $$t (array (mut i32)))
+ (func (export "array.get-null")
+ (local (ref null $$t)) (drop (array.get $$t (local.get 0) (i32.const 0)))
+ )
+ (func (export "array.set-null")
+ (local (ref null $$t)) (array.set $$t (local.get 0) (i32.const 0) (i32.const 0))
+ )
+)`);
+
+// ./test/core/gc/array.wast:314
+assert_trap(() => invoke($6, `array.get-null`, []), `null array reference`);
+
+// ./test/core/gc/array.wast:315
+assert_trap(() => invoke($6, `array.set-null`, []), `null array reference`);
diff --git a/js/src/jit-test/tests/wasm/spec/gc/array_copy.wast.js b/js/src/jit-test/tests/wasm/spec/gc/array_copy.wast.js
new file mode 100644
index 0000000000..0109df19e9
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/gc/array_copy.wast.js
@@ -0,0 +1,202 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/gc/array_copy.wast
+
+// ./test/core/gc/array_copy.wast:5
+assert_invalid(
+ () => instantiate(`(module
+ (type $$a (array i8))
+ (type $$b (array (mut i8)))
+
+ (func (export "array.copy-immutable") (param $$1 (ref $$a)) (param $$2 (ref $$b))
+ (array.copy $$a $$b (local.get $$1) (i32.const 0) (local.get $$2) (i32.const 0) (i32.const 0))
+ )
+ )`),
+ `array is immutable`,
+);
+
+// ./test/core/gc/array_copy.wast:17
+assert_invalid(
+ () => instantiate(`(module
+ (type $$a (array (mut i8)))
+ (type $$b (array i16))
+
+ (func (export "array.copy-packed-invalid") (param $$1 (ref $$a)) (param $$2 (ref $$b))
+ (array.copy $$a $$b (local.get $$1) (i32.const 0) (local.get $$2) (i32.const 0) (i32.const 0))
+ )
+ )`),
+ `array types do not match`,
+);
+
+// ./test/core/gc/array_copy.wast:29
+assert_invalid(
+ () => instantiate(`(module
+ (type $$a (array (mut i8)))
+ (type $$b (array (mut (ref $$a))))
+
+ (func (export "array.copy-ref-invalid-1") (param $$1 (ref $$a)) (param $$2 (ref $$b))
+ (array.copy $$a $$b (local.get $$1) (i32.const 0) (local.get $$2) (i32.const 0) (i32.const 0))
+ )
+ )`),
+ `array types do not match`,
+);
+
+// ./test/core/gc/array_copy.wast:41
+assert_invalid(
+ () => instantiate(`(module
+ (type $$a (array (mut i8)))
+ (type $$b (array (mut (ref $$a))))
+ (type $$c (array (mut (ref $$b))))
+
+ (func (export "array.copy-ref-invalid-1") (param $$1 (ref $$b)) (param $$2 (ref $$c))
+ (array.copy $$b $$c (local.get $$1) (i32.const 0) (local.get $$2) (i32.const 0) (i32.const 0))
+ )
+ )`),
+ `array types do not match`,
+);
+
+// ./test/core/gc/array_copy.wast:54
+let $0 = instantiate(`(module
+ (type $$arr8 (array i8))
+ (type $$arr8_mut (array (mut i8)))
+
+ (global $$g_arr8 (ref $$arr8) (array.new $$arr8 (i32.const 10) (i32.const 12)))
+ (global $$g_arr8_mut (mut (ref $$arr8_mut)) (array.new_default $$arr8_mut (i32.const 12)))
+
+ (data $$d1 "abcdefghijkl")
+
+ (func (export "array_get_nth") (param $$1 i32) (result i32)
+ (array.get_u $$arr8_mut (global.get $$g_arr8_mut) (local.get $$1))
+ )
+
+ (func (export "array_copy-null-left")
+ (array.copy $$arr8_mut $$arr8 (ref.null $$arr8_mut) (i32.const 0) (global.get $$g_arr8) (i32.const 0) (i32.const 0))
+ )
+
+ (func (export "array_copy-null-right")
+ (array.copy $$arr8_mut $$arr8 (global.get $$g_arr8_mut) (i32.const 0) (ref.null $$arr8) (i32.const 0) (i32.const 0))
+ )
+
+ (func (export "array_copy") (param $$1 i32) (param $$2 i32) (param $$3 i32)
+ (array.copy $$arr8_mut $$arr8 (global.get $$g_arr8_mut) (local.get $$1) (global.get $$g_arr8) (local.get $$2) (local.get $$3))
+ )
+
+ (func (export "array_copy_overlap_test-1")
+ (local $$1 (ref $$arr8_mut))
+ (array.new_data $$arr8_mut $$d1 (i32.const 0) (i32.const 12))
+ (local.set $$1)
+ (array.copy $$arr8_mut $$arr8_mut (local.get $$1) (i32.const 1) (local.get $$1) (i32.const 0) (i32.const 11))
+ (global.set $$g_arr8_mut (local.get $$1))
+ )
+
+ (func (export "array_copy_overlap_test-2")
+ (local $$1 (ref $$arr8_mut))
+ (array.new_data $$arr8_mut $$d1 (i32.const 0) (i32.const 12))
+ (local.set $$1)
+ (array.copy $$arr8_mut $$arr8_mut (local.get $$1) (i32.const 0) (local.get $$1) (i32.const 1) (i32.const 11))
+ (global.set $$g_arr8_mut (local.get $$1))
+ )
+)`);
+
+// ./test/core/gc/array_copy.wast:97
+assert_trap(() => invoke($0, `array_copy-null-left`, []), `null array reference`);
+
+// ./test/core/gc/array_copy.wast:98
+assert_trap(() => invoke($0, `array_copy-null-right`, []), `null array reference`);
+
+// ./test/core/gc/array_copy.wast:101
+assert_trap(() => invoke($0, `array_copy`, [13, 0, 0]), `out of bounds array access`);
+
+// ./test/core/gc/array_copy.wast:102
+assert_trap(() => invoke($0, `array_copy`, [0, 13, 0]), `out of bounds array access`);
+
+// ./test/core/gc/array_copy.wast:105
+assert_trap(() => invoke($0, `array_copy`, [0, 0, 13]), `out of bounds array access`);
+
+// ./test/core/gc/array_copy.wast:106
+assert_trap(() => invoke($0, `array_copy`, [0, 0, 13]), `out of bounds array access`);
+
+// ./test/core/gc/array_copy.wast:109
+assert_return(() => invoke($0, `array_copy`, [12, 0, 0]), []);
+
+// ./test/core/gc/array_copy.wast:110
+assert_return(() => invoke($0, `array_copy`, [0, 12, 0]), []);
+
+// ./test/core/gc/array_copy.wast:113
+assert_return(() => invoke($0, `array_get_nth`, [0]), [value("i32", 0)]);
+
+// ./test/core/gc/array_copy.wast:114
+assert_return(() => invoke($0, `array_get_nth`, [5]), [value("i32", 0)]);
+
+// ./test/core/gc/array_copy.wast:115
+assert_return(() => invoke($0, `array_get_nth`, [11]), [value("i32", 0)]);
+
+// ./test/core/gc/array_copy.wast:116
+assert_trap(() => invoke($0, `array_get_nth`, [12]), `out of bounds array access`);
+
+// ./test/core/gc/array_copy.wast:119
+assert_return(() => invoke($0, `array_copy`, [0, 0, 2]), []);
+
+// ./test/core/gc/array_copy.wast:120
+assert_return(() => invoke($0, `array_get_nth`, [0]), [value("i32", 10)]);
+
+// ./test/core/gc/array_copy.wast:121
+assert_return(() => invoke($0, `array_get_nth`, [1]), [value("i32", 10)]);
+
+// ./test/core/gc/array_copy.wast:122
+assert_return(() => invoke($0, `array_get_nth`, [2]), [value("i32", 0)]);
+
+// ./test/core/gc/array_copy.wast:125
+assert_return(() => invoke($0, `array_copy_overlap_test-1`, []), []);
+
+// ./test/core/gc/array_copy.wast:126
+assert_return(() => invoke($0, `array_get_nth`, [0]), [value("i32", 97)]);
+
+// ./test/core/gc/array_copy.wast:127
+assert_return(() => invoke($0, `array_get_nth`, [1]), [value("i32", 97)]);
+
+// ./test/core/gc/array_copy.wast:128
+assert_return(() => invoke($0, `array_get_nth`, [2]), [value("i32", 98)]);
+
+// ./test/core/gc/array_copy.wast:129
+assert_return(() => invoke($0, `array_get_nth`, [5]), [value("i32", 101)]);
+
+// ./test/core/gc/array_copy.wast:130
+assert_return(() => invoke($0, `array_get_nth`, [10]), [value("i32", 106)]);
+
+// ./test/core/gc/array_copy.wast:131
+assert_return(() => invoke($0, `array_get_nth`, [11]), [value("i32", 107)]);
+
+// ./test/core/gc/array_copy.wast:133
+assert_return(() => invoke($0, `array_copy_overlap_test-2`, []), []);
+
+// ./test/core/gc/array_copy.wast:134
+assert_return(() => invoke($0, `array_get_nth`, [0]), [value("i32", 98)]);
+
+// ./test/core/gc/array_copy.wast:135
+assert_return(() => invoke($0, `array_get_nth`, [1]), [value("i32", 99)]);
+
+// ./test/core/gc/array_copy.wast:136
+assert_return(() => invoke($0, `array_get_nth`, [5]), [value("i32", 103)]);
+
+// ./test/core/gc/array_copy.wast:137
+assert_return(() => invoke($0, `array_get_nth`, [9]), [value("i32", 107)]);
+
+// ./test/core/gc/array_copy.wast:138
+assert_return(() => invoke($0, `array_get_nth`, [10]), [value("i32", 108)]);
+
+// ./test/core/gc/array_copy.wast:139
+assert_return(() => invoke($0, `array_get_nth`, [11]), [value("i32", 108)]);
diff --git a/js/src/jit-test/tests/wasm/spec/gc/array_fill.wast.js b/js/src/jit-test/tests/wasm/spec/gc/array_fill.wast.js
new file mode 100644
index 0000000000..271b1690c4
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/gc/array_fill.wast.js
@@ -0,0 +1,112 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/gc/array_fill.wast
+
+// ./test/core/gc/array_fill.wast:5
+assert_invalid(
+ () => instantiate(`(module
+ (type $$a (array i8))
+
+ (func (export "array.fill-immutable") (param $$1 (ref $$a)) (param $$2 i32)
+ (array.fill $$a (local.get $$1) (i32.const 0) (local.get $$2) (i32.const 0))
+ )
+ )`),
+ `array is immutable`,
+);
+
+// ./test/core/gc/array_fill.wast:16
+assert_invalid(
+ () => instantiate(`(module
+ (type $$a (array (mut i8)))
+
+ (func (export "array.fill-invalid-1") (param $$1 (ref $$a)) (param $$2 funcref)
+ (array.fill $$a (local.get $$1) (i32.const 0) (local.get $$2) (i32.const 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/gc/array_fill.wast:27
+assert_invalid(
+ () => instantiate(`(module
+ (type $$b (array (mut funcref)))
+
+ (func (export "array.fill-invalid-1") (param $$1 (ref $$b)) (param $$2 i32)
+ (array.fill $$b (local.get $$1) (i32.const 0) (local.get $$2) (i32.const 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/gc/array_fill.wast:38
+let $0 = instantiate(`(module
+ (type $$arr8 (array i8))
+ (type $$arr8_mut (array (mut i8)))
+
+ (global $$g_arr8 (ref $$arr8) (array.new $$arr8 (i32.const 10) (i32.const 12)))
+ (global $$g_arr8_mut (mut (ref $$arr8_mut)) (array.new_default $$arr8_mut (i32.const 12)))
+
+ (func (export "array_get_nth") (param $$1 i32) (result i32)
+ (array.get_u $$arr8_mut (global.get $$g_arr8_mut) (local.get $$1))
+ )
+
+ (func (export "array_fill-null")
+ (array.fill $$arr8_mut (ref.null $$arr8_mut) (i32.const 0) (i32.const 0) (i32.const 0))
+ )
+
+ (func (export "array_fill") (param $$1 i32) (param $$2 i32) (param $$3 i32)
+ (array.fill $$arr8_mut (global.get $$g_arr8_mut) (local.get $$1) (local.get $$2) (local.get $$3))
+ )
+)`);
+
+// ./test/core/gc/array_fill.wast:59
+assert_trap(() => invoke($0, `array_fill-null`, []), `null array reference`);
+
+// ./test/core/gc/array_fill.wast:62
+assert_trap(() => invoke($0, `array_fill`, [13, 0, 0]), `out of bounds array access`);
+
+// ./test/core/gc/array_fill.wast:65
+assert_trap(() => invoke($0, `array_fill`, [0, 0, 13]), `out of bounds array access`);
+
+// ./test/core/gc/array_fill.wast:68
+assert_return(() => invoke($0, `array_fill`, [12, 0, 0]), []);
+
+// ./test/core/gc/array_fill.wast:71
+assert_return(() => invoke($0, `array_get_nth`, [0]), [value("i32", 0)]);
+
+// ./test/core/gc/array_fill.wast:72
+assert_return(() => invoke($0, `array_get_nth`, [5]), [value("i32", 0)]);
+
+// ./test/core/gc/array_fill.wast:73
+assert_return(() => invoke($0, `array_get_nth`, [11]), [value("i32", 0)]);
+
+// ./test/core/gc/array_fill.wast:74
+assert_trap(() => invoke($0, `array_get_nth`, [12]), `out of bounds array access`);
+
+// ./test/core/gc/array_fill.wast:77
+assert_return(() => invoke($0, `array_fill`, [2, 11, 2]), []);
+
+// ./test/core/gc/array_fill.wast:78
+assert_return(() => invoke($0, `array_get_nth`, [1]), [value("i32", 0)]);
+
+// ./test/core/gc/array_fill.wast:79
+assert_return(() => invoke($0, `array_get_nth`, [2]), [value("i32", 11)]);
+
+// ./test/core/gc/array_fill.wast:80
+assert_return(() => invoke($0, `array_get_nth`, [3]), [value("i32", 11)]);
+
+// ./test/core/gc/array_fill.wast:81
+assert_return(() => invoke($0, `array_get_nth`, [4]), [value("i32", 0)]);
diff --git a/js/src/jit-test/tests/wasm/spec/gc/binary-gc.wast.js b/js/src/jit-test/tests/wasm/spec/gc/binary-gc.wast.js
new file mode 100644
index 0000000000..e63be7b2fd
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/gc/binary-gc.wast.js
@@ -0,0 +1,30 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/gc/binary-gc.wast
+
+// ./test/core/gc/binary-gc.wast:1
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\01" ;; Type section id
+ "\\04" ;; Type section length
+ "\\01" ;; Types vector length
+ "\\5e" ;; Array type, -0x22
+ "\\78" ;; Storage type: i8 or -0x08
+ "\\02" ;; Mutability, should be 0 or 1, but isn't
+ )`),
+ `malformed mutability`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/gc/br_if.wast.js b/js/src/jit-test/tests/wasm/spec/gc/br_if.wast.js
new file mode 100644
index 0000000000..511ee003fb
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/gc/br_if.wast.js
@@ -0,0 +1,886 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/br_if.wast
+
+// ./test/core/br_if.wast:3
+let $0 = instantiate(`(module
+ (func $$dummy)
+
+ (func (export "type-i32")
+ (block (drop (i32.ctz (br_if 0 (i32.const 0) (i32.const 1)))))
+ )
+ (func (export "type-i64")
+ (block (drop (i64.ctz (br_if 0 (i64.const 0) (i32.const 1)))))
+ )
+ (func (export "type-f32")
+ (block (drop (f32.neg (br_if 0 (f32.const 0) (i32.const 1)))))
+ )
+ (func (export "type-f64")
+ (block (drop (f64.neg (br_if 0 (f64.const 0) (i32.const 1)))))
+ )
+
+ (func (export "type-i32-value") (result i32)
+ (block (result i32) (i32.ctz (br_if 0 (i32.const 1) (i32.const 1))))
+ )
+ (func (export "type-i64-value") (result i64)
+ (block (result i64) (i64.ctz (br_if 0 (i64.const 2) (i32.const 1))))
+ )
+ (func (export "type-f32-value") (result f32)
+ (block (result f32) (f32.neg (br_if 0 (f32.const 3) (i32.const 1))))
+ )
+ (func (export "type-f64-value") (result f64)
+ (block (result f64) (f64.neg (br_if 0 (f64.const 4) (i32.const 1))))
+ )
+
+ (func (export "as-block-first") (param i32) (result i32)
+ (block (br_if 0 (local.get 0)) (return (i32.const 2))) (i32.const 3)
+ )
+ (func (export "as-block-mid") (param i32) (result i32)
+ (block (call $$dummy) (br_if 0 (local.get 0)) (return (i32.const 2)))
+ (i32.const 3)
+ )
+ (func (export "as-block-last") (param i32)
+ (block (call $$dummy) (call $$dummy) (br_if 0 (local.get 0)))
+ )
+ (func (export "as-block-first-value") (param i32) (result i32)
+ (block (result i32)
+ (drop (br_if 0 (i32.const 10) (local.get 0))) (return (i32.const 11))
+ )
+ )
+ (func (export "as-block-mid-value") (param i32) (result i32)
+ (block (result i32)
+ (call $$dummy)
+ (drop (br_if 0 (i32.const 20) (local.get 0)))
+ (return (i32.const 21))
+ )
+ )
+ (func (export "as-block-last-value") (param i32) (result i32)
+ (block (result i32)
+ (call $$dummy) (call $$dummy) (br_if 0 (i32.const 11) (local.get 0))
+ )
+ )
+
+ (func (export "as-loop-first") (param i32) (result i32)
+ (block (loop (br_if 1 (local.get 0)) (return (i32.const 2)))) (i32.const 3)
+ )
+ (func (export "as-loop-mid") (param i32) (result i32)
+ (block (loop (call $$dummy) (br_if 1 (local.get 0)) (return (i32.const 2))))
+ (i32.const 4)
+ )
+ (func (export "as-loop-last") (param i32)
+ (loop (call $$dummy) (br_if 1 (local.get 0)))
+ )
+
+ (func (export "as-br-value") (result i32)
+ (block (result i32) (br 0 (br_if 0 (i32.const 1) (i32.const 2))))
+ )
+
+ (func (export "as-br_if-cond")
+ (block (br_if 0 (br_if 0 (i32.const 1) (i32.const 1))))
+ )
+ (func (export "as-br_if-value") (result i32)
+ (block (result i32)
+ (drop (br_if 0 (br_if 0 (i32.const 1) (i32.const 2)) (i32.const 3)))
+ (i32.const 4)
+ )
+ )
+ (func (export "as-br_if-value-cond") (param i32) (result i32)
+ (block (result i32)
+ (drop (br_if 0 (i32.const 2) (br_if 0 (i32.const 1) (local.get 0))))
+ (i32.const 4)
+ )
+ )
+
+ (func (export "as-br_table-index")
+ (block (br_table 0 0 0 (br_if 0 (i32.const 1) (i32.const 2))))
+ )
+ (func (export "as-br_table-value") (result i32)
+ (block (result i32)
+ (br_table 0 0 0 (br_if 0 (i32.const 1) (i32.const 2)) (i32.const 3)) (i32.const 4)
+ )
+ )
+ (func (export "as-br_table-value-index") (result i32)
+ (block (result i32)
+ (br_table 0 0 (i32.const 2) (br_if 0 (i32.const 1) (i32.const 3))) (i32.const 4)
+ )
+ )
+ (func (export "as-return-value") (result i64)
+ (block (result i64) (return (br_if 0 (i64.const 1) (i32.const 2))))
+ )
+
+ (func (export "as-if-cond") (param i32) (result i32)
+ (block (result i32)
+ (if (result i32)
+ (br_if 0 (i32.const 1) (local.get 0))
+ (then (i32.const 2))
+ (else (i32.const 3))
+ )
+ )
+ )
+ (func (export "as-if-then") (param i32 i32)
+ (block
+ (if (local.get 0) (then (br_if 1 (local.get 1))) (else (call $$dummy)))
+ )
+ )
+ (func (export "as-if-else") (param i32 i32)
+ (block
+ (if (local.get 0) (then (call $$dummy)) (else (br_if 1 (local.get 1))))
+ )
+ )
+
+ (func (export "as-select-first") (param i32) (result i32)
+ (block (result i32)
+ (select (br_if 0 (i32.const 3) (i32.const 10)) (i32.const 2) (local.get 0))
+ )
+ )
+ (func (export "as-select-second") (param i32) (result i32)
+ (block (result i32)
+ (select (i32.const 1) (br_if 0 (i32.const 3) (i32.const 10)) (local.get 0))
+ )
+ )
+ (func (export "as-select-cond") (result i32)
+ (block (result i32)
+ (select (i32.const 1) (i32.const 2) (br_if 0 (i32.const 3) (i32.const 10)))
+ )
+ )
+
+ (func $$f (param i32 i32 i32) (result i32) (i32.const -1))
+ (func (export "as-call-first") (result i32)
+ (block (result i32)
+ (call $$f
+ (br_if 0 (i32.const 12) (i32.const 1)) (i32.const 2) (i32.const 3)
+ )
+ )
+ )
+ (func (export "as-call-mid") (result i32)
+ (block (result i32)
+ (call $$f
+ (i32.const 1) (br_if 0 (i32.const 13) (i32.const 1)) (i32.const 3)
+ )
+ )
+ )
+ (func (export "as-call-last") (result i32)
+ (block (result i32)
+ (call $$f
+ (i32.const 1) (i32.const 2) (br_if 0 (i32.const 14) (i32.const 1))
+ )
+ )
+ )
+
+ (func $$func (param i32 i32 i32) (result i32) (local.get 0))
+ (type $$check (func (param i32 i32 i32) (result i32)))
+ (table funcref (elem $$func))
+ (func (export "as-call_indirect-func") (result i32)
+ (block (result i32)
+ (call_indirect (type $$check)
+ (br_if 0 (i32.const 4) (i32.const 10))
+ (i32.const 1) (i32.const 2) (i32.const 0)
+ )
+ )
+ )
+
+ (func (export "as-call_indirect-first") (result i32)
+ (block (result i32)
+ (call_indirect (type $$check)
+ (i32.const 1) (br_if 0 (i32.const 4) (i32.const 10)) (i32.const 2) (i32.const 0)
+ )
+ )
+ )
+ (func (export "as-call_indirect-mid") (result i32)
+ (block (result i32)
+ (call_indirect (type $$check)
+ (i32.const 1) (i32.const 2) (br_if 0 (i32.const 4) (i32.const 10)) (i32.const 0)
+ )
+ )
+ )
+ (func (export "as-call_indirect-last") (result i32)
+ (block (result i32)
+ (call_indirect (type $$check)
+ (i32.const 1) (i32.const 2) (i32.const 3) (br_if 0 (i32.const 4) (i32.const 10))
+ )
+ )
+ )
+
+ (func (export "as-local.set-value") (param i32) (result i32)
+ (local i32)
+ (block (result i32)
+ (local.set 0 (br_if 0 (i32.const 17) (local.get 0)))
+ (i32.const -1)
+ )
+ )
+ (func (export "as-local.tee-value") (param i32) (result i32)
+ (block (result i32)
+ (local.tee 0 (br_if 0 (i32.const 1) (local.get 0)))
+ (return (i32.const -1))
+ )
+ )
+ (global $$a (mut i32) (i32.const 10))
+ (func (export "as-global.set-value") (param i32) (result i32)
+ (block (result i32)
+ (global.set $$a (br_if 0 (i32.const 1) (local.get 0)))
+ (return (i32.const -1))
+ )
+ )
+
+ (memory 1)
+ (func (export "as-load-address") (result i32)
+ (block (result i32) (i32.load (br_if 0 (i32.const 1) (i32.const 1))))
+ )
+ (func (export "as-loadN-address") (result i32)
+ (block (result i32) (i32.load8_s (br_if 0 (i32.const 30) (i32.const 1))))
+ )
+
+ (func (export "as-store-address") (result i32)
+ (block (result i32)
+ (i32.store (br_if 0 (i32.const 30) (i32.const 1)) (i32.const 7)) (i32.const -1)
+ )
+ )
+ (func (export "as-store-value") (result i32)
+ (block (result i32)
+ (i32.store (i32.const 2) (br_if 0 (i32.const 31) (i32.const 1))) (i32.const -1)
+ )
+ )
+
+ (func (export "as-storeN-address") (result i32)
+ (block (result i32)
+ (i32.store8 (br_if 0 (i32.const 32) (i32.const 1)) (i32.const 7)) (i32.const -1)
+ )
+ )
+ (func (export "as-storeN-value") (result i32)
+ (block (result i32)
+ (i32.store16 (i32.const 2) (br_if 0 (i32.const 33) (i32.const 1))) (i32.const -1)
+ )
+ )
+
+ (func (export "as-unary-operand") (result f64)
+ (block (result f64) (f64.neg (br_if 0 (f64.const 1.0) (i32.const 1))))
+ )
+ (func (export "as-binary-left") (result i32)
+ (block (result i32) (i32.add (br_if 0 (i32.const 1) (i32.const 1)) (i32.const 10)))
+ )
+ (func (export "as-binary-right") (result i32)
+ (block (result i32) (i32.sub (i32.const 10) (br_if 0 (i32.const 1) (i32.const 1))))
+ )
+ (func (export "as-test-operand") (result i32)
+ (block (result i32) (i32.eqz (br_if 0 (i32.const 0) (i32.const 1))))
+ )
+ (func (export "as-compare-left") (result i32)
+ (block (result i32) (i32.le_u (br_if 0 (i32.const 1) (i32.const 1)) (i32.const 10)))
+ )
+ (func (export "as-compare-right") (result i32)
+ (block (result i32) (i32.ne (i32.const 10) (br_if 0 (i32.const 1) (i32.const 42))))
+ )
+
+ (func (export "as-memory.grow-size") (result i32)
+ (block (result i32) (memory.grow (br_if 0 (i32.const 1) (i32.const 1))))
+ )
+
+ (func (export "nested-block-value") (param i32) (result i32)
+ (i32.add
+ (i32.const 1)
+ (block (result i32)
+ (drop (i32.const 2))
+ (i32.add
+ (i32.const 4)
+ (block (result i32)
+ (drop (br_if 1 (i32.const 8) (local.get 0)))
+ (i32.const 16)
+ )
+ )
+ )
+ )
+ )
+
+ (func (export "nested-br-value") (param i32) (result i32)
+ (i32.add
+ (i32.const 1)
+ (block (result i32)
+ (drop (i32.const 2))
+ (br 0
+ (block (result i32)
+ (drop (br_if 1 (i32.const 8) (local.get 0))) (i32.const 4)
+ )
+ )
+ (i32.const 16)
+ )
+ )
+ )
+
+ (func (export "nested-br_if-value") (param i32) (result i32)
+ (i32.add
+ (i32.const 1)
+ (block (result i32)
+ (drop (i32.const 2))
+ (drop (br_if 0
+ (block (result i32)
+ (drop (br_if 1 (i32.const 8) (local.get 0))) (i32.const 4)
+ )
+ (i32.const 1)
+ ))
+ (i32.const 16)
+ )
+ )
+ )
+
+ (func (export "nested-br_if-value-cond") (param i32) (result i32)
+ (i32.add
+ (i32.const 1)
+ (block (result i32)
+ (drop (i32.const 2))
+ (drop (br_if 0
+ (i32.const 4)
+ (block (result i32)
+ (drop (br_if 1 (i32.const 8) (local.get 0))) (i32.const 1)
+ )
+ ))
+ (i32.const 16)
+ )
+ )
+ )
+
+ (func (export "nested-br_table-value") (param i32) (result i32)
+ (i32.add
+ (i32.const 1)
+ (block (result i32)
+ (drop (i32.const 2))
+ (br_table 0
+ (block (result i32)
+ (drop (br_if 1 (i32.const 8) (local.get 0))) (i32.const 4)
+ )
+ (i32.const 1)
+ )
+ (i32.const 16)
+ )
+ )
+ )
+
+ (func (export "nested-br_table-value-index") (param i32) (result i32)
+ (i32.add
+ (i32.const 1)
+ (block (result i32)
+ (drop (i32.const 2))
+ (br_table 0
+ (i32.const 4)
+ (block (result i32)
+ (drop (br_if 1 (i32.const 8) (local.get 0))) (i32.const 1)
+ )
+ )
+ (i32.const 16)
+ )
+ )
+ )
+
+)`);
+
+// ./test/core/br_if.wast:372
+assert_return(() => invoke($0, `type-i32`, []), []);
+
+// ./test/core/br_if.wast:373
+assert_return(() => invoke($0, `type-i64`, []), []);
+
+// ./test/core/br_if.wast:374
+assert_return(() => invoke($0, `type-f32`, []), []);
+
+// ./test/core/br_if.wast:375
+assert_return(() => invoke($0, `type-f64`, []), []);
+
+// ./test/core/br_if.wast:377
+assert_return(() => invoke($0, `type-i32-value`, []), [value("i32", 1)]);
+
+// ./test/core/br_if.wast:378
+assert_return(() => invoke($0, `type-i64-value`, []), [value("i64", 2n)]);
+
+// ./test/core/br_if.wast:379
+assert_return(() => invoke($0, `type-f32-value`, []), [value("f32", 3)]);
+
+// ./test/core/br_if.wast:380
+assert_return(() => invoke($0, `type-f64-value`, []), [value("f64", 4)]);
+
+// ./test/core/br_if.wast:382
+assert_return(() => invoke($0, `as-block-first`, [0]), [value("i32", 2)]);
+
+// ./test/core/br_if.wast:383
+assert_return(() => invoke($0, `as-block-first`, [1]), [value("i32", 3)]);
+
+// ./test/core/br_if.wast:384
+assert_return(() => invoke($0, `as-block-mid`, [0]), [value("i32", 2)]);
+
+// ./test/core/br_if.wast:385
+assert_return(() => invoke($0, `as-block-mid`, [1]), [value("i32", 3)]);
+
+// ./test/core/br_if.wast:386
+assert_return(() => invoke($0, `as-block-last`, [0]), []);
+
+// ./test/core/br_if.wast:387
+assert_return(() => invoke($0, `as-block-last`, [1]), []);
+
+// ./test/core/br_if.wast:389
+assert_return(() => invoke($0, `as-block-first-value`, [0]), [value("i32", 11)]);
+
+// ./test/core/br_if.wast:390
+assert_return(() => invoke($0, `as-block-first-value`, [1]), [value("i32", 10)]);
+
+// ./test/core/br_if.wast:391
+assert_return(() => invoke($0, `as-block-mid-value`, [0]), [value("i32", 21)]);
+
+// ./test/core/br_if.wast:392
+assert_return(() => invoke($0, `as-block-mid-value`, [1]), [value("i32", 20)]);
+
+// ./test/core/br_if.wast:393
+assert_return(() => invoke($0, `as-block-last-value`, [0]), [value("i32", 11)]);
+
+// ./test/core/br_if.wast:394
+assert_return(() => invoke($0, `as-block-last-value`, [1]), [value("i32", 11)]);
+
+// ./test/core/br_if.wast:396
+assert_return(() => invoke($0, `as-loop-first`, [0]), [value("i32", 2)]);
+
+// ./test/core/br_if.wast:397
+assert_return(() => invoke($0, `as-loop-first`, [1]), [value("i32", 3)]);
+
+// ./test/core/br_if.wast:398
+assert_return(() => invoke($0, `as-loop-mid`, [0]), [value("i32", 2)]);
+
+// ./test/core/br_if.wast:399
+assert_return(() => invoke($0, `as-loop-mid`, [1]), [value("i32", 4)]);
+
+// ./test/core/br_if.wast:400
+assert_return(() => invoke($0, `as-loop-last`, [0]), []);
+
+// ./test/core/br_if.wast:401
+assert_return(() => invoke($0, `as-loop-last`, [1]), []);
+
+// ./test/core/br_if.wast:403
+assert_return(() => invoke($0, `as-br-value`, []), [value("i32", 1)]);
+
+// ./test/core/br_if.wast:405
+assert_return(() => invoke($0, `as-br_if-cond`, []), []);
+
+// ./test/core/br_if.wast:406
+assert_return(() => invoke($0, `as-br_if-value`, []), [value("i32", 1)]);
+
+// ./test/core/br_if.wast:407
+assert_return(() => invoke($0, `as-br_if-value-cond`, [0]), [value("i32", 2)]);
+
+// ./test/core/br_if.wast:408
+assert_return(() => invoke($0, `as-br_if-value-cond`, [1]), [value("i32", 1)]);
+
+// ./test/core/br_if.wast:410
+assert_return(() => invoke($0, `as-br_table-index`, []), []);
+
+// ./test/core/br_if.wast:411
+assert_return(() => invoke($0, `as-br_table-value`, []), [value("i32", 1)]);
+
+// ./test/core/br_if.wast:412
+assert_return(() => invoke($0, `as-br_table-value-index`, []), [value("i32", 1)]);
+
+// ./test/core/br_if.wast:414
+assert_return(() => invoke($0, `as-return-value`, []), [value("i64", 1n)]);
+
+// ./test/core/br_if.wast:416
+assert_return(() => invoke($0, `as-if-cond`, [0]), [value("i32", 2)]);
+
+// ./test/core/br_if.wast:417
+assert_return(() => invoke($0, `as-if-cond`, [1]), [value("i32", 1)]);
+
+// ./test/core/br_if.wast:418
+assert_return(() => invoke($0, `as-if-then`, [0, 0]), []);
+
+// ./test/core/br_if.wast:419
+assert_return(() => invoke($0, `as-if-then`, [4, 0]), []);
+
+// ./test/core/br_if.wast:420
+assert_return(() => invoke($0, `as-if-then`, [0, 1]), []);
+
+// ./test/core/br_if.wast:421
+assert_return(() => invoke($0, `as-if-then`, [4, 1]), []);
+
+// ./test/core/br_if.wast:422
+assert_return(() => invoke($0, `as-if-else`, [0, 0]), []);
+
+// ./test/core/br_if.wast:423
+assert_return(() => invoke($0, `as-if-else`, [3, 0]), []);
+
+// ./test/core/br_if.wast:424
+assert_return(() => invoke($0, `as-if-else`, [0, 1]), []);
+
+// ./test/core/br_if.wast:425
+assert_return(() => invoke($0, `as-if-else`, [3, 1]), []);
+
+// ./test/core/br_if.wast:427
+assert_return(() => invoke($0, `as-select-first`, [0]), [value("i32", 3)]);
+
+// ./test/core/br_if.wast:428
+assert_return(() => invoke($0, `as-select-first`, [1]), [value("i32", 3)]);
+
+// ./test/core/br_if.wast:429
+assert_return(() => invoke($0, `as-select-second`, [0]), [value("i32", 3)]);
+
+// ./test/core/br_if.wast:430
+assert_return(() => invoke($0, `as-select-second`, [1]), [value("i32", 3)]);
+
+// ./test/core/br_if.wast:431
+assert_return(() => invoke($0, `as-select-cond`, []), [value("i32", 3)]);
+
+// ./test/core/br_if.wast:433
+assert_return(() => invoke($0, `as-call-first`, []), [value("i32", 12)]);
+
+// ./test/core/br_if.wast:434
+assert_return(() => invoke($0, `as-call-mid`, []), [value("i32", 13)]);
+
+// ./test/core/br_if.wast:435
+assert_return(() => invoke($0, `as-call-last`, []), [value("i32", 14)]);
+
+// ./test/core/br_if.wast:437
+assert_return(() => invoke($0, `as-call_indirect-func`, []), [value("i32", 4)]);
+
+// ./test/core/br_if.wast:438
+assert_return(() => invoke($0, `as-call_indirect-first`, []), [value("i32", 4)]);
+
+// ./test/core/br_if.wast:439
+assert_return(() => invoke($0, `as-call_indirect-mid`, []), [value("i32", 4)]);
+
+// ./test/core/br_if.wast:440
+assert_return(() => invoke($0, `as-call_indirect-last`, []), [value("i32", 4)]);
+
+// ./test/core/br_if.wast:442
+assert_return(() => invoke($0, `as-local.set-value`, [0]), [value("i32", -1)]);
+
+// ./test/core/br_if.wast:443
+assert_return(() => invoke($0, `as-local.set-value`, [1]), [value("i32", 17)]);
+
+// ./test/core/br_if.wast:445
+assert_return(() => invoke($0, `as-local.tee-value`, [0]), [value("i32", -1)]);
+
+// ./test/core/br_if.wast:446
+assert_return(() => invoke($0, `as-local.tee-value`, [1]), [value("i32", 1)]);
+
+// ./test/core/br_if.wast:448
+assert_return(() => invoke($0, `as-global.set-value`, [0]), [value("i32", -1)]);
+
+// ./test/core/br_if.wast:449
+assert_return(() => invoke($0, `as-global.set-value`, [1]), [value("i32", 1)]);
+
+// ./test/core/br_if.wast:451
+assert_return(() => invoke($0, `as-load-address`, []), [value("i32", 1)]);
+
+// ./test/core/br_if.wast:452
+assert_return(() => invoke($0, `as-loadN-address`, []), [value("i32", 30)]);
+
+// ./test/core/br_if.wast:454
+assert_return(() => invoke($0, `as-store-address`, []), [value("i32", 30)]);
+
+// ./test/core/br_if.wast:455
+assert_return(() => invoke($0, `as-store-value`, []), [value("i32", 31)]);
+
+// ./test/core/br_if.wast:456
+assert_return(() => invoke($0, `as-storeN-address`, []), [value("i32", 32)]);
+
+// ./test/core/br_if.wast:457
+assert_return(() => invoke($0, `as-storeN-value`, []), [value("i32", 33)]);
+
+// ./test/core/br_if.wast:459
+assert_return(() => invoke($0, `as-unary-operand`, []), [value("f64", 1)]);
+
+// ./test/core/br_if.wast:460
+assert_return(() => invoke($0, `as-binary-left`, []), [value("i32", 1)]);
+
+// ./test/core/br_if.wast:461
+assert_return(() => invoke($0, `as-binary-right`, []), [value("i32", 1)]);
+
+// ./test/core/br_if.wast:462
+assert_return(() => invoke($0, `as-test-operand`, []), [value("i32", 0)]);
+
+// ./test/core/br_if.wast:463
+assert_return(() => invoke($0, `as-compare-left`, []), [value("i32", 1)]);
+
+// ./test/core/br_if.wast:464
+assert_return(() => invoke($0, `as-compare-right`, []), [value("i32", 1)]);
+
+// ./test/core/br_if.wast:465
+assert_return(() => invoke($0, `as-memory.grow-size`, []), [value("i32", 1)]);
+
+// ./test/core/br_if.wast:467
+assert_return(() => invoke($0, `nested-block-value`, [0]), [value("i32", 21)]);
+
+// ./test/core/br_if.wast:468
+assert_return(() => invoke($0, `nested-block-value`, [1]), [value("i32", 9)]);
+
+// ./test/core/br_if.wast:469
+assert_return(() => invoke($0, `nested-br-value`, [0]), [value("i32", 5)]);
+
+// ./test/core/br_if.wast:470
+assert_return(() => invoke($0, `nested-br-value`, [1]), [value("i32", 9)]);
+
+// ./test/core/br_if.wast:471
+assert_return(() => invoke($0, `nested-br_if-value`, [0]), [value("i32", 5)]);
+
+// ./test/core/br_if.wast:472
+assert_return(() => invoke($0, `nested-br_if-value`, [1]), [value("i32", 9)]);
+
+// ./test/core/br_if.wast:473
+assert_return(() => invoke($0, `nested-br_if-value-cond`, [0]), [value("i32", 5)]);
+
+// ./test/core/br_if.wast:474
+assert_return(() => invoke($0, `nested-br_if-value-cond`, [1]), [value("i32", 9)]);
+
+// ./test/core/br_if.wast:475
+assert_return(() => invoke($0, `nested-br_table-value`, [0]), [value("i32", 5)]);
+
+// ./test/core/br_if.wast:476
+assert_return(() => invoke($0, `nested-br_table-value`, [1]), [value("i32", 9)]);
+
+// ./test/core/br_if.wast:477
+assert_return(() => invoke($0, `nested-br_table-value-index`, [0]), [value("i32", 5)]);
+
+// ./test/core/br_if.wast:478
+assert_return(() => invoke($0, `nested-br_table-value-index`, [1]), [value("i32", 9)]);
+
+// ./test/core/br_if.wast:480
+assert_invalid(
+ () => instantiate(`(module (func $$type-false-i32 (block (i32.ctz (br_if 0 (i32.const 0))))))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:484
+assert_invalid(
+ () => instantiate(`(module (func $$type-false-i64 (block (i64.ctz (br_if 0 (i32.const 0))))))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:488
+assert_invalid(
+ () => instantiate(`(module (func $$type-false-f32 (block (f32.neg (br_if 0 (i32.const 0))))))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:492
+assert_invalid(
+ () => instantiate(`(module (func $$type-false-f64 (block (f64.neg (br_if 0 (i32.const 0))))))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:497
+assert_invalid(
+ () => instantiate(`(module (func $$type-true-i32 (block (i32.ctz (br_if 0 (i32.const 1))))))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:501
+assert_invalid(
+ () => instantiate(`(module (func $$type-true-i64 (block (i64.ctz (br_if 0 (i64.const 1))))))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:505
+assert_invalid(
+ () => instantiate(`(module (func $$type-true-f32 (block (f32.neg (br_if 0 (f32.const 1))))))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:509
+assert_invalid(
+ () => instantiate(`(module (func $$type-true-f64 (block (f64.neg (br_if 0 (i64.const 1))))))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:514
+assert_invalid(
+ () => instantiate(`(module (func $$type-false-arg-void-vs-num (result i32)
+ (block (result i32) (br_if 0 (i32.const 0)) (i32.const 1))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:520
+assert_invalid(
+ () => instantiate(`(module (func $$type-true-arg-void-vs-num (result i32)
+ (block (result i32) (br_if 0 (i32.const 1)) (i32.const 1))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:526
+assert_invalid(
+ () => instantiate(`(module (func $$type-false-arg-num-vs-void
+ (block (br_if 0 (i32.const 0) (i32.const 0)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:532
+assert_invalid(
+ () => instantiate(`(module (func $$type-true-arg-num-vs-void
+ (block (br_if 0 (i32.const 0) (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:539
+assert_invalid(
+ () => instantiate(`(module (func $$type-false-arg-void-vs-num (result i32)
+ (block (result i32) (br_if 0 (nop) (i32.const 0)) (i32.const 1))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:545
+assert_invalid(
+ () => instantiate(`(module (func $$type-true-arg-void-vs-num (result i32)
+ (block (result i32) (br_if 0 (nop) (i32.const 1)) (i32.const 1))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:551
+assert_invalid(
+ () => instantiate(`(module (func $$type-false-arg-num-vs-num (result i32)
+ (block (result i32)
+ (drop (br_if 0 (i64.const 1) (i32.const 0))) (i32.const 1)
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:559
+assert_invalid(
+ () => instantiate(`(module (func $$type-true-arg-num-vs-num (result i32)
+ (block (result i32)
+ (drop (br_if 0 (i64.const 1) (i32.const 0))) (i32.const 1)
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:568
+assert_invalid(
+ () => instantiate(`(module (func $$type-cond-empty-vs-i32
+ (block (br_if 0))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:574
+assert_invalid(
+ () => instantiate(`(module (func $$type-cond-void-vs-i32
+ (block (br_if 0 (nop)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:580
+assert_invalid(
+ () => instantiate(`(module (func $$type-cond-num-vs-i32
+ (block (br_if 0 (i64.const 0)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:586
+assert_invalid(
+ () => instantiate(`(module (func $$type-arg-cond-void-vs-i32 (result i32)
+ (block (result i32) (br_if 0 (i32.const 0) (nop)) (i32.const 1))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:592
+assert_invalid(
+ () => instantiate(`(module (func $$type-arg-void-vs-num-nested (result i32)
+ (block (result i32) (i32.const 0) (block (br_if 1 (i32.const 1))))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:598
+assert_invalid(
+ () => instantiate(`(module (func $$type-arg-cond-num-vs-i32 (result i32)
+ (block (result i32) (br_if 0 (i32.const 0) (i64.const 0)) (i32.const 1))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:605
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-1st-cond-empty-in-then
+ (block
+ (i32.const 0) (i32.const 0)
+ (if (result i32) (then (br_if 0)))
+ )
+ (i32.eqz) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:617
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-2nd-cond-empty-in-then
+ (block
+ (i32.const 0) (i32.const 0)
+ (if (result i32) (then (br_if 0 (i32.const 1))))
+ )
+ (i32.eqz) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:629
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-1st-cond-empty-in-return
+ (block (result i32)
+ (return (br_if 0))
+ )
+ (i32.eqz) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:640
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-2nd-cond-empty-in-return
+ (block (result i32)
+ (return (br_if 0 (i32.const 1)))
+ )
+ (i32.eqz) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:653
+assert_invalid(
+ () => instantiate(`(module (func $$unbound-label (br_if 1 (i32.const 1))))`),
+ `unknown label`,
+);
+
+// ./test/core/br_if.wast:657
+assert_invalid(
+ () => instantiate(`(module (func $$unbound-nested-label (block (block (br_if 5 (i32.const 1))))))`),
+ `unknown label`,
+);
+
+// ./test/core/br_if.wast:661
+assert_invalid(
+ () => instantiate(`(module (func $$large-label (br_if 0x10000001 (i32.const 1))))`),
+ `unknown label`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/gc/br_on_cast.wast.js b/js/src/jit-test/tests/wasm/spec/gc/br_on_cast.wast.js
new file mode 100644
index 0000000000..23ea05818a
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/gc/br_on_cast.wast.js
@@ -0,0 +1,337 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/gc/br_on_cast.wast
+
+// ./test/core/gc/br_on_cast.wast:3
+let $0 = instantiate(`(module
+ (type $$ft (func (result i32)))
+ (type $$st (struct (field i16)))
+ (type $$at (array i8))
+
+ (table 10 anyref)
+
+ (elem declare func $$f)
+ (func $$f (result i32) (i32.const 9))
+
+ (func (export "init") (param $$x externref)
+ (table.set (i32.const 0) (ref.null any))
+ (table.set (i32.const 1) (ref.i31 (i32.const 7)))
+ (table.set (i32.const 2) (struct.new $$st (i32.const 6)))
+ (table.set (i32.const 3) (array.new $$at (i32.const 5) (i32.const 3)))
+ (table.set (i32.const 4) (any.convert_extern (local.get $$x)))
+ )
+
+ (func (export "br_on_null") (param $$i i32) (result i32)
+ (block $$l
+ (br_on_null $$l (table.get (local.get $$i)))
+ (return (i32.const -1))
+ )
+ (i32.const 0)
+ )
+ (func (export "br_on_i31") (param $$i i32) (result i32)
+ (block $$l (result (ref i31))
+ (br_on_cast $$l anyref (ref i31) (table.get (local.get $$i)))
+ (return (i32.const -1))
+ )
+ (i31.get_u)
+ )
+ (func (export "br_on_struct") (param $$i i32) (result i32)
+ (block $$l (result (ref struct))
+ (br_on_cast $$l anyref (ref struct) (table.get (local.get $$i)))
+ (return (i32.const -1))
+ )
+ (block $$l2 (param structref) (result (ref $$st))
+ (block $$l3 (param structref) (result (ref $$at))
+ (br_on_cast $$l2 structref (ref $$st))
+ (br_on_cast $$l3 anyref (ref $$at))
+ (return (i32.const -2))
+ )
+ (return (array.get_u $$at (i32.const 0)))
+ )
+ (struct.get_s $$st 0)
+ )
+ (func (export "br_on_array") (param $$i i32) (result i32)
+ (block $$l (result (ref array))
+ (br_on_cast $$l anyref (ref array) (table.get (local.get $$i)))
+ (return (i32.const -1))
+ )
+ (array.len)
+ )
+
+ (func (export "null-diff") (param $$i i32) (result i32)
+ (block $$l (result (ref null struct))
+ (block (result (ref any))
+ (br_on_cast $$l (ref null any) (ref null struct) (table.get (local.get $$i)))
+ )
+ (return (i32.const 0))
+ )
+ (return (i32.const 1))
+ )
+)`);
+
+// ./test/core/gc/br_on_cast.wast:69
+invoke($0, `init`, [externref(0)]);
+
+// ./test/core/gc/br_on_cast.wast:71
+assert_return(() => invoke($0, `br_on_null`, [0]), [value("i32", 0)]);
+
+// ./test/core/gc/br_on_cast.wast:72
+assert_return(() => invoke($0, `br_on_null`, [1]), [value("i32", -1)]);
+
+// ./test/core/gc/br_on_cast.wast:73
+assert_return(() => invoke($0, `br_on_null`, [2]), [value("i32", -1)]);
+
+// ./test/core/gc/br_on_cast.wast:74
+assert_return(() => invoke($0, `br_on_null`, [3]), [value("i32", -1)]);
+
+// ./test/core/gc/br_on_cast.wast:75
+assert_return(() => invoke($0, `br_on_null`, [4]), [value("i32", -1)]);
+
+// ./test/core/gc/br_on_cast.wast:77
+assert_return(() => invoke($0, `br_on_i31`, [0]), [value("i32", -1)]);
+
+// ./test/core/gc/br_on_cast.wast:78
+assert_return(() => invoke($0, `br_on_i31`, [1]), [value("i32", 7)]);
+
+// ./test/core/gc/br_on_cast.wast:79
+assert_return(() => invoke($0, `br_on_i31`, [2]), [value("i32", -1)]);
+
+// ./test/core/gc/br_on_cast.wast:80
+assert_return(() => invoke($0, `br_on_i31`, [3]), [value("i32", -1)]);
+
+// ./test/core/gc/br_on_cast.wast:81
+assert_return(() => invoke($0, `br_on_i31`, [4]), [value("i32", -1)]);
+
+// ./test/core/gc/br_on_cast.wast:83
+assert_return(() => invoke($0, `br_on_struct`, [0]), [value("i32", -1)]);
+
+// ./test/core/gc/br_on_cast.wast:84
+assert_return(() => invoke($0, `br_on_struct`, [1]), [value("i32", -1)]);
+
+// ./test/core/gc/br_on_cast.wast:85
+assert_return(() => invoke($0, `br_on_struct`, [2]), [value("i32", 6)]);
+
+// ./test/core/gc/br_on_cast.wast:86
+assert_return(() => invoke($0, `br_on_struct`, [3]), [value("i32", -1)]);
+
+// ./test/core/gc/br_on_cast.wast:87
+assert_return(() => invoke($0, `br_on_struct`, [4]), [value("i32", -1)]);
+
+// ./test/core/gc/br_on_cast.wast:89
+assert_return(() => invoke($0, `br_on_array`, [0]), [value("i32", -1)]);
+
+// ./test/core/gc/br_on_cast.wast:90
+assert_return(() => invoke($0, `br_on_array`, [1]), [value("i32", -1)]);
+
+// ./test/core/gc/br_on_cast.wast:91
+assert_return(() => invoke($0, `br_on_array`, [2]), [value("i32", -1)]);
+
+// ./test/core/gc/br_on_cast.wast:92
+assert_return(() => invoke($0, `br_on_array`, [3]), [value("i32", 3)]);
+
+// ./test/core/gc/br_on_cast.wast:93
+assert_return(() => invoke($0, `br_on_array`, [4]), [value("i32", -1)]);
+
+// ./test/core/gc/br_on_cast.wast:95
+assert_return(() => invoke($0, `null-diff`, [0]), [value("i32", 1)]);
+
+// ./test/core/gc/br_on_cast.wast:96
+assert_return(() => invoke($0, `null-diff`, [1]), [value("i32", 0)]);
+
+// ./test/core/gc/br_on_cast.wast:97
+assert_return(() => invoke($0, `null-diff`, [2]), [value("i32", 1)]);
+
+// ./test/core/gc/br_on_cast.wast:98
+assert_return(() => invoke($0, `null-diff`, [3]), [value("i32", 0)]);
+
+// ./test/core/gc/br_on_cast.wast:99
+assert_return(() => invoke($0, `null-diff`, [4]), [value("i32", 0)]);
+
+// ./test/core/gc/br_on_cast.wast:104
+let $1 = instantiate(`(module
+ (type $$t0 (sub (struct)))
+ (type $$t1 (sub $$t0 (struct (field i32))))
+ (type $$t1' (sub $$t0 (struct (field i32))))
+ (type $$t2 (sub $$t1 (struct (field i32 i32))))
+ (type $$t2' (sub $$t1' (struct (field i32 i32))))
+ (type $$t3 (sub $$t0 (struct (field i32 i32))))
+ (type $$t0' (sub $$t0 (struct)))
+ (type $$t4 (sub $$t0' (struct (field i32 i32))))
+
+ (table 20 structref)
+
+ (func $$init
+ (table.set (i32.const 0) (struct.new_default $$t0))
+ (table.set (i32.const 10) (struct.new_default $$t0'))
+ (table.set (i32.const 1) (struct.new_default $$t1))
+ (table.set (i32.const 11) (struct.new_default $$t1'))
+ (table.set (i32.const 2) (struct.new_default $$t2))
+ (table.set (i32.const 12) (struct.new_default $$t2'))
+ (table.set (i32.const 3) (struct.new_default $$t3))
+ (table.set (i32.const 4) (struct.new_default $$t4))
+ )
+
+ (func (export "test-sub")
+ (call $$init)
+ (block $$l (result structref)
+ ;; must succeed
+ (drop (block (result structref) (br_on_cast 0 structref (ref $$t0) (ref.null struct))))
+ (drop (block (result structref) (br_on_cast 0 structref (ref $$t0) (table.get (i32.const 0)))))
+ (drop (block (result structref) (br_on_cast 0 structref (ref $$t0) (table.get (i32.const 1)))))
+ (drop (block (result structref) (br_on_cast 0 structref (ref $$t0) (table.get (i32.const 2)))))
+ (drop (block (result structref) (br_on_cast 0 structref (ref $$t0) (table.get (i32.const 3)))))
+ (drop (block (result structref) (br_on_cast 0 structref (ref $$t0) (table.get (i32.const 4)))))
+
+ (drop (block (result structref) (br_on_cast 0 structref (ref $$t1) (ref.null struct))))
+ (drop (block (result structref) (br_on_cast 0 structref (ref $$t1) (table.get (i32.const 1)))))
+ (drop (block (result structref) (br_on_cast 0 structref (ref $$t1) (table.get (i32.const 2)))))
+
+ (drop (block (result structref) (br_on_cast 0 structref (ref $$t2) (ref.null struct))))
+ (drop (block (result structref) (br_on_cast 0 structref (ref $$t2) (table.get (i32.const 2)))))
+
+ (drop (block (result structref) (br_on_cast 0 structref (ref $$t3) (ref.null struct))))
+ (drop (block (result structref) (br_on_cast 0 structref (ref $$t3) (table.get (i32.const 3)))))
+
+ (drop (block (result structref) (br_on_cast 0 structref (ref $$t4) (ref.null struct))))
+ (drop (block (result structref) (br_on_cast 0 structref (ref $$t4) (table.get (i32.const 4)))))
+
+ ;; must not succeed
+ (br_on_cast $$l anyref (ref $$t1) (table.get (i32.const 0)))
+ (br_on_cast $$l anyref (ref $$t1) (table.get (i32.const 3)))
+ (br_on_cast $$l anyref (ref $$t1) (table.get (i32.const 4)))
+
+ (br_on_cast $$l anyref (ref $$t2) (table.get (i32.const 0)))
+ (br_on_cast $$l anyref (ref $$t2) (table.get (i32.const 1)))
+ (br_on_cast $$l anyref (ref $$t2) (table.get (i32.const 3)))
+ (br_on_cast $$l anyref (ref $$t2) (table.get (i32.const 4)))
+
+ (br_on_cast $$l anyref (ref $$t3) (table.get (i32.const 0)))
+ (br_on_cast $$l anyref (ref $$t3) (table.get (i32.const 1)))
+ (br_on_cast $$l anyref (ref $$t3) (table.get (i32.const 2)))
+ (br_on_cast $$l anyref (ref $$t3) (table.get (i32.const 4)))
+
+ (br_on_cast $$l anyref (ref $$t4) (table.get (i32.const 0)))
+ (br_on_cast $$l anyref (ref $$t4) (table.get (i32.const 1)))
+ (br_on_cast $$l anyref (ref $$t4) (table.get (i32.const 2)))
+ (br_on_cast $$l anyref (ref $$t4) (table.get (i32.const 3)))
+
+ (return)
+ )
+ (unreachable)
+ )
+
+ (func (export "test-canon")
+ (call $$init)
+ (block $$l
+ (drop (block (result structref) (br_on_cast 0 structref (ref $$t0') (table.get (i32.const 0)))))
+ (drop (block (result structref) (br_on_cast 0 structref (ref $$t0') (table.get (i32.const 1)))))
+ (drop (block (result structref) (br_on_cast 0 structref (ref $$t0') (table.get (i32.const 2)))))
+ (drop (block (result structref) (br_on_cast 0 structref (ref $$t0') (table.get (i32.const 3)))))
+ (drop (block (result structref) (br_on_cast 0 structref (ref $$t0') (table.get (i32.const 4)))))
+
+ (drop (block (result structref) (br_on_cast 0 structref (ref $$t0) (table.get (i32.const 10)))))
+ (drop (block (result structref) (br_on_cast 0 structref (ref $$t0) (table.get (i32.const 11)))))
+ (drop (block (result structref) (br_on_cast 0 structref (ref $$t0) (table.get (i32.const 12)))))
+
+ (drop (block (result structref) (br_on_cast 0 structref (ref $$t1') (table.get (i32.const 1)))))
+ (drop (block (result structref) (br_on_cast 0 structref (ref $$t1') (table.get (i32.const 2)))))
+
+ (drop (block (result structref) (br_on_cast 0 structref (ref $$t1) (table.get (i32.const 11)))))
+ (drop (block (result structref) (br_on_cast 0 structref (ref $$t1) (table.get (i32.const 12)))))
+
+ (drop (block (result structref) (br_on_cast 0 structref (ref $$t2') (table.get (i32.const 2)))))
+
+ (drop (block (result structref) (br_on_cast 0 structref (ref $$t2) (table.get (i32.const 12)))))
+
+ (return)
+ )
+ (unreachable)
+ )
+)`);
+
+// ./test/core/gc/br_on_cast.wast:205
+invoke($1, `test-sub`, []);
+
+// ./test/core/gc/br_on_cast.wast:206
+invoke($1, `test-canon`, []);
+
+// ./test/core/gc/br_on_cast.wast:211
+let $2 = instantiate(`(module
+ (type $$t (struct))
+
+ (func (param (ref any)) (result (ref $$t))
+ (block (result (ref any)) (br_on_cast 1 (ref any) (ref $$t) (local.get 0))) (unreachable)
+ )
+ (func (param (ref null any)) (result (ref $$t))
+ (block (result (ref null any)) (br_on_cast 1 (ref null any) (ref $$t) (local.get 0))) (unreachable)
+ )
+ (func (param (ref null any)) (result (ref null $$t))
+ (block (result (ref null any)) (br_on_cast 1 (ref null any) (ref null $$t) (local.get 0))) (unreachable)
+ )
+)`);
+
+// ./test/core/gc/br_on_cast.wast:225
+assert_invalid(
+ () => instantiate(`(module
+ (type $$t (struct))
+ (func (param (ref any)) (result (ref $$t))
+ (block (result (ref any)) (br_on_cast 1 (ref null any) (ref null $$t) (local.get 0))) (unreachable)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/gc/br_on_cast.wast:234
+assert_invalid(
+ () => instantiate(`(module
+ (type $$t (struct))
+ (func (param (ref any)) (result (ref null $$t))
+ (block (result (ref any)) (br_on_cast 1 (ref any) (ref null $$t) (local.get 0))) (unreachable)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/gc/br_on_cast.wast:243
+assert_invalid(
+ () => instantiate(`(module
+ (type $$t (struct))
+ (func (param (ref null any)) (result (ref $$t))
+ (block (result (ref any)) (br_on_cast 1 (ref null any) (ref $$t) (local.get 0))) (unreachable)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/gc/br_on_cast.wast:252
+assert_invalid(
+ () => instantiate(`(module
+ (func (result anyref)
+ (br_on_cast 0 eqref anyref (unreachable))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/gc/br_on_cast.wast:260
+assert_invalid(
+ () => instantiate(`(module
+ (func (result anyref)
+ (br_on_cast 0 structref arrayref (unreachable))
+ )
+ )`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/gc/br_on_cast_fail.wast.js b/js/src/jit-test/tests/wasm/spec/gc/br_on_cast_fail.wast.js
new file mode 100644
index 0000000000..4d402f2803
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/gc/br_on_cast_fail.wast.js
@@ -0,0 +1,352 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/gc/br_on_cast_fail.wast
+
+// ./test/core/gc/br_on_cast_fail.wast:3
+let $0 = instantiate(`(module
+ (type $$ft (func (result i32)))
+ (type $$st (struct (field i16)))
+ (type $$at (array i8))
+
+ (table 10 anyref)
+
+ (elem declare func $$f)
+ (func $$f (result i32) (i32.const 9))
+
+ (func (export "init") (param $$x externref)
+ (table.set (i32.const 0) (ref.null any))
+ (table.set (i32.const 1) (ref.i31 (i32.const 7)))
+ (table.set (i32.const 2) (struct.new $$st (i32.const 6)))
+ (table.set (i32.const 3) (array.new $$at (i32.const 5) (i32.const 3)))
+ (table.set (i32.const 4) (any.convert_extern (local.get $$x)))
+ )
+
+ (func (export "br_on_non_null") (param $$i i32) (result i32)
+ (block $$l (result (ref any))
+ (br_on_non_null $$l (table.get (local.get $$i)))
+ (return (i32.const 0))
+ )
+ (return (i32.const -1))
+ )
+ (func (export "br_on_non_i31") (param $$i i32) (result i32)
+ (block $$l (result anyref)
+ (br_on_cast_fail $$l anyref (ref i31) (table.get (local.get $$i)))
+ (return (i31.get_u))
+ )
+ (return (i32.const -1))
+ )
+ (func (export "br_on_non_struct") (param $$i i32) (result i32)
+ (block $$l (result anyref)
+ (br_on_cast_fail $$l anyref (ref struct) (table.get (local.get $$i)))
+ (block $$l2 (param structref) (result (ref $$st))
+ (block $$l3 (param structref) (result (ref $$at))
+ (br_on_cast $$l2 structref (ref $$st))
+ (br_on_cast $$l3 anyref (ref $$at))
+ (return (i32.const -2))
+ )
+ (return (array.get_u $$at (i32.const 0)))
+ )
+ (return (struct.get_s $$st 0))
+ )
+ (return (i32.const -1))
+ )
+ (func (export "br_on_non_array") (param $$i i32) (result i32)
+ (block $$l (result anyref)
+ (br_on_cast_fail $$l anyref (ref array) (table.get (local.get $$i)))
+ (return (array.len))
+ )
+ (return (i32.const -1))
+ )
+
+ (func (export "null-diff") (param $$i i32) (result i32)
+ (block $$l (result (ref any))
+ (block (result (ref null struct))
+ (br_on_cast_fail $$l (ref null any) (ref null struct) (table.get (local.get $$i)))
+ )
+ (return (i32.const 1))
+ )
+ (return (i32.const 0))
+ )
+)`);
+
+// ./test/core/gc/br_on_cast_fail.wast:69
+invoke($0, `init`, [externref(0)]);
+
+// ./test/core/gc/br_on_cast_fail.wast:71
+assert_return(() => invoke($0, `br_on_non_null`, [0]), [value("i32", 0)]);
+
+// ./test/core/gc/br_on_cast_fail.wast:72
+assert_return(() => invoke($0, `br_on_non_null`, [1]), [value("i32", -1)]);
+
+// ./test/core/gc/br_on_cast_fail.wast:73
+assert_return(() => invoke($0, `br_on_non_null`, [2]), [value("i32", -1)]);
+
+// ./test/core/gc/br_on_cast_fail.wast:74
+assert_return(() => invoke($0, `br_on_non_null`, [3]), [value("i32", -1)]);
+
+// ./test/core/gc/br_on_cast_fail.wast:75
+assert_return(() => invoke($0, `br_on_non_null`, [4]), [value("i32", -1)]);
+
+// ./test/core/gc/br_on_cast_fail.wast:77
+assert_return(() => invoke($0, `br_on_non_i31`, [0]), [value("i32", -1)]);
+
+// ./test/core/gc/br_on_cast_fail.wast:78
+assert_return(() => invoke($0, `br_on_non_i31`, [1]), [value("i32", 7)]);
+
+// ./test/core/gc/br_on_cast_fail.wast:79
+assert_return(() => invoke($0, `br_on_non_i31`, [2]), [value("i32", -1)]);
+
+// ./test/core/gc/br_on_cast_fail.wast:80
+assert_return(() => invoke($0, `br_on_non_i31`, [3]), [value("i32", -1)]);
+
+// ./test/core/gc/br_on_cast_fail.wast:81
+assert_return(() => invoke($0, `br_on_non_i31`, [4]), [value("i32", -1)]);
+
+// ./test/core/gc/br_on_cast_fail.wast:83
+assert_return(() => invoke($0, `br_on_non_struct`, [0]), [value("i32", -1)]);
+
+// ./test/core/gc/br_on_cast_fail.wast:84
+assert_return(() => invoke($0, `br_on_non_struct`, [1]), [value("i32", -1)]);
+
+// ./test/core/gc/br_on_cast_fail.wast:85
+assert_return(() => invoke($0, `br_on_non_struct`, [2]), [value("i32", 6)]);
+
+// ./test/core/gc/br_on_cast_fail.wast:86
+assert_return(() => invoke($0, `br_on_non_struct`, [3]), [value("i32", -1)]);
+
+// ./test/core/gc/br_on_cast_fail.wast:87
+assert_return(() => invoke($0, `br_on_non_struct`, [4]), [value("i32", -1)]);
+
+// ./test/core/gc/br_on_cast_fail.wast:89
+assert_return(() => invoke($0, `br_on_non_array`, [0]), [value("i32", -1)]);
+
+// ./test/core/gc/br_on_cast_fail.wast:90
+assert_return(() => invoke($0, `br_on_non_array`, [1]), [value("i32", -1)]);
+
+// ./test/core/gc/br_on_cast_fail.wast:91
+assert_return(() => invoke($0, `br_on_non_array`, [2]), [value("i32", -1)]);
+
+// ./test/core/gc/br_on_cast_fail.wast:92
+assert_return(() => invoke($0, `br_on_non_array`, [3]), [value("i32", 3)]);
+
+// ./test/core/gc/br_on_cast_fail.wast:93
+assert_return(() => invoke($0, `br_on_non_array`, [4]), [value("i32", -1)]);
+
+// ./test/core/gc/br_on_cast_fail.wast:95
+assert_return(() => invoke($0, `null-diff`, [0]), [value("i32", 1)]);
+
+// ./test/core/gc/br_on_cast_fail.wast:96
+assert_return(() => invoke($0, `null-diff`, [1]), [value("i32", 0)]);
+
+// ./test/core/gc/br_on_cast_fail.wast:97
+assert_return(() => invoke($0, `null-diff`, [2]), [value("i32", 1)]);
+
+// ./test/core/gc/br_on_cast_fail.wast:98
+assert_return(() => invoke($0, `null-diff`, [3]), [value("i32", 0)]);
+
+// ./test/core/gc/br_on_cast_fail.wast:99
+assert_return(() => invoke($0, `null-diff`, [4]), [value("i32", 0)]);
+
+// ./test/core/gc/br_on_cast_fail.wast:104
+let $1 = instantiate(`(module
+ (type $$t0 (sub (struct)))
+ (type $$t1 (sub $$t0 (struct (field i32))))
+ (type $$t1' (sub $$t0 (struct (field i32))))
+ (type $$t2 (sub $$t1 (struct (field i32 i32))))
+ (type $$t2' (sub $$t1' (struct (field i32 i32))))
+ (type $$t3 (sub $$t0 (struct (field i32 i32))))
+ (type $$t0' (sub $$t0 (struct)))
+ (type $$t4 (sub $$t0' (struct (field i32 i32))))
+
+ (table 20 structref)
+
+ (func $$init
+ (table.set (i32.const 0) (struct.new_default $$t0))
+ (table.set (i32.const 10) (struct.new_default $$t0))
+ (table.set (i32.const 1) (struct.new_default $$t1))
+ (table.set (i32.const 11) (struct.new_default $$t1'))
+ (table.set (i32.const 2) (struct.new_default $$t2))
+ (table.set (i32.const 12) (struct.new_default $$t2'))
+ (table.set (i32.const 3) (struct.new_default $$t3 ))
+ (table.set (i32.const 4) (struct.new_default $$t4))
+ )
+
+ (func (export "test-sub")
+ (call $$init)
+ (block $$l (result structref)
+ ;; must not succeed
+ (br_on_cast_fail $$l structref (ref null $$t0) (ref.null struct))
+ (br_on_cast_fail $$l structref (ref null $$t0) (table.get (i32.const 0)))
+ (br_on_cast_fail $$l structref (ref null $$t0) (table.get (i32.const 1)))
+ (br_on_cast_fail $$l structref (ref null $$t0) (table.get (i32.const 2)))
+ (br_on_cast_fail $$l structref (ref null $$t0) (table.get (i32.const 3)))
+ (br_on_cast_fail $$l structref (ref null $$t0) (table.get (i32.const 4)))
+ (br_on_cast_fail $$l structref (ref $$t0) (table.get (i32.const 0)))
+ (br_on_cast_fail $$l structref (ref $$t0) (table.get (i32.const 1)))
+ (br_on_cast_fail $$l structref (ref $$t0) (table.get (i32.const 2)))
+ (br_on_cast_fail $$l structref (ref $$t0) (table.get (i32.const 3)))
+ (br_on_cast_fail $$l structref (ref $$t0) (table.get (i32.const 4)))
+
+ (br_on_cast_fail $$l structref (ref null $$t1) (ref.null struct))
+ (br_on_cast_fail $$l structref (ref null $$t1) (table.get (i32.const 1)))
+ (br_on_cast_fail $$l structref (ref null $$t1) (table.get (i32.const 2)))
+ (br_on_cast_fail $$l structref (ref $$t1) (table.get (i32.const 1)))
+ (br_on_cast_fail $$l structref (ref $$t1) (table.get (i32.const 2)))
+
+ (br_on_cast_fail $$l structref (ref null $$t2) (ref.null struct))
+ (br_on_cast_fail $$l structref (ref null $$t2) (table.get (i32.const 2)))
+ (br_on_cast_fail $$l structref (ref $$t2) (table.get (i32.const 2)))
+
+ (br_on_cast_fail $$l structref (ref null $$t3) (ref.null struct))
+ (br_on_cast_fail $$l structref (ref null $$t3) (table.get (i32.const 3)))
+ (br_on_cast_fail $$l structref (ref $$t3) (table.get (i32.const 3)))
+
+ (br_on_cast_fail $$l structref (ref null $$t4) (ref.null struct))
+ (br_on_cast_fail $$l structref (ref null $$t4) (table.get (i32.const 4)))
+ (br_on_cast_fail $$l structref (ref $$t4) (table.get (i32.const 4)))
+
+ ;; must succeed
+ (drop (block (result structref) (br_on_cast_fail 0 structref (ref $$t0) (ref.null struct))))
+
+ (drop (block (result structref) (br_on_cast_fail 0 structref (ref $$t1) (ref.null struct))))
+ (drop (block (result structref) (br_on_cast_fail 0 structref (ref $$t1) (table.get (i32.const 0)))))
+ (drop (block (result structref) (br_on_cast_fail 0 structref (ref $$t1) (table.get (i32.const 3)))))
+ (drop (block (result structref) (br_on_cast_fail 0 structref (ref $$t1) (table.get (i32.const 4)))))
+
+ (drop (block (result structref) (br_on_cast_fail 0 structref (ref $$t2) (ref.null struct))))
+ (drop (block (result structref) (br_on_cast_fail 0 structref (ref $$t2) (table.get (i32.const 0)))))
+ (drop (block (result structref) (br_on_cast_fail 0 structref (ref $$t2) (table.get (i32.const 1)))))
+ (drop (block (result structref) (br_on_cast_fail 0 structref (ref $$t2) (table.get (i32.const 3)))))
+ (drop (block (result structref) (br_on_cast_fail 0 structref (ref $$t2) (table.get (i32.const 4)))))
+
+ (drop (block (result structref) (br_on_cast_fail 0 structref (ref $$t3) (ref.null struct))))
+ (drop (block (result structref) (br_on_cast_fail 0 structref (ref $$t3) (table.get (i32.const 0)))))
+ (drop (block (result structref) (br_on_cast_fail 0 structref (ref $$t3) (table.get (i32.const 1)))))
+ (drop (block (result structref) (br_on_cast_fail 0 structref (ref $$t3) (table.get (i32.const 2)))))
+ (drop (block (result structref) (br_on_cast_fail 0 structref (ref $$t3) (table.get (i32.const 4)))))
+
+ (drop (block (result structref) (br_on_cast_fail 0 structref (ref $$t4) (ref.null struct))))
+ (drop (block (result structref) (br_on_cast_fail 0 structref (ref $$t4) (table.get (i32.const 0)))))
+ (drop (block (result structref) (br_on_cast_fail 0 structref (ref $$t4) (table.get (i32.const 1)))))
+ (drop (block (result structref) (br_on_cast_fail 0 structref (ref $$t4) (table.get (i32.const 2)))))
+ (drop (block (result structref) (br_on_cast_fail 0 structref (ref $$t4) (table.get (i32.const 3)))))
+
+ (return)
+ )
+ (unreachable)
+ )
+
+ (func (export "test-canon")
+ (call $$init)
+ (block $$l (result structref)
+ (br_on_cast_fail $$l structref (ref $$t0) (table.get (i32.const 0)))
+ (br_on_cast_fail $$l structref (ref $$t0) (table.get (i32.const 1)))
+ (br_on_cast_fail $$l structref (ref $$t0) (table.get (i32.const 2)))
+ (br_on_cast_fail $$l structref (ref $$t0) (table.get (i32.const 3)))
+ (br_on_cast_fail $$l structref (ref $$t0) (table.get (i32.const 4)))
+ (br_on_cast_fail $$l structref (ref $$t0) (table.get (i32.const 10)))
+ (br_on_cast_fail $$l structref (ref $$t0) (table.get (i32.const 11)))
+ (br_on_cast_fail $$l structref (ref $$t0) (table.get (i32.const 12)))
+
+ (br_on_cast_fail $$l structref (ref $$t1') (table.get (i32.const 1)))
+ (br_on_cast_fail $$l structref (ref $$t1') (table.get (i32.const 2)))
+
+ (br_on_cast_fail $$l structref (ref $$t1) (table.get (i32.const 11)))
+ (br_on_cast_fail $$l structref (ref $$t1) (table.get (i32.const 12)))
+
+ (br_on_cast_fail $$l structref (ref $$t2') (table.get (i32.const 2)))
+
+ (br_on_cast_fail $$l structref (ref $$t2) (table.get (i32.const 12)))
+
+ (return)
+ )
+ (unreachable)
+ )
+)`);
+
+// ./test/core/gc/br_on_cast_fail.wast:220
+invoke($1, `test-sub`, []);
+
+// ./test/core/gc/br_on_cast_fail.wast:221
+invoke($1, `test-canon`, []);
+
+// ./test/core/gc/br_on_cast_fail.wast:226
+let $2 = instantiate(`(module
+ (type $$t (struct))
+
+ (func (param (ref any)) (result (ref any))
+ (block (result (ref $$t)) (br_on_cast_fail 1 (ref any) (ref $$t) (local.get 0)))
+ )
+ (func (param (ref null any)) (result (ref null any))
+ (block (result (ref $$t)) (br_on_cast_fail 1 (ref null any) (ref $$t) (local.get 0)))
+ )
+ (func (param (ref null any)) (result (ref null any))
+ (block (result (ref null $$t)) (br_on_cast_fail 1 (ref null any) (ref null $$t) (local.get 0)))
+ )
+)`);
+
+// ./test/core/gc/br_on_cast_fail.wast:240
+assert_invalid(
+ () => instantiate(`(module
+ (type $$t (struct))
+ (func (param (ref any)) (result (ref any))
+ (block (result (ref $$t)) (br_on_cast_fail 1 (ref null any) (ref null $$t) (local.get 0)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/gc/br_on_cast_fail.wast:249
+assert_invalid(
+ () => instantiate(`(module
+ (type $$t (struct))
+ (func (param (ref any)) (result (ref any))
+ (block (result (ref null $$t)) (br_on_cast_fail 1 (ref any) (ref null $$t) (local.get 0))) (ref.as_non_null)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/gc/br_on_cast_fail.wast:258
+assert_invalid(
+ () => instantiate(`(module
+ (type $$t (struct))
+ (func (param (ref null any)) (result (ref any))
+ (block (result (ref $$t)) (br_on_cast_fail 1 (ref null any) (ref $$t) (local.get 0)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/gc/br_on_cast_fail.wast:267
+assert_invalid(
+ () => instantiate(`(module
+ (func (result anyref)
+ (br_on_cast_fail 0 eqref anyref (unreachable))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/gc/br_on_cast_fail.wast:275
+assert_invalid(
+ () => instantiate(`(module
+ (func (result anyref)
+ (br_on_cast_fail 0 structref arrayref (unreachable))
+ )
+ )`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/gc/comments.wast.js b/js/src/jit-test/tests/wasm/spec/gc/comments.wast.js
new file mode 100644
index 0000000000..32a78a1e3c
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/gc/comments.wast.js
@@ -0,0 +1,51 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/comments.wast
+
+// ./test/core/comments.wast:10:0
+let $0 = instantiate(`(module;;comment
+)`);
+
+// ./test/core/comments.wast:57:11
+let $1 = instantiate(`(module(;comment;)
+(;comment;))`);
+
+// ./test/core/comments.wast:67
+let $2 = instantiate(`(module
+ (;comment(;nested(;further;)nested;)comment;)
+)`);
+
+// ./test/core/comments.wast:76
+let $3 = instantiate(`(module
+ (;comment;;comment(;nested;)comment;)
+)`);
+
+// ./test/core/comments.wast:83:8
+let $4 = instantiate(`(func (export "f1") (result i32) (i32.const 1) ;; comment
+ (return (i32.const 2))
+ ) (func (export "f2") (result i32) (i32.const 1) ;; comment (return (i32.const 2))
+ ) (func (export "f3") (result i32) (i32.const 1) ;; comment
+ (return (i32.const 2))
+ ) `);
+
+// ./test/core/comments.wast:104
+assert_return(() => invoke($4, `f1`, []), [value("i32", 2)]);
+
+// ./test/core/comments.wast:105
+assert_return(() => invoke($4, `f2`, []), [value("i32", 2)]);
+
+// ./test/core/comments.wast:106
+assert_return(() => invoke($4, `f3`, []), [value("i32", 2)]);
diff --git a/js/src/jit-test/tests/wasm/spec/gc/directives.txt b/js/src/jit-test/tests/wasm/spec/gc/directives.txt
new file mode 100644
index 0000000000..c071d8b980
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/gc/directives.txt
@@ -0,0 +1 @@
+|jit-test| test-also=--wasm-compiler=optimizing; test-also=--wasm-compiler=baseline; test-also=--wasm-test-serialization; test-also=--test-wasm-await-tier2; test-also=--disable-wasm-huge-memory; skip-variant-if: --disable-wasm-huge-memory, !wasmHugeMemorySupported(); local-include:harness/harness.js; --wasm-gc; skip-if: !wasmGcEnabled() \ No newline at end of file
diff --git a/js/src/jit-test/tests/wasm/spec/gc/extern.wast.js b/js/src/jit-test/tests/wasm/spec/gc/extern.wast.js
new file mode 100644
index 0000000000..d292e157da
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/gc/extern.wast.js
@@ -0,0 +1,101 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/gc/extern.wast
+
+// ./test/core/gc/extern.wast:1
+let $0 = instantiate(`(module
+ (type $$ft (func))
+ (type $$st (struct))
+ (type $$at (array i8))
+
+ (table 10 anyref)
+
+ (elem declare func $$f)
+ (func $$f)
+
+ (func (export "init") (param $$x externref)
+ (table.set (i32.const 0) (ref.null any))
+ (table.set (i32.const 1) (ref.i31 (i32.const 7)))
+ (table.set (i32.const 2) (struct.new_default $$st))
+ (table.set (i32.const 3) (array.new_default $$at (i32.const 0)))
+ (table.set (i32.const 4) (any.convert_extern (local.get $$x)))
+ )
+
+ (func (export "internalize") (param externref) (result anyref)
+ (any.convert_extern (local.get 0))
+ )
+ (func (export "externalize") (param anyref) (result externref)
+ (extern.convert_any (local.get 0))
+ )
+
+ (func (export "externalize-i") (param i32) (result externref)
+ (extern.convert_any (table.get (local.get 0)))
+ )
+ (func (export "externalize-ii") (param i32) (result anyref)
+ (any.convert_extern (extern.convert_any (table.get (local.get 0))))
+ )
+)`);
+
+// ./test/core/gc/extern.wast:34
+invoke($0, `init`, [externref(0)]);
+
+// ./test/core/gc/extern.wast:36
+assert_return(() => invoke($0, `internalize`, [externref(1)]), [new HostRefResult(1)]);
+
+// ./test/core/gc/extern.wast:37
+assert_return(() => invoke($0, `internalize`, [null]), [value('anyref', null)]);
+
+// ./test/core/gc/extern.wast:39
+assert_return(() => invoke($0, `externalize`, [hostref(2)]), [new ExternRefResult(2)]);
+
+// ./test/core/gc/extern.wast:40
+assert_return(() => invoke($0, `externalize`, [null]), [value('externref', null)]);
+
+// ./test/core/gc/extern.wast:42
+assert_return(() => invoke($0, `externalize-i`, [0]), [value('externref', null)]);
+
+// ./test/core/gc/extern.wast:43
+assert_return(() => invoke($0, `externalize-i`, [1]), [new RefWithType('externref')]);
+
+// ./test/core/gc/extern.wast:44
+assert_return(() => invoke($0, `externalize-i`, [2]), [new RefWithType('externref')]);
+
+// ./test/core/gc/extern.wast:45
+assert_return(() => invoke($0, `externalize-i`, [3]), [new RefWithType('externref')]);
+
+// ./test/core/gc/extern.wast:46
+assert_return(() => invoke($0, `externalize-i`, [4]), [new RefWithType('externref')]);
+
+// ./test/core/gc/extern.wast:47
+assert_return(() => invoke($0, `externalize-i`, [5]), [value('externref', null)]);
+
+// ./test/core/gc/extern.wast:49
+assert_return(() => invoke($0, `externalize-ii`, [0]), [value('anyref', null)]);
+
+// ./test/core/gc/extern.wast:50
+assert_return(() => invoke($0, `externalize-ii`, [1]), [new RefWithType('i31ref')]);
+
+// ./test/core/gc/extern.wast:51
+assert_return(() => invoke($0, `externalize-ii`, [2]), [new RefWithType('structref')]);
+
+// ./test/core/gc/extern.wast:52
+assert_return(() => invoke($0, `externalize-ii`, [3]), [new RefWithType('arrayref')]);
+
+// ./test/core/gc/extern.wast:53
+assert_return(() => invoke($0, `externalize-ii`, [4]), [new HostRefResult(0)]);
+
+// ./test/core/gc/extern.wast:54
+assert_return(() => invoke($0, `externalize-ii`, [5]), [value('anyref', null)]);
diff --git a/js/src/jit-test/tests/wasm/spec/gc/float_literals.wast.js b/js/src/jit-test/tests/wasm/spec/gc/float_literals.wast.js
new file mode 100644
index 0000000000..c352ebec75
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/gc/float_literals.wast.js
@@ -0,0 +1,776 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/float_literals.wast
+
+// ./test/core/float_literals.wast:3
+let $0 = instantiate(`(module
+ ;; f32 special values
+ (func (export "f32.nan") (result i32) (i32.reinterpret_f32 (f32.const nan)))
+ (func (export "f32.positive_nan") (result i32) (i32.reinterpret_f32 (f32.const +nan)))
+ (func (export "f32.negative_nan") (result i32) (i32.reinterpret_f32 (f32.const -nan)))
+ (func (export "f32.plain_nan") (result i32) (i32.reinterpret_f32 (f32.const nan:0x400000)))
+ (func (export "f32.informally_known_as_plain_snan") (result i32) (i32.reinterpret_f32 (f32.const nan:0x200000)))
+ (func (export "f32.all_ones_nan") (result i32) (i32.reinterpret_f32 (f32.const -nan:0x7fffff)))
+ (func (export "f32.misc_nan") (result i32) (i32.reinterpret_f32 (f32.const nan:0x012345)))
+ (func (export "f32.misc_positive_nan") (result i32) (i32.reinterpret_f32 (f32.const +nan:0x304050)))
+ (func (export "f32.misc_negative_nan") (result i32) (i32.reinterpret_f32 (f32.const -nan:0x2abcde)))
+ (func (export "f32.infinity") (result i32) (i32.reinterpret_f32 (f32.const inf)))
+ (func (export "f32.positive_infinity") (result i32) (i32.reinterpret_f32 (f32.const +inf)))
+ (func (export "f32.negative_infinity") (result i32) (i32.reinterpret_f32 (f32.const -inf)))
+
+ ;; f32 numbers
+ (func (export "f32.zero") (result i32) (i32.reinterpret_f32 (f32.const 0x0.0p0)))
+ (func (export "f32.positive_zero") (result i32) (i32.reinterpret_f32 (f32.const +0x0.0p0)))
+ (func (export "f32.negative_zero") (result i32) (i32.reinterpret_f32 (f32.const -0x0.0p0)))
+ (func (export "f32.misc") (result i32) (i32.reinterpret_f32 (f32.const 0x1.921fb6p+2)))
+ (func (export "f32.min_positive") (result i32) (i32.reinterpret_f32 (f32.const 0x1p-149)))
+ (func (export "f32.min_normal") (result i32) (i32.reinterpret_f32 (f32.const 0x1p-126)))
+ (func (export "f32.max_finite") (result i32) (i32.reinterpret_f32 (f32.const 0x1.fffffep+127)))
+ (func (export "f32.max_subnormal") (result i32) (i32.reinterpret_f32 (f32.const 0x1.fffffcp-127)))
+ (func (export "f32.trailing_dot") (result i32) (i32.reinterpret_f32 (f32.const 0x1.p10)))
+
+ ;; f32 in decimal format
+ (func (export "f32_dec.zero") (result i32) (i32.reinterpret_f32 (f32.const 0.0e0)))
+ (func (export "f32_dec.positive_zero") (result i32) (i32.reinterpret_f32 (f32.const +0.0e0)))
+ (func (export "f32_dec.negative_zero") (result i32) (i32.reinterpret_f32 (f32.const -0.0e0)))
+ (func (export "f32_dec.misc") (result i32) (i32.reinterpret_f32 (f32.const 6.28318548202514648)))
+ (func (export "f32_dec.min_positive") (result i32) (i32.reinterpret_f32 (f32.const 1.4013e-45)))
+ (func (export "f32_dec.min_normal") (result i32) (i32.reinterpret_f32 (f32.const 1.1754944e-38)))
+ (func (export "f32_dec.max_subnormal") (result i32) (i32.reinterpret_f32 (f32.const 1.1754942e-38)))
+ (func (export "f32_dec.max_finite") (result i32) (i32.reinterpret_f32 (f32.const 3.4028234e+38)))
+ (func (export "f32_dec.trailing_dot") (result i32) (i32.reinterpret_f32 (f32.const 1.e10)))
+
+ ;; https://twitter.com/Archivd/status/994637336506912768
+ (func (export "f32_dec.root_beer_float") (result i32) (i32.reinterpret_f32 (f32.const 1.000000119)))
+
+ ;; f64 special values
+ (func (export "f64.nan") (result i64) (i64.reinterpret_f64 (f64.const nan)))
+ (func (export "f64.positive_nan") (result i64) (i64.reinterpret_f64 (f64.const +nan)))
+ (func (export "f64.negative_nan") (result i64) (i64.reinterpret_f64 (f64.const -nan)))
+ (func (export "f64.plain_nan") (result i64) (i64.reinterpret_f64 (f64.const nan:0x8000000000000)))
+ (func (export "f64.informally_known_as_plain_snan") (result i64) (i64.reinterpret_f64 (f64.const nan:0x4000000000000)))
+ (func (export "f64.all_ones_nan") (result i64) (i64.reinterpret_f64 (f64.const -nan:0xfffffffffffff)))
+ (func (export "f64.misc_nan") (result i64) (i64.reinterpret_f64 (f64.const nan:0x0123456789abc)))
+ (func (export "f64.misc_positive_nan") (result i64) (i64.reinterpret_f64 (f64.const +nan:0x3040506070809)))
+ (func (export "f64.misc_negative_nan") (result i64) (i64.reinterpret_f64 (f64.const -nan:0x2abcdef012345)))
+ (func (export "f64.infinity") (result i64) (i64.reinterpret_f64 (f64.const inf)))
+ (func (export "f64.positive_infinity") (result i64) (i64.reinterpret_f64 (f64.const +inf)))
+ (func (export "f64.negative_infinity") (result i64) (i64.reinterpret_f64 (f64.const -inf)))
+
+ ;; f64 numbers
+ (func (export "f64.zero") (result i64) (i64.reinterpret_f64 (f64.const 0x0.0p0)))
+ (func (export "f64.positive_zero") (result i64) (i64.reinterpret_f64 (f64.const +0x0.0p0)))
+ (func (export "f64.negative_zero") (result i64) (i64.reinterpret_f64 (f64.const -0x0.0p0)))
+ (func (export "f64.misc") (result i64) (i64.reinterpret_f64 (f64.const 0x1.921fb54442d18p+2)))
+ (func (export "f64.min_positive") (result i64) (i64.reinterpret_f64 (f64.const 0x0.0000000000001p-1022)))
+ (func (export "f64.min_normal") (result i64) (i64.reinterpret_f64 (f64.const 0x1p-1022)))
+ (func (export "f64.max_subnormal") (result i64) (i64.reinterpret_f64 (f64.const 0x0.fffffffffffffp-1022)))
+ (func (export "f64.max_finite") (result i64) (i64.reinterpret_f64 (f64.const 0x1.fffffffffffffp+1023)))
+ (func (export "f64.trailing_dot") (result i64) (i64.reinterpret_f64 (f64.const 0x1.p100)))
+
+ ;; f64 numbers in decimal format
+ (func (export "f64_dec.zero") (result i64) (i64.reinterpret_f64 (f64.const 0.0e0)))
+ (func (export "f64_dec.positive_zero") (result i64) (i64.reinterpret_f64 (f64.const +0.0e0)))
+ (func (export "f64_dec.negative_zero") (result i64) (i64.reinterpret_f64 (f64.const -0.0e0)))
+ (func (export "f64_dec.misc") (result i64) (i64.reinterpret_f64 (f64.const 6.28318530717958623)))
+ (func (export "f64_dec.min_positive") (result i64) (i64.reinterpret_f64 (f64.const 4.94066e-324)))
+ (func (export "f64_dec.min_normal") (result i64) (i64.reinterpret_f64 (f64.const 2.2250738585072012e-308)))
+ (func (export "f64_dec.max_subnormal") (result i64) (i64.reinterpret_f64 (f64.const 2.2250738585072011e-308)))
+ (func (export "f64_dec.max_finite") (result i64) (i64.reinterpret_f64 (f64.const 1.7976931348623157e+308)))
+ (func (export "f64_dec.trailing_dot") (result i64) (i64.reinterpret_f64 (f64.const 1.e100)))
+
+ ;; https://twitter.com/Archivd/status/994637336506912768
+ (func (export "f64_dec.root_beer_float") (result i64) (i64.reinterpret_f64 (f64.const 1.000000119)))
+
+ (func (export "f32-dec-sep1") (result f32) (f32.const 1_000_000))
+ (func (export "f32-dec-sep2") (result f32) (f32.const 1_0_0_0))
+ (func (export "f32-dec-sep3") (result f32) (f32.const 100_3.141_592))
+ (func (export "f32-dec-sep4") (result f32) (f32.const 99e+1_3))
+ (func (export "f32-dec-sep5") (result f32) (f32.const 122_000.11_3_54E0_2_3))
+ (func (export "f32-hex-sep1") (result f32) (f32.const 0xa_0f_00_99))
+ (func (export "f32-hex-sep2") (result f32) (f32.const 0x1_a_A_0_f))
+ (func (export "f32-hex-sep3") (result f32) (f32.const 0xa0_ff.f141_a59a))
+ (func (export "f32-hex-sep4") (result f32) (f32.const 0xf0P+1_3))
+ (func (export "f32-hex-sep5") (result f32) (f32.const 0x2a_f00a.1f_3_eep2_3))
+
+ (func (export "f64-dec-sep1") (result f64) (f64.const 1_000_000))
+ (func (export "f64-dec-sep2") (result f64) (f64.const 1_0_0_0))
+ (func (export "f64-dec-sep3") (result f64) (f64.const 100_3.141_592))
+ (func (export "f64-dec-sep4") (result f64) (f64.const 99e-1_23))
+ (func (export "f64-dec-sep5") (result f64) (f64.const 122_000.11_3_54e0_2_3))
+ (func (export "f64-hex-sep1") (result f64) (f64.const 0xa_f00f_0000_9999))
+ (func (export "f64-hex-sep2") (result f64) (f64.const 0x1_a_A_0_f))
+ (func (export "f64-hex-sep3") (result f64) (f64.const 0xa0_ff.f141_a59a))
+ (func (export "f64-hex-sep4") (result f64) (f64.const 0xf0P+1_3))
+ (func (export "f64-hex-sep5") (result f64) (f64.const 0x2a_f00a.1f_3_eep2_3))
+)`);
+
+// ./test/core/float_literals.wast:105
+assert_return(() => invoke($0, `f32.nan`, []), [value("i32", 2143289344)]);
+
+// ./test/core/float_literals.wast:106
+assert_return(() => invoke($0, `f32.positive_nan`, []), [value("i32", 2143289344)]);
+
+// ./test/core/float_literals.wast:107
+assert_return(() => invoke($0, `f32.negative_nan`, []), [value("i32", -4194304)]);
+
+// ./test/core/float_literals.wast:108
+assert_return(() => invoke($0, `f32.plain_nan`, []), [value("i32", 2143289344)]);
+
+// ./test/core/float_literals.wast:109
+assert_return(() => invoke($0, `f32.informally_known_as_plain_snan`, []), [value("i32", 2141192192)]);
+
+// ./test/core/float_literals.wast:110
+assert_return(() => invoke($0, `f32.all_ones_nan`, []), [value("i32", -1)]);
+
+// ./test/core/float_literals.wast:111
+assert_return(() => invoke($0, `f32.misc_nan`, []), [value("i32", 2139169605)]);
+
+// ./test/core/float_literals.wast:112
+assert_return(() => invoke($0, `f32.misc_positive_nan`, []), [value("i32", 2142257232)]);
+
+// ./test/core/float_literals.wast:113
+assert_return(() => invoke($0, `f32.misc_negative_nan`, []), [value("i32", -5587746)]);
+
+// ./test/core/float_literals.wast:114
+assert_return(() => invoke($0, `f32.infinity`, []), [value("i32", 2139095040)]);
+
+// ./test/core/float_literals.wast:115
+assert_return(() => invoke($0, `f32.positive_infinity`, []), [value("i32", 2139095040)]);
+
+// ./test/core/float_literals.wast:116
+assert_return(() => invoke($0, `f32.negative_infinity`, []), [value("i32", -8388608)]);
+
+// ./test/core/float_literals.wast:117
+assert_return(() => invoke($0, `f32.zero`, []), [value("i32", 0)]);
+
+// ./test/core/float_literals.wast:118
+assert_return(() => invoke($0, `f32.positive_zero`, []), [value("i32", 0)]);
+
+// ./test/core/float_literals.wast:119
+assert_return(() => invoke($0, `f32.negative_zero`, []), [value("i32", -2147483648)]);
+
+// ./test/core/float_literals.wast:120
+assert_return(() => invoke($0, `f32.misc`, []), [value("i32", 1086918619)]);
+
+// ./test/core/float_literals.wast:121
+assert_return(() => invoke($0, `f32.min_positive`, []), [value("i32", 1)]);
+
+// ./test/core/float_literals.wast:122
+assert_return(() => invoke($0, `f32.min_normal`, []), [value("i32", 8388608)]);
+
+// ./test/core/float_literals.wast:123
+assert_return(() => invoke($0, `f32.max_subnormal`, []), [value("i32", 8388607)]);
+
+// ./test/core/float_literals.wast:124
+assert_return(() => invoke($0, `f32.max_finite`, []), [value("i32", 2139095039)]);
+
+// ./test/core/float_literals.wast:125
+assert_return(() => invoke($0, `f32.trailing_dot`, []), [value("i32", 1149239296)]);
+
+// ./test/core/float_literals.wast:126
+assert_return(() => invoke($0, `f32_dec.zero`, []), [value("i32", 0)]);
+
+// ./test/core/float_literals.wast:127
+assert_return(() => invoke($0, `f32_dec.positive_zero`, []), [value("i32", 0)]);
+
+// ./test/core/float_literals.wast:128
+assert_return(() => invoke($0, `f32_dec.negative_zero`, []), [value("i32", -2147483648)]);
+
+// ./test/core/float_literals.wast:129
+assert_return(() => invoke($0, `f32_dec.misc`, []), [value("i32", 1086918619)]);
+
+// ./test/core/float_literals.wast:130
+assert_return(() => invoke($0, `f32_dec.min_positive`, []), [value("i32", 1)]);
+
+// ./test/core/float_literals.wast:131
+assert_return(() => invoke($0, `f32_dec.min_normal`, []), [value("i32", 8388608)]);
+
+// ./test/core/float_literals.wast:132
+assert_return(() => invoke($0, `f32_dec.max_subnormal`, []), [value("i32", 8388607)]);
+
+// ./test/core/float_literals.wast:133
+assert_return(() => invoke($0, `f32_dec.max_finite`, []), [value("i32", 2139095039)]);
+
+// ./test/core/float_literals.wast:134
+assert_return(() => invoke($0, `f32_dec.trailing_dot`, []), [value("i32", 1343554297)]);
+
+// ./test/core/float_literals.wast:135
+assert_return(() => invoke($0, `f32_dec.root_beer_float`, []), [value("i32", 1065353217)]);
+
+// ./test/core/float_literals.wast:137
+assert_return(() => invoke($0, `f64.nan`, []), [value("i64", 9221120237041090560n)]);
+
+// ./test/core/float_literals.wast:138
+assert_return(() => invoke($0, `f64.positive_nan`, []), [value("i64", 9221120237041090560n)]);
+
+// ./test/core/float_literals.wast:139
+assert_return(() => invoke($0, `f64.negative_nan`, []), [value("i64", -2251799813685248n)]);
+
+// ./test/core/float_literals.wast:140
+assert_return(() => invoke($0, `f64.plain_nan`, []), [value("i64", 9221120237041090560n)]);
+
+// ./test/core/float_literals.wast:141
+assert_return(
+ () => invoke($0, `f64.informally_known_as_plain_snan`, []),
+ [value("i64", 9219994337134247936n)],
+);
+
+// ./test/core/float_literals.wast:142
+assert_return(() => invoke($0, `f64.all_ones_nan`, []), [value("i64", -1n)]);
+
+// ./test/core/float_literals.wast:143
+assert_return(() => invoke($0, `f64.misc_nan`, []), [value("i64", 9218888453225749180n)]);
+
+// ./test/core/float_literals.wast:144
+assert_return(() => invoke($0, `f64.misc_positive_nan`, []), [value("i64", 9219717281780008969n)]);
+
+// ./test/core/float_literals.wast:145
+assert_return(() => invoke($0, `f64.misc_negative_nan`, []), [value("i64", -3751748707474619n)]);
+
+// ./test/core/float_literals.wast:146
+assert_return(() => invoke($0, `f64.infinity`, []), [value("i64", 9218868437227405312n)]);
+
+// ./test/core/float_literals.wast:147
+assert_return(() => invoke($0, `f64.positive_infinity`, []), [value("i64", 9218868437227405312n)]);
+
+// ./test/core/float_literals.wast:148
+assert_return(() => invoke($0, `f64.negative_infinity`, []), [value("i64", -4503599627370496n)]);
+
+// ./test/core/float_literals.wast:149
+assert_return(() => invoke($0, `f64.zero`, []), [value("i64", 0n)]);
+
+// ./test/core/float_literals.wast:150
+assert_return(() => invoke($0, `f64.positive_zero`, []), [value("i64", 0n)]);
+
+// ./test/core/float_literals.wast:151
+assert_return(() => invoke($0, `f64.negative_zero`, []), [value("i64", -9223372036854775808n)]);
+
+// ./test/core/float_literals.wast:152
+assert_return(() => invoke($0, `f64.misc`, []), [value("i64", 4618760256179416344n)]);
+
+// ./test/core/float_literals.wast:153
+assert_return(() => invoke($0, `f64.min_positive`, []), [value("i64", 1n)]);
+
+// ./test/core/float_literals.wast:154
+assert_return(() => invoke($0, `f64.min_normal`, []), [value("i64", 4503599627370496n)]);
+
+// ./test/core/float_literals.wast:155
+assert_return(() => invoke($0, `f64.max_subnormal`, []), [value("i64", 4503599627370495n)]);
+
+// ./test/core/float_literals.wast:156
+assert_return(() => invoke($0, `f64.max_finite`, []), [value("i64", 9218868437227405311n)]);
+
+// ./test/core/float_literals.wast:157
+assert_return(() => invoke($0, `f64.trailing_dot`, []), [value("i64", 5057542381537067008n)]);
+
+// ./test/core/float_literals.wast:158
+assert_return(() => invoke($0, `f64_dec.zero`, []), [value("i64", 0n)]);
+
+// ./test/core/float_literals.wast:159
+assert_return(() => invoke($0, `f64_dec.positive_zero`, []), [value("i64", 0n)]);
+
+// ./test/core/float_literals.wast:160
+assert_return(() => invoke($0, `f64_dec.negative_zero`, []), [value("i64", -9223372036854775808n)]);
+
+// ./test/core/float_literals.wast:161
+assert_return(() => invoke($0, `f64_dec.misc`, []), [value("i64", 4618760256179416344n)]);
+
+// ./test/core/float_literals.wast:162
+assert_return(() => invoke($0, `f64_dec.min_positive`, []), [value("i64", 1n)]);
+
+// ./test/core/float_literals.wast:163
+assert_return(() => invoke($0, `f64_dec.min_normal`, []), [value("i64", 4503599627370496n)]);
+
+// ./test/core/float_literals.wast:164
+assert_return(() => invoke($0, `f64_dec.max_subnormal`, []), [value("i64", 4503599627370495n)]);
+
+// ./test/core/float_literals.wast:165
+assert_return(() => invoke($0, `f64_dec.max_finite`, []), [value("i64", 9218868437227405311n)]);
+
+// ./test/core/float_literals.wast:166
+assert_return(() => invoke($0, `f64_dec.trailing_dot`, []), [value("i64", 6103021453049119613n)]);
+
+// ./test/core/float_literals.wast:167
+assert_return(() => invoke($0, `f64_dec.root_beer_float`, []), [value("i64", 4607182419335945764n)]);
+
+// ./test/core/float_literals.wast:169
+assert_return(() => invoke($0, `f32-dec-sep1`, []), [value("f32", 1000000)]);
+
+// ./test/core/float_literals.wast:170
+assert_return(() => invoke($0, `f32-dec-sep2`, []), [value("f32", 1000)]);
+
+// ./test/core/float_literals.wast:171
+assert_return(() => invoke($0, `f32-dec-sep3`, []), [value("f32", 1003.1416)]);
+
+// ./test/core/float_literals.wast:172
+assert_return(() => invoke($0, `f32-dec-sep4`, []), [value("f32", 990000000000000)]);
+
+// ./test/core/float_literals.wast:173
+assert_return(() => invoke($0, `f32-dec-sep5`, []), [value("f32", 12200012000000000000000000000)]);
+
+// ./test/core/float_literals.wast:174
+assert_return(() => invoke($0, `f32-hex-sep1`, []), [value("f32", 168755360)]);
+
+// ./test/core/float_literals.wast:175
+assert_return(() => invoke($0, `f32-hex-sep2`, []), [value("f32", 109071)]);
+
+// ./test/core/float_literals.wast:176
+assert_return(() => invoke($0, `f32-hex-sep3`, []), [value("f32", 41215.94)]);
+
+// ./test/core/float_literals.wast:177
+assert_return(() => invoke($0, `f32-hex-sep4`, []), [value("f32", 1966080)]);
+
+// ./test/core/float_literals.wast:178
+assert_return(() => invoke($0, `f32-hex-sep5`, []), [value("f32", 23605224000000)]);
+
+// ./test/core/float_literals.wast:180
+assert_return(() => invoke($0, `f64-dec-sep1`, []), [value("f64", 1000000)]);
+
+// ./test/core/float_literals.wast:181
+assert_return(() => invoke($0, `f64-dec-sep2`, []), [value("f64", 1000)]);
+
+// ./test/core/float_literals.wast:182
+assert_return(() => invoke($0, `f64-dec-sep3`, []), [value("f64", 1003.141592)]);
+
+// ./test/core/float_literals.wast:183
+assert_return(
+ () => invoke($0, `f64-dec-sep4`, []),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099),
+ ],
+);
+
+// ./test/core/float_literals.wast:184
+assert_return(() => invoke($0, `f64-dec-sep5`, []), [value("f64", 12200011354000000000000000000)]);
+
+// ./test/core/float_literals.wast:185
+assert_return(() => invoke($0, `f64-hex-sep1`, []), [value("f64", 3078696982321561)]);
+
+// ./test/core/float_literals.wast:186
+assert_return(() => invoke($0, `f64-hex-sep2`, []), [value("f64", 109071)]);
+
+// ./test/core/float_literals.wast:187
+assert_return(() => invoke($0, `f64-hex-sep3`, []), [value("f64", 41215.94240794191)]);
+
+// ./test/core/float_literals.wast:188
+assert_return(() => invoke($0, `f64-hex-sep4`, []), [value("f64", 1966080)]);
+
+// ./test/core/float_literals.wast:189
+assert_return(() => invoke($0, `f64-hex-sep5`, []), [value("f64", 23605225168752)]);
+
+// ./test/core/float_literals.wast:192
+let $1 = instantiate(`(module binary
+ ;; (func (export "4294967249") (result f64) (f64.const 4294967249))
+ "\\00\\61\\73\\6d\\01\\00\\00\\00\\01\\85\\80\\80\\80\\00\\01\\60"
+ "\\00\\01\\7c\\03\\82\\80\\80\\80\\00\\01\\00\\07\\8e\\80\\80\\80"
+ "\\00\\01\\0a\\34\\32\\39\\34\\39\\36\\37\\32\\34\\39\\00\\00\\0a"
+ "\\91\\80\\80\\80\\00\\01\\8b\\80\\80\\80\\00\\00\\44\\00\\00\\20"
+ "\\fa\\ff\\ff\\ef\\41\\0b"
+)`);
+
+// ./test/core/float_literals.wast:201
+assert_return(() => invoke($1, `4294967249`, []), [value("f64", 4294967249)]);
+
+// ./test/core/float_literals.wast:203
+assert_malformed(() => instantiate(`(global f32 (f32.const _100)) `), `unknown operator`);
+
+// ./test/core/float_literals.wast:207
+assert_malformed(() => instantiate(`(global f32 (f32.const +_100)) `), `unknown operator`);
+
+// ./test/core/float_literals.wast:211
+assert_malformed(() => instantiate(`(global f32 (f32.const -_100)) `), `unknown operator`);
+
+// ./test/core/float_literals.wast:215
+assert_malformed(() => instantiate(`(global f32 (f32.const 99_)) `), `unknown operator`);
+
+// ./test/core/float_literals.wast:219
+assert_malformed(
+ () => instantiate(`(global f32 (f32.const 1__000)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:223
+assert_malformed(() => instantiate(`(global f32 (f32.const _1.0)) `), `unknown operator`);
+
+// ./test/core/float_literals.wast:227
+assert_malformed(() => instantiate(`(global f32 (f32.const 1.0_)) `), `unknown operator`);
+
+// ./test/core/float_literals.wast:231
+assert_malformed(() => instantiate(`(global f32 (f32.const 1_.0)) `), `unknown operator`);
+
+// ./test/core/float_literals.wast:235
+assert_malformed(() => instantiate(`(global f32 (f32.const 1._0)) `), `unknown operator`);
+
+// ./test/core/float_literals.wast:239
+assert_malformed(() => instantiate(`(global f32 (f32.const _1e1)) `), `unknown operator`);
+
+// ./test/core/float_literals.wast:243
+assert_malformed(() => instantiate(`(global f32 (f32.const 1e1_)) `), `unknown operator`);
+
+// ./test/core/float_literals.wast:247
+assert_malformed(() => instantiate(`(global f32 (f32.const 1_e1)) `), `unknown operator`);
+
+// ./test/core/float_literals.wast:251
+assert_malformed(() => instantiate(`(global f32 (f32.const 1e_1)) `), `unknown operator`);
+
+// ./test/core/float_literals.wast:255
+assert_malformed(
+ () => instantiate(`(global f32 (f32.const _1.0e1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:259
+assert_malformed(
+ () => instantiate(`(global f32 (f32.const 1.0e1_)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:263
+assert_malformed(
+ () => instantiate(`(global f32 (f32.const 1.0_e1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:267
+assert_malformed(
+ () => instantiate(`(global f32 (f32.const 1.0e_1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:271
+assert_malformed(
+ () => instantiate(`(global f32 (f32.const 1.0e+_1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:275
+assert_malformed(
+ () => instantiate(`(global f32 (f32.const 1.0e_+1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:279
+assert_malformed(
+ () => instantiate(`(global f32 (f32.const _0x100)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:283
+assert_malformed(
+ () => instantiate(`(global f32 (f32.const 0_x100)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:287
+assert_malformed(
+ () => instantiate(`(global f32 (f32.const 0x_100)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:291
+assert_malformed(() => instantiate(`(global f32 (f32.const 0x00_)) `), `unknown operator`);
+
+// ./test/core/float_literals.wast:295
+assert_malformed(
+ () => instantiate(`(global f32 (f32.const 0xff__ffff)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:299
+assert_malformed(
+ () => instantiate(`(global f32 (f32.const 0x_1.0)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:303
+assert_malformed(
+ () => instantiate(`(global f32 (f32.const 0x1.0_)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:307
+assert_malformed(
+ () => instantiate(`(global f32 (f32.const 0x1_.0)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:311
+assert_malformed(
+ () => instantiate(`(global f32 (f32.const 0x1._0)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:315
+assert_malformed(
+ () => instantiate(`(global f32 (f32.const 0x_1p1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:319
+assert_malformed(
+ () => instantiate(`(global f32 (f32.const 0x1p1_)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:323
+assert_malformed(
+ () => instantiate(`(global f32 (f32.const 0x1_p1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:327
+assert_malformed(
+ () => instantiate(`(global f32 (f32.const 0x1p_1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:331
+assert_malformed(
+ () => instantiate(`(global f32 (f32.const 0x_1.0p1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:335
+assert_malformed(
+ () => instantiate(`(global f32 (f32.const 0x1.0p1_)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:339
+assert_malformed(
+ () => instantiate(`(global f32 (f32.const 0x1.0_p1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:343
+assert_malformed(
+ () => instantiate(`(global f32 (f32.const 0x1.0p_1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:347
+assert_malformed(
+ () => instantiate(`(global f32 (f32.const 0x1.0p+_1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:351
+assert_malformed(
+ () => instantiate(`(global f32 (f32.const 0x1.0p_+1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:355
+assert_malformed(
+ () => instantiate(`(global f32 (f32.const nan:0x80_0000)) `),
+ `constant out of range`,
+);
+
+// ./test/core/float_literals.wast:360
+assert_malformed(() => instantiate(`(global f64 (f64.const _100)) `), `unknown operator`);
+
+// ./test/core/float_literals.wast:364
+assert_malformed(() => instantiate(`(global f64 (f64.const +_100)) `), `unknown operator`);
+
+// ./test/core/float_literals.wast:368
+assert_malformed(() => instantiate(`(global f64 (f64.const -_100)) `), `unknown operator`);
+
+// ./test/core/float_literals.wast:372
+assert_malformed(() => instantiate(`(global f64 (f64.const 99_)) `), `unknown operator`);
+
+// ./test/core/float_literals.wast:376
+assert_malformed(
+ () => instantiate(`(global f64 (f64.const 1__000)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:380
+assert_malformed(() => instantiate(`(global f64 (f64.const _1.0)) `), `unknown operator`);
+
+// ./test/core/float_literals.wast:384
+assert_malformed(() => instantiate(`(global f64 (f64.const 1.0_)) `), `unknown operator`);
+
+// ./test/core/float_literals.wast:388
+assert_malformed(() => instantiate(`(global f64 (f64.const 1_.0)) `), `unknown operator`);
+
+// ./test/core/float_literals.wast:392
+assert_malformed(() => instantiate(`(global f64 (f64.const 1._0)) `), `unknown operator`);
+
+// ./test/core/float_literals.wast:396
+assert_malformed(() => instantiate(`(global f64 (f64.const _1e1)) `), `unknown operator`);
+
+// ./test/core/float_literals.wast:400
+assert_malformed(() => instantiate(`(global f64 (f64.const 1e1_)) `), `unknown operator`);
+
+// ./test/core/float_literals.wast:404
+assert_malformed(() => instantiate(`(global f64 (f64.const 1_e1)) `), `unknown operator`);
+
+// ./test/core/float_literals.wast:408
+assert_malformed(() => instantiate(`(global f64 (f64.const 1e_1)) `), `unknown operator`);
+
+// ./test/core/float_literals.wast:412
+assert_malformed(
+ () => instantiate(`(global f64 (f64.const _1.0e1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:416
+assert_malformed(
+ () => instantiate(`(global f64 (f64.const 1.0e1_)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:420
+assert_malformed(
+ () => instantiate(`(global f64 (f64.const 1.0_e1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:424
+assert_malformed(
+ () => instantiate(`(global f64 (f64.const 1.0e_1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:428
+assert_malformed(
+ () => instantiate(`(global f64 (f64.const 1.0e+_1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:432
+assert_malformed(
+ () => instantiate(`(global f64 (f64.const 1.0e_+1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:436
+assert_malformed(
+ () => instantiate(`(global f64 (f64.const _0x100)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:440
+assert_malformed(
+ () => instantiate(`(global f64 (f64.const 0_x100)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:444
+assert_malformed(
+ () => instantiate(`(global f64 (f64.const 0x_100)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:448
+assert_malformed(() => instantiate(`(global f64 (f64.const 0x00_)) `), `unknown operator`);
+
+// ./test/core/float_literals.wast:452
+assert_malformed(
+ () => instantiate(`(global f64 (f64.const 0xff__ffff)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:456
+assert_malformed(
+ () => instantiate(`(global f64 (f64.const 0x_1.0)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:460
+assert_malformed(
+ () => instantiate(`(global f64 (f64.const 0x1.0_)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:464
+assert_malformed(
+ () => instantiate(`(global f64 (f64.const 0x1_.0)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:468
+assert_malformed(
+ () => instantiate(`(global f64 (f64.const 0x1._0)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:472
+assert_malformed(
+ () => instantiate(`(global f64 (f64.const 0x_1p1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:476
+assert_malformed(
+ () => instantiate(`(global f64 (f64.const 0x1p1_)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:480
+assert_malformed(
+ () => instantiate(`(global f64 (f64.const 0x1_p1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:484
+assert_malformed(
+ () => instantiate(`(global f64 (f64.const 0x1p_1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:488
+assert_malformed(
+ () => instantiate(`(global f64 (f64.const 0x_1.0p1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:492
+assert_malformed(
+ () => instantiate(`(global f64 (f64.const 0x1.0p1_)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:496
+assert_malformed(
+ () => instantiate(`(global f64 (f64.const 0x1.0_p1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:500
+assert_malformed(
+ () => instantiate(`(global f64 (f64.const 0x1.0p_1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:504
+assert_malformed(
+ () => instantiate(`(global f64 (f64.const 0x1.0p+_1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:508
+assert_malformed(
+ () => instantiate(`(global f64 (f64.const 0x1.0p_+1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:512
+assert_malformed(
+ () => instantiate(`(global f64 (f64.const nan:0x10_0000_0000_0000)) `),
+ `constant out of range`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/gc/global.wast.js b/js/src/jit-test/tests/wasm/spec/gc/global.wast.js
new file mode 100644
index 0000000000..21ace9e66d
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/gc/global.wast.js
@@ -0,0 +1,869 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/global.wast
+
+// ./test/core/global.wast:3
+let $0 = instantiate(`(module
+ (global (import "spectest" "global_i32") i32)
+ (global (import "spectest" "global_i64") i64)
+
+ (global $$a i32 (i32.const -2))
+ (global (;3;) f32 (f32.const -3))
+ (global (;4;) f64 (f64.const -4))
+ (global $$b i64 (i64.const -5))
+
+ (global $$x (mut i32) (i32.const -12))
+ (global (;7;) (mut f32) (f32.const -13))
+ (global (;8;) (mut f64) (f64.const -14))
+ (global $$y (mut i64) (i64.const -15))
+
+ (global $$z1 i32 (global.get 0))
+ (global $$z2 i64 (global.get 1))
+
+ (global $$r externref (ref.null extern))
+ (global $$mr (mut externref) (ref.null extern))
+ (global funcref (ref.null func))
+
+ (func (export "get-a") (result i32) (global.get $$a))
+ (func (export "get-b") (result i64) (global.get $$b))
+ (func (export "get-r") (result externref) (global.get $$r))
+ (func (export "get-mr") (result externref) (global.get $$mr))
+ (func (export "get-x") (result i32) (global.get $$x))
+ (func (export "get-y") (result i64) (global.get $$y))
+ (func (export "get-z1") (result i32) (global.get $$z1))
+ (func (export "get-z2") (result i64) (global.get $$z2))
+ (func (export "set-x") (param i32) (global.set $$x (local.get 0)))
+ (func (export "set-y") (param i64) (global.set $$y (local.get 0)))
+ (func (export "set-mr") (param externref) (global.set $$mr (local.get 0)))
+
+ (func (export "get-3") (result f32) (global.get 3))
+ (func (export "get-4") (result f64) (global.get 4))
+ (func (export "get-7") (result f32) (global.get 7))
+ (func (export "get-8") (result f64) (global.get 8))
+ (func (export "set-7") (param f32) (global.set 7 (local.get 0)))
+ (func (export "set-8") (param f64) (global.set 8 (local.get 0)))
+
+ ;; As the argument of control constructs and instructions
+
+ (memory 1)
+
+ (func $$dummy)
+
+ (func (export "as-select-first") (result i32)
+ (select (global.get $$x) (i32.const 2) (i32.const 3))
+ )
+ (func (export "as-select-mid") (result i32)
+ (select (i32.const 2) (global.get $$x) (i32.const 3))
+ )
+ (func (export "as-select-last") (result i32)
+ (select (i32.const 2) (i32.const 3) (global.get $$x))
+ )
+
+ (func (export "as-loop-first") (result i32)
+ (loop (result i32)
+ (global.get $$x) (call $$dummy) (call $$dummy)
+ )
+ )
+ (func (export "as-loop-mid") (result i32)
+ (loop (result i32)
+ (call $$dummy) (global.get $$x) (call $$dummy)
+ )
+ )
+ (func (export "as-loop-last") (result i32)
+ (loop (result i32)
+ (call $$dummy) (call $$dummy) (global.get $$x)
+ )
+ )
+
+ (func (export "as-if-condition") (result i32)
+ (if (result i32) (global.get $$x)
+ (then (call $$dummy) (i32.const 2))
+ (else (call $$dummy) (i32.const 3))
+ )
+ )
+ (func (export "as-if-then") (result i32)
+ (if (result i32) (i32.const 1)
+ (then (global.get $$x)) (else (i32.const 2))
+ )
+ )
+ (func (export "as-if-else") (result i32)
+ (if (result i32) (i32.const 0)
+ (then (i32.const 2)) (else (global.get $$x))
+ )
+ )
+
+ (func (export "as-br_if-first") (result i32)
+ (block (result i32)
+ (br_if 0 (global.get $$x) (i32.const 2))
+ (return (i32.const 3))
+ )
+ )
+ (func (export "as-br_if-last") (result i32)
+ (block (result i32)
+ (br_if 0 (i32.const 2) (global.get $$x))
+ (return (i32.const 3))
+ )
+ )
+
+ (func (export "as-br_table-first") (result i32)
+ (block (result i32)
+ (global.get $$x) (i32.const 2) (br_table 0 0)
+ )
+ )
+ (func (export "as-br_table-last") (result i32)
+ (block (result i32)
+ (i32.const 2) (global.get $$x) (br_table 0 0)
+ )
+ )
+
+ (func $$func (param i32 i32) (result i32) (local.get 0))
+ (type $$check (func (param i32 i32) (result i32)))
+ (table funcref (elem $$func))
+ (func (export "as-call_indirect-first") (result i32)
+ (block (result i32)
+ (call_indirect (type $$check)
+ (global.get $$x) (i32.const 2) (i32.const 0)
+ )
+ )
+ )
+ (func (export "as-call_indirect-mid") (result i32)
+ (block (result i32)
+ (call_indirect (type $$check)
+ (i32.const 2) (global.get $$x) (i32.const 0)
+ )
+ )
+ )
+ (func (export "as-call_indirect-last") (result i32)
+ (block (result i32)
+ (call_indirect (type $$check)
+ (i32.const 2) (i32.const 0) (global.get $$x)
+ )
+ )
+ )
+
+ (func (export "as-store-first")
+ (global.get $$x) (i32.const 1) (i32.store)
+ )
+ (func (export "as-store-last")
+ (i32.const 0) (global.get $$x) (i32.store)
+ )
+ (func (export "as-load-operand") (result i32)
+ (i32.load (global.get $$x))
+ )
+ (func (export "as-memory.grow-value") (result i32)
+ (memory.grow (global.get $$x))
+ )
+
+ (func $$f (param i32) (result i32) (local.get 0))
+ (func (export "as-call-value") (result i32)
+ (call $$f (global.get $$x))
+ )
+
+ (func (export "as-return-value") (result i32)
+ (global.get $$x) (return)
+ )
+ (func (export "as-drop-operand")
+ (drop (global.get $$x))
+ )
+ (func (export "as-br-value") (result i32)
+ (block (result i32) (br 0 (global.get $$x)))
+ )
+
+ (func (export "as-local.set-value") (param i32) (result i32)
+ (local.set 0 (global.get $$x))
+ (local.get 0)
+ )
+ (func (export "as-local.tee-value") (param i32) (result i32)
+ (local.tee 0 (global.get $$x))
+ )
+ (func (export "as-global.set-value") (result i32)
+ (global.set $$x (global.get $$x))
+ (global.get $$x)
+ )
+
+ (func (export "as-unary-operand") (result i32)
+ (i32.eqz (global.get $$x))
+ )
+ (func (export "as-binary-operand") (result i32)
+ (i32.mul
+ (global.get $$x) (global.get $$x)
+ )
+ )
+ (func (export "as-compare-operand") (result i32)
+ (i32.gt_u
+ (global.get 0) (i32.const 1)
+ )
+ )
+)`);
+
+// ./test/core/global.wast:196
+assert_return(() => invoke($0, `get-a`, []), [value("i32", -2)]);
+
+// ./test/core/global.wast:197
+assert_return(() => invoke($0, `get-b`, []), [value("i64", -5n)]);
+
+// ./test/core/global.wast:198
+assert_return(() => invoke($0, `get-r`, []), [value('externref', null)]);
+
+// ./test/core/global.wast:199
+assert_return(() => invoke($0, `get-mr`, []), [value('externref', null)]);
+
+// ./test/core/global.wast:200
+assert_return(() => invoke($0, `get-x`, []), [value("i32", -12)]);
+
+// ./test/core/global.wast:201
+assert_return(() => invoke($0, `get-y`, []), [value("i64", -15n)]);
+
+// ./test/core/global.wast:202
+assert_return(() => invoke($0, `get-z1`, []), [value("i32", 666)]);
+
+// ./test/core/global.wast:203
+assert_return(() => invoke($0, `get-z2`, []), [value("i64", 666n)]);
+
+// ./test/core/global.wast:205
+assert_return(() => invoke($0, `get-3`, []), [value("f32", -3)]);
+
+// ./test/core/global.wast:206
+assert_return(() => invoke($0, `get-4`, []), [value("f64", -4)]);
+
+// ./test/core/global.wast:207
+assert_return(() => invoke($0, `get-7`, []), [value("f32", -13)]);
+
+// ./test/core/global.wast:208
+assert_return(() => invoke($0, `get-8`, []), [value("f64", -14)]);
+
+// ./test/core/global.wast:210
+assert_return(() => invoke($0, `set-x`, [6]), []);
+
+// ./test/core/global.wast:211
+assert_return(() => invoke($0, `set-y`, [7n]), []);
+
+// ./test/core/global.wast:213
+assert_return(() => invoke($0, `set-7`, [value("f32", 8)]), []);
+
+// ./test/core/global.wast:214
+assert_return(() => invoke($0, `set-8`, [value("f64", 9)]), []);
+
+// ./test/core/global.wast:216
+assert_return(() => invoke($0, `get-x`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:217
+assert_return(() => invoke($0, `get-y`, []), [value("i64", 7n)]);
+
+// ./test/core/global.wast:218
+assert_return(() => invoke($0, `get-7`, []), [value("f32", 8)]);
+
+// ./test/core/global.wast:219
+assert_return(() => invoke($0, `get-8`, []), [value("f64", 9)]);
+
+// ./test/core/global.wast:221
+assert_return(() => invoke($0, `set-7`, [value("f32", 8)]), []);
+
+// ./test/core/global.wast:222
+assert_return(() => invoke($0, `set-8`, [value("f64", 9)]), []);
+
+// ./test/core/global.wast:223
+assert_return(() => invoke($0, `set-mr`, [externref(10)]), []);
+
+// ./test/core/global.wast:225
+assert_return(() => invoke($0, `get-x`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:226
+assert_return(() => invoke($0, `get-y`, []), [value("i64", 7n)]);
+
+// ./test/core/global.wast:227
+assert_return(() => invoke($0, `get-7`, []), [value("f32", 8)]);
+
+// ./test/core/global.wast:228
+assert_return(() => invoke($0, `get-8`, []), [value("f64", 9)]);
+
+// ./test/core/global.wast:229
+assert_return(() => invoke($0, `get-mr`, []), [new ExternRefResult(10)]);
+
+// ./test/core/global.wast:231
+assert_return(() => invoke($0, `as-select-first`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:232
+assert_return(() => invoke($0, `as-select-mid`, []), [value("i32", 2)]);
+
+// ./test/core/global.wast:233
+assert_return(() => invoke($0, `as-select-last`, []), [value("i32", 2)]);
+
+// ./test/core/global.wast:235
+assert_return(() => invoke($0, `as-loop-first`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:236
+assert_return(() => invoke($0, `as-loop-mid`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:237
+assert_return(() => invoke($0, `as-loop-last`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:239
+assert_return(() => invoke($0, `as-if-condition`, []), [value("i32", 2)]);
+
+// ./test/core/global.wast:240
+assert_return(() => invoke($0, `as-if-then`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:241
+assert_return(() => invoke($0, `as-if-else`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:243
+assert_return(() => invoke($0, `as-br_if-first`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:244
+assert_return(() => invoke($0, `as-br_if-last`, []), [value("i32", 2)]);
+
+// ./test/core/global.wast:246
+assert_return(() => invoke($0, `as-br_table-first`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:247
+assert_return(() => invoke($0, `as-br_table-last`, []), [value("i32", 2)]);
+
+// ./test/core/global.wast:249
+assert_return(() => invoke($0, `as-call_indirect-first`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:250
+assert_return(() => invoke($0, `as-call_indirect-mid`, []), [value("i32", 2)]);
+
+// ./test/core/global.wast:251
+assert_trap(() => invoke($0, `as-call_indirect-last`, []), `undefined element`);
+
+// ./test/core/global.wast:253
+assert_return(() => invoke($0, `as-store-first`, []), []);
+
+// ./test/core/global.wast:254
+assert_return(() => invoke($0, `as-store-last`, []), []);
+
+// ./test/core/global.wast:255
+assert_return(() => invoke($0, `as-load-operand`, []), [value("i32", 1)]);
+
+// ./test/core/global.wast:256
+assert_return(() => invoke($0, `as-memory.grow-value`, []), [value("i32", 1)]);
+
+// ./test/core/global.wast:258
+assert_return(() => invoke($0, `as-call-value`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:260
+assert_return(() => invoke($0, `as-return-value`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:261
+assert_return(() => invoke($0, `as-drop-operand`, []), []);
+
+// ./test/core/global.wast:262
+assert_return(() => invoke($0, `as-br-value`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:264
+assert_return(() => invoke($0, `as-local.set-value`, [1]), [value("i32", 6)]);
+
+// ./test/core/global.wast:265
+assert_return(() => invoke($0, `as-local.tee-value`, [1]), [value("i32", 6)]);
+
+// ./test/core/global.wast:266
+assert_return(() => invoke($0, `as-global.set-value`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:268
+assert_return(() => invoke($0, `as-unary-operand`, []), [value("i32", 0)]);
+
+// ./test/core/global.wast:269
+assert_return(() => invoke($0, `as-binary-operand`, []), [value("i32", 36)]);
+
+// ./test/core/global.wast:270
+assert_return(() => invoke($0, `as-compare-operand`, []), [value("i32", 1)]);
+
+// ./test/core/global.wast:272
+assert_invalid(
+ () => instantiate(`(module (global f32 (f32.const 0)) (func (global.set 0 (f32.const 1))))`),
+ `immutable global`,
+);
+
+// ./test/core/global.wast:277
+assert_invalid(
+ () => instantiate(`(module (import "spectest" "global_i32" (global i32)) (func (global.set 0 (i32.const 1))))`),
+ `immutable global`,
+);
+
+// ./test/core/global.wast:283
+let $1 = instantiate(`(module (global (mut f32) (f32.const 0)) (export "a" (global 0)))`);
+
+// ./test/core/global.wast:284
+let $2 = instantiate(`(module (global (export "a") (mut f32) (f32.const 0)))`);
+
+// ./test/core/global.wast:286
+assert_invalid(
+ () => instantiate(`(module (global f32 (f32.neg (f32.const 0))))`),
+ `constant expression required`,
+);
+
+// ./test/core/global.wast:291
+assert_invalid(
+ () => instantiate(`(module (global f32 (local.get 0)))`),
+ `constant expression required`,
+);
+
+// ./test/core/global.wast:296
+assert_invalid(
+ () => instantiate(`(module (global f32 (f32.neg (f32.const 1))))`),
+ `constant expression required`,
+);
+
+// ./test/core/global.wast:301
+assert_invalid(
+ () => instantiate(`(module (global i32 (i32.const 0) (nop)))`),
+ `constant expression required`,
+);
+
+// ./test/core/global.wast:306
+assert_invalid(
+ () => instantiate(`(module (global i32 (i32.ctz (i32.const 0))))`),
+ `constant expression required`,
+);
+
+// ./test/core/global.wast:311
+assert_invalid(
+ () => instantiate(`(module (global i32 (nop)))`),
+ `constant expression required`,
+);
+
+// ./test/core/global.wast:316
+assert_invalid(() => instantiate(`(module (global i32 (f32.const 0)))`), `type mismatch`);
+
+// ./test/core/global.wast:321
+assert_invalid(
+ () => instantiate(`(module (global i32 (i32.const 0) (i32.const 0)))`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:326
+assert_invalid(
+ () => instantiate(`(module (global i32 (;empty instruction sequence;)))`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:331
+assert_invalid(
+ () => instantiate(`(module (global (import "" "") externref) (global funcref (global.get 0)))`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:336
+assert_invalid(
+ () => instantiate(`(module (global (import "test" "global-i32") i32) (global i32 (global.get 0) (global.get 0)))`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:341
+assert_invalid(
+ () => instantiate(`(module (global (import "test" "global-i32") i32) (global i32 (i32.const 0) (global.get 0)))`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:346
+assert_invalid(
+ () => instantiate(`(module (global i32 (global.get 0)))`),
+ `unknown global`,
+);
+
+// ./test/core/global.wast:351
+assert_invalid(
+ () => instantiate(`(module (global i32 (global.get 1)) (global i32 (i32.const 0)))`),
+ `unknown global`,
+);
+
+// ./test/core/global.wast:356
+assert_invalid(
+ () => instantiate(`(module (global (import "test" "global-i32") i32) (global i32 (global.get 2)))`),
+ `unknown global`,
+);
+
+// ./test/core/global.wast:361
+let $3 = instantiate(`(module (global i32 (i32.const 0)) (global i32 (global.get 0)))`);
+
+// ./test/core/global.wast:362
+let $4 = instantiate(`(module (global $$g i32 (i32.const 0)) (global i32 (global.get $$g)))`);
+
+// ./test/core/global.wast:364
+assert_invalid(
+ () => instantiate(`(module (global (import "test" "global-mut-i32") (mut i32)) (global i32 (global.get 0)))`),
+ `constant expression required`,
+);
+
+// ./test/core/global.wast:369
+let $5 = instantiate(`(module
+ (import "spectest" "global_i32" (global i32))
+)`);
+
+// ./test/core/global.wast:372
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\98\\80\\80\\80\\00" ;; import section
+ "\\01" ;; length 1
+ "\\08\\73\\70\\65\\63\\74\\65\\73\\74" ;; "spectest"
+ "\\0a\\67\\6c\\6f\\62\\61\\6c\\5f\\69\\33\\32" ;; "global_i32"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\02" ;; malformed mutability
+ )`),
+ `malformed mutability`,
+);
+
+// ./test/core/global.wast:385
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\98\\80\\80\\80\\00" ;; import section
+ "\\01" ;; length 1
+ "\\08\\73\\70\\65\\63\\74\\65\\73\\74" ;; "spectest"
+ "\\0a\\67\\6c\\6f\\62\\61\\6c\\5f\\69\\33\\32" ;; "global_i32"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\ff" ;; malformed mutability
+ )`),
+ `malformed mutability`,
+);
+
+// ./test/core/global.wast:399
+let $6 = instantiate(`(module
+ (global i32 (i32.const 0))
+)`);
+
+// ./test/core/global.wast:402
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\06\\86\\80\\80\\80\\00" ;; global section
+ "\\01" ;; length 1
+ "\\7f" ;; i32
+ "\\02" ;; malformed mutability
+ "\\41\\00" ;; i32.const 0
+ "\\0b" ;; end
+ )`),
+ `malformed mutability`,
+);
+
+// ./test/core/global.wast:414
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\06\\86\\80\\80\\80\\00" ;; global section
+ "\\01" ;; length 1
+ "\\7f" ;; i32
+ "\\ff" ;; malformed mutability
+ "\\41\\00" ;; i32.const 0
+ "\\0b" ;; end
+ )`),
+ `malformed mutability`,
+);
+
+// ./test/core/global.wast:428
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (global.get 0)))`),
+ `unknown global`,
+);
+
+// ./test/core/global.wast:433
+assert_invalid(
+ () => instantiate(`(module
+ (global i32 (i32.const 0))
+ (func (result i32) (global.get 1))
+ )`),
+ `unknown global`,
+);
+
+// ./test/core/global.wast:441
+assert_invalid(
+ () => instantiate(`(module
+ (import "spectest" "global_i32" (global i32))
+ (func (result i32) (global.get 1))
+ )`),
+ `unknown global`,
+);
+
+// ./test/core/global.wast:449
+assert_invalid(
+ () => instantiate(`(module
+ (import "spectest" "global_i32" (global i32))
+ (global i32 (i32.const 0))
+ (func (result i32) (global.get 2))
+ )`),
+ `unknown global`,
+);
+
+// ./test/core/global.wast:459
+assert_invalid(
+ () => instantiate(`(module (func (i32.const 0) (global.set 0)))`),
+ `unknown global`,
+);
+
+// ./test/core/global.wast:464
+assert_invalid(
+ () => instantiate(`(module
+ (global i32 (i32.const 0))
+ (func (i32.const 0) (global.set 1))
+ )`),
+ `unknown global`,
+);
+
+// ./test/core/global.wast:472
+assert_invalid(
+ () => instantiate(`(module
+ (import "spectest" "global_i32" (global i32))
+ (func (i32.const 0) (global.set 1))
+ )`),
+ `unknown global`,
+);
+
+// ./test/core/global.wast:480
+assert_invalid(
+ () => instantiate(`(module
+ (import "spectest" "global_i32" (global i32))
+ (global i32 (i32.const 0))
+ (func (i32.const 0) (global.set 2))
+ )`),
+ `unknown global`,
+);
+
+// ./test/core/global.wast:490
+assert_invalid(
+ () => instantiate(`(module
+ (global $$x (mut i32) (i32.const 0))
+ (func $$type-global.set-value-empty
+ (global.set $$x)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:499
+assert_invalid(
+ () => instantiate(`(module
+ (global $$x (mut i32) (i32.const 0))
+ (func $$type-global.set-value-empty-in-block
+ (i32.const 0)
+ (block (global.set $$x))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:509
+assert_invalid(
+ () => instantiate(`(module
+ (global $$x (mut i32) (i32.const 0))
+ (func $$type-global.set-value-empty-in-loop
+ (i32.const 0)
+ (loop (global.set $$x))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:519
+assert_invalid(
+ () => instantiate(`(module
+ (global $$x (mut i32) (i32.const 0))
+ (func $$type-global.set-value-empty-in-then
+ (i32.const 0) (i32.const 0)
+ (if (then (global.set $$x)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:529
+assert_invalid(
+ () => instantiate(`(module
+ (global $$x (mut i32) (i32.const 0))
+ (func $$type-global.set-value-empty-in-else
+ (i32.const 0) (i32.const 0)
+ (if (result i32) (then (i32.const 0)) (else (global.set $$x)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:539
+assert_invalid(
+ () => instantiate(`(module
+ (global $$x (mut i32) (i32.const 0))
+ (func $$type-global.set-value-empty-in-br
+ (i32.const 0)
+ (block (br 0 (global.set $$x)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:549
+assert_invalid(
+ () => instantiate(`(module
+ (global $$x (mut i32) (i32.const 0))
+ (func $$type-global.set-value-empty-in-br_if
+ (i32.const 0)
+ (block (br_if 0 (global.set $$x)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:559
+assert_invalid(
+ () => instantiate(`(module
+ (global $$x (mut i32) (i32.const 0))
+ (func $$type-global.set-value-empty-in-br_table
+ (i32.const 0)
+ (block (br_table 0 (global.set $$x)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:569
+assert_invalid(
+ () => instantiate(`(module
+ (global $$x (mut i32) (i32.const 0))
+ (func $$type-global.set-value-empty-in-return
+ (return (global.set $$x))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:578
+assert_invalid(
+ () => instantiate(`(module
+ (global $$x (mut i32) (i32.const 0))
+ (func $$type-global.set-value-empty-in-select
+ (select (global.set $$x) (i32.const 1) (i32.const 2))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:587
+assert_invalid(
+ () => instantiate(`(module
+ (global $$x (mut i32) (i32.const 0))
+ (func $$type-global.set-value-empty-in-call
+ (call 1 (global.set $$x))
+ )
+ (func (param i32) (result i32) (local.get 0))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:597
+assert_invalid(
+ () => instantiate(`(module
+ (global $$x (mut i32) (i32.const 0))
+ (func $$f (param i32) (result i32) (local.get 0))
+ (type $$sig (func (param i32) (result i32)))
+ (table funcref (elem $$f))
+ (func $$type-global.set-value-empty-in-call_indirect
+ (block (result i32)
+ (call_indirect (type $$sig)
+ (global.set $$x) (i32.const 0)
+ )
+ )
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:617
+let $7 = instantiate(`(module
+ (global (export "g") i32 (i32.const 4))
+)`);
+
+// ./test/core/global.wast:620
+register($7, `G`);
+
+// ./test/core/global.wast:622
+let $8 = instantiate(`(module
+ (global $$g0 (import "G" "g") i32)
+ (global $$g1 i32 (i32.const 8))
+ (global $$g2 i32 (global.get $$g0))
+ (global $$g3 i32 (global.get $$g1))
+
+ (global $$gf funcref (ref.func $$f))
+ (func $$f)
+
+ (table $$t 10 funcref (ref.null func))
+ (elem (table $$t) (global.get $$g2) funcref (ref.func $$f))
+ (elem (table $$t) (global.get $$g3) funcref (global.get $$gf))
+
+ (memory $$m 1)
+ (data (global.get $$g2) "\\44\\44\\44\\44")
+ (data (global.get $$g3) "\\88\\88\\88\\88")
+
+ (func (export "get-elem") (param $$i i32) (result funcref)
+ (table.get $$t (local.get $$i))
+ )
+ (func (export "get-data") (param $$i i32) (result i32)
+ (i32.load (local.get $$i))
+ )
+)`);
+
+// ./test/core/global.wast:647
+assert_return(() => invoke($8, `get-elem`, [0]), [null]);
+
+// ./test/core/global.wast:648
+assert_return(() => invoke($8, `get-elem`, [4]), [new RefWithType('funcref')]);
+
+// ./test/core/global.wast:649
+assert_return(() => invoke($8, `get-elem`, [8]), [new RefWithType('funcref')]);
+
+// ./test/core/global.wast:651
+assert_return(() => invoke($8, `get-data`, [4]), [value("i32", 1145324612)]);
+
+// ./test/core/global.wast:652
+assert_return(() => invoke($8, `get-data`, [8]), [value("i32", -2004318072)]);
+
+// ./test/core/global.wast:654
+assert_invalid(
+ () => instantiate(`(module
+ (global $$g1 i32 (global.get $$g2))
+ (global $$g2 i32 (i32.const 0))
+ )`),
+ `unknown global`,
+);
+
+// ./test/core/global.wast:662
+assert_invalid(
+ () => instantiate(`(module
+ (global $$g funcref (ref.null func))
+ (table $$t 10 funcref (global.get $$g))
+ )`),
+ `unknown global`,
+);
+
+// ./test/core/global.wast:673
+assert_malformed(
+ () => instantiate(`(global $$foo i32 (i32.const 0)) (global $$foo i32 (i32.const 0)) `),
+ `duplicate global`,
+);
+
+// ./test/core/global.wast:680
+assert_malformed(
+ () => instantiate(`(import "" "" (global $$foo i32)) (global $$foo i32 (i32.const 0)) `),
+ `duplicate global`,
+);
+
+// ./test/core/global.wast:687
+assert_malformed(
+ () => instantiate(`(import "" "" (global $$foo i32)) (import "" "" (global $$foo i32)) `),
+ `duplicate global`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/gc/harness/directives.txt b/js/src/jit-test/tests/wasm/spec/gc/harness/directives.txt
new file mode 100644
index 0000000000..d41243abbb
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/gc/harness/directives.txt
@@ -0,0 +1 @@
+|jit-test| skip-if: true \ No newline at end of file
diff --git a/js/src/jit-test/tests/wasm/spec/gc/harness/harness.js b/js/src/jit-test/tests/wasm/spec/gc/harness/harness.js
new file mode 100644
index 0000000000..a96781e8ed
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/gc/harness/harness.js
@@ -0,0 +1,448 @@
+"use strict";
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+if (!wasmIsSupported()) {
+ quit();
+}
+
+function bytes(type, bytes) {
+ var typedBuffer = new Uint8Array(bytes);
+ return wasmGlobalFromArrayBuffer(type, typedBuffer.buffer);
+}
+function value(type, value) {
+ return new WebAssembly.Global({
+ value: type,
+ mutable: false,
+ }, value);
+}
+
+function i8x16(elements) {
+ let typedBuffer = new Uint8Array(elements);
+ return wasmGlobalFromArrayBuffer("v128", typedBuffer.buffer);
+}
+function i16x8(elements) {
+ let typedBuffer = new Uint16Array(elements);
+ return wasmGlobalFromArrayBuffer("v128", typedBuffer.buffer);
+}
+function i32x4(elements) {
+ let typedBuffer = new Uint32Array(elements);
+ return wasmGlobalFromArrayBuffer("v128", typedBuffer.buffer);
+}
+function i64x2(elements) {
+ let typedBuffer = new BigUint64Array(elements);
+ return wasmGlobalFromArrayBuffer("v128", typedBuffer.buffer);
+}
+function f32x4(elements) {
+ let typedBuffer = new Float32Array(elements);
+ return wasmGlobalFromArrayBuffer("v128", typedBuffer.buffer);
+}
+function f64x2(elements) {
+ let typedBuffer = new Float64Array(elements);
+ return wasmGlobalFromArrayBuffer("v128", typedBuffer.buffer);
+}
+
+function either(...arr) {
+ return new EitherVariants(arr);
+}
+
+class F32x4Pattern {
+ constructor(x, y, z, w) {
+ this.x = x;
+ this.y = y;
+ this.z = z;
+ this.w = w;
+ }
+}
+
+class F64x2Pattern {
+ constructor(x, y) {
+ this.x = x;
+ this.y = y;
+ }
+}
+
+class RefWithType {
+ constructor(type) {
+ this.type = type;
+ }
+
+ formatExpected() {
+ return `RefWithType(${this.type})`;
+ }
+
+ test(refGlobal) {
+ try {
+ new WebAssembly.Global({value: this.type}, refGlobal.value);
+ return true;
+ } catch (err) {
+ assertEq(err instanceof TypeError, true, `wrong type of error when creating global: ${err}`);
+ assertEq(!!err.message.match(/can only pass/), true, `wrong type of error when creating global: ${err}`);
+ return false;
+ }
+ }
+}
+
+// ref.extern values created by spec tests will be JS objects of the form
+// { [externsym]: <number> }. Other externref values are possible to observe
+// if extern.convert_any is used.
+let externsym = Symbol("externref");
+function externref(s) {
+ return { [externsym]: s };
+}
+function is_externref(x) {
+ return (x !== null && externsym in x) ? 1 : 0;
+}
+function is_funcref(x) {
+ return typeof x === "function" ? 1 : 0;
+}
+function eq_externref(x, y) {
+ return x === y ? 1 : 0;
+}
+function eq_funcref(x, y) {
+ return x === y ? 1 : 0;
+}
+
+class ExternRefResult {
+ constructor(n) {
+ this.n = n;
+ }
+
+ formatExpected() {
+ return `ref.extern ${this.n}`;
+ }
+
+ test(global) {
+ // the global's value can either be an externref or just a plain old JS number
+ let result = global.value;
+ if (typeof global.value === "object" && externsym in global.value) {
+ result = global.value[externsym];
+ }
+ return result === this.n;
+ }
+}
+
+// ref.host values created by spectests will be whatever the JS API does to
+// convert the given value to anyref. It should implicitly be like any.convert_extern.
+function hostref(v) {
+ if (!wasmGcEnabled()) {
+ throw new Error("ref.host only works when wasm GC is enabled");
+ }
+
+ const { internalizeNum } = new WebAssembly.Instance(
+ new WebAssembly.Module(wasmTextToBinary(`(module
+ (func (import "test" "coerce") (param i32) (result anyref))
+ (func (export "internalizeNum") (param i32) (result anyref)
+ (call 0 (local.get 0))
+ )
+ )`)),
+ { "test": { "coerce": x => x } },
+ ).exports;
+ return internalizeNum(v);
+}
+
+class HostRefResult {
+ constructor(n) {
+ this.n = n;
+ }
+
+ formatExpected() {
+ return `ref.host ${this.n}`;
+ }
+
+ test(externrefGlobal) {
+ assertEq(externsym in externrefGlobal.value, true, `HostRefResult only works with externref inputs`);
+ return externrefGlobal.value[externsym] === this.n;
+ }
+}
+
+let spectest = {
+ externref: externref,
+ is_externref: is_externref,
+ is_funcref: is_funcref,
+ eq_externref: eq_externref,
+ eq_funcref: eq_funcref,
+ print: console.log.bind(console),
+ print_i32: console.log.bind(console),
+ print_i32_f32: console.log.bind(console),
+ print_f64_f64: console.log.bind(console),
+ print_f32: console.log.bind(console),
+ print_f64: console.log.bind(console),
+ global_i32: 666,
+ global_i64: 666n,
+ global_f32: 666,
+ global_f64: 666,
+ table: new WebAssembly.Table({
+ initial: 10,
+ maximum: 20,
+ element: "anyfunc",
+ }),
+ memory: new WebAssembly.Memory({ initial: 1, maximum: 2 }),
+};
+
+let linkage = {
+ spectest,
+};
+
+function getInstance(instanceish) {
+ if (typeof instanceish === "string") {
+ assertEq(
+ instanceish in linkage,
+ true,
+ `'${instanceish}'' must be registered`,
+ );
+ return linkage[instanceish];
+ }
+ return instanceish;
+}
+
+function instantiate(source) {
+ let bytecode = wasmTextToBinary(source);
+ let module = new WebAssembly.Module(bytecode);
+ let instance = new WebAssembly.Instance(module, linkage);
+ return instance.exports;
+}
+
+function register(instanceish, name) {
+ linkage[name] = getInstance(instanceish);
+}
+
+function invoke(instanceish, field, params) {
+ let func = getInstance(instanceish)[field];
+ assertEq(func instanceof Function, true, "expected a function");
+ return wasmLosslessInvoke(func, ...params);
+}
+
+function get(instanceish, field) {
+ let global = getInstance(instanceish)[field];
+ assertEq(
+ global instanceof WebAssembly.Global,
+ true,
+ "expected a WebAssembly.Global",
+ );
+ return global;
+}
+
+function assert_trap(thunk, message) {
+ try {
+ thunk();
+ throw new Error("expected trap");
+ } catch (err) {
+ if (err instanceof WebAssembly.RuntimeError) {
+ return;
+ }
+ throw err;
+ }
+}
+
+let StackOverflow;
+try {
+ (function f() {
+ 1 + f();
+ })();
+} catch (e) {
+ StackOverflow = e.constructor;
+}
+function assert_exhaustion(thunk, message) {
+ try {
+ thunk();
+ assertEq("normal return", "exhaustion");
+ } catch (err) {
+ assertEq(
+ err instanceof StackOverflow,
+ true,
+ "expected exhaustion",
+ );
+ }
+}
+
+function assert_invalid(thunk, message) {
+ try {
+ thunk();
+ assertEq("valid module", "invalid module");
+ } catch (err) {
+ assertEq(
+ err instanceof WebAssembly.LinkError ||
+ err instanceof WebAssembly.CompileError,
+ true,
+ "expected an invalid module",
+ );
+ }
+}
+
+function assert_unlinkable(thunk, message) {
+ try {
+ thunk();
+ assertEq(true, false, "expected an unlinkable module");
+ } catch (err) {
+ assertEq(
+ err instanceof WebAssembly.LinkError ||
+ err instanceof WebAssembly.CompileError,
+ true,
+ "expected an unlinkable module",
+ );
+ }
+}
+
+function assert_malformed(thunk, message) {
+ try {
+ thunk();
+ assertEq("valid module", "malformed module");
+ } catch (err) {
+ assertEq(
+ err instanceof TypeError ||
+ err instanceof SyntaxError ||
+ err instanceof WebAssembly.CompileError ||
+ err instanceof WebAssembly.LinkError,
+ true,
+ `expected a malformed module`,
+ );
+ }
+}
+
+function assert_exception(thunk) {
+ let thrown = false;
+ try {
+ thunk();
+ } catch (err) {
+ thrown = true;
+ }
+ assertEq(thrown, true, "expected an exception to be thrown");
+}
+
+function assert_return(thunk, expected) {
+ let results = thunk();
+
+ if (results === undefined) {
+ results = [];
+ } else if (!Array.isArray(results)) {
+ results = [results];
+ }
+ if (!Array.isArray(expected)) {
+ expected = [expected];
+ }
+
+ if (!compareResults(results, expected)) {
+ let got = results.map((x) => formatResult(x)).join(", ");
+ let wanted = expected.map((x) => formatExpected(x)).join(", ");
+ assertEq(
+ `[${got}]`,
+ `[${wanted}]`,
+ );
+ assertEq(true, false, `${got} !== ${wanted}`);
+ }
+}
+
+function formatResult(result) {
+ if (typeof (result) === "object") {
+ return wasmGlobalToString(result);
+ } else {
+ return `${result}`;
+ }
+}
+
+function formatExpected(expected) {
+ if (
+ expected === `f32_canonical_nan` ||
+ expected === `f32_arithmetic_nan` ||
+ expected === `f64_canonical_nan` ||
+ expected === `f64_arithmetic_nan`
+ ) {
+ return expected;
+ } else if (expected instanceof F32x4Pattern) {
+ return `f32x4(${formatExpected(expected.x)}, ${
+ formatExpected(expected.y)
+ }, ${formatExpected(expected.z)}, ${formatExpected(expected.w)})`;
+ } else if (expected instanceof F64x2Pattern) {
+ return `f64x2(${formatExpected(expected.x)}, ${
+ formatExpected(expected.y)
+ })`;
+ } else if (expected instanceof EitherVariants) {
+ return expected.formatExpected();
+ } else if (expected instanceof RefWithType) {
+ return expected.formatExpected();
+ } else if (expected instanceof ExternRefResult) {
+ return expected.formatExpected();
+ } else if (expected instanceof HostRefResult) {
+ return expected.formatExpected();
+ } else if (typeof (expected) === "object") {
+ return wasmGlobalToString(expected);
+ } else {
+ throw new Error("unknown expected result");
+ }
+}
+
+class EitherVariants {
+ constructor(arr) {
+ this.arr = arr;
+ }
+ matches(v) {
+ return this.arr.some((e) => compareResult(v, e));
+ }
+ formatExpected() {
+ return `either(${this.arr.map(formatExpected).join(", ")})`;
+ }
+}
+
+function compareResults(results, expected) {
+ if (results.length !== expected.length) {
+ return false;
+ }
+ for (let i in results) {
+ if (expected[i] instanceof EitherVariants) {
+ return expected[i].matches(results[i]);
+ }
+ if (!compareResult(results[i], expected[i])) {
+ return false;
+ }
+ }
+ return true;
+}
+
+function compareResult(result, expected) {
+ if (
+ expected === `canonical_nan` ||
+ expected === `arithmetic_nan`
+ ) {
+ return wasmGlobalIsNaN(result, expected);
+ } else if (expected === null) {
+ return result.value === null;
+ } else if (expected instanceof F32x4Pattern) {
+ return compareResult(
+ wasmGlobalExtractLane(result, "f32x4", 0),
+ expected.x,
+ ) &&
+ compareResult(wasmGlobalExtractLane(result, "f32x4", 1), expected.y) &&
+ compareResult(wasmGlobalExtractLane(result, "f32x4", 2), expected.z) &&
+ compareResult(wasmGlobalExtractLane(result, "f32x4", 3), expected.w);
+ } else if (expected instanceof F64x2Pattern) {
+ return compareResult(
+ wasmGlobalExtractLane(result, "f64x2", 0),
+ expected.x,
+ ) &&
+ compareResult(wasmGlobalExtractLane(result, "f64x2", 1), expected.y);
+ } else if (expected instanceof RefWithType) {
+ return expected.test(result);
+ } else if (expected instanceof ExternRefResult) {
+ return expected.test(result);
+ } else if (expected instanceof HostRefResult) {
+ return expected.test(result);
+ } else if (typeof (expected) === "object") {
+ return wasmGlobalsEqual(result, expected);
+ } else {
+ throw new Error("unknown expected result");
+ }
+}
diff --git a/js/src/jit-test/tests/wasm/spec/gc/i31.wast.js b/js/src/jit-test/tests/wasm/spec/gc/i31.wast.js
new file mode 100644
index 0000000000..5799deefbf
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/gc/i31.wast.js
@@ -0,0 +1,104 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/gc/i31.wast
+
+// ./test/core/gc/i31.wast:1
+let $0 = instantiate(`(module
+ (func (export "new") (param $$i i32) (result (ref i31))
+ (ref.i31 (local.get $$i))
+ )
+
+ (func (export "get_u") (param $$i i32) (result i32)
+ (i31.get_u (ref.i31 (local.get $$i)))
+ )
+ (func (export "get_s") (param $$i i32) (result i32)
+ (i31.get_s (ref.i31 (local.get $$i)))
+ )
+
+ (func (export "get_u-null") (result i32)
+ (i31.get_u (ref.null i31))
+ )
+ (func (export "get_s-null") (result i32)
+ (i31.get_u (ref.null i31))
+ )
+
+ (global $$i (ref i31) (ref.i31 (i32.const 2)))
+ (global $$m (mut (ref i31)) (ref.i31 (i32.const 3)))
+ (func (export "get_globals") (result i32 i32)
+ (i31.get_u (global.get $$i))
+ (i31.get_u (global.get $$m))
+ )
+)`);
+
+// ./test/core/gc/i31.wast:28
+assert_return(() => invoke($0, `new`, [1]), [new RefWithType('i31ref')]);
+
+// ./test/core/gc/i31.wast:30
+assert_return(() => invoke($0, `get_u`, [0]), [value("i32", 0)]);
+
+// ./test/core/gc/i31.wast:31
+assert_return(() => invoke($0, `get_u`, [100]), [value("i32", 100)]);
+
+// ./test/core/gc/i31.wast:32
+assert_return(() => invoke($0, `get_u`, [-1]), [value("i32", 2147483647)]);
+
+// ./test/core/gc/i31.wast:33
+assert_return(() => invoke($0, `get_u`, [1073741823]), [value("i32", 1073741823)]);
+
+// ./test/core/gc/i31.wast:34
+assert_return(() => invoke($0, `get_u`, [1073741824]), [value("i32", 1073741824)]);
+
+// ./test/core/gc/i31.wast:35
+assert_return(() => invoke($0, `get_u`, [2147483647]), [value("i32", 2147483647)]);
+
+// ./test/core/gc/i31.wast:36
+assert_return(() => invoke($0, `get_u`, [-1431655766]), [value("i32", 715827882)]);
+
+// ./test/core/gc/i31.wast:37
+assert_return(() => invoke($0, `get_u`, [-894784854]), [value("i32", 1252698794)]);
+
+// ./test/core/gc/i31.wast:39
+assert_return(() => invoke($0, `get_s`, [0]), [value("i32", 0)]);
+
+// ./test/core/gc/i31.wast:40
+assert_return(() => invoke($0, `get_s`, [100]), [value("i32", 100)]);
+
+// ./test/core/gc/i31.wast:41
+assert_return(() => invoke($0, `get_s`, [-1]), [value("i32", -1)]);
+
+// ./test/core/gc/i31.wast:42
+assert_return(() => invoke($0, `get_s`, [1073741823]), [value("i32", 1073741823)]);
+
+// ./test/core/gc/i31.wast:43
+assert_return(() => invoke($0, `get_s`, [1073741824]), [value("i32", -1073741824)]);
+
+// ./test/core/gc/i31.wast:44
+assert_return(() => invoke($0, `get_s`, [2147483647]), [value("i32", -1)]);
+
+// ./test/core/gc/i31.wast:45
+assert_return(() => invoke($0, `get_s`, [-1431655766]), [value("i32", 715827882)]);
+
+// ./test/core/gc/i31.wast:46
+assert_return(() => invoke($0, `get_s`, [-894784854]), [value("i32", -894784854)]);
+
+// ./test/core/gc/i31.wast:48
+assert_trap(() => invoke($0, `get_u-null`, []), `null i31 reference`);
+
+// ./test/core/gc/i31.wast:49
+assert_trap(() => invoke($0, `get_s-null`, []), `null i31 reference`);
+
+// ./test/core/gc/i31.wast:51
+assert_return(() => invoke($0, `get_globals`, []), [value("i32", 2), value("i32", 3)]);
diff --git a/js/src/jit-test/tests/wasm/spec/gc/if.wast.js b/js/src/jit-test/tests/wasm/spec/gc/if.wast.js
new file mode 100644
index 0000000000..cc79fbf00f
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/gc/if.wast.js
@@ -0,0 +1,1928 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/if.wast
+
+// ./test/core/if.wast:3
+let $0 = instantiate(`(module
+ ;; Auxiliary definition
+ (memory 1)
+
+ (func $$dummy)
+
+ (func (export "empty") (param i32)
+ (if (local.get 0) (then))
+ (if (local.get 0) (then) (else))
+ (if $$l (local.get 0) (then))
+ (if $$l (local.get 0) (then) (else))
+ )
+
+ (func (export "singular") (param i32) (result i32)
+ (if (local.get 0) (then (nop)))
+ (if (local.get 0) (then (nop)) (else (nop)))
+ (if (result i32) (local.get 0) (then (i32.const 7)) (else (i32.const 8)))
+ )
+
+ (func (export "multi") (param i32) (result i32 i32)
+ (if (local.get 0) (then (call $$dummy) (call $$dummy) (call $$dummy)))
+ (if (local.get 0) (then) (else (call $$dummy) (call $$dummy) (call $$dummy)))
+ (if (result i32) (local.get 0)
+ (then (call $$dummy) (call $$dummy) (i32.const 8) (call $$dummy))
+ (else (call $$dummy) (call $$dummy) (i32.const 9) (call $$dummy))
+ )
+ (if (result i32 i64 i32) (local.get 0)
+ (then
+ (call $$dummy) (call $$dummy) (i32.const 1) (call $$dummy)
+ (call $$dummy) (call $$dummy) (i64.const 2) (call $$dummy)
+ (call $$dummy) (call $$dummy) (i32.const 3) (call $$dummy)
+ )
+ (else
+ (call $$dummy) (call $$dummy) (i32.const -1) (call $$dummy)
+ (call $$dummy) (call $$dummy) (i64.const -2) (call $$dummy)
+ (call $$dummy) (call $$dummy) (i32.const -3) (call $$dummy)
+ )
+ )
+ (drop) (drop)
+ )
+
+ (func (export "nested") (param i32 i32) (result i32)
+ (if (result i32) (local.get 0)
+ (then
+ (if (local.get 1) (then (call $$dummy) (block) (nop)))
+ (if (local.get 1) (then) (else (call $$dummy) (block) (nop)))
+ (if (result i32) (local.get 1)
+ (then (call $$dummy) (i32.const 9))
+ (else (call $$dummy) (i32.const 10))
+ )
+ )
+ (else
+ (if (local.get 1) (then (call $$dummy) (block) (nop)))
+ (if (local.get 1) (then) (else (call $$dummy) (block) (nop)))
+ (if (result i32) (local.get 1)
+ (then (call $$dummy) (i32.const 10))
+ (else (call $$dummy) (i32.const 11))
+ )
+ )
+ )
+ )
+
+ (func (export "as-select-first") (param i32) (result i32)
+ (select
+ (if (result i32) (local.get 0)
+ (then (call $$dummy) (i32.const 1))
+ (else (call $$dummy) (i32.const 0))
+ )
+ (i32.const 2) (i32.const 3)
+ )
+ )
+ (func (export "as-select-mid") (param i32) (result i32)
+ (select
+ (i32.const 2)
+ (if (result i32) (local.get 0)
+ (then (call $$dummy) (i32.const 1))
+ (else (call $$dummy) (i32.const 0))
+ )
+ (i32.const 3)
+ )
+ )
+ (func (export "as-select-last") (param i32) (result i32)
+ (select
+ (i32.const 2) (i32.const 3)
+ (if (result i32) (local.get 0)
+ (then (call $$dummy) (i32.const 1))
+ (else (call $$dummy) (i32.const 0))
+ )
+ )
+ )
+
+ (func (export "as-loop-first") (param i32) (result i32)
+ (loop (result i32)
+ (if (result i32) (local.get 0)
+ (then (call $$dummy) (i32.const 1))
+ (else (call $$dummy) (i32.const 0))
+ )
+ (call $$dummy) (call $$dummy)
+ )
+ )
+ (func (export "as-loop-mid") (param i32) (result i32)
+ (loop (result i32)
+ (call $$dummy)
+ (if (result i32) (local.get 0)
+ (then (call $$dummy) (i32.const 1))
+ (else (call $$dummy) (i32.const 0))
+ )
+ (call $$dummy)
+ )
+ )
+ (func (export "as-loop-last") (param i32) (result i32)
+ (loop (result i32)
+ (call $$dummy) (call $$dummy)
+ (if (result i32) (local.get 0)
+ (then (call $$dummy) (i32.const 1))
+ (else (call $$dummy) (i32.const 0))
+ )
+ )
+ )
+
+ (func (export "as-if-condition") (param i32) (result i32)
+ (if (result i32)
+ (if (result i32) (local.get 0)
+ (then (i32.const 1)) (else (i32.const 0))
+ )
+ (then (call $$dummy) (i32.const 2))
+ (else (call $$dummy) (i32.const 3))
+ )
+ )
+
+ (func (export "as-br_if-first") (param i32) (result i32)
+ (block (result i32)
+ (br_if 0
+ (if (result i32) (local.get 0)
+ (then (call $$dummy) (i32.const 1))
+ (else (call $$dummy) (i32.const 0))
+ )
+ (i32.const 2)
+ )
+ (return (i32.const 3))
+ )
+ )
+ (func (export "as-br_if-last") (param i32) (result i32)
+ (block (result i32)
+ (br_if 0
+ (i32.const 2)
+ (if (result i32) (local.get 0)
+ (then (call $$dummy) (i32.const 1))
+ (else (call $$dummy) (i32.const 0))
+ )
+ )
+ (return (i32.const 3))
+ )
+ )
+
+ (func (export "as-br_table-first") (param i32) (result i32)
+ (block (result i32)
+ (if (result i32) (local.get 0)
+ (then (call $$dummy) (i32.const 1))
+ (else (call $$dummy) (i32.const 0))
+ )
+ (i32.const 2)
+ (br_table 0 0)
+ )
+ )
+ (func (export "as-br_table-last") (param i32) (result i32)
+ (block (result i32)
+ (i32.const 2)
+ (if (result i32) (local.get 0)
+ (then (call $$dummy) (i32.const 1))
+ (else (call $$dummy) (i32.const 0))
+ )
+ (br_table 0 0)
+ )
+ )
+
+ (func $$func (param i32 i32) (result i32) (local.get 0))
+ (type $$check (func (param i32 i32) (result i32)))
+ (table funcref (elem $$func))
+ (func (export "as-call_indirect-first") (param i32) (result i32)
+ (block (result i32)
+ (call_indirect (type $$check)
+ (if (result i32) (local.get 0)
+ (then (call $$dummy) (i32.const 1))
+ (else (call $$dummy) (i32.const 0))
+ )
+ (i32.const 2) (i32.const 0)
+ )
+ )
+ )
+ (func (export "as-call_indirect-mid") (param i32) (result i32)
+ (block (result i32)
+ (call_indirect (type $$check)
+ (i32.const 2)
+ (if (result i32) (local.get 0)
+ (then (call $$dummy) (i32.const 1))
+ (else (call $$dummy) (i32.const 0))
+ )
+ (i32.const 0)
+ )
+ )
+ )
+ (func (export "as-call_indirect-last") (param i32) (result i32)
+ (block (result i32)
+ (call_indirect (type $$check)
+ (i32.const 2) (i32.const 0)
+ (if (result i32) (local.get 0)
+ (then (call $$dummy) (i32.const 1))
+ (else (call $$dummy) (i32.const 0))
+ )
+ )
+ )
+ )
+
+ (func (export "as-store-first") (param i32)
+ (if (result i32) (local.get 0)
+ (then (call $$dummy) (i32.const 1))
+ (else (call $$dummy) (i32.const 0))
+ )
+ (i32.const 2)
+ (i32.store)
+ )
+ (func (export "as-store-last") (param i32)
+ (i32.const 2)
+ (if (result i32) (local.get 0)
+ (then (call $$dummy) (i32.const 1))
+ (else (call $$dummy) (i32.const 0))
+ )
+ (i32.store)
+ )
+
+ (func (export "as-memory.grow-value") (param i32) (result i32)
+ (memory.grow
+ (if (result i32) (local.get 0)
+ (then (i32.const 1))
+ (else (i32.const 0))
+ )
+ )
+ )
+
+ (func $$f (param i32) (result i32) (local.get 0))
+
+ (func (export "as-call-value") (param i32) (result i32)
+ (call $$f
+ (if (result i32) (local.get 0)
+ (then (i32.const 1))
+ (else (i32.const 0))
+ )
+ )
+ )
+ (func (export "as-return-value") (param i32) (result i32)
+ (if (result i32) (local.get 0)
+ (then (i32.const 1))
+ (else (i32.const 0)))
+ (return)
+ )
+ (func (export "as-drop-operand") (param i32)
+ (drop
+ (if (result i32) (local.get 0)
+ (then (i32.const 1))
+ (else (i32.const 0))
+ )
+ )
+ )
+ (func (export "as-br-value") (param i32) (result i32)
+ (block (result i32)
+ (br 0
+ (if (result i32) (local.get 0)
+ (then (i32.const 1))
+ (else (i32.const 0))
+ )
+ )
+ )
+ )
+ (func (export "as-local.set-value") (param i32) (result i32)
+ (local i32)
+ (local.set 0
+ (if (result i32) (local.get 0)
+ (then (i32.const 1))
+ (else (i32.const 0))
+ )
+ )
+ (local.get 0)
+ )
+ (func (export "as-local.tee-value") (param i32) (result i32)
+ (local.tee 0
+ (if (result i32) (local.get 0)
+ (then (i32.const 1))
+ (else (i32.const 0))
+ )
+ )
+ )
+ (global $$a (mut i32) (i32.const 10))
+ (func (export "as-global.set-value") (param i32) (result i32)
+ (global.set $$a
+ (if (result i32) (local.get 0)
+ (then (i32.const 1))
+ (else (i32.const 0))
+ )
+ ) (global.get $$a)
+ )
+ (func (export "as-load-operand") (param i32) (result i32)
+ (i32.load
+ (if (result i32) (local.get 0)
+ (then (i32.const 11))
+ (else (i32.const 10))
+ )
+ )
+ )
+
+ (func (export "as-unary-operand") (param i32) (result i32)
+ (i32.ctz
+ (if (result i32) (local.get 0)
+ (then (call $$dummy) (i32.const 13))
+ (else (call $$dummy) (i32.const -13))
+ )
+ )
+ )
+ (func (export "as-binary-operand") (param i32 i32) (result i32)
+ (i32.mul
+ (if (result i32) (local.get 0)
+ (then (call $$dummy) (i32.const 3))
+ (else (call $$dummy) (i32.const -3))
+ )
+ (if (result i32) (local.get 1)
+ (then (call $$dummy) (i32.const 4))
+ (else (call $$dummy) (i32.const -5))
+ )
+ )
+ )
+ (func (export "as-test-operand") (param i32) (result i32)
+ (i32.eqz
+ (if (result i32) (local.get 0)
+ (then (call $$dummy) (i32.const 13))
+ (else (call $$dummy) (i32.const 0))
+ )
+ )
+ )
+ (func (export "as-compare-operand") (param i32 i32) (result i32)
+ (f32.gt
+ (if (result f32) (local.get 0)
+ (then (call $$dummy) (f32.const 3))
+ (else (call $$dummy) (f32.const -3))
+ )
+ (if (result f32) (local.get 1)
+ (then (call $$dummy) (f32.const 4))
+ (else (call $$dummy) (f32.const -4))
+ )
+ )
+ )
+ (func (export "as-binary-operands") (param i32) (result i32)
+ (i32.mul
+ (if (result i32 i32) (local.get 0)
+ (then (call $$dummy) (i32.const 3) (call $$dummy) (i32.const 4))
+ (else (call $$dummy) (i32.const 3) (call $$dummy) (i32.const -4))
+ )
+ )
+ )
+ (func (export "as-compare-operands") (param i32) (result i32)
+ (f32.gt
+ (if (result f32 f32) (local.get 0)
+ (then (call $$dummy) (f32.const 3) (call $$dummy) (f32.const 3))
+ (else (call $$dummy) (f32.const -2) (call $$dummy) (f32.const -3))
+ )
+ )
+ )
+ (func (export "as-mixed-operands") (param i32) (result i32)
+ (if (result i32 i32) (local.get 0)
+ (then (call $$dummy) (i32.const 3) (call $$dummy) (i32.const 4))
+ (else (call $$dummy) (i32.const -3) (call $$dummy) (i32.const -4))
+ )
+ (i32.const 5)
+ (i32.add)
+ (i32.mul)
+ )
+
+ (func (export "break-bare") (result i32)
+ (if (i32.const 1) (then (br 0) (unreachable)))
+ (if (i32.const 1) (then (br 0) (unreachable)) (else (unreachable)))
+ (if (i32.const 0) (then (unreachable)) (else (br 0) (unreachable)))
+ (if (i32.const 1) (then (br_if 0 (i32.const 1)) (unreachable)))
+ (if (i32.const 1) (then (br_if 0 (i32.const 1)) (unreachable)) (else (unreachable)))
+ (if (i32.const 0) (then (unreachable)) (else (br_if 0 (i32.const 1)) (unreachable)))
+ (if (i32.const 1) (then (br_table 0 (i32.const 0)) (unreachable)))
+ (if (i32.const 1) (then (br_table 0 (i32.const 0)) (unreachable)) (else (unreachable)))
+ (if (i32.const 0) (then (unreachable)) (else (br_table 0 (i32.const 0)) (unreachable)))
+ (i32.const 19)
+ )
+
+ (func (export "break-value") (param i32) (result i32)
+ (if (result i32) (local.get 0)
+ (then (br 0 (i32.const 18)) (i32.const 19))
+ (else (br 0 (i32.const 21)) (i32.const 20))
+ )
+ )
+ (func (export "break-multi-value") (param i32) (result i32 i32 i64)
+ (if (result i32 i32 i64) (local.get 0)
+ (then
+ (br 0 (i32.const 18) (i32.const -18) (i64.const 18))
+ (i32.const 19) (i32.const -19) (i64.const 19)
+ )
+ (else
+ (br 0 (i32.const -18) (i32.const 18) (i64.const -18))
+ (i32.const -19) (i32.const 19) (i64.const -19)
+ )
+ )
+ )
+
+ (func (export "param") (param i32) (result i32)
+ (i32.const 1)
+ (if (param i32) (result i32) (local.get 0)
+ (then (i32.const 2) (i32.add))
+ (else (i32.const -2) (i32.add))
+ )
+ )
+ (func (export "params") (param i32) (result i32)
+ (i32.const 1)
+ (i32.const 2)
+ (if (param i32 i32) (result i32) (local.get 0)
+ (then (i32.add))
+ (else (i32.sub))
+ )
+ )
+ (func (export "params-id") (param i32) (result i32)
+ (i32.const 1)
+ (i32.const 2)
+ (if (param i32 i32) (result i32 i32) (local.get 0) (then))
+ (i32.add)
+ )
+ (func (export "param-break") (param i32) (result i32)
+ (i32.const 1)
+ (if (param i32) (result i32) (local.get 0)
+ (then (i32.const 2) (i32.add) (br 0))
+ (else (i32.const -2) (i32.add) (br 0))
+ )
+ )
+ (func (export "params-break") (param i32) (result i32)
+ (i32.const 1)
+ (i32.const 2)
+ (if (param i32 i32) (result i32) (local.get 0)
+ (then (i32.add) (br 0))
+ (else (i32.sub) (br 0))
+ )
+ )
+ (func (export "params-id-break") (param i32) (result i32)
+ (i32.const 1)
+ (i32.const 2)
+ (if (param i32 i32) (result i32 i32) (local.get 0) (then (br 0)))
+ (i32.add)
+ )
+
+ (func (export "effects") (param i32) (result i32)
+ (local i32)
+ (if
+ (block (result i32) (local.set 1 (i32.const 1)) (local.get 0))
+ (then
+ (local.set 1 (i32.mul (local.get 1) (i32.const 3)))
+ (local.set 1 (i32.sub (local.get 1) (i32.const 5)))
+ (local.set 1 (i32.mul (local.get 1) (i32.const 7)))
+ (br 0)
+ (local.set 1 (i32.mul (local.get 1) (i32.const 100)))
+ )
+ (else
+ (local.set 1 (i32.mul (local.get 1) (i32.const 5)))
+ (local.set 1 (i32.sub (local.get 1) (i32.const 7)))
+ (local.set 1 (i32.mul (local.get 1) (i32.const 3)))
+ (br 0)
+ (local.set 1 (i32.mul (local.get 1) (i32.const 1000)))
+ )
+ )
+ (local.get 1)
+ )
+
+ ;; Examples
+
+ (func $$add64_u_with_carry (export "add64_u_with_carry")
+ (param $$i i64) (param $$j i64) (param $$c i32) (result i64 i32)
+ (local $$k i64)
+ (local.set $$k
+ (i64.add
+ (i64.add (local.get $$i) (local.get $$j))
+ (i64.extend_i32_u (local.get $$c))
+ )
+ )
+ (return (local.get $$k) (i64.lt_u (local.get $$k) (local.get $$i)))
+ )
+
+ (func $$add64_u_saturated (export "add64_u_saturated")
+ (param i64 i64) (result i64)
+ (call $$add64_u_with_carry (local.get 0) (local.get 1) (i32.const 0))
+ (if (param i64) (result i64)
+ (then (drop) (i64.const -1))
+ )
+ )
+
+ ;; Block signature syntax
+
+ (type $$block-sig-1 (func))
+ (type $$block-sig-2 (func (result i32)))
+ (type $$block-sig-3 (func (param $$x i32)))
+ (type $$block-sig-4 (func (param i32 f64 i32) (result i32 f64 i32)))
+
+ (func (export "type-use")
+ (if (type $$block-sig-1) (i32.const 1) (then))
+ (if (type $$block-sig-2) (i32.const 1)
+ (then (i32.const 0)) (else (i32.const 2))
+ )
+ (if (type $$block-sig-3) (i32.const 1) (then (drop)) (else (drop)))
+ (i32.const 0) (f64.const 0) (i32.const 0)
+ (if (type $$block-sig-4) (i32.const 1) (then))
+ (drop) (drop) (drop)
+ (if (type $$block-sig-2) (result i32) (i32.const 1)
+ (then (i32.const 0)) (else (i32.const 2))
+ )
+ (if (type $$block-sig-3) (param i32) (i32.const 1)
+ (then (drop)) (else (drop))
+ )
+ (i32.const 0) (f64.const 0) (i32.const 0)
+ (if (type $$block-sig-4)
+ (param i32) (param f64 i32) (result i32 f64) (result i32)
+ (i32.const 1) (then)
+ )
+ (drop) (drop) (drop)
+ )
+
+ ;; Atypical folded condition syntax
+
+ (func (export "atypical-condition")
+ i32.const 0
+ (if (then) (else))
+ (if (i32.const 1) (i32.eqz) (then) (else))
+ )
+)`);
+
+// ./test/core/if.wast:537
+assert_return(() => invoke($0, `empty`, [0]), []);
+
+// ./test/core/if.wast:538
+assert_return(() => invoke($0, `empty`, [1]), []);
+
+// ./test/core/if.wast:539
+assert_return(() => invoke($0, `empty`, [100]), []);
+
+// ./test/core/if.wast:540
+assert_return(() => invoke($0, `empty`, [-2]), []);
+
+// ./test/core/if.wast:542
+assert_return(() => invoke($0, `singular`, [0]), [value("i32", 8)]);
+
+// ./test/core/if.wast:543
+assert_return(() => invoke($0, `singular`, [1]), [value("i32", 7)]);
+
+// ./test/core/if.wast:544
+assert_return(() => invoke($0, `singular`, [10]), [value("i32", 7)]);
+
+// ./test/core/if.wast:545
+assert_return(() => invoke($0, `singular`, [-10]), [value("i32", 7)]);
+
+// ./test/core/if.wast:547
+assert_return(() => invoke($0, `multi`, [0]), [value("i32", 9), value("i32", -1)]);
+
+// ./test/core/if.wast:548
+assert_return(() => invoke($0, `multi`, [1]), [value("i32", 8), value("i32", 1)]);
+
+// ./test/core/if.wast:549
+assert_return(() => invoke($0, `multi`, [13]), [value("i32", 8), value("i32", 1)]);
+
+// ./test/core/if.wast:550
+assert_return(() => invoke($0, `multi`, [-5]), [value("i32", 8), value("i32", 1)]);
+
+// ./test/core/if.wast:552
+assert_return(() => invoke($0, `nested`, [0, 0]), [value("i32", 11)]);
+
+// ./test/core/if.wast:553
+assert_return(() => invoke($0, `nested`, [1, 0]), [value("i32", 10)]);
+
+// ./test/core/if.wast:554
+assert_return(() => invoke($0, `nested`, [0, 1]), [value("i32", 10)]);
+
+// ./test/core/if.wast:555
+assert_return(() => invoke($0, `nested`, [3, 2]), [value("i32", 9)]);
+
+// ./test/core/if.wast:556
+assert_return(() => invoke($0, `nested`, [0, -100]), [value("i32", 10)]);
+
+// ./test/core/if.wast:557
+assert_return(() => invoke($0, `nested`, [10, 10]), [value("i32", 9)]);
+
+// ./test/core/if.wast:558
+assert_return(() => invoke($0, `nested`, [0, -1]), [value("i32", 10)]);
+
+// ./test/core/if.wast:559
+assert_return(() => invoke($0, `nested`, [-111, -2]), [value("i32", 9)]);
+
+// ./test/core/if.wast:561
+assert_return(() => invoke($0, `as-select-first`, [0]), [value("i32", 0)]);
+
+// ./test/core/if.wast:562
+assert_return(() => invoke($0, `as-select-first`, [1]), [value("i32", 1)]);
+
+// ./test/core/if.wast:563
+assert_return(() => invoke($0, `as-select-mid`, [0]), [value("i32", 2)]);
+
+// ./test/core/if.wast:564
+assert_return(() => invoke($0, `as-select-mid`, [1]), [value("i32", 2)]);
+
+// ./test/core/if.wast:565
+assert_return(() => invoke($0, `as-select-last`, [0]), [value("i32", 3)]);
+
+// ./test/core/if.wast:566
+assert_return(() => invoke($0, `as-select-last`, [1]), [value("i32", 2)]);
+
+// ./test/core/if.wast:568
+assert_return(() => invoke($0, `as-loop-first`, [0]), [value("i32", 0)]);
+
+// ./test/core/if.wast:569
+assert_return(() => invoke($0, `as-loop-first`, [1]), [value("i32", 1)]);
+
+// ./test/core/if.wast:570
+assert_return(() => invoke($0, `as-loop-mid`, [0]), [value("i32", 0)]);
+
+// ./test/core/if.wast:571
+assert_return(() => invoke($0, `as-loop-mid`, [1]), [value("i32", 1)]);
+
+// ./test/core/if.wast:572
+assert_return(() => invoke($0, `as-loop-last`, [0]), [value("i32", 0)]);
+
+// ./test/core/if.wast:573
+assert_return(() => invoke($0, `as-loop-last`, [1]), [value("i32", 1)]);
+
+// ./test/core/if.wast:575
+assert_return(() => invoke($0, `as-if-condition`, [0]), [value("i32", 3)]);
+
+// ./test/core/if.wast:576
+assert_return(() => invoke($0, `as-if-condition`, [1]), [value("i32", 2)]);
+
+// ./test/core/if.wast:578
+assert_return(() => invoke($0, `as-br_if-first`, [0]), [value("i32", 0)]);
+
+// ./test/core/if.wast:579
+assert_return(() => invoke($0, `as-br_if-first`, [1]), [value("i32", 1)]);
+
+// ./test/core/if.wast:580
+assert_return(() => invoke($0, `as-br_if-last`, [0]), [value("i32", 3)]);
+
+// ./test/core/if.wast:581
+assert_return(() => invoke($0, `as-br_if-last`, [1]), [value("i32", 2)]);
+
+// ./test/core/if.wast:583
+assert_return(() => invoke($0, `as-br_table-first`, [0]), [value("i32", 0)]);
+
+// ./test/core/if.wast:584
+assert_return(() => invoke($0, `as-br_table-first`, [1]), [value("i32", 1)]);
+
+// ./test/core/if.wast:585
+assert_return(() => invoke($0, `as-br_table-last`, [0]), [value("i32", 2)]);
+
+// ./test/core/if.wast:586
+assert_return(() => invoke($0, `as-br_table-last`, [1]), [value("i32", 2)]);
+
+// ./test/core/if.wast:588
+assert_return(() => invoke($0, `as-call_indirect-first`, [0]), [value("i32", 0)]);
+
+// ./test/core/if.wast:589
+assert_return(() => invoke($0, `as-call_indirect-first`, [1]), [value("i32", 1)]);
+
+// ./test/core/if.wast:590
+assert_return(() => invoke($0, `as-call_indirect-mid`, [0]), [value("i32", 2)]);
+
+// ./test/core/if.wast:591
+assert_return(() => invoke($0, `as-call_indirect-mid`, [1]), [value("i32", 2)]);
+
+// ./test/core/if.wast:592
+assert_return(() => invoke($0, `as-call_indirect-last`, [0]), [value("i32", 2)]);
+
+// ./test/core/if.wast:593
+assert_trap(() => invoke($0, `as-call_indirect-last`, [1]), `undefined element`);
+
+// ./test/core/if.wast:595
+assert_return(() => invoke($0, `as-store-first`, [0]), []);
+
+// ./test/core/if.wast:596
+assert_return(() => invoke($0, `as-store-first`, [1]), []);
+
+// ./test/core/if.wast:597
+assert_return(() => invoke($0, `as-store-last`, [0]), []);
+
+// ./test/core/if.wast:598
+assert_return(() => invoke($0, `as-store-last`, [1]), []);
+
+// ./test/core/if.wast:600
+assert_return(() => invoke($0, `as-memory.grow-value`, [0]), [value("i32", 1)]);
+
+// ./test/core/if.wast:601
+assert_return(() => invoke($0, `as-memory.grow-value`, [1]), [value("i32", 1)]);
+
+// ./test/core/if.wast:603
+assert_return(() => invoke($0, `as-call-value`, [0]), [value("i32", 0)]);
+
+// ./test/core/if.wast:604
+assert_return(() => invoke($0, `as-call-value`, [1]), [value("i32", 1)]);
+
+// ./test/core/if.wast:606
+assert_return(() => invoke($0, `as-return-value`, [0]), [value("i32", 0)]);
+
+// ./test/core/if.wast:607
+assert_return(() => invoke($0, `as-return-value`, [1]), [value("i32", 1)]);
+
+// ./test/core/if.wast:609
+assert_return(() => invoke($0, `as-drop-operand`, [0]), []);
+
+// ./test/core/if.wast:610
+assert_return(() => invoke($0, `as-drop-operand`, [1]), []);
+
+// ./test/core/if.wast:612
+assert_return(() => invoke($0, `as-br-value`, [0]), [value("i32", 0)]);
+
+// ./test/core/if.wast:613
+assert_return(() => invoke($0, `as-br-value`, [1]), [value("i32", 1)]);
+
+// ./test/core/if.wast:615
+assert_return(() => invoke($0, `as-local.set-value`, [0]), [value("i32", 0)]);
+
+// ./test/core/if.wast:616
+assert_return(() => invoke($0, `as-local.set-value`, [1]), [value("i32", 1)]);
+
+// ./test/core/if.wast:618
+assert_return(() => invoke($0, `as-local.tee-value`, [0]), [value("i32", 0)]);
+
+// ./test/core/if.wast:619
+assert_return(() => invoke($0, `as-local.tee-value`, [1]), [value("i32", 1)]);
+
+// ./test/core/if.wast:621
+assert_return(() => invoke($0, `as-global.set-value`, [0]), [value("i32", 0)]);
+
+// ./test/core/if.wast:622
+assert_return(() => invoke($0, `as-global.set-value`, [1]), [value("i32", 1)]);
+
+// ./test/core/if.wast:624
+assert_return(() => invoke($0, `as-load-operand`, [0]), [value("i32", 0)]);
+
+// ./test/core/if.wast:625
+assert_return(() => invoke($0, `as-load-operand`, [1]), [value("i32", 0)]);
+
+// ./test/core/if.wast:627
+assert_return(() => invoke($0, `as-unary-operand`, [0]), [value("i32", 0)]);
+
+// ./test/core/if.wast:628
+assert_return(() => invoke($0, `as-unary-operand`, [1]), [value("i32", 0)]);
+
+// ./test/core/if.wast:629
+assert_return(() => invoke($0, `as-unary-operand`, [-1]), [value("i32", 0)]);
+
+// ./test/core/if.wast:631
+assert_return(() => invoke($0, `as-binary-operand`, [0, 0]), [value("i32", 15)]);
+
+// ./test/core/if.wast:632
+assert_return(() => invoke($0, `as-binary-operand`, [0, 1]), [value("i32", -12)]);
+
+// ./test/core/if.wast:633
+assert_return(() => invoke($0, `as-binary-operand`, [1, 0]), [value("i32", -15)]);
+
+// ./test/core/if.wast:634
+assert_return(() => invoke($0, `as-binary-operand`, [1, 1]), [value("i32", 12)]);
+
+// ./test/core/if.wast:636
+assert_return(() => invoke($0, `as-test-operand`, [0]), [value("i32", 1)]);
+
+// ./test/core/if.wast:637
+assert_return(() => invoke($0, `as-test-operand`, [1]), [value("i32", 0)]);
+
+// ./test/core/if.wast:639
+assert_return(() => invoke($0, `as-compare-operand`, [0, 0]), [value("i32", 1)]);
+
+// ./test/core/if.wast:640
+assert_return(() => invoke($0, `as-compare-operand`, [0, 1]), [value("i32", 0)]);
+
+// ./test/core/if.wast:641
+assert_return(() => invoke($0, `as-compare-operand`, [1, 0]), [value("i32", 1)]);
+
+// ./test/core/if.wast:642
+assert_return(() => invoke($0, `as-compare-operand`, [1, 1]), [value("i32", 0)]);
+
+// ./test/core/if.wast:644
+assert_return(() => invoke($0, `as-binary-operands`, [0]), [value("i32", -12)]);
+
+// ./test/core/if.wast:645
+assert_return(() => invoke($0, `as-binary-operands`, [1]), [value("i32", 12)]);
+
+// ./test/core/if.wast:647
+assert_return(() => invoke($0, `as-compare-operands`, [0]), [value("i32", 1)]);
+
+// ./test/core/if.wast:648
+assert_return(() => invoke($0, `as-compare-operands`, [1]), [value("i32", 0)]);
+
+// ./test/core/if.wast:650
+assert_return(() => invoke($0, `as-mixed-operands`, [0]), [value("i32", -3)]);
+
+// ./test/core/if.wast:651
+assert_return(() => invoke($0, `as-mixed-operands`, [1]), [value("i32", 27)]);
+
+// ./test/core/if.wast:653
+assert_return(() => invoke($0, `break-bare`, []), [value("i32", 19)]);
+
+// ./test/core/if.wast:654
+assert_return(() => invoke($0, `break-value`, [1]), [value("i32", 18)]);
+
+// ./test/core/if.wast:655
+assert_return(() => invoke($0, `break-value`, [0]), [value("i32", 21)]);
+
+// ./test/core/if.wast:656
+assert_return(
+ () => invoke($0, `break-multi-value`, [0]),
+ [value("i32", -18), value("i32", 18), value("i64", -18n)],
+);
+
+// ./test/core/if.wast:659
+assert_return(
+ () => invoke($0, `break-multi-value`, [1]),
+ [value("i32", 18), value("i32", -18), value("i64", 18n)],
+);
+
+// ./test/core/if.wast:663
+assert_return(() => invoke($0, `param`, [0]), [value("i32", -1)]);
+
+// ./test/core/if.wast:664
+assert_return(() => invoke($0, `param`, [1]), [value("i32", 3)]);
+
+// ./test/core/if.wast:665
+assert_return(() => invoke($0, `params`, [0]), [value("i32", -1)]);
+
+// ./test/core/if.wast:666
+assert_return(() => invoke($0, `params`, [1]), [value("i32", 3)]);
+
+// ./test/core/if.wast:667
+assert_return(() => invoke($0, `params-id`, [0]), [value("i32", 3)]);
+
+// ./test/core/if.wast:668
+assert_return(() => invoke($0, `params-id`, [1]), [value("i32", 3)]);
+
+// ./test/core/if.wast:669
+assert_return(() => invoke($0, `param-break`, [0]), [value("i32", -1)]);
+
+// ./test/core/if.wast:670
+assert_return(() => invoke($0, `param-break`, [1]), [value("i32", 3)]);
+
+// ./test/core/if.wast:671
+assert_return(() => invoke($0, `params-break`, [0]), [value("i32", -1)]);
+
+// ./test/core/if.wast:672
+assert_return(() => invoke($0, `params-break`, [1]), [value("i32", 3)]);
+
+// ./test/core/if.wast:673
+assert_return(() => invoke($0, `params-id-break`, [0]), [value("i32", 3)]);
+
+// ./test/core/if.wast:674
+assert_return(() => invoke($0, `params-id-break`, [1]), [value("i32", 3)]);
+
+// ./test/core/if.wast:676
+assert_return(() => invoke($0, `effects`, [1]), [value("i32", -14)]);
+
+// ./test/core/if.wast:677
+assert_return(() => invoke($0, `effects`, [0]), [value("i32", -6)]);
+
+// ./test/core/if.wast:679
+assert_return(() => invoke($0, `add64_u_with_carry`, [0n, 0n, 0]), [value("i64", 0n), value("i32", 0)]);
+
+// ./test/core/if.wast:683
+assert_return(
+ () => invoke($0, `add64_u_with_carry`, [100n, 124n, 0]),
+ [value("i64", 224n), value("i32", 0)],
+);
+
+// ./test/core/if.wast:687
+assert_return(
+ () => invoke($0, `add64_u_with_carry`, [-1n, 0n, 0]),
+ [value("i64", -1n), value("i32", 0)],
+);
+
+// ./test/core/if.wast:691
+assert_return(() => invoke($0, `add64_u_with_carry`, [-1n, 1n, 0]), [value("i64", 0n), value("i32", 1)]);
+
+// ./test/core/if.wast:695
+assert_return(
+ () => invoke($0, `add64_u_with_carry`, [-1n, -1n, 0]),
+ [value("i64", -2n), value("i32", 1)],
+);
+
+// ./test/core/if.wast:699
+assert_return(() => invoke($0, `add64_u_with_carry`, [-1n, 0n, 1]), [value("i64", 0n), value("i32", 1)]);
+
+// ./test/core/if.wast:703
+assert_return(() => invoke($0, `add64_u_with_carry`, [-1n, 1n, 1]), [value("i64", 1n), value("i32", 1)]);
+
+// ./test/core/if.wast:707
+assert_return(
+ () => invoke($0, `add64_u_with_carry`, [
+ -9223372036854775808n,
+ -9223372036854775808n,
+ 0,
+ ]),
+ [value("i64", 0n), value("i32", 1)],
+);
+
+// ./test/core/if.wast:712
+assert_return(() => invoke($0, `add64_u_saturated`, [0n, 0n]), [value("i64", 0n)]);
+
+// ./test/core/if.wast:715
+assert_return(() => invoke($0, `add64_u_saturated`, [1230n, 23n]), [value("i64", 1253n)]);
+
+// ./test/core/if.wast:718
+assert_return(() => invoke($0, `add64_u_saturated`, [-1n, 0n]), [value("i64", -1n)]);
+
+// ./test/core/if.wast:721
+assert_return(() => invoke($0, `add64_u_saturated`, [-1n, 1n]), [value("i64", -1n)]);
+
+// ./test/core/if.wast:724
+assert_return(() => invoke($0, `add64_u_saturated`, [-1n, -1n]), [value("i64", -1n)]);
+
+// ./test/core/if.wast:727
+assert_return(
+ () => invoke($0, `add64_u_saturated`, [-9223372036854775808n, -9223372036854775808n]),
+ [value("i64", -1n)],
+);
+
+// ./test/core/if.wast:731
+assert_return(() => invoke($0, `type-use`, []), []);
+
+// ./test/core/if.wast:733
+assert_return(() => invoke($0, `atypical-condition`, []), []);
+
+// ./test/core/if.wast:735
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (func (i32.const 0) (if (type $$sig) (result i32) (param i32) (i32.const 1) (then)) ) `),
+ `unexpected token`,
+);
+
+// ./test/core/if.wast:744
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (func (i32.const 0) (if (param i32) (type $$sig) (result i32) (i32.const 1) (then)) ) `),
+ `unexpected token`,
+);
+
+// ./test/core/if.wast:753
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (func (i32.const 0) (if (param i32) (result i32) (type $$sig) (i32.const 1) (then)) ) `),
+ `unexpected token`,
+);
+
+// ./test/core/if.wast:762
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (func (i32.const 0) (if (result i32) (type $$sig) (param i32) (i32.const 1) (then)) ) `),
+ `unexpected token`,
+);
+
+// ./test/core/if.wast:771
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (func (i32.const 0) (if (result i32) (param i32) (type $$sig) (i32.const 1) (then)) ) `),
+ `unexpected token`,
+);
+
+// ./test/core/if.wast:780
+assert_malformed(
+ () => instantiate(`(func (i32.const 0) (if (result i32) (param i32) (i32.const 1) (then))) `),
+ `unexpected token`,
+);
+
+// ./test/core/if.wast:787
+assert_malformed(
+ () => instantiate(`(func (i32.const 0) (i32.const 1) (if (param $$x i32) (then (drop)) (else (drop))) ) `),
+ `unexpected token`,
+);
+
+// ./test/core/if.wast:795
+assert_malformed(
+ () => instantiate(`(type $$sig (func)) (func (i32.const 1) (if (type $$sig) (result i32) (then (i32.const 0)) (else (i32.const 2))) (unreachable) ) `),
+ `inline function type`,
+);
+
+// ./test/core/if.wast:805
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (func (i32.const 1) (if (type $$sig) (result i32) (then (i32.const 0)) (else (i32.const 2))) (unreachable) ) `),
+ `inline function type`,
+);
+
+// ./test/core/if.wast:815
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (func (i32.const 0) (i32.const 1) (if (type $$sig) (param i32) (then (drop)) (else (drop))) (unreachable) ) `),
+ `inline function type`,
+);
+
+// ./test/core/if.wast:825
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32 i32) (result i32))) (func (i32.const 0) (i32.const 1) (if (type $$sig) (param i32) (result i32) (then)) (unreachable) ) `),
+ `inline function type`,
+);
+
+// ./test/core/if.wast:835
+assert_invalid(
+ () => instantiate(`(module
+ (type $$sig (func))
+ (func (i32.const 1) (if (type $$sig) (i32.const 0) (then)))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:843
+assert_invalid(
+ () => instantiate(`(module (func $$type-empty-i32 (result i32) (if (i32.const 0) (then))))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:847
+assert_invalid(
+ () => instantiate(`(module (func $$type-empty-i64 (result i64) (if (i32.const 0) (then))))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:851
+assert_invalid(
+ () => instantiate(`(module (func $$type-empty-f32 (result f32) (if (i32.const 0) (then))))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:855
+assert_invalid(
+ () => instantiate(`(module (func $$type-empty-f64 (result f64) (if (i32.const 0) (then))))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:860
+assert_invalid(
+ () => instantiate(`(module (func $$type-empty-i32 (result i32) (if (i32.const 0) (then) (else))))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:864
+assert_invalid(
+ () => instantiate(`(module (func $$type-empty-i64 (result i64) (if (i32.const 0) (then) (else))))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:868
+assert_invalid(
+ () => instantiate(`(module (func $$type-empty-f32 (result f32) (if (i32.const 0) (then) (else))))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:872
+assert_invalid(
+ () => instantiate(`(module (func $$type-empty-f64 (result f64) (if (i32.const 0) (then) (else))))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:877
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-value-num-vs-void
+ (if (i32.const 1) (then (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:883
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-value-num-vs-void-else
+ (if (i32.const 1) (then (i32.const 1)) (else))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:889
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-value-num-vs-void
+ (if (i32.const 1) (then) (else (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:895
+assert_invalid(
+ () => instantiate(`(module (func $$type-both-value-num-vs-void
+ (if (i32.const 1) (then (i32.const 1)) (else (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:902
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-value-nums-vs-void
+ (if (i32.const 1) (then (i32.const 1) (i32.const 2)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:908
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-value-nums-vs-void-else
+ (if (i32.const 1) (then (i32.const 1) (i32.const 2)) (else))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:914
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-value-nums-vs-void
+ (if (i32.const 1) (then) (else (i32.const 1) (i32.const 2)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:920
+assert_invalid(
+ () => instantiate(`(module (func $$type-both-value-nums-vs-void
+ (if (i32.const 1) (then (i32.const 1) (i32.const 2)) (else (i32.const 2) (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:927
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-value-empty-vs-num (result i32)
+ (if (result i32) (i32.const 1) (then) (else (i32.const 0)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:933
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-value-empty-vs-num (result i32)
+ (if (result i32) (i32.const 1) (then (i32.const 0)) (else))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:939
+assert_invalid(
+ () => instantiate(`(module (func $$type-both-value-empty-vs-num (result i32)
+ (if (result i32) (i32.const 1) (then) (else))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:946
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-value-empty-vs-nums (result i32 i32)
+ (if (result i32 i32) (i32.const 1) (then) (else (i32.const 0) (i32.const 2)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:952
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-value-empty-vs-nums (result i32 i32)
+ (if (result i32 i32) (i32.const 1) (then (i32.const 0) (i32.const 1)) (else))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:958
+assert_invalid(
+ () => instantiate(`(module (func $$type-both-value-empty-vs-nums (result i32 i32)
+ (if (result i32 i32) (i32.const 1) (then) (else))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:965
+assert_invalid(
+ () => instantiate(`(module (func $$type-no-else-vs-num (result i32)
+ (if (result i32) (i32.const 1) (then (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:971
+assert_invalid(
+ () => instantiate(`(module (func $$type-no-else-vs-nums (result i32 i32)
+ (if (result i32 i32) (i32.const 1) (then (i32.const 1) (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:978
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-value-void-vs-num (result i32)
+ (if (result i32) (i32.const 1) (then (nop)) (else (i32.const 0)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:984
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-value-void-vs-num (result i32)
+ (if (result i32) (i32.const 1) (then (i32.const 0)) (else (nop)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:990
+assert_invalid(
+ () => instantiate(`(module (func $$type-both-value-void-vs-num (result i32)
+ (if (result i32) (i32.const 1) (then (nop)) (else (nop)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:997
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-value-void-vs-nums (result i32 i32)
+ (if (result i32 i32) (i32.const 1) (then (nop)) (else (i32.const 0) (i32.const 0)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1003
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-value-void-vs-nums (result i32 i32)
+ (if (result i32 i32) (i32.const 1) (then (i32.const 0) (i32.const 0)) (else (nop)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1009
+assert_invalid(
+ () => instantiate(`(module (func $$type-both-value-void-vs-nums (result i32 i32)
+ (if (result i32 i32) (i32.const 1) (then (nop)) (else (nop)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1016
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-value-num-vs-num (result i32)
+ (if (result i32) (i32.const 1) (then (i64.const 1)) (else (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1022
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-value-num-vs-num (result i32)
+ (if (result i32) (i32.const 1) (then (i32.const 1)) (else (i64.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1028
+assert_invalid(
+ () => instantiate(`(module (func $$type-both-value-num-vs-num (result i32)
+ (if (result i32) (i32.const 1) (then (i64.const 1)) (else (i64.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1035
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-value-num-vs-nums (result i32 i32)
+ (if (result i32 i32) (i32.const 1) (then (i32.const 1)) (else (i32.const 1) (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1041
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-value-num-vs-nums (result i32 i32)
+ (if (result i32 i32) (i32.const 1) (then (i32.const 1) (i32.const 1)) (else (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1047
+assert_invalid(
+ () => instantiate(`(module (func $$type-both-value-num-vs-nums (result i32 i32)
+ (if (result i32 i32) (i32.const 1) (then (i32.const 1)) (else (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1054
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-value-partial-vs-nums (result i32 i32)
+ (i32.const 0)
+ (if (result i32 i32) (i32.const 1) (then (i32.const 1)) (else (i32.const 1) (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1061
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-value-partial-vs-nums (result i32 i32)
+ (i32.const 0)
+ (if (result i32 i32) (i32.const 1) (then (i32.const 1) (i32.const 1)) (else (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1068
+assert_invalid(
+ () => instantiate(`(module (func $$type-both-value-partial-vs-nums (result i32 i32)
+ (i32.const 0)
+ (if (result i32 i32) (i32.const 1) (then (i32.const 1)) (else (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1076
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-value-nums-vs-num (result i32)
+ (if (result i32) (i32.const 1) (then (i32.const 1) (i32.const 1)) (else (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1082
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-value-nums-vs-num (result i32)
+ (if (result i32) (i32.const 1) (then (i32.const 1)) (else (i32.const 1) (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1088
+assert_invalid(
+ () => instantiate(`(module (func $$type-both-value-nums-vs-num (result i32)
+ (if (result i32) (i32.const 1) (then (i32.const 1) (i32.const 1)) (else (i32.const 1) (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1095
+assert_invalid(
+ () => instantiate(`(module (func $$type-both-different-value-num-vs-num (result i32)
+ (if (result i32) (i32.const 1) (then (i64.const 1)) (else (f64.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1101
+assert_invalid(
+ () => instantiate(`(module (func $$type-both-different-value-nums-vs-nums (result i32 i32)
+ (if (result i32 i32) (i32.const 1) (then (i32.const 1) (i32.const 1) (i32.const 1)) (else (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1108
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-value-unreached-select (result i32)
+ (if (result i64)
+ (i32.const 0)
+ (then (select (unreachable) (unreachable) (unreachable)))
+ (else (i64.const 0))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1118
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-value-unreached-select (result i32)
+ (if (result i64)
+ (i32.const 1)
+ (then (i64.const 0))
+ (else (select (unreachable) (unreachable) (unreachable)))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1128
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-value-unreached-select (result i32)
+ (if (result i64)
+ (i32.const 1)
+ (then (select (unreachable) (unreachable) (unreachable)))
+ (else (select (unreachable) (unreachable) (unreachable)))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1139
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-break-last-void-vs-num (result i32)
+ (if (result i32) (i32.const 1) (then (br 0)) (else (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1145
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-break-last-void-vs-num (result i32)
+ (if (result i32) (i32.const 1) (then (i32.const 1)) (else (br 0)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1151
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-break-last-void-vs-nums (result i32 i32)
+ (if (result i32 i32) (i32.const 1) (then (br 0)) (else (i32.const 1) (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1157
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-break-last-void-vs-nums (result i32 i32)
+ (if (result i32 i32) (i32.const 1) (then (i32.const 1) (i32.const 1)) (else (br 0)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1164
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-break-empty-vs-num (result i32)
+ (if (result i32) (i32.const 1)
+ (then (br 0) (i32.const 1))
+ (else (i32.const 1))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1173
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-break-empty-vs-num (result i32)
+ (if (result i32) (i32.const 1)
+ (then (i32.const 1))
+ (else (br 0) (i32.const 1))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1182
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-break-empty-vs-nums (result i32 i32)
+ (if (result i32 i32) (i32.const 1)
+ (then (br 0) (i32.const 1) (i32.const 1))
+ (else (i32.const 1) (i32.const 1))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1191
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-break-empty-vs-nums (result i32 i32)
+ (if (result i32 i32) (i32.const 1)
+ (then (i32.const 1) (i32.const 1))
+ (else (br 0) (i32.const 1) (i32.const 1))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1201
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-break-void-vs-num (result i32)
+ (if (result i32) (i32.const 1)
+ (then (br 0 (nop)) (i32.const 1))
+ (else (i32.const 1))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1210
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-break-void-vs-num (result i32)
+ (if (result i32) (i32.const 1)
+ (then (i32.const 1))
+ (else (br 0 (nop)) (i32.const 1))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1219
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-break-void-vs-nums (result i32 i32)
+ (if (result i32 i32) (i32.const 1)
+ (then (br 0 (nop)) (i32.const 1) (i32.const 1))
+ (else (i32.const 1) (i32.const 1))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1228
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-break-void-vs-nums (result i32 i32)
+ (if (result i32 i32) (i32.const 1)
+ (then (i32.const 1) (i32.const 1))
+ (else (br 0 (nop)) (i32.const 1) (i32.const 1))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1238
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-break-num-vs-num (result i32)
+ (if (result i32) (i32.const 1)
+ (then (br 0 (i64.const 1)) (i32.const 1))
+ (else (i32.const 1))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1247
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-break-num-vs-num (result i32)
+ (if (result i32) (i32.const 1)
+ (then (i32.const 1))
+ (else (br 0 (i64.const 1)) (i32.const 1))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1256
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-break-num-vs-nums (result i32 i32)
+ (if (result i32 i32) (i32.const 1)
+ (then (br 0 (i64.const 1)) (i32.const 1) (i32.const 1))
+ (else (i32.const 1) (i32.const 1))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1265
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-break-num-vs-nums (result i32 i32)
+ (if (result i32 i32) (i32.const 1)
+ (then (i32.const 1) (i32.const 1))
+ (else (br 0 (i64.const 1)) (i32.const 1) (i32.const 1))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1274
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-break-partial-vs-nums (result i32 i32)
+ (i32.const 1)
+ (if (result i32 i32) (i32.const 1)
+ (then (br 0 (i64.const 1)) (i32.const 1))
+ (else (i32.const 1))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1284
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-break-partial-vs-nums (result i32 i32)
+ (i32.const 1)
+ (if (result i32 i32) (i32.const 1)
+ (then (i32.const 1))
+ (else (br 0 (i64.const 1)) (i32.const 1))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1295
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-condition-empty
+ (if (then))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1303
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-condition-empty-in-block
+ (i32.const 0)
+ (block (if (then)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1312
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-condition-empty-in-loop
+ (i32.const 0)
+ (loop (if (then)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1321
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-condition-empty-in-then
+ (i32.const 0) (i32.const 0)
+ (if (then (if (then))))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1330
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-condition-empty-in-else
+ (i32.const 0) (i32.const 0)
+ (if (result i32) (then (i32.const 0)) (else (if (then)) (i32.const 0)))
+ (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1340
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-condition-empty-in-br
+ (i32.const 0)
+ (block (br 0 (if(then))) (drop))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1349
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-condition-empty-in-br_if
+ (i32.const 0)
+ (block (br_if 0 (if(then)) (i32.const 1)) (drop))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1358
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-condition-empty-in-br_table
+ (i32.const 0)
+ (block (br_table 0 (if(then))) (drop))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1367
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-condition-empty-in-return
+ (return (if(then))) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1375
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-condition-empty-in-select
+ (select (if(then)) (i32.const 1) (i32.const 2)) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1383
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-condition-empty-in-call
+ (call 1 (if(then))) (drop)
+ )
+ (func (param i32) (result i32) (local.get 0))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1392
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f (param i32) (result i32) (local.get 0))
+ (type $$sig (func (param i32) (result i32)))
+ (table funcref (elem $$f))
+ (func $$type-condition-empty-in-call_indirect
+ (block (result i32)
+ (call_indirect (type $$sig)
+ (if(then)) (i32.const 0)
+ )
+ (drop)
+ )
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1408
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-condition-empty-in-local.set
+ (local i32)
+ (local.set 0 (if(then))) (local.get 0) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1417
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-condition-empty-in-local.tee
+ (local i32)
+ (local.tee 0 (if(then))) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1426
+assert_invalid(
+ () => instantiate(`(module
+ (global $$x (mut i32) (i32.const 0))
+ (func $$type-condition-empty-in-global.set
+ (global.set $$x (if(then))) (global.get $$x) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1435
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (func $$type-condition-empty-in-memory.grow
+ (memory.grow (if(then))) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1444
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (func $$type-condition-empty-in-load
+ (i32.load (if(then))) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1453
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-condition-empty-in-store
+ (i32.store (if(then)) (i32.const 1))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1463
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-void-vs-num
+ (if (param i32) (i32.const 1) (then (drop)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1469
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-void-vs-nums
+ (if (param i32 f64) (i32.const 1) (then (drop) (drop)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1475
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-num-vs-num
+ (f32.const 0) (if (param i32) (i32.const 1) (then (drop)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1481
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-num-vs-nums
+ (f32.const 0) (if (param f32 i32) (i32.const 1) (then (drop) (drop)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1487
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-nested-void-vs-num
+ (block (if (param i32) (i32.const 1) (then (drop))))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1493
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-void-vs-nums
+ (block (if (param i32 f64) (i32.const 1) (then (drop) (drop))))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1499
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-num-vs-num
+ (block (f32.const 0) (if (param i32) (i32.const 1) (then (drop))))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1505
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-num-vs-nums
+ (block (f32.const 0) (if (param f32 i32) (i32.const 1) (then (drop) (drop))))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1512
+assert_malformed(
+ () => instantiate(`(func (param i32) (result i32) if (param $$x i32) end) `),
+ `unexpected token`,
+);
+
+// ./test/core/if.wast:1516
+assert_malformed(
+ () => instantiate(`(func (param i32) (result i32) (if (param $$x i32) (then))) `),
+ `unexpected token`,
+);
+
+// ./test/core/if.wast:1521
+assert_malformed(() => instantiate(`(func i32.const 0 if end $$l) `), `mismatching label`);
+
+// ./test/core/if.wast:1525
+assert_malformed(
+ () => instantiate(`(func i32.const 0 if $$a end $$l) `),
+ `mismatching label`,
+);
+
+// ./test/core/if.wast:1529
+assert_malformed(
+ () => instantiate(`(func i32.const 0 if else $$l end) `),
+ `mismatching label`,
+);
+
+// ./test/core/if.wast:1533
+assert_malformed(
+ () => instantiate(`(func i32.const 0 if $$a else $$l end) `),
+ `mismatching label`,
+);
+
+// ./test/core/if.wast:1537
+assert_malformed(
+ () => instantiate(`(func i32.const 0 if else end $$l) `),
+ `mismatching label`,
+);
+
+// ./test/core/if.wast:1541
+assert_malformed(
+ () => instantiate(`(func i32.const 0 if else $$l end $$l) `),
+ `mismatching label`,
+);
+
+// ./test/core/if.wast:1545
+assert_malformed(
+ () => instantiate(`(func i32.const 0 if else $$l1 end $$l2) `),
+ `mismatching label`,
+);
+
+// ./test/core/if.wast:1549
+assert_malformed(
+ () => instantiate(`(func i32.const 0 if $$a else end $$l) `),
+ `mismatching label`,
+);
+
+// ./test/core/if.wast:1553
+assert_malformed(
+ () => instantiate(`(func i32.const 0 if $$a else $$a end $$l) `),
+ `mismatching label`,
+);
+
+// ./test/core/if.wast:1557
+assert_malformed(
+ () => instantiate(`(func i32.const 0 if $$a else $$l end $$l) `),
+ `mismatching label`,
+);
+
+// ./test/core/if.wast:1561
+assert_malformed(
+ () => instantiate(`(func (if i32.const 0 (then) (else))) `),
+ `unexpected token`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/gc/obsolete-keywords.wast.js b/js/src/jit-test/tests/wasm/spec/gc/obsolete-keywords.wast.js
new file mode 100644
index 0000000000..9f51433917
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/gc/obsolete-keywords.wast.js
@@ -0,0 +1,82 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/obsolete-keywords.wast
+
+// ./test/core/obsolete-keywords.wast:2
+assert_malformed(
+ () => instantiate(`(memory 1) (func (drop (current_memory))) `),
+ `unknown operator current_memory`,
+);
+
+// ./test/core/obsolete-keywords.wast:10
+assert_malformed(
+ () => instantiate(`(memory 1) (func (drop (grow_memory (i32.const 0)))) `),
+ `unknown operator grow_memory`,
+);
+
+// ./test/core/obsolete-keywords.wast:19
+assert_malformed(
+ () => instantiate(`(func (local $$i i32) (drop (get_local $$i))) `),
+ `unknown operator get_local`,
+);
+
+// ./test/core/obsolete-keywords.wast:26
+assert_malformed(
+ () => instantiate(`(func (local $$i i32) (set_local $$i (i32.const 0))) `),
+ `unknown operator set_local`,
+);
+
+// ./test/core/obsolete-keywords.wast:33
+assert_malformed(
+ () => instantiate(`(func (local $$i i32) (drop (tee_local $$i (i32.const 0)))) `),
+ `unknown operator tee_local`,
+);
+
+// ./test/core/obsolete-keywords.wast:40
+assert_malformed(
+ () => instantiate(`(global $$g anyfunc (ref.null func)) `),
+ `unknown operator anyfunc`,
+);
+
+// ./test/core/obsolete-keywords.wast:47
+assert_malformed(
+ () => instantiate(`(global $$g i32 (i32.const 0)) (func (drop (get_global $$g))) `),
+ `unknown operator get_global`,
+);
+
+// ./test/core/obsolete-keywords.wast:55
+assert_malformed(
+ () => instantiate(`(global $$g (mut i32) (i32.const 0)) (func (set_global $$g (i32.const 0))) `),
+ `unknown operator set_global`,
+);
+
+// ./test/core/obsolete-keywords.wast:63
+assert_malformed(
+ () => instantiate(`(func (drop (i32.wrap/i64 (i64.const 0)))) `),
+ `unknown operator i32.wrap/i64`,
+);
+
+// ./test/core/obsolete-keywords.wast:70
+assert_malformed(
+ () => instantiate(`(func (drop (i32.trunc_s:sat/f32 (f32.const 0)))) `),
+ `unknown operator i32.trunc_s:sat/f32`,
+);
+
+// ./test/core/obsolete-keywords.wast:77
+assert_malformed(
+ () => instantiate(`(func (drop (f32x4.convert_s/i32x4 (v128.const i64x2 0 0)))) `),
+ `unknown operator f32x4.convert_s/i32x4`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/gc/ref_cast.wast.js b/js/src/jit-test/tests/wasm/spec/gc/ref_cast.wast.js
new file mode 100644
index 0000000000..e5dcd20a95
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/gc/ref_cast.wast.js
@@ -0,0 +1,279 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/gc/ref_cast.wast
+
+// ./test/core/gc/ref_cast.wast:3
+let $0 = instantiate(`(module
+ (type $$ft (func))
+ (type $$st (struct))
+ (type $$at (array i8))
+
+ (table 10 anyref)
+
+ (elem declare func $$f)
+ (func $$f)
+
+ (func (export "init") (param $$x externref)
+ (table.set (i32.const 0) (ref.null any))
+ (table.set (i32.const 1) (ref.i31 (i32.const 7)))
+ (table.set (i32.const 2) (struct.new_default $$st))
+ (table.set (i32.const 3) (array.new_default $$at (i32.const 0)))
+ (table.set (i32.const 4) (any.convert_extern (local.get $$x)))
+ (table.set (i32.const 5) (ref.null i31))
+ (table.set (i32.const 6) (ref.null struct))
+ (table.set (i32.const 7) (ref.null none))
+ )
+
+ (func (export "ref_cast_non_null") (param $$i i32)
+ (drop (ref.as_non_null (table.get (local.get $$i))))
+ (drop (ref.cast (ref null any) (table.get (local.get $$i))))
+ )
+ (func (export "ref_cast_null") (param $$i i32)
+ (drop (ref.cast anyref (table.get (local.get $$i))))
+ (drop (ref.cast structref (table.get (local.get $$i))))
+ (drop (ref.cast arrayref (table.get (local.get $$i))))
+ (drop (ref.cast i31ref (table.get (local.get $$i))))
+ (drop (ref.cast nullref (table.get (local.get $$i))))
+ )
+ (func (export "ref_cast_i31") (param $$i i32)
+ (drop (ref.cast (ref i31) (table.get (local.get $$i))))
+ (drop (ref.cast i31ref (table.get (local.get $$i))))
+ )
+ (func (export "ref_cast_struct") (param $$i i32)
+ (drop (ref.cast (ref struct) (table.get (local.get $$i))))
+ (drop (ref.cast structref (table.get (local.get $$i))))
+ )
+ (func (export "ref_cast_array") (param $$i i32)
+ (drop (ref.cast (ref array) (table.get (local.get $$i))))
+ (drop (ref.cast arrayref (table.get (local.get $$i))))
+ )
+)`);
+
+// ./test/core/gc/ref_cast.wast:49
+invoke($0, `init`, [externref(0)]);
+
+// ./test/core/gc/ref_cast.wast:51
+assert_trap(() => invoke($0, `ref_cast_non_null`, [0]), `null reference`);
+
+// ./test/core/gc/ref_cast.wast:52
+assert_return(() => invoke($0, `ref_cast_non_null`, [1]), []);
+
+// ./test/core/gc/ref_cast.wast:53
+assert_return(() => invoke($0, `ref_cast_non_null`, [2]), []);
+
+// ./test/core/gc/ref_cast.wast:54
+assert_return(() => invoke($0, `ref_cast_non_null`, [3]), []);
+
+// ./test/core/gc/ref_cast.wast:55
+assert_return(() => invoke($0, `ref_cast_non_null`, [4]), []);
+
+// ./test/core/gc/ref_cast.wast:56
+assert_trap(() => invoke($0, `ref_cast_non_null`, [5]), `null reference`);
+
+// ./test/core/gc/ref_cast.wast:57
+assert_trap(() => invoke($0, `ref_cast_non_null`, [6]), `null reference`);
+
+// ./test/core/gc/ref_cast.wast:58
+assert_trap(() => invoke($0, `ref_cast_non_null`, [7]), `null reference`);
+
+// ./test/core/gc/ref_cast.wast:60
+assert_return(() => invoke($0, `ref_cast_null`, [0]), []);
+
+// ./test/core/gc/ref_cast.wast:61
+assert_trap(() => invoke($0, `ref_cast_null`, [1]), `cast failure`);
+
+// ./test/core/gc/ref_cast.wast:62
+assert_trap(() => invoke($0, `ref_cast_null`, [2]), `cast failure`);
+
+// ./test/core/gc/ref_cast.wast:63
+assert_trap(() => invoke($0, `ref_cast_null`, [3]), `cast failure`);
+
+// ./test/core/gc/ref_cast.wast:64
+assert_trap(() => invoke($0, `ref_cast_null`, [4]), `cast failure`);
+
+// ./test/core/gc/ref_cast.wast:65
+assert_return(() => invoke($0, `ref_cast_null`, [5]), []);
+
+// ./test/core/gc/ref_cast.wast:66
+assert_return(() => invoke($0, `ref_cast_null`, [6]), []);
+
+// ./test/core/gc/ref_cast.wast:67
+assert_return(() => invoke($0, `ref_cast_null`, [7]), []);
+
+// ./test/core/gc/ref_cast.wast:69
+assert_trap(() => invoke($0, `ref_cast_i31`, [0]), `cast failure`);
+
+// ./test/core/gc/ref_cast.wast:70
+assert_return(() => invoke($0, `ref_cast_i31`, [1]), []);
+
+// ./test/core/gc/ref_cast.wast:71
+assert_trap(() => invoke($0, `ref_cast_i31`, [2]), `cast failure`);
+
+// ./test/core/gc/ref_cast.wast:72
+assert_trap(() => invoke($0, `ref_cast_i31`, [3]), `cast failure`);
+
+// ./test/core/gc/ref_cast.wast:73
+assert_trap(() => invoke($0, `ref_cast_i31`, [4]), `cast failure`);
+
+// ./test/core/gc/ref_cast.wast:74
+assert_trap(() => invoke($0, `ref_cast_i31`, [5]), `cast failure`);
+
+// ./test/core/gc/ref_cast.wast:75
+assert_trap(() => invoke($0, `ref_cast_i31`, [6]), `cast failure`);
+
+// ./test/core/gc/ref_cast.wast:76
+assert_trap(() => invoke($0, `ref_cast_i31`, [7]), `cast failure`);
+
+// ./test/core/gc/ref_cast.wast:78
+assert_trap(() => invoke($0, `ref_cast_struct`, [0]), `cast failure`);
+
+// ./test/core/gc/ref_cast.wast:79
+assert_trap(() => invoke($0, `ref_cast_struct`, [1]), `cast failure`);
+
+// ./test/core/gc/ref_cast.wast:80
+assert_return(() => invoke($0, `ref_cast_struct`, [2]), []);
+
+// ./test/core/gc/ref_cast.wast:81
+assert_trap(() => invoke($0, `ref_cast_struct`, [3]), `cast failure`);
+
+// ./test/core/gc/ref_cast.wast:82
+assert_trap(() => invoke($0, `ref_cast_struct`, [4]), `cast failure`);
+
+// ./test/core/gc/ref_cast.wast:83
+assert_trap(() => invoke($0, `ref_cast_struct`, [5]), `cast failure`);
+
+// ./test/core/gc/ref_cast.wast:84
+assert_trap(() => invoke($0, `ref_cast_struct`, [6]), `cast failure`);
+
+// ./test/core/gc/ref_cast.wast:85
+assert_trap(() => invoke($0, `ref_cast_struct`, [7]), `cast failure`);
+
+// ./test/core/gc/ref_cast.wast:87
+assert_trap(() => invoke($0, `ref_cast_array`, [0]), `cast failure`);
+
+// ./test/core/gc/ref_cast.wast:88
+assert_trap(() => invoke($0, `ref_cast_array`, [1]), `cast failure`);
+
+// ./test/core/gc/ref_cast.wast:89
+assert_trap(() => invoke($0, `ref_cast_array`, [2]), `cast failure`);
+
+// ./test/core/gc/ref_cast.wast:90
+assert_return(() => invoke($0, `ref_cast_array`, [3]), []);
+
+// ./test/core/gc/ref_cast.wast:91
+assert_trap(() => invoke($0, `ref_cast_array`, [4]), `cast failure`);
+
+// ./test/core/gc/ref_cast.wast:92
+assert_trap(() => invoke($0, `ref_cast_array`, [5]), `cast failure`);
+
+// ./test/core/gc/ref_cast.wast:93
+assert_trap(() => invoke($0, `ref_cast_array`, [6]), `cast failure`);
+
+// ./test/core/gc/ref_cast.wast:94
+assert_trap(() => invoke($0, `ref_cast_array`, [7]), `cast failure`);
+
+// ./test/core/gc/ref_cast.wast:99
+let $1 = instantiate(`(module
+ (type $$t0 (sub (struct)))
+ (type $$t1 (sub $$t0 (struct (field i32))))
+ (type $$t1' (sub $$t0 (struct (field i32))))
+ (type $$t2 (sub $$t1 (struct (field i32 i32))))
+ (type $$t2' (sub $$t1' (struct (field i32 i32))))
+ (type $$t3 (sub $$t0 (struct (field i32 i32))))
+ (type $$t0' (sub $$t0 (struct)))
+ (type $$t4 (sub $$t0' (struct (field i32 i32))))
+
+ (table 20 (ref null struct))
+
+ (func $$init
+ (table.set (i32.const 0) (struct.new_default $$t0))
+ (table.set (i32.const 10) (struct.new_default $$t0))
+ (table.set (i32.const 1) (struct.new_default $$t1))
+ (table.set (i32.const 11) (struct.new_default $$t1'))
+ (table.set (i32.const 2) (struct.new_default $$t2))
+ (table.set (i32.const 12) (struct.new_default $$t2'))
+ (table.set (i32.const 3) (struct.new_default $$t3))
+ (table.set (i32.const 4) (struct.new_default $$t4))
+ )
+
+ (func (export "test-sub")
+ (call $$init)
+
+ (drop (ref.cast (ref null $$t0) (ref.null struct)))
+ (drop (ref.cast (ref null $$t0) (table.get (i32.const 0))))
+ (drop (ref.cast (ref null $$t0) (table.get (i32.const 1))))
+ (drop (ref.cast (ref null $$t0) (table.get (i32.const 2))))
+ (drop (ref.cast (ref null $$t0) (table.get (i32.const 3))))
+ (drop (ref.cast (ref null $$t0) (table.get (i32.const 4))))
+
+ (drop (ref.cast (ref null $$t0) (ref.null struct)))
+ (drop (ref.cast (ref null $$t1) (table.get (i32.const 1))))
+ (drop (ref.cast (ref null $$t1) (table.get (i32.const 2))))
+
+ (drop (ref.cast (ref null $$t0) (ref.null struct)))
+ (drop (ref.cast (ref null $$t2) (table.get (i32.const 2))))
+
+ (drop (ref.cast (ref null $$t0) (ref.null struct)))
+ (drop (ref.cast (ref null $$t3) (table.get (i32.const 3))))
+
+ (drop (ref.cast (ref null $$t4) (table.get (i32.const 4))))
+
+ (drop (ref.cast (ref $$t0) (table.get (i32.const 0))))
+ (drop (ref.cast (ref $$t0) (table.get (i32.const 1))))
+ (drop (ref.cast (ref $$t0) (table.get (i32.const 2))))
+ (drop (ref.cast (ref $$t0) (table.get (i32.const 3))))
+ (drop (ref.cast (ref $$t0) (table.get (i32.const 4))))
+
+ (drop (ref.cast (ref $$t1) (table.get (i32.const 1))))
+ (drop (ref.cast (ref $$t1) (table.get (i32.const 2))))
+
+ (drop (ref.cast (ref $$t2) (table.get (i32.const 2))))
+
+ (drop (ref.cast (ref $$t3) (table.get (i32.const 3))))
+
+ (drop (ref.cast (ref $$t4) (table.get (i32.const 4))))
+ )
+
+ (func (export "test-canon")
+ (call $$init)
+
+ (drop (ref.cast (ref $$t0) (table.get (i32.const 0))))
+ (drop (ref.cast (ref $$t0) (table.get (i32.const 1))))
+ (drop (ref.cast (ref $$t0) (table.get (i32.const 2))))
+ (drop (ref.cast (ref $$t0) (table.get (i32.const 3))))
+ (drop (ref.cast (ref $$t0) (table.get (i32.const 4))))
+
+ (drop (ref.cast (ref $$t0) (table.get (i32.const 10))))
+ (drop (ref.cast (ref $$t0) (table.get (i32.const 11))))
+ (drop (ref.cast (ref $$t0) (table.get (i32.const 12))))
+
+ (drop (ref.cast (ref $$t1') (table.get (i32.const 1))))
+ (drop (ref.cast (ref $$t1') (table.get (i32.const 2))))
+
+ (drop (ref.cast (ref $$t1) (table.get (i32.const 11))))
+ (drop (ref.cast (ref $$t1) (table.get (i32.const 12))))
+
+ (drop (ref.cast (ref $$t2') (table.get (i32.const 2))))
+
+ (drop (ref.cast (ref $$t2) (table.get (i32.const 12))))
+ )
+)`);
+
+// ./test/core/gc/ref_cast.wast:185
+invoke($1, `test-sub`, []);
+
+// ./test/core/gc/ref_cast.wast:186
+invoke($1, `test-canon`, []);
diff --git a/js/src/jit-test/tests/wasm/spec/gc/ref_eq.wast.js b/js/src/jit-test/tests/wasm/spec/gc/ref_eq.wast.js
new file mode 100644
index 0000000000..098e7a1396
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/gc/ref_eq.wast.js
@@ -0,0 +1,351 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/gc/ref_eq.wast
+
+// ./test/core/gc/ref_eq.wast:1
+let $0 = instantiate(`(module
+ (type $$st (sub (struct)))
+ (type $$st' (sub (struct (field i32))))
+ (type $$at (array i8))
+ (type $$st-sub1 (sub $$st (struct)))
+ (type $$st-sub2 (sub $$st (struct)))
+ (type $$st'-sub1 (sub $$st' (struct (field i32))))
+ (type $$st'-sub2 (sub $$st' (struct (field i32))))
+
+ (table 20 (ref null eq))
+
+ (func (export "init")
+ (table.set (i32.const 0) (ref.null eq))
+ (table.set (i32.const 1) (ref.null i31))
+ (table.set (i32.const 2) (ref.i31 (i32.const 7)))
+ (table.set (i32.const 3) (ref.i31 (i32.const 7)))
+ (table.set (i32.const 4) (ref.i31 (i32.const 8)))
+ (table.set (i32.const 5) (struct.new_default $$st))
+ (table.set (i32.const 6) (struct.new_default $$st))
+ (table.set (i32.const 7) (array.new_default $$at (i32.const 0)))
+ (table.set (i32.const 8) (array.new_default $$at (i32.const 0)))
+ )
+
+ (func (export "eq") (param $$i i32) (param $$j i32) (result i32)
+ (ref.eq (table.get (local.get $$i)) (table.get (local.get $$j)))
+ )
+)`);
+
+// ./test/core/gc/ref_eq.wast:29
+invoke($0, `init`, []);
+
+// ./test/core/gc/ref_eq.wast:31
+assert_return(() => invoke($0, `eq`, [0, 0]), [value("i32", 1)]);
+
+// ./test/core/gc/ref_eq.wast:32
+assert_return(() => invoke($0, `eq`, [0, 1]), [value("i32", 1)]);
+
+// ./test/core/gc/ref_eq.wast:33
+assert_return(() => invoke($0, `eq`, [0, 2]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:34
+assert_return(() => invoke($0, `eq`, [0, 3]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:35
+assert_return(() => invoke($0, `eq`, [0, 4]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:36
+assert_return(() => invoke($0, `eq`, [0, 5]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:37
+assert_return(() => invoke($0, `eq`, [0, 6]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:38
+assert_return(() => invoke($0, `eq`, [0, 7]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:39
+assert_return(() => invoke($0, `eq`, [0, 8]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:41
+assert_return(() => invoke($0, `eq`, [1, 0]), [value("i32", 1)]);
+
+// ./test/core/gc/ref_eq.wast:42
+assert_return(() => invoke($0, `eq`, [1, 1]), [value("i32", 1)]);
+
+// ./test/core/gc/ref_eq.wast:43
+assert_return(() => invoke($0, `eq`, [1, 2]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:44
+assert_return(() => invoke($0, `eq`, [1, 3]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:45
+assert_return(() => invoke($0, `eq`, [1, 4]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:46
+assert_return(() => invoke($0, `eq`, [1, 5]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:47
+assert_return(() => invoke($0, `eq`, [1, 6]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:48
+assert_return(() => invoke($0, `eq`, [1, 7]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:49
+assert_return(() => invoke($0, `eq`, [1, 8]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:51
+assert_return(() => invoke($0, `eq`, [2, 0]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:52
+assert_return(() => invoke($0, `eq`, [2, 1]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:53
+assert_return(() => invoke($0, `eq`, [2, 2]), [value("i32", 1)]);
+
+// ./test/core/gc/ref_eq.wast:54
+assert_return(() => invoke($0, `eq`, [2, 3]), [value("i32", 1)]);
+
+// ./test/core/gc/ref_eq.wast:55
+assert_return(() => invoke($0, `eq`, [2, 4]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:56
+assert_return(() => invoke($0, `eq`, [2, 5]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:57
+assert_return(() => invoke($0, `eq`, [2, 6]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:58
+assert_return(() => invoke($0, `eq`, [2, 7]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:59
+assert_return(() => invoke($0, `eq`, [2, 8]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:61
+assert_return(() => invoke($0, `eq`, [3, 0]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:62
+assert_return(() => invoke($0, `eq`, [3, 1]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:63
+assert_return(() => invoke($0, `eq`, [3, 2]), [value("i32", 1)]);
+
+// ./test/core/gc/ref_eq.wast:64
+assert_return(() => invoke($0, `eq`, [3, 3]), [value("i32", 1)]);
+
+// ./test/core/gc/ref_eq.wast:65
+assert_return(() => invoke($0, `eq`, [3, 4]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:66
+assert_return(() => invoke($0, `eq`, [3, 5]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:67
+assert_return(() => invoke($0, `eq`, [3, 6]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:68
+assert_return(() => invoke($0, `eq`, [3, 7]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:69
+assert_return(() => invoke($0, `eq`, [3, 8]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:71
+assert_return(() => invoke($0, `eq`, [4, 0]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:72
+assert_return(() => invoke($0, `eq`, [4, 1]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:73
+assert_return(() => invoke($0, `eq`, [4, 2]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:74
+assert_return(() => invoke($0, `eq`, [4, 3]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:75
+assert_return(() => invoke($0, `eq`, [4, 4]), [value("i32", 1)]);
+
+// ./test/core/gc/ref_eq.wast:76
+assert_return(() => invoke($0, `eq`, [4, 5]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:77
+assert_return(() => invoke($0, `eq`, [4, 6]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:78
+assert_return(() => invoke($0, `eq`, [4, 7]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:79
+assert_return(() => invoke($0, `eq`, [4, 8]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:81
+assert_return(() => invoke($0, `eq`, [5, 0]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:82
+assert_return(() => invoke($0, `eq`, [5, 1]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:83
+assert_return(() => invoke($0, `eq`, [5, 2]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:84
+assert_return(() => invoke($0, `eq`, [5, 3]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:85
+assert_return(() => invoke($0, `eq`, [5, 4]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:86
+assert_return(() => invoke($0, `eq`, [5, 5]), [value("i32", 1)]);
+
+// ./test/core/gc/ref_eq.wast:87
+assert_return(() => invoke($0, `eq`, [5, 6]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:88
+assert_return(() => invoke($0, `eq`, [5, 7]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:89
+assert_return(() => invoke($0, `eq`, [5, 8]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:91
+assert_return(() => invoke($0, `eq`, [6, 0]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:92
+assert_return(() => invoke($0, `eq`, [6, 1]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:93
+assert_return(() => invoke($0, `eq`, [6, 2]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:94
+assert_return(() => invoke($0, `eq`, [6, 3]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:95
+assert_return(() => invoke($0, `eq`, [6, 4]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:96
+assert_return(() => invoke($0, `eq`, [6, 5]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:97
+assert_return(() => invoke($0, `eq`, [6, 6]), [value("i32", 1)]);
+
+// ./test/core/gc/ref_eq.wast:98
+assert_return(() => invoke($0, `eq`, [6, 7]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:99
+assert_return(() => invoke($0, `eq`, [6, 8]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:101
+assert_return(() => invoke($0, `eq`, [7, 0]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:102
+assert_return(() => invoke($0, `eq`, [7, 1]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:103
+assert_return(() => invoke($0, `eq`, [7, 2]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:104
+assert_return(() => invoke($0, `eq`, [7, 3]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:105
+assert_return(() => invoke($0, `eq`, [7, 4]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:106
+assert_return(() => invoke($0, `eq`, [7, 5]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:107
+assert_return(() => invoke($0, `eq`, [7, 6]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:108
+assert_return(() => invoke($0, `eq`, [7, 7]), [value("i32", 1)]);
+
+// ./test/core/gc/ref_eq.wast:109
+assert_return(() => invoke($0, `eq`, [7, 8]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:111
+assert_return(() => invoke($0, `eq`, [8, 0]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:112
+assert_return(() => invoke($0, `eq`, [8, 1]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:113
+assert_return(() => invoke($0, `eq`, [8, 2]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:114
+assert_return(() => invoke($0, `eq`, [8, 3]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:115
+assert_return(() => invoke($0, `eq`, [8, 4]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:116
+assert_return(() => invoke($0, `eq`, [8, 5]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:117
+assert_return(() => invoke($0, `eq`, [8, 6]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:118
+assert_return(() => invoke($0, `eq`, [8, 7]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_eq.wast:119
+assert_return(() => invoke($0, `eq`, [8, 8]), [value("i32", 1)]);
+
+// ./test/core/gc/ref_eq.wast:121
+assert_invalid(
+ () => instantiate(`(module
+ (func (export "eq") (param $$r (ref any)) (result i32)
+ (ref.eq (local.get $$r) (local.get $$r))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/gc/ref_eq.wast:129
+assert_invalid(
+ () => instantiate(`(module
+ (func (export "eq") (param $$r (ref null any)) (result i32)
+ (ref.eq (local.get $$r) (local.get $$r))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/gc/ref_eq.wast:137
+assert_invalid(
+ () => instantiate(`(module
+ (func (export "eq") (param $$r (ref func)) (result i32)
+ (ref.eq (local.get $$r) (local.get $$r))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/gc/ref_eq.wast:145
+assert_invalid(
+ () => instantiate(`(module
+ (func (export "eq") (param $$r (ref null func)) (result i32)
+ (ref.eq (local.get $$r) (local.get $$r))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/gc/ref_eq.wast:153
+assert_invalid(
+ () => instantiate(`(module
+ (func (export "eq") (param $$r (ref extern)) (result i32)
+ (ref.eq (local.get $$r) (local.get $$r))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/gc/ref_eq.wast:161
+assert_invalid(
+ () => instantiate(`(module
+ (func (export "eq") (param $$r (ref null extern)) (result i32)
+ (ref.eq (local.get $$r) (local.get $$r))
+ )
+ )`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/gc/ref_null.wast.js b/js/src/jit-test/tests/wasm/spec/gc/ref_null.wast.js
new file mode 100644
index 0000000000..46f1e2d50a
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/gc/ref_null.wast.js
@@ -0,0 +1,127 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/ref_null.wast
+
+// ./test/core/ref_null.wast:1
+let $0 = instantiate(`(module
+ (type $$t (func))
+ (func (export "anyref") (result anyref) (ref.null any))
+ (func (export "funcref") (result funcref) (ref.null func))
+ (func (export "ref") (result (ref null $$t)) (ref.null $$t))
+
+ (global anyref (ref.null any))
+ (global funcref (ref.null func))
+ (global (ref null $$t) (ref.null $$t))
+)`);
+
+// ./test/core/ref_null.wast:12
+assert_return(() => invoke($0, `anyref`, []), [value('anyref', null)]);
+
+// ./test/core/ref_null.wast:13
+assert_return(() => invoke($0, `funcref`, []), [value('anyfunc', null)]);
+
+// ./test/core/ref_null.wast:14
+assert_return(() => invoke($0, `ref`, []), [null]);
+
+// ./test/core/ref_null.wast:17
+let $1 = instantiate(`(module
+ (type $$t (func))
+ (global $$null nullref (ref.null none))
+ (global $$nullfunc nullfuncref (ref.null nofunc))
+ (global $$nullextern nullexternref (ref.null noextern))
+ (func (export "anyref") (result anyref) (global.get $$null))
+ (func (export "nullref") (result nullref) (global.get $$null))
+ (func (export "funcref") (result funcref) (global.get $$nullfunc))
+ (func (export "nullfuncref") (result nullfuncref) (global.get $$nullfunc))
+ (func (export "externref") (result externref) (global.get $$nullextern))
+ (func (export "nullexternref") (result nullexternref) (global.get $$nullextern))
+ (func (export "ref") (result (ref null $$t)) (global.get $$nullfunc))
+
+ (global anyref (ref.null any))
+ (global anyref (ref.null none))
+ (global funcref (ref.null func))
+ (global funcref (ref.null nofunc))
+ (global externref (ref.null extern))
+ (global externref (ref.null noextern))
+ (global nullref (ref.null none))
+ (global nullfuncref (ref.null nofunc))
+ (global nullexternref (ref.null noextern))
+ (global (ref null $$t) (ref.null $$t))
+ (global (ref null $$t) (ref.null nofunc))
+)`);
+
+// ./test/core/ref_null.wast:43
+assert_return(() => invoke($1, `anyref`, []), [value('anyref', null)]);
+
+// ./test/core/ref_null.wast:44
+assert_return(() => invoke($1, `anyref`, []), [value('nullref', null)]);
+
+// ./test/core/ref_null.wast:45
+assert_return(() => invoke($1, `anyref`, []), [null]);
+
+// ./test/core/ref_null.wast:46
+assert_return(() => invoke($1, `nullref`, []), [value('anyref', null)]);
+
+// ./test/core/ref_null.wast:47
+assert_return(() => invoke($1, `nullref`, []), [value('nullref', null)]);
+
+// ./test/core/ref_null.wast:48
+assert_return(() => invoke($1, `nullref`, []), [null]);
+
+// ./test/core/ref_null.wast:49
+assert_return(() => invoke($1, `funcref`, []), [value('anyfunc', null)]);
+
+// ./test/core/ref_null.wast:50
+assert_return(() => invoke($1, `funcref`, []), [value('nullfuncref', null)]);
+
+// ./test/core/ref_null.wast:51
+assert_return(() => invoke($1, `funcref`, []), [null]);
+
+// ./test/core/ref_null.wast:52
+assert_return(() => invoke($1, `nullfuncref`, []), [value('anyfunc', null)]);
+
+// ./test/core/ref_null.wast:53
+assert_return(() => invoke($1, `nullfuncref`, []), [value('nullfuncref', null)]);
+
+// ./test/core/ref_null.wast:54
+assert_return(() => invoke($1, `nullfuncref`, []), [null]);
+
+// ./test/core/ref_null.wast:55
+assert_return(() => invoke($1, `externref`, []), [value('externref', null)]);
+
+// ./test/core/ref_null.wast:56
+assert_return(() => invoke($1, `externref`, []), [value('nullexternref', null)]);
+
+// ./test/core/ref_null.wast:57
+assert_return(() => invoke($1, `externref`, []), [null]);
+
+// ./test/core/ref_null.wast:58
+assert_return(() => invoke($1, `nullexternref`, []), [value('externref', null)]);
+
+// ./test/core/ref_null.wast:59
+assert_return(() => invoke($1, `nullexternref`, []), [value('nullexternref', null)]);
+
+// ./test/core/ref_null.wast:60
+assert_return(() => invoke($1, `nullexternref`, []), [null]);
+
+// ./test/core/ref_null.wast:61
+assert_return(() => invoke($1, `ref`, []), [value('anyfunc', null)]);
+
+// ./test/core/ref_null.wast:62
+assert_return(() => invoke($1, `ref`, []), [value('nullfuncref', null)]);
+
+// ./test/core/ref_null.wast:63
+assert_return(() => invoke($1, `ref`, []), [null]);
diff --git a/js/src/jit-test/tests/wasm/spec/gc/ref_test.wast.js b/js/src/jit-test/tests/wasm/spec/gc/ref_test.wast.js
new file mode 100644
index 0000000000..fc0f2c0a4c
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/gc/ref_test.wast.js
@@ -0,0 +1,470 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/gc/ref_test.wast
+
+// ./test/core/gc/ref_test.wast:3
+let $0 = instantiate(`(module
+ (type $$ft (func))
+ (type $$st (struct))
+ (type $$at (array i8))
+
+ (table $$ta 10 anyref)
+ (table $$tf 10 funcref)
+ (table $$te 10 externref)
+
+ (elem declare func $$f)
+ (func $$f)
+
+ (func (export "init") (param $$x externref)
+ (table.set $$ta (i32.const 0) (ref.null any))
+ (table.set $$ta (i32.const 1) (ref.null struct))
+ (table.set $$ta (i32.const 2) (ref.null none))
+ (table.set $$ta (i32.const 3) (ref.i31 (i32.const 7)))
+ (table.set $$ta (i32.const 4) (struct.new_default $$st))
+ (table.set $$ta (i32.const 5) (array.new_default $$at (i32.const 0)))
+ (table.set $$ta (i32.const 6) (any.convert_extern (local.get $$x)))
+ (table.set $$ta (i32.const 7) (any.convert_extern (ref.null extern)))
+
+ (table.set $$tf (i32.const 0) (ref.null nofunc))
+ (table.set $$tf (i32.const 1) (ref.null func))
+ (table.set $$tf (i32.const 2) (ref.func $$f))
+
+ (table.set $$te (i32.const 0) (ref.null noextern))
+ (table.set $$te (i32.const 1) (ref.null extern))
+ (table.set $$te (i32.const 2) (local.get $$x))
+ (table.set $$te (i32.const 3) (extern.convert_any (ref.i31 (i32.const 8))))
+ (table.set $$te (i32.const 4) (extern.convert_any (struct.new_default $$st)))
+ (table.set $$te (i32.const 5) (extern.convert_any (ref.null any)))
+ )
+
+ (func (export "ref_test_null_data") (param $$i i32) (result i32)
+ (i32.add
+ (ref.is_null (table.get $$ta (local.get $$i)))
+ (ref.test nullref (table.get $$ta (local.get $$i)))
+ )
+ )
+ (func (export "ref_test_any") (param $$i i32) (result i32)
+ (i32.add
+ (ref.test (ref any) (table.get $$ta (local.get $$i)))
+ (ref.test anyref (table.get $$ta (local.get $$i)))
+ )
+ )
+ (func (export "ref_test_eq") (param $$i i32) (result i32)
+ (i32.add
+ (ref.test (ref eq) (table.get $$ta (local.get $$i)))
+ (ref.test eqref (table.get $$ta (local.get $$i)))
+ )
+ )
+ (func (export "ref_test_i31") (param $$i i32) (result i32)
+ (i32.add
+ (ref.test (ref i31) (table.get $$ta (local.get $$i)))
+ (ref.test i31ref (table.get $$ta (local.get $$i)))
+ )
+ )
+ (func (export "ref_test_struct") (param $$i i32) (result i32)
+ (i32.add
+ (ref.test (ref struct) (table.get $$ta (local.get $$i)))
+ (ref.test structref (table.get $$ta (local.get $$i)))
+ )
+ )
+ (func (export "ref_test_array") (param $$i i32) (result i32)
+ (i32.add
+ (ref.test (ref array) (table.get $$ta (local.get $$i)))
+ (ref.test arrayref (table.get $$ta (local.get $$i)))
+ )
+ )
+
+ (func (export "ref_test_null_func") (param $$i i32) (result i32)
+ (i32.add
+ (ref.is_null (table.get $$tf (local.get $$i)))
+ (ref.test (ref null nofunc) (table.get $$tf (local.get $$i)))
+ )
+ )
+ (func (export "ref_test_func") (param $$i i32) (result i32)
+ (i32.add
+ (ref.test (ref func) (table.get $$tf (local.get $$i)))
+ (ref.test funcref (table.get $$tf (local.get $$i)))
+ )
+ )
+
+ (func (export "ref_test_null_extern") (param $$i i32) (result i32)
+ (i32.add
+ (ref.is_null (table.get $$te (local.get $$i)))
+ (ref.test (ref null noextern) (table.get $$te (local.get $$i)))
+ )
+ )
+ (func (export "ref_test_extern") (param $$i i32) (result i32)
+ (i32.add
+ (ref.test (ref extern) (table.get $$te (local.get $$i)))
+ (ref.test externref (table.get $$te (local.get $$i)))
+ )
+ )
+)`);
+
+// ./test/core/gc/ref_test.wast:101
+invoke($0, `init`, [externref(0)]);
+
+// ./test/core/gc/ref_test.wast:103
+assert_return(() => invoke($0, `ref_test_null_data`, [0]), [value("i32", 2)]);
+
+// ./test/core/gc/ref_test.wast:104
+assert_return(() => invoke($0, `ref_test_null_data`, [1]), [value("i32", 2)]);
+
+// ./test/core/gc/ref_test.wast:105
+assert_return(() => invoke($0, `ref_test_null_data`, [2]), [value("i32", 2)]);
+
+// ./test/core/gc/ref_test.wast:106
+assert_return(() => invoke($0, `ref_test_null_data`, [3]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_test.wast:107
+assert_return(() => invoke($0, `ref_test_null_data`, [4]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_test.wast:108
+assert_return(() => invoke($0, `ref_test_null_data`, [5]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_test.wast:109
+assert_return(() => invoke($0, `ref_test_null_data`, [6]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_test.wast:110
+assert_return(() => invoke($0, `ref_test_null_data`, [7]), [value("i32", 2)]);
+
+// ./test/core/gc/ref_test.wast:112
+assert_return(() => invoke($0, `ref_test_any`, [0]), [value("i32", 1)]);
+
+// ./test/core/gc/ref_test.wast:113
+assert_return(() => invoke($0, `ref_test_any`, [1]), [value("i32", 1)]);
+
+// ./test/core/gc/ref_test.wast:114
+assert_return(() => invoke($0, `ref_test_any`, [2]), [value("i32", 1)]);
+
+// ./test/core/gc/ref_test.wast:115
+assert_return(() => invoke($0, `ref_test_any`, [3]), [value("i32", 2)]);
+
+// ./test/core/gc/ref_test.wast:116
+assert_return(() => invoke($0, `ref_test_any`, [4]), [value("i32", 2)]);
+
+// ./test/core/gc/ref_test.wast:117
+assert_return(() => invoke($0, `ref_test_any`, [5]), [value("i32", 2)]);
+
+// ./test/core/gc/ref_test.wast:118
+assert_return(() => invoke($0, `ref_test_any`, [6]), [value("i32", 2)]);
+
+// ./test/core/gc/ref_test.wast:119
+assert_return(() => invoke($0, `ref_test_any`, [7]), [value("i32", 1)]);
+
+// ./test/core/gc/ref_test.wast:121
+assert_return(() => invoke($0, `ref_test_eq`, [0]), [value("i32", 1)]);
+
+// ./test/core/gc/ref_test.wast:122
+assert_return(() => invoke($0, `ref_test_eq`, [1]), [value("i32", 1)]);
+
+// ./test/core/gc/ref_test.wast:123
+assert_return(() => invoke($0, `ref_test_eq`, [2]), [value("i32", 1)]);
+
+// ./test/core/gc/ref_test.wast:124
+assert_return(() => invoke($0, `ref_test_eq`, [3]), [value("i32", 2)]);
+
+// ./test/core/gc/ref_test.wast:125
+assert_return(() => invoke($0, `ref_test_eq`, [4]), [value("i32", 2)]);
+
+// ./test/core/gc/ref_test.wast:126
+assert_return(() => invoke($0, `ref_test_eq`, [5]), [value("i32", 2)]);
+
+// ./test/core/gc/ref_test.wast:127
+assert_return(() => invoke($0, `ref_test_eq`, [6]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_test.wast:128
+assert_return(() => invoke($0, `ref_test_eq`, [7]), [value("i32", 1)]);
+
+// ./test/core/gc/ref_test.wast:130
+assert_return(() => invoke($0, `ref_test_i31`, [0]), [value("i32", 1)]);
+
+// ./test/core/gc/ref_test.wast:131
+assert_return(() => invoke($0, `ref_test_i31`, [1]), [value("i32", 1)]);
+
+// ./test/core/gc/ref_test.wast:132
+assert_return(() => invoke($0, `ref_test_i31`, [2]), [value("i32", 1)]);
+
+// ./test/core/gc/ref_test.wast:133
+assert_return(() => invoke($0, `ref_test_i31`, [3]), [value("i32", 2)]);
+
+// ./test/core/gc/ref_test.wast:134
+assert_return(() => invoke($0, `ref_test_i31`, [4]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_test.wast:135
+assert_return(() => invoke($0, `ref_test_i31`, [5]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_test.wast:136
+assert_return(() => invoke($0, `ref_test_i31`, [6]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_test.wast:137
+assert_return(() => invoke($0, `ref_test_i31`, [7]), [value("i32", 1)]);
+
+// ./test/core/gc/ref_test.wast:139
+assert_return(() => invoke($0, `ref_test_struct`, [0]), [value("i32", 1)]);
+
+// ./test/core/gc/ref_test.wast:140
+assert_return(() => invoke($0, `ref_test_struct`, [1]), [value("i32", 1)]);
+
+// ./test/core/gc/ref_test.wast:141
+assert_return(() => invoke($0, `ref_test_struct`, [2]), [value("i32", 1)]);
+
+// ./test/core/gc/ref_test.wast:142
+assert_return(() => invoke($0, `ref_test_struct`, [3]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_test.wast:143
+assert_return(() => invoke($0, `ref_test_struct`, [4]), [value("i32", 2)]);
+
+// ./test/core/gc/ref_test.wast:144
+assert_return(() => invoke($0, `ref_test_struct`, [5]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_test.wast:145
+assert_return(() => invoke($0, `ref_test_struct`, [6]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_test.wast:146
+assert_return(() => invoke($0, `ref_test_struct`, [7]), [value("i32", 1)]);
+
+// ./test/core/gc/ref_test.wast:148
+assert_return(() => invoke($0, `ref_test_array`, [0]), [value("i32", 1)]);
+
+// ./test/core/gc/ref_test.wast:149
+assert_return(() => invoke($0, `ref_test_array`, [1]), [value("i32", 1)]);
+
+// ./test/core/gc/ref_test.wast:150
+assert_return(() => invoke($0, `ref_test_array`, [2]), [value("i32", 1)]);
+
+// ./test/core/gc/ref_test.wast:151
+assert_return(() => invoke($0, `ref_test_array`, [3]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_test.wast:152
+assert_return(() => invoke($0, `ref_test_array`, [4]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_test.wast:153
+assert_return(() => invoke($0, `ref_test_array`, [5]), [value("i32", 2)]);
+
+// ./test/core/gc/ref_test.wast:154
+assert_return(() => invoke($0, `ref_test_array`, [6]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_test.wast:155
+assert_return(() => invoke($0, `ref_test_array`, [7]), [value("i32", 1)]);
+
+// ./test/core/gc/ref_test.wast:157
+assert_return(() => invoke($0, `ref_test_null_func`, [0]), [value("i32", 2)]);
+
+// ./test/core/gc/ref_test.wast:158
+assert_return(() => invoke($0, `ref_test_null_func`, [1]), [value("i32", 2)]);
+
+// ./test/core/gc/ref_test.wast:159
+assert_return(() => invoke($0, `ref_test_null_func`, [2]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_test.wast:161
+assert_return(() => invoke($0, `ref_test_func`, [0]), [value("i32", 1)]);
+
+// ./test/core/gc/ref_test.wast:162
+assert_return(() => invoke($0, `ref_test_func`, [1]), [value("i32", 1)]);
+
+// ./test/core/gc/ref_test.wast:163
+assert_return(() => invoke($0, `ref_test_func`, [2]), [value("i32", 2)]);
+
+// ./test/core/gc/ref_test.wast:165
+assert_return(() => invoke($0, `ref_test_null_extern`, [0]), [value("i32", 2)]);
+
+// ./test/core/gc/ref_test.wast:166
+assert_return(() => invoke($0, `ref_test_null_extern`, [1]), [value("i32", 2)]);
+
+// ./test/core/gc/ref_test.wast:167
+assert_return(() => invoke($0, `ref_test_null_extern`, [2]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_test.wast:168
+assert_return(() => invoke($0, `ref_test_null_extern`, [3]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_test.wast:169
+assert_return(() => invoke($0, `ref_test_null_extern`, [4]), [value("i32", 0)]);
+
+// ./test/core/gc/ref_test.wast:170
+assert_return(() => invoke($0, `ref_test_null_extern`, [5]), [value("i32", 2)]);
+
+// ./test/core/gc/ref_test.wast:172
+assert_return(() => invoke($0, `ref_test_extern`, [0]), [value("i32", 1)]);
+
+// ./test/core/gc/ref_test.wast:173
+assert_return(() => invoke($0, `ref_test_extern`, [1]), [value("i32", 1)]);
+
+// ./test/core/gc/ref_test.wast:174
+assert_return(() => invoke($0, `ref_test_extern`, [2]), [value("i32", 2)]);
+
+// ./test/core/gc/ref_test.wast:175
+assert_return(() => invoke($0, `ref_test_extern`, [3]), [value("i32", 2)]);
+
+// ./test/core/gc/ref_test.wast:176
+assert_return(() => invoke($0, `ref_test_extern`, [4]), [value("i32", 2)]);
+
+// ./test/core/gc/ref_test.wast:177
+assert_return(() => invoke($0, `ref_test_extern`, [5]), [value("i32", 1)]);
+
+// ./test/core/gc/ref_test.wast:182
+let $1 = instantiate(`(module
+ (type $$t0 (sub (struct)))
+ (type $$t1 (sub $$t0 (struct (field i32))))
+ (type $$t1' (sub $$t0 (struct (field i32))))
+ (type $$t2 (sub $$t1 (struct (field i32 i32))))
+ (type $$t2' (sub $$t1' (struct (field i32 i32))))
+ (type $$t3 (sub $$t0 (struct (field i32 i32))))
+ (type $$t0' (sub $$t0 (struct)))
+ (type $$t4 (sub $$t0' (struct (field i32 i32))))
+
+ (table 20 (ref null struct))
+
+ (func $$init
+ (table.set (i32.const 0) (struct.new_default $$t0))
+ (table.set (i32.const 10) (struct.new_default $$t0))
+ (table.set (i32.const 1) (struct.new_default $$t1))
+ (table.set (i32.const 11) (struct.new_default $$t1'))
+ (table.set (i32.const 2) (struct.new_default $$t2))
+ (table.set (i32.const 12) (struct.new_default $$t2'))
+ (table.set (i32.const 3) (struct.new_default $$t3))
+ (table.set (i32.const 4) (struct.new_default $$t4))
+ )
+
+ (func (export "test-sub")
+ (call $$init)
+ (block $$l
+ ;; must hold
+ (br_if $$l (i32.eqz (ref.test (ref null $$t0) (ref.null struct))))
+ (br_if $$l (i32.eqz (ref.test (ref null $$t0) (ref.null $$t0))))
+ (br_if $$l (i32.eqz (ref.test (ref null $$t0) (ref.null $$t1))))
+ (br_if $$l (i32.eqz (ref.test (ref null $$t0) (ref.null $$t2))))
+ (br_if $$l (i32.eqz (ref.test (ref null $$t0) (ref.null $$t3))))
+ (br_if $$l (i32.eqz (ref.test (ref null $$t0) (ref.null $$t4))))
+ (br_if $$l (i32.eqz (ref.test (ref null $$t0) (table.get (i32.const 0)))))
+ (br_if $$l (i32.eqz (ref.test (ref null $$t0) (table.get (i32.const 1)))))
+ (br_if $$l (i32.eqz (ref.test (ref null $$t0) (table.get (i32.const 2)))))
+ (br_if $$l (i32.eqz (ref.test (ref null $$t0) (table.get (i32.const 3)))))
+ (br_if $$l (i32.eqz (ref.test (ref null $$t0) (table.get (i32.const 4)))))
+
+ (br_if $$l (i32.eqz (ref.test (ref null $$t1) (ref.null struct))))
+ (br_if $$l (i32.eqz (ref.test (ref null $$t1) (ref.null $$t0))))
+ (br_if $$l (i32.eqz (ref.test (ref null $$t1) (ref.null $$t1))))
+ (br_if $$l (i32.eqz (ref.test (ref null $$t1) (ref.null $$t2))))
+ (br_if $$l (i32.eqz (ref.test (ref null $$t1) (ref.null $$t3))))
+ (br_if $$l (i32.eqz (ref.test (ref null $$t1) (ref.null $$t4))))
+ (br_if $$l (i32.eqz (ref.test (ref null $$t1) (table.get (i32.const 1)))))
+ (br_if $$l (i32.eqz (ref.test (ref null $$t1) (table.get (i32.const 2)))))
+
+ (br_if $$l (i32.eqz (ref.test (ref null $$t2) (ref.null struct))))
+ (br_if $$l (i32.eqz (ref.test (ref null $$t2) (ref.null $$t0))))
+ (br_if $$l (i32.eqz (ref.test (ref null $$t2) (ref.null $$t1))))
+ (br_if $$l (i32.eqz (ref.test (ref null $$t2) (ref.null $$t2))))
+ (br_if $$l (i32.eqz (ref.test (ref null $$t2) (ref.null $$t3))))
+ (br_if $$l (i32.eqz (ref.test (ref null $$t2) (ref.null $$t4))))
+ (br_if $$l (i32.eqz (ref.test (ref null $$t2) (table.get (i32.const 2)))))
+
+ (br_if $$l (i32.eqz (ref.test (ref null $$t3) (ref.null struct))))
+ (br_if $$l (i32.eqz (ref.test (ref null $$t3) (ref.null $$t0))))
+ (br_if $$l (i32.eqz (ref.test (ref null $$t3) (ref.null $$t1))))
+ (br_if $$l (i32.eqz (ref.test (ref null $$t3) (ref.null $$t2))))
+ (br_if $$l (i32.eqz (ref.test (ref null $$t3) (ref.null $$t3))))
+ (br_if $$l (i32.eqz (ref.test (ref null $$t3) (ref.null $$t4))))
+ (br_if $$l (i32.eqz (ref.test (ref null $$t3) (table.get (i32.const 3)))))
+
+ (br_if $$l (i32.eqz (ref.test (ref null $$t4) (ref.null struct))))
+ (br_if $$l (i32.eqz (ref.test (ref null $$t4) (ref.null $$t0))))
+ (br_if $$l (i32.eqz (ref.test (ref null $$t4) (ref.null $$t1))))
+ (br_if $$l (i32.eqz (ref.test (ref null $$t4) (ref.null $$t2))))
+ (br_if $$l (i32.eqz (ref.test (ref null $$t4) (ref.null $$t3))))
+ (br_if $$l (i32.eqz (ref.test (ref null $$t4) (ref.null $$t4))))
+ (br_if $$l (i32.eqz (ref.test (ref null $$t4) (table.get (i32.const 4)))))
+
+ (br_if $$l (i32.eqz (ref.test (ref $$t0) (table.get (i32.const 0)))))
+ (br_if $$l (i32.eqz (ref.test (ref $$t0) (table.get (i32.const 1)))))
+ (br_if $$l (i32.eqz (ref.test (ref $$t0) (table.get (i32.const 2)))))
+ (br_if $$l (i32.eqz (ref.test (ref $$t0) (table.get (i32.const 3)))))
+ (br_if $$l (i32.eqz (ref.test (ref $$t0) (table.get (i32.const 4)))))
+
+ (br_if $$l (i32.eqz (ref.test (ref $$t1) (table.get (i32.const 1)))))
+ (br_if $$l (i32.eqz (ref.test (ref $$t1) (table.get (i32.const 2)))))
+
+ (br_if $$l (i32.eqz (ref.test (ref $$t2) (table.get (i32.const 2)))))
+
+ (br_if $$l (i32.eqz (ref.test (ref $$t3) (table.get (i32.const 3)))))
+
+ (br_if $$l (i32.eqz (ref.test (ref $$t4) (table.get (i32.const 4)))))
+
+ ;; must not hold
+ (br_if $$l (ref.test (ref $$t0) (ref.null struct)))
+ (br_if $$l (ref.test (ref $$t1) (ref.null struct)))
+ (br_if $$l (ref.test (ref $$t2) (ref.null struct)))
+ (br_if $$l (ref.test (ref $$t3) (ref.null struct)))
+ (br_if $$l (ref.test (ref $$t4) (ref.null struct)))
+
+ (br_if $$l (ref.test (ref $$t1) (table.get (i32.const 0))))
+ (br_if $$l (ref.test (ref $$t1) (table.get (i32.const 3))))
+ (br_if $$l (ref.test (ref $$t1) (table.get (i32.const 4))))
+
+ (br_if $$l (ref.test (ref $$t2) (table.get (i32.const 0))))
+ (br_if $$l (ref.test (ref $$t2) (table.get (i32.const 1))))
+ (br_if $$l (ref.test (ref $$t2) (table.get (i32.const 3))))
+ (br_if $$l (ref.test (ref $$t2) (table.get (i32.const 4))))
+
+ (br_if $$l (ref.test (ref $$t3) (table.get (i32.const 0))))
+ (br_if $$l (ref.test (ref $$t3) (table.get (i32.const 1))))
+ (br_if $$l (ref.test (ref $$t3) (table.get (i32.const 2))))
+ (br_if $$l (ref.test (ref $$t3) (table.get (i32.const 4))))
+
+ (br_if $$l (ref.test (ref $$t4) (table.get (i32.const 0))))
+ (br_if $$l (ref.test (ref $$t4) (table.get (i32.const 1))))
+ (br_if $$l (ref.test (ref $$t4) (table.get (i32.const 2))))
+ (br_if $$l (ref.test (ref $$t4) (table.get (i32.const 3))))
+
+ (return)
+ )
+ (unreachable)
+ )
+
+ (func (export "test-canon")
+ (call $$init)
+ (block $$l
+ (br_if $$l (i32.eqz (ref.test (ref $$t0) (table.get (i32.const 0)))))
+ (br_if $$l (i32.eqz (ref.test (ref $$t0) (table.get (i32.const 1)))))
+ (br_if $$l (i32.eqz (ref.test (ref $$t0) (table.get (i32.const 2)))))
+ (br_if $$l (i32.eqz (ref.test (ref $$t0) (table.get (i32.const 3)))))
+ (br_if $$l (i32.eqz (ref.test (ref $$t0) (table.get (i32.const 4)))))
+
+ (br_if $$l (i32.eqz (ref.test (ref $$t0) (table.get (i32.const 10)))))
+ (br_if $$l (i32.eqz (ref.test (ref $$t0) (table.get (i32.const 11)))))
+ (br_if $$l (i32.eqz (ref.test (ref $$t0) (table.get (i32.const 12)))))
+
+ (br_if $$l (i32.eqz (ref.test (ref $$t1') (table.get (i32.const 1)))))
+ (br_if $$l (i32.eqz (ref.test (ref $$t1') (table.get (i32.const 2)))))
+
+ (br_if $$l (i32.eqz (ref.test (ref $$t1) (table.get (i32.const 11)))))
+ (br_if $$l (i32.eqz (ref.test (ref $$t1) (table.get (i32.const 12)))))
+
+ (br_if $$l (i32.eqz (ref.test (ref $$t2') (table.get (i32.const 2)))))
+
+ (br_if $$l (i32.eqz (ref.test (ref $$t2) (table.get (i32.const 12)))))
+
+ (return)
+ )
+ (unreachable)
+ )
+)`);
+
+// ./test/core/gc/ref_test.wast:329
+assert_return(() => invoke($1, `test-sub`, []), []);
+
+// ./test/core/gc/ref_test.wast:330
+assert_return(() => invoke($1, `test-canon`, []), []);
diff --git a/js/src/jit-test/tests/wasm/spec/gc/struct.wast.js b/js/src/jit-test/tests/wasm/spec/gc/struct.wast.js
new file mode 100644
index 0000000000..24b57b8466
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/gc/struct.wast.js
@@ -0,0 +1,271 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/gc/struct.wast
+
+// ./test/core/gc/struct.wast:3
+let $0 = instantiate(`(module
+ (type (struct))
+ (type (struct (field)))
+ (type (struct (field i8)))
+ (type (struct (field i8 i8 i8 i8)))
+ (type (struct (field $$x1 i32) (field $$y1 i32)))
+ (type (struct (field i8 i16 i32 i64 f32 f64 anyref funcref (ref 0) (ref null 1))))
+ (type (struct (field i32 i64 i8) (field) (field) (field (ref null i31) anyref)))
+ (type (struct (field $$x2 i32) (field f32 f64) (field $$y2 i32)))
+)`);
+
+// ./test/core/gc/struct.wast:15
+assert_malformed(
+ () => instantiate(`(type (struct (field $$x i32) (field $$x i32))) `),
+ `duplicate field`,
+);
+
+// ./test/core/gc/struct.wast:25
+let $1 = instantiate(`(module
+ (rec
+ (type $$s0 (struct (field (ref 0) (ref 1) (ref $$s0) (ref $$s1))))
+ (type $$s1 (struct (field (ref 0) (ref 1) (ref $$s0) (ref $$s1))))
+ )
+
+ (func (param (ref $$forward)))
+
+ (type $$forward (struct))
+)`);
+
+// ./test/core/gc/struct.wast:36
+assert_invalid(
+ () => instantiate(`(module (type (struct (field (ref 1)))))`),
+ `unknown type`,
+);
+
+// ./test/core/gc/struct.wast:40
+assert_invalid(
+ () => instantiate(`(module (type (struct (field (mut (ref 1))))))`),
+ `unknown type`,
+);
+
+// ./test/core/gc/struct.wast:48
+let $2 = instantiate(`(module
+ (type (struct (field $$x i32)))
+ (type $$t1 (struct (field i32) (field $$x f32)))
+ (type $$t2 (struct (field i32 i32) (field $$x i64)))
+
+ (func (param (ref 0)) (result i32) (struct.get 0 $$x (local.get 0)))
+ (func (param (ref $$t1)) (result f32) (struct.get 1 $$x (local.get 0)))
+ (func (param (ref $$t2)) (result i64) (struct.get $$t2 $$x (local.get 0)))
+)`);
+
+// ./test/core/gc/struct.wast:58
+assert_invalid(
+ () => instantiate(`(module
+ (type (struct (field $$x i64)))
+ (type $$t (struct (field $$x i32)))
+ (func (param (ref 0)) (result i32) (struct.get 0 $$x (local.get 0)))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/gc/struct.wast:70
+let $3 = instantiate(`(module
+ (type $$vec (struct (field f32) (field $$y (mut f32)) (field $$z f32)))
+
+ (global (ref $$vec) (struct.new $$vec (f32.const 1) (f32.const 2) (f32.const 3)))
+ (global (ref $$vec) (struct.new_default $$vec))
+
+ (func (export "new") (result anyref)
+ (struct.new_default $$vec)
+ )
+
+ (func $$get_0_0 (param $$v (ref $$vec)) (result f32)
+ (struct.get 0 0 (local.get $$v))
+ )
+ (func (export "get_0_0") (result f32)
+ (call $$get_0_0 (struct.new_default $$vec))
+ )
+ (func $$get_vec_0 (param $$v (ref $$vec)) (result f32)
+ (struct.get $$vec 0 (local.get $$v))
+ )
+ (func (export "get_vec_0") (result f32)
+ (call $$get_vec_0 (struct.new_default $$vec))
+ )
+ (func $$get_0_y (param $$v (ref $$vec)) (result f32)
+ (struct.get 0 $$y (local.get $$v))
+ )
+ (func (export "get_0_y") (result f32)
+ (call $$get_0_y (struct.new_default $$vec))
+ )
+ (func $$get_vec_y (param $$v (ref $$vec)) (result f32)
+ (struct.get $$vec $$y (local.get $$v))
+ )
+ (func (export "get_vec_y") (result f32)
+ (call $$get_vec_y (struct.new_default $$vec))
+ )
+
+ (func $$set_get_y (param $$v (ref $$vec)) (param $$y f32) (result f32)
+ (struct.set $$vec $$y (local.get $$v) (local.get $$y))
+ (struct.get $$vec $$y (local.get $$v))
+ )
+ (func (export "set_get_y") (param $$y f32) (result f32)
+ (call $$set_get_y (struct.new_default $$vec) (local.get $$y))
+ )
+
+ (func $$set_get_1 (param $$v (ref $$vec)) (param $$y f32) (result f32)
+ (struct.set $$vec 1 (local.get $$v) (local.get $$y))
+ (struct.get $$vec $$y (local.get $$v))
+ )
+ (func (export "set_get_1") (param $$y f32) (result f32)
+ (call $$set_get_1 (struct.new_default $$vec) (local.get $$y))
+ )
+)`);
+
+// ./test/core/gc/struct.wast:122
+assert_return(() => invoke($3, `new`, []), [new RefWithType('structref')]);
+
+// ./test/core/gc/struct.wast:124
+assert_return(() => invoke($3, `get_0_0`, []), [value("f32", 0)]);
+
+// ./test/core/gc/struct.wast:125
+assert_return(() => invoke($3, `get_vec_0`, []), [value("f32", 0)]);
+
+// ./test/core/gc/struct.wast:126
+assert_return(() => invoke($3, `get_0_y`, []), [value("f32", 0)]);
+
+// ./test/core/gc/struct.wast:127
+assert_return(() => invoke($3, `get_vec_y`, []), [value("f32", 0)]);
+
+// ./test/core/gc/struct.wast:129
+assert_return(() => invoke($3, `set_get_y`, [value("f32", 7)]), [value("f32", 7)]);
+
+// ./test/core/gc/struct.wast:130
+assert_return(() => invoke($3, `set_get_1`, [value("f32", 7)]), [value("f32", 7)]);
+
+// ./test/core/gc/struct.wast:132
+assert_invalid(
+ () => instantiate(`(module
+ (type $$s (struct (field i64)))
+ (func (export "struct.set-immutable") (param $$s (ref $$s))
+ (struct.set $$s 0 (local.get $$s) (i64.const 1))
+ )
+ )`),
+ `field is immutable`,
+);
+
+// ./test/core/gc/struct.wast:145
+let $4 = instantiate(`(module
+ (type $$t (struct (field i32 (mut i32))))
+ (func (export "struct.get-null")
+ (local (ref null $$t)) (drop (struct.get $$t 1 (local.get 0)))
+ )
+ (func (export "struct.set-null")
+ (local (ref null $$t)) (struct.set $$t 1 (local.get 0) (i32.const 0))
+ )
+)`);
+
+// ./test/core/gc/struct.wast:155
+assert_trap(() => invoke($4, `struct.get-null`, []), `null structure reference`);
+
+// ./test/core/gc/struct.wast:156
+assert_trap(() => invoke($4, `struct.set-null`, []), `null structure reference`);
+
+// ./test/core/gc/struct.wast:160
+let $5 = instantiate(`(module
+ (type $$s (struct (field i8) (field (mut i8)) (field i16) (field (mut i16))))
+
+ (global (export "g0") (ref $$s) (struct.new $$s (i32.const 0) (i32.const 1) (i32.const 2) (i32.const 3)))
+ (global (export "g1") (ref $$s) (struct.new $$s (i32.const 254) (i32.const 255) (i32.const 65534) (i32.const 65535)))
+
+ (func (export "get_packed_g0_0") (result i32 i32)
+ (struct.get_s 0 0 (global.get 0))
+ (struct.get_u 0 0 (global.get 0))
+ )
+
+ (func (export "get_packed_g1_0") (result i32 i32)
+ (struct.get_s 0 0 (global.get 1))
+ (struct.get_u 0 0 (global.get 1))
+ )
+
+ (func (export "get_packed_g0_1") (result i32 i32)
+ (struct.get_s 0 1 (global.get 0))
+ (struct.get_u 0 1 (global.get 0))
+ )
+
+ (func (export "get_packed_g1_1") (result i32 i32)
+ (struct.get_s 0 1 (global.get 1))
+ (struct.get_u 0 1 (global.get 1))
+ )
+
+ (func (export "get_packed_g0_2") (result i32 i32)
+ (struct.get_s 0 2 (global.get 0))
+ (struct.get_u 0 2 (global.get 0))
+ )
+
+ (func (export "get_packed_g1_2") (result i32 i32)
+ (struct.get_s 0 2 (global.get 1))
+ (struct.get_u 0 2 (global.get 1))
+ )
+
+ (func (export "get_packed_g0_3") (result i32 i32)
+ (struct.get_s 0 3 (global.get 0))
+ (struct.get_u 0 3 (global.get 0))
+ )
+
+ (func (export "get_packed_g1_3") (result i32 i32)
+ (struct.get_s 0 3 (global.get 1))
+ (struct.get_u 0 3 (global.get 1))
+ )
+
+ (func (export "set_get_packed_g0_1") (param i32) (result i32 i32)
+ (struct.set 0 1 (global.get 0) (local.get 0))
+ (struct.get_s 0 1 (global.get 0))
+ (struct.get_u 0 1 (global.get 0))
+ )
+
+ (func (export "set_get_packed_g0_3") (param i32) (result i32 i32)
+ (struct.set 0 3 (global.get 0) (local.get 0))
+ (struct.get_s 0 3 (global.get 0))
+ (struct.get_u 0 3 (global.get 0))
+ )
+)`);
+
+// ./test/core/gc/struct.wast:219
+assert_return(() => invoke($5, `get_packed_g0_0`, []), [value("i32", 0), value("i32", 0)]);
+
+// ./test/core/gc/struct.wast:220
+assert_return(() => invoke($5, `get_packed_g1_0`, []), [value("i32", -2), value("i32", 254)]);
+
+// ./test/core/gc/struct.wast:221
+assert_return(() => invoke($5, `get_packed_g0_1`, []), [value("i32", 1), value("i32", 1)]);
+
+// ./test/core/gc/struct.wast:222
+assert_return(() => invoke($5, `get_packed_g1_1`, []), [value("i32", -1), value("i32", 255)]);
+
+// ./test/core/gc/struct.wast:223
+assert_return(() => invoke($5, `get_packed_g0_2`, []), [value("i32", 2), value("i32", 2)]);
+
+// ./test/core/gc/struct.wast:224
+assert_return(() => invoke($5, `get_packed_g1_2`, []), [value("i32", -2), value("i32", 65534)]);
+
+// ./test/core/gc/struct.wast:225
+assert_return(() => invoke($5, `get_packed_g0_3`, []), [value("i32", 3), value("i32", 3)]);
+
+// ./test/core/gc/struct.wast:226
+assert_return(() => invoke($5, `get_packed_g1_3`, []), [value("i32", -1), value("i32", 65535)]);
+
+// ./test/core/gc/struct.wast:228
+assert_return(() => invoke($5, `set_get_packed_g0_1`, [257]), [value("i32", 1), value("i32", 1)]);
+
+// ./test/core/gc/struct.wast:229
+assert_return(() => invoke($5, `set_get_packed_g0_3`, [257]), [value("i32", 257), value("i32", 257)]);
diff --git a/js/src/jit-test/tests/wasm/spec/gc/token.wast.js b/js/src/jit-test/tests/wasm/spec/gc/token.wast.js
new file mode 100644
index 0000000000..6d8f63faae
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/gc/token.wast.js
@@ -0,0 +1,289 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/token.wast
+
+// ./test/core/token.wast:3
+assert_malformed(() => instantiate(`(func (drop (i32.const0))) `), `unknown operator`);
+
+// ./test/core/token.wast:7
+assert_malformed(() => instantiate(`(func br 0drop) `), `unknown operator`);
+
+// ./test/core/token.wast:15
+let $0 = instantiate(`(module
+ (func(nop))
+)`);
+
+// ./test/core/token.wast:18
+let $1 = instantiate(`(module
+ (func (nop)nop)
+)`);
+
+// ./test/core/token.wast:21
+let $2 = instantiate(`(module
+ (func nop(nop))
+)`);
+
+// ./test/core/token.wast:24
+let $3 = instantiate(`(module
+ (func(nop)(nop))
+)`);
+
+// ./test/core/token.wast:27
+let $4 = instantiate(`(module
+ (func $$f(nop))
+)`);
+
+// ./test/core/token.wast:30
+let $5 = instantiate(`(module
+ (func br 0(nop))
+)`);
+
+// ./test/core/token.wast:33
+let $6 = instantiate(`(module
+ (table 1 funcref)
+ (func)
+ (elem (i32.const 0)0)
+)`);
+
+// ./test/core/token.wast:38
+let $7 = instantiate(`(module
+ (table 1 funcref)
+ (func $$f)
+ (elem (i32.const 0)$$f)
+)`);
+
+// ./test/core/token.wast:43
+let $8 = instantiate(`(module
+ (memory 1)
+ (data (i32.const 0)"a")
+)`);
+
+// ./test/core/token.wast:47
+let $9 = instantiate(`(module
+ (import "spectest" "print"(func))
+)`);
+
+// ./test/core/token.wast:54
+let $10 = instantiate(`(module
+ (func;;bla
+ )
+)`);
+
+// ./test/core/token.wast:58
+let $11 = instantiate(`(module
+ (func (nop);;bla
+ )
+)`);
+
+// ./test/core/token.wast:62
+let $12 = instantiate(`(module
+ (func nop;;bla
+ )
+)`);
+
+// ./test/core/token.wast:66
+let $13 = instantiate(`(module
+ (func $$f;;bla
+ )
+)`);
+
+// ./test/core/token.wast:70
+let $14 = instantiate(`(module
+ (func br 0;;bla
+ )
+)`);
+
+// ./test/core/token.wast:74
+let $15 = instantiate(`(module
+ (data "a";;bla
+ )
+)`);
+
+// ./test/core/token.wast:82
+let $16 = instantiate(`(module
+ (func (block $$l (i32.const 0) (br_table 0 $$l)))
+)`);
+
+// ./test/core/token.wast:85
+assert_malformed(
+ () => instantiate(`(func (block $$l (i32.const 0) (br_table 0$$l))) `),
+ `unknown operator`,
+);
+
+// ./test/core/token.wast:92
+let $17 = instantiate(`(module
+ (func (block $$l (i32.const 0) (br_table $$l 0)))
+)`);
+
+// ./test/core/token.wast:95
+assert_malformed(
+ () => instantiate(`(func (block $$l (i32.const 0) (br_table $$l0))) `),
+ `unknown label`,
+);
+
+// ./test/core/token.wast:102
+let $18 = instantiate(`(module
+ (func (block $$l (i32.const 0) (br_table $$l $$l)))
+)`);
+
+// ./test/core/token.wast:105
+assert_malformed(
+ () => instantiate(`(func (block $$l (i32.const 0) (br_table $$l$$l))) `),
+ `unknown label`,
+);
+
+// ./test/core/token.wast:112
+let $19 = instantiate(`(module
+ (func (block $$l0 (i32.const 0) (br_table $$l0)))
+)`);
+
+// ./test/core/token.wast:115
+let $20 = instantiate(`(module
+ (func (block $$l$$l (i32.const 0) (br_table $$l$$l)))
+)`);
+
+// ./test/core/token.wast:122
+let $21 = instantiate(`(module
+ (data "a")
+)`);
+
+// ./test/core/token.wast:125
+assert_malformed(() => instantiate(`(data"a") `), `unknown operator`);
+
+// ./test/core/token.wast:132
+let $22 = instantiate(`(module
+ (data $$l "a")
+)`);
+
+// ./test/core/token.wast:135
+assert_malformed(() => instantiate(`(data $$l"a") `), `unknown operator`);
+
+// ./test/core/token.wast:142
+let $23 = instantiate(`(module
+ (data $$l " a")
+)`);
+
+// ./test/core/token.wast:145
+assert_malformed(() => instantiate(`(data $$l" a") `), `unknown operator`);
+
+// ./test/core/token.wast:152
+let $24 = instantiate(`(module
+ (data $$l "a ")
+)`);
+
+// ./test/core/token.wast:155
+assert_malformed(() => instantiate(`(data $$l"a ") `), `unknown operator`);
+
+// ./test/core/token.wast:162
+let $25 = instantiate(`(module
+ (data $$l "a " "b")
+)`);
+
+// ./test/core/token.wast:165
+assert_malformed(() => instantiate(`(data $$l"a ""b") `), `unknown operator`);
+
+// ./test/core/token.wast:172
+let $26 = instantiate(`(module
+ (data $$l "\u{f61a}\u{f4a9}")
+)`);
+
+// ./test/core/token.wast:175
+assert_malformed(() => instantiate(`(data $$l"\u{f61a}\u{f4a9}") `), `unknown operator`);
+
+// ./test/core/token.wast:182
+let $27 = instantiate(`(module
+ (data $$l " \u{f61a}\u{f4a9}")
+)`);
+
+// ./test/core/token.wast:185
+assert_malformed(() => instantiate(`(data $$l" \u{f61a}\u{f4a9}") `), `unknown operator`);
+
+// ./test/core/token.wast:192
+let $28 = instantiate(`(module
+ (data $$l "\u{f61a}\u{f4a9} ")
+)`);
+
+// ./test/core/token.wast:195
+assert_malformed(() => instantiate(`(data $$l"\u{f61a}\u{f4a9} ") `), `unknown operator`);
+
+// ./test/core/token.wast:202
+let $29 = instantiate(`(module
+ (data "a" "b")
+)`);
+
+// ./test/core/token.wast:205
+assert_malformed(() => instantiate(`(data "a""b") `), `unknown operator`);
+
+// ./test/core/token.wast:212
+let $30 = instantiate(`(module
+ (data "a" " b")
+)`);
+
+// ./test/core/token.wast:215
+assert_malformed(() => instantiate(`(data "a"" b") `), `unknown operator`);
+
+// ./test/core/token.wast:222
+let $31 = instantiate(`(module
+ (data "a " "b")
+)`);
+
+// ./test/core/token.wast:225
+assert_malformed(() => instantiate(`(data "a ""b") `), `unknown operator`);
+
+// ./test/core/token.wast:232
+let $32 = instantiate(`(module
+ (data "\u{f61a}\u{f4a9}" "\u{f61a}\u{f4a9}")
+)`);
+
+// ./test/core/token.wast:235
+assert_malformed(
+ () => instantiate(`(data "\u{f61a}\u{f4a9}""\u{f61a}\u{f4a9}") `),
+ `unknown operator`,
+);
+
+// ./test/core/token.wast:242
+let $33 = instantiate(`(module
+ (data "\u{f61a}\u{f4a9}" " \u{f61a}\u{f4a9}")
+)`);
+
+// ./test/core/token.wast:245
+assert_malformed(
+ () => instantiate(`(data "\u{f61a}\u{f4a9}"" \u{f61a}\u{f4a9}") `),
+ `unknown operator`,
+);
+
+// ./test/core/token.wast:252
+let $34 = instantiate(`(module
+ (data "\u{f61a}\u{f4a9} " "\u{f61a}\u{f4a9}")
+)`);
+
+// ./test/core/token.wast:255
+assert_malformed(
+ () => instantiate(`(data "\u{f61a}\u{f4a9} ""\u{f61a}\u{f4a9}") `),
+ `unknown operator`,
+);
+
+// ./test/core/token.wast:263
+assert_malformed(() => instantiate(`(func "a"x) `), `unknown operator`);
+
+// ./test/core/token.wast:269
+assert_malformed(() => instantiate(`(func "a"0) `), `unknown operator`);
+
+// ./test/core/token.wast:275
+assert_malformed(() => instantiate(`(func 0"a") `), `unknown operator`);
+
+// ./test/core/token.wast:281
+assert_malformed(() => instantiate(`(func "a"$$x) `), `unknown operator`);
diff --git a/js/src/jit-test/tests/wasm/spec/gc/type-canon.wast.js b/js/src/jit-test/tests/wasm/spec/gc/type-canon.wast.js
new file mode 100644
index 0000000000..52d48143ee
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/gc/type-canon.wast.js
@@ -0,0 +1,36 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/type-canon.wast
+
+// ./test/core/type-canon.wast:1
+let $0 = instantiate(`(module
+ (rec
+ (type $$t1 (func (param i32 (ref $$t3))))
+ (type $$t2 (func (param i32 (ref $$t1))))
+ (type $$t3 (func (param i32 (ref $$t2))))
+ )
+)`);
+
+// ./test/core/type-canon.wast:9
+let $1 = instantiate(`(module
+ (rec
+ (type $$t0 (func (param i32 (ref $$t2) (ref $$t3))))
+ (type $$t1 (func (param i32 (ref $$t0) i32 (ref $$t4))))
+ (type $$t2 (func (param i32 (ref $$t2) (ref $$t1))))
+ (type $$t3 (func (param i32 (ref $$t2) i32 (ref $$t4))))
+ (type $$t4 (func (param (ref $$t0) (ref $$t2))))
+ )
+)`);
diff --git a/js/src/jit-test/tests/wasm/spec/gc/type-equivalence.wast.js b/js/src/jit-test/tests/wasm/spec/gc/type-equivalence.wast.js
new file mode 100644
index 0000000000..447729927e
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/gc/type-equivalence.wast.js
@@ -0,0 +1,345 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/type-equivalence.wast
+
+// ./test/core/type-equivalence.wast:5
+let $0 = instantiate(`(module
+ (type $$t1 (func (param f32 f32) (result f32)))
+ (type $$t2 (func (param $$x f32) (param $$y f32) (result f32)))
+
+ (func $$f1 (param $$r (ref $$t1)) (call $$f2 (local.get $$r)))
+ (func $$f2 (param $$r (ref $$t2)) (call $$f1 (local.get $$r)))
+)`);
+
+// ./test/core/type-equivalence.wast:16
+let $1 = instantiate(`(module
+ (type $$s0 (func (param i32) (result f32)))
+ (type $$s1 (func (param i32 (ref $$s0)) (result (ref $$s0))))
+ (type $$s2 (func (param i32 (ref $$s0)) (result (ref $$s0))))
+ (type $$t1 (func (param (ref $$s1)) (result (ref $$s2))))
+ (type $$t2 (func (param (ref $$s2)) (result (ref $$s1))))
+
+ (func $$f1 (param $$r (ref $$t1)) (call $$f2 (local.get $$r)))
+ (func $$f2 (param $$r (ref $$t2)) (call $$f1 (local.get $$r)))
+)`);
+
+// ./test/core/type-equivalence.wast:30
+let $2 = instantiate(`(module
+ (rec (type $$t1 (func (param i32 (ref $$t1)))))
+ (rec (type $$t2 (func (param i32 (ref $$t2)))))
+
+ (func $$f1 (param $$r (ref $$t1)) (call $$f2 (local.get $$r)))
+ (func $$f2 (param $$r (ref $$t2)) (call $$f1 (local.get $$r)))
+)`);
+
+// ./test/core/type-equivalence.wast:38
+let $3 = instantiate(`(module
+ (type $$t1 (func (param i32 (ref $$t1))))
+ (type $$t2 (func (param i32 (ref $$t2))))
+
+ (func $$f1 (param $$r (ref $$t1)) (call $$f2 (local.get $$r)))
+ (func $$f2 (param $$r (ref $$t2)) (call $$f1 (local.get $$r)))
+)`);
+
+// ./test/core/type-equivalence.wast:49
+let $4 = instantiate(`(module
+ (rec
+ (type $$t0 (func (param i32 (ref $$t1))))
+ (type $$t1 (func (param i32 (ref $$t0))))
+ )
+ (rec
+ (type $$t2 (func (param i32 (ref $$t3))))
+ (type $$t3 (func (param i32 (ref $$t2))))
+ )
+
+ (func $$f0 (param $$r (ref $$t0))
+ (call $$f2 (local.get $$r))
+ )
+ (func $$f1 (param $$r (ref $$t1))
+ (call $$f3 (local.get $$r))
+ )
+ (func $$f2 (param $$r (ref $$t2))
+ (call $$f0 (local.get $$r))
+ )
+ (func $$f3 (param $$r (ref $$t3))
+ (call $$f1 (local.get $$r))
+ )
+)`);
+
+// ./test/core/type-equivalence.wast:76
+assert_invalid(
+ () => instantiate(`(module
+ (type $$t1 (func (param (ref $$t2))))
+ (type $$t2 (func (param (ref $$t1))))
+ )`),
+ `unknown type`,
+);
+
+// ./test/core/type-equivalence.wast:89
+let $5 = instantiate(`(module
+ (type $$t1 (func (param f32 f32)))
+ (type $$t2 (func (param $$x f32) (param $$y f32)))
+
+ (func $$f1 (type $$t1))
+ (func $$f2 (type $$t2))
+ (table funcref (elem $$f1 $$f2))
+
+ (func (export "run")
+ (call_indirect (type $$t1) (f32.const 1) (f32.const 2) (i32.const 1))
+ (call_indirect (type $$t2) (f32.const 1) (f32.const 2) (i32.const 0))
+ )
+)`);
+
+// ./test/core/type-equivalence.wast:102
+assert_return(() => invoke($5, `run`, []), []);
+
+// ./test/core/type-equivalence.wast:107
+let $6 = instantiate(`(module
+ (type $$s0 (func (param i32)))
+ (type $$s1 (func (param i32 (ref $$s0))))
+ (type $$s2 (func (param i32 (ref $$s0))))
+ (type $$t1 (func (param (ref $$s1))))
+ (type $$t2 (func (param (ref $$s2))))
+
+ (func $$s1 (type $$s1))
+ (func $$s2 (type $$s2))
+ (func $$f1 (type $$t1))
+ (func $$f2 (type $$t2))
+ (table funcref (elem $$f1 $$f2 $$s1 $$s2))
+
+ (func (export "run")
+ (call_indirect (type $$t1) (ref.func $$s1) (i32.const 0))
+ (call_indirect (type $$t1) (ref.func $$s1) (i32.const 1))
+ (call_indirect (type $$t1) (ref.func $$s2) (i32.const 0))
+ (call_indirect (type $$t1) (ref.func $$s2) (i32.const 1))
+ (call_indirect (type $$t2) (ref.func $$s1) (i32.const 0))
+ (call_indirect (type $$t2) (ref.func $$s1) (i32.const 1))
+ (call_indirect (type $$t2) (ref.func $$s2) (i32.const 0))
+ (call_indirect (type $$t2) (ref.func $$s2) (i32.const 1))
+ )
+)`);
+
+// ./test/core/type-equivalence.wast:131
+assert_return(() => invoke($6, `run`, []), []);
+
+// ./test/core/type-equivalence.wast:136
+let $7 = instantiate(`(module
+ (rec (type $$t1 (func (result (ref null $$t1)))))
+ (rec (type $$t2 (func (result (ref null $$t2)))))
+
+ (func $$f1 (type $$t1) (ref.null $$t1))
+ (func $$f2 (type $$t2) (ref.null $$t2))
+ (table funcref (elem $$f1 $$f2))
+
+ (func (export "run")
+ (block (result (ref null $$t1)) (call_indirect (type $$t1) (i32.const 0)))
+ (block (result (ref null $$t1)) (call_indirect (type $$t2) (i32.const 0)))
+ (block (result (ref null $$t2)) (call_indirect (type $$t1) (i32.const 0)))
+ (block (result (ref null $$t2)) (call_indirect (type $$t2) (i32.const 0)))
+ (block (result (ref null $$t1)) (call_indirect (type $$t1) (i32.const 1)))
+ (block (result (ref null $$t1)) (call_indirect (type $$t2) (i32.const 1)))
+ (block (result (ref null $$t2)) (call_indirect (type $$t1) (i32.const 1)))
+ (block (result (ref null $$t2)) (call_indirect (type $$t2) (i32.const 1)))
+ (br 0)
+ )
+)`);
+
+// ./test/core/type-equivalence.wast:156
+assert_return(() => invoke($7, `run`, []), []);
+
+// ./test/core/type-equivalence.wast:161
+let $8 = instantiate(`(module
+ (rec
+ (type $$t1 (func (param i32 (ref $$t1))))
+ (type $$t2 (func (param i32 (ref $$t3))))
+ (type $$t3 (func (param i32 (ref $$t2))))
+ )
+
+ (rec
+ (type $$u1 (func (param i32 (ref $$u1))))
+ (type $$u2 (func (param i32 (ref $$u3))))
+ (type $$u3 (func (param i32 (ref $$u2))))
+ )
+
+ (func $$f1 (type $$t1))
+ (func $$f2 (type $$t2))
+ (func $$f3 (type $$t3))
+ (table funcref (elem $$f1 $$f2 $$f3))
+
+ (func (export "run")
+ (call_indirect (type $$t1) (i32.const 1) (ref.func $$f1) (i32.const 0))
+ (call_indirect (type $$t2) (i32.const 1) (ref.func $$f3) (i32.const 1))
+ (call_indirect (type $$t3) (i32.const 1) (ref.func $$f2) (i32.const 2))
+ (call_indirect (type $$u1) (i32.const 1) (ref.func $$f1) (i32.const 0))
+ (call_indirect (type $$u2) (i32.const 1) (ref.func $$f3) (i32.const 1))
+ (call_indirect (type $$u3) (i32.const 1) (ref.func $$f2) (i32.const 2))
+ )
+)`);
+
+// ./test/core/type-equivalence.wast:188
+assert_return(() => invoke($8, `run`, []), []);
+
+// ./test/core/type-equivalence.wast:195
+let $9 = instantiate(`(module
+ (type $$t1 (func (param f32 f32) (result f32)))
+ (func (export "f") (param (ref $$t1)))
+)`);
+
+// ./test/core/type-equivalence.wast:199
+register($9, `M`);
+
+// ./test/core/type-equivalence.wast:200
+let $10 = instantiate(`(module
+ (type $$t2 (func (param $$x f32) (param $$y f32) (result f32)))
+ (func (import "M" "f") (param (ref $$t2)))
+)`);
+
+// ./test/core/type-equivalence.wast:208
+let $11 = instantiate(`(module
+ (type $$s0 (func (param i32) (result f32)))
+ (type $$s1 (func (param i32 (ref $$s0)) (result (ref $$s0))))
+ (type $$s2 (func (param i32 (ref $$s0)) (result (ref $$s0))))
+ (type $$t1 (func (param (ref $$s1)) (result (ref $$s2))))
+ (type $$t2 (func (param (ref $$s2)) (result (ref $$s1))))
+ (func (export "f1") (param (ref $$t1)))
+ (func (export "f2") (param (ref $$t1)))
+)`);
+
+// ./test/core/type-equivalence.wast:217
+register($11, `N`);
+
+// ./test/core/type-equivalence.wast:218
+let $12 = instantiate(`(module
+ (type $$s0 (func (param i32) (result f32)))
+ (type $$s1 (func (param i32 (ref $$s0)) (result (ref $$s0))))
+ (type $$s2 (func (param i32 (ref $$s0)) (result (ref $$s0))))
+ (type $$t1 (func (param (ref $$s1)) (result (ref $$s2))))
+ (type $$t2 (func (param (ref $$s2)) (result (ref $$s1))))
+ (func (import "N" "f1") (param (ref $$t1)))
+ (func (import "N" "f1") (param (ref $$t2)))
+ (func (import "N" "f2") (param (ref $$t1)))
+ (func (import "N" "f2") (param (ref $$t1)))
+)`);
+
+// ./test/core/type-equivalence.wast:233
+let $13 = instantiate(`(module
+ (rec (type $$t1 (func (param i32 (ref $$t1)))))
+ (func (export "f") (param (ref $$t1)))
+)`);
+
+// ./test/core/type-equivalence.wast:237
+register($13, `Mr1`);
+
+// ./test/core/type-equivalence.wast:238
+let $14 = instantiate(`(module
+ (rec (type $$t2 (func (param i32 (ref $$t2)))))
+ (func (import "Mr1" "f") (param (ref $$t2)))
+)`);
+
+// ./test/core/type-equivalence.wast:246
+let $15 = instantiate(`(module
+ (rec
+ (type $$t1 (func (param i32 (ref $$t1))))
+ (type $$t2 (func (param i32 (ref $$t3))))
+ (type $$t3 (func (param i32 (ref $$t2))))
+ )
+ (func (export "f1") (param (ref $$t1)))
+ (func (export "f2") (param (ref $$t2)))
+ (func (export "f3") (param (ref $$t3)))
+)`);
+
+// ./test/core/type-equivalence.wast:256
+register($15, `Mr2`);
+
+// ./test/core/type-equivalence.wast:257
+let $16 = instantiate(`(module
+ (rec
+ (type $$t1 (func (param i32 (ref $$t1))))
+ (type $$t2 (func (param i32 (ref $$t3))))
+ (type $$t3 (func (param i32 (ref $$t2))))
+ )
+ (func (import "Mr2" "f1") (param (ref $$t1)))
+ (func (import "Mr2" "f2") (param (ref $$t2)))
+ (func (import "Mr2" "f3") (param (ref $$t3)))
+)`);
+
+// ./test/core/type-equivalence.wast:268
+let $17 = instantiate(`(module
+ (rec
+ (type $$t1 (func (param i32 (ref $$t3))))
+ (type $$t2 (func (param i32 (ref $$t1))))
+ (type $$t3 (func (param i32 (ref $$t2))))
+ )
+ (func (export "f1") (param (ref $$t1)))
+ (func (export "f2") (param (ref $$t2)))
+ (func (export "f3") (param (ref $$t3)))
+)`);
+
+// ./test/core/type-equivalence.wast:278
+register($17, `Mr3`);
+
+// ./test/core/type-equivalence.wast:279
+let $18 = instantiate(`(module
+ (rec
+ (type $$t1 (func (param i32 (ref $$t3))))
+ (type $$t2 (func (param i32 (ref $$t1))))
+ (type $$t3 (func (param i32 (ref $$t2))))
+ )
+ (func (import "Mr3" "f1") (param (ref $$t1)))
+ (func (import "Mr3" "f2") (param (ref $$t2)))
+ (func (import "Mr3" "f3") (param (ref $$t3)))
+)`);
+
+// ./test/core/type-equivalence.wast:290
+let $19 = instantiate(`(module
+ (rec
+ (type $$t1 (func (param i32 (ref $$u1))))
+ (type $$u1 (func (param f32 (ref $$t1))))
+ )
+
+ (rec
+ (type $$t2 (func (param i32 (ref $$u3))))
+ (type $$u2 (func (param f32 (ref $$t3))))
+ (type $$t3 (func (param i32 (ref $$u2))))
+ (type $$u3 (func (param f32 (ref $$t2))))
+ )
+
+ (func (export "f1") (param (ref $$t1)))
+ (func (export "f2") (param (ref $$t2)))
+ (func (export "f3") (param (ref $$t3)))
+)`);
+
+// ./test/core/type-equivalence.wast:307
+register($19, `Mr4`);
+
+// ./test/core/type-equivalence.wast:308
+let $20 = instantiate(`(module
+ (rec
+ (type $$t1 (func (param i32 (ref $$u1))))
+ (type $$u1 (func (param f32 (ref $$t1))))
+ )
+
+ (rec
+ (type $$t2 (func (param i32 (ref $$u3))))
+ (type $$u2 (func (param f32 (ref $$t3))))
+ (type $$t3 (func (param i32 (ref $$u2))))
+ (type $$u3 (func (param f32 (ref $$t2))))
+ )
+
+ (func (import "Mr4" "f1") (param (ref $$t1)))
+ (func (import "Mr4" "f2") (param (ref $$t2)))
+ (func (import "Mr4" "f3") (param (ref $$t3)))
+)`);
diff --git a/js/src/jit-test/tests/wasm/spec/gc/type-rec.wast.js b/js/src/jit-test/tests/wasm/spec/gc/type-rec.wast.js
new file mode 100644
index 0000000000..8bf18cb6e5
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/gc/type-rec.wast.js
@@ -0,0 +1,189 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/type-rec.wast
+
+// ./test/core/type-rec.wast:3
+let $0 = instantiate(`(module
+ (rec (type $$f1 (func)) (type (struct (field (ref $$f1)))))
+ (rec (type $$f2 (func)) (type (struct (field (ref $$f2)))))
+ (func $$f (type $$f2))
+ (global (ref $$f1) (ref.func $$f))
+)`);
+
+// ./test/core/type-rec.wast:10
+let $1 = instantiate(`(module
+ (rec (type $$f1 (func)) (type (struct (field (ref $$f1)))))
+ (rec (type $$f2 (func)) (type (struct (field (ref $$f2)))))
+ (rec
+ (type $$g1 (func))
+ (type (struct (field (ref $$f1) (ref $$f1) (ref $$f2) (ref $$f2) (ref $$g1))))
+ )
+ (rec
+ (type $$g2 (func))
+ (type (struct (field (ref $$f1) (ref $$f2) (ref $$f1) (ref $$f2) (ref $$g2))))
+ )
+ (func $$g (type $$g2))
+ (global (ref $$g1) (ref.func $$g))
+)`);
+
+// ./test/core/type-rec.wast:25
+assert_invalid(
+ () => instantiate(`(module
+ (rec (type $$f1 (func)) (type (struct (field (ref $$f1)))))
+ (rec (type $$f2 (func)) (type (struct (field (ref $$f1)))))
+ (func $$f (type $$f2))
+ (global (ref $$f1) (ref.func $$f))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/type-rec.wast:35
+assert_invalid(
+ () => instantiate(`(module
+ (rec (type $$f0 (func)) (type (struct (field (ref $$f0)))))
+ (rec (type $$f1 (func)) (type (struct (field (ref $$f0)))))
+ (rec (type $$f2 (func)) (type (struct (field (ref $$f1)))))
+ (func $$f (type $$f2))
+ (global (ref $$f1) (ref.func $$f))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/type-rec.wast:46
+assert_invalid(
+ () => instantiate(`(module
+ (rec (type $$f1 (func)) (type (struct)))
+ (rec (type (struct)) (type $$f2 (func)))
+ (global (ref $$f1) (ref.func $$f))
+ (func $$f (type $$f2))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/type-rec.wast:56
+assert_invalid(
+ () => instantiate(`(module
+ (rec (type $$f1 (func)) (type (struct)))
+ (rec (type $$f2 (func)) (type (struct)) (type (func)))
+ (global (ref $$f1) (ref.func $$f))
+ (func $$f (type $$f2))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/type-rec.wast:69
+let $2 = instantiate(`(module $$M
+ (rec (type $$f1 (func)) (type (struct)))
+ (func (export "f") (type $$f1))
+)`);
+register($2, `M`);
+
+// ./test/core/type-rec.wast:73
+register(`M`, `M`);
+
+// ./test/core/type-rec.wast:75
+let $3 = instantiate(`(module
+ (rec (type $$f2 (func)) (type (struct)))
+ (func (import "M" "f") (type $$f2))
+)`);
+
+// ./test/core/type-rec.wast:80
+assert_unlinkable(
+ () => instantiate(`(module
+ (rec (type (struct)) (type $$f2 (func)))
+ (func (import "M" "f") (type $$f2))
+ )`),
+ `incompatible import type`,
+);
+
+// ./test/core/type-rec.wast:88
+assert_unlinkable(
+ () => instantiate(`(module
+ (rec (type $$f2 (func)))
+ (func (import "M" "f") (type $$f2))
+ )`),
+ `incompatible import type`,
+);
+
+// ./test/core/type-rec.wast:99
+let $4 = instantiate(`(module
+ (rec (type $$f1 (func)) (type (struct)))
+ (rec (type $$f2 (func)) (type (struct)))
+ (table funcref (elem $$f1))
+ (func $$f1 (type $$f1))
+ (func (export "run") (call_indirect (type $$f2) (i32.const 0)))
+)`);
+
+// ./test/core/type-rec.wast:106
+assert_return(() => invoke($4, `run`, []), []);
+
+// ./test/core/type-rec.wast:108
+let $5 = instantiate(`(module
+ (rec (type $$f1 (func)) (type (struct)))
+ (rec (type (struct)) (type $$f2 (func)))
+ (table funcref (elem $$f1))
+ (func $$f1 (type $$f1))
+ (func (export "run") (call_indirect (type $$f2) (i32.const 0)))
+)`);
+
+// ./test/core/type-rec.wast:115
+assert_trap(() => invoke($5, `run`, []), `indirect call type mismatch`);
+
+// ./test/core/type-rec.wast:117
+let $6 = instantiate(`(module
+ (rec (type $$f1 (func)) (type (struct)))
+ (rec (type $$f2 (func)))
+ (table funcref (elem $$f1))
+ (func $$f1 (type $$f1))
+ (func (export "run") (call_indirect (type $$f2) (i32.const 0)))
+)`);
+
+// ./test/core/type-rec.wast:124
+assert_trap(() => invoke($6, `run`, []), `indirect call type mismatch`);
+
+// ./test/core/type-rec.wast:129
+let $7 = instantiate(`(module
+ (rec (type $$s (struct)))
+ (rec (type $$t (func (param (ref $$s)))))
+ (func $$f (param (ref $$s))) ;; okay, type is equivalent to $$t
+ (global (ref $$t) (ref.func $$f))
+)`);
+
+// ./test/core/type-rec.wast:136
+assert_invalid(
+ () => instantiate(`(module
+ (rec
+ (type $$s (struct))
+ (type $$t (func (param (ref $$s))))
+ )
+ (func $$f (param (ref $$s))) ;; type is not equivalent to $$t
+ (global (ref $$t) (ref.func $$f))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/type-rec.wast:148
+assert_invalid(
+ () => instantiate(`(module
+ (rec
+ (type (struct))
+ (type $$t (func))
+ )
+ (func $$f) ;; type is not equivalent to $$t
+ (global (ref $$t) (ref.func $$f))
+ )`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/gc/type-subtyping.wast.js b/js/src/jit-test/tests/wasm/spec/gc/type-subtyping.wast.js
new file mode 100644
index 0000000000..474789c145
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/gc/type-subtyping.wast.js
@@ -0,0 +1,943 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/gc/type-subtyping.wast
+
+// ./test/core/gc/type-subtyping.wast:3
+let $0 = instantiate(`(module
+ (type $$e0 (sub (array i32)))
+ (type $$e1 (sub $$e0 (array i32)))
+
+ (type $$e2 (sub (array anyref)))
+ (type $$e3 (sub (array (ref null $$e0))))
+ (type $$e4 (sub (array (ref $$e1))))
+
+ (type $$m1 (sub (array (mut i32))))
+ (type $$m2 (sub $$m1 (array (mut i32))))
+)`);
+
+// ./test/core/gc/type-subtyping.wast:15
+let $1 = instantiate(`(module
+ (type $$e0 (sub (struct)))
+ (type $$e1 (sub $$e0 (struct)))
+ (type $$e2 (sub $$e1 (struct (field i32))))
+ (type $$e3 (sub $$e2 (struct (field i32 (ref null $$e0)))))
+ (type $$e4 (sub $$e3 (struct (field i32 (ref $$e0) (mut i64)))))
+ (type $$e5 (sub $$e4 (struct (field i32 (ref $$e1) (mut i64)))))
+)`);
+
+// ./test/core/gc/type-subtyping.wast:24
+let $2 = instantiate(`(module
+ (type $$s (sub (struct)))
+ (type $$s' (sub $$s (struct)))
+
+ (type $$f1 (sub (func (param (ref $$s')) (result anyref))))
+ (type $$f2 (sub $$f1 (func (param (ref $$s)) (result (ref any)))))
+ (type $$f3 (sub $$f2 (func (param (ref null $$s)) (result (ref $$s)))))
+ (type $$f4 (sub $$f3 (func (param (ref null struct)) (result (ref $$s')))))
+)`);
+
+// ./test/core/gc/type-subtyping.wast:37
+let $3 = instantiate(`(module
+ (type $$t (sub (struct (field anyref))))
+ (rec (type $$r (sub $$t (struct (field (ref $$r))))))
+ (type $$t' (sub $$r (struct (field (ref $$r) i32))))
+)`);
+
+// ./test/core/gc/type-subtyping.wast:43
+let $4 = instantiate(`(module
+ (rec
+ (type $$r1 (sub (struct (field i32 (ref $$r1)))))
+ )
+ (rec
+ (type $$r2 (sub $$r1 (struct (field i32 (ref $$r3)))))
+ (type $$r3 (sub $$r1 (struct (field i32 (ref $$r2)))))
+ )
+)`);
+
+// ./test/core/gc/type-subtyping.wast:53
+let $5 = instantiate(`(module
+ (rec
+ (type $$a1 (sub (struct (field i32 (ref $$a2)))))
+ (type $$a2 (sub (struct (field i64 (ref $$a1)))))
+ )
+ (rec
+ (type $$b1 (sub $$a2 (struct (field i64 (ref $$a1) i32))))
+ (type $$b2 (sub $$a1 (struct (field i32 (ref $$a2) i32))))
+ (type $$b3 (sub $$a2 (struct (field i64 (ref $$b2) i32))))
+ )
+)`);
+
+// ./test/core/gc/type-subtyping.wast:68
+let $6 = instantiate(`(module
+ (rec
+ (type $$t1 (sub (func (param i32 (ref $$t3)))))
+ (type $$t2 (sub $$t1 (func (param i32 (ref $$t2)))))
+ (type $$t3 (sub $$t2 (func (param i32 (ref $$t1)))))
+ )
+
+ (func $$f1 (param $$r (ref $$t1))
+ (call $$f1 (local.get $$r))
+ )
+ (func $$f2 (param $$r (ref $$t2))
+ (call $$f1 (local.get $$r))
+ (call $$f2 (local.get $$r))
+ )
+ (func $$f3 (param $$r (ref $$t3))
+ (call $$f1 (local.get $$r))
+ (call $$f2 (local.get $$r))
+ (call $$f3 (local.get $$r))
+ )
+)`);
+
+// ./test/core/gc/type-subtyping.wast:89
+let $7 = instantiate(`(module
+ (rec
+ (type $$t1 (sub (func (result i32 (ref $$u1)))))
+ (type $$u1 (sub (func (result f32 (ref $$t1)))))
+ )
+
+ (rec
+ (type $$t2 (sub $$t1 (func (result i32 (ref $$u3)))))
+ (type $$u2 (sub $$u1 (func (result f32 (ref $$t3)))))
+ (type $$t3 (sub $$t1 (func (result i32 (ref $$u2)))))
+ (type $$u3 (sub $$u1 (func (result f32 (ref $$t2)))))
+ )
+
+ (func $$f1 (param $$r (ref $$t1))
+ (call $$f1 (local.get $$r))
+ )
+ (func $$f2 (param $$r (ref $$t2))
+ (call $$f1 (local.get $$r))
+ (call $$f2 (local.get $$r))
+ )
+ (func $$f3 (param $$r (ref $$t3))
+ (call $$f1 (local.get $$r))
+ (call $$f3 (local.get $$r))
+ )
+)`);
+
+// ./test/core/gc/type-subtyping.wast:115
+let $8 = instantiate(`(module
+ (rec (type $$f1 (sub (func))) (type (struct (field (ref $$f1)))))
+ (rec (type $$f2 (sub (func))) (type (struct (field (ref $$f2)))))
+ (rec (type $$g1 (sub $$f1 (func))) (type (struct)))
+ (rec (type $$g2 (sub $$f2 (func))) (type (struct)))
+ (func $$g (type $$g2))
+ (global (ref $$g1) (ref.func $$g))
+)`);
+
+// ./test/core/gc/type-subtyping.wast:124
+let $9 = instantiate(`(module
+ (rec (type $$f1 (sub (func))) (type $$s1 (sub (struct (field (ref $$f1))))))
+ (rec (type $$f2 (sub (func))) (type $$s2 (sub (struct (field (ref $$f2))))))
+ (rec
+ (type $$g1 (sub $$f1 (func)))
+ (type (sub $$s1 (struct (field (ref $$f1) (ref $$f1) (ref $$f2) (ref $$f2) (ref $$g1)))))
+ )
+ (rec
+ (type $$g2 (sub $$f2 (func)))
+ (type (sub $$s2 (struct (field (ref $$f1) (ref $$f2) (ref $$f1) (ref $$f2) (ref $$g2)))))
+ )
+ (func $$g (type $$g2))
+ (global (ref $$g1) (ref.func $$g))
+)`);
+
+// ./test/core/gc/type-subtyping.wast:139
+assert_invalid(
+ () => instantiate(`(module
+ (rec (type $$f1 (sub (func))) (type (struct (field (ref $$f1)))))
+ (rec (type $$f2 (sub (func))) (type (struct (field (ref $$f1)))))
+ (rec (type $$g1 (sub $$f1 (func))) (type (struct)))
+ (rec (type $$g2 (sub $$f2 (func))) (type (struct)))
+ (func $$g (type $$g2))
+ (global (ref $$g1) (ref.func $$g))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/gc/type-subtyping.wast:151
+let $10 = instantiate(`(module
+ (rec (type $$f1 (sub (func))) (type (struct (field (ref $$f1)))))
+ (rec (type $$f2 (sub (func))) (type (struct (field (ref $$f2)))))
+ (rec (type $$g (sub $$f1 (func))) (type (struct)))
+ (func $$g (type $$g))
+ (global (ref $$f1) (ref.func $$g))
+)`);
+
+// ./test/core/gc/type-subtyping.wast:159
+let $11 = instantiate(`(module
+ (rec (type $$f1 (sub (func))) (type $$s1 (sub (struct (field (ref $$f1))))))
+ (rec (type $$f2 (sub (func))) (type $$s2 (sub (struct (field (ref $$f2))))))
+ (rec
+ (type $$g1 (sub $$f1 (func)))
+ (type (sub $$s1 (struct (field (ref $$f1) (ref $$f1) (ref $$f2) (ref $$f2) (ref $$g1)))))
+ )
+ (rec
+ (type $$g2 (sub $$f2 (func)))
+ (type (sub $$s2 (struct (field (ref $$f1) (ref $$f2) (ref $$f1) (ref $$f2) (ref $$g2)))))
+ )
+ (rec (type $$h (sub $$g2 (func))) (type (struct)))
+ (func $$h (type $$h))
+ (global (ref $$f1) (ref.func $$h))
+ (global (ref $$g1) (ref.func $$h))
+)`);
+
+// ./test/core/gc/type-subtyping.wast:177
+let $12 = instantiate(`(module
+ (rec (type $$f11 (sub (func (result (ref func))))) (type $$f12 (sub $$f11 (func (result (ref $$f11))))))
+ (rec (type $$f21 (sub (func (result (ref func))))) (type $$f22 (sub $$f21 (func (result (ref $$f21))))))
+ (func $$f11 (type $$f11) (unreachable))
+ (func $$f12 (type $$f12) (unreachable))
+ (global (ref $$f11) (ref.func $$f11))
+ (global (ref $$f21) (ref.func $$f11))
+ (global (ref $$f12) (ref.func $$f12))
+ (global (ref $$f22) (ref.func $$f12))
+)`);
+
+// ./test/core/gc/type-subtyping.wast:188
+let $13 = instantiate(`(module
+ (rec (type $$f11 (sub (func (result (ref func))))) (type $$f12 (sub $$f11 (func (result (ref $$f11))))))
+ (rec (type $$f21 (sub (func (result (ref func))))) (type $$f22 (sub $$f21 (func (result (ref $$f21))))))
+ (rec (type $$g11 (sub $$f11 (func (result (ref func))))) (type $$g12 (sub $$g11 (func (result (ref $$g11))))))
+ (rec (type $$g21 (sub $$f21 (func (result (ref func))))) (type $$g22 (sub $$g21 (func (result (ref $$g21))))))
+ (func $$g11 (type $$g11) (unreachable))
+ (func $$g12 (type $$g12) (unreachable))
+ (global (ref $$f11) (ref.func $$g11))
+ (global (ref $$f21) (ref.func $$g11))
+ (global (ref $$f11) (ref.func $$g12))
+ (global (ref $$f21) (ref.func $$g12))
+ (global (ref $$g11) (ref.func $$g11))
+ (global (ref $$g21) (ref.func $$g11))
+ (global (ref $$g12) (ref.func $$g12))
+ (global (ref $$g22) (ref.func $$g12))
+)`);
+
+// ./test/core/gc/type-subtyping.wast:205
+assert_invalid(
+ () => instantiate(`(module
+ (rec (type $$f11 (sub (func))) (type $$f12 (sub $$f11 (func))))
+ (rec (type $$f21 (sub (func))) (type $$f22 (sub $$f11 (func))))
+ (func $$f (type $$f21))
+ (global (ref $$f11) (ref.func $$f))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/gc/type-subtyping.wast:215
+assert_invalid(
+ () => instantiate(`(module
+ (rec (type $$f01 (sub (func))) (type $$f02 (sub $$f01 (func))))
+ (rec (type $$f11 (sub (func))) (type $$f12 (sub $$f01 (func))))
+ (rec (type $$f21 (sub (func))) (type $$f22 (sub $$f11 (func))))
+ (func $$f (type $$f21))
+ (global (ref $$f11) (ref.func $$f))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/gc/type-subtyping.wast:229
+let $14 = instantiate(`(module
+ (type $$t0 (sub (func (result (ref null func)))))
+ (rec (type $$t1 (sub $$t0 (func (result (ref null $$t1))))))
+ (rec (type $$t2 (sub $$t1 (func (result (ref null $$t2))))))
+
+ (func $$f0 (type $$t0) (ref.null func))
+ (func $$f1 (type $$t1) (ref.null $$t1))
+ (func $$f2 (type $$t2) (ref.null $$t2))
+ (table funcref (elem $$f0 $$f1 $$f2))
+
+ (func (export "run")
+ (block (result (ref null func)) (call_indirect (type $$t0) (i32.const 0)))
+ (block (result (ref null func)) (call_indirect (type $$t0) (i32.const 1)))
+ (block (result (ref null func)) (call_indirect (type $$t0) (i32.const 2)))
+ (block (result (ref null $$t1)) (call_indirect (type $$t1) (i32.const 1)))
+ (block (result (ref null $$t1)) (call_indirect (type $$t1) (i32.const 2)))
+ (block (result (ref null $$t2)) (call_indirect (type $$t2) (i32.const 2)))
+
+ (block (result (ref null $$t0)) (ref.cast (ref $$t0) (table.get (i32.const 0))))
+ (block (result (ref null $$t0)) (ref.cast (ref $$t0) (table.get (i32.const 1))))
+ (block (result (ref null $$t0)) (ref.cast (ref $$t0) (table.get (i32.const 2))))
+ (block (result (ref null $$t1)) (ref.cast (ref $$t1) (table.get (i32.const 1))))
+ (block (result (ref null $$t1)) (ref.cast (ref $$t1) (table.get (i32.const 2))))
+ (block (result (ref null $$t2)) (ref.cast (ref $$t2) (table.get (i32.const 2))))
+ (br 0)
+ )
+
+ (func (export "fail1")
+ (block (result (ref null $$t1)) (call_indirect (type $$t1) (i32.const 0)))
+ (br 0)
+ )
+ (func (export "fail2")
+ (block (result (ref null $$t1)) (call_indirect (type $$t2) (i32.const 0)))
+ (br 0)
+ )
+ (func (export "fail3")
+ (block (result (ref null $$t1)) (call_indirect (type $$t2) (i32.const 1)))
+ (br 0)
+ )
+
+ (func (export "fail4")
+ (ref.cast (ref $$t1) (table.get (i32.const 0)))
+ (br 0)
+ )
+ (func (export "fail5")
+ (ref.cast (ref $$t2) (table.get (i32.const 0)))
+ (br 0)
+ )
+ (func (export "fail6")
+ (ref.cast (ref $$t2) (table.get (i32.const 1)))
+ (br 0)
+ )
+)`);
+
+// ./test/core/gc/type-subtyping.wast:282
+assert_return(() => invoke($14, `run`, []), []);
+
+// ./test/core/gc/type-subtyping.wast:283
+assert_trap(() => invoke($14, `fail1`, []), `indirect call`);
+
+// ./test/core/gc/type-subtyping.wast:284
+assert_trap(() => invoke($14, `fail2`, []), `indirect call`);
+
+// ./test/core/gc/type-subtyping.wast:285
+assert_trap(() => invoke($14, `fail3`, []), `indirect call`);
+
+// ./test/core/gc/type-subtyping.wast:286
+assert_trap(() => invoke($14, `fail4`, []), `cast`);
+
+// ./test/core/gc/type-subtyping.wast:287
+assert_trap(() => invoke($14, `fail5`, []), `cast`);
+
+// ./test/core/gc/type-subtyping.wast:288
+assert_trap(() => invoke($14, `fail6`, []), `cast`);
+
+// ./test/core/gc/type-subtyping.wast:290
+let $15 = instantiate(`(module
+ (type $$t1 (sub (func)))
+ (type $$t2 (sub final (func)))
+
+ (func $$f1 (type $$t1))
+ (func $$f2 (type $$t2))
+ (table funcref (elem $$f1 $$f2))
+
+ (func (export "fail1")
+ (block (call_indirect (type $$t1) (i32.const 1)))
+ )
+ (func (export "fail2")
+ (block (call_indirect (type $$t2) (i32.const 0)))
+ )
+
+ (func (export "fail3")
+ (ref.cast (ref $$t1) (table.get (i32.const 1)))
+ (drop)
+ )
+ (func (export "fail4")
+ (ref.cast (ref $$t2) (table.get (i32.const 0)))
+ (drop)
+ )
+)`);
+
+// ./test/core/gc/type-subtyping.wast:314
+assert_trap(() => invoke($15, `fail1`, []), `indirect call`);
+
+// ./test/core/gc/type-subtyping.wast:315
+assert_trap(() => invoke($15, `fail2`, []), `indirect call`);
+
+// ./test/core/gc/type-subtyping.wast:316
+assert_trap(() => invoke($15, `fail3`, []), `cast`);
+
+// ./test/core/gc/type-subtyping.wast:317
+assert_trap(() => invoke($15, `fail4`, []), `cast`);
+
+// ./test/core/gc/type-subtyping.wast:320
+let $16 = instantiate(`(module
+ (rec (type $$f1 (sub (func))) (type (struct (field (ref $$f1)))))
+ (rec (type $$f2 (sub (func))) (type (struct (field (ref $$f2)))))
+ (rec (type $$g1 (sub $$f1 (func))) (type (struct)))
+ (rec (type $$g2 (sub $$f2 (func))) (type (struct)))
+ (func $$g (type $$g2)) (elem declare func $$g)
+ (func (export "run") (result i32)
+ (ref.test (ref $$g1) (ref.func $$g))
+ )
+)`);
+
+// ./test/core/gc/type-subtyping.wast:330
+assert_return(() => invoke($16, `run`, []), [value("i32", 1)]);
+
+// ./test/core/gc/type-subtyping.wast:332
+let $17 = instantiate(`(module
+ (rec (type $$f1 (sub (func))) (type $$s1 (sub (struct (field (ref $$f1))))))
+ (rec (type $$f2 (sub (func))) (type $$s2 (sub (struct (field (ref $$f2))))))
+ (rec
+ (type $$g1 (sub $$f1 (func)))
+ (type (sub $$s1 (struct (field (ref $$f1) (ref $$f1) (ref $$f2) (ref $$f2) (ref $$g1)))))
+ )
+ (rec
+ (type $$g2 (sub $$f2 (func)))
+ (type (sub $$s2 (struct (field (ref $$f1) (ref $$f2) (ref $$f1) (ref $$f2) (ref $$g2)))))
+ )
+ (func $$g (type $$g2)) (elem declare func $$g)
+ (func (export "run") (result i32)
+ (ref.test (ref $$g1) (ref.func $$g))
+ )
+)`);
+
+// ./test/core/gc/type-subtyping.wast:348
+assert_return(() => invoke($17, `run`, []), [value("i32", 1)]);
+
+// ./test/core/gc/type-subtyping.wast:350
+let $18 = instantiate(`(module
+ (rec (type $$f1 (sub (func))) (type (struct (field (ref $$f1)))))
+ (rec (type $$f2 (sub (func))) (type (struct (field (ref $$f1)))))
+ (rec (type $$g1 (sub $$f1 (func))) (type (struct)))
+ (rec (type $$g2 (sub $$f2 (func))) (type (struct)))
+ (func $$g (type $$g2)) (elem declare func $$g)
+ (func (export "run") (result i32)
+ (ref.test (ref $$g1) (ref.func $$g))
+ )
+)`);
+
+// ./test/core/gc/type-subtyping.wast:360
+assert_return(() => invoke($18, `run`, []), [value("i32", 0)]);
+
+// ./test/core/gc/type-subtyping.wast:362
+let $19 = instantiate(`(module
+ (rec (type $$f1 (sub (func))) (type (struct (field (ref $$f1)))))
+ (rec (type $$f2 (sub (func))) (type (struct (field (ref $$f2)))))
+ (rec (type $$g (sub $$f1 (func))) (type (struct)))
+ (func $$g (type $$g)) (elem declare func $$g)
+ (func (export "run") (result i32)
+ (ref.test (ref $$f1) (ref.func $$g))
+ )
+)`);
+
+// ./test/core/gc/type-subtyping.wast:371
+assert_return(() => invoke($19, `run`, []), [value("i32", 1)]);
+
+// ./test/core/gc/type-subtyping.wast:373
+let $20 = instantiate(`(module
+ (rec (type $$f1 (sub (func))) (type $$s1 (sub (struct (field (ref $$f1))))))
+ (rec (type $$f2 (sub (func))) (type $$s2 (sub (struct (field (ref $$f2))))))
+ (rec
+ (type $$g1 (sub $$f1 (func)))
+ (type (sub $$s1 (struct (field (ref $$f1) (ref $$f1) (ref $$f2) (ref $$f2) (ref $$g1)))))
+ )
+ (rec
+ (type $$g2 (sub $$f2 (func)))
+ (type (sub $$s2 (struct (field (ref $$f1) (ref $$f2) (ref $$f1) (ref $$f2) (ref $$g2)))))
+ )
+ (rec (type $$h (sub $$g2 (func))) (type (struct)))
+ (func $$h (type $$h)) (elem declare func $$h)
+ (func (export "run") (result i32 i32)
+ (ref.test (ref $$f1) (ref.func $$h))
+ (ref.test (ref $$g1) (ref.func $$h))
+ )
+)`);
+
+// ./test/core/gc/type-subtyping.wast:391
+assert_return(() => invoke($20, `run`, []), [value("i32", 1), value("i32", 1)]);
+
+// ./test/core/gc/type-subtyping.wast:394
+let $21 = instantiate(`(module
+ (rec (type $$f11 (sub (func (result (ref func))))) (type $$f12 (sub $$f11 (func (result (ref $$f11))))))
+ (rec (type $$f21 (sub (func (result (ref func))))) (type $$f22 (sub $$f21 (func (result (ref $$f21))))))
+ (func $$f11 (type $$f11) (unreachable)) (elem declare func $$f11)
+ (func $$f12 (type $$f12) (unreachable)) (elem declare func $$f12)
+ (func (export "run") (result i32 i32 i32 i32)
+ (ref.test (ref $$f11) (ref.func $$f11))
+ (ref.test (ref $$f21) (ref.func $$f11))
+ (ref.test (ref $$f12) (ref.func $$f12))
+ (ref.test (ref $$f22) (ref.func $$f12))
+ )
+)`);
+
+// ./test/core/gc/type-subtyping.wast:406
+assert_return(
+ () => invoke($21, `run`, []),
+ [value("i32", 1), value("i32", 1), value("i32", 1), value("i32", 1)],
+);
+
+// ./test/core/gc/type-subtyping.wast:410
+let $22 = instantiate(`(module
+ (rec (type $$f11 (sub (func (result (ref func))))) (type $$f12 (sub $$f11 (func (result (ref $$f11))))))
+ (rec (type $$f21 (sub (func (result (ref func))))) (type $$f22 (sub $$f21 (func (result (ref $$f21))))))
+ (rec (type $$g11 (sub $$f11 (func (result (ref func))))) (type $$g12 (sub $$g11 (func (result (ref $$g11))))))
+ (rec (type $$g21 (sub $$f21 (func (result (ref func))))) (type $$g22 (sub $$g21 (func (result (ref $$g21))))))
+ (func $$g11 (type $$g11) (unreachable)) (elem declare func $$g11)
+ (func $$g12 (type $$g12) (unreachable)) (elem declare func $$g12)
+ (func (export "run") (result i32 i32 i32 i32 i32 i32 i32 i32)
+ (ref.test (ref $$f11) (ref.func $$g11))
+ (ref.test (ref $$f21) (ref.func $$g11))
+ (ref.test (ref $$f11) (ref.func $$g12))
+ (ref.test (ref $$f21) (ref.func $$g12))
+ (ref.test (ref $$g11) (ref.func $$g11))
+ (ref.test (ref $$g21) (ref.func $$g11))
+ (ref.test (ref $$g12) (ref.func $$g12))
+ (ref.test (ref $$g22) (ref.func $$g12))
+ )
+)`);
+
+// ./test/core/gc/type-subtyping.wast:428
+assert_return(
+ () => invoke($22, `run`, []),
+ [
+ value("i32", 1),
+ value("i32", 1),
+ value("i32", 1),
+ value("i32", 1),
+ value("i32", 1),
+ value("i32", 1),
+ value("i32", 1),
+ value("i32", 1),
+ ],
+);
+
+// ./test/core/gc/type-subtyping.wast:433
+let $23 = instantiate(`(module
+ (rec (type $$f11 (sub (func))) (type $$f12 (sub $$f11 (func))))
+ (rec (type $$f21 (sub (func))) (type $$f22 (sub $$f11 (func))))
+ (func $$f (type $$f21)) (elem declare func $$f)
+ (func (export "run") (result i32)
+ (ref.test (ref $$f11) (ref.func $$f))
+ )
+)`);
+
+// ./test/core/gc/type-subtyping.wast:441
+assert_return(() => invoke($23, `run`, []), [value("i32", 0)]);
+
+// ./test/core/gc/type-subtyping.wast:443
+let $24 = instantiate(`(module
+ (rec (type $$f01 (sub (func))) (type $$f02 (sub $$f01 (func))))
+ (rec (type $$f11 (sub (func))) (type $$f12 (sub $$f01 (func))))
+ (rec (type $$f21 (sub (func))) (type $$f22 (sub $$f11 (func))))
+ (func $$f (type $$f21)) (elem declare func $$f)
+ (func (export "run") (result i32)
+ (ref.test (ref $$f11) (ref.func $$f))
+ )
+)`);
+
+// ./test/core/gc/type-subtyping.wast:452
+assert_return(() => invoke($24, `run`, []), [value("i32", 0)]);
+
+// ./test/core/gc/type-subtyping.wast:458
+let $25 = instantiate(`(module
+ (type $$t0 (sub (func (result (ref null func)))))
+ (rec (type $$t1 (sub $$t0 (func (result (ref null $$t1))))))
+ (rec (type $$t2 (sub $$t1 (func (result (ref null $$t2))))))
+
+ (func (export "f0") (type $$t0) (ref.null func))
+ (func (export "f1") (type $$t1) (ref.null $$t1))
+ (func (export "f2") (type $$t2) (ref.null $$t2))
+)`);
+
+// ./test/core/gc/type-subtyping.wast:467
+register($25, `M`);
+
+// ./test/core/gc/type-subtyping.wast:469
+let $26 = instantiate(`(module
+ (type $$t0 (sub (func (result (ref null func)))))
+ (rec (type $$t1 (sub $$t0 (func (result (ref null $$t1))))))
+ (rec (type $$t2 (sub $$t1 (func (result (ref null $$t2))))))
+
+ (func (import "M" "f0") (type $$t0))
+ (func (import "M" "f1") (type $$t0))
+ (func (import "M" "f1") (type $$t1))
+ (func (import "M" "f2") (type $$t0))
+ (func (import "M" "f2") (type $$t1))
+ (func (import "M" "f2") (type $$t2))
+)`);
+
+// ./test/core/gc/type-subtyping.wast:482
+assert_unlinkable(
+ () => instantiate(`(module
+ (type $$t0 (sub (func (result (ref null func)))))
+ (rec (type $$t1 (sub $$t0 (func (result (ref null $$t1))))))
+ (rec (type $$t2 (sub $$t1 (func (result (ref null $$t2))))))
+ (func (import "M" "f0") (type $$t1))
+ )`),
+ `incompatible import type`,
+);
+
+// ./test/core/gc/type-subtyping.wast:492
+assert_unlinkable(
+ () => instantiate(`(module
+ (type $$t0 (sub (func (result (ref null func)))))
+ (rec (type $$t1 (sub $$t0 (func (result (ref null $$t1))))))
+ (rec (type $$t2 (sub $$t1 (func (result (ref null $$t2))))))
+ (func (import "M" "f0") (type $$t2))
+ )`),
+ `incompatible import type`,
+);
+
+// ./test/core/gc/type-subtyping.wast:502
+assert_unlinkable(
+ () => instantiate(`(module
+ (type $$t0 (sub (func (result (ref null func)))))
+ (rec (type $$t1 (sub $$t0 (func (result (ref null $$t1))))))
+ (rec (type $$t2 (sub $$t1 (func (result (ref null $$t2))))))
+ (func (import "M" "f1") (type $$t2))
+ )`),
+ `incompatible import type`,
+);
+
+// ./test/core/gc/type-subtyping.wast:512
+let $27 = instantiate(`(module
+ (type $$t1 (sub (func)))
+ (type $$t2 (sub final (func)))
+ (func (export "f1") (type $$t1))
+ (func (export "f2") (type $$t2))
+)`);
+
+// ./test/core/gc/type-subtyping.wast:518
+register($27, `M2`);
+
+// ./test/core/gc/type-subtyping.wast:520
+assert_unlinkable(
+ () => instantiate(`(module
+ (type $$t1 (sub (func)))
+ (type $$t2 (sub final (func)))
+ (func (import "M2" "f1") (type $$t2))
+ )`),
+ `incompatible import type`,
+);
+
+// ./test/core/gc/type-subtyping.wast:528
+assert_unlinkable(
+ () => instantiate(`(module
+ (type $$t1 (sub (func)))
+ (type $$t2 (sub final (func)))
+ (func (import "M2" "f2") (type $$t1))
+ )`),
+ `incompatible import type`,
+);
+
+// ./test/core/gc/type-subtyping.wast:538
+let $28 = instantiate(`(module
+ (rec (type $$f2 (sub (func))) (type (struct (field (ref $$f2)))))
+ (rec (type $$g2 (sub $$f2 (func))) (type (struct)))
+ (func (export "g") (type $$g2))
+)`);
+
+// ./test/core/gc/type-subtyping.wast:543
+register($28, `M3`);
+
+// ./test/core/gc/type-subtyping.wast:544
+let $29 = instantiate(`(module
+ (rec (type $$f1 (sub (func))) (type (struct (field (ref $$f1)))))
+ (rec (type $$g1 (sub $$f1 (func))) (type (struct)))
+ (func (import "M3" "g") (type $$g1))
+)`);
+
+// ./test/core/gc/type-subtyping.wast:550
+let $30 = instantiate(`(module
+ (rec (type $$f1 (sub (func))) (type $$s1 (sub (struct (field (ref $$f1))))))
+ (rec (type $$f2 (sub (func))) (type $$s2 (sub (struct (field (ref $$f2))))))
+ (rec
+ (type $$g2 (sub $$f2 (func)))
+ (type (sub $$s2 (struct (field (ref $$f1) (ref $$f2) (ref $$f1) (ref $$f2) (ref $$g2)))))
+ )
+ (func (export "g") (type $$g2))
+)`);
+
+// ./test/core/gc/type-subtyping.wast:559
+register($30, `M4`);
+
+// ./test/core/gc/type-subtyping.wast:560
+let $31 = instantiate(`(module
+ (rec (type $$f1 (sub (func))) (type $$s1 (sub (struct (field (ref $$f1))))))
+ (rec (type $$f2 (sub (func))) (type $$s2 (sub (struct (field (ref $$f2))))))
+ (rec
+ (type $$g1 (sub $$f1 (func)))
+ (type (sub $$s1 (struct (field (ref $$f1) (ref $$f1) (ref $$f2) (ref $$f2) (ref $$g1)))))
+ )
+ (func (import "M4" "g") (type $$g1))
+)`);
+
+// ./test/core/gc/type-subtyping.wast:570
+let $32 = instantiate(`(module
+ (rec (type $$f1 (sub (func))) (type (struct (field (ref $$f1)))))
+ (rec (type $$f2 (sub (func))) (type (struct (field (ref $$f1)))))
+ (rec (type $$g2 (sub $$f2 (func))) (type (struct)))
+ (func (export "g") (type $$g2))
+)`);
+
+// ./test/core/gc/type-subtyping.wast:576
+register($32, `M5`);
+
+// ./test/core/gc/type-subtyping.wast:577
+assert_unlinkable(
+ () => instantiate(`(module
+ (rec (type $$f1 (sub (func))) (type (struct (field (ref $$f1)))))
+ (rec (type $$g1 (sub $$f1 (func))) (type (struct)))
+ (func (import "M5" "g") (type $$g1))
+ )`),
+ `incompatible import`,
+);
+
+// ./test/core/gc/type-subtyping.wast:586
+let $33 = instantiate(`(module
+ (rec (type $$f1 (sub (func))) (type (struct (field (ref $$f1)))))
+ (rec (type $$f2 (sub (func))) (type (struct (field (ref $$f2)))))
+ (rec (type $$g (sub $$f1 (func))) (type (struct)))
+ (func (export "g") (type $$g))
+)`);
+
+// ./test/core/gc/type-subtyping.wast:592
+register($33, `M6`);
+
+// ./test/core/gc/type-subtyping.wast:593
+let $34 = instantiate(`(module
+ (rec (type $$f1 (sub (func))) (type (struct (field (ref $$f1)))))
+ (rec (type $$f2 (sub (func))) (type (struct (field (ref $$f2)))))
+ (rec (type $$g (sub $$f1 (func))) (type (struct)))
+ (func (import "M6" "g") (type $$f1))
+)`);
+
+// ./test/core/gc/type-subtyping.wast:600
+let $35 = instantiate(`(module
+ (rec (type $$f1 (sub (func))) (type $$s1 (sub (struct (field (ref $$f1))))))
+ (rec (type $$f2 (sub (func))) (type $$s2 (sub (struct (field (ref $$f2))))))
+ (rec
+ (type $$g2 (sub $$f2 (func)))
+ (type (sub $$s2 (struct (field (ref $$f1) (ref $$f2) (ref $$f1) (ref $$f2) (ref $$g2)))))
+ )
+ (rec (type $$h (sub $$g2 (func))) (type (struct)))
+ (func (export "h") (type $$h))
+)`);
+
+// ./test/core/gc/type-subtyping.wast:610
+register($35, `M7`);
+
+// ./test/core/gc/type-subtyping.wast:611
+let $36 = instantiate(`(module
+ (rec (type $$f1 (sub (func))) (type $$s1 (sub (struct (field (ref $$f1))))))
+ (rec (type $$f2 (sub (func))) (type $$s2 (sub (struct (field (ref $$f2))))))
+ (rec
+ (type $$g1 (sub $$f1 (func)))
+ (type (sub $$s1 (struct (field (ref $$f1) (ref $$f1) (ref $$f2) (ref $$f2) (ref $$g1)))))
+ )
+ (rec (type $$h (sub $$g1 (func))) (type (struct)))
+ (func (import "M7" "h") (type $$f1))
+ (func (import "M7" "h") (type $$g1))
+)`);
+
+// ./test/core/gc/type-subtyping.wast:624
+let $37 = instantiate(`(module
+ (rec (type $$f11 (sub (func (result (ref func))))) (type $$f12 (sub $$f11 (func (result (ref $$f11))))))
+ (rec (type $$f21 (sub (func (result (ref func))))) (type $$f22 (sub $$f21 (func (result (ref $$f21))))))
+ (func (export "f11") (type $$f11) (unreachable))
+ (func (export "f12") (type $$f12) (unreachable))
+)`);
+
+// ./test/core/gc/type-subtyping.wast:630
+register($37, `M8`);
+
+// ./test/core/gc/type-subtyping.wast:631
+let $38 = instantiate(`(module
+ (rec (type $$f11 (sub (func (result (ref func))))) (type $$f12 (sub $$f11 (func (result (ref $$f11))))))
+ (rec (type $$f21 (sub (func (result (ref func))))) (type $$f22 (sub $$f21 (func (result (ref $$f21))))))
+ (func (import "M8" "f11") (type $$f11))
+ (func (import "M8" "f11") (type $$f21))
+ (func (import "M8" "f12") (type $$f12))
+ (func (import "M8" "f12") (type $$f22))
+)`);
+
+// ./test/core/gc/type-subtyping.wast:640
+let $39 = instantiate(`(module
+ (rec (type $$f11 (sub (func (result (ref func))))) (type $$f12 (sub $$f11 (func (result (ref $$f11))))))
+ (rec (type $$f21 (sub (func (result (ref func))))) (type $$f22 (sub $$f21 (func (result (ref $$f21))))))
+ (rec (type $$g11 (sub $$f11 (func (result (ref func))))) (type $$g12 (sub $$g11 (func (result (ref $$g11))))))
+ (rec (type $$g21 (sub $$f21 (func (result (ref func))))) (type $$g22 (sub $$g21 (func (result (ref $$g21))))))
+ (func (export "g11") (type $$g11) (unreachable))
+ (func (export "g12") (type $$g12) (unreachable))
+)`);
+
+// ./test/core/gc/type-subtyping.wast:648
+register($39, `M9`);
+
+// ./test/core/gc/type-subtyping.wast:649
+let $40 = instantiate(`(module
+ (rec (type $$f11 (sub (func (result (ref func))))) (type $$f12 (sub $$f11 (func (result (ref $$f11))))))
+ (rec (type $$f21 (sub (func (result (ref func))))) (type $$f22 (sub $$f21 (func (result (ref $$f21))))))
+ (rec (type $$g11 (sub $$f11 (func (result (ref func))))) (type $$g12 (sub $$g11 (func (result (ref $$g11))))))
+ (rec (type $$g21 (sub $$f21 (func (result (ref func))))) (type $$g22 (sub $$g21 (func (result (ref $$g21))))))
+ (func (import "M9" "g11") (type $$f11))
+ (func (import "M9" "g11") (type $$f21))
+ (func (import "M9" "g12") (type $$f11))
+ (func (import "M9" "g12") (type $$f21))
+ (func (import "M9" "g11") (type $$g11))
+ (func (import "M9" "g11") (type $$g21))
+ (func (import "M9" "g12") (type $$g12))
+ (func (import "M9" "g12") (type $$g22))
+)`);
+
+// ./test/core/gc/type-subtyping.wast:664
+let $41 = instantiate(`(module
+ (rec (type $$f11 (sub (func))) (type $$f12 (sub $$f11 (func))))
+ (rec (type $$f21 (sub (func))) (type $$f22 (sub $$f11 (func))))
+ (func (export "f") (type $$f21))
+)`);
+
+// ./test/core/gc/type-subtyping.wast:669
+register($41, `M10`);
+
+// ./test/core/gc/type-subtyping.wast:670
+assert_unlinkable(
+ () => instantiate(`(module
+ (rec (type $$f11 (sub (func))) (type $$f12 (sub $$f11 (func))))
+ (func (import "M10" "f") (type $$f11))
+ )`),
+ `incompatible import`,
+);
+
+// ./test/core/gc/type-subtyping.wast:678
+let $42 = instantiate(`(module
+ (rec (type $$f01 (sub (func))) (type $$f02 (sub $$f01 (func))))
+ (rec (type $$f11 (sub (func))) (type $$f12 (sub $$f01 (func))))
+ (rec (type $$f21 (sub (func))) (type $$f22 (sub $$f11 (func))))
+ (func (export "f") (type $$f21))
+)`);
+
+// ./test/core/gc/type-subtyping.wast:684
+register($42, `M11`);
+
+// ./test/core/gc/type-subtyping.wast:685
+assert_unlinkable(
+ () => instantiate(`(module
+ (rec (type $$f01 (sub (func))) (type $$f02 (sub $$f01 (func))))
+ (rec (type $$f11 (sub (func))) (type $$f12 (sub $$f01 (func))))
+ (func (import "M11" "f") (type $$f11))
+ )`),
+ `incompatible import`,
+);
+
+// ./test/core/gc/type-subtyping.wast:698
+assert_invalid(
+ () => instantiate(`(module
+ (type $$t (func))
+ (type $$s (sub $$t (func)))
+ )`),
+ `sub type`,
+);
+
+// ./test/core/gc/type-subtyping.wast:706
+assert_invalid(
+ () => instantiate(`(module
+ (type $$t (struct))
+ (type $$s (sub $$t (struct)))
+ )`),
+ `sub type`,
+);
+
+// ./test/core/gc/type-subtyping.wast:714
+assert_invalid(
+ () => instantiate(`(module
+ (type $$t (sub final (func)))
+ (type $$s (sub $$t (func)))
+ )`),
+ `sub type`,
+);
+
+// ./test/core/gc/type-subtyping.wast:722
+assert_invalid(
+ () => instantiate(`(module
+ (type $$t (sub (func)))
+ (type $$s (sub final $$t (func)))
+ (type $$u (sub $$s (func)))
+ )`),
+ `sub type`,
+);
+
+// ./test/core/gc/type-subtyping.wast:735
+assert_invalid(
+ () => instantiate(`(module
+ (type $$a0 (sub (array i32)))
+ (type $$s0 (sub $$a0 (struct)))
+ )`),
+ `sub type`,
+);
+
+// ./test/core/gc/type-subtyping.wast:743
+assert_invalid(
+ () => instantiate(`(module
+ (type $$f0 (sub (func (param i32) (result i32))))
+ (type $$s0 (sub $$f0 (struct)))
+ )`),
+ `sub type`,
+);
+
+// ./test/core/gc/type-subtyping.wast:751
+assert_invalid(
+ () => instantiate(`(module
+ (type $$s0 (sub (struct)))
+ (type $$a0 (sub $$s0 (array i32)))
+ )`),
+ `sub type`,
+);
+
+// ./test/core/gc/type-subtyping.wast:759
+assert_invalid(
+ () => instantiate(`(module
+ (type $$f0 (sub (func (param i32) (result i32))))
+ (type $$a0 (sub $$f0 (array i32)))
+ )`),
+ `sub type`,
+);
+
+// ./test/core/gc/type-subtyping.wast:767
+assert_invalid(
+ () => instantiate(`(module
+ (type $$s0 (sub (struct)))
+ (type $$f0 (sub $$s0 (func (param i32) (result i32))))
+ )`),
+ `sub type`,
+);
+
+// ./test/core/gc/type-subtyping.wast:775
+assert_invalid(
+ () => instantiate(`(module
+ (type $$a0 (sub (array i32)))
+ (type $$f0 (sub $$a0 (func (param i32) (result i32))))
+ )`),
+ `sub type`,
+);
+
+// ./test/core/gc/type-subtyping.wast:783
+assert_invalid(
+ () => instantiate(`(module
+ (type $$a0 (sub (array i32)))
+ (type $$a1 (sub $$a0 (array i64)))
+ )`),
+ `sub type`,
+);
+
+// ./test/core/gc/type-subtyping.wast:791
+assert_invalid(
+ () => instantiate(`(module
+ (type $$s0 (sub (struct (field i32))))
+ (type $$s1 (sub $$s0 (struct (field i64))))
+ )`),
+ `sub type`,
+);
+
+// ./test/core/gc/type-subtyping.wast:799
+assert_invalid(
+ () => instantiate(`(module
+ (type $$f0 (sub (func)))
+ (type $$f1 (sub $$f0 (func (param i32))))
+ )`),
+ `sub type`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/gc/unreachable.wast.js b/js/src/jit-test/tests/wasm/spec/gc/unreachable.wast.js
new file mode 100644
index 0000000000..68401d21d0
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/gc/unreachable.wast.js
@@ -0,0 +1,424 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/unreachable.wast
+
+// ./test/core/unreachable.wast:3
+let $0 = instantiate(`(module
+ ;; Auxiliary definitions
+ (func $$dummy)
+ (func $$dummy3 (param i32 i32 i32))
+
+ (func (export "type-i32") (result i32) (unreachable))
+ (func (export "type-i64") (result i64) (unreachable))
+ (func (export "type-f32") (result f32) (unreachable))
+ (func (export "type-f64") (result f64) (unreachable))
+
+ (func (export "as-func-first") (result i32)
+ (unreachable) (i32.const -1)
+ )
+ (func (export "as-func-mid") (result i32)
+ (call $$dummy) (unreachable) (i32.const -1)
+ )
+ (func (export "as-func-last")
+ (call $$dummy) (unreachable)
+ )
+ (func (export "as-func-value") (result i32)
+ (call $$dummy) (unreachable)
+ )
+
+ (func (export "as-block-first") (result i32)
+ (block (result i32) (unreachable) (i32.const 2))
+ )
+ (func (export "as-block-mid") (result i32)
+ (block (result i32) (call $$dummy) (unreachable) (i32.const 2))
+ )
+ (func (export "as-block-last")
+ (block (nop) (call $$dummy) (unreachable))
+ )
+ (func (export "as-block-value") (result i32)
+ (block (result i32) (nop) (call $$dummy) (unreachable))
+ )
+ (func (export "as-block-broke") (result i32)
+ (block (result i32) (call $$dummy) (br 0 (i32.const 1)) (unreachable))
+ )
+
+ (func (export "as-loop-first") (result i32)
+ (loop (result i32) (unreachable) (i32.const 2))
+ )
+ (func (export "as-loop-mid") (result i32)
+ (loop (result i32) (call $$dummy) (unreachable) (i32.const 2))
+ )
+ (func (export "as-loop-last")
+ (loop (nop) (call $$dummy) (unreachable))
+ )
+ (func (export "as-loop-broke") (result i32)
+ (block (result i32)
+ (loop (result i32) (call $$dummy) (br 1 (i32.const 1)) (unreachable))
+ )
+ )
+
+ (func (export "as-br-value") (result i32)
+ (block (result i32) (br 0 (unreachable)))
+ )
+
+ (func (export "as-br_if-cond")
+ (block (br_if 0 (unreachable)))
+ )
+ (func (export "as-br_if-value") (result i32)
+ (block (result i32)
+ (drop (br_if 0 (unreachable) (i32.const 1))) (i32.const 7)
+ )
+ )
+ (func (export "as-br_if-value-cond") (result i32)
+ (block (result i32)
+ (drop (br_if 0 (i32.const 6) (unreachable))) (i32.const 7)
+ )
+ )
+
+ (func (export "as-br_table-index")
+ (block (br_table 0 0 0 (unreachable)))
+ )
+ (func (export "as-br_table-value") (result i32)
+ (block (result i32)
+ (br_table 0 0 0 (unreachable) (i32.const 1)) (i32.const 7)
+ )
+ )
+ (func (export "as-br_table-value-2") (result i32)
+ (block (result i32)
+ (block (result i32) (br_table 0 1 (unreachable) (i32.const 1)))
+ )
+ )
+ (func (export "as-br_table-value-index") (result i32)
+ (block (result i32)
+ (br_table 0 0 (i32.const 6) (unreachable)) (i32.const 7)
+ )
+ )
+ (func (export "as-br_table-value-and-index") (result i32)
+ (block (result i32) (br_table 0 0 (unreachable)) (i32.const 8))
+ )
+
+ (func (export "as-return-value") (result i64)
+ (return (unreachable))
+ )
+
+ (func (export "as-if-cond") (result i32)
+ (if (result i32) (unreachable) (then (i32.const 0)) (else (i32.const 1)))
+ )
+ (func (export "as-if-then") (param i32 i32) (result i32)
+ (if (result i32) (local.get 0) (then (unreachable)) (else (local.get 1)))
+ )
+ (func (export "as-if-else") (param i32 i32) (result i32)
+ (if (result i32) (local.get 0) (then (local.get 1)) (else (unreachable)))
+ )
+ (func (export "as-if-then-no-else") (param i32 i32) (result i32)
+ (if (local.get 0) (then (unreachable))) (local.get 1)
+ )
+
+ (func (export "as-select-first") (param i32 i32) (result i32)
+ (select (unreachable) (local.get 0) (local.get 1))
+ )
+ (func (export "as-select-second") (param i32 i32) (result i32)
+ (select (local.get 0) (unreachable) (local.get 1))
+ )
+ (func (export "as-select-cond") (result i32)
+ (select (i32.const 0) (i32.const 1) (unreachable))
+ )
+
+ (func (export "as-call-first")
+ (call $$dummy3 (unreachable) (i32.const 2) (i32.const 3))
+ )
+ (func (export "as-call-mid")
+ (call $$dummy3 (i32.const 1) (unreachable) (i32.const 3))
+ )
+ (func (export "as-call-last")
+ (call $$dummy3 (i32.const 1) (i32.const 2) (unreachable))
+ )
+
+ (type $$sig (func (param i32 i32 i32)))
+ (table funcref (elem $$dummy3))
+ (func (export "as-call_indirect-func")
+ (call_indirect (type $$sig)
+ (unreachable) (i32.const 1) (i32.const 2) (i32.const 3)
+ )
+ )
+ (func (export "as-call_indirect-first")
+ (call_indirect (type $$sig)
+ (i32.const 0) (unreachable) (i32.const 2) (i32.const 3)
+ )
+ )
+ (func (export "as-call_indirect-mid")
+ (call_indirect (type $$sig)
+ (i32.const 0) (i32.const 1) (unreachable) (i32.const 3)
+ )
+ )
+ (func (export "as-call_indirect-last")
+ (call_indirect (type $$sig)
+ (i32.const 0) (i32.const 1) (i32.const 2) (unreachable)
+ )
+ )
+
+ (func (export "as-local.set-value") (local f32)
+ (local.set 0 (unreachable))
+ )
+ (func (export "as-local.tee-value") (result f32) (local f32)
+ (local.tee 0 (unreachable))
+ )
+ (global $$a (mut f32) (f32.const 0))
+ (func (export "as-global.set-value") (result f32)
+ (global.set $$a (unreachable))
+ )
+
+ (memory 1)
+ (func (export "as-load-address") (result f32)
+ (f32.load (unreachable))
+ )
+ (func (export "as-loadN-address") (result i64)
+ (i64.load8_s (unreachable))
+ )
+
+ (func (export "as-store-address")
+ (f64.store (unreachable) (f64.const 7))
+ )
+ (func (export "as-store-value")
+ (i64.store (i32.const 2) (unreachable))
+ )
+
+ (func (export "as-storeN-address")
+ (i32.store8 (unreachable) (i32.const 7))
+ )
+ (func (export "as-storeN-value")
+ (i64.store16 (i32.const 2) (unreachable))
+ )
+
+ (func (export "as-unary-operand") (result f32)
+ (f32.neg (unreachable))
+ )
+
+ (func (export "as-binary-left") (result i32)
+ (i32.add (unreachable) (i32.const 10))
+ )
+ (func (export "as-binary-right") (result i64)
+ (i64.sub (i64.const 10) (unreachable))
+ )
+
+ (func (export "as-test-operand") (result i32)
+ (i32.eqz (unreachable))
+ )
+
+ (func (export "as-compare-left") (result i32)
+ (f64.le (unreachable) (f64.const 10))
+ )
+ (func (export "as-compare-right") (result i32)
+ (f32.ne (f32.const 10) (unreachable))
+ )
+
+ (func (export "as-convert-operand") (result i32)
+ (i32.wrap_i64 (unreachable))
+ )
+
+ (func (export "as-memory.grow-size") (result i32)
+ (memory.grow (unreachable))
+ )
+)`);
+
+// ./test/core/unreachable.wast:221
+assert_trap(() => invoke($0, `type-i32`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:222
+assert_trap(() => invoke($0, `type-i64`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:223
+assert_trap(() => invoke($0, `type-f32`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:224
+assert_trap(() => invoke($0, `type-f64`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:226
+assert_trap(() => invoke($0, `as-func-first`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:227
+assert_trap(() => invoke($0, `as-func-mid`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:228
+assert_trap(() => invoke($0, `as-func-last`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:229
+assert_trap(() => invoke($0, `as-func-value`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:231
+assert_trap(() => invoke($0, `as-block-first`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:232
+assert_trap(() => invoke($0, `as-block-mid`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:233
+assert_trap(() => invoke($0, `as-block-last`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:234
+assert_trap(() => invoke($0, `as-block-value`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:235
+assert_return(() => invoke($0, `as-block-broke`, []), [value("i32", 1)]);
+
+// ./test/core/unreachable.wast:237
+assert_trap(() => invoke($0, `as-loop-first`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:238
+assert_trap(() => invoke($0, `as-loop-mid`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:239
+assert_trap(() => invoke($0, `as-loop-last`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:240
+assert_return(() => invoke($0, `as-loop-broke`, []), [value("i32", 1)]);
+
+// ./test/core/unreachable.wast:242
+assert_trap(() => invoke($0, `as-br-value`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:244
+assert_trap(() => invoke($0, `as-br_if-cond`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:245
+assert_trap(() => invoke($0, `as-br_if-value`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:246
+assert_trap(() => invoke($0, `as-br_if-value-cond`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:248
+assert_trap(() => invoke($0, `as-br_table-index`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:249
+assert_trap(() => invoke($0, `as-br_table-value`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:250
+assert_trap(() => invoke($0, `as-br_table-value-2`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:251
+assert_trap(() => invoke($0, `as-br_table-value-index`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:252
+assert_trap(() => invoke($0, `as-br_table-value-and-index`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:254
+assert_trap(() => invoke($0, `as-return-value`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:256
+assert_trap(() => invoke($0, `as-if-cond`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:257
+assert_trap(() => invoke($0, `as-if-then`, [1, 6]), `unreachable`);
+
+// ./test/core/unreachable.wast:258
+assert_return(() => invoke($0, `as-if-then`, [0, 6]), [value("i32", 6)]);
+
+// ./test/core/unreachable.wast:259
+assert_trap(() => invoke($0, `as-if-else`, [0, 6]), `unreachable`);
+
+// ./test/core/unreachable.wast:260
+assert_return(() => invoke($0, `as-if-else`, [1, 6]), [value("i32", 6)]);
+
+// ./test/core/unreachable.wast:261
+assert_trap(() => invoke($0, `as-if-then-no-else`, [1, 6]), `unreachable`);
+
+// ./test/core/unreachable.wast:262
+assert_return(() => invoke($0, `as-if-then-no-else`, [0, 6]), [value("i32", 6)]);
+
+// ./test/core/unreachable.wast:264
+assert_trap(() => invoke($0, `as-select-first`, [0, 6]), `unreachable`);
+
+// ./test/core/unreachable.wast:265
+assert_trap(() => invoke($0, `as-select-first`, [1, 6]), `unreachable`);
+
+// ./test/core/unreachable.wast:266
+assert_trap(() => invoke($0, `as-select-second`, [0, 6]), `unreachable`);
+
+// ./test/core/unreachable.wast:267
+assert_trap(() => invoke($0, `as-select-second`, [1, 6]), `unreachable`);
+
+// ./test/core/unreachable.wast:268
+assert_trap(() => invoke($0, `as-select-cond`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:270
+assert_trap(() => invoke($0, `as-call-first`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:271
+assert_trap(() => invoke($0, `as-call-mid`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:272
+assert_trap(() => invoke($0, `as-call-last`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:274
+assert_trap(() => invoke($0, `as-call_indirect-func`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:275
+assert_trap(() => invoke($0, `as-call_indirect-first`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:276
+assert_trap(() => invoke($0, `as-call_indirect-mid`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:277
+assert_trap(() => invoke($0, `as-call_indirect-last`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:279
+assert_trap(() => invoke($0, `as-local.set-value`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:280
+assert_trap(() => invoke($0, `as-local.tee-value`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:281
+assert_trap(() => invoke($0, `as-global.set-value`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:283
+assert_trap(() => invoke($0, `as-load-address`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:284
+assert_trap(() => invoke($0, `as-loadN-address`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:286
+assert_trap(() => invoke($0, `as-store-address`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:287
+assert_trap(() => invoke($0, `as-store-value`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:288
+assert_trap(() => invoke($0, `as-storeN-address`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:289
+assert_trap(() => invoke($0, `as-storeN-value`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:291
+assert_trap(() => invoke($0, `as-unary-operand`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:293
+assert_trap(() => invoke($0, `as-binary-left`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:294
+assert_trap(() => invoke($0, `as-binary-right`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:296
+assert_trap(() => invoke($0, `as-test-operand`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:298
+assert_trap(() => invoke($0, `as-compare-left`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:299
+assert_trap(() => invoke($0, `as-compare-right`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:301
+assert_trap(() => invoke($0, `as-convert-operand`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:303
+assert_trap(() => invoke($0, `as-memory.grow-size`, []), `unreachable`);
diff --git a/js/src/jit-test/tests/wasm/spec/gc/unreached-valid.wast.js b/js/src/jit-test/tests/wasm/spec/gc/unreached-valid.wast.js
new file mode 100644
index 0000000000..ced4b9df3c
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/gc/unreached-valid.wast.js
@@ -0,0 +1,138 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/unreached-valid.wast
+
+// ./test/core/unreached-valid.wast:1
+let $0 = instantiate(`(module
+
+ ;; Check that both sides of the select are evaluated
+ (func (export "select-trap-left") (param $$cond i32) (result i32)
+ (select (unreachable) (i32.const 0) (local.get $$cond))
+ )
+ (func (export "select-trap-right") (param $$cond i32) (result i32)
+ (select (i32.const 0) (unreachable) (local.get $$cond))
+ )
+
+ (func (export "select-unreached")
+ (unreachable) (select)
+ (unreachable) (i32.const 0) (select)
+ (unreachable) (i32.const 0) (i32.const 0) (select)
+ (unreachable) (i32.const 0) (i32.const 0) (i32.const 0) (select)
+ (unreachable) (f32.const 0) (i32.const 0) (select)
+ (unreachable)
+ )
+
+ (func (export "select-unreached-result1") (result i32)
+ (unreachable) (i32.add (select))
+ )
+
+ (func (export "select-unreached-result2") (result i64)
+ (unreachable) (i64.add (select (i64.const 0) (i32.const 0)))
+ )
+
+ (func (export "select-unreached-num")
+ (unreachable)
+ (select)
+ (i32.eqz)
+ (drop)
+ )
+ (func (export "select-unreached-ref")
+ (unreachable)
+ (select)
+ (ref.is_null)
+ (drop)
+ )
+
+ (type $$t (func (param i32) (result i32)))
+ (func (export "call_ref-unreached") (result i32)
+ (unreachable)
+ (call_ref $$t)
+ )
+)`);
+
+// ./test/core/unreached-valid.wast:48
+assert_trap(() => invoke($0, `select-trap-left`, [1]), `unreachable`);
+
+// ./test/core/unreached-valid.wast:49
+assert_trap(() => invoke($0, `select-trap-left`, [0]), `unreachable`);
+
+// ./test/core/unreached-valid.wast:50
+assert_trap(() => invoke($0, `select-trap-right`, [1]), `unreachable`);
+
+// ./test/core/unreached-valid.wast:51
+assert_trap(() => invoke($0, `select-trap-right`, [0]), `unreachable`);
+
+// ./test/core/unreached-valid.wast:53
+assert_trap(() => invoke($0, `select-unreached-result1`, []), `unreachable`);
+
+// ./test/core/unreached-valid.wast:54
+assert_trap(() => invoke($0, `select-unreached-result2`, []), `unreachable`);
+
+// ./test/core/unreached-valid.wast:55
+assert_trap(() => invoke($0, `select-unreached-num`, []), `unreachable`);
+
+// ./test/core/unreached-valid.wast:56
+assert_trap(() => invoke($0, `select-unreached-ref`, []), `unreachable`);
+
+// ./test/core/unreached-valid.wast:58
+assert_trap(() => invoke($0, `call_ref-unreached`, []), `unreachable`);
+
+// ./test/core/unreached-valid.wast:63
+let $1 = instantiate(`(module
+ (func (export "meet-bottom")
+ (block (result f64)
+ (block (result f32)
+ (unreachable)
+ (br_table 0 1 1 (i32.const 1))
+ )
+ (drop)
+ (f64.const 0)
+ )
+ (drop)
+ )
+)`);
+
+// ./test/core/unreached-valid.wast:77
+assert_trap(() => invoke($1, `meet-bottom`, []), `unreachable`);
+
+// ./test/core/unreached-valid.wast:82
+let $2 = instantiate(`(module
+ (func (result (ref func))
+ (unreachable)
+ (ref.as_non_null)
+ )
+ (func (result (ref extern))
+ (unreachable)
+ (ref.as_non_null)
+ )
+
+ (func (result (ref func))
+ (block (result funcref)
+ (unreachable)
+ (br_on_null 0)
+ (return)
+ )
+ (unreachable)
+ )
+ (func (result (ref extern))
+ (block (result externref)
+ (unreachable)
+ (br_on_null 0)
+ (return)
+ )
+ (unreachable)
+ )
+)`);
diff --git a/js/src/jit-test/tests/wasm/spec/memory64/address64.wast.js b/js/src/jit-test/tests/wasm/spec/memory64/address64.wast.js
new file mode 100644
index 0000000000..c6de7e8ed7
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/memory64/address64.wast.js
@@ -0,0 +1,1025 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/address64.wast
+
+// ./test/core/address64.wast:3
+let $0 = instantiate(`(module
+ (memory i64 1)
+ (data (i64.const 0) "abcdefghijklmnopqrstuvwxyz")
+
+ (func (export "8u_good1") (param $$i i64) (result i32)
+ (i32.load8_u offset=0 (local.get $$i)) ;; 97 'a'
+ )
+ (func (export "8u_good2") (param $$i i64) (result i32)
+ (i32.load8_u align=1 (local.get $$i)) ;; 97 'a'
+ )
+ (func (export "8u_good3") (param $$i i64) (result i32)
+ (i32.load8_u offset=1 align=1 (local.get $$i)) ;; 98 'b'
+ )
+ (func (export "8u_good4") (param $$i i64) (result i32)
+ (i32.load8_u offset=2 align=1 (local.get $$i)) ;; 99 'c'
+ )
+ (func (export "8u_good5") (param $$i i64) (result i32)
+ (i32.load8_u offset=25 align=1 (local.get $$i)) ;; 122 'z'
+ )
+
+ (func (export "8s_good1") (param $$i i64) (result i32)
+ (i32.load8_s offset=0 (local.get $$i)) ;; 97 'a'
+ )
+ (func (export "8s_good2") (param $$i i64) (result i32)
+ (i32.load8_s align=1 (local.get $$i)) ;; 97 'a'
+ )
+ (func (export "8s_good3") (param $$i i64) (result i32)
+ (i32.load8_s offset=1 align=1 (local.get $$i)) ;; 98 'b'
+ )
+ (func (export "8s_good4") (param $$i i64) (result i32)
+ (i32.load8_s offset=2 align=1 (local.get $$i)) ;; 99 'c'
+ )
+ (func (export "8s_good5") (param $$i i64) (result i32)
+ (i32.load8_s offset=25 align=1 (local.get $$i)) ;; 122 'z'
+ )
+
+ (func (export "16u_good1") (param $$i i64) (result i32)
+ (i32.load16_u offset=0 (local.get $$i)) ;; 25185 'ab'
+ )
+ (func (export "16u_good2") (param $$i i64) (result i32)
+ (i32.load16_u align=1 (local.get $$i)) ;; 25185 'ab'
+ )
+ (func (export "16u_good3") (param $$i i64) (result i32)
+ (i32.load16_u offset=1 align=1 (local.get $$i)) ;; 25442 'bc'
+ )
+ (func (export "16u_good4") (param $$i i64) (result i32)
+ (i32.load16_u offset=2 align=2 (local.get $$i)) ;; 25699 'cd'
+ )
+ (func (export "16u_good5") (param $$i i64) (result i32)
+ (i32.load16_u offset=25 align=2 (local.get $$i)) ;; 122 'z\\0'
+ )
+
+ (func (export "16s_good1") (param $$i i64) (result i32)
+ (i32.load16_s offset=0 (local.get $$i)) ;; 25185 'ab'
+ )
+ (func (export "16s_good2") (param $$i i64) (result i32)
+ (i32.load16_s align=1 (local.get $$i)) ;; 25185 'ab'
+ )
+ (func (export "16s_good3") (param $$i i64) (result i32)
+ (i32.load16_s offset=1 align=1 (local.get $$i)) ;; 25442 'bc'
+ )
+ (func (export "16s_good4") (param $$i i64) (result i32)
+ (i32.load16_s offset=2 align=2 (local.get $$i)) ;; 25699 'cd'
+ )
+ (func (export "16s_good5") (param $$i i64) (result i32)
+ (i32.load16_s offset=25 align=2 (local.get $$i)) ;; 122 'z\\0'
+ )
+
+ (func (export "32_good1") (param $$i i64) (result i32)
+ (i32.load offset=0 (local.get $$i)) ;; 1684234849 'abcd'
+ )
+ (func (export "32_good2") (param $$i i64) (result i32)
+ (i32.load align=1 (local.get $$i)) ;; 1684234849 'abcd'
+ )
+ (func (export "32_good3") (param $$i i64) (result i32)
+ (i32.load offset=1 align=1 (local.get $$i)) ;; 1701077858 'bcde'
+ )
+ (func (export "32_good4") (param $$i i64) (result i32)
+ (i32.load offset=2 align=2 (local.get $$i)) ;; 1717920867 'cdef'
+ )
+ (func (export "32_good5") (param $$i i64) (result i32)
+ (i32.load offset=25 align=4 (local.get $$i)) ;; 122 'z\\0\\0\\0'
+ )
+
+ (func (export "8u_bad") (param $$i i64)
+ (drop (i32.load8_u offset=4294967295 (local.get $$i)))
+ )
+ (func (export "8s_bad") (param $$i i64)
+ (drop (i32.load8_s offset=4294967295 (local.get $$i)))
+ )
+ (func (export "16u_bad") (param $$i i64)
+ (drop (i32.load16_u offset=4294967295 (local.get $$i)))
+ )
+ (func (export "16s_bad") (param $$i i64)
+ (drop (i32.load16_s offset=4294967295 (local.get $$i)))
+ )
+ (func (export "32_bad") (param $$i i64)
+ (drop (i32.load offset=4294967295 (local.get $$i)))
+ )
+)`);
+
+// ./test/core/address64.wast:104
+assert_return(() => invoke($0, `8u_good1`, [0n]), [value("i32", 97)]);
+
+// ./test/core/address64.wast:105
+assert_return(() => invoke($0, `8u_good2`, [0n]), [value("i32", 97)]);
+
+// ./test/core/address64.wast:106
+assert_return(() => invoke($0, `8u_good3`, [0n]), [value("i32", 98)]);
+
+// ./test/core/address64.wast:107
+assert_return(() => invoke($0, `8u_good4`, [0n]), [value("i32", 99)]);
+
+// ./test/core/address64.wast:108
+assert_return(() => invoke($0, `8u_good5`, [0n]), [value("i32", 122)]);
+
+// ./test/core/address64.wast:110
+assert_return(() => invoke($0, `8s_good1`, [0n]), [value("i32", 97)]);
+
+// ./test/core/address64.wast:111
+assert_return(() => invoke($0, `8s_good2`, [0n]), [value("i32", 97)]);
+
+// ./test/core/address64.wast:112
+assert_return(() => invoke($0, `8s_good3`, [0n]), [value("i32", 98)]);
+
+// ./test/core/address64.wast:113
+assert_return(() => invoke($0, `8s_good4`, [0n]), [value("i32", 99)]);
+
+// ./test/core/address64.wast:114
+assert_return(() => invoke($0, `8s_good5`, [0n]), [value("i32", 122)]);
+
+// ./test/core/address64.wast:116
+assert_return(() => invoke($0, `16u_good1`, [0n]), [value("i32", 25185)]);
+
+// ./test/core/address64.wast:117
+assert_return(() => invoke($0, `16u_good2`, [0n]), [value("i32", 25185)]);
+
+// ./test/core/address64.wast:118
+assert_return(() => invoke($0, `16u_good3`, [0n]), [value("i32", 25442)]);
+
+// ./test/core/address64.wast:119
+assert_return(() => invoke($0, `16u_good4`, [0n]), [value("i32", 25699)]);
+
+// ./test/core/address64.wast:120
+assert_return(() => invoke($0, `16u_good5`, [0n]), [value("i32", 122)]);
+
+// ./test/core/address64.wast:122
+assert_return(() => invoke($0, `16s_good1`, [0n]), [value("i32", 25185)]);
+
+// ./test/core/address64.wast:123
+assert_return(() => invoke($0, `16s_good2`, [0n]), [value("i32", 25185)]);
+
+// ./test/core/address64.wast:124
+assert_return(() => invoke($0, `16s_good3`, [0n]), [value("i32", 25442)]);
+
+// ./test/core/address64.wast:125
+assert_return(() => invoke($0, `16s_good4`, [0n]), [value("i32", 25699)]);
+
+// ./test/core/address64.wast:126
+assert_return(() => invoke($0, `16s_good5`, [0n]), [value("i32", 122)]);
+
+// ./test/core/address64.wast:128
+assert_return(() => invoke($0, `32_good1`, [0n]), [value("i32", 1684234849)]);
+
+// ./test/core/address64.wast:129
+assert_return(() => invoke($0, `32_good2`, [0n]), [value("i32", 1684234849)]);
+
+// ./test/core/address64.wast:130
+assert_return(() => invoke($0, `32_good3`, [0n]), [value("i32", 1701077858)]);
+
+// ./test/core/address64.wast:131
+assert_return(() => invoke($0, `32_good4`, [0n]), [value("i32", 1717920867)]);
+
+// ./test/core/address64.wast:132
+assert_return(() => invoke($0, `32_good5`, [0n]), [value("i32", 122)]);
+
+// ./test/core/address64.wast:134
+assert_return(() => invoke($0, `8u_good1`, [65507n]), [value("i32", 0)]);
+
+// ./test/core/address64.wast:135
+assert_return(() => invoke($0, `8u_good2`, [65507n]), [value("i32", 0)]);
+
+// ./test/core/address64.wast:136
+assert_return(() => invoke($0, `8u_good3`, [65507n]), [value("i32", 0)]);
+
+// ./test/core/address64.wast:137
+assert_return(() => invoke($0, `8u_good4`, [65507n]), [value("i32", 0)]);
+
+// ./test/core/address64.wast:138
+assert_return(() => invoke($0, `8u_good5`, [65507n]), [value("i32", 0)]);
+
+// ./test/core/address64.wast:140
+assert_return(() => invoke($0, `8s_good1`, [65507n]), [value("i32", 0)]);
+
+// ./test/core/address64.wast:141
+assert_return(() => invoke($0, `8s_good2`, [65507n]), [value("i32", 0)]);
+
+// ./test/core/address64.wast:142
+assert_return(() => invoke($0, `8s_good3`, [65507n]), [value("i32", 0)]);
+
+// ./test/core/address64.wast:143
+assert_return(() => invoke($0, `8s_good4`, [65507n]), [value("i32", 0)]);
+
+// ./test/core/address64.wast:144
+assert_return(() => invoke($0, `8s_good5`, [65507n]), [value("i32", 0)]);
+
+// ./test/core/address64.wast:146
+assert_return(() => invoke($0, `16u_good1`, [65507n]), [value("i32", 0)]);
+
+// ./test/core/address64.wast:147
+assert_return(() => invoke($0, `16u_good2`, [65507n]), [value("i32", 0)]);
+
+// ./test/core/address64.wast:148
+assert_return(() => invoke($0, `16u_good3`, [65507n]), [value("i32", 0)]);
+
+// ./test/core/address64.wast:149
+assert_return(() => invoke($0, `16u_good4`, [65507n]), [value("i32", 0)]);
+
+// ./test/core/address64.wast:150
+assert_return(() => invoke($0, `16u_good5`, [65507n]), [value("i32", 0)]);
+
+// ./test/core/address64.wast:152
+assert_return(() => invoke($0, `16s_good1`, [65507n]), [value("i32", 0)]);
+
+// ./test/core/address64.wast:153
+assert_return(() => invoke($0, `16s_good2`, [65507n]), [value("i32", 0)]);
+
+// ./test/core/address64.wast:154
+assert_return(() => invoke($0, `16s_good3`, [65507n]), [value("i32", 0)]);
+
+// ./test/core/address64.wast:155
+assert_return(() => invoke($0, `16s_good4`, [65507n]), [value("i32", 0)]);
+
+// ./test/core/address64.wast:156
+assert_return(() => invoke($0, `16s_good5`, [65507n]), [value("i32", 0)]);
+
+// ./test/core/address64.wast:158
+assert_return(() => invoke($0, `32_good1`, [65507n]), [value("i32", 0)]);
+
+// ./test/core/address64.wast:159
+assert_return(() => invoke($0, `32_good2`, [65507n]), [value("i32", 0)]);
+
+// ./test/core/address64.wast:160
+assert_return(() => invoke($0, `32_good3`, [65507n]), [value("i32", 0)]);
+
+// ./test/core/address64.wast:161
+assert_return(() => invoke($0, `32_good4`, [65507n]), [value("i32", 0)]);
+
+// ./test/core/address64.wast:162
+assert_return(() => invoke($0, `32_good5`, [65507n]), [value("i32", 0)]);
+
+// ./test/core/address64.wast:164
+assert_return(() => invoke($0, `8u_good1`, [65508n]), [value("i32", 0)]);
+
+// ./test/core/address64.wast:165
+assert_return(() => invoke($0, `8u_good2`, [65508n]), [value("i32", 0)]);
+
+// ./test/core/address64.wast:166
+assert_return(() => invoke($0, `8u_good3`, [65508n]), [value("i32", 0)]);
+
+// ./test/core/address64.wast:167
+assert_return(() => invoke($0, `8u_good4`, [65508n]), [value("i32", 0)]);
+
+// ./test/core/address64.wast:168
+assert_return(() => invoke($0, `8u_good5`, [65508n]), [value("i32", 0)]);
+
+// ./test/core/address64.wast:170
+assert_return(() => invoke($0, `8s_good1`, [65508n]), [value("i32", 0)]);
+
+// ./test/core/address64.wast:171
+assert_return(() => invoke($0, `8s_good2`, [65508n]), [value("i32", 0)]);
+
+// ./test/core/address64.wast:172
+assert_return(() => invoke($0, `8s_good3`, [65508n]), [value("i32", 0)]);
+
+// ./test/core/address64.wast:173
+assert_return(() => invoke($0, `8s_good4`, [65508n]), [value("i32", 0)]);
+
+// ./test/core/address64.wast:174
+assert_return(() => invoke($0, `8s_good5`, [65508n]), [value("i32", 0)]);
+
+// ./test/core/address64.wast:176
+assert_return(() => invoke($0, `16u_good1`, [65508n]), [value("i32", 0)]);
+
+// ./test/core/address64.wast:177
+assert_return(() => invoke($0, `16u_good2`, [65508n]), [value("i32", 0)]);
+
+// ./test/core/address64.wast:178
+assert_return(() => invoke($0, `16u_good3`, [65508n]), [value("i32", 0)]);
+
+// ./test/core/address64.wast:179
+assert_return(() => invoke($0, `16u_good4`, [65508n]), [value("i32", 0)]);
+
+// ./test/core/address64.wast:180
+assert_return(() => invoke($0, `16u_good5`, [65508n]), [value("i32", 0)]);
+
+// ./test/core/address64.wast:182
+assert_return(() => invoke($0, `16s_good1`, [65508n]), [value("i32", 0)]);
+
+// ./test/core/address64.wast:183
+assert_return(() => invoke($0, `16s_good2`, [65508n]), [value("i32", 0)]);
+
+// ./test/core/address64.wast:184
+assert_return(() => invoke($0, `16s_good3`, [65508n]), [value("i32", 0)]);
+
+// ./test/core/address64.wast:185
+assert_return(() => invoke($0, `16s_good4`, [65508n]), [value("i32", 0)]);
+
+// ./test/core/address64.wast:186
+assert_return(() => invoke($0, `16s_good5`, [65508n]), [value("i32", 0)]);
+
+// ./test/core/address64.wast:188
+assert_return(() => invoke($0, `32_good1`, [65508n]), [value("i32", 0)]);
+
+// ./test/core/address64.wast:189
+assert_return(() => invoke($0, `32_good2`, [65508n]), [value("i32", 0)]);
+
+// ./test/core/address64.wast:190
+assert_return(() => invoke($0, `32_good3`, [65508n]), [value("i32", 0)]);
+
+// ./test/core/address64.wast:191
+assert_return(() => invoke($0, `32_good4`, [65508n]), [value("i32", 0)]);
+
+// ./test/core/address64.wast:192
+assert_trap(() => invoke($0, `32_good5`, [65508n]), `out of bounds memory access`);
+
+// ./test/core/address64.wast:194
+assert_trap(() => invoke($0, `8u_bad`, [0n]), `out of bounds memory access`);
+
+// ./test/core/address64.wast:195
+assert_trap(() => invoke($0, `8s_bad`, [0n]), `out of bounds memory access`);
+
+// ./test/core/address64.wast:196
+assert_trap(() => invoke($0, `16u_bad`, [0n]), `out of bounds memory access`);
+
+// ./test/core/address64.wast:197
+assert_trap(() => invoke($0, `16s_bad`, [0n]), `out of bounds memory access`);
+
+// ./test/core/address64.wast:198
+assert_trap(() => invoke($0, `32_bad`, [0n]), `out of bounds memory access`);
+
+// ./test/core/address64.wast:200
+assert_trap(() => invoke($0, `8u_bad`, [1n]), `out of bounds memory access`);
+
+// ./test/core/address64.wast:201
+assert_trap(() => invoke($0, `8s_bad`, [1n]), `out of bounds memory access`);
+
+// ./test/core/address64.wast:202
+assert_trap(() => invoke($0, `16u_bad`, [1n]), `out of bounds memory access`);
+
+// ./test/core/address64.wast:203
+assert_trap(() => invoke($0, `16s_bad`, [1n]), `out of bounds memory access`);
+
+// ./test/core/address64.wast:204
+assert_trap(() => invoke($0, `32_bad`, [1n]), `out of bounds memory access`);
+
+// ./test/core/address64.wast:209
+let $1 = instantiate(`(module
+ (memory i64 1)
+ (data (i64.const 0) "abcdefghijklmnopqrstuvwxyz")
+
+ (func (export "8u_good1") (param $$i i64) (result i64)
+ (i64.load8_u offset=0 (local.get $$i)) ;; 97 'a'
+ )
+ (func (export "8u_good2") (param $$i i64) (result i64)
+ (i64.load8_u align=1 (local.get $$i)) ;; 97 'a'
+ )
+ (func (export "8u_good3") (param $$i i64) (result i64)
+ (i64.load8_u offset=1 align=1 (local.get $$i)) ;; 98 'b'
+ )
+ (func (export "8u_good4") (param $$i i64) (result i64)
+ (i64.load8_u offset=2 align=1 (local.get $$i)) ;; 99 'c'
+ )
+ (func (export "8u_good5") (param $$i i64) (result i64)
+ (i64.load8_u offset=25 align=1 (local.get $$i)) ;; 122 'z'
+ )
+
+ (func (export "8s_good1") (param $$i i64) (result i64)
+ (i64.load8_s offset=0 (local.get $$i)) ;; 97 'a'
+ )
+ (func (export "8s_good2") (param $$i i64) (result i64)
+ (i64.load8_s align=1 (local.get $$i)) ;; 97 'a'
+ )
+ (func (export "8s_good3") (param $$i i64) (result i64)
+ (i64.load8_s offset=1 align=1 (local.get $$i)) ;; 98 'b'
+ )
+ (func (export "8s_good4") (param $$i i64) (result i64)
+ (i64.load8_s offset=2 align=1 (local.get $$i)) ;; 99 'c'
+ )
+ (func (export "8s_good5") (param $$i i64) (result i64)
+ (i64.load8_s offset=25 align=1 (local.get $$i)) ;; 122 'z'
+ )
+
+ (func (export "16u_good1") (param $$i i64) (result i64)
+ (i64.load16_u offset=0 (local.get $$i)) ;; 25185 'ab'
+ )
+ (func (export "16u_good2") (param $$i i64) (result i64)
+ (i64.load16_u align=1 (local.get $$i)) ;; 25185 'ab'
+ )
+ (func (export "16u_good3") (param $$i i64) (result i64)
+ (i64.load16_u offset=1 align=1 (local.get $$i)) ;; 25442 'bc'
+ )
+ (func (export "16u_good4") (param $$i i64) (result i64)
+ (i64.load16_u offset=2 align=2 (local.get $$i)) ;; 25699 'cd'
+ )
+ (func (export "16u_good5") (param $$i i64) (result i64)
+ (i64.load16_u offset=25 align=2 (local.get $$i)) ;; 122 'z\\0'
+ )
+
+ (func (export "16s_good1") (param $$i i64) (result i64)
+ (i64.load16_s offset=0 (local.get $$i)) ;; 25185 'ab'
+ )
+ (func (export "16s_good2") (param $$i i64) (result i64)
+ (i64.load16_s align=1 (local.get $$i)) ;; 25185 'ab'
+ )
+ (func (export "16s_good3") (param $$i i64) (result i64)
+ (i64.load16_s offset=1 align=1 (local.get $$i)) ;; 25442 'bc'
+ )
+ (func (export "16s_good4") (param $$i i64) (result i64)
+ (i64.load16_s offset=2 align=2 (local.get $$i)) ;; 25699 'cd'
+ )
+ (func (export "16s_good5") (param $$i i64) (result i64)
+ (i64.load16_s offset=25 align=2 (local.get $$i)) ;; 122 'z\\0'
+ )
+
+ (func (export "32u_good1") (param $$i i64) (result i64)
+ (i64.load32_u offset=0 (local.get $$i)) ;; 1684234849 'abcd'
+ )
+ (func (export "32u_good2") (param $$i i64) (result i64)
+ (i64.load32_u align=1 (local.get $$i)) ;; 1684234849 'abcd'
+ )
+ (func (export "32u_good3") (param $$i i64) (result i64)
+ (i64.load32_u offset=1 align=1 (local.get $$i)) ;; 1701077858 'bcde'
+ )
+ (func (export "32u_good4") (param $$i i64) (result i64)
+ (i64.load32_u offset=2 align=2 (local.get $$i)) ;; 1717920867 'cdef'
+ )
+ (func (export "32u_good5") (param $$i i64) (result i64)
+ (i64.load32_u offset=25 align=4 (local.get $$i)) ;; 122 'z\\0\\0\\0'
+ )
+
+ (func (export "32s_good1") (param $$i i64) (result i64)
+ (i64.load32_s offset=0 (local.get $$i)) ;; 1684234849 'abcd'
+ )
+ (func (export "32s_good2") (param $$i i64) (result i64)
+ (i64.load32_s align=1 (local.get $$i)) ;; 1684234849 'abcd'
+ )
+ (func (export "32s_good3") (param $$i i64) (result i64)
+ (i64.load32_s offset=1 align=1 (local.get $$i)) ;; 1701077858 'bcde'
+ )
+ (func (export "32s_good4") (param $$i i64) (result i64)
+ (i64.load32_s offset=2 align=2 (local.get $$i)) ;; 1717920867 'cdef'
+ )
+ (func (export "32s_good5") (param $$i i64) (result i64)
+ (i64.load32_s offset=25 align=4 (local.get $$i)) ;; 122 'z\\0\\0\\0'
+ )
+
+ (func (export "64_good1") (param $$i i64) (result i64)
+ (i64.load offset=0 (local.get $$i)) ;; 0x6867666564636261 'abcdefgh'
+ )
+ (func (export "64_good2") (param $$i i64) (result i64)
+ (i64.load align=1 (local.get $$i)) ;; 0x6867666564636261 'abcdefgh'
+ )
+ (func (export "64_good3") (param $$i i64) (result i64)
+ (i64.load offset=1 align=1 (local.get $$i)) ;; 0x6968676665646362 'bcdefghi'
+ )
+ (func (export "64_good4") (param $$i i64) (result i64)
+ (i64.load offset=2 align=2 (local.get $$i)) ;; 0x6a69686766656463 'cdefghij'
+ )
+ (func (export "64_good5") (param $$i i64) (result i64)
+ (i64.load offset=25 align=8 (local.get $$i)) ;; 122 'z\\0\\0\\0\\0\\0\\0\\0'
+ )
+
+ (func (export "8u_bad") (param $$i i64)
+ (drop (i64.load8_u offset=4294967295 (local.get $$i)))
+ )
+ (func (export "8s_bad") (param $$i i64)
+ (drop (i64.load8_s offset=4294967295 (local.get $$i)))
+ )
+ (func (export "16u_bad") (param $$i i64)
+ (drop (i64.load16_u offset=4294967295 (local.get $$i)))
+ )
+ (func (export "16s_bad") (param $$i i64)
+ (drop (i64.load16_s offset=4294967295 (local.get $$i)))
+ )
+ (func (export "32u_bad") (param $$i i64)
+ (drop (i64.load32_u offset=4294967295 (local.get $$i)))
+ )
+ (func (export "32s_bad") (param $$i i64)
+ (drop (i64.load32_s offset=4294967295 (local.get $$i)))
+ )
+ (func (export "64_bad") (param $$i i64)
+ (drop (i64.load offset=4294967295 (local.get $$i)))
+ )
+)`);
+
+// ./test/core/address64.wast:348
+assert_return(() => invoke($1, `8u_good1`, [0n]), [value("i64", 97n)]);
+
+// ./test/core/address64.wast:349
+assert_return(() => invoke($1, `8u_good2`, [0n]), [value("i64", 97n)]);
+
+// ./test/core/address64.wast:350
+assert_return(() => invoke($1, `8u_good3`, [0n]), [value("i64", 98n)]);
+
+// ./test/core/address64.wast:351
+assert_return(() => invoke($1, `8u_good4`, [0n]), [value("i64", 99n)]);
+
+// ./test/core/address64.wast:352
+assert_return(() => invoke($1, `8u_good5`, [0n]), [value("i64", 122n)]);
+
+// ./test/core/address64.wast:354
+assert_return(() => invoke($1, `8s_good1`, [0n]), [value("i64", 97n)]);
+
+// ./test/core/address64.wast:355
+assert_return(() => invoke($1, `8s_good2`, [0n]), [value("i64", 97n)]);
+
+// ./test/core/address64.wast:356
+assert_return(() => invoke($1, `8s_good3`, [0n]), [value("i64", 98n)]);
+
+// ./test/core/address64.wast:357
+assert_return(() => invoke($1, `8s_good4`, [0n]), [value("i64", 99n)]);
+
+// ./test/core/address64.wast:358
+assert_return(() => invoke($1, `8s_good5`, [0n]), [value("i64", 122n)]);
+
+// ./test/core/address64.wast:360
+assert_return(() => invoke($1, `16u_good1`, [0n]), [value("i64", 25185n)]);
+
+// ./test/core/address64.wast:361
+assert_return(() => invoke($1, `16u_good2`, [0n]), [value("i64", 25185n)]);
+
+// ./test/core/address64.wast:362
+assert_return(() => invoke($1, `16u_good3`, [0n]), [value("i64", 25442n)]);
+
+// ./test/core/address64.wast:363
+assert_return(() => invoke($1, `16u_good4`, [0n]), [value("i64", 25699n)]);
+
+// ./test/core/address64.wast:364
+assert_return(() => invoke($1, `16u_good5`, [0n]), [value("i64", 122n)]);
+
+// ./test/core/address64.wast:366
+assert_return(() => invoke($1, `16s_good1`, [0n]), [value("i64", 25185n)]);
+
+// ./test/core/address64.wast:367
+assert_return(() => invoke($1, `16s_good2`, [0n]), [value("i64", 25185n)]);
+
+// ./test/core/address64.wast:368
+assert_return(() => invoke($1, `16s_good3`, [0n]), [value("i64", 25442n)]);
+
+// ./test/core/address64.wast:369
+assert_return(() => invoke($1, `16s_good4`, [0n]), [value("i64", 25699n)]);
+
+// ./test/core/address64.wast:370
+assert_return(() => invoke($1, `16s_good5`, [0n]), [value("i64", 122n)]);
+
+// ./test/core/address64.wast:372
+assert_return(() => invoke($1, `32u_good1`, [0n]), [value("i64", 1684234849n)]);
+
+// ./test/core/address64.wast:373
+assert_return(() => invoke($1, `32u_good2`, [0n]), [value("i64", 1684234849n)]);
+
+// ./test/core/address64.wast:374
+assert_return(() => invoke($1, `32u_good3`, [0n]), [value("i64", 1701077858n)]);
+
+// ./test/core/address64.wast:375
+assert_return(() => invoke($1, `32u_good4`, [0n]), [value("i64", 1717920867n)]);
+
+// ./test/core/address64.wast:376
+assert_return(() => invoke($1, `32u_good5`, [0n]), [value("i64", 122n)]);
+
+// ./test/core/address64.wast:378
+assert_return(() => invoke($1, `32s_good1`, [0n]), [value("i64", 1684234849n)]);
+
+// ./test/core/address64.wast:379
+assert_return(() => invoke($1, `32s_good2`, [0n]), [value("i64", 1684234849n)]);
+
+// ./test/core/address64.wast:380
+assert_return(() => invoke($1, `32s_good3`, [0n]), [value("i64", 1701077858n)]);
+
+// ./test/core/address64.wast:381
+assert_return(() => invoke($1, `32s_good4`, [0n]), [value("i64", 1717920867n)]);
+
+// ./test/core/address64.wast:382
+assert_return(() => invoke($1, `32s_good5`, [0n]), [value("i64", 122n)]);
+
+// ./test/core/address64.wast:384
+assert_return(() => invoke($1, `64_good1`, [0n]), [value("i64", 7523094288207667809n)]);
+
+// ./test/core/address64.wast:385
+assert_return(() => invoke($1, `64_good2`, [0n]), [value("i64", 7523094288207667809n)]);
+
+// ./test/core/address64.wast:386
+assert_return(() => invoke($1, `64_good3`, [0n]), [value("i64", 7595434461045744482n)]);
+
+// ./test/core/address64.wast:387
+assert_return(() => invoke($1, `64_good4`, [0n]), [value("i64", 7667774633883821155n)]);
+
+// ./test/core/address64.wast:388
+assert_return(() => invoke($1, `64_good5`, [0n]), [value("i64", 122n)]);
+
+// ./test/core/address64.wast:390
+assert_return(() => invoke($1, `8u_good1`, [65503n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:391
+assert_return(() => invoke($1, `8u_good2`, [65503n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:392
+assert_return(() => invoke($1, `8u_good3`, [65503n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:393
+assert_return(() => invoke($1, `8u_good4`, [65503n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:394
+assert_return(() => invoke($1, `8u_good5`, [65503n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:396
+assert_return(() => invoke($1, `8s_good1`, [65503n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:397
+assert_return(() => invoke($1, `8s_good2`, [65503n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:398
+assert_return(() => invoke($1, `8s_good3`, [65503n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:399
+assert_return(() => invoke($1, `8s_good4`, [65503n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:400
+assert_return(() => invoke($1, `8s_good5`, [65503n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:402
+assert_return(() => invoke($1, `16u_good1`, [65503n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:403
+assert_return(() => invoke($1, `16u_good2`, [65503n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:404
+assert_return(() => invoke($1, `16u_good3`, [65503n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:405
+assert_return(() => invoke($1, `16u_good4`, [65503n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:406
+assert_return(() => invoke($1, `16u_good5`, [65503n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:408
+assert_return(() => invoke($1, `16s_good1`, [65503n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:409
+assert_return(() => invoke($1, `16s_good2`, [65503n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:410
+assert_return(() => invoke($1, `16s_good3`, [65503n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:411
+assert_return(() => invoke($1, `16s_good4`, [65503n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:412
+assert_return(() => invoke($1, `16s_good5`, [65503n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:414
+assert_return(() => invoke($1, `32u_good1`, [65503n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:415
+assert_return(() => invoke($1, `32u_good2`, [65503n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:416
+assert_return(() => invoke($1, `32u_good3`, [65503n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:417
+assert_return(() => invoke($1, `32u_good4`, [65503n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:418
+assert_return(() => invoke($1, `32u_good5`, [65503n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:420
+assert_return(() => invoke($1, `32s_good1`, [65503n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:421
+assert_return(() => invoke($1, `32s_good2`, [65503n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:422
+assert_return(() => invoke($1, `32s_good3`, [65503n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:423
+assert_return(() => invoke($1, `32s_good4`, [65503n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:424
+assert_return(() => invoke($1, `32s_good5`, [65503n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:426
+assert_return(() => invoke($1, `64_good1`, [65503n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:427
+assert_return(() => invoke($1, `64_good2`, [65503n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:428
+assert_return(() => invoke($1, `64_good3`, [65503n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:429
+assert_return(() => invoke($1, `64_good4`, [65503n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:430
+assert_return(() => invoke($1, `64_good5`, [65503n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:432
+assert_return(() => invoke($1, `8u_good1`, [65504n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:433
+assert_return(() => invoke($1, `8u_good2`, [65504n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:434
+assert_return(() => invoke($1, `8u_good3`, [65504n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:435
+assert_return(() => invoke($1, `8u_good4`, [65504n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:436
+assert_return(() => invoke($1, `8u_good5`, [65504n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:438
+assert_return(() => invoke($1, `8s_good1`, [65504n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:439
+assert_return(() => invoke($1, `8s_good2`, [65504n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:440
+assert_return(() => invoke($1, `8s_good3`, [65504n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:441
+assert_return(() => invoke($1, `8s_good4`, [65504n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:442
+assert_return(() => invoke($1, `8s_good5`, [65504n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:444
+assert_return(() => invoke($1, `16u_good1`, [65504n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:445
+assert_return(() => invoke($1, `16u_good2`, [65504n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:446
+assert_return(() => invoke($1, `16u_good3`, [65504n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:447
+assert_return(() => invoke($1, `16u_good4`, [65504n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:448
+assert_return(() => invoke($1, `16u_good5`, [65504n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:450
+assert_return(() => invoke($1, `16s_good1`, [65504n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:451
+assert_return(() => invoke($1, `16s_good2`, [65504n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:452
+assert_return(() => invoke($1, `16s_good3`, [65504n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:453
+assert_return(() => invoke($1, `16s_good4`, [65504n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:454
+assert_return(() => invoke($1, `16s_good5`, [65504n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:456
+assert_return(() => invoke($1, `32u_good1`, [65504n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:457
+assert_return(() => invoke($1, `32u_good2`, [65504n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:458
+assert_return(() => invoke($1, `32u_good3`, [65504n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:459
+assert_return(() => invoke($1, `32u_good4`, [65504n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:460
+assert_return(() => invoke($1, `32u_good5`, [65504n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:462
+assert_return(() => invoke($1, `32s_good1`, [65504n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:463
+assert_return(() => invoke($1, `32s_good2`, [65504n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:464
+assert_return(() => invoke($1, `32s_good3`, [65504n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:465
+assert_return(() => invoke($1, `32s_good4`, [65504n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:466
+assert_return(() => invoke($1, `32s_good5`, [65504n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:468
+assert_return(() => invoke($1, `64_good1`, [65504n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:469
+assert_return(() => invoke($1, `64_good2`, [65504n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:470
+assert_return(() => invoke($1, `64_good3`, [65504n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:471
+assert_return(() => invoke($1, `64_good4`, [65504n]), [value("i64", 0n)]);
+
+// ./test/core/address64.wast:472
+assert_trap(() => invoke($1, `64_good5`, [65504n]), `out of bounds memory access`);
+
+// ./test/core/address64.wast:474
+assert_trap(() => invoke($1, `8u_bad`, [0n]), `out of bounds memory access`);
+
+// ./test/core/address64.wast:475
+assert_trap(() => invoke($1, `8s_bad`, [0n]), `out of bounds memory access`);
+
+// ./test/core/address64.wast:476
+assert_trap(() => invoke($1, `16u_bad`, [0n]), `out of bounds memory access`);
+
+// ./test/core/address64.wast:477
+assert_trap(() => invoke($1, `16s_bad`, [0n]), `out of bounds memory access`);
+
+// ./test/core/address64.wast:478
+assert_trap(() => invoke($1, `32u_bad`, [0n]), `out of bounds memory access`);
+
+// ./test/core/address64.wast:479
+assert_trap(() => invoke($1, `32s_bad`, [0n]), `out of bounds memory access`);
+
+// ./test/core/address64.wast:480
+assert_trap(() => invoke($1, `64_bad`, [0n]), `out of bounds memory access`);
+
+// ./test/core/address64.wast:482
+assert_trap(() => invoke($1, `8u_bad`, [1n]), `out of bounds memory access`);
+
+// ./test/core/address64.wast:483
+assert_trap(() => invoke($1, `8s_bad`, [1n]), `out of bounds memory access`);
+
+// ./test/core/address64.wast:484
+assert_trap(() => invoke($1, `16u_bad`, [1n]), `out of bounds memory access`);
+
+// ./test/core/address64.wast:485
+assert_trap(() => invoke($1, `16s_bad`, [1n]), `out of bounds memory access`);
+
+// ./test/core/address64.wast:486
+assert_trap(() => invoke($1, `32u_bad`, [0n]), `out of bounds memory access`);
+
+// ./test/core/address64.wast:487
+assert_trap(() => invoke($1, `32s_bad`, [0n]), `out of bounds memory access`);
+
+// ./test/core/address64.wast:488
+assert_trap(() => invoke($1, `64_bad`, [1n]), `out of bounds memory access`);
+
+// ./test/core/address64.wast:492
+let $2 = instantiate(`(module
+ (memory i64 1)
+ (data (i64.const 0) "\\00\\00\\00\\00\\00\\00\\a0\\7f\\01\\00\\d0\\7f")
+
+ (func (export "32_good1") (param $$i i64) (result f32)
+ (f32.load offset=0 (local.get $$i)) ;; 0.0 '\\00\\00\\00\\00'
+ )
+ (func (export "32_good2") (param $$i i64) (result f32)
+ (f32.load align=1 (local.get $$i)) ;; 0.0 '\\00\\00\\00\\00'
+ )
+ (func (export "32_good3") (param $$i i64) (result f32)
+ (f32.load offset=1 align=1 (local.get $$i)) ;; 0.0 '\\00\\00\\00\\00'
+ )
+ (func (export "32_good4") (param $$i i64) (result f32)
+ (f32.load offset=2 align=2 (local.get $$i)) ;; 0.0 '\\00\\00\\00\\00'
+ )
+ (func (export "32_good5") (param $$i i64) (result f32)
+ (f32.load offset=8 align=4 (local.get $$i)) ;; nan:0x500001 '\\01\\00\\d0\\7f'
+ )
+ (func (export "32_bad") (param $$i i64)
+ (drop (f32.load offset=4294967295 (local.get $$i)))
+ )
+)`);
+
+// ./test/core/address64.wast:516
+assert_return(() => invoke($2, `32_good1`, [0n]), [value("f32", 0)]);
+
+// ./test/core/address64.wast:517
+assert_return(() => invoke($2, `32_good2`, [0n]), [value("f32", 0)]);
+
+// ./test/core/address64.wast:518
+assert_return(() => invoke($2, `32_good3`, [0n]), [value("f32", 0)]);
+
+// ./test/core/address64.wast:519
+assert_return(() => invoke($2, `32_good4`, [0n]), [value("f32", 0)]);
+
+// ./test/core/address64.wast:520
+assert_return(() => invoke($2, `32_good5`, [0n]), [bytes("f32", [0x1, 0x0, 0xd0, 0x7f])]);
+
+// ./test/core/address64.wast:522
+assert_return(() => invoke($2, `32_good1`, [65524n]), [value("f32", 0)]);
+
+// ./test/core/address64.wast:523
+assert_return(() => invoke($2, `32_good2`, [65524n]), [value("f32", 0)]);
+
+// ./test/core/address64.wast:524
+assert_return(() => invoke($2, `32_good3`, [65524n]), [value("f32", 0)]);
+
+// ./test/core/address64.wast:525
+assert_return(() => invoke($2, `32_good4`, [65524n]), [value("f32", 0)]);
+
+// ./test/core/address64.wast:526
+assert_return(() => invoke($2, `32_good5`, [65524n]), [value("f32", 0)]);
+
+// ./test/core/address64.wast:528
+assert_return(() => invoke($2, `32_good1`, [65525n]), [value("f32", 0)]);
+
+// ./test/core/address64.wast:529
+assert_return(() => invoke($2, `32_good2`, [65525n]), [value("f32", 0)]);
+
+// ./test/core/address64.wast:530
+assert_return(() => invoke($2, `32_good3`, [65525n]), [value("f32", 0)]);
+
+// ./test/core/address64.wast:531
+assert_return(() => invoke($2, `32_good4`, [65525n]), [value("f32", 0)]);
+
+// ./test/core/address64.wast:532
+assert_trap(() => invoke($2, `32_good5`, [65525n]), `out of bounds memory access`);
+
+// ./test/core/address64.wast:534
+assert_trap(() => invoke($2, `32_bad`, [0n]), `out of bounds memory access`);
+
+// ./test/core/address64.wast:535
+assert_trap(() => invoke($2, `32_bad`, [1n]), `out of bounds memory access`);
+
+// ./test/core/address64.wast:539
+let $3 = instantiate(`(module
+ (memory i64 1)
+ (data (i64.const 0) "\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\f4\\7f\\01\\00\\00\\00\\00\\00\\fc\\7f")
+
+ (func (export "64_good1") (param $$i i64) (result f64)
+ (f64.load offset=0 (local.get $$i)) ;; 0.0 '\\00\\00\\00\\00\\00\\00\\00\\00'
+ )
+ (func (export "64_good2") (param $$i i64) (result f64)
+ (f64.load align=1 (local.get $$i)) ;; 0.0 '\\00\\00\\00\\00\\00\\00\\00\\00'
+ )
+ (func (export "64_good3") (param $$i i64) (result f64)
+ (f64.load offset=1 align=1 (local.get $$i)) ;; 0.0 '\\00\\00\\00\\00\\00\\00\\00\\00'
+ )
+ (func (export "64_good4") (param $$i i64) (result f64)
+ (f64.load offset=2 align=2 (local.get $$i)) ;; 0.0 '\\00\\00\\00\\00\\00\\00\\00\\00'
+ )
+ (func (export "64_good5") (param $$i i64) (result f64)
+ (f64.load offset=18 align=8 (local.get $$i)) ;; nan:0xc000000000001 '\\01\\00\\00\\00\\00\\00\\fc\\7f'
+ )
+ (func (export "64_bad") (param $$i i64)
+ (drop (f64.load offset=4294967295 (local.get $$i)))
+ )
+)`);
+
+// ./test/core/address64.wast:563
+assert_return(() => invoke($3, `64_good1`, [0n]), [value("f64", 0)]);
+
+// ./test/core/address64.wast:564
+assert_return(() => invoke($3, `64_good2`, [0n]), [value("f64", 0)]);
+
+// ./test/core/address64.wast:565
+assert_return(() => invoke($3, `64_good3`, [0n]), [value("f64", 0)]);
+
+// ./test/core/address64.wast:566
+assert_return(() => invoke($3, `64_good4`, [0n]), [value("f64", 0)]);
+
+// ./test/core/address64.wast:567
+assert_return(
+ () => invoke($3, `64_good5`, [0n]),
+ [bytes("f64", [0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfc, 0x7f])],
+);
+
+// ./test/core/address64.wast:569
+assert_return(() => invoke($3, `64_good1`, [65510n]), [value("f64", 0)]);
+
+// ./test/core/address64.wast:570
+assert_return(() => invoke($3, `64_good2`, [65510n]), [value("f64", 0)]);
+
+// ./test/core/address64.wast:571
+assert_return(() => invoke($3, `64_good3`, [65510n]), [value("f64", 0)]);
+
+// ./test/core/address64.wast:572
+assert_return(() => invoke($3, `64_good4`, [65510n]), [value("f64", 0)]);
+
+// ./test/core/address64.wast:573
+assert_return(() => invoke($3, `64_good5`, [65510n]), [value("f64", 0)]);
+
+// ./test/core/address64.wast:575
+assert_return(() => invoke($3, `64_good1`, [65511n]), [value("f64", 0)]);
+
+// ./test/core/address64.wast:576
+assert_return(() => invoke($3, `64_good2`, [65511n]), [value("f64", 0)]);
+
+// ./test/core/address64.wast:577
+assert_return(() => invoke($3, `64_good3`, [65511n]), [value("f64", 0)]);
+
+// ./test/core/address64.wast:578
+assert_return(() => invoke($3, `64_good4`, [65511n]), [value("f64", 0)]);
+
+// ./test/core/address64.wast:579
+assert_trap(() => invoke($3, `64_good5`, [65511n]), `out of bounds memory access`);
+
+// ./test/core/address64.wast:581
+assert_trap(() => invoke($3, `64_bad`, [0n]), `out of bounds memory access`);
+
+// ./test/core/address64.wast:582
+assert_trap(() => invoke($3, `64_bad`, [1n]), `out of bounds memory access`);
diff --git a/js/src/jit-test/tests/wasm/spec/memory64/align64.wast.js b/js/src/jit-test/tests/wasm/spec/memory64/align64.wast.js
new file mode 100644
index 0000000000..34b4990f8f
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/memory64/align64.wast.js
@@ -0,0 +1,1090 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/align64.wast
+
+// ./test/core/align64.wast:3
+let $0 = instantiate(`(module (memory i64 0) (func (drop (i32.load8_s align=1 (i64.const 0)))))`);
+
+// ./test/core/align64.wast:4
+let $1 = instantiate(`(module (memory i64 0) (func (drop (i32.load8_u align=1 (i64.const 0)))))`);
+
+// ./test/core/align64.wast:5
+let $2 = instantiate(`(module (memory i64 0) (func (drop (i32.load16_s align=2 (i64.const 0)))))`);
+
+// ./test/core/align64.wast:6
+let $3 = instantiate(`(module (memory i64 0) (func (drop (i32.load16_u align=2 (i64.const 0)))))`);
+
+// ./test/core/align64.wast:7
+let $4 = instantiate(`(module (memory i64 0) (func (drop (i32.load align=4 (i64.const 0)))))`);
+
+// ./test/core/align64.wast:8
+let $5 = instantiate(`(module (memory i64 0) (func (drop (i64.load8_s align=1 (i64.const 0)))))`);
+
+// ./test/core/align64.wast:9
+let $6 = instantiate(`(module (memory i64 0) (func (drop (i64.load8_u align=1 (i64.const 0)))))`);
+
+// ./test/core/align64.wast:10
+let $7 = instantiate(`(module (memory i64 0) (func (drop (i64.load16_s align=2 (i64.const 0)))))`);
+
+// ./test/core/align64.wast:11
+let $8 = instantiate(`(module (memory i64 0) (func (drop (i64.load16_u align=2 (i64.const 0)))))`);
+
+// ./test/core/align64.wast:12
+let $9 = instantiate(`(module (memory i64 0) (func (drop (i64.load32_s align=4 (i64.const 0)))))`);
+
+// ./test/core/align64.wast:13
+let $10 = instantiate(`(module (memory i64 0) (func (drop (i64.load32_u align=4 (i64.const 0)))))`);
+
+// ./test/core/align64.wast:14
+let $11 = instantiate(`(module (memory i64 0) (func (drop (i64.load align=8 (i64.const 0)))))`);
+
+// ./test/core/align64.wast:15
+let $12 = instantiate(`(module (memory i64 0) (func (drop (f32.load align=4 (i64.const 0)))))`);
+
+// ./test/core/align64.wast:16
+let $13 = instantiate(`(module (memory i64 0) (func (drop (f64.load align=8 (i64.const 0)))))`);
+
+// ./test/core/align64.wast:17
+let $14 = instantiate(`(module (memory i64 0) (func (i32.store8 align=1 (i64.const 0) (i32.const 1))))`);
+
+// ./test/core/align64.wast:18
+let $15 = instantiate(`(module (memory i64 0) (func (i32.store16 align=2 (i64.const 0) (i32.const 1))))`);
+
+// ./test/core/align64.wast:19
+let $16 = instantiate(`(module (memory i64 0) (func (i32.store align=4 (i64.const 0) (i32.const 1))))`);
+
+// ./test/core/align64.wast:20
+let $17 = instantiate(`(module (memory i64 0) (func (i64.store8 align=1 (i64.const 0) (i64.const 1))))`);
+
+// ./test/core/align64.wast:21
+let $18 = instantiate(`(module (memory i64 0) (func (i64.store16 align=2 (i64.const 0) (i64.const 1))))`);
+
+// ./test/core/align64.wast:22
+let $19 = instantiate(`(module (memory i64 0) (func (i64.store32 align=4 (i64.const 0) (i64.const 1))))`);
+
+// ./test/core/align64.wast:23
+let $20 = instantiate(`(module (memory i64 0) (func (i64.store align=8 (i64.const 0) (i64.const 1))))`);
+
+// ./test/core/align64.wast:24
+let $21 = instantiate(`(module (memory i64 0) (func (f32.store align=4 (i64.const 0) (f32.const 1.0))))`);
+
+// ./test/core/align64.wast:25
+let $22 = instantiate(`(module (memory i64 0) (func (f64.store align=8 (i64.const 0) (f64.const 1.0))))`);
+
+// ./test/core/align64.wast:27
+assert_malformed(
+ () => instantiate(`(module (memory i64 0) (func (drop (i32.load8_s align=0 (i64.const 0))))) `),
+ `alignment`,
+);
+
+// ./test/core/align64.wast:33
+assert_malformed(
+ () => instantiate(`(module (memory i64 0) (func (drop (i32.load8_s align=7 (i64.const 0))))) `),
+ `alignment`,
+);
+
+// ./test/core/align64.wast:39
+assert_malformed(
+ () => instantiate(`(module (memory i64 0) (func (drop (i32.load8_u align=0 (i64.const 0))))) `),
+ `alignment`,
+);
+
+// ./test/core/align64.wast:45
+assert_malformed(
+ () => instantiate(`(module (memory i64 0) (func (drop (i32.load8_u align=7 (i64.const 0))))) `),
+ `alignment`,
+);
+
+// ./test/core/align64.wast:51
+assert_malformed(
+ () => instantiate(`(module (memory i64 0) (func (drop (i32.load16_s align=0 (i64.const 0))))) `),
+ `alignment`,
+);
+
+// ./test/core/align64.wast:57
+assert_malformed(
+ () => instantiate(`(module (memory i64 0) (func (drop (i32.load16_s align=7 (i64.const 0))))) `),
+ `alignment`,
+);
+
+// ./test/core/align64.wast:63
+assert_malformed(
+ () => instantiate(`(module (memory i64 0) (func (drop (i32.load16_u align=0 (i64.const 0))))) `),
+ `alignment`,
+);
+
+// ./test/core/align64.wast:69
+assert_malformed(
+ () => instantiate(`(module (memory i64 0) (func (drop (i32.load16_u align=7 (i64.const 0))))) `),
+ `alignment`,
+);
+
+// ./test/core/align64.wast:75
+assert_malformed(
+ () => instantiate(`(module (memory i64 0) (func (drop (i32.load align=0 (i64.const 0))))) `),
+ `alignment`,
+);
+
+// ./test/core/align64.wast:81
+assert_malformed(
+ () => instantiate(`(module (memory i64 0) (func (drop (i32.load align=7 (i64.const 0))))) `),
+ `alignment`,
+);
+
+// ./test/core/align64.wast:87
+assert_malformed(
+ () => instantiate(`(module (memory i64 0) (func (drop (i64.load8_s align=0 (i64.const 0))))) `),
+ `alignment`,
+);
+
+// ./test/core/align64.wast:93
+assert_malformed(
+ () => instantiate(`(module (memory i64 0) (func (drop (i64.load8_s align=7 (i64.const 0))))) `),
+ `alignment`,
+);
+
+// ./test/core/align64.wast:99
+assert_malformed(
+ () => instantiate(`(module (memory i64 0) (func (drop (i64.load8_u align=0 (i64.const 0))))) `),
+ `alignment`,
+);
+
+// ./test/core/align64.wast:105
+assert_malformed(
+ () => instantiate(`(module (memory i64 0) (func (drop (i64.load8_u align=7 (i64.const 0))))) `),
+ `alignment`,
+);
+
+// ./test/core/align64.wast:111
+assert_malformed(
+ () => instantiate(`(module (memory i64 0) (func (drop (i64.load16_s align=0 (i64.const 0))))) `),
+ `alignment`,
+);
+
+// ./test/core/align64.wast:117
+assert_malformed(
+ () => instantiate(`(module (memory i64 0) (func (drop (i64.load16_s align=7 (i64.const 0))))) `),
+ `alignment`,
+);
+
+// ./test/core/align64.wast:123
+assert_malformed(
+ () => instantiate(`(module (memory i64 0) (func (drop (i64.load16_u align=0 (i64.const 0))))) `),
+ `alignment`,
+);
+
+// ./test/core/align64.wast:129
+assert_malformed(
+ () => instantiate(`(module (memory i64 0) (func (drop (i64.load16_u align=7 (i64.const 0))))) `),
+ `alignment`,
+);
+
+// ./test/core/align64.wast:135
+assert_malformed(
+ () => instantiate(`(module (memory i64 0) (func (drop (i64.load32_s align=0 (i64.const 0))))) `),
+ `alignment`,
+);
+
+// ./test/core/align64.wast:141
+assert_malformed(
+ () => instantiate(`(module (memory i64 0) (func (drop (i64.load32_s align=7 (i64.const 0))))) `),
+ `alignment`,
+);
+
+// ./test/core/align64.wast:147
+assert_malformed(
+ () => instantiate(`(module (memory i64 0) (func (drop (i64.load32_u align=0 (i64.const 0))))) `),
+ `alignment`,
+);
+
+// ./test/core/align64.wast:153
+assert_malformed(
+ () => instantiate(`(module (memory i64 0) (func (drop (i64.load32_u align=7 (i64.const 0))))) `),
+ `alignment`,
+);
+
+// ./test/core/align64.wast:159
+assert_malformed(
+ () => instantiate(`(module (memory i64 0) (func (drop (i64.load align=0 (i64.const 0))))) `),
+ `alignment`,
+);
+
+// ./test/core/align64.wast:165
+assert_malformed(
+ () => instantiate(`(module (memory i64 0) (func (drop (i64.load align=7 (i64.const 0))))) `),
+ `alignment`,
+);
+
+// ./test/core/align64.wast:171
+assert_malformed(
+ () => instantiate(`(module (memory i64 0) (func (drop (f32.load align=0 (i64.const 0))))) `),
+ `alignment`,
+);
+
+// ./test/core/align64.wast:177
+assert_malformed(
+ () => instantiate(`(module (memory i64 0) (func (drop (f32.load align=7 (i64.const 0))))) `),
+ `alignment`,
+);
+
+// ./test/core/align64.wast:183
+assert_malformed(
+ () => instantiate(`(module (memory i64 0) (func (drop (f64.load align=0 (i64.const 0))))) `),
+ `alignment`,
+);
+
+// ./test/core/align64.wast:189
+assert_malformed(
+ () => instantiate(`(module (memory i64 0) (func (drop (f64.load align=7 (i64.const 0))))) `),
+ `alignment`,
+);
+
+// ./test/core/align64.wast:196
+assert_malformed(
+ () => instantiate(`(module (memory i64 0) (func (i32.store8 align=0 (i64.const 0) (i32.const 0)))) `),
+ `alignment`,
+);
+
+// ./test/core/align64.wast:202
+assert_malformed(
+ () => instantiate(`(module (memory i64 0) (func (i32.store8 align=7 (i64.const 0) (i32.const 0)))) `),
+ `alignment`,
+);
+
+// ./test/core/align64.wast:208
+assert_malformed(
+ () => instantiate(`(module (memory i64 0) (func (i32.store16 align=0 (i64.const 0) (i32.const 0)))) `),
+ `alignment`,
+);
+
+// ./test/core/align64.wast:214
+assert_malformed(
+ () => instantiate(`(module (memory i64 0) (func (i32.store16 align=7 (i64.const 0) (i32.const 0)))) `),
+ `alignment`,
+);
+
+// ./test/core/align64.wast:220
+assert_malformed(
+ () => instantiate(`(module (memory i64 0) (func (i32.store align=0 (i64.const 0) (i32.const 0)))) `),
+ `alignment`,
+);
+
+// ./test/core/align64.wast:226
+assert_malformed(
+ () => instantiate(`(module (memory i64 0) (func (i32.store align=7 (i64.const 0) (i32.const 0)))) `),
+ `alignment`,
+);
+
+// ./test/core/align64.wast:232
+assert_malformed(
+ () => instantiate(`(module (memory i64 0) (func (i64.store8 align=0 (i64.const 0) (i64.const 0)))) `),
+ `alignment`,
+);
+
+// ./test/core/align64.wast:238
+assert_malformed(
+ () => instantiate(`(module (memory i64 0) (func (i64.store8 align=7 (i64.const 0) (i64.const 0)))) `),
+ `alignment`,
+);
+
+// ./test/core/align64.wast:244
+assert_malformed(
+ () => instantiate(`(module (memory i64 0) (func (i64.store16 align=0 (i64.const 0) (i64.const 0)))) `),
+ `alignment`,
+);
+
+// ./test/core/align64.wast:250
+assert_malformed(
+ () => instantiate(`(module (memory i64 0) (func (i64.store16 align=7 (i64.const 0) (i64.const 0)))) `),
+ `alignment`,
+);
+
+// ./test/core/align64.wast:256
+assert_malformed(
+ () => instantiate(`(module (memory i64 0) (func (i64.store32 align=0 (i64.const 0) (i64.const 0)))) `),
+ `alignment`,
+);
+
+// ./test/core/align64.wast:262
+assert_malformed(
+ () => instantiate(`(module (memory i64 0) (func (i64.store32 align=7 (i64.const 0) (i64.const 0)))) `),
+ `alignment`,
+);
+
+// ./test/core/align64.wast:268
+assert_malformed(
+ () => instantiate(`(module (memory i64 0) (func (i64.store align=0 (i64.const 0) (i64.const 0)))) `),
+ `alignment`,
+);
+
+// ./test/core/align64.wast:274
+assert_malformed(
+ () => instantiate(`(module (memory i64 0) (func (i64.store align=7 (i64.const 0) (i64.const 0)))) `),
+ `alignment`,
+);
+
+// ./test/core/align64.wast:280
+assert_malformed(
+ () => instantiate(`(module (memory i64 0) (func (f32.store align=0 (i64.const 0) (f32.const 0)))) `),
+ `alignment`,
+);
+
+// ./test/core/align64.wast:286
+assert_malformed(
+ () => instantiate(`(module (memory i64 0) (func (f32.store align=7 (i64.const 0) (f32.const 0)))) `),
+ `alignment`,
+);
+
+// ./test/core/align64.wast:292
+assert_malformed(
+ () => instantiate(`(module (memory i64 0) (func (f64.store align=0 (i64.const 0) (f32.const 0)))) `),
+ `alignment`,
+);
+
+// ./test/core/align64.wast:298
+assert_malformed(
+ () => instantiate(`(module (memory i64 0) (func (f64.store align=7 (i64.const 0) (f32.const 0)))) `),
+ `alignment`,
+);
+
+// ./test/core/align64.wast:305
+assert_invalid(
+ () => instantiate(`(module (memory i64 0) (func (drop (i32.load8_s align=2 (i64.const 0)))))`),
+ `alignment must not be larger than natural`,
+);
+
+// ./test/core/align64.wast:309
+assert_invalid(
+ () => instantiate(`(module (memory i64 0) (func (drop (i32.load8_u align=2 (i64.const 0)))))`),
+ `alignment must not be larger than natural`,
+);
+
+// ./test/core/align64.wast:313
+assert_invalid(
+ () => instantiate(`(module (memory i64 0) (func (drop (i32.load16_s align=4 (i64.const 0)))))`),
+ `alignment must not be larger than natural`,
+);
+
+// ./test/core/align64.wast:317
+assert_invalid(
+ () => instantiate(`(module (memory i64 0) (func (drop (i32.load16_u align=4 (i64.const 0)))))`),
+ `alignment must not be larger than natural`,
+);
+
+// ./test/core/align64.wast:321
+assert_invalid(
+ () => instantiate(`(module (memory i64 0) (func (drop (i32.load align=8 (i64.const 0)))))`),
+ `alignment must not be larger than natural`,
+);
+
+// ./test/core/align64.wast:325
+assert_invalid(
+ () => instantiate(`(module (memory i64 0) (func (drop (i64.load8_s align=2 (i64.const 0)))))`),
+ `alignment must not be larger than natural`,
+);
+
+// ./test/core/align64.wast:329
+assert_invalid(
+ () => instantiate(`(module (memory i64 0) (func (drop (i64.load8_u align=2 (i64.const 0)))))`),
+ `alignment must not be larger than natural`,
+);
+
+// ./test/core/align64.wast:333
+assert_invalid(
+ () => instantiate(`(module (memory i64 0) (func (drop (i64.load16_s align=4 (i64.const 0)))))`),
+ `alignment must not be larger than natural`,
+);
+
+// ./test/core/align64.wast:337
+assert_invalid(
+ () => instantiate(`(module (memory i64 0) (func (drop (i64.load16_u align=4 (i64.const 0)))))`),
+ `alignment must not be larger than natural`,
+);
+
+// ./test/core/align64.wast:341
+assert_invalid(
+ () => instantiate(`(module (memory i64 0) (func (drop (i64.load32_s align=8 (i64.const 0)))))`),
+ `alignment must not be larger than natural`,
+);
+
+// ./test/core/align64.wast:345
+assert_invalid(
+ () => instantiate(`(module (memory i64 0) (func (drop (i64.load32_u align=8 (i64.const 0)))))`),
+ `alignment must not be larger than natural`,
+);
+
+// ./test/core/align64.wast:349
+assert_invalid(
+ () => instantiate(`(module (memory i64 0) (func (drop (i64.load align=16 (i64.const 0)))))`),
+ `alignment must not be larger than natural`,
+);
+
+// ./test/core/align64.wast:353
+assert_invalid(
+ () => instantiate(`(module (memory i64 0) (func (drop (f32.load align=8 (i64.const 0)))))`),
+ `alignment must not be larger than natural`,
+);
+
+// ./test/core/align64.wast:357
+assert_invalid(
+ () => instantiate(`(module (memory i64 0) (func (drop (f64.load align=16 (i64.const 0)))))`),
+ `alignment must not be larger than natural`,
+);
+
+// ./test/core/align64.wast:362
+assert_invalid(
+ () => instantiate(`(module (memory i64 0) (func (drop (i32.load8_s align=2 (i64.const 0)))))`),
+ `alignment must not be larger than natural`,
+);
+
+// ./test/core/align64.wast:366
+assert_invalid(
+ () => instantiate(`(module (memory i64 0) (func (drop (i32.load8_u align=2 (i64.const 0)))))`),
+ `alignment must not be larger than natural`,
+);
+
+// ./test/core/align64.wast:370
+assert_invalid(
+ () => instantiate(`(module (memory i64 0) (func (drop (i32.load16_s align=4 (i64.const 0)))))`),
+ `alignment must not be larger than natural`,
+);
+
+// ./test/core/align64.wast:374
+assert_invalid(
+ () => instantiate(`(module (memory i64 0) (func (drop (i32.load16_u align=4 (i64.const 0)))))`),
+ `alignment must not be larger than natural`,
+);
+
+// ./test/core/align64.wast:378
+assert_invalid(
+ () => instantiate(`(module (memory i64 0) (func (drop (i32.load align=8 (i64.const 0)))))`),
+ `alignment must not be larger than natural`,
+);
+
+// ./test/core/align64.wast:382
+assert_invalid(
+ () => instantiate(`(module (memory i64 0) (func (drop (i64.load8_s align=2 (i64.const 0)))))`),
+ `alignment must not be larger than natural`,
+);
+
+// ./test/core/align64.wast:386
+assert_invalid(
+ () => instantiate(`(module (memory i64 0) (func (drop (i64.load8_u align=2 (i64.const 0)))))`),
+ `alignment must not be larger than natural`,
+);
+
+// ./test/core/align64.wast:390
+assert_invalid(
+ () => instantiate(`(module (memory i64 0) (func (drop (i64.load16_s align=4 (i64.const 0)))))`),
+ `alignment must not be larger than natural`,
+);
+
+// ./test/core/align64.wast:394
+assert_invalid(
+ () => instantiate(`(module (memory i64 0) (func (drop (i64.load16_u align=4 (i64.const 0)))))`),
+ `alignment must not be larger than natural`,
+);
+
+// ./test/core/align64.wast:398
+assert_invalid(
+ () => instantiate(`(module (memory i64 0) (func (drop (i64.load32_s align=8 (i64.const 0)))))`),
+ `alignment must not be larger than natural`,
+);
+
+// ./test/core/align64.wast:402
+assert_invalid(
+ () => instantiate(`(module (memory i64 0) (func (drop (i64.load32_u align=8 (i64.const 0)))))`),
+ `alignment must not be larger than natural`,
+);
+
+// ./test/core/align64.wast:406
+assert_invalid(
+ () => instantiate(`(module (memory i64 0) (func (drop (i64.load align=16 (i64.const 0)))))`),
+ `alignment must not be larger than natural`,
+);
+
+// ./test/core/align64.wast:410
+assert_invalid(
+ () => instantiate(`(module (memory i64 0) (func (drop (f32.load align=8 (i64.const 0)))))`),
+ `alignment must not be larger than natural`,
+);
+
+// ./test/core/align64.wast:414
+assert_invalid(
+ () => instantiate(`(module (memory i64 0) (func (drop (f64.load align=16 (i64.const 0)))))`),
+ `alignment must not be larger than natural`,
+);
+
+// ./test/core/align64.wast:419
+assert_invalid(
+ () => instantiate(`(module (memory i64 0) (func (i32.store8 align=2 (i64.const 0) (i32.const 0))))`),
+ `alignment must not be larger than natural`,
+);
+
+// ./test/core/align64.wast:423
+assert_invalid(
+ () => instantiate(`(module (memory i64 0) (func (i32.store16 align=4 (i64.const 0) (i32.const 0))))`),
+ `alignment must not be larger than natural`,
+);
+
+// ./test/core/align64.wast:427
+assert_invalid(
+ () => instantiate(`(module (memory i64 0) (func (i32.store align=8 (i64.const 0) (i32.const 0))))`),
+ `alignment must not be larger than natural`,
+);
+
+// ./test/core/align64.wast:431
+assert_invalid(
+ () => instantiate(`(module (memory i64 0) (func (i64.store8 align=2 (i64.const 0) (i64.const 0))))`),
+ `alignment must not be larger than natural`,
+);
+
+// ./test/core/align64.wast:435
+assert_invalid(
+ () => instantiate(`(module (memory i64 0) (func (i64.store16 align=4 (i64.const 0) (i64.const 0))))`),
+ `alignment must not be larger than natural`,
+);
+
+// ./test/core/align64.wast:439
+assert_invalid(
+ () => instantiate(`(module (memory i64 0) (func (i64.store32 align=8 (i64.const 0) (i64.const 0))))`),
+ `alignment must not be larger than natural`,
+);
+
+// ./test/core/align64.wast:443
+assert_invalid(
+ () => instantiate(`(module (memory i64 0) (func (i64.store align=16 (i64.const 0) (i64.const 0))))`),
+ `alignment must not be larger than natural`,
+);
+
+// ./test/core/align64.wast:447
+assert_invalid(
+ () => instantiate(`(module (memory i64 0) (func (f32.store align=8 (i64.const 0) (f32.const 0))))`),
+ `alignment must not be larger than natural`,
+);
+
+// ./test/core/align64.wast:451
+assert_invalid(
+ () => instantiate(`(module (memory i64 0) (func (f64.store align=16 (i64.const 0) (f64.const 0))))`),
+ `alignment must not be larger than natural`,
+);
+
+// ./test/core/align64.wast:458
+let $23 = instantiate(`(module
+ (memory i64 1)
+
+ ;; $$default: natural alignment, $$1: align=1, $$2: align=2, $$4: align=4, $$8: align=8
+
+ (func (export "f32_align_switch") (param i32) (result f32)
+ (local f32 f32)
+ (local.set 1 (f32.const 10.0))
+ (block $$4
+ (block $$2
+ (block $$1
+ (block $$default
+ (block $$0
+ (br_table $$0 $$default $$1 $$2 $$4 (local.get 0))
+ ) ;; 0
+ (f32.store (i64.const 0) (local.get 1))
+ (local.set 2 (f32.load (i64.const 0)))
+ (br $$4)
+ ) ;; default
+ (f32.store align=1 (i64.const 0) (local.get 1))
+ (local.set 2 (f32.load align=1 (i64.const 0)))
+ (br $$4)
+ ) ;; 1
+ (f32.store align=2 (i64.const 0) (local.get 1))
+ (local.set 2 (f32.load align=2 (i64.const 0)))
+ (br $$4)
+ ) ;; 2
+ (f32.store align=4 (i64.const 0) (local.get 1))
+ (local.set 2 (f32.load align=4 (i64.const 0)))
+ ) ;; 4
+ (local.get 2)
+ )
+
+ (func (export "f64_align_switch") (param i32) (result f64)
+ (local f64 f64)
+ (local.set 1 (f64.const 10.0))
+ (block $$8
+ (block $$4
+ (block $$2
+ (block $$1
+ (block $$default
+ (block $$0
+ (br_table $$0 $$default $$1 $$2 $$4 $$8 (local.get 0))
+ ) ;; 0
+ (f64.store (i64.const 0) (local.get 1))
+ (local.set 2 (f64.load (i64.const 0)))
+ (br $$8)
+ ) ;; default
+ (f64.store align=1 (i64.const 0) (local.get 1))
+ (local.set 2 (f64.load align=1 (i64.const 0)))
+ (br $$8)
+ ) ;; 1
+ (f64.store align=2 (i64.const 0) (local.get 1))
+ (local.set 2 (f64.load align=2 (i64.const 0)))
+ (br $$8)
+ ) ;; 2
+ (f64.store align=4 (i64.const 0) (local.get 1))
+ (local.set 2 (f64.load align=4 (i64.const 0)))
+ (br $$8)
+ ) ;; 4
+ (f64.store align=8 (i64.const 0) (local.get 1))
+ (local.set 2 (f64.load align=8 (i64.const 0)))
+ ) ;; 8
+ (local.get 2)
+ )
+
+ ;; $$8s: i32/i64.load8_s, $$8u: i32/i64.load8_u, $$16s: i32/i64.load16_s, $$16u: i32/i64.load16_u, $$32: i32.load
+ ;; $$32s: i64.load32_s, $$32u: i64.load32_u, $$64: i64.load
+
+ (func (export "i32_align_switch") (param i32 i32) (result i32)
+ (local i32 i32)
+ (local.set 2 (i32.const 10))
+ (block $$32
+ (block $$16u
+ (block $$16s
+ (block $$8u
+ (block $$8s
+ (block $$0
+ (br_table $$0 $$8s $$8u $$16s $$16u $$32 (local.get 0))
+ ) ;; 0
+ (if (i32.eq (local.get 1) (i32.const 0))
+ (then
+ (i32.store8 (i64.const 0) (local.get 2))
+ (local.set 3 (i32.load8_s (i64.const 0)))
+ )
+ )
+ (if (i32.eq (local.get 1) (i32.const 1))
+ (then
+ (i32.store8 align=1 (i64.const 0) (local.get 2))
+ (local.set 3 (i32.load8_s align=1 (i64.const 0)))
+ )
+ )
+ (br $$32)
+ ) ;; 8s
+ (if (i32.eq (local.get 1) (i32.const 0))
+ (then
+ (i32.store8 (i64.const 0) (local.get 2))
+ (local.set 3 (i32.load8_u (i64.const 0)))
+ )
+ )
+ (if (i32.eq (local.get 1) (i32.const 1))
+ (then
+ (i32.store8 align=1 (i64.const 0) (local.get 2))
+ (local.set 3 (i32.load8_u align=1 (i64.const 0)))
+ )
+ )
+ (br $$32)
+ ) ;; 8u
+ (if (i32.eq (local.get 1) (i32.const 0))
+ (then
+ (i32.store16 (i64.const 0) (local.get 2))
+ (local.set 3 (i32.load16_s (i64.const 0)))
+ )
+ )
+ (if (i32.eq (local.get 1) (i32.const 1))
+ (then
+ (i32.store16 align=1 (i64.const 0) (local.get 2))
+ (local.set 3 (i32.load16_s align=1 (i64.const 0)))
+ )
+ )
+ (if (i32.eq (local.get 1) (i32.const 2))
+ (then
+ (i32.store16 align=2 (i64.const 0) (local.get 2))
+ (local.set 3 (i32.load16_s align=2 (i64.const 0)))
+ )
+ )
+ (br $$32)
+ ) ;; 16s
+ (if (i32.eq (local.get 1) (i32.const 0))
+ (then
+ (i32.store16 (i64.const 0) (local.get 2))
+ (local.set 3 (i32.load16_u (i64.const 0)))
+ )
+ )
+ (if (i32.eq (local.get 1) (i32.const 1))
+ (then
+ (i32.store16 align=1 (i64.const 0) (local.get 2))
+ (local.set 3 (i32.load16_u align=1 (i64.const 0)))
+ )
+ )
+ (if (i32.eq (local.get 1) (i32.const 2))
+ (then
+ (i32.store16 align=2 (i64.const 0) (local.get 2))
+ (local.set 3 (i32.load16_u align=2 (i64.const 0)))
+ )
+ )
+ (br $$32)
+ ) ;; 16u
+ (if (i32.eq (local.get 1) (i32.const 0))
+ (then
+ (i32.store (i64.const 0) (local.get 2))
+ (local.set 3 (i32.load (i64.const 0)))
+ )
+ )
+ (if (i32.eq (local.get 1) (i32.const 1))
+ (then
+ (i32.store align=1 (i64.const 0) (local.get 2))
+ (local.set 3 (i32.load align=1 (i64.const 0)))
+ )
+ )
+ (if (i32.eq (local.get 1) (i32.const 2))
+ (then
+ (i32.store align=2 (i64.const 0) (local.get 2))
+ (local.set 3 (i32.load align=2 (i64.const 0)))
+ )
+ )
+ (if (i32.eq (local.get 1) (i32.const 4))
+ (then
+ (i32.store align=4 (i64.const 0) (local.get 2))
+ (local.set 3 (i32.load align=4 (i64.const 0)))
+ )
+ )
+ ) ;; 32
+ (local.get 3)
+ )
+
+ (func (export "i64_align_switch") (param i32 i32) (result i64)
+ (local i64 i64)
+ (local.set 2 (i64.const 10))
+ (block $$64
+ (block $$32u
+ (block $$32s
+ (block $$16u
+ (block $$16s
+ (block $$8u
+ (block $$8s
+ (block $$0
+ (br_table $$0 $$8s $$8u $$16s $$16u $$32s $$32u $$64 (local.get 0))
+ ) ;; 0
+ (if (i32.eq (local.get 1) (i32.const 0))
+ (then
+ (i64.store8 (i64.const 0) (local.get 2))
+ (local.set 3 (i64.load8_s (i64.const 0)))
+ )
+ )
+ (if (i32.eq (local.get 1) (i32.const 1))
+ (then
+ (i64.store8 align=1 (i64.const 0) (local.get 2))
+ (local.set 3 (i64.load8_s align=1 (i64.const 0)))
+ )
+ )
+ (br $$64)
+ ) ;; 8s
+ (if (i32.eq (local.get 1) (i32.const 0))
+ (then
+ (i64.store8 (i64.const 0) (local.get 2))
+ (local.set 3 (i64.load8_u (i64.const 0)))
+ )
+ )
+ (if (i32.eq (local.get 1) (i32.const 1))
+ (then
+ (i64.store8 align=1 (i64.const 0) (local.get 2))
+ (local.set 3 (i64.load8_u align=1 (i64.const 0)))
+ )
+ )
+ (br $$64)
+ ) ;; 8u
+ (if (i32.eq (local.get 1) (i32.const 0))
+ (then
+ (i64.store16 (i64.const 0) (local.get 2))
+ (local.set 3 (i64.load16_s (i64.const 0)))
+ )
+ )
+ (if (i32.eq (local.get 1) (i32.const 1))
+ (then
+ (i64.store16 align=1 (i64.const 0) (local.get 2))
+ (local.set 3 (i64.load16_s align=1 (i64.const 0)))
+ )
+ )
+ (if (i32.eq (local.get 1) (i32.const 2))
+ (then
+ (i64.store16 align=2 (i64.const 0) (local.get 2))
+ (local.set 3 (i64.load16_s align=2 (i64.const 0)))
+ )
+ )
+ (br $$64)
+ ) ;; 16s
+ (if (i32.eq (local.get 1) (i32.const 0))
+ (then
+ (i64.store16 (i64.const 0) (local.get 2))
+ (local.set 3 (i64.load16_u (i64.const 0)))
+ )
+ )
+ (if (i32.eq (local.get 1) (i32.const 1))
+ (then
+ (i64.store16 align=1 (i64.const 0) (local.get 2))
+ (local.set 3 (i64.load16_u align=1 (i64.const 0)))
+ )
+ )
+ (if (i32.eq (local.get 1) (i32.const 2))
+ (then
+ (i64.store16 align=2 (i64.const 0) (local.get 2))
+ (local.set 3 (i64.load16_u align=2 (i64.const 0)))
+ )
+ )
+ (br $$64)
+ ) ;; 16u
+ (if (i32.eq (local.get 1) (i32.const 0))
+ (then
+ (i64.store32 (i64.const 0) (local.get 2))
+ (local.set 3 (i64.load32_s (i64.const 0)))
+ )
+ )
+ (if (i32.eq (local.get 1) (i32.const 1))
+ (then
+ (i64.store32 align=1 (i64.const 0) (local.get 2))
+ (local.set 3 (i64.load32_s align=1 (i64.const 0)))
+ )
+ )
+ (if (i32.eq (local.get 1) (i32.const 2))
+ (then
+ (i64.store32 align=2 (i64.const 0) (local.get 2))
+ (local.set 3 (i64.load32_s align=2 (i64.const 0)))
+ )
+ )
+ (if (i32.eq (local.get 1) (i32.const 4))
+ (then
+ (i64.store32 align=4 (i64.const 0) (local.get 2))
+ (local.set 3 (i64.load32_s align=4 (i64.const 0)))
+ )
+ )
+ (br $$64)
+ ) ;; 32s
+ (if (i32.eq (local.get 1) (i32.const 0))
+ (then
+ (i64.store32 (i64.const 0) (local.get 2))
+ (local.set 3 (i64.load32_u (i64.const 0)))
+ )
+ )
+ (if (i32.eq (local.get 1) (i32.const 1))
+ (then
+ (i64.store32 align=1 (i64.const 0) (local.get 2))
+ (local.set 3 (i64.load32_u align=1 (i64.const 0)))
+ )
+ )
+ (if (i32.eq (local.get 1) (i32.const 2))
+ (then
+ (i64.store32 align=2 (i64.const 0) (local.get 2))
+ (local.set 3 (i64.load32_u align=2 (i64.const 0)))
+ )
+ )
+ (if (i32.eq (local.get 1) (i32.const 4))
+ (then
+ (i64.store32 align=4 (i64.const 0) (local.get 2))
+ (local.set 3 (i64.load32_u align=4 (i64.const 0)))
+ )
+ )
+ (br $$64)
+ ) ;; 32u
+ (if (i32.eq (local.get 1) (i32.const 0))
+ (then
+ (i64.store (i64.const 0) (local.get 2))
+ (local.set 3 (i64.load (i64.const 0)))
+ )
+ )
+ (if (i32.eq (local.get 1) (i32.const 1))
+ (then
+ (i64.store align=1 (i64.const 0) (local.get 2))
+ (local.set 3 (i64.load align=1 (i64.const 0)))
+ )
+ )
+ (if (i32.eq (local.get 1) (i32.const 2))
+ (then
+ (i64.store align=2 (i64.const 0) (local.get 2))
+ (local.set 3 (i64.load align=2 (i64.const 0)))
+ )
+ )
+ (if (i32.eq (local.get 1) (i32.const 4))
+ (then
+ (i64.store align=4 (i64.const 0) (local.get 2))
+ (local.set 3 (i64.load align=4 (i64.const 0)))
+ )
+ )
+ (if (i32.eq (local.get 1) (i32.const 8))
+ (then
+ (i64.store align=8 (i64.const 0) (local.get 2))
+ (local.set 3 (i64.load align=8 (i64.const 0)))
+ )
+ )
+ ) ;; 64
+ (local.get 3)
+ )
+)`);
+
+// ./test/core/align64.wast:802
+assert_return(() => invoke($23, `f32_align_switch`, [0]), [value("f32", 10)]);
+
+// ./test/core/align64.wast:803
+assert_return(() => invoke($23, `f32_align_switch`, [1]), [value("f32", 10)]);
+
+// ./test/core/align64.wast:804
+assert_return(() => invoke($23, `f32_align_switch`, [2]), [value("f32", 10)]);
+
+// ./test/core/align64.wast:805
+assert_return(() => invoke($23, `f32_align_switch`, [3]), [value("f32", 10)]);
+
+// ./test/core/align64.wast:807
+assert_return(() => invoke($23, `f64_align_switch`, [0]), [value("f64", 10)]);
+
+// ./test/core/align64.wast:808
+assert_return(() => invoke($23, `f64_align_switch`, [1]), [value("f64", 10)]);
+
+// ./test/core/align64.wast:809
+assert_return(() => invoke($23, `f64_align_switch`, [2]), [value("f64", 10)]);
+
+// ./test/core/align64.wast:810
+assert_return(() => invoke($23, `f64_align_switch`, [3]), [value("f64", 10)]);
+
+// ./test/core/align64.wast:811
+assert_return(() => invoke($23, `f64_align_switch`, [4]), [value("f64", 10)]);
+
+// ./test/core/align64.wast:813
+assert_return(() => invoke($23, `i32_align_switch`, [0, 0]), [value("i32", 10)]);
+
+// ./test/core/align64.wast:814
+assert_return(() => invoke($23, `i32_align_switch`, [0, 1]), [value("i32", 10)]);
+
+// ./test/core/align64.wast:815
+assert_return(() => invoke($23, `i32_align_switch`, [1, 0]), [value("i32", 10)]);
+
+// ./test/core/align64.wast:816
+assert_return(() => invoke($23, `i32_align_switch`, [1, 1]), [value("i32", 10)]);
+
+// ./test/core/align64.wast:817
+assert_return(() => invoke($23, `i32_align_switch`, [2, 0]), [value("i32", 10)]);
+
+// ./test/core/align64.wast:818
+assert_return(() => invoke($23, `i32_align_switch`, [2, 1]), [value("i32", 10)]);
+
+// ./test/core/align64.wast:819
+assert_return(() => invoke($23, `i32_align_switch`, [2, 2]), [value("i32", 10)]);
+
+// ./test/core/align64.wast:820
+assert_return(() => invoke($23, `i32_align_switch`, [3, 0]), [value("i32", 10)]);
+
+// ./test/core/align64.wast:821
+assert_return(() => invoke($23, `i32_align_switch`, [3, 1]), [value("i32", 10)]);
+
+// ./test/core/align64.wast:822
+assert_return(() => invoke($23, `i32_align_switch`, [3, 2]), [value("i32", 10)]);
+
+// ./test/core/align64.wast:823
+assert_return(() => invoke($23, `i32_align_switch`, [4, 0]), [value("i32", 10)]);
+
+// ./test/core/align64.wast:824
+assert_return(() => invoke($23, `i32_align_switch`, [4, 1]), [value("i32", 10)]);
+
+// ./test/core/align64.wast:825
+assert_return(() => invoke($23, `i32_align_switch`, [4, 2]), [value("i32", 10)]);
+
+// ./test/core/align64.wast:826
+assert_return(() => invoke($23, `i32_align_switch`, [4, 4]), [value("i32", 10)]);
+
+// ./test/core/align64.wast:828
+assert_return(() => invoke($23, `i64_align_switch`, [0, 0]), [value("i64", 10n)]);
+
+// ./test/core/align64.wast:829
+assert_return(() => invoke($23, `i64_align_switch`, [0, 1]), [value("i64", 10n)]);
+
+// ./test/core/align64.wast:830
+assert_return(() => invoke($23, `i64_align_switch`, [1, 0]), [value("i64", 10n)]);
+
+// ./test/core/align64.wast:831
+assert_return(() => invoke($23, `i64_align_switch`, [1, 1]), [value("i64", 10n)]);
+
+// ./test/core/align64.wast:832
+assert_return(() => invoke($23, `i64_align_switch`, [2, 0]), [value("i64", 10n)]);
+
+// ./test/core/align64.wast:833
+assert_return(() => invoke($23, `i64_align_switch`, [2, 1]), [value("i64", 10n)]);
+
+// ./test/core/align64.wast:834
+assert_return(() => invoke($23, `i64_align_switch`, [2, 2]), [value("i64", 10n)]);
+
+// ./test/core/align64.wast:835
+assert_return(() => invoke($23, `i64_align_switch`, [3, 0]), [value("i64", 10n)]);
+
+// ./test/core/align64.wast:836
+assert_return(() => invoke($23, `i64_align_switch`, [3, 1]), [value("i64", 10n)]);
+
+// ./test/core/align64.wast:837
+assert_return(() => invoke($23, `i64_align_switch`, [3, 2]), [value("i64", 10n)]);
+
+// ./test/core/align64.wast:838
+assert_return(() => invoke($23, `i64_align_switch`, [4, 0]), [value("i64", 10n)]);
+
+// ./test/core/align64.wast:839
+assert_return(() => invoke($23, `i64_align_switch`, [4, 1]), [value("i64", 10n)]);
+
+// ./test/core/align64.wast:840
+assert_return(() => invoke($23, `i64_align_switch`, [4, 2]), [value("i64", 10n)]);
+
+// ./test/core/align64.wast:841
+assert_return(() => invoke($23, `i64_align_switch`, [4, 4]), [value("i64", 10n)]);
+
+// ./test/core/align64.wast:842
+assert_return(() => invoke($23, `i64_align_switch`, [5, 0]), [value("i64", 10n)]);
+
+// ./test/core/align64.wast:843
+assert_return(() => invoke($23, `i64_align_switch`, [5, 1]), [value("i64", 10n)]);
+
+// ./test/core/align64.wast:844
+assert_return(() => invoke($23, `i64_align_switch`, [5, 2]), [value("i64", 10n)]);
+
+// ./test/core/align64.wast:845
+assert_return(() => invoke($23, `i64_align_switch`, [5, 4]), [value("i64", 10n)]);
+
+// ./test/core/align64.wast:846
+assert_return(() => invoke($23, `i64_align_switch`, [6, 0]), [value("i64", 10n)]);
+
+// ./test/core/align64.wast:847
+assert_return(() => invoke($23, `i64_align_switch`, [6, 1]), [value("i64", 10n)]);
+
+// ./test/core/align64.wast:848
+assert_return(() => invoke($23, `i64_align_switch`, [6, 2]), [value("i64", 10n)]);
+
+// ./test/core/align64.wast:849
+assert_return(() => invoke($23, `i64_align_switch`, [6, 4]), [value("i64", 10n)]);
+
+// ./test/core/align64.wast:850
+assert_return(() => invoke($23, `i64_align_switch`, [6, 8]), [value("i64", 10n)]);
+
+// ./test/core/align64.wast:854
+let $24 = instantiate(`(module
+ (memory i64 1)
+ (func (export "store") (param i64 i64)
+ (i64.store align=4 (local.get 0) (local.get 1))
+ )
+ (func (export "load") (param i64) (result i32)
+ (i32.load (local.get 0))
+ )
+)`);
+
+// Bug 1737225 - do not observe the partial store caused by bug 1666747 on
+// some native platforms.
+if (!partialOobWriteMayWritePartialData()) {
+ // ./test/core/align64.wast:864
+ assert_trap(
+ () => invoke($24, `store`, [65532n, -1n]),
+ `out of bounds memory access`,
+ );
+
+ // ./test/core/align64.wast:866
+ assert_return(() => invoke($24, `load`, [65532n]), [value("i32", 0)]);
+}
diff --git a/js/src/jit-test/tests/wasm/spec/memory64/directives.txt b/js/src/jit-test/tests/wasm/spec/memory64/directives.txt
new file mode 100644
index 0000000000..bbc47fb788
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/memory64/directives.txt
@@ -0,0 +1 @@
+|jit-test| test-also=--wasm-compiler=optimizing; test-also=--wasm-compiler=baseline; test-also=--wasm-test-serialization; test-also=--test-wasm-await-tier2; test-also=--disable-wasm-huge-memory; skip-variant-if: --disable-wasm-huge-memory, !wasmHugeMemorySupported(); local-include:harness/harness.js; skip-if: !wasmMemory64Enabled() \ No newline at end of file
diff --git a/js/src/jit-test/tests/wasm/spec/memory64/endianness64.wast.js b/js/src/jit-test/tests/wasm/spec/memory64/endianness64.wast.js
new file mode 100644
index 0000000000..651714be6f
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/memory64/endianness64.wast.js
@@ -0,0 +1,385 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/endianness64.wast
+
+// ./test/core/endianness64.wast:1
+let $0 = instantiate(`(module
+ (memory i64 1)
+
+ ;; Stores an i16 value in little-endian-format
+ (func $$i16_store_little (param $$address i64) (param $$value i32)
+ (i32.store8 (local.get $$address) (local.get $$value))
+ (i32.store8 (i64.add (local.get $$address) (i64.const 1)) (i32.shr_u (local.get $$value) (i32.const 8)))
+ )
+
+ ;; Stores an i32 value in little-endian format
+ (func $$i32_store_little (param $$address i64) (param $$value i32)
+ (call $$i16_store_little (local.get $$address) (local.get $$value))
+ (call $$i16_store_little (i64.add (local.get $$address) (i64.const 2)) (i32.shr_u (local.get $$value) (i32.const 16)))
+ )
+
+ ;; Stores an i64 value in little-endian format
+ (func $$i64_store_little (param $$address i64) (param $$value i64)
+ (call $$i32_store_little (local.get $$address) (i32.wrap_i64 (local.get $$value)))
+ (call $$i32_store_little (i64.add (local.get $$address) (i64.const 4)) (i32.wrap_i64 (i64.shr_u (local.get $$value) (i64.const 32))))
+ )
+
+ ;; Loads an i16 value in little-endian format
+ (func $$i16_load_little (param $$address i64) (result i32)
+ (i32.or
+ (i32.load8_u (local.get $$address))
+ (i32.shl (i32.load8_u (i64.add (local.get $$address) (i64.const 1))) (i32.const 8))
+ )
+ )
+
+ ;; Loads an i32 value in little-endian format
+ (func $$i32_load_little (param $$address i64) (result i32)
+ (i32.or
+ (call $$i16_load_little (local.get $$address))
+ (i32.shl (call $$i16_load_little (i64.add (local.get $$address) (i64.const 2))) (i32.const 16))
+ )
+ )
+
+ ;; Loads an i64 value in little-endian format
+ (func $$i64_load_little (param $$address i64) (result i64)
+ (i64.or
+ (i64.extend_i32_u (call $$i32_load_little (local.get $$address)))
+ (i64.shl (i64.extend_i32_u (call $$i32_load_little (i64.add (local.get $$address) (i64.const 4)))) (i64.const 32))
+ )
+ )
+
+ (func (export "i32_load16_s") (param $$value i32) (result i32)
+ (call $$i16_store_little (i64.const 0) (local.get $$value))
+ (i32.load16_s (i64.const 0))
+ )
+
+ (func (export "i32_load16_u") (param $$value i32) (result i32)
+ (call $$i16_store_little (i64.const 0) (local.get $$value))
+ (i32.load16_u (i64.const 0))
+ )
+
+ (func (export "i32_load") (param $$value i32) (result i32)
+ (call $$i32_store_little (i64.const 0) (local.get $$value))
+ (i32.load (i64.const 0))
+ )
+
+ (func (export "i64_load16_s") (param $$value i64) (result i64)
+ (call $$i16_store_little (i64.const 0) (i32.wrap_i64 (local.get $$value)))
+ (i64.load16_s (i64.const 0))
+ )
+
+ (func (export "i64_load16_u") (param $$value i64) (result i64)
+ (call $$i16_store_little (i64.const 0) (i32.wrap_i64 (local.get $$value)))
+ (i64.load16_u (i64.const 0))
+ )
+
+ (func (export "i64_load32_s") (param $$value i64) (result i64)
+ (call $$i32_store_little (i64.const 0) (i32.wrap_i64 (local.get $$value)))
+ (i64.load32_s (i64.const 0))
+ )
+
+ (func (export "i64_load32_u") (param $$value i64) (result i64)
+ (call $$i32_store_little (i64.const 0) (i32.wrap_i64 (local.get $$value)))
+ (i64.load32_u (i64.const 0))
+ )
+
+ (func (export "i64_load") (param $$value i64) (result i64)
+ (call $$i64_store_little (i64.const 0) (local.get $$value))
+ (i64.load (i64.const 0))
+ )
+
+ (func (export "f32_load") (param $$value f32) (result f32)
+ (call $$i32_store_little (i64.const 0) (i32.reinterpret_f32 (local.get $$value)))
+ (f32.load (i64.const 0))
+ )
+
+ (func (export "f64_load") (param $$value f64) (result f64)
+ (call $$i64_store_little (i64.const 0) (i64.reinterpret_f64 (local.get $$value)))
+ (f64.load (i64.const 0))
+ )
+
+
+ (func (export "i32_store16") (param $$value i32) (result i32)
+ (i32.store16 (i64.const 0) (local.get $$value))
+ (call $$i16_load_little (i64.const 0))
+ )
+
+ (func (export "i32_store") (param $$value i32) (result i32)
+ (i32.store (i64.const 0) (local.get $$value))
+ (call $$i32_load_little (i64.const 0))
+ )
+
+ (func (export "i64_store16") (param $$value i64) (result i64)
+ (i64.store16 (i64.const 0) (local.get $$value))
+ (i64.extend_i32_u (call $$i16_load_little (i64.const 0)))
+ )
+
+ (func (export "i64_store32") (param $$value i64) (result i64)
+ (i64.store32 (i64.const 0) (local.get $$value))
+ (i64.extend_i32_u (call $$i32_load_little (i64.const 0)))
+ )
+
+ (func (export "i64_store") (param $$value i64) (result i64)
+ (i64.store (i64.const 0) (local.get $$value))
+ (call $$i64_load_little (i64.const 0))
+ )
+
+ (func (export "f32_store") (param $$value f32) (result f32)
+ (f32.store (i64.const 0) (local.get $$value))
+ (f32.reinterpret_i32 (call $$i32_load_little (i64.const 0)))
+ )
+
+ (func (export "f64_store") (param $$value f64) (result f64)
+ (f64.store (i64.const 0) (local.get $$value))
+ (f64.reinterpret_i64 (call $$i64_load_little (i64.const 0)))
+ )
+)`);
+
+// ./test/core/endianness64.wast:133
+assert_return(() => invoke($0, `i32_load16_s`, [-1]), [value("i32", -1)]);
+
+// ./test/core/endianness64.wast:134
+assert_return(() => invoke($0, `i32_load16_s`, [-4242]), [value("i32", -4242)]);
+
+// ./test/core/endianness64.wast:135
+assert_return(() => invoke($0, `i32_load16_s`, [42]), [value("i32", 42)]);
+
+// ./test/core/endianness64.wast:136
+assert_return(() => invoke($0, `i32_load16_s`, [12816]), [value("i32", 12816)]);
+
+// ./test/core/endianness64.wast:138
+assert_return(() => invoke($0, `i32_load16_u`, [-1]), [value("i32", 65535)]);
+
+// ./test/core/endianness64.wast:139
+assert_return(() => invoke($0, `i32_load16_u`, [-4242]), [value("i32", 61294)]);
+
+// ./test/core/endianness64.wast:140
+assert_return(() => invoke($0, `i32_load16_u`, [42]), [value("i32", 42)]);
+
+// ./test/core/endianness64.wast:141
+assert_return(() => invoke($0, `i32_load16_u`, [51966]), [value("i32", 51966)]);
+
+// ./test/core/endianness64.wast:143
+assert_return(() => invoke($0, `i32_load`, [-1]), [value("i32", -1)]);
+
+// ./test/core/endianness64.wast:144
+assert_return(() => invoke($0, `i32_load`, [-42424242]), [value("i32", -42424242)]);
+
+// ./test/core/endianness64.wast:145
+assert_return(() => invoke($0, `i32_load`, [42424242]), [value("i32", 42424242)]);
+
+// ./test/core/endianness64.wast:146
+assert_return(() => invoke($0, `i32_load`, [-1414717974]), [value("i32", -1414717974)]);
+
+// ./test/core/endianness64.wast:148
+assert_return(() => invoke($0, `i64_load16_s`, [-1n]), [value("i64", -1n)]);
+
+// ./test/core/endianness64.wast:149
+assert_return(() => invoke($0, `i64_load16_s`, [-4242n]), [value("i64", -4242n)]);
+
+// ./test/core/endianness64.wast:150
+assert_return(() => invoke($0, `i64_load16_s`, [42n]), [value("i64", 42n)]);
+
+// ./test/core/endianness64.wast:151
+assert_return(() => invoke($0, `i64_load16_s`, [12816n]), [value("i64", 12816n)]);
+
+// ./test/core/endianness64.wast:153
+assert_return(() => invoke($0, `i64_load16_u`, [-1n]), [value("i64", 65535n)]);
+
+// ./test/core/endianness64.wast:154
+assert_return(() => invoke($0, `i64_load16_u`, [-4242n]), [value("i64", 61294n)]);
+
+// ./test/core/endianness64.wast:155
+assert_return(() => invoke($0, `i64_load16_u`, [42n]), [value("i64", 42n)]);
+
+// ./test/core/endianness64.wast:156
+assert_return(() => invoke($0, `i64_load16_u`, [51966n]), [value("i64", 51966n)]);
+
+// ./test/core/endianness64.wast:158
+assert_return(() => invoke($0, `i64_load32_s`, [-1n]), [value("i64", -1n)]);
+
+// ./test/core/endianness64.wast:159
+assert_return(() => invoke($0, `i64_load32_s`, [-42424242n]), [value("i64", -42424242n)]);
+
+// ./test/core/endianness64.wast:160
+assert_return(() => invoke($0, `i64_load32_s`, [42424242n]), [value("i64", 42424242n)]);
+
+// ./test/core/endianness64.wast:161
+assert_return(() => invoke($0, `i64_load32_s`, [305419896n]), [value("i64", 305419896n)]);
+
+// ./test/core/endianness64.wast:163
+assert_return(() => invoke($0, `i64_load32_u`, [-1n]), [value("i64", 4294967295n)]);
+
+// ./test/core/endianness64.wast:164
+assert_return(() => invoke($0, `i64_load32_u`, [-42424242n]), [value("i64", 4252543054n)]);
+
+// ./test/core/endianness64.wast:165
+assert_return(() => invoke($0, `i64_load32_u`, [42424242n]), [value("i64", 42424242n)]);
+
+// ./test/core/endianness64.wast:166
+assert_return(() => invoke($0, `i64_load32_u`, [2880249322n]), [value("i64", 2880249322n)]);
+
+// ./test/core/endianness64.wast:168
+assert_return(() => invoke($0, `i64_load`, [-1n]), [value("i64", -1n)]);
+
+// ./test/core/endianness64.wast:169
+assert_return(() => invoke($0, `i64_load`, [-42424242n]), [value("i64", -42424242n)]);
+
+// ./test/core/endianness64.wast:170
+assert_return(() => invoke($0, `i64_load`, [2880249322n]), [value("i64", 2880249322n)]);
+
+// ./test/core/endianness64.wast:171
+assert_return(
+ () => invoke($0, `i64_load`, [-6075977126246539798n]),
+ [value("i64", -6075977126246539798n)],
+);
+
+// ./test/core/endianness64.wast:173
+assert_return(() => invoke($0, `f32_load`, [value("f32", -1)]), [value("f32", -1)]);
+
+// ./test/core/endianness64.wast:174
+assert_return(() => invoke($0, `f32_load`, [value("f32", 0.01234)]), [value("f32", 0.01234)]);
+
+// ./test/core/endianness64.wast:175
+assert_return(() => invoke($0, `f32_load`, [value("f32", 4242.4243)]), [value("f32", 4242.4243)]);
+
+// ./test/core/endianness64.wast:176
+assert_return(
+ () => invoke($0, `f32_load`, [value("f32", 340282350000000000000000000000000000000)]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/endianness64.wast:178
+assert_return(() => invoke($0, `f64_load`, [value("f64", -1)]), [value("f64", -1)]);
+
+// ./test/core/endianness64.wast:179
+assert_return(() => invoke($0, `f64_load`, [value("f64", 1234.56789)]), [value("f64", 1234.56789)]);
+
+// ./test/core/endianness64.wast:180
+assert_return(
+ () => invoke($0, `f64_load`, [value("f64", 424242.424242)]),
+ [value("f64", 424242.424242)],
+);
+
+// ./test/core/endianness64.wast:181
+assert_return(
+ () => invoke($0, `f64_load`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/endianness64.wast:184
+assert_return(() => invoke($0, `i32_store16`, [-1]), [value("i32", 65535)]);
+
+// ./test/core/endianness64.wast:185
+assert_return(() => invoke($0, `i32_store16`, [-4242]), [value("i32", 61294)]);
+
+// ./test/core/endianness64.wast:186
+assert_return(() => invoke($0, `i32_store16`, [42]), [value("i32", 42)]);
+
+// ./test/core/endianness64.wast:187
+assert_return(() => invoke($0, `i32_store16`, [51966]), [value("i32", 51966)]);
+
+// ./test/core/endianness64.wast:189
+assert_return(() => invoke($0, `i32_store`, [-1]), [value("i32", -1)]);
+
+// ./test/core/endianness64.wast:190
+assert_return(() => invoke($0, `i32_store`, [-4242]), [value("i32", -4242)]);
+
+// ./test/core/endianness64.wast:191
+assert_return(() => invoke($0, `i32_store`, [42424242]), [value("i32", 42424242)]);
+
+// ./test/core/endianness64.wast:192
+assert_return(() => invoke($0, `i32_store`, [-559035650]), [value("i32", -559035650)]);
+
+// ./test/core/endianness64.wast:194
+assert_return(() => invoke($0, `i64_store16`, [-1n]), [value("i64", 65535n)]);
+
+// ./test/core/endianness64.wast:195
+assert_return(() => invoke($0, `i64_store16`, [-4242n]), [value("i64", 61294n)]);
+
+// ./test/core/endianness64.wast:196
+assert_return(() => invoke($0, `i64_store16`, [42n]), [value("i64", 42n)]);
+
+// ./test/core/endianness64.wast:197
+assert_return(() => invoke($0, `i64_store16`, [51966n]), [value("i64", 51966n)]);
+
+// ./test/core/endianness64.wast:199
+assert_return(() => invoke($0, `i64_store32`, [-1n]), [value("i64", 4294967295n)]);
+
+// ./test/core/endianness64.wast:200
+assert_return(() => invoke($0, `i64_store32`, [-4242n]), [value("i64", 4294963054n)]);
+
+// ./test/core/endianness64.wast:201
+assert_return(() => invoke($0, `i64_store32`, [42424242n]), [value("i64", 42424242n)]);
+
+// ./test/core/endianness64.wast:202
+assert_return(() => invoke($0, `i64_store32`, [3735931646n]), [value("i64", 3735931646n)]);
+
+// ./test/core/endianness64.wast:204
+assert_return(() => invoke($0, `i64_store`, [-1n]), [value("i64", -1n)]);
+
+// ./test/core/endianness64.wast:205
+assert_return(() => invoke($0, `i64_store`, [-42424242n]), [value("i64", -42424242n)]);
+
+// ./test/core/endianness64.wast:206
+assert_return(() => invoke($0, `i64_store`, [2880249322n]), [value("i64", 2880249322n)]);
+
+// ./test/core/endianness64.wast:207
+assert_return(
+ () => invoke($0, `i64_store`, [-6075977126246539798n]),
+ [value("i64", -6075977126246539798n)],
+);
+
+// ./test/core/endianness64.wast:209
+assert_return(() => invoke($0, `f32_store`, [value("f32", -1)]), [value("f32", -1)]);
+
+// ./test/core/endianness64.wast:210
+assert_return(() => invoke($0, `f32_store`, [value("f32", 0.01234)]), [value("f32", 0.01234)]);
+
+// ./test/core/endianness64.wast:211
+assert_return(() => invoke($0, `f32_store`, [value("f32", 4242.4243)]), [value("f32", 4242.4243)]);
+
+// ./test/core/endianness64.wast:212
+assert_return(
+ () => invoke($0, `f32_store`, [value("f32", 340282350000000000000000000000000000000)]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/endianness64.wast:214
+assert_return(() => invoke($0, `f64_store`, [value("f64", -1)]), [value("f64", -1)]);
+
+// ./test/core/endianness64.wast:215
+assert_return(() => invoke($0, `f64_store`, [value("f64", 1234.56789)]), [value("f64", 1234.56789)]);
+
+// ./test/core/endianness64.wast:216
+assert_return(
+ () => invoke($0, `f64_store`, [value("f64", 424242.424242)]),
+ [value("f64", 424242.424242)],
+);
+
+// ./test/core/endianness64.wast:217
+assert_return(
+ () => invoke($0, `f64_store`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
diff --git a/js/src/jit-test/tests/wasm/spec/memory64/float_memory64.wast.js b/js/src/jit-test/tests/wasm/spec/memory64/float_memory64.wast.js
new file mode 100644
index 0000000000..70f5605577
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/memory64/float_memory64.wast.js
@@ -0,0 +1,361 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/float_memory64.wast
+
+// ./test/core/float_memory64.wast:5
+let $0 = instantiate(`(module
+ (memory i64 (data "\\00\\00\\a0\\7f"))
+
+ (func (export "f32.load") (result f32) (f32.load (i64.const 0)))
+ (func (export "i32.load") (result i32) (i32.load (i64.const 0)))
+ (func (export "f32.store") (f32.store (i64.const 0) (f32.const nan:0x200000)))
+ (func (export "i32.store") (i32.store (i64.const 0) (i32.const 0x7fa00000)))
+ (func (export "reset") (i32.store (i64.const 0) (i32.const 0)))
+)`);
+
+// ./test/core/float_memory64.wast:15
+assert_return(() => invoke($0, `i32.load`, []), [value("i32", 2141192192)]);
+
+// ./test/core/float_memory64.wast:16
+assert_return(() => invoke($0, `f32.load`, []), [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]);
+
+// ./test/core/float_memory64.wast:17
+invoke($0, `reset`, []);
+
+// ./test/core/float_memory64.wast:18
+assert_return(() => invoke($0, `i32.load`, []), [value("i32", 0)]);
+
+// ./test/core/float_memory64.wast:19
+assert_return(() => invoke($0, `f32.load`, []), [value("f32", 0)]);
+
+// ./test/core/float_memory64.wast:20
+invoke($0, `f32.store`, []);
+
+// ./test/core/float_memory64.wast:21
+assert_return(() => invoke($0, `i32.load`, []), [value("i32", 2141192192)]);
+
+// ./test/core/float_memory64.wast:22
+assert_return(() => invoke($0, `f32.load`, []), [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]);
+
+// ./test/core/float_memory64.wast:23
+invoke($0, `reset`, []);
+
+// ./test/core/float_memory64.wast:24
+assert_return(() => invoke($0, `i32.load`, []), [value("i32", 0)]);
+
+// ./test/core/float_memory64.wast:25
+assert_return(() => invoke($0, `f32.load`, []), [value("f32", 0)]);
+
+// ./test/core/float_memory64.wast:26
+invoke($0, `i32.store`, []);
+
+// ./test/core/float_memory64.wast:27
+assert_return(() => invoke($0, `i32.load`, []), [value("i32", 2141192192)]);
+
+// ./test/core/float_memory64.wast:28
+assert_return(() => invoke($0, `f32.load`, []), [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]);
+
+// ./test/core/float_memory64.wast:30
+let $1 = instantiate(`(module
+ (memory i64 (data "\\00\\00\\00\\00\\00\\00\\f4\\7f"))
+
+ (func (export "f64.load") (result f64) (f64.load (i64.const 0)))
+ (func (export "i64.load") (result i64) (i64.load (i64.const 0)))
+ (func (export "f64.store") (f64.store (i64.const 0) (f64.const nan:0x4000000000000)))
+ (func (export "i64.store") (i64.store (i64.const 0) (i64.const 0x7ff4000000000000)))
+ (func (export "reset") (i64.store (i64.const 0) (i64.const 0)))
+)`);
+
+// ./test/core/float_memory64.wast:40
+assert_return(() => invoke($1, `i64.load`, []), [value("i64", 9219994337134247936n)]);
+
+// ./test/core/float_memory64.wast:41
+assert_return(
+ () => invoke($1, `f64.load`, []),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f])],
+);
+
+// ./test/core/float_memory64.wast:42
+invoke($1, `reset`, []);
+
+// ./test/core/float_memory64.wast:43
+assert_return(() => invoke($1, `i64.load`, []), [value("i64", 0n)]);
+
+// ./test/core/float_memory64.wast:44
+assert_return(() => invoke($1, `f64.load`, []), [value("f64", 0)]);
+
+// ./test/core/float_memory64.wast:45
+invoke($1, `f64.store`, []);
+
+// ./test/core/float_memory64.wast:46
+assert_return(() => invoke($1, `i64.load`, []), [value("i64", 9219994337134247936n)]);
+
+// ./test/core/float_memory64.wast:47
+assert_return(
+ () => invoke($1, `f64.load`, []),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f])],
+);
+
+// ./test/core/float_memory64.wast:48
+invoke($1, `reset`, []);
+
+// ./test/core/float_memory64.wast:49
+assert_return(() => invoke($1, `i64.load`, []), [value("i64", 0n)]);
+
+// ./test/core/float_memory64.wast:50
+assert_return(() => invoke($1, `f64.load`, []), [value("f64", 0)]);
+
+// ./test/core/float_memory64.wast:51
+invoke($1, `i64.store`, []);
+
+// ./test/core/float_memory64.wast:52
+assert_return(() => invoke($1, `i64.load`, []), [value("i64", 9219994337134247936n)]);
+
+// ./test/core/float_memory64.wast:53
+assert_return(
+ () => invoke($1, `f64.load`, []),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f])],
+);
+
+// ./test/core/float_memory64.wast:57
+let $2 = instantiate(`(module
+ (memory i64 (data "\\00\\00\\00\\a0\\7f"))
+
+ (func (export "f32.load") (result f32) (f32.load (i64.const 1)))
+ (func (export "i32.load") (result i32) (i32.load (i64.const 1)))
+ (func (export "f32.store") (f32.store (i64.const 1) (f32.const nan:0x200000)))
+ (func (export "i32.store") (i32.store (i64.const 1) (i32.const 0x7fa00000)))
+ (func (export "reset") (i32.store (i64.const 1) (i32.const 0)))
+)`);
+
+// ./test/core/float_memory64.wast:67
+assert_return(() => invoke($2, `i32.load`, []), [value("i32", 2141192192)]);
+
+// ./test/core/float_memory64.wast:68
+assert_return(() => invoke($2, `f32.load`, []), [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]);
+
+// ./test/core/float_memory64.wast:69
+invoke($2, `reset`, []);
+
+// ./test/core/float_memory64.wast:70
+assert_return(() => invoke($2, `i32.load`, []), [value("i32", 0)]);
+
+// ./test/core/float_memory64.wast:71
+assert_return(() => invoke($2, `f32.load`, []), [value("f32", 0)]);
+
+// ./test/core/float_memory64.wast:72
+invoke($2, `f32.store`, []);
+
+// ./test/core/float_memory64.wast:73
+assert_return(() => invoke($2, `i32.load`, []), [value("i32", 2141192192)]);
+
+// ./test/core/float_memory64.wast:74
+assert_return(() => invoke($2, `f32.load`, []), [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]);
+
+// ./test/core/float_memory64.wast:75
+invoke($2, `reset`, []);
+
+// ./test/core/float_memory64.wast:76
+assert_return(() => invoke($2, `i32.load`, []), [value("i32", 0)]);
+
+// ./test/core/float_memory64.wast:77
+assert_return(() => invoke($2, `f32.load`, []), [value("f32", 0)]);
+
+// ./test/core/float_memory64.wast:78
+invoke($2, `i32.store`, []);
+
+// ./test/core/float_memory64.wast:79
+assert_return(() => invoke($2, `i32.load`, []), [value("i32", 2141192192)]);
+
+// ./test/core/float_memory64.wast:80
+assert_return(() => invoke($2, `f32.load`, []), [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]);
+
+// ./test/core/float_memory64.wast:82
+let $3 = instantiate(`(module
+ (memory i64 (data "\\00\\00\\00\\00\\00\\00\\00\\f4\\7f"))
+
+ (func (export "f64.load") (result f64) (f64.load (i64.const 1)))
+ (func (export "i64.load") (result i64) (i64.load (i64.const 1)))
+ (func (export "f64.store") (f64.store (i64.const 1) (f64.const nan:0x4000000000000)))
+ (func (export "i64.store") (i64.store (i64.const 1) (i64.const 0x7ff4000000000000)))
+ (func (export "reset") (i64.store (i64.const 1) (i64.const 0)))
+)`);
+
+// ./test/core/float_memory64.wast:92
+assert_return(() => invoke($3, `i64.load`, []), [value("i64", 9219994337134247936n)]);
+
+// ./test/core/float_memory64.wast:93
+assert_return(
+ () => invoke($3, `f64.load`, []),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f])],
+);
+
+// ./test/core/float_memory64.wast:94
+invoke($3, `reset`, []);
+
+// ./test/core/float_memory64.wast:95
+assert_return(() => invoke($3, `i64.load`, []), [value("i64", 0n)]);
+
+// ./test/core/float_memory64.wast:96
+assert_return(() => invoke($3, `f64.load`, []), [value("f64", 0)]);
+
+// ./test/core/float_memory64.wast:97
+invoke($3, `f64.store`, []);
+
+// ./test/core/float_memory64.wast:98
+assert_return(() => invoke($3, `i64.load`, []), [value("i64", 9219994337134247936n)]);
+
+// ./test/core/float_memory64.wast:99
+assert_return(
+ () => invoke($3, `f64.load`, []),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f])],
+);
+
+// ./test/core/float_memory64.wast:100
+invoke($3, `reset`, []);
+
+// ./test/core/float_memory64.wast:101
+assert_return(() => invoke($3, `i64.load`, []), [value("i64", 0n)]);
+
+// ./test/core/float_memory64.wast:102
+assert_return(() => invoke($3, `f64.load`, []), [value("f64", 0)]);
+
+// ./test/core/float_memory64.wast:103
+invoke($3, `i64.store`, []);
+
+// ./test/core/float_memory64.wast:104
+assert_return(() => invoke($3, `i64.load`, []), [value("i64", 9219994337134247936n)]);
+
+// ./test/core/float_memory64.wast:105
+assert_return(
+ () => invoke($3, `f64.load`, []),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f])],
+);
+
+// ./test/core/float_memory64.wast:109
+let $4 = instantiate(`(module
+ (memory i64 (data "\\01\\00\\d0\\7f"))
+
+ (func (export "f32.load") (result f32) (f32.load (i64.const 0)))
+ (func (export "i32.load") (result i32) (i32.load (i64.const 0)))
+ (func (export "f32.store") (f32.store (i64.const 0) (f32.const nan:0x500001)))
+ (func (export "i32.store") (i32.store (i64.const 0) (i32.const 0x7fd00001)))
+ (func (export "reset") (i32.store (i64.const 0) (i32.const 0)))
+)`);
+
+// ./test/core/float_memory64.wast:119
+assert_return(() => invoke($4, `i32.load`, []), [value("i32", 2144337921)]);
+
+// ./test/core/float_memory64.wast:120
+assert_return(() => invoke($4, `f32.load`, []), [bytes("f32", [0x1, 0x0, 0xd0, 0x7f])]);
+
+// ./test/core/float_memory64.wast:121
+invoke($4, `reset`, []);
+
+// ./test/core/float_memory64.wast:122
+assert_return(() => invoke($4, `i32.load`, []), [value("i32", 0)]);
+
+// ./test/core/float_memory64.wast:123
+assert_return(() => invoke($4, `f32.load`, []), [value("f32", 0)]);
+
+// ./test/core/float_memory64.wast:124
+invoke($4, `f32.store`, []);
+
+// ./test/core/float_memory64.wast:125
+assert_return(() => invoke($4, `i32.load`, []), [value("i32", 2144337921)]);
+
+// ./test/core/float_memory64.wast:126
+assert_return(() => invoke($4, `f32.load`, []), [bytes("f32", [0x1, 0x0, 0xd0, 0x7f])]);
+
+// ./test/core/float_memory64.wast:127
+invoke($4, `reset`, []);
+
+// ./test/core/float_memory64.wast:128
+assert_return(() => invoke($4, `i32.load`, []), [value("i32", 0)]);
+
+// ./test/core/float_memory64.wast:129
+assert_return(() => invoke($4, `f32.load`, []), [value("f32", 0)]);
+
+// ./test/core/float_memory64.wast:130
+invoke($4, `i32.store`, []);
+
+// ./test/core/float_memory64.wast:131
+assert_return(() => invoke($4, `i32.load`, []), [value("i32", 2144337921)]);
+
+// ./test/core/float_memory64.wast:132
+assert_return(() => invoke($4, `f32.load`, []), [bytes("f32", [0x1, 0x0, 0xd0, 0x7f])]);
+
+// ./test/core/float_memory64.wast:134
+let $5 = instantiate(`(module
+ (memory i64 (data "\\01\\00\\00\\00\\00\\00\\fc\\7f"))
+
+ (func (export "f64.load") (result f64) (f64.load (i64.const 0)))
+ (func (export "i64.load") (result i64) (i64.load (i64.const 0)))
+ (func (export "f64.store") (f64.store (i64.const 0) (f64.const nan:0xc000000000001)))
+ (func (export "i64.store") (i64.store (i64.const 0) (i64.const 0x7ffc000000000001)))
+ (func (export "reset") (i64.store (i64.const 0) (i64.const 0)))
+)`);
+
+// ./test/core/float_memory64.wast:144
+assert_return(() => invoke($5, `i64.load`, []), [value("i64", 9222246136947933185n)]);
+
+// ./test/core/float_memory64.wast:145
+assert_return(
+ () => invoke($5, `f64.load`, []),
+ [bytes("f64", [0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfc, 0x7f])],
+);
+
+// ./test/core/float_memory64.wast:146
+invoke($5, `reset`, []);
+
+// ./test/core/float_memory64.wast:147
+assert_return(() => invoke($5, `i64.load`, []), [value("i64", 0n)]);
+
+// ./test/core/float_memory64.wast:148
+assert_return(() => invoke($5, `f64.load`, []), [value("f64", 0)]);
+
+// ./test/core/float_memory64.wast:149
+invoke($5, `f64.store`, []);
+
+// ./test/core/float_memory64.wast:150
+assert_return(() => invoke($5, `i64.load`, []), [value("i64", 9222246136947933185n)]);
+
+// ./test/core/float_memory64.wast:151
+assert_return(
+ () => invoke($5, `f64.load`, []),
+ [bytes("f64", [0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfc, 0x7f])],
+);
+
+// ./test/core/float_memory64.wast:152
+invoke($5, `reset`, []);
+
+// ./test/core/float_memory64.wast:153
+assert_return(() => invoke($5, `i64.load`, []), [value("i64", 0n)]);
+
+// ./test/core/float_memory64.wast:154
+assert_return(() => invoke($5, `f64.load`, []), [value("f64", 0)]);
+
+// ./test/core/float_memory64.wast:155
+invoke($5, `i64.store`, []);
+
+// ./test/core/float_memory64.wast:156
+assert_return(() => invoke($5, `i64.load`, []), [value("i64", 9222246136947933185n)]);
+
+// ./test/core/float_memory64.wast:157
+assert_return(
+ () => invoke($5, `f64.load`, []),
+ [bytes("f64", [0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfc, 0x7f])],
+);
diff --git a/js/src/jit-test/tests/wasm/spec/memory64/harness/directives.txt b/js/src/jit-test/tests/wasm/spec/memory64/harness/directives.txt
new file mode 100644
index 0000000000..d41243abbb
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/memory64/harness/directives.txt
@@ -0,0 +1 @@
+|jit-test| skip-if: true \ No newline at end of file
diff --git a/js/src/jit-test/tests/wasm/spec/memory64/harness/harness.js b/js/src/jit-test/tests/wasm/spec/memory64/harness/harness.js
new file mode 100644
index 0000000000..9bc1c17c0a
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/memory64/harness/harness.js
@@ -0,0 +1,457 @@
+"use strict";
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+if (!wasmIsSupported()) {
+ quit();
+}
+
+function partialOobWriteMayWritePartialData() {
+ let arm_native = getBuildConfiguration("arm") && !getBuildConfiguration("arm-simulator");
+ let arm64_native = getBuildConfiguration("arm64") && !getBuildConfiguration("arm64-simulator");
+ return arm_native || arm64_native;
+}
+
+let native_arm = getBuildConfiguration("arm") && !getBuildConfiguration("arm-simulator");
+let native_arm64 = getBuildConfiguration("arm64") && !getBuildConfiguration("arm64-simulator");
+
+function bytes(type, bytes) {
+ var typedBuffer = new Uint8Array(bytes);
+ return wasmGlobalFromArrayBuffer(type, typedBuffer.buffer);
+}
+function value(type, value) {
+ return new WebAssembly.Global({
+ value: type,
+ mutable: false,
+ }, value);
+}
+
+function i8x16(elements) {
+ let typedBuffer = new Uint8Array(elements);
+ return wasmGlobalFromArrayBuffer("v128", typedBuffer.buffer);
+}
+function i16x8(elements) {
+ let typedBuffer = new Uint16Array(elements);
+ return wasmGlobalFromArrayBuffer("v128", typedBuffer.buffer);
+}
+function i32x4(elements) {
+ let typedBuffer = new Uint32Array(elements);
+ return wasmGlobalFromArrayBuffer("v128", typedBuffer.buffer);
+}
+function i64x2(elements) {
+ let typedBuffer = new BigUint64Array(elements);
+ return wasmGlobalFromArrayBuffer("v128", typedBuffer.buffer);
+}
+function f32x4(elements) {
+ let typedBuffer = new Float32Array(elements);
+ return wasmGlobalFromArrayBuffer("v128", typedBuffer.buffer);
+}
+function f64x2(elements) {
+ let typedBuffer = new Float64Array(elements);
+ return wasmGlobalFromArrayBuffer("v128", typedBuffer.buffer);
+}
+
+function either(...arr) {
+ return new EitherVariants(arr);
+}
+
+class F32x4Pattern {
+ constructor(x, y, z, w) {
+ this.x = x;
+ this.y = y;
+ this.z = z;
+ this.w = w;
+ }
+}
+
+class F64x2Pattern {
+ constructor(x, y) {
+ this.x = x;
+ this.y = y;
+ }
+}
+
+class RefWithType {
+ constructor(type) {
+ this.type = type;
+ }
+
+ formatExpected() {
+ return `RefWithType(${this.type})`;
+ }
+
+ test(refGlobal) {
+ try {
+ new WebAssembly.Global({value: this.type}, refGlobal.value);
+ return true;
+ } catch (err) {
+ assertEq(err instanceof TypeError, true, `wrong type of error when creating global: ${err}`);
+ assertEq(!!err.message.match(/can only pass/), true, `wrong type of error when creating global: ${err}`);
+ return false;
+ }
+ }
+}
+
+// ref.extern values created by spec tests will be JS objects of the form
+// { [externsym]: <number> }. Other externref values are possible to observe
+// if extern.convert_any is used.
+let externsym = Symbol("externref");
+function externref(s) {
+ return { [externsym]: s };
+}
+function is_externref(x) {
+ return (x !== null && externsym in x) ? 1 : 0;
+}
+function is_funcref(x) {
+ return typeof x === "function" ? 1 : 0;
+}
+function eq_externref(x, y) {
+ return x === y ? 1 : 0;
+}
+function eq_funcref(x, y) {
+ return x === y ? 1 : 0;
+}
+
+class ExternRefResult {
+ constructor(n) {
+ this.n = n;
+ }
+
+ formatExpected() {
+ return `ref.extern ${this.n}`;
+ }
+
+ test(global) {
+ // the global's value can either be an externref or just a plain old JS number
+ let result = global.value;
+ if (typeof global.value === "object" && externsym in global.value) {
+ result = global.value[externsym];
+ }
+ return result === this.n;
+ }
+}
+
+// ref.host values created by spectests will be whatever the JS API does to
+// convert the given value to anyref. It should implicitly be like any.convert_extern.
+function hostref(v) {
+ if (!wasmGcEnabled()) {
+ throw new Error("ref.host only works when wasm GC is enabled");
+ }
+
+ const { internalizeNum } = new WebAssembly.Instance(
+ new WebAssembly.Module(wasmTextToBinary(`(module
+ (func (import "test" "coerce") (param i32) (result anyref))
+ (func (export "internalizeNum") (param i32) (result anyref)
+ (call 0 (local.get 0))
+ )
+ )`)),
+ { "test": { "coerce": x => x } },
+ ).exports;
+ return internalizeNum(v);
+}
+
+class HostRefResult {
+ constructor(n) {
+ this.n = n;
+ }
+
+ formatExpected() {
+ return `ref.host ${this.n}`;
+ }
+
+ test(externrefGlobal) {
+ assertEq(externsym in externrefGlobal.value, true, `HostRefResult only works with externref inputs`);
+ return externrefGlobal.value[externsym] === this.n;
+ }
+}
+
+let spectest = {
+ externref: externref,
+ is_externref: is_externref,
+ is_funcref: is_funcref,
+ eq_externref: eq_externref,
+ eq_funcref: eq_funcref,
+ print: console.log.bind(console),
+ print_i32: console.log.bind(console),
+ print_i32_f32: console.log.bind(console),
+ print_f64_f64: console.log.bind(console),
+ print_f32: console.log.bind(console),
+ print_f64: console.log.bind(console),
+ global_i32: 666,
+ global_i64: 666n,
+ global_f32: 666,
+ global_f64: 666,
+ table: new WebAssembly.Table({
+ initial: 10,
+ maximum: 20,
+ element: "anyfunc",
+ }),
+ memory: new WebAssembly.Memory({ initial: 1, maximum: 2 }),
+};
+
+let linkage = {
+ spectest,
+};
+
+function getInstance(instanceish) {
+ if (typeof instanceish === "string") {
+ assertEq(
+ instanceish in linkage,
+ true,
+ `'${instanceish}'' must be registered`,
+ );
+ return linkage[instanceish];
+ }
+ return instanceish;
+}
+
+function instantiate(source) {
+ let bytecode = wasmTextToBinary(source);
+ let module = new WebAssembly.Module(bytecode);
+ let instance = new WebAssembly.Instance(module, linkage);
+ return instance.exports;
+}
+
+function register(instanceish, name) {
+ linkage[name] = getInstance(instanceish);
+}
+
+function invoke(instanceish, field, params) {
+ let func = getInstance(instanceish)[field];
+ assertEq(func instanceof Function, true, "expected a function");
+ return wasmLosslessInvoke(func, ...params);
+}
+
+function get(instanceish, field) {
+ let global = getInstance(instanceish)[field];
+ assertEq(
+ global instanceof WebAssembly.Global,
+ true,
+ "expected a WebAssembly.Global",
+ );
+ return global;
+}
+
+function assert_trap(thunk, message) {
+ try {
+ thunk();
+ throw new Error("expected trap");
+ } catch (err) {
+ if (err instanceof WebAssembly.RuntimeError) {
+ return;
+ }
+ throw err;
+ }
+}
+
+let StackOverflow;
+try {
+ (function f() {
+ 1 + f();
+ })();
+} catch (e) {
+ StackOverflow = e.constructor;
+}
+function assert_exhaustion(thunk, message) {
+ try {
+ thunk();
+ assertEq("normal return", "exhaustion");
+ } catch (err) {
+ assertEq(
+ err instanceof StackOverflow,
+ true,
+ "expected exhaustion",
+ );
+ }
+}
+
+function assert_invalid(thunk, message) {
+ try {
+ thunk();
+ assertEq("valid module", "invalid module");
+ } catch (err) {
+ assertEq(
+ err instanceof WebAssembly.LinkError ||
+ err instanceof WebAssembly.CompileError,
+ true,
+ "expected an invalid module",
+ );
+ }
+}
+
+function assert_unlinkable(thunk, message) {
+ try {
+ thunk();
+ assertEq(true, false, "expected an unlinkable module");
+ } catch (err) {
+ assertEq(
+ err instanceof WebAssembly.LinkError ||
+ err instanceof WebAssembly.CompileError,
+ true,
+ "expected an unlinkable module",
+ );
+ }
+}
+
+function assert_malformed(thunk, message) {
+ try {
+ thunk();
+ assertEq("valid module", "malformed module");
+ } catch (err) {
+ assertEq(
+ err instanceof TypeError ||
+ err instanceof SyntaxError ||
+ err instanceof WebAssembly.CompileError ||
+ err instanceof WebAssembly.LinkError,
+ true,
+ `expected a malformed module`,
+ );
+ }
+}
+
+function assert_exception(thunk) {
+ let thrown = false;
+ try {
+ thunk();
+ } catch (err) {
+ thrown = true;
+ }
+ assertEq(thrown, true, "expected an exception to be thrown");
+}
+
+function assert_return(thunk, expected) {
+ let results = thunk();
+
+ if (results === undefined) {
+ results = [];
+ } else if (!Array.isArray(results)) {
+ results = [results];
+ }
+ if (!Array.isArray(expected)) {
+ expected = [expected];
+ }
+
+ if (!compareResults(results, expected)) {
+ let got = results.map((x) => formatResult(x)).join(", ");
+ let wanted = expected.map((x) => formatExpected(x)).join(", ");
+ assertEq(
+ `[${got}]`,
+ `[${wanted}]`,
+ );
+ assertEq(true, false, `${got} !== ${wanted}`);
+ }
+}
+
+function formatResult(result) {
+ if (typeof (result) === "object") {
+ return wasmGlobalToString(result);
+ } else {
+ return `${result}`;
+ }
+}
+
+function formatExpected(expected) {
+ if (
+ expected === `f32_canonical_nan` ||
+ expected === `f32_arithmetic_nan` ||
+ expected === `f64_canonical_nan` ||
+ expected === `f64_arithmetic_nan`
+ ) {
+ return expected;
+ } else if (expected instanceof F32x4Pattern) {
+ return `f32x4(${formatExpected(expected.x)}, ${
+ formatExpected(expected.y)
+ }, ${formatExpected(expected.z)}, ${formatExpected(expected.w)})`;
+ } else if (expected instanceof F64x2Pattern) {
+ return `f64x2(${formatExpected(expected.x)}, ${
+ formatExpected(expected.y)
+ })`;
+ } else if (expected instanceof EitherVariants) {
+ return expected.formatExpected();
+ } else if (expected instanceof RefWithType) {
+ return expected.formatExpected();
+ } else if (expected instanceof ExternRefResult) {
+ return expected.formatExpected();
+ } else if (expected instanceof HostRefResult) {
+ return expected.formatExpected();
+ } else if (typeof (expected) === "object") {
+ return wasmGlobalToString(expected);
+ } else {
+ throw new Error("unknown expected result");
+ }
+}
+
+class EitherVariants {
+ constructor(arr) {
+ this.arr = arr;
+ }
+ matches(v) {
+ return this.arr.some((e) => compareResult(v, e));
+ }
+ formatExpected() {
+ return `either(${this.arr.map(formatExpected).join(", ")})`;
+ }
+}
+
+function compareResults(results, expected) {
+ if (results.length !== expected.length) {
+ return false;
+ }
+ for (let i in results) {
+ if (expected[i] instanceof EitherVariants) {
+ return expected[i].matches(results[i]);
+ }
+ if (!compareResult(results[i], expected[i])) {
+ return false;
+ }
+ }
+ return true;
+}
+
+function compareResult(result, expected) {
+ if (
+ expected === `canonical_nan` ||
+ expected === `arithmetic_nan`
+ ) {
+ return wasmGlobalIsNaN(result, expected);
+ } else if (expected === null) {
+ return result.value === null;
+ } else if (expected instanceof F32x4Pattern) {
+ return compareResult(
+ wasmGlobalExtractLane(result, "f32x4", 0),
+ expected.x,
+ ) &&
+ compareResult(wasmGlobalExtractLane(result, "f32x4", 1), expected.y) &&
+ compareResult(wasmGlobalExtractLane(result, "f32x4", 2), expected.z) &&
+ compareResult(wasmGlobalExtractLane(result, "f32x4", 3), expected.w);
+ } else if (expected instanceof F64x2Pattern) {
+ return compareResult(
+ wasmGlobalExtractLane(result, "f64x2", 0),
+ expected.x,
+ ) &&
+ compareResult(wasmGlobalExtractLane(result, "f64x2", 1), expected.y);
+ } else if (expected instanceof RefWithType) {
+ return expected.test(result);
+ } else if (expected instanceof ExternRefResult) {
+ return expected.test(result);
+ } else if (expected instanceof HostRefResult) {
+ return expected.test(result);
+ } else if (typeof (expected) === "object") {
+ return wasmGlobalsEqual(result, expected);
+ } else {
+ throw new Error("unknown expected result");
+ }
+}
diff --git a/js/src/jit-test/tests/wasm/spec/memory64/load64.wast.js b/js/src/jit-test/tests/wasm/spec/memory64/load64.wast.js
new file mode 100644
index 0000000000..c353960337
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/memory64/load64.wast.js
@@ -0,0 +1,749 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/load64.wast
+
+// ./test/core/load64.wast:3
+let $0 = instantiate(`(module
+ (memory i64 1)
+
+ (func (export "as-br-value") (result i32)
+ (block (result i32) (br 0 (i32.load (i64.const 0))))
+ )
+
+ (func (export "as-br_if-cond")
+ (block (br_if 0 (i32.load (i64.const 0))))
+ )
+ (func (export "as-br_if-value") (result i32)
+ (block (result i32)
+ (drop (br_if 0 (i32.load (i64.const 0)) (i32.const 1))) (i32.const 7)
+ )
+ )
+ (func (export "as-br_if-value-cond") (result i32)
+ (block (result i32)
+ (drop (br_if 0 (i32.const 6) (i32.load (i64.const 0)))) (i32.const 7)
+ )
+ )
+
+ (func (export "as-br_table-index")
+ (block (br_table 0 0 0 (i32.load (i64.const 0))))
+ )
+ (func (export "as-br_table-value") (result i32)
+ (block (result i32)
+ (br_table 0 0 0 (i32.load (i64.const 0)) (i32.const 1)) (i32.const 7)
+ )
+ )
+ (func (export "as-br_table-value-index") (result i32)
+ (block (result i32)
+ (br_table 0 0 (i32.const 6) (i32.load (i64.const 0))) (i32.const 7)
+ )
+ )
+
+ (func (export "as-return-value") (result i32)
+ (return (i32.load (i64.const 0)))
+ )
+
+ (func (export "as-if-cond") (result i32)
+ (if (result i32) (i32.load (i64.const 0))
+ (then (i32.const 0)) (else (i32.const 1))
+ )
+ )
+ (func (export "as-if-then") (result i32)
+ (if (result i32) (i32.const 1)
+ (then (i32.load (i64.const 0))) (else (i32.const 0))
+ )
+ )
+ (func (export "as-if-else") (result i32)
+ (if (result i32) (i32.const 0)
+ (then (i32.const 0)) (else (i32.load (i64.const 0)))
+ )
+ )
+
+ (func (export "as-select-first") (param i32 i32) (result i32)
+ (select (i32.load (i64.const 0)) (local.get 0) (local.get 1))
+ )
+ (func (export "as-select-second") (param i32 i32) (result i32)
+ (select (local.get 0) (i32.load (i64.const 0)) (local.get 1))
+ )
+ (func (export "as-select-cond") (result i32)
+ (select (i32.const 0) (i32.const 1) (i32.load (i64.const 0)))
+ )
+
+ (func $$f (param i32 i32 i32) (result i32) (i32.const -1))
+ (func (export "as-call-first") (result i32)
+ (call $$f (i32.load (i64.const 0)) (i32.const 2) (i32.const 3))
+ )
+ (func (export "as-call-mid") (result i32)
+ (call $$f (i32.const 1) (i32.load (i64.const 0)) (i32.const 3))
+ )
+ (func (export "as-call-last") (result i32)
+ (call $$f (i32.const 1) (i32.const 2) (i32.load (i64.const 0)))
+ )
+
+ (type $$sig (func (param i32 i32 i32) (result i32)))
+ (table funcref (elem $$f))
+ (func (export "as-call_indirect-first") (result i32)
+ (call_indirect (type $$sig)
+ (i32.load (i64.const 0)) (i32.const 2) (i32.const 3) (i32.const 0)
+ )
+ )
+ (func (export "as-call_indirect-mid") (result i32)
+ (call_indirect (type $$sig)
+ (i32.const 1) (i32.load (i64.const 0)) (i32.const 3) (i32.const 0)
+ )
+ )
+ (func (export "as-call_indirect-last") (result i32)
+ (call_indirect (type $$sig)
+ (i32.const 1) (i32.const 2) (i32.load (i64.const 0)) (i32.const 0)
+ )
+ )
+ (func (export "as-call_indirect-index") (result i32)
+ (call_indirect (type $$sig)
+ (i32.const 1) (i32.const 2) (i32.const 3) (i32.load (i64.const 0))
+ )
+ )
+
+ (func (export "as-local.set-value") (local i32)
+ (local.set 0 (i32.load (i64.const 0)))
+ )
+ (func (export "as-local.tee-value") (result i32) (local i32)
+ (local.tee 0 (i32.load (i64.const 0)))
+ )
+ (global $$g (mut i32) (i32.const 0))
+ (func (export "as-global.set-value") (local i32)
+ (global.set $$g (i32.load (i64.const 0)))
+ )
+
+ (func (export "as-load-address") (result i32)
+ (i32.load (i64.load (i64.const 0)))
+ )
+ (func (export "as-loadN-address") (result i32)
+ (i32.load8_s (i64.load (i64.const 0)))
+ )
+
+ (func (export "as-store-address")
+ (i32.store (i64.load (i64.const 0)) (i32.const 7))
+ )
+ (func (export "as-store-value")
+ (i32.store (i64.const 2) (i32.load (i64.const 0)))
+ )
+
+ (func (export "as-storeN-address")
+ (i32.store8 (i64.load8_s (i64.const 0)) (i32.const 7))
+ )
+ (func (export "as-storeN-value")
+ (i32.store16 (i64.const 2) (i32.load (i64.const 0)))
+ )
+
+ (func (export "as-unary-operand") (result i32)
+ (i32.clz (i32.load (i64.const 100)))
+ )
+
+ (func (export "as-binary-left") (result i32)
+ (i32.add (i32.load (i64.const 100)) (i32.const 10))
+ )
+ (func (export "as-binary-right") (result i32)
+ (i32.sub (i32.const 10) (i32.load (i64.const 100)))
+ )
+
+ (func (export "as-test-operand") (result i32)
+ (i32.eqz (i32.load (i64.const 100)))
+ )
+
+ (func (export "as-compare-left") (result i32)
+ (i32.le_s (i32.load (i64.const 100)) (i32.const 10))
+ )
+ (func (export "as-compare-right") (result i32)
+ (i32.ne (i32.const 10) (i32.load (i64.const 100)))
+ )
+
+ (func (export "as-memory.grow-size") (result i64)
+ (memory.grow (i64.load (i64.const 100)))
+ )
+)`);
+
+// ./test/core/load64.wast:161
+assert_return(() => invoke($0, `as-br-value`, []), [value("i32", 0)]);
+
+// ./test/core/load64.wast:163
+assert_return(() => invoke($0, `as-br_if-cond`, []), []);
+
+// ./test/core/load64.wast:164
+assert_return(() => invoke($0, `as-br_if-value`, []), [value("i32", 0)]);
+
+// ./test/core/load64.wast:165
+assert_return(() => invoke($0, `as-br_if-value-cond`, []), [value("i32", 7)]);
+
+// ./test/core/load64.wast:167
+assert_return(() => invoke($0, `as-br_table-index`, []), []);
+
+// ./test/core/load64.wast:168
+assert_return(() => invoke($0, `as-br_table-value`, []), [value("i32", 0)]);
+
+// ./test/core/load64.wast:169
+assert_return(() => invoke($0, `as-br_table-value-index`, []), [value("i32", 6)]);
+
+// ./test/core/load64.wast:171
+assert_return(() => invoke($0, `as-return-value`, []), [value("i32", 0)]);
+
+// ./test/core/load64.wast:173
+assert_return(() => invoke($0, `as-if-cond`, []), [value("i32", 1)]);
+
+// ./test/core/load64.wast:174
+assert_return(() => invoke($0, `as-if-then`, []), [value("i32", 0)]);
+
+// ./test/core/load64.wast:175
+assert_return(() => invoke($0, `as-if-else`, []), [value("i32", 0)]);
+
+// ./test/core/load64.wast:177
+assert_return(() => invoke($0, `as-select-first`, [0, 1]), [value("i32", 0)]);
+
+// ./test/core/load64.wast:178
+assert_return(() => invoke($0, `as-select-second`, [0, 0]), [value("i32", 0)]);
+
+// ./test/core/load64.wast:179
+assert_return(() => invoke($0, `as-select-cond`, []), [value("i32", 1)]);
+
+// ./test/core/load64.wast:181
+assert_return(() => invoke($0, `as-call-first`, []), [value("i32", -1)]);
+
+// ./test/core/load64.wast:182
+assert_return(() => invoke($0, `as-call-mid`, []), [value("i32", -1)]);
+
+// ./test/core/load64.wast:183
+assert_return(() => invoke($0, `as-call-last`, []), [value("i32", -1)]);
+
+// ./test/core/load64.wast:185
+assert_return(() => invoke($0, `as-call_indirect-first`, []), [value("i32", -1)]);
+
+// ./test/core/load64.wast:186
+assert_return(() => invoke($0, `as-call_indirect-mid`, []), [value("i32", -1)]);
+
+// ./test/core/load64.wast:187
+assert_return(() => invoke($0, `as-call_indirect-last`, []), [value("i32", -1)]);
+
+// ./test/core/load64.wast:188
+assert_return(() => invoke($0, `as-call_indirect-index`, []), [value("i32", -1)]);
+
+// ./test/core/load64.wast:190
+assert_return(() => invoke($0, `as-local.set-value`, []), []);
+
+// ./test/core/load64.wast:191
+assert_return(() => invoke($0, `as-local.tee-value`, []), [value("i32", 0)]);
+
+// ./test/core/load64.wast:192
+assert_return(() => invoke($0, `as-global.set-value`, []), []);
+
+// ./test/core/load64.wast:194
+assert_return(() => invoke($0, `as-load-address`, []), [value("i32", 0)]);
+
+// ./test/core/load64.wast:195
+assert_return(() => invoke($0, `as-loadN-address`, []), [value("i32", 0)]);
+
+// ./test/core/load64.wast:196
+assert_return(() => invoke($0, `as-store-address`, []), []);
+
+// ./test/core/load64.wast:197
+assert_return(() => invoke($0, `as-store-value`, []), []);
+
+// ./test/core/load64.wast:198
+assert_return(() => invoke($0, `as-storeN-address`, []), []);
+
+// ./test/core/load64.wast:199
+assert_return(() => invoke($0, `as-storeN-value`, []), []);
+
+// ./test/core/load64.wast:201
+assert_return(() => invoke($0, `as-unary-operand`, []), [value("i32", 32)]);
+
+// ./test/core/load64.wast:203
+assert_return(() => invoke($0, `as-binary-left`, []), [value("i32", 10)]);
+
+// ./test/core/load64.wast:204
+assert_return(() => invoke($0, `as-binary-right`, []), [value("i32", 10)]);
+
+// ./test/core/load64.wast:206
+assert_return(() => invoke($0, `as-test-operand`, []), [value("i32", 1)]);
+
+// ./test/core/load64.wast:208
+assert_return(() => invoke($0, `as-compare-left`, []), [value("i32", 1)]);
+
+// ./test/core/load64.wast:209
+assert_return(() => invoke($0, `as-compare-right`, []), [value("i32", 1)]);
+
+// ./test/core/load64.wast:211
+assert_return(() => invoke($0, `as-memory.grow-size`, []), [value("i64", 1n)]);
+
+// ./test/core/load64.wast:213
+assert_malformed(
+ () => instantiate(`(memory i64 1) (func (param i64) (result i32) (i32.load32 (local.get 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/load64.wast:220
+assert_malformed(
+ () => instantiate(`(memory i64 1) (func (param i64) (result i32) (i32.load32_u (local.get 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/load64.wast:227
+assert_malformed(
+ () => instantiate(`(memory i64 1) (func (param i64) (result i32) (i32.load32_s (local.get 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/load64.wast:234
+assert_malformed(
+ () => instantiate(`(memory i64 1) (func (param i64) (result i32) (i32.load64 (local.get 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/load64.wast:241
+assert_malformed(
+ () => instantiate(`(memory i64 1) (func (param i64) (result i32) (i32.load64_u (local.get 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/load64.wast:248
+assert_malformed(
+ () => instantiate(`(memory i64 1) (func (param i64) (result i32) (i32.load64_s (local.get 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/load64.wast:256
+assert_malformed(
+ () => instantiate(`(memory i64 1) (func (param i64) (result i64) (i64.load64 (local.get 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/load64.wast:263
+assert_malformed(
+ () => instantiate(`(memory i64 1) (func (param i64) (result i64) (i64.load64_u (local.get 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/load64.wast:270
+assert_malformed(
+ () => instantiate(`(memory i64 1) (func (param i64) (result i64) (i64.load64_s (local.get 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/load64.wast:278
+assert_malformed(
+ () => instantiate(`(memory i64 1) (func (param i64) (result f32) (f32.load32 (local.get 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/load64.wast:285
+assert_malformed(
+ () => instantiate(`(memory i64 1) (func (param i64) (result f32) (f32.load64 (local.get 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/load64.wast:293
+assert_malformed(
+ () => instantiate(`(memory i64 1) (func (param i64) (result f64) (f64.load32 (local.get 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/load64.wast:300
+assert_malformed(
+ () => instantiate(`(memory i64 1) (func (param i64) (result f64) (f64.load64 (local.get 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/load64.wast:311
+assert_invalid(
+ () => instantiate(`(module (memory i64 1) (func $$load_i32 (i32.load (i64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load64.wast:315
+assert_invalid(
+ () => instantiate(`(module (memory i64 1) (func $$load8_s_i32 (i32.load8_s (i64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load64.wast:319
+assert_invalid(
+ () => instantiate(`(module (memory i64 1) (func $$load8_u_i32 (i32.load8_u (i64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load64.wast:323
+assert_invalid(
+ () => instantiate(`(module (memory i64 1) (func $$load16_s_i32 (i32.load16_s (i64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load64.wast:327
+assert_invalid(
+ () => instantiate(`(module (memory i64 1) (func $$load16_u_i32 (i32.load16_u (i64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load64.wast:331
+assert_invalid(
+ () => instantiate(`(module (memory i64 1) (func $$load_i64 (i64.load (i64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load64.wast:335
+assert_invalid(
+ () => instantiate(`(module (memory i64 1) (func $$load8_s_i64 (i64.load8_s (i64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load64.wast:339
+assert_invalid(
+ () => instantiate(`(module (memory i64 1) (func $$load8_u_i64 (i64.load8_u (i64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load64.wast:343
+assert_invalid(
+ () => instantiate(`(module (memory i64 1) (func $$load16_s_i64 (i64.load16_s (i64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load64.wast:347
+assert_invalid(
+ () => instantiate(`(module (memory i64 1) (func $$load16_u_i64 (i64.load16_u (i64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load64.wast:351
+assert_invalid(
+ () => instantiate(`(module (memory i64 1) (func $$load32_s_i64 (i64.load32_s (i64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load64.wast:355
+assert_invalid(
+ () => instantiate(`(module (memory i64 1) (func $$load32_u_i64 (i64.load32_u (i64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load64.wast:359
+assert_invalid(
+ () => instantiate(`(module (memory i64 1) (func $$load_f32 (f32.load (i64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load64.wast:363
+assert_invalid(
+ () => instantiate(`(module (memory i64 1) (func $$load_f64 (f64.load (i64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load64.wast:371
+assert_invalid(
+ () => instantiate(`(module (memory i64 1) (func (result i32) (i32.load (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load64.wast:372
+assert_invalid(
+ () => instantiate(`(module (memory i64 1) (func (result i32) (i32.load8_s (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load64.wast:373
+assert_invalid(
+ () => instantiate(`(module (memory i64 1) (func (result i32) (i32.load8_u (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load64.wast:374
+assert_invalid(
+ () => instantiate(`(module (memory i64 1) (func (result i32) (i32.load16_s (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load64.wast:375
+assert_invalid(
+ () => instantiate(`(module (memory i64 1) (func (result i32) (i32.load16_u (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load64.wast:376
+assert_invalid(
+ () => instantiate(`(module (memory i64 1) (func (result i64) (i64.load (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load64.wast:377
+assert_invalid(
+ () => instantiate(`(module (memory i64 1) (func (result i64) (i64.load8_s (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load64.wast:378
+assert_invalid(
+ () => instantiate(`(module (memory i64 1) (func (result i64) (i64.load8_u (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load64.wast:379
+assert_invalid(
+ () => instantiate(`(module (memory i64 1) (func (result i64) (i64.load16_s (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load64.wast:380
+assert_invalid(
+ () => instantiate(`(module (memory i64 1) (func (result i64) (i64.load16_u (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load64.wast:381
+assert_invalid(
+ () => instantiate(`(module (memory i64 1) (func (result i64) (i64.load32_s (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load64.wast:382
+assert_invalid(
+ () => instantiate(`(module (memory i64 1) (func (result i64) (i64.load32_u (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load64.wast:383
+assert_invalid(
+ () => instantiate(`(module (memory i64 1) (func (result f32) (f32.load (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load64.wast:384
+assert_invalid(
+ () => instantiate(`(module (memory i64 1) (func (result f64) (f64.load (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load64.wast:387
+assert_invalid(
+ () => instantiate(`(module
+ (memory i64 0)
+ (func $$type-address-empty
+ (i32.load) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/load64.wast:396
+assert_invalid(
+ () => instantiate(`(module
+ (memory i64 0)
+ (func $$type-address-empty-in-block
+ (i32.const 0)
+ (block (i32.load) (drop))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/load64.wast:406
+assert_invalid(
+ () => instantiate(`(module
+ (memory i64 0)
+ (func $$type-address-empty-in-loop
+ (i32.const 0)
+ (loop (i32.load) (drop))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/load64.wast:416
+assert_invalid(
+ () => instantiate(`(module
+ (memory i64 0)
+ (func $$type-address-empty-in-then
+ (i32.const 0) (i32.const 0)
+ (if (then (i32.load) (drop)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/load64.wast:426
+assert_invalid(
+ () => instantiate(`(module
+ (memory i64 0)
+ (func $$type-address-empty-in-else
+ (i32.const 0) (i32.const 0)
+ (if (result i32) (then (i32.const 0)) (else (i32.load))) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/load64.wast:436
+assert_invalid(
+ () => instantiate(`(module
+ (memory i64 0)
+ (func $$type-address-empty-in-br
+ (i32.const 0)
+ (block (br 0 (i32.load)) (drop))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/load64.wast:446
+assert_invalid(
+ () => instantiate(`(module
+ (memory i64 0)
+ (func $$type-address-empty-in-br_if
+ (i32.const 0)
+ (block (br_if 0 (i32.load) (i32.const 1)) (drop))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/load64.wast:456
+assert_invalid(
+ () => instantiate(`(module
+ (memory i64 0)
+ (func $$type-address-empty-in-br_table
+ (i32.const 0)
+ (block (br_table 0 (i32.load)) (drop))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/load64.wast:466
+assert_invalid(
+ () => instantiate(`(module
+ (memory i64 0)
+ (func $$type-address-empty-in-return
+ (return (i32.load)) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/load64.wast:475
+assert_invalid(
+ () => instantiate(`(module
+ (memory i64 0)
+ (func $$type-address-empty-in-select
+ (select (i32.load) (i32.const 1) (i32.const 2)) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/load64.wast:484
+assert_invalid(
+ () => instantiate(`(module
+ (memory i64 0)
+ (func $$type-address-empty-in-call
+ (call 1 (i32.load)) (drop)
+ )
+ (func (param i32) (result i32) (local.get 0))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/load64.wast:494
+assert_invalid(
+ () => instantiate(`(module
+ (memory i64 0)
+ (func $$f (param i32) (result i32) (local.get 0))
+ (type $$sig (func (param i32) (result i32)))
+ (table funcref (elem $$f))
+ (func $$type-address-empty-in-call_indirect
+ (block (result i32)
+ (call_indirect (type $$sig)
+ (i32.load) (i32.const 0)
+ )
+ (drop)
+ )
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/load64.wast:511
+assert_invalid(
+ () => instantiate(`(module
+ (memory i64 0)
+ (func $$type-address-empty-in-local.set
+ (local i32)
+ (local.set 0 (i32.load)) (local.get 0) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/load64.wast:521
+assert_invalid(
+ () => instantiate(`(module
+ (memory i64 0)
+ (func $$type-address-empty-in-local.tee
+ (local i32)
+ (local.tee 0 (i32.load)) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/load64.wast:531
+assert_invalid(
+ () => instantiate(`(module
+ (memory i64 0)
+ (global $$x (mut i32) (i32.const 0))
+ (func $$type-address-empty-in-global.set
+ (global.set $$x (i32.load)) (global.get $$x) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/load64.wast:541
+assert_invalid(
+ () => instantiate(`(module
+ (memory i64 0)
+ (func $$type-address-empty-in-memory.grow
+ (memory.grow (i64.load)) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/load64.wast:550
+assert_invalid(
+ () => instantiate(`(module
+ (memory i64 0)
+ (func $$type-address-empty-in-load
+ (i32.load (i32.load)) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/load64.wast:559
+assert_invalid(
+ () => instantiate(`(module
+ (memory i64 1)
+ (func $$type-address-empty-in-store
+ (i32.store (i32.load) (i32.const 1))
+ )
+ )`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/memory64/memory64.wast.js b/js/src/jit-test/tests/wasm/spec/memory64/memory64.wast.js
new file mode 100644
index 0000000000..341742ab86
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/memory64/memory64.wast.js
@@ -0,0 +1,324 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/memory64.wast
+
+// ./test/core/memory64.wast:3
+let $0 = instantiate(`(module (memory i64 0 0))`);
+
+// ./test/core/memory64.wast:4
+let $1 = instantiate(`(module (memory i64 0 1))`);
+
+// ./test/core/memory64.wast:5
+let $2 = instantiate(`(module (memory i64 1 256))`);
+
+// ./test/core/memory64.wast:6
+let $3 = instantiate(`(module (memory i64 0 65536))`);
+
+// ./test/core/memory64.wast:8
+assert_invalid(
+ () => instantiate(`(module (memory i64 0) (memory i64 0))`),
+ `multiple memories`,
+);
+
+// ./test/core/memory64.wast:9
+assert_invalid(
+ () => instantiate(`(module (memory (import "spectest" "memory") i64 0) (memory i64 0))`),
+ `multiple memories`,
+);
+
+// ./test/core/memory64.wast:11
+let $4 = instantiate(`(module (memory i64 (data)) (func (export "memsize") (result i64) (memory.size)))`);
+
+// ./test/core/memory64.wast:12
+assert_return(() => invoke($4, `memsize`, []), [value("i64", 0n)]);
+
+// ./test/core/memory64.wast:13
+let $5 = instantiate(`(module (memory i64 (data "")) (func (export "memsize") (result i64) (memory.size)))`);
+
+// ./test/core/memory64.wast:14
+assert_return(() => invoke($5, `memsize`, []), [value("i64", 0n)]);
+
+// ./test/core/memory64.wast:15
+let $6 = instantiate(`(module (memory i64 (data "x")) (func (export "memsize") (result i64) (memory.size)))`);
+
+// ./test/core/memory64.wast:16
+assert_return(() => invoke($6, `memsize`, []), [value("i64", 1n)]);
+
+// ./test/core/memory64.wast:18
+assert_invalid(() => instantiate(`(module (data (i64.const 0)))`), `unknown memory`);
+
+// ./test/core/memory64.wast:19
+assert_invalid(() => instantiate(`(module (data (i64.const 0) ""))`), `unknown memory`);
+
+// ./test/core/memory64.wast:20
+assert_invalid(() => instantiate(`(module (data (i64.const 0) "x"))`), `unknown memory`);
+
+// ./test/core/memory64.wast:22
+assert_invalid(
+ () => instantiate(`(module (func (drop (f32.load (i64.const 0)))))`),
+ `unknown memory`,
+);
+
+// ./test/core/memory64.wast:26
+assert_invalid(
+ () => instantiate(`(module (func (f32.store (i64.const 0) (f32.const 0))))`),
+ `unknown memory`,
+);
+
+// ./test/core/memory64.wast:30
+assert_invalid(
+ () => instantiate(`(module (func (drop (i32.load8_s (i64.const 0)))))`),
+ `unknown memory`,
+);
+
+// ./test/core/memory64.wast:34
+assert_invalid(
+ () => instantiate(`(module (func (i32.store8 (i64.const 0) (i32.const 0))))`),
+ `unknown memory`,
+);
+
+// ./test/core/memory64.wast:38
+assert_invalid(
+ () => instantiate(`(module (func (drop (memory.size))))`),
+ `unknown memory`,
+);
+
+// ./test/core/memory64.wast:42
+assert_invalid(
+ () => instantiate(`(module (func (drop (memory.grow (i64.const 0)))))`),
+ `unknown memory`,
+);
+
+// ./test/core/memory64.wast:48
+assert_invalid(
+ () => instantiate(`(module (memory i64 1 0))`),
+ `size minimum must not be greater than maximum`,
+);
+
+// ./test/core/memory64.wast:53
+let $7 = instantiate(`(module
+ (memory i64 1)
+ (data (i64.const 0) "ABC\\a7D") (data (i64.const 20) "WASM")
+
+ ;; Data section
+ (func (export "data") (result i32)
+ (i32.and
+ (i32.and
+ (i32.and
+ (i32.eq (i32.load8_u (i64.const 0)) (i32.const 65))
+ (i32.eq (i32.load8_u (i64.const 3)) (i32.const 167))
+ )
+ (i32.and
+ (i32.eq (i32.load8_u (i64.const 6)) (i32.const 0))
+ (i32.eq (i32.load8_u (i64.const 19)) (i32.const 0))
+ )
+ )
+ (i32.and
+ (i32.and
+ (i32.eq (i32.load8_u (i64.const 20)) (i32.const 87))
+ (i32.eq (i32.load8_u (i64.const 23)) (i32.const 77))
+ )
+ (i32.and
+ (i32.eq (i32.load8_u (i64.const 24)) (i32.const 0))
+ (i32.eq (i32.load8_u (i64.const 1023)) (i32.const 0))
+ )
+ )
+ )
+ )
+
+ ;; Memory cast
+ (func (export "cast") (result f64)
+ (i64.store (i64.const 8) (i64.const -12345))
+ (if
+ (f64.eq
+ (f64.load (i64.const 8))
+ (f64.reinterpret_i64 (i64.const -12345))
+ )
+ (then (return (f64.const 0)))
+ )
+ (i64.store align=1 (i64.const 9) (i64.const 0))
+ (i32.store16 align=1 (i64.const 15) (i32.const 16453))
+ (f64.load align=1 (i64.const 9))
+ )
+
+ ;; Sign and zero extending memory loads
+ (func (export "i32_load8_s") (param $$i i32) (result i32)
+ (i32.store8 (i64.const 8) (local.get $$i))
+ (i32.load8_s (i64.const 8))
+ )
+ (func (export "i32_load8_u") (param $$i i32) (result i32)
+ (i32.store8 (i64.const 8) (local.get $$i))
+ (i32.load8_u (i64.const 8))
+ )
+ (func (export "i32_load16_s") (param $$i i32) (result i32)
+ (i32.store16 (i64.const 8) (local.get $$i))
+ (i32.load16_s (i64.const 8))
+ )
+ (func (export "i32_load16_u") (param $$i i32) (result i32)
+ (i32.store16 (i64.const 8) (local.get $$i))
+ (i32.load16_u (i64.const 8))
+ )
+ (func (export "i64_load8_s") (param $$i i64) (result i64)
+ (i64.store8 (i64.const 8) (local.get $$i))
+ (i64.load8_s (i64.const 8))
+ )
+ (func (export "i64_load8_u") (param $$i i64) (result i64)
+ (i64.store8 (i64.const 8) (local.get $$i))
+ (i64.load8_u (i64.const 8))
+ )
+ (func (export "i64_load16_s") (param $$i i64) (result i64)
+ (i64.store16 (i64.const 8) (local.get $$i))
+ (i64.load16_s (i64.const 8))
+ )
+ (func (export "i64_load16_u") (param $$i i64) (result i64)
+ (i64.store16 (i64.const 8) (local.get $$i))
+ (i64.load16_u (i64.const 8))
+ )
+ (func (export "i64_load32_s") (param $$i i64) (result i64)
+ (i64.store32 (i64.const 8) (local.get $$i))
+ (i64.load32_s (i64.const 8))
+ )
+ (func (export "i64_load32_u") (param $$i i64) (result i64)
+ (i64.store32 (i64.const 8) (local.get $$i))
+ (i64.load32_u (i64.const 8))
+ )
+)`);
+
+// ./test/core/memory64.wast:141
+assert_return(() => invoke($7, `data`, []), [value("i32", 1)]);
+
+// ./test/core/memory64.wast:142
+assert_return(() => invoke($7, `cast`, []), [value("f64", 42)]);
+
+// ./test/core/memory64.wast:144
+assert_return(() => invoke($7, `i32_load8_s`, [-1]), [value("i32", -1)]);
+
+// ./test/core/memory64.wast:145
+assert_return(() => invoke($7, `i32_load8_u`, [-1]), [value("i32", 255)]);
+
+// ./test/core/memory64.wast:146
+assert_return(() => invoke($7, `i32_load16_s`, [-1]), [value("i32", -1)]);
+
+// ./test/core/memory64.wast:147
+assert_return(() => invoke($7, `i32_load16_u`, [-1]), [value("i32", 65535)]);
+
+// ./test/core/memory64.wast:149
+assert_return(() => invoke($7, `i32_load8_s`, [100]), [value("i32", 100)]);
+
+// ./test/core/memory64.wast:150
+assert_return(() => invoke($7, `i32_load8_u`, [200]), [value("i32", 200)]);
+
+// ./test/core/memory64.wast:151
+assert_return(() => invoke($7, `i32_load16_s`, [20000]), [value("i32", 20000)]);
+
+// ./test/core/memory64.wast:152
+assert_return(() => invoke($7, `i32_load16_u`, [40000]), [value("i32", 40000)]);
+
+// ./test/core/memory64.wast:154
+assert_return(() => invoke($7, `i32_load8_s`, [-19110589]), [value("i32", 67)]);
+
+// ./test/core/memory64.wast:155
+assert_return(() => invoke($7, `i32_load8_s`, [878104047]), [value("i32", -17)]);
+
+// ./test/core/memory64.wast:156
+assert_return(() => invoke($7, `i32_load8_u`, [-19110589]), [value("i32", 67)]);
+
+// ./test/core/memory64.wast:157
+assert_return(() => invoke($7, `i32_load8_u`, [878104047]), [value("i32", 239)]);
+
+// ./test/core/memory64.wast:158
+assert_return(() => invoke($7, `i32_load16_s`, [-19110589]), [value("i32", 25923)]);
+
+// ./test/core/memory64.wast:159
+assert_return(() => invoke($7, `i32_load16_s`, [878104047]), [value("i32", -12817)]);
+
+// ./test/core/memory64.wast:160
+assert_return(() => invoke($7, `i32_load16_u`, [-19110589]), [value("i32", 25923)]);
+
+// ./test/core/memory64.wast:161
+assert_return(() => invoke($7, `i32_load16_u`, [878104047]), [value("i32", 52719)]);
+
+// ./test/core/memory64.wast:163
+assert_return(() => invoke($7, `i64_load8_s`, [-1n]), [value("i64", -1n)]);
+
+// ./test/core/memory64.wast:164
+assert_return(() => invoke($7, `i64_load8_u`, [-1n]), [value("i64", 255n)]);
+
+// ./test/core/memory64.wast:165
+assert_return(() => invoke($7, `i64_load16_s`, [-1n]), [value("i64", -1n)]);
+
+// ./test/core/memory64.wast:166
+assert_return(() => invoke($7, `i64_load16_u`, [-1n]), [value("i64", 65535n)]);
+
+// ./test/core/memory64.wast:167
+assert_return(() => invoke($7, `i64_load32_s`, [-1n]), [value("i64", -1n)]);
+
+// ./test/core/memory64.wast:168
+assert_return(() => invoke($7, `i64_load32_u`, [-1n]), [value("i64", 4294967295n)]);
+
+// ./test/core/memory64.wast:170
+assert_return(() => invoke($7, `i64_load8_s`, [100n]), [value("i64", 100n)]);
+
+// ./test/core/memory64.wast:171
+assert_return(() => invoke($7, `i64_load8_u`, [200n]), [value("i64", 200n)]);
+
+// ./test/core/memory64.wast:172
+assert_return(() => invoke($7, `i64_load16_s`, [20000n]), [value("i64", 20000n)]);
+
+// ./test/core/memory64.wast:173
+assert_return(() => invoke($7, `i64_load16_u`, [40000n]), [value("i64", 40000n)]);
+
+// ./test/core/memory64.wast:174
+assert_return(() => invoke($7, `i64_load32_s`, [20000n]), [value("i64", 20000n)]);
+
+// ./test/core/memory64.wast:175
+assert_return(() => invoke($7, `i64_load32_u`, [40000n]), [value("i64", 40000n)]);
+
+// ./test/core/memory64.wast:177
+assert_return(() => invoke($7, `i64_load8_s`, [-81985529755441853n]), [value("i64", 67n)]);
+
+// ./test/core/memory64.wast:178
+assert_return(() => invoke($7, `i64_load8_s`, [3771275841602506223n]), [value("i64", -17n)]);
+
+// ./test/core/memory64.wast:179
+assert_return(() => invoke($7, `i64_load8_u`, [-81985529755441853n]), [value("i64", 67n)]);
+
+// ./test/core/memory64.wast:180
+assert_return(() => invoke($7, `i64_load8_u`, [3771275841602506223n]), [value("i64", 239n)]);
+
+// ./test/core/memory64.wast:181
+assert_return(() => invoke($7, `i64_load16_s`, [-81985529755441853n]), [value("i64", 25923n)]);
+
+// ./test/core/memory64.wast:182
+assert_return(() => invoke($7, `i64_load16_s`, [3771275841602506223n]), [value("i64", -12817n)]);
+
+// ./test/core/memory64.wast:183
+assert_return(() => invoke($7, `i64_load16_u`, [-81985529755441853n]), [value("i64", 25923n)]);
+
+// ./test/core/memory64.wast:184
+assert_return(() => invoke($7, `i64_load16_u`, [3771275841602506223n]), [value("i64", 52719n)]);
+
+// ./test/core/memory64.wast:185
+assert_return(() => invoke($7, `i64_load32_s`, [-81985529755441853n]), [value("i64", 1446274371n)]);
+
+// ./test/core/memory64.wast:186
+assert_return(() => invoke($7, `i64_load32_s`, [3771275841602506223n]), [value("i64", -1732588049n)]);
+
+// ./test/core/memory64.wast:187
+assert_return(() => invoke($7, `i64_load32_u`, [-81985529755441853n]), [value("i64", 1446274371n)]);
+
+// ./test/core/memory64.wast:188
+assert_return(() => invoke($7, `i64_load32_u`, [3771275841602506223n]), [value("i64", 2562379247n)]);
diff --git a/js/src/jit-test/tests/wasm/spec/memory64/memory_grow64.wast.js b/js/src/jit-test/tests/wasm/spec/memory64/memory_grow64.wast.js
new file mode 100644
index 0000000000..5286d975d8
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/memory64/memory_grow64.wast.js
@@ -0,0 +1,199 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/memory_grow64.wast
+
+// ./test/core/memory_grow64.wast:1
+let $0 = instantiate(`(module
+ (memory i64 0)
+
+ (func (export "load_at_zero") (result i32) (i32.load (i64.const 0)))
+ (func (export "store_at_zero") (i32.store (i64.const 0) (i32.const 2)))
+
+ (func (export "load_at_page_size") (result i32) (i32.load (i64.const 0x10000)))
+ (func (export "store_at_page_size") (i32.store (i64.const 0x10000) (i32.const 3)))
+
+ (func (export "grow") (param $$sz i64) (result i64) (memory.grow (local.get $$sz)))
+ (func (export "size") (result i64) (memory.size))
+)`);
+
+// ./test/core/memory_grow64.wast:14
+assert_return(() => invoke($0, `size`, []), [value("i64", 0n)]);
+
+// ./test/core/memory_grow64.wast:15
+assert_trap(() => invoke($0, `store_at_zero`, []), `out of bounds memory access`);
+
+// ./test/core/memory_grow64.wast:16
+assert_trap(() => invoke($0, `load_at_zero`, []), `out of bounds memory access`);
+
+// ./test/core/memory_grow64.wast:17
+assert_trap(() => invoke($0, `store_at_page_size`, []), `out of bounds memory access`);
+
+// ./test/core/memory_grow64.wast:18
+assert_trap(() => invoke($0, `load_at_page_size`, []), `out of bounds memory access`);
+
+// ./test/core/memory_grow64.wast:19
+assert_return(() => invoke($0, `grow`, [1n]), [value("i64", 0n)]);
+
+// ./test/core/memory_grow64.wast:20
+assert_return(() => invoke($0, `size`, []), [value("i64", 1n)]);
+
+// ./test/core/memory_grow64.wast:21
+assert_return(() => invoke($0, `load_at_zero`, []), [value("i32", 0)]);
+
+// ./test/core/memory_grow64.wast:22
+assert_return(() => invoke($0, `store_at_zero`, []), []);
+
+// ./test/core/memory_grow64.wast:23
+assert_return(() => invoke($0, `load_at_zero`, []), [value("i32", 2)]);
+
+// ./test/core/memory_grow64.wast:24
+assert_trap(() => invoke($0, `store_at_page_size`, []), `out of bounds memory access`);
+
+// ./test/core/memory_grow64.wast:25
+assert_trap(() => invoke($0, `load_at_page_size`, []), `out of bounds memory access`);
+
+// ./test/core/memory_grow64.wast:26
+assert_return(() => invoke($0, `grow`, [4n]), [value("i64", 1n)]);
+
+// ./test/core/memory_grow64.wast:27
+assert_return(() => invoke($0, `size`, []), [value("i64", 5n)]);
+
+// ./test/core/memory_grow64.wast:28
+assert_return(() => invoke($0, `load_at_zero`, []), [value("i32", 2)]);
+
+// ./test/core/memory_grow64.wast:29
+assert_return(() => invoke($0, `store_at_zero`, []), []);
+
+// ./test/core/memory_grow64.wast:30
+assert_return(() => invoke($0, `load_at_zero`, []), [value("i32", 2)]);
+
+// ./test/core/memory_grow64.wast:31
+assert_return(() => invoke($0, `load_at_page_size`, []), [value("i32", 0)]);
+
+// ./test/core/memory_grow64.wast:32
+assert_return(() => invoke($0, `store_at_page_size`, []), []);
+
+// ./test/core/memory_grow64.wast:33
+assert_return(() => invoke($0, `load_at_page_size`, []), [value("i32", 3)]);
+
+// ./test/core/memory_grow64.wast:36
+let $1 = instantiate(`(module
+ (memory i64 0)
+ (func (export "grow") (param i64) (result i64) (memory.grow (local.get 0)))
+)`);
+
+// ./test/core/memory_grow64.wast:41
+assert_return(() => invoke($1, `grow`, [0n]), [value("i64", 0n)]);
+
+// ./test/core/memory_grow64.wast:42
+assert_return(() => invoke($1, `grow`, [1n]), [value("i64", 0n)]);
+
+// ./test/core/memory_grow64.wast:43
+assert_return(() => invoke($1, `grow`, [0n]), [value("i64", 1n)]);
+
+// ./test/core/memory_grow64.wast:44
+assert_return(() => invoke($1, `grow`, [2n]), [value("i64", 1n)]);
+
+// ./test/core/memory_grow64.wast:45
+assert_return(() => invoke($1, `grow`, [800n]), [value("i64", 3n)]);
+
+// ./test/core/memory_grow64.wast:46
+assert_return(() => invoke($1, `grow`, [1n]), [value("i64", 803n)]);
+
+// ./test/core/memory_grow64.wast:48
+let $2 = instantiate(`(module
+ (memory i64 0 10)
+ (func (export "grow") (param i64) (result i64) (memory.grow (local.get 0)))
+)`);
+
+// ./test/core/memory_grow64.wast:53
+assert_return(() => invoke($2, `grow`, [0n]), [value("i64", 0n)]);
+
+// ./test/core/memory_grow64.wast:54
+assert_return(() => invoke($2, `grow`, [1n]), [value("i64", 0n)]);
+
+// ./test/core/memory_grow64.wast:55
+assert_return(() => invoke($2, `grow`, [1n]), [value("i64", 1n)]);
+
+// ./test/core/memory_grow64.wast:56
+assert_return(() => invoke($2, `grow`, [2n]), [value("i64", 2n)]);
+
+// ./test/core/memory_grow64.wast:57
+assert_return(() => invoke($2, `grow`, [6n]), [value("i64", 4n)]);
+
+// ./test/core/memory_grow64.wast:58
+assert_return(() => invoke($2, `grow`, [0n]), [value("i64", 10n)]);
+
+// ./test/core/memory_grow64.wast:59
+assert_return(() => invoke($2, `grow`, [1n]), [value("i64", -1n)]);
+
+// ./test/core/memory_grow64.wast:60
+assert_return(() => invoke($2, `grow`, [65536n]), [value("i64", -1n)]);
+
+// ./test/core/memory_grow64.wast:64
+let $3 = instantiate(`(module
+ (memory i64 1)
+ (func (export "grow") (param i64) (result i64)
+ (memory.grow (local.get 0))
+ )
+ (func (export "check-memory-zero") (param i64 i64) (result i32)
+ (local i32)
+ (local.set 2 (i32.const 1))
+ (block
+ (loop
+ (local.set 2 (i32.load8_u (local.get 0)))
+ (br_if 1 (i32.ne (local.get 2) (i32.const 0)))
+ (br_if 1 (i64.ge_u (local.get 0) (local.get 1)))
+ (local.set 0 (i64.add (local.get 0) (i64.const 1)))
+ (br_if 0 (i64.le_u (local.get 0) (local.get 1)))
+ )
+ )
+ (local.get 2)
+ )
+)`);
+
+// ./test/core/memory_grow64.wast:85
+assert_return(() => invoke($3, `check-memory-zero`, [0n, 65535n]), [value("i32", 0)]);
+
+// ./test/core/memory_grow64.wast:86
+assert_return(() => invoke($3, `grow`, [1n]), [value("i64", 1n)]);
+
+// ./test/core/memory_grow64.wast:87
+assert_return(() => invoke($3, `check-memory-zero`, [65536n, 131071n]), [value("i32", 0)]);
+
+// ./test/core/memory_grow64.wast:88
+assert_return(() => invoke($3, `grow`, [1n]), [value("i64", 2n)]);
+
+// ./test/core/memory_grow64.wast:89
+assert_return(() => invoke($3, `check-memory-zero`, [131072n, 196607n]), [value("i32", 0)]);
+
+// ./test/core/memory_grow64.wast:90
+assert_return(() => invoke($3, `grow`, [1n]), [value("i64", 3n)]);
+
+// ./test/core/memory_grow64.wast:91
+assert_return(() => invoke($3, `check-memory-zero`, [196608n, 262143n]), [value("i32", 0)]);
+
+// ./test/core/memory_grow64.wast:92
+assert_return(() => invoke($3, `grow`, [1n]), [value("i64", 4n)]);
+
+// ./test/core/memory_grow64.wast:93
+assert_return(() => invoke($3, `check-memory-zero`, [262144n, 327679n]), [value("i32", 0)]);
+
+// ./test/core/memory_grow64.wast:94
+assert_return(() => invoke($3, `grow`, [1n]), [value("i64", 5n)]);
+
+// ./test/core/memory_grow64.wast:95
+assert_return(() => invoke($3, `check-memory-zero`, [327680n, 393215n]), [value("i32", 0)]);
diff --git a/js/src/jit-test/tests/wasm/spec/memory64/memory_redundancy64.wast.js b/js/src/jit-test/tests/wasm/spec/memory64/memory_redundancy64.wast.js
new file mode 100644
index 0000000000..5801c3057e
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/memory64/memory_redundancy64.wast.js
@@ -0,0 +1,95 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/memory_redundancy64.wast
+
+// ./test/core/memory_redundancy64.wast:5
+let $0 = instantiate(`(module
+ (memory i64 1 1)
+
+ (func (export "zero_everything")
+ (i32.store (i64.const 0) (i32.const 0))
+ (i32.store (i64.const 4) (i32.const 0))
+ (i32.store (i64.const 8) (i32.const 0))
+ (i32.store (i64.const 12) (i32.const 0))
+ )
+
+ (func (export "test_store_to_load") (result i32)
+ (i32.store (i64.const 8) (i32.const 0))
+ (f32.store (i64.const 5) (f32.const -0.0))
+ (i32.load (i64.const 8))
+ )
+
+ (func (export "test_redundant_load") (result i32)
+ (local $$t i32)
+ (local $$s i32)
+ (local.set $$t (i32.load (i64.const 8)))
+ (i32.store (i64.const 5) (i32.const 0x80000000))
+ (local.set $$s (i32.load (i64.const 8)))
+ (i32.add (local.get $$t) (local.get $$s))
+ )
+
+ (func (export "test_dead_store") (result f32)
+ (local $$t f32)
+ (i32.store (i64.const 8) (i32.const 0x23232323))
+ (local.set $$t (f32.load (i64.const 11)))
+ (i32.store (i64.const 8) (i32.const 0))
+ (local.get $$t)
+ )
+
+ ;; A function named "malloc" which implementations nonetheless shouldn't
+ ;; assume behaves like C malloc.
+ (func $$malloc (export "malloc")
+ (param $$size i64)
+ (result i64)
+ (i64.const 16)
+ )
+
+ ;; Call malloc twice, but unlike C malloc, we don't get non-aliasing pointers.
+ (func (export "malloc_aliasing")
+ (result i32)
+ (local $$x i64)
+ (local $$y i64)
+ (local.set $$x (call $$malloc (i64.const 4)))
+ (local.set $$y (call $$malloc (i64.const 4)))
+ (i32.store (local.get $$x) (i32.const 42))
+ (i32.store (local.get $$y) (i32.const 43))
+ (i32.load (local.get $$x))
+ )
+)`);
+
+// ./test/core/memory_redundancy64.wast:59
+assert_return(() => invoke($0, `test_store_to_load`, []), [value("i32", 128)]);
+
+// ./test/core/memory_redundancy64.wast:60
+invoke($0, `zero_everything`, []);
+
+// ./test/core/memory_redundancy64.wast:61
+assert_return(() => invoke($0, `test_redundant_load`, []), [value("i32", 128)]);
+
+// ./test/core/memory_redundancy64.wast:62
+invoke($0, `zero_everything`, []);
+
+// ./test/core/memory_redundancy64.wast:63
+assert_return(
+ () => invoke($0, `test_dead_store`, []),
+ [value("f32", 0.000000000000000000000000000000000000000000049)],
+);
+
+// ./test/core/memory_redundancy64.wast:64
+invoke($0, `zero_everything`, []);
+
+// ./test/core/memory_redundancy64.wast:65
+assert_return(() => invoke($0, `malloc_aliasing`, []), [value("i32", 43)]);
diff --git a/js/src/jit-test/tests/wasm/spec/memory64/memory_trap64.wast.js b/js/src/jit-test/tests/wasm/spec/memory64/memory_trap64.wast.js
new file mode 100644
index 0000000000..ffc8eb2cb3
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/memory64/memory_trap64.wast.js
@@ -0,0 +1,632 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/memory_trap64.wast
+
+// ./test/core/memory_trap64.wast:1
+let $0 = instantiate(`(module
+ (memory i64 1)
+
+ (func $$addr_limit (result i64)
+ (i64.mul (memory.size) (i64.const 0x10000))
+ )
+
+ (func (export "store") (param $$i i64) (param $$v i32)
+ (i32.store (i64.add (call $$addr_limit) (local.get $$i)) (local.get $$v))
+ )
+
+ (func (export "load") (param $$i i64) (result i32)
+ (i32.load (i64.add (call $$addr_limit) (local.get $$i)))
+ )
+
+ (func (export "memory.grow") (param i64) (result i64)
+ (memory.grow (local.get 0))
+ )
+)`);
+
+// ./test/core/memory_trap64.wast:21
+assert_return(() => invoke($0, `store`, [-4n, 42]), []);
+
+// ./test/core/memory_trap64.wast:22
+assert_return(() => invoke($0, `load`, [-4n]), [value("i32", 42)]);
+
+// ./test/core/memory_trap64.wast:23
+assert_trap(() => invoke($0, `store`, [-3n, 13]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:24
+assert_trap(() => invoke($0, `load`, [-3n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:25
+assert_trap(() => invoke($0, `store`, [-2n, 13]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:26
+assert_trap(() => invoke($0, `load`, [-2n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:27
+assert_trap(() => invoke($0, `store`, [-1n, 13]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:28
+assert_trap(() => invoke($0, `load`, [-1n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:29
+assert_trap(() => invoke($0, `store`, [0n, 13]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:30
+assert_trap(() => invoke($0, `load`, [0n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:31
+assert_trap(() => invoke($0, `store`, [2147483648n, 13]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:32
+assert_trap(() => invoke($0, `load`, [2147483648n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:34
+let $1 = instantiate(`(module
+ (memory i64 1)
+ (data (i64.const 0) "abcdefgh")
+ (data (i64.const 0xfff8) "abcdefgh")
+
+ (func (export "i32.load") (param $$a i64) (result i32)
+ (i32.load (local.get $$a))
+ )
+ (func (export "i64.load") (param $$a i64) (result i64)
+ (i64.load (local.get $$a))
+ )
+ (func (export "f32.load") (param $$a i64) (result f32)
+ (f32.load (local.get $$a))
+ )
+ (func (export "f64.load") (param $$a i64) (result f64)
+ (f64.load (local.get $$a))
+ )
+ (func (export "i32.load8_s") (param $$a i64) (result i32)
+ (i32.load8_s (local.get $$a))
+ )
+ (func (export "i32.load8_u") (param $$a i64) (result i32)
+ (i32.load8_u (local.get $$a))
+ )
+ (func (export "i32.load16_s") (param $$a i64) (result i32)
+ (i32.load16_s (local.get $$a))
+ )
+ (func (export "i32.load16_u") (param $$a i64) (result i32)
+ (i32.load16_u (local.get $$a))
+ )
+ (func (export "i64.load8_s") (param $$a i64) (result i64)
+ (i64.load8_s (local.get $$a))
+ )
+ (func (export "i64.load8_u") (param $$a i64) (result i64)
+ (i64.load8_u (local.get $$a))
+ )
+ (func (export "i64.load16_s") (param $$a i64) (result i64)
+ (i64.load16_s (local.get $$a))
+ )
+ (func (export "i64.load16_u") (param $$a i64) (result i64)
+ (i64.load16_u (local.get $$a))
+ )
+ (func (export "i64.load32_s") (param $$a i64) (result i64)
+ (i64.load32_s (local.get $$a))
+ )
+ (func (export "i64.load32_u") (param $$a i64) (result i64)
+ (i64.load32_u (local.get $$a))
+ )
+ (func (export "i32.store") (param $$a i64) (param $$v i32)
+ (i32.store (local.get $$a) (local.get $$v))
+ )
+ (func (export "i64.store") (param $$a i64) (param $$v i64)
+ (i64.store (local.get $$a) (local.get $$v))
+ )
+ (func (export "f32.store") (param $$a i64) (param $$v f32)
+ (f32.store (local.get $$a) (local.get $$v))
+ )
+ (func (export "f64.store") (param $$a i64) (param $$v f64)
+ (f64.store (local.get $$a) (local.get $$v))
+ )
+ (func (export "i32.store8") (param $$a i64) (param $$v i32)
+ (i32.store8 (local.get $$a) (local.get $$v))
+ )
+ (func (export "i32.store16") (param $$a i64) (param $$v i32)
+ (i32.store16 (local.get $$a) (local.get $$v))
+ )
+ (func (export "i64.store8") (param $$a i64) (param $$v i64)
+ (i64.store8 (local.get $$a) (local.get $$v))
+ )
+ (func (export "i64.store16") (param $$a i64) (param $$v i64)
+ (i64.store16 (local.get $$a) (local.get $$v))
+ )
+ (func (export "i64.store32") (param $$a i64) (param $$v i64)
+ (i64.store32 (local.get $$a) (local.get $$v))
+ )
+)`);
+
+// ./test/core/memory_trap64.wast:110
+assert_trap(() => invoke($1, `i32.store`, [65536n, 0]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:111
+assert_trap(() => invoke($1, `i32.store`, [65535n, 0]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:112
+assert_trap(() => invoke($1, `i32.store`, [65534n, 0]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:113
+assert_trap(() => invoke($1, `i32.store`, [65533n, 0]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:114
+assert_trap(() => invoke($1, `i32.store`, [-1n, 0]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:115
+assert_trap(() => invoke($1, `i32.store`, [-2n, 0]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:116
+assert_trap(() => invoke($1, `i32.store`, [-3n, 0]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:117
+assert_trap(() => invoke($1, `i32.store`, [-4n, 0]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:118
+assert_trap(() => invoke($1, `i64.store`, [65536n, 0n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:119
+assert_trap(() => invoke($1, `i64.store`, [65535n, 0n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:120
+assert_trap(() => invoke($1, `i64.store`, [65534n, 0n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:121
+assert_trap(() => invoke($1, `i64.store`, [65533n, 0n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:122
+assert_trap(() => invoke($1, `i64.store`, [65532n, 0n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:123
+assert_trap(() => invoke($1, `i64.store`, [65531n, 0n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:124
+assert_trap(() => invoke($1, `i64.store`, [65530n, 0n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:125
+assert_trap(() => invoke($1, `i64.store`, [65529n, 0n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:126
+assert_trap(() => invoke($1, `i64.store`, [-1n, 0n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:127
+assert_trap(() => invoke($1, `i64.store`, [-2n, 0n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:128
+assert_trap(() => invoke($1, `i64.store`, [-3n, 0n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:129
+assert_trap(() => invoke($1, `i64.store`, [-4n, 0n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:130
+assert_trap(() => invoke($1, `i64.store`, [-5n, 0n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:131
+assert_trap(() => invoke($1, `i64.store`, [-6n, 0n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:132
+assert_trap(() => invoke($1, `i64.store`, [-7n, 0n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:133
+assert_trap(() => invoke($1, `i64.store`, [-8n, 0n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:134
+assert_trap(() => invoke($1, `f32.store`, [65536n, value("f32", 0)]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:135
+assert_trap(() => invoke($1, `f32.store`, [65535n, value("f32", 0)]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:136
+assert_trap(() => invoke($1, `f32.store`, [65534n, value("f32", 0)]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:137
+assert_trap(() => invoke($1, `f32.store`, [65533n, value("f32", 0)]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:138
+assert_trap(() => invoke($1, `f32.store`, [-1n, value("f32", 0)]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:139
+assert_trap(() => invoke($1, `f32.store`, [-2n, value("f32", 0)]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:140
+assert_trap(() => invoke($1, `f32.store`, [-3n, value("f32", 0)]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:141
+assert_trap(() => invoke($1, `f32.store`, [-4n, value("f32", 0)]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:142
+assert_trap(() => invoke($1, `f64.store`, [65536n, value("f64", 0)]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:143
+assert_trap(() => invoke($1, `f64.store`, [65535n, value("f64", 0)]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:144
+assert_trap(() => invoke($1, `f64.store`, [65534n, value("f64", 0)]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:145
+assert_trap(() => invoke($1, `f64.store`, [65533n, value("f64", 0)]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:146
+assert_trap(() => invoke($1, `f64.store`, [65532n, value("f64", 0)]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:147
+assert_trap(() => invoke($1, `f64.store`, [65531n, value("f64", 0)]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:148
+assert_trap(() => invoke($1, `f64.store`, [65530n, value("f64", 0)]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:149
+assert_trap(() => invoke($1, `f64.store`, [65529n, value("f64", 0)]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:150
+assert_trap(() => invoke($1, `f64.store`, [-1n, value("f64", 0)]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:151
+assert_trap(() => invoke($1, `f64.store`, [-2n, value("f64", 0)]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:152
+assert_trap(() => invoke($1, `f64.store`, [-3n, value("f64", 0)]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:153
+assert_trap(() => invoke($1, `f64.store`, [-4n, value("f64", 0)]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:154
+assert_trap(() => invoke($1, `f64.store`, [-5n, value("f64", 0)]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:155
+assert_trap(() => invoke($1, `f64.store`, [-6n, value("f64", 0)]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:156
+assert_trap(() => invoke($1, `f64.store`, [-7n, value("f64", 0)]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:157
+assert_trap(() => invoke($1, `f64.store`, [-8n, value("f64", 0)]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:158
+assert_trap(() => invoke($1, `i32.store8`, [65536n, 0]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:159
+assert_trap(() => invoke($1, `i32.store8`, [-1n, 0]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:160
+assert_trap(() => invoke($1, `i32.store16`, [65536n, 0]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:161
+assert_trap(() => invoke($1, `i32.store16`, [65535n, 0]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:162
+assert_trap(() => invoke($1, `i32.store16`, [-1n, 0]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:163
+assert_trap(() => invoke($1, `i32.store16`, [-2n, 0]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:164
+assert_trap(() => invoke($1, `i64.store8`, [65536n, 0n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:165
+assert_trap(() => invoke($1, `i64.store8`, [-1n, 0n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:166
+assert_trap(() => invoke($1, `i64.store16`, [65536n, 0n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:167
+assert_trap(() => invoke($1, `i64.store16`, [65535n, 0n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:168
+assert_trap(() => invoke($1, `i64.store16`, [-1n, 0n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:169
+assert_trap(() => invoke($1, `i64.store16`, [-2n, 0n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:170
+assert_trap(() => invoke($1, `i64.store32`, [65536n, 0n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:171
+assert_trap(() => invoke($1, `i64.store32`, [65535n, 0n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:172
+assert_trap(() => invoke($1, `i64.store32`, [65534n, 0n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:173
+assert_trap(() => invoke($1, `i64.store32`, [65533n, 0n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:174
+assert_trap(() => invoke($1, `i64.store32`, [-1n, 0n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:175
+assert_trap(() => invoke($1, `i64.store32`, [-2n, 0n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:176
+assert_trap(() => invoke($1, `i64.store32`, [-3n, 0n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:177
+assert_trap(() => invoke($1, `i64.store32`, [-4n, 0n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:178
+assert_trap(() => invoke($1, `i32.load`, [65536n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:179
+assert_trap(() => invoke($1, `i32.load`, [65535n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:180
+assert_trap(() => invoke($1, `i32.load`, [65534n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:181
+assert_trap(() => invoke($1, `i32.load`, [65533n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:182
+assert_trap(() => invoke($1, `i32.load`, [-1n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:183
+assert_trap(() => invoke($1, `i32.load`, [-2n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:184
+assert_trap(() => invoke($1, `i32.load`, [-3n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:185
+assert_trap(() => invoke($1, `i32.load`, [-4n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:186
+assert_trap(() => invoke($1, `i64.load`, [65536n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:187
+assert_trap(() => invoke($1, `i64.load`, [65535n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:188
+assert_trap(() => invoke($1, `i64.load`, [65534n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:189
+assert_trap(() => invoke($1, `i64.load`, [65533n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:190
+assert_trap(() => invoke($1, `i64.load`, [65532n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:191
+assert_trap(() => invoke($1, `i64.load`, [65531n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:192
+assert_trap(() => invoke($1, `i64.load`, [65530n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:193
+assert_trap(() => invoke($1, `i64.load`, [65529n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:194
+assert_trap(() => invoke($1, `i64.load`, [-1n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:195
+assert_trap(() => invoke($1, `i64.load`, [-2n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:196
+assert_trap(() => invoke($1, `i64.load`, [-3n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:197
+assert_trap(() => invoke($1, `i64.load`, [-4n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:198
+assert_trap(() => invoke($1, `i64.load`, [-5n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:199
+assert_trap(() => invoke($1, `i64.load`, [-6n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:200
+assert_trap(() => invoke($1, `i64.load`, [-7n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:201
+assert_trap(() => invoke($1, `i64.load`, [-8n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:202
+assert_trap(() => invoke($1, `f32.load`, [65536n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:203
+assert_trap(() => invoke($1, `f32.load`, [65535n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:204
+assert_trap(() => invoke($1, `f32.load`, [65534n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:205
+assert_trap(() => invoke($1, `f32.load`, [65533n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:206
+assert_trap(() => invoke($1, `f32.load`, [-1n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:207
+assert_trap(() => invoke($1, `f32.load`, [-2n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:208
+assert_trap(() => invoke($1, `f32.load`, [-3n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:209
+assert_trap(() => invoke($1, `f32.load`, [-4n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:210
+assert_trap(() => invoke($1, `f64.load`, [65536n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:211
+assert_trap(() => invoke($1, `f64.load`, [65535n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:212
+assert_trap(() => invoke($1, `f64.load`, [65534n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:213
+assert_trap(() => invoke($1, `f64.load`, [65533n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:214
+assert_trap(() => invoke($1, `f64.load`, [65532n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:215
+assert_trap(() => invoke($1, `f64.load`, [65531n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:216
+assert_trap(() => invoke($1, `f64.load`, [65530n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:217
+assert_trap(() => invoke($1, `f64.load`, [65529n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:218
+assert_trap(() => invoke($1, `f64.load`, [-1n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:219
+assert_trap(() => invoke($1, `f64.load`, [-2n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:220
+assert_trap(() => invoke($1, `f64.load`, [-3n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:221
+assert_trap(() => invoke($1, `f64.load`, [-4n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:222
+assert_trap(() => invoke($1, `f64.load`, [-5n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:223
+assert_trap(() => invoke($1, `f64.load`, [-6n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:224
+assert_trap(() => invoke($1, `f64.load`, [-7n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:225
+assert_trap(() => invoke($1, `f64.load`, [-8n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:226
+assert_trap(() => invoke($1, `i32.load8_s`, [65536n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:227
+assert_trap(() => invoke($1, `i32.load8_s`, [-1n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:228
+assert_trap(() => invoke($1, `i32.load8_u`, [65536n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:229
+assert_trap(() => invoke($1, `i32.load8_u`, [-1n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:230
+assert_trap(() => invoke($1, `i32.load16_s`, [65536n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:231
+assert_trap(() => invoke($1, `i32.load16_s`, [65535n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:232
+assert_trap(() => invoke($1, `i32.load16_s`, [-1n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:233
+assert_trap(() => invoke($1, `i32.load16_s`, [-2n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:234
+assert_trap(() => invoke($1, `i32.load16_u`, [65536n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:235
+assert_trap(() => invoke($1, `i32.load16_u`, [65535n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:236
+assert_trap(() => invoke($1, `i32.load16_u`, [-1n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:237
+assert_trap(() => invoke($1, `i32.load16_u`, [-2n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:238
+assert_trap(() => invoke($1, `i64.load8_s`, [65536n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:239
+assert_trap(() => invoke($1, `i64.load8_s`, [-1n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:240
+assert_trap(() => invoke($1, `i64.load8_u`, [65536n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:241
+assert_trap(() => invoke($1, `i64.load8_u`, [-1n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:242
+assert_trap(() => invoke($1, `i64.load16_s`, [65536n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:243
+assert_trap(() => invoke($1, `i64.load16_s`, [65535n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:244
+assert_trap(() => invoke($1, `i64.load16_s`, [-1n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:245
+assert_trap(() => invoke($1, `i64.load16_s`, [-2n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:246
+assert_trap(() => invoke($1, `i64.load16_u`, [65536n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:247
+assert_trap(() => invoke($1, `i64.load16_u`, [65535n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:248
+assert_trap(() => invoke($1, `i64.load16_u`, [-1n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:249
+assert_trap(() => invoke($1, `i64.load16_u`, [-2n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:250
+assert_trap(() => invoke($1, `i64.load32_s`, [65536n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:251
+assert_trap(() => invoke($1, `i64.load32_s`, [65535n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:252
+assert_trap(() => invoke($1, `i64.load32_s`, [65534n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:253
+assert_trap(() => invoke($1, `i64.load32_s`, [65533n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:254
+assert_trap(() => invoke($1, `i64.load32_s`, [-1n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:255
+assert_trap(() => invoke($1, `i64.load32_s`, [-2n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:256
+assert_trap(() => invoke($1, `i64.load32_s`, [-3n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:257
+assert_trap(() => invoke($1, `i64.load32_s`, [-4n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:258
+assert_trap(() => invoke($1, `i64.load32_u`, [65536n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:259
+assert_trap(() => invoke($1, `i64.load32_u`, [65535n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:260
+assert_trap(() => invoke($1, `i64.load32_u`, [65534n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:261
+assert_trap(() => invoke($1, `i64.load32_u`, [65533n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:262
+assert_trap(() => invoke($1, `i64.load32_u`, [-1n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:263
+assert_trap(() => invoke($1, `i64.load32_u`, [-2n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:264
+assert_trap(() => invoke($1, `i64.load32_u`, [-3n]), `out of bounds memory access`);
+
+// ./test/core/memory_trap64.wast:265
+assert_trap(() => invoke($1, `i64.load32_u`, [-4n]), `out of bounds memory access`);
+
+// Bug 1737225 - do not observe the partial store caused by bug 1666747 on
+// some native platforms.
+if (!partialOobWriteMayWritePartialData()) {
+ // ./test/core/memory_trap64.wast:268
+ assert_return(() => invoke($1, `i64.load`, [65528n]), [
+ value("i64", 7523094288207667809n),
+ ]);
+
+ // ./test/core/memory_trap64.wast:269
+ assert_return(() => invoke($1, `i64.load`, [0n]), [
+ value("i64", 7523094288207667809n),
+ ]);
+}
diff --git a/js/src/jit-test/tests/wasm/spec/multi-memory/address0.wast.js b/js/src/jit-test/tests/wasm/spec/multi-memory/address0.wast.js
new file mode 100644
index 0000000000..62b3c985d6
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/multi-memory/address0.wast.js
@@ -0,0 +1,392 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/multi-memory/address0.wast
+
+// ./test/core/multi-memory/address0.wast:3
+let $0 = instantiate(`(module
+ (memory $$mem0 0)
+ (memory $$mem1 1)
+ (data (memory $$mem1) (i32.const 0) "abcdefghijklmnopqrstuvwxyz")
+
+ (func (export "8u_good1") (param $$i i32) (result i32)
+ (i32.load8_u $$mem1 offset=0 (local.get $$i)) ;; 97 'a'
+ )
+ (func (export "8u_good2") (param $$i i32) (result i32)
+ (i32.load8_u $$mem1 align=1 (local.get $$i)) ;; 97 'a'
+ )
+ (func (export "8u_good3") (param $$i i32) (result i32)
+ (i32.load8_u $$mem1 offset=1 align=1 (local.get $$i)) ;; 98 'b'
+ )
+ (func (export "8u_good4") (param $$i i32) (result i32)
+ (i32.load8_u $$mem1 offset=2 align=1 (local.get $$i)) ;; 99 'c'
+ )
+ (func (export "8u_good5") (param $$i i32) (result i32)
+ (i32.load8_u $$mem1 offset=25 align=1 (local.get $$i)) ;; 122 'z'
+ )
+
+ (func (export "8s_good1") (param $$i i32) (result i32)
+ (i32.load8_s $$mem1 offset=0 (local.get $$i)) ;; 97 'a'
+ )
+ (func (export "8s_good2") (param $$i i32) (result i32)
+ (i32.load8_s $$mem1 align=1 (local.get $$i)) ;; 97 'a'
+ )
+ (func (export "8s_good3") (param $$i i32) (result i32)
+ (i32.load8_s $$mem1 offset=1 align=1 (local.get $$i)) ;; 98 'b'
+ )
+ (func (export "8s_good4") (param $$i i32) (result i32)
+ (i32.load8_s $$mem1 offset=2 align=1 (local.get $$i)) ;; 99 'c'
+ )
+ (func (export "8s_good5") (param $$i i32) (result i32)
+ (i32.load8_s $$mem1 offset=25 align=1 (local.get $$i)) ;; 122 'z'
+ )
+
+ (func (export "16u_good1") (param $$i i32) (result i32)
+ (i32.load16_u $$mem1 offset=0 (local.get $$i)) ;; 25185 'ab'
+ )
+ (func (export "16u_good2") (param $$i i32) (result i32)
+ (i32.load16_u $$mem1 align=1 (local.get $$i)) ;; 25185 'ab'
+ )
+ (func (export "16u_good3") (param $$i i32) (result i32)
+ (i32.load16_u $$mem1 offset=1 align=1 (local.get $$i)) ;; 25442 'bc'
+ )
+ (func (export "16u_good4") (param $$i i32) (result i32)
+ (i32.load16_u $$mem1 offset=2 align=2 (local.get $$i)) ;; 25699 'cd'
+ )
+ (func (export "16u_good5") (param $$i i32) (result i32)
+ (i32.load16_u $$mem1 offset=25 align=2 (local.get $$i)) ;; 122 'z\\0'
+ )
+
+ (func (export "16s_good1") (param $$i i32) (result i32)
+ (i32.load16_s $$mem1 offset=0 (local.get $$i)) ;; 25185 'ab'
+ )
+ (func (export "16s_good2") (param $$i i32) (result i32)
+ (i32.load16_s $$mem1 align=1 (local.get $$i)) ;; 25185 'ab'
+ )
+ (func (export "16s_good3") (param $$i i32) (result i32)
+ (i32.load16_s $$mem1 offset=1 align=1 (local.get $$i)) ;; 25442 'bc'
+ )
+ (func (export "16s_good4") (param $$i i32) (result i32)
+ (i32.load16_s $$mem1 offset=2 align=2 (local.get $$i)) ;; 25699 'cd'
+ )
+ (func (export "16s_good5") (param $$i i32) (result i32)
+ (i32.load16_s $$mem1 offset=25 align=2 (local.get $$i)) ;; 122 'z\\0'
+ )
+
+ (func (export "32_good1") (param $$i i32) (result i32)
+ (i32.load $$mem1 offset=0 (local.get $$i)) ;; 1684234849 'abcd'
+ )
+ (func (export "32_good2") (param $$i i32) (result i32)
+ (i32.load $$mem1 align=1 (local.get $$i)) ;; 1684234849 'abcd'
+ )
+ (func (export "32_good3") (param $$i i32) (result i32)
+ (i32.load $$mem1 offset=1 align=1 (local.get $$i)) ;; 1701077858 'bcde'
+ )
+ (func (export "32_good4") (param $$i i32) (result i32)
+ (i32.load $$mem1 offset=2 align=2 (local.get $$i)) ;; 1717920867 'cdef'
+ )
+ (func (export "32_good5") (param $$i i32) (result i32)
+ (i32.load $$mem1 offset=25 align=4 (local.get $$i)) ;; 122 'z\\0\\0\\0'
+ )
+
+ (func (export "8u_bad") (param $$i i32)
+ (drop (i32.load8_u $$mem1 offset=4294967295 (local.get $$i)))
+ )
+ (func (export "8s_bad") (param $$i i32)
+ (drop (i32.load8_s $$mem1 offset=4294967295 (local.get $$i)))
+ )
+ (func (export "16u_bad") (param $$i i32)
+ (drop (i32.load16_u $$mem1 offset=4294967295 (local.get $$i)))
+ )
+ (func (export "16s_bad") (param $$i i32)
+ (drop (i32.load16_s $$mem1 offset=4294967295 (local.get $$i)))
+ )
+ (func (export "32_bad") (param $$i i32)
+ (drop (i32.load $$mem1 offset=4294967295 (local.get $$i)))
+ )
+)`);
+
+// ./test/core/multi-memory/address0.wast:105
+assert_return(() => invoke($0, `8u_good1`, [0]), [value("i32", 97)]);
+
+// ./test/core/multi-memory/address0.wast:106
+assert_return(() => invoke($0, `8u_good2`, [0]), [value("i32", 97)]);
+
+// ./test/core/multi-memory/address0.wast:107
+assert_return(() => invoke($0, `8u_good3`, [0]), [value("i32", 98)]);
+
+// ./test/core/multi-memory/address0.wast:108
+assert_return(() => invoke($0, `8u_good4`, [0]), [value("i32", 99)]);
+
+// ./test/core/multi-memory/address0.wast:109
+assert_return(() => invoke($0, `8u_good5`, [0]), [value("i32", 122)]);
+
+// ./test/core/multi-memory/address0.wast:111
+assert_return(() => invoke($0, `8s_good1`, [0]), [value("i32", 97)]);
+
+// ./test/core/multi-memory/address0.wast:112
+assert_return(() => invoke($0, `8s_good2`, [0]), [value("i32", 97)]);
+
+// ./test/core/multi-memory/address0.wast:113
+assert_return(() => invoke($0, `8s_good3`, [0]), [value("i32", 98)]);
+
+// ./test/core/multi-memory/address0.wast:114
+assert_return(() => invoke($0, `8s_good4`, [0]), [value("i32", 99)]);
+
+// ./test/core/multi-memory/address0.wast:115
+assert_return(() => invoke($0, `8s_good5`, [0]), [value("i32", 122)]);
+
+// ./test/core/multi-memory/address0.wast:117
+assert_return(() => invoke($0, `16u_good1`, [0]), [value("i32", 25185)]);
+
+// ./test/core/multi-memory/address0.wast:118
+assert_return(() => invoke($0, `16u_good2`, [0]), [value("i32", 25185)]);
+
+// ./test/core/multi-memory/address0.wast:119
+assert_return(() => invoke($0, `16u_good3`, [0]), [value("i32", 25442)]);
+
+// ./test/core/multi-memory/address0.wast:120
+assert_return(() => invoke($0, `16u_good4`, [0]), [value("i32", 25699)]);
+
+// ./test/core/multi-memory/address0.wast:121
+assert_return(() => invoke($0, `16u_good5`, [0]), [value("i32", 122)]);
+
+// ./test/core/multi-memory/address0.wast:123
+assert_return(() => invoke($0, `16s_good1`, [0]), [value("i32", 25185)]);
+
+// ./test/core/multi-memory/address0.wast:124
+assert_return(() => invoke($0, `16s_good2`, [0]), [value("i32", 25185)]);
+
+// ./test/core/multi-memory/address0.wast:125
+assert_return(() => invoke($0, `16s_good3`, [0]), [value("i32", 25442)]);
+
+// ./test/core/multi-memory/address0.wast:126
+assert_return(() => invoke($0, `16s_good4`, [0]), [value("i32", 25699)]);
+
+// ./test/core/multi-memory/address0.wast:127
+assert_return(() => invoke($0, `16s_good5`, [0]), [value("i32", 122)]);
+
+// ./test/core/multi-memory/address0.wast:129
+assert_return(() => invoke($0, `32_good1`, [0]), [value("i32", 1684234849)]);
+
+// ./test/core/multi-memory/address0.wast:130
+assert_return(() => invoke($0, `32_good2`, [0]), [value("i32", 1684234849)]);
+
+// ./test/core/multi-memory/address0.wast:131
+assert_return(() => invoke($0, `32_good3`, [0]), [value("i32", 1701077858)]);
+
+// ./test/core/multi-memory/address0.wast:132
+assert_return(() => invoke($0, `32_good4`, [0]), [value("i32", 1717920867)]);
+
+// ./test/core/multi-memory/address0.wast:133
+assert_return(() => invoke($0, `32_good5`, [0]), [value("i32", 122)]);
+
+// ./test/core/multi-memory/address0.wast:135
+assert_return(() => invoke($0, `8u_good1`, [65507]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/address0.wast:136
+assert_return(() => invoke($0, `8u_good2`, [65507]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/address0.wast:137
+assert_return(() => invoke($0, `8u_good3`, [65507]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/address0.wast:138
+assert_return(() => invoke($0, `8u_good4`, [65507]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/address0.wast:139
+assert_return(() => invoke($0, `8u_good5`, [65507]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/address0.wast:141
+assert_return(() => invoke($0, `8s_good1`, [65507]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/address0.wast:142
+assert_return(() => invoke($0, `8s_good2`, [65507]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/address0.wast:143
+assert_return(() => invoke($0, `8s_good3`, [65507]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/address0.wast:144
+assert_return(() => invoke($0, `8s_good4`, [65507]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/address0.wast:145
+assert_return(() => invoke($0, `8s_good5`, [65507]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/address0.wast:147
+assert_return(() => invoke($0, `16u_good1`, [65507]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/address0.wast:148
+assert_return(() => invoke($0, `16u_good2`, [65507]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/address0.wast:149
+assert_return(() => invoke($0, `16u_good3`, [65507]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/address0.wast:150
+assert_return(() => invoke($0, `16u_good4`, [65507]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/address0.wast:151
+assert_return(() => invoke($0, `16u_good5`, [65507]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/address0.wast:153
+assert_return(() => invoke($0, `16s_good1`, [65507]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/address0.wast:154
+assert_return(() => invoke($0, `16s_good2`, [65507]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/address0.wast:155
+assert_return(() => invoke($0, `16s_good3`, [65507]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/address0.wast:156
+assert_return(() => invoke($0, `16s_good4`, [65507]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/address0.wast:157
+assert_return(() => invoke($0, `16s_good5`, [65507]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/address0.wast:159
+assert_return(() => invoke($0, `32_good1`, [65507]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/address0.wast:160
+assert_return(() => invoke($0, `32_good2`, [65507]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/address0.wast:161
+assert_return(() => invoke($0, `32_good3`, [65507]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/address0.wast:162
+assert_return(() => invoke($0, `32_good4`, [65507]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/address0.wast:163
+assert_return(() => invoke($0, `32_good5`, [65507]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/address0.wast:165
+assert_return(() => invoke($0, `8u_good1`, [65508]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/address0.wast:166
+assert_return(() => invoke($0, `8u_good2`, [65508]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/address0.wast:167
+assert_return(() => invoke($0, `8u_good3`, [65508]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/address0.wast:168
+assert_return(() => invoke($0, `8u_good4`, [65508]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/address0.wast:169
+assert_return(() => invoke($0, `8u_good5`, [65508]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/address0.wast:171
+assert_return(() => invoke($0, `8s_good1`, [65508]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/address0.wast:172
+assert_return(() => invoke($0, `8s_good2`, [65508]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/address0.wast:173
+assert_return(() => invoke($0, `8s_good3`, [65508]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/address0.wast:174
+assert_return(() => invoke($0, `8s_good4`, [65508]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/address0.wast:175
+assert_return(() => invoke($0, `8s_good5`, [65508]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/address0.wast:177
+assert_return(() => invoke($0, `16u_good1`, [65508]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/address0.wast:178
+assert_return(() => invoke($0, `16u_good2`, [65508]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/address0.wast:179
+assert_return(() => invoke($0, `16u_good3`, [65508]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/address0.wast:180
+assert_return(() => invoke($0, `16u_good4`, [65508]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/address0.wast:181
+assert_return(() => invoke($0, `16u_good5`, [65508]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/address0.wast:183
+assert_return(() => invoke($0, `16s_good1`, [65508]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/address0.wast:184
+assert_return(() => invoke($0, `16s_good2`, [65508]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/address0.wast:185
+assert_return(() => invoke($0, `16s_good3`, [65508]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/address0.wast:186
+assert_return(() => invoke($0, `16s_good4`, [65508]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/address0.wast:187
+assert_return(() => invoke($0, `16s_good5`, [65508]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/address0.wast:189
+assert_return(() => invoke($0, `32_good1`, [65508]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/address0.wast:190
+assert_return(() => invoke($0, `32_good2`, [65508]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/address0.wast:191
+assert_return(() => invoke($0, `32_good3`, [65508]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/address0.wast:192
+assert_return(() => invoke($0, `32_good4`, [65508]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/address0.wast:193
+assert_trap(() => invoke($0, `32_good5`, [65508]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/address0.wast:195
+assert_trap(() => invoke($0, `8u_good3`, [-1]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/address0.wast:196
+assert_trap(() => invoke($0, `8s_good3`, [-1]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/address0.wast:197
+assert_trap(() => invoke($0, `16u_good3`, [-1]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/address0.wast:198
+assert_trap(() => invoke($0, `16s_good3`, [-1]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/address0.wast:199
+assert_trap(() => invoke($0, `32_good3`, [-1]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/address0.wast:200
+assert_trap(() => invoke($0, `32_good3`, [-1]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/address0.wast:202
+assert_trap(() => invoke($0, `8u_bad`, [0]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/address0.wast:203
+assert_trap(() => invoke($0, `8s_bad`, [0]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/address0.wast:204
+assert_trap(() => invoke($0, `16u_bad`, [0]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/address0.wast:205
+assert_trap(() => invoke($0, `16s_bad`, [0]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/address0.wast:206
+assert_trap(() => invoke($0, `32_bad`, [0]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/address0.wast:208
+assert_trap(() => invoke($0, `8u_bad`, [1]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/address0.wast:209
+assert_trap(() => invoke($0, `8s_bad`, [1]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/address0.wast:210
+assert_trap(() => invoke($0, `16u_bad`, [1]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/address0.wast:211
+assert_trap(() => invoke($0, `16s_bad`, [1]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/address0.wast:212
+assert_trap(() => invoke($0, `32_bad`, [1]), `out of bounds memory access`);
diff --git a/js/src/jit-test/tests/wasm/spec/multi-memory/address1.wast.js b/js/src/jit-test/tests/wasm/spec/multi-memory/address1.wast.js
new file mode 100644
index 0000000000..602de2a5ce
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/multi-memory/address1.wast.js
@@ -0,0 +1,538 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/multi-memory/address1.wast
+
+// ./test/core/multi-memory/address1.wast:3
+let $0 = instantiate(`(module
+ (memory $$mem0 0)
+ (memory $$mem1 0)
+ (memory $$mem2 0)
+ (memory $$mem3 0)
+ (memory $$mem4 1)
+ (data (memory $$mem4) (i32.const 0) "abcdefghijklmnopqrstuvwxyz")
+
+ (func (export "8u_good1") (param $$i i32) (result i64)
+ (i64.load8_u $$mem4 offset=0 (local.get $$i)) ;; 97 'a'
+ )
+ (func (export "8u_good2") (param $$i i32) (result i64)
+ (i64.load8_u $$mem4 align=1 (local.get $$i)) ;; 97 'a'
+ )
+ (func (export "8u_good3") (param $$i i32) (result i64)
+ (i64.load8_u $$mem4 offset=1 align=1 (local.get $$i)) ;; 98 'b'
+ )
+ (func (export "8u_good4") (param $$i i32) (result i64)
+ (i64.load8_u $$mem4 offset=2 align=1 (local.get $$i)) ;; 99 'c'
+ )
+ (func (export "8u_good5") (param $$i i32) (result i64)
+ (i64.load8_u $$mem4 offset=25 align=1 (local.get $$i)) ;; 122 'z'
+ )
+
+ (func (export "8s_good1") (param $$i i32) (result i64)
+ (i64.load8_s $$mem4 offset=0 (local.get $$i)) ;; 97 'a'
+ )
+ (func (export "8s_good2") (param $$i i32) (result i64)
+ (i64.load8_s $$mem4 align=1 (local.get $$i)) ;; 97 'a'
+ )
+ (func (export "8s_good3") (param $$i i32) (result i64)
+ (i64.load8_s $$mem4 offset=1 align=1 (local.get $$i)) ;; 98 'b'
+ )
+ (func (export "8s_good4") (param $$i i32) (result i64)
+ (i64.load8_s $$mem4 offset=2 align=1 (local.get $$i)) ;; 99 'c'
+ )
+ (func (export "8s_good5") (param $$i i32) (result i64)
+ (i64.load8_s $$mem4 offset=25 align=1 (local.get $$i)) ;; 122 'z'
+ )
+
+ (func (export "16u_good1") (param $$i i32) (result i64)
+ (i64.load16_u $$mem4 offset=0 (local.get $$i)) ;; 25185 'ab'
+ )
+ (func (export "16u_good2") (param $$i i32) (result i64)
+ (i64.load16_u $$mem4 align=1 (local.get $$i)) ;; 25185 'ab'
+ )
+ (func (export "16u_good3") (param $$i i32) (result i64)
+ (i64.load16_u $$mem4 offset=1 align=1 (local.get $$i)) ;; 25442 'bc'
+ )
+ (func (export "16u_good4") (param $$i i32) (result i64)
+ (i64.load16_u $$mem4 offset=2 align=2 (local.get $$i)) ;; 25699 'cd'
+ )
+ (func (export "16u_good5") (param $$i i32) (result i64)
+ (i64.load16_u $$mem4 offset=25 align=2 (local.get $$i)) ;; 122 'z\\0'
+ )
+
+ (func (export "16s_good1") (param $$i i32) (result i64)
+ (i64.load16_s $$mem4 offset=0 (local.get $$i)) ;; 25185 'ab'
+ )
+ (func (export "16s_good2") (param $$i i32) (result i64)
+ (i64.load16_s $$mem4 align=1 (local.get $$i)) ;; 25185 'ab'
+ )
+ (func (export "16s_good3") (param $$i i32) (result i64)
+ (i64.load16_s $$mem4 offset=1 align=1 (local.get $$i)) ;; 25442 'bc'
+ )
+ (func (export "16s_good4") (param $$i i32) (result i64)
+ (i64.load16_s $$mem4 offset=2 align=2 (local.get $$i)) ;; 25699 'cd'
+ )
+ (func (export "16s_good5") (param $$i i32) (result i64)
+ (i64.load16_s $$mem4 offset=25 align=2 (local.get $$i)) ;; 122 'z\\0'
+ )
+
+ (func (export "32u_good1") (param $$i i32) (result i64)
+ (i64.load32_u $$mem4 offset=0 (local.get $$i)) ;; 1684234849 'abcd'
+ )
+ (func (export "32u_good2") (param $$i i32) (result i64)
+ (i64.load32_u $$mem4 align=1 (local.get $$i)) ;; 1684234849 'abcd'
+ )
+ (func (export "32u_good3") (param $$i i32) (result i64)
+ (i64.load32_u $$mem4 offset=1 align=1 (local.get $$i)) ;; 1701077858 'bcde'
+ )
+ (func (export "32u_good4") (param $$i i32) (result i64)
+ (i64.load32_u $$mem4 offset=2 align=2 (local.get $$i)) ;; 1717920867 'cdef'
+ )
+ (func (export "32u_good5") (param $$i i32) (result i64)
+ (i64.load32_u $$mem4 offset=25 align=4 (local.get $$i)) ;; 122 'z\\0\\0\\0'
+ )
+
+ (func (export "32s_good1") (param $$i i32) (result i64)
+ (i64.load32_s $$mem4 offset=0 (local.get $$i)) ;; 1684234849 'abcd'
+ )
+ (func (export "32s_good2") (param $$i i32) (result i64)
+ (i64.load32_s $$mem4 align=1 (local.get $$i)) ;; 1684234849 'abcd'
+ )
+ (func (export "32s_good3") (param $$i i32) (result i64)
+ (i64.load32_s $$mem4 offset=1 align=1 (local.get $$i)) ;; 1701077858 'bcde'
+ )
+ (func (export "32s_good4") (param $$i i32) (result i64)
+ (i64.load32_s $$mem4 offset=2 align=2 (local.get $$i)) ;; 1717920867 'cdef'
+ )
+ (func (export "32s_good5") (param $$i i32) (result i64)
+ (i64.load32_s $$mem4 offset=25 align=4 (local.get $$i)) ;; 122 'z\\0\\0\\0'
+ )
+
+ (func (export "64_good1") (param $$i i32) (result i64)
+ (i64.load $$mem4 offset=0 (local.get $$i)) ;; 0x6867666564636261 'abcdefgh'
+ )
+ (func (export "64_good2") (param $$i i32) (result i64)
+ (i64.load $$mem4 align=1 (local.get $$i)) ;; 0x6867666564636261 'abcdefgh'
+ )
+ (func (export "64_good3") (param $$i i32) (result i64)
+ (i64.load $$mem4 offset=1 align=1 (local.get $$i)) ;; 0x6968676665646362 'bcdefghi'
+ )
+ (func (export "64_good4") (param $$i i32) (result i64)
+ (i64.load $$mem4 offset=2 align=2 (local.get $$i)) ;; 0x6a69686766656463 'cdefghij'
+ )
+ (func (export "64_good5") (param $$i i32) (result i64)
+ (i64.load $$mem4 offset=25 align=8 (local.get $$i)) ;; 122 'z\\0\\0\\0\\0\\0\\0\\0'
+ )
+
+ (func (export "8u_bad") (param $$i i32)
+ (drop (i64.load8_u $$mem4 offset=4294967295 (local.get $$i)))
+ )
+ (func (export "8s_bad") (param $$i i32)
+ (drop (i64.load8_s $$mem4 offset=4294967295 (local.get $$i)))
+ )
+ (func (export "16u_bad") (param $$i i32)
+ (drop (i64.load16_u $$mem4 offset=4294967295 (local.get $$i)))
+ )
+ (func (export "16s_bad") (param $$i i32)
+ (drop (i64.load16_s $$mem4 offset=4294967295 (local.get $$i)))
+ )
+ (func (export "32u_bad") (param $$i i32)
+ (drop (i64.load32_u $$mem4 offset=4294967295 (local.get $$i)))
+ )
+ (func (export "32s_bad") (param $$i i32)
+ (drop (i64.load32_s $$mem4 offset=4294967295 (local.get $$i)))
+ )
+ (func (export "64_bad") (param $$i i32)
+ (drop (i64.load $$mem4 offset=4294967295 (local.get $$i)))
+ )
+)`);
+
+// ./test/core/multi-memory/address1.wast:146
+assert_return(() => invoke($0, `8u_good1`, [0]), [value("i64", 97n)]);
+
+// ./test/core/multi-memory/address1.wast:147
+assert_return(() => invoke($0, `8u_good2`, [0]), [value("i64", 97n)]);
+
+// ./test/core/multi-memory/address1.wast:148
+assert_return(() => invoke($0, `8u_good3`, [0]), [value("i64", 98n)]);
+
+// ./test/core/multi-memory/address1.wast:149
+assert_return(() => invoke($0, `8u_good4`, [0]), [value("i64", 99n)]);
+
+// ./test/core/multi-memory/address1.wast:150
+assert_return(() => invoke($0, `8u_good5`, [0]), [value("i64", 122n)]);
+
+// ./test/core/multi-memory/address1.wast:152
+assert_return(() => invoke($0, `8s_good1`, [0]), [value("i64", 97n)]);
+
+// ./test/core/multi-memory/address1.wast:153
+assert_return(() => invoke($0, `8s_good2`, [0]), [value("i64", 97n)]);
+
+// ./test/core/multi-memory/address1.wast:154
+assert_return(() => invoke($0, `8s_good3`, [0]), [value("i64", 98n)]);
+
+// ./test/core/multi-memory/address1.wast:155
+assert_return(() => invoke($0, `8s_good4`, [0]), [value("i64", 99n)]);
+
+// ./test/core/multi-memory/address1.wast:156
+assert_return(() => invoke($0, `8s_good5`, [0]), [value("i64", 122n)]);
+
+// ./test/core/multi-memory/address1.wast:158
+assert_return(() => invoke($0, `16u_good1`, [0]), [value("i64", 25185n)]);
+
+// ./test/core/multi-memory/address1.wast:159
+assert_return(() => invoke($0, `16u_good2`, [0]), [value("i64", 25185n)]);
+
+// ./test/core/multi-memory/address1.wast:160
+assert_return(() => invoke($0, `16u_good3`, [0]), [value("i64", 25442n)]);
+
+// ./test/core/multi-memory/address1.wast:161
+assert_return(() => invoke($0, `16u_good4`, [0]), [value("i64", 25699n)]);
+
+// ./test/core/multi-memory/address1.wast:162
+assert_return(() => invoke($0, `16u_good5`, [0]), [value("i64", 122n)]);
+
+// ./test/core/multi-memory/address1.wast:164
+assert_return(() => invoke($0, `16s_good1`, [0]), [value("i64", 25185n)]);
+
+// ./test/core/multi-memory/address1.wast:165
+assert_return(() => invoke($0, `16s_good2`, [0]), [value("i64", 25185n)]);
+
+// ./test/core/multi-memory/address1.wast:166
+assert_return(() => invoke($0, `16s_good3`, [0]), [value("i64", 25442n)]);
+
+// ./test/core/multi-memory/address1.wast:167
+assert_return(() => invoke($0, `16s_good4`, [0]), [value("i64", 25699n)]);
+
+// ./test/core/multi-memory/address1.wast:168
+assert_return(() => invoke($0, `16s_good5`, [0]), [value("i64", 122n)]);
+
+// ./test/core/multi-memory/address1.wast:170
+assert_return(() => invoke($0, `32u_good1`, [0]), [value("i64", 1684234849n)]);
+
+// ./test/core/multi-memory/address1.wast:171
+assert_return(() => invoke($0, `32u_good2`, [0]), [value("i64", 1684234849n)]);
+
+// ./test/core/multi-memory/address1.wast:172
+assert_return(() => invoke($0, `32u_good3`, [0]), [value("i64", 1701077858n)]);
+
+// ./test/core/multi-memory/address1.wast:173
+assert_return(() => invoke($0, `32u_good4`, [0]), [value("i64", 1717920867n)]);
+
+// ./test/core/multi-memory/address1.wast:174
+assert_return(() => invoke($0, `32u_good5`, [0]), [value("i64", 122n)]);
+
+// ./test/core/multi-memory/address1.wast:176
+assert_return(() => invoke($0, `32s_good1`, [0]), [value("i64", 1684234849n)]);
+
+// ./test/core/multi-memory/address1.wast:177
+assert_return(() => invoke($0, `32s_good2`, [0]), [value("i64", 1684234849n)]);
+
+// ./test/core/multi-memory/address1.wast:178
+assert_return(() => invoke($0, `32s_good3`, [0]), [value("i64", 1701077858n)]);
+
+// ./test/core/multi-memory/address1.wast:179
+assert_return(() => invoke($0, `32s_good4`, [0]), [value("i64", 1717920867n)]);
+
+// ./test/core/multi-memory/address1.wast:180
+assert_return(() => invoke($0, `32s_good5`, [0]), [value("i64", 122n)]);
+
+// ./test/core/multi-memory/address1.wast:182
+assert_return(() => invoke($0, `64_good1`, [0]), [value("i64", 7523094288207667809n)]);
+
+// ./test/core/multi-memory/address1.wast:183
+assert_return(() => invoke($0, `64_good2`, [0]), [value("i64", 7523094288207667809n)]);
+
+// ./test/core/multi-memory/address1.wast:184
+assert_return(() => invoke($0, `64_good3`, [0]), [value("i64", 7595434461045744482n)]);
+
+// ./test/core/multi-memory/address1.wast:185
+assert_return(() => invoke($0, `64_good4`, [0]), [value("i64", 7667774633883821155n)]);
+
+// ./test/core/multi-memory/address1.wast:186
+assert_return(() => invoke($0, `64_good5`, [0]), [value("i64", 122n)]);
+
+// ./test/core/multi-memory/address1.wast:188
+assert_return(() => invoke($0, `8u_good1`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:189
+assert_return(() => invoke($0, `8u_good2`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:190
+assert_return(() => invoke($0, `8u_good3`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:191
+assert_return(() => invoke($0, `8u_good4`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:192
+assert_return(() => invoke($0, `8u_good5`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:194
+assert_return(() => invoke($0, `8s_good1`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:195
+assert_return(() => invoke($0, `8s_good2`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:196
+assert_return(() => invoke($0, `8s_good3`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:197
+assert_return(() => invoke($0, `8s_good4`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:198
+assert_return(() => invoke($0, `8s_good5`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:200
+assert_return(() => invoke($0, `16u_good1`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:201
+assert_return(() => invoke($0, `16u_good2`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:202
+assert_return(() => invoke($0, `16u_good3`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:203
+assert_return(() => invoke($0, `16u_good4`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:204
+assert_return(() => invoke($0, `16u_good5`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:206
+assert_return(() => invoke($0, `16s_good1`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:207
+assert_return(() => invoke($0, `16s_good2`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:208
+assert_return(() => invoke($0, `16s_good3`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:209
+assert_return(() => invoke($0, `16s_good4`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:210
+assert_return(() => invoke($0, `16s_good5`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:212
+assert_return(() => invoke($0, `32u_good1`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:213
+assert_return(() => invoke($0, `32u_good2`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:214
+assert_return(() => invoke($0, `32u_good3`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:215
+assert_return(() => invoke($0, `32u_good4`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:216
+assert_return(() => invoke($0, `32u_good5`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:218
+assert_return(() => invoke($0, `32s_good1`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:219
+assert_return(() => invoke($0, `32s_good2`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:220
+assert_return(() => invoke($0, `32s_good3`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:221
+assert_return(() => invoke($0, `32s_good4`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:222
+assert_return(() => invoke($0, `32s_good5`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:224
+assert_return(() => invoke($0, `64_good1`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:225
+assert_return(() => invoke($0, `64_good2`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:226
+assert_return(() => invoke($0, `64_good3`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:227
+assert_return(() => invoke($0, `64_good4`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:228
+assert_return(() => invoke($0, `64_good5`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:230
+assert_return(() => invoke($0, `8u_good1`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:231
+assert_return(() => invoke($0, `8u_good2`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:232
+assert_return(() => invoke($0, `8u_good3`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:233
+assert_return(() => invoke($0, `8u_good4`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:234
+assert_return(() => invoke($0, `8u_good5`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:236
+assert_return(() => invoke($0, `8s_good1`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:237
+assert_return(() => invoke($0, `8s_good2`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:238
+assert_return(() => invoke($0, `8s_good3`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:239
+assert_return(() => invoke($0, `8s_good4`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:240
+assert_return(() => invoke($0, `8s_good5`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:242
+assert_return(() => invoke($0, `16u_good1`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:243
+assert_return(() => invoke($0, `16u_good2`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:244
+assert_return(() => invoke($0, `16u_good3`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:245
+assert_return(() => invoke($0, `16u_good4`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:246
+assert_return(() => invoke($0, `16u_good5`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:248
+assert_return(() => invoke($0, `16s_good1`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:249
+assert_return(() => invoke($0, `16s_good2`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:250
+assert_return(() => invoke($0, `16s_good3`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:251
+assert_return(() => invoke($0, `16s_good4`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:252
+assert_return(() => invoke($0, `16s_good5`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:254
+assert_return(() => invoke($0, `32u_good1`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:255
+assert_return(() => invoke($0, `32u_good2`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:256
+assert_return(() => invoke($0, `32u_good3`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:257
+assert_return(() => invoke($0, `32u_good4`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:258
+assert_return(() => invoke($0, `32u_good5`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:260
+assert_return(() => invoke($0, `32s_good1`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:261
+assert_return(() => invoke($0, `32s_good2`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:262
+assert_return(() => invoke($0, `32s_good3`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:263
+assert_return(() => invoke($0, `32s_good4`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:264
+assert_return(() => invoke($0, `32s_good5`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:266
+assert_return(() => invoke($0, `64_good1`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:267
+assert_return(() => invoke($0, `64_good2`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:268
+assert_return(() => invoke($0, `64_good3`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:269
+assert_return(() => invoke($0, `64_good4`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/address1.wast:270
+assert_trap(() => invoke($0, `64_good5`, [65504]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/address1.wast:272
+assert_trap(() => invoke($0, `8u_good3`, [-1]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/address1.wast:273
+assert_trap(() => invoke($0, `8s_good3`, [-1]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/address1.wast:274
+assert_trap(() => invoke($0, `16u_good3`, [-1]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/address1.wast:275
+assert_trap(() => invoke($0, `16s_good3`, [-1]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/address1.wast:276
+assert_trap(() => invoke($0, `32u_good3`, [-1]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/address1.wast:277
+assert_trap(() => invoke($0, `32s_good3`, [-1]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/address1.wast:278
+assert_trap(() => invoke($0, `64_good3`, [-1]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/address1.wast:280
+assert_trap(() => invoke($0, `8u_bad`, [0]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/address1.wast:281
+assert_trap(() => invoke($0, `8s_bad`, [0]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/address1.wast:282
+assert_trap(() => invoke($0, `16u_bad`, [0]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/address1.wast:283
+assert_trap(() => invoke($0, `16s_bad`, [0]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/address1.wast:284
+assert_trap(() => invoke($0, `32u_bad`, [0]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/address1.wast:285
+assert_trap(() => invoke($0, `32s_bad`, [0]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/address1.wast:286
+assert_trap(() => invoke($0, `64_bad`, [0]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/address1.wast:288
+assert_trap(() => invoke($0, `8u_bad`, [1]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/address1.wast:289
+assert_trap(() => invoke($0, `8s_bad`, [1]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/address1.wast:290
+assert_trap(() => invoke($0, `16u_bad`, [1]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/address1.wast:291
+assert_trap(() => invoke($0, `16s_bad`, [1]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/address1.wast:292
+assert_trap(() => invoke($0, `32u_bad`, [0]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/address1.wast:293
+assert_trap(() => invoke($0, `32s_bad`, [0]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/address1.wast:294
+assert_trap(() => invoke($0, `64_bad`, [1]), `out of bounds memory access`);
diff --git a/js/src/jit-test/tests/wasm/spec/multi-memory/align0.wast.js b/js/src/jit-test/tests/wasm/spec/multi-memory/align0.wast.js
new file mode 100644
index 0000000000..bafbd476e2
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/multi-memory/align0.wast.js
@@ -0,0 +1,65 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/multi-memory/align0.wast
+
+// ./test/core/multi-memory/align0.wast:3
+let $0 = instantiate(`(module
+ (memory $$mem0 0)
+ (memory $$mem1 1)
+ (memory $$mem2 0)
+
+ ;; $$default: natural alignment, $$1: align=1, $$2: align=2, $$4: align=4, $$8: align=8
+
+ (func (export "f32_align_switch") (param i32) (result f32)
+ (local f32 f32)
+ (local.set 1 (f32.const 10.0))
+ (block $$4
+ (block $$2
+ (block $$1
+ (block $$default
+ (block $$0
+ (br_table $$0 $$default $$1 $$2 $$4 (local.get 0))
+ ) ;; 0
+ (f32.store $$mem1 (i32.const 0) (local.get 1))
+ (local.set 2 (f32.load $$mem1 (i32.const 0)))
+ (br $$4)
+ ) ;; default
+ (f32.store $$mem1 align=1 (i32.const 0) (local.get 1))
+ (local.set 2 (f32.load $$mem1 align=1 (i32.const 0)))
+ (br $$4)
+ ) ;; 1
+ (f32.store $$mem1 align=2 (i32.const 0) (local.get 1))
+ (local.set 2 (f32.load $$mem1 align=2 (i32.const 0)))
+ (br $$4)
+ ) ;; 2
+ (f32.store $$mem1 align=4 (i32.const 0) (local.get 1))
+ (local.set 2 (f32.load $$mem1 align=4 (i32.const 0)))
+ ) ;; 4
+ (local.get 2)
+ )
+)`);
+
+// ./test/core/multi-memory/align0.wast:39
+assert_return(() => invoke($0, `f32_align_switch`, [0]), [value("f32", 10)]);
+
+// ./test/core/multi-memory/align0.wast:40
+assert_return(() => invoke($0, `f32_align_switch`, [1]), [value("f32", 10)]);
+
+// ./test/core/multi-memory/align0.wast:41
+assert_return(() => invoke($0, `f32_align_switch`, [2]), [value("f32", 10)]);
+
+// ./test/core/multi-memory/align0.wast:42
+assert_return(() => invoke($0, `f32_align_switch`, [3]), [value("f32", 10)]);
diff --git a/js/src/jit-test/tests/wasm/spec/multi-memory/binary0.wast.js b/js/src/jit-test/tests/wasm/spec/multi-memory/binary0.wast.js
new file mode 100644
index 0000000000..db6f0bd879
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/multi-memory/binary0.wast.js
@@ -0,0 +1,88 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/multi-memory/binary0.wast
+
+// ./test/core/multi-memory/binary0.wast:2
+let $0 = instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\05\\07\\02" ;; Memory section with 2 entries
+ "\\00\\82\\00" ;; no max, minimum 2
+ "\\00\\82\\00" ;; no max, minimum 2
+)`);
+
+// ./test/core/multi-memory/binary0.wast:8
+let $1 = instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\05\\13\\03" ;; Memory section with 3 entries
+ "\\00\\83\\80\\80\\80\\00" ;; no max, minimum 3
+ "\\00\\84\\80\\80\\80\\00" ;; no max, minimum 4
+ "\\00\\85\\80\\80\\80\\00" ;; no max, minimum 5
+)`);
+
+// ./test/core/multi-memory/binary0.wast:16
+let $2 = instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\05\\05\\02" ;; Memory section with 2 entries
+ "\\00\\00" ;; no max, minimum 0
+ "\\00\\00" ;; no max, minimum 0
+ "\\0b\\06\\01" ;; Data section with 1 entry
+ "\\00" ;; Memory index 0
+ "\\41\\00\\0b\\00" ;; (i32.const 0) with contents ""
+)`);
+
+// ./test/core/multi-memory/binary0.wast:26
+let $3 = instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\05\\05\\02" ;; Memory section with 2 entries
+ "\\00\\00" ;; no max, minimum 0
+ "\\00\\01" ;; no max, minimum 1
+ "\\0b\\07\\01" ;; Data section with 1 entry
+ "\\02\\01" ;; Memory index 1
+ "\\41\\00\\0b\\00" ;; (i32.const 0) with contents ""
+)`);
+
+// ./test/core/multi-memory/binary0.wast:36
+let $4 = instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\05\\05\\02" ;; Memory section with 2 entries
+ "\\00\\00" ;; no max, minimum 0
+ "\\00\\01" ;; no max, minimum 1
+ "\\0b\\0a\\01" ;; Data section with 1 entry
+ "\\02\\81\\80\\80\\00" ;; Memory index 1
+ "\\41\\00\\0b\\00" ;; (i32.const 0) with contents ""
+)`);
+
+// ./test/core/multi-memory/binary0.wast:47
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\05\\0a\\02" ;; Memory section with 2 entries
+ "\\00\\01" ;; no max, minimum 1
+ "\\00\\82\\80\\80\\80\\80\\00" ;; no max, minimum 2 with one byte too many
+ )`),
+ `integer representation too long`,
+);
+
+// ./test/core/multi-memory/binary0.wast:58
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\05\\03\\02" ;; memory section with inconsistent count (1 declared, 0 given)
+ "\\00\\00" ;; memory 0 (missed)
+ ;; "\\00\\00" ;; memory 1 (missing)
+ )`),
+ `unexpected end of section or function`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/multi-memory/data0.wast.js b/js/src/jit-test/tests/wasm/spec/multi-memory/data0.wast.js
new file mode 100644
index 0000000000..5fa85e426c
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/multi-memory/data0.wast.js
@@ -0,0 +1,93 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/multi-memory/data0.wast
+
+// ./test/core/multi-memory/data0.wast:5
+let $0 = instantiate(`(module
+ (memory $$mem0 1)
+ (memory $$mem1 1)
+ (memory $$mem2 1)
+
+ (data (i32.const 0))
+ (data (i32.const 1) "a" "" "bcd")
+ (data (offset (i32.const 0)))
+ (data (offset (i32.const 0)) "" "a" "bc" "")
+ (data (memory 0) (i32.const 0))
+ (data (memory 0x0) (i32.const 1) "a" "" "bcd")
+ (data (memory 0x000) (offset (i32.const 0)))
+ (data (memory 0) (offset (i32.const 0)) "" "a" "bc" "")
+ (data (memory $$mem0) (i32.const 0))
+ (data (memory $$mem1) (i32.const 1) "a" "" "bcd")
+ (data (memory $$mem2) (offset (i32.const 0)))
+ (data (memory $$mem0) (offset (i32.const 0)) "" "a" "bc" "")
+
+ (data $$d1 (i32.const 0))
+ (data $$d2 (i32.const 1) "a" "" "bcd")
+ (data $$d3 (offset (i32.const 0)))
+ (data $$d4 (offset (i32.const 0)) "" "a" "bc" "")
+ (data $$d5 (memory 0) (i32.const 0))
+ (data $$d6 (memory 0x0) (i32.const 1) "a" "" "bcd")
+ (data $$d7 (memory 0x000) (offset (i32.const 0)))
+ (data $$d8 (memory 0) (offset (i32.const 0)) "" "a" "bc" "")
+ (data $$d9 (memory $$mem0) (i32.const 0))
+ (data $$d10 (memory $$mem1) (i32.const 1) "a" "" "bcd")
+ (data $$d11 (memory $$mem2) (offset (i32.const 0)))
+ (data $$d12 (memory $$mem0) (offset (i32.const 0)) "" "a" "bc" "")
+)`);
+
+// ./test/core/multi-memory/data0.wast:39
+let $1 = instantiate(`(module
+ (memory 1)
+ (data (i32.const 0) "a")
+)`);
+
+// ./test/core/multi-memory/data0.wast:43
+let $2 = instantiate(`(module
+ (import "spectest" "memory" (memory 1))
+ (import "spectest" "memory" (memory 1))
+ (import "spectest" "memory" (memory 1))
+ (data (memory 0) (i32.const 0) "a")
+ (data (memory 1) (i32.const 0) "a")
+ (data (memory 2) (i32.const 0) "a")
+)`);
+
+// ./test/core/multi-memory/data0.wast:52
+let $3 = instantiate(`(module
+ (global (import "spectest" "global_i32") i32)
+ (memory 1)
+ (data (global.get 0) "a")
+)`);
+
+// ./test/core/multi-memory/data0.wast:57
+let $4 = instantiate(`(module
+ (global (import "spectest" "global_i32") i32)
+ (import "spectest" "memory" (memory 1))
+ (data (global.get 0) "a")
+)`);
+
+// ./test/core/multi-memory/data0.wast:63
+let $5 = instantiate(`(module
+ (global $$g (import "spectest" "global_i32") i32)
+ (memory 1)
+ (data (global.get $$g) "a")
+)`);
+
+// ./test/core/multi-memory/data0.wast:68
+let $6 = instantiate(`(module
+ (global $$g (import "spectest" "global_i32") i32)
+ (import "spectest" "memory" (memory 1))
+ (data (global.get $$g) "a")
+)`);
diff --git a/js/src/jit-test/tests/wasm/spec/multi-memory/data1.wast.js b/js/src/jit-test/tests/wasm/spec/multi-memory/data1.wast.js
new file mode 100644
index 0000000000..953cc7c729
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/multi-memory/data1.wast.js
@@ -0,0 +1,170 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/multi-memory/data1.wast
+
+// ./test/core/multi-memory/data1.wast:3
+assert_trap(
+ () => instantiate(`(module
+ (memory 1)
+ (memory 0)
+ (memory 2)
+ (data (memory 1) (i32.const 0) "a")
+ )`),
+ `out of bounds memory access`,
+);
+
+// ./test/core/multi-memory/data1.wast:13
+assert_trap(
+ () => instantiate(`(module
+ (memory 1 1)
+ (memory 1 1)
+ (memory 0 0)
+ (data (memory 2) (i32.const 0) "a")
+ )`),
+ `out of bounds memory access`,
+);
+
+// ./test/core/multi-memory/data1.wast:23
+assert_trap(
+ () => instantiate(`(module
+ (memory 1 1)
+ (memory 0 1)
+ (memory 1 1)
+ (data (memory 1) (i32.const 0) "a")
+ )`),
+ `out of bounds memory access`,
+);
+
+// ./test/core/multi-memory/data1.wast:32
+assert_trap(
+ () => instantiate(`(module
+ (memory 1)
+ (memory 1)
+ (memory 0)
+ (data (memory 2) (i32.const 1))
+ )`),
+ `out of bounds memory access`,
+);
+
+// ./test/core/multi-memory/data1.wast:41
+assert_trap(
+ () => instantiate(`(module
+ (memory 1 1)
+ (memory 1 1)
+ (memory 0 1)
+ (data (memory 2) (i32.const 1))
+ )`),
+ `out of bounds memory access`,
+);
+
+// ./test/core/multi-memory/data1.wast:60
+assert_trap(
+ () => instantiate(`(module
+ (global (import "spectest" "global_i32") i32)
+ (memory 3)
+ (memory 0)
+ (memory 3)
+ (data (memory 1) (global.get 0) "a")
+ )`),
+ `out of bounds memory access`,
+);
+
+// ./test/core/multi-memory/data1.wast:71
+assert_trap(
+ () => instantiate(`(module
+ (memory 2 2)
+ (memory 1 2)
+ (memory 2 2)
+ (data (memory 1) (i32.const 0x1_0000) "a")
+ )`),
+ `out of bounds memory access`,
+);
+
+// ./test/core/multi-memory/data1.wast:80
+assert_trap(
+ () => instantiate(`(module
+ (import "spectest" "memory" (memory 1))
+ (data (i32.const 0x1_0000) "a")
+ )`),
+ `out of bounds memory access`,
+);
+
+// ./test/core/multi-memory/data1.wast:88
+assert_trap(
+ () => instantiate(`(module
+ (memory 3)
+ (memory 3)
+ (memory 2)
+ (data (memory 2) (i32.const 0x2_0000) "a")
+ )`),
+ `out of bounds memory access`,
+);
+
+// ./test/core/multi-memory/data1.wast:98
+assert_trap(
+ () => instantiate(`(module
+ (memory 3 3)
+ (memory 2 3)
+ (memory 3 3)
+ (data (memory 1) (i32.const 0x2_0000) "a")
+ )`),
+ `out of bounds memory access`,
+);
+
+// ./test/core/multi-memory/data1.wast:108
+assert_trap(
+ () => instantiate(`(module
+ (memory 0)
+ (memory 0)
+ (memory 1)
+ (data (memory 2) (i32.const -1) "a")
+ )`),
+ `out of bounds memory access`,
+);
+
+// ./test/core/multi-memory/data1.wast:117
+assert_trap(
+ () => instantiate(`(module
+ (import "spectest" "memory" (memory 1))
+ (import "spectest" "memory" (memory 1))
+ (import "spectest" "memory" (memory 1))
+ (data (memory 2) (i32.const -1) "a")
+ )`),
+ `out of bounds memory access`,
+);
+
+// ./test/core/multi-memory/data1.wast:127
+assert_trap(
+ () => instantiate(`(module
+ (memory 2)
+ (memory 2)
+ (memory 2)
+ (data (memory 2) (i32.const -100) "a")
+ )`),
+ `out of bounds memory access`,
+);
+
+// ./test/core/multi-memory/data1.wast:136
+assert_trap(
+ () => instantiate(`(module
+ (import "spectest" "memory" (memory 1))
+ (import "spectest" "memory" (memory 1))
+ (import "spectest" "memory" (memory 1))
+ (import "spectest" "memory" (memory 1))
+ (data (memory 3) (i32.const -100) "a")
+ )`),
+ `out of bounds memory access`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/multi-memory/data_drop0.wast.js b/js/src/jit-test/tests/wasm/spec/multi-memory/data_drop0.wast.js
new file mode 100644
index 0000000000..7e0b28f4ac
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/multi-memory/data_drop0.wast.js
@@ -0,0 +1,63 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/multi-memory/data_drop0.wast
+
+// ./test/core/multi-memory/data_drop0.wast:2
+let $0 = instantiate(`(module
+ (memory $$mem0 0)
+ (memory $$mem1 1)
+ (memory $$mem2 0)
+ (data $$p "x")
+ (data $$a (memory 1) (i32.const 0) "x")
+
+ (func (export "drop_passive") (data.drop $$p))
+ (func (export "init_passive") (param $$len i32)
+ (memory.init $$mem1 $$p (i32.const 0) (i32.const 0) (local.get $$len)))
+
+ (func (export "drop_active") (data.drop $$a))
+ (func (export "init_active") (param $$len i32)
+ (memory.init $$mem1 $$a (i32.const 0) (i32.const 0) (local.get $$len)))
+)`);
+
+// ./test/core/multi-memory/data_drop0.wast:18
+invoke($0, `init_passive`, [1]);
+
+// ./test/core/multi-memory/data_drop0.wast:19
+invoke($0, `drop_passive`, []);
+
+// ./test/core/multi-memory/data_drop0.wast:20
+invoke($0, `drop_passive`, []);
+
+// ./test/core/multi-memory/data_drop0.wast:21
+assert_return(() => invoke($0, `init_passive`, [0]), []);
+
+// ./test/core/multi-memory/data_drop0.wast:22
+assert_trap(() => invoke($0, `init_passive`, [1]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/data_drop0.wast:23
+invoke($0, `init_passive`, [0]);
+
+// ./test/core/multi-memory/data_drop0.wast:24
+invoke($0, `drop_active`, []);
+
+// ./test/core/multi-memory/data_drop0.wast:25
+assert_return(() => invoke($0, `init_active`, [0]), []);
+
+// ./test/core/multi-memory/data_drop0.wast:26
+assert_trap(() => invoke($0, `init_active`, [1]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/data_drop0.wast:27
+invoke($0, `init_active`, [0]);
diff --git a/js/src/jit-test/tests/wasm/spec/multi-memory/directives.txt b/js/src/jit-test/tests/wasm/spec/multi-memory/directives.txt
new file mode 100644
index 0000000000..9211583549
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/multi-memory/directives.txt
@@ -0,0 +1 @@
+|jit-test| test-also=--wasm-compiler=optimizing; test-also=--wasm-compiler=baseline; test-also=--wasm-test-serialization; test-also=--test-wasm-await-tier2; test-also=--disable-wasm-huge-memory; skip-variant-if: --disable-wasm-huge-memory, !wasmHugeMemorySupported(); local-include:harness/harness.js; --wasm-multi-memory; skip-if: !wasmMultiMemoryEnabled() \ No newline at end of file
diff --git a/js/src/jit-test/tests/wasm/spec/multi-memory/exports0.wast.js b/js/src/jit-test/tests/wasm/spec/multi-memory/exports0.wast.js
new file mode 100644
index 0000000000..2d94a23440
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/multi-memory/exports0.wast.js
@@ -0,0 +1,78 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/multi-memory/exports0.wast
+
+// ./test/core/multi-memory/exports0.wast:3
+let $0 = instantiate(`(module (memory 0) (export "a" (memory 0)))`);
+
+// ./test/core/multi-memory/exports0.wast:4
+let $1 = instantiate(`(module (memory 0) (export "a" (memory 0)) (export "b" (memory 0)))`);
+
+// ./test/core/multi-memory/exports0.wast:5
+let $2 = instantiate(`(module (memory 0) (memory 0) (export "a" (memory 0)) (export "b" (memory 1)))`);
+
+// ./test/core/multi-memory/exports0.wast:6
+let $3 = instantiate(`(module
+ (memory $$mem0 0)
+ (memory $$mem1 0)
+ (memory $$mem2 0)
+ (memory $$mem3 0)
+ (memory $$mem4 0)
+ (memory $$mem5 0)
+ (memory $$mem6 0)
+
+ (export "a" (memory $$mem0))
+ (export "b" (memory $$mem1))
+ (export "ac" (memory $$mem2))
+ (export "bc" (memory $$mem3))
+ (export "ad" (memory $$mem4))
+ (export "bd" (memory $$mem5))
+ (export "be" (memory $$mem6))
+
+ (export "za" (memory $$mem0))
+ (export "zb" (memory $$mem1))
+ (export "zac" (memory $$mem2))
+ (export "zbc" (memory $$mem3))
+ (export "zad" (memory $$mem4))
+ (export "zbd" (memory $$mem5))
+ (export "zbe" (memory $$mem6))
+)`);
+
+// ./test/core/multi-memory/exports0.wast:32
+let $4 = instantiate(`(module
+ (export "a" (memory 0))
+ (memory 6)
+
+ (export "b" (memory 1))
+ (memory 3)
+)`);
+
+// ./test/core/multi-memory/exports0.wast:40
+let $5 = instantiate(`(module
+ (export "a" (memory 0))
+ (memory 0 1)
+ (memory 0 1)
+ (memory 0 1)
+ (memory 0 1)
+
+ (export "b" (memory 3))
+)`);
+
+// ./test/core/multi-memory/exports0.wast:49
+let $6 = instantiate(`(module (export "a" (memory $$a)) (memory $$a 0))`);
+
+// ./test/core/multi-memory/exports0.wast:50
+let $7 = instantiate(`(module (export "a" (memory $$a)) (memory $$a 0 1))`);
diff --git a/js/src/jit-test/tests/wasm/spec/multi-memory/float_exprs0.wast.js b/js/src/jit-test/tests/wasm/spec/multi-memory/float_exprs0.wast.js
new file mode 100644
index 0000000000..fe1c12a5ee
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/multi-memory/float_exprs0.wast.js
@@ -0,0 +1,80 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/multi-memory/float_exprs0.wast
+
+// ./test/core/multi-memory/float_exprs0.wast:1
+let $0 = instantiate(`(module
+ (memory 0 0)
+ (memory $$m 1 1)
+ (memory 0 0)
+ (func (export "init") (param $$i i32) (param $$x f64)
+ (f64.store $$m (local.get $$i) (local.get $$x)))
+
+ (func (export "run") (param $$n i32) (param $$z f64)
+ (local $$i i32)
+ (block $$exit
+ (loop $$cont
+ (f64.store $$m
+ (local.get $$i)
+ (f64.div (f64.load $$m (local.get $$i)) (local.get $$z))
+ )
+ (local.set $$i (i32.add (local.get $$i) (i32.const 8)))
+ (br_if $$cont (i32.lt_u (local.get $$i) (local.get $$n)))
+ )
+ )
+ )
+
+ (func (export "check") (param $$i i32) (result f64) (f64.load $$m (local.get $$i)))
+)`);
+
+// ./test/core/multi-memory/float_exprs0.wast:25
+invoke($0, `init`, [0, value("f64", 15.1)]);
+
+// ./test/core/multi-memory/float_exprs0.wast:26
+invoke($0, `init`, [8, value("f64", 15.2)]);
+
+// ./test/core/multi-memory/float_exprs0.wast:27
+invoke($0, `init`, [16, value("f64", 15.3)]);
+
+// ./test/core/multi-memory/float_exprs0.wast:28
+invoke($0, `init`, [24, value("f64", 15.4)]);
+
+// ./test/core/multi-memory/float_exprs0.wast:29
+assert_return(() => invoke($0, `check`, [0]), [value("f64", 15.1)]);
+
+// ./test/core/multi-memory/float_exprs0.wast:30
+assert_return(() => invoke($0, `check`, [8]), [value("f64", 15.2)]);
+
+// ./test/core/multi-memory/float_exprs0.wast:31
+assert_return(() => invoke($0, `check`, [16]), [value("f64", 15.3)]);
+
+// ./test/core/multi-memory/float_exprs0.wast:32
+assert_return(() => invoke($0, `check`, [24]), [value("f64", 15.4)]);
+
+// ./test/core/multi-memory/float_exprs0.wast:33
+invoke($0, `run`, [32, value("f64", 3)]);
+
+// ./test/core/multi-memory/float_exprs0.wast:34
+assert_return(() => invoke($0, `check`, [0]), [value("f64", 5.033333333333333)]);
+
+// ./test/core/multi-memory/float_exprs0.wast:35
+assert_return(() => invoke($0, `check`, [8]), [value("f64", 5.066666666666666)]);
+
+// ./test/core/multi-memory/float_exprs0.wast:36
+assert_return(() => invoke($0, `check`, [16]), [value("f64", 5.1000000000000005)]);
+
+// ./test/core/multi-memory/float_exprs0.wast:37
+assert_return(() => invoke($0, `check`, [24]), [value("f64", 5.133333333333334)]);
diff --git a/js/src/jit-test/tests/wasm/spec/multi-memory/float_exprs1.wast.js b/js/src/jit-test/tests/wasm/spec/multi-memory/float_exprs1.wast.js
new file mode 100644
index 0000000000..3f7c1052fa
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/multi-memory/float_exprs1.wast.js
@@ -0,0 +1,128 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/multi-memory/float_exprs1.wast
+
+// ./test/core/multi-memory/float_exprs1.wast:4
+let $0 = instantiate(`(module
+ (memory 0 0)
+ (memory 0 0)
+ (memory 0 0)
+ (memory 0 0)
+ (memory 0 0)
+ (memory $$m (data
+ "\\c4\\c5\\57\\24\\a5\\84\\c8\\0b\\6d\\b8\\4b\\2e\\f2\\76\\17\\1c\\ca\\4a\\56\\1e\\1b\\6e\\71\\22"
+ "\\5d\\17\\1e\\6e\\bf\\cd\\14\\5c\\c7\\21\\55\\51\\39\\9c\\1f\\b2\\51\\f0\\a3\\93\\d7\\c1\\2c\\ae"
+ "\\7e\\a8\\28\\3a\\01\\21\\f4\\0a\\58\\93\\f8\\42\\77\\9f\\83\\39\\6a\\5f\\ba\\f7\\0a\\d8\\51\\6a"
+ "\\34\\ca\\ad\\c6\\34\\0e\\d8\\26\\dc\\4c\\33\\1c\\ed\\29\\90\\a8\\78\\0f\\d1\\ce\\76\\31\\23\\83"
+ "\\b8\\35\\e8\\f2\\44\\b0\\d3\\a1\\fc\\bb\\32\\e1\\b0\\ba\\69\\44\\09\\d6\\d9\\7d\\ff\\2e\\c0\\5a"
+ "\\36\\14\\33\\14\\3e\\a9\\fa\\87\\6d\\8b\\bc\\ce\\9d\\a7\\fd\\c4\\e9\\85\\3f\\dd\\d7\\e1\\18\\a6"
+ "\\50\\26\\72\\6e\\3f\\73\\0f\\f8\\12\\93\\23\\34\\61\\76\\12\\48\\c0\\9b\\05\\93\\eb\\ac\\86\\de"
+ "\\94\\3e\\55\\e8\\8c\\e8\\dd\\e4\\fc\\95\\47\\be\\56\\03\\21\\20\\4c\\e6\\bf\\7b\\f6\\7f\\d5\\ba"
+ "\\73\\1c\\c1\\14\\8f\\c4\\27\\96\\b3\\bd\\33\\ff\\78\\41\\5f\\c0\\5a\\ce\\f6\\67\\6e\\73\\9a\\17"
+ "\\66\\70\\03\\f8\\ce\\27\\a3\\52\\b2\\9f\\3b\\bf\\fb\\ae\\ed\\d3\\5a\\f8\\37\\57\\f0\\f5\\6e\\ef"
+ "\\b1\\4d\\70\\3d\\54\\a7\\01\\9a\\85\\08\\48\\91\\f5\\9d\\0c\\60\\87\\5b\\d9\\54\\1e\\51\\6d\\88"
+ "\\8e\\08\\8c\\a5\\71\\3a\\56\\08\\67\\46\\8f\\8f\\13\\2a\\2c\\ec\\2c\\1f\\b4\\62\\2b\\6f\\41\\0a"
+ "\\c4\\65\\42\\a2\\31\\6b\\2c\\7d\\3e\\bb\\75\\ac\\86\\97\\30\\d9\\48\\cd\\9a\\1f\\56\\c4\\c6\\e4"
+ "\\12\\c0\\9d\\fb\\ee\\02\\8c\\ce\\1c\\f2\\1e\\a1\\78\\23\\db\\c4\\1e\\49\\03\\d3\\71\\cc\\08\\50"
+ "\\c5\\d8\\5c\\ed\\d5\\b5\\65\\ac\\b5\\c9\\21\\d2\\c9\\29\\76\\de\\f0\\30\\1a\\5b\\3c\\f2\\3b\\db"
+ "\\3a\\39\\82\\3a\\16\\08\\6f\\a8\\f1\\be\\69\\69\\99\\71\\a6\\05\\d3\\14\\93\\2a\\16\\f2\\2f\\11"
+ "\\c7\\7e\\20\\bb\\91\\44\\ee\\f8\\e4\\01\\53\\c0\\b9\\7f\\f0\\bf\\f0\\03\\9c\\6d\\b1\\df\\a2\\44"
+ "\\01\\6d\\6b\\71\\2b\\5c\\b3\\21\\19\\46\\5e\\8f\\db\\91\\d3\\7c\\78\\6b\\b7\\12\\00\\8f\\eb\\bd"
+ "\\8a\\f5\\d4\\2e\\c4\\c1\\1e\\df\\73\\63\\59\\47\\49\\03\\0a\\b7\\cf\\24\\cf\\9c\\0e\\44\\7a\\9e"
+ "\\14\\fb\\42\\bf\\9d\\39\\30\\9e\\a0\\ab\\2f\\d1\\ae\\9e\\6a\\83\\43\\e3\\55\\7d\\85\\bf\\63\\8a"
+ "\\f8\\96\\10\\1f\\fe\\6d\\e7\\22\\1b\\e1\\69\\46\\8a\\44\\c8\\c8\\f9\\0c\\2b\\19\\07\\a5\\02\\3e"
+ "\\f2\\30\\10\\9a\\85\\8a\\5f\\ef\\81\\45\\a0\\77\\b1\\03\\10\\73\\4b\\ae\\98\\9d\\47\\bf\\9a\\2d"
+ "\\3a\\d5\\0f\\03\\66\\e3\\3d\\53\\d9\\40\\ce\\1f\\6f\\32\\2f\\21\\2b\\23\\21\\6c\\62\\d4\\a7\\3e"
+ "\\a8\\ce\\28\\31\\2d\\00\\3d\\67\\5e\\af\\a0\\cf\\2e\\d2\\b9\\6b\\84\\eb\\69\\08\\3c\\62\\36\\be"
+ "\\12\\fd\\36\\7f\\88\\3e\\ad\\bc\\0b\\c0\\41\\c4\\50\\b6\\e3\\50\\31\\e8\\ce\\e2\\96\\65\\55\\9c"
+ "\\16\\46\\e6\\b0\\2d\\3a\\e8\\81\\05\\b0\\bf\\34\\f7\\bc\\10\\1c\\fb\\cc\\3c\\f1\\85\\97\\42\\9f"
+ "\\eb\\14\\8d\\3c\\bf\\d7\\17\\88\\49\\9d\\8b\\2b\\b2\\3a\\83\\d1\\4f\\04\\9e\\a1\\0f\\ad\\08\\9d"
+ "\\54\\af\\d1\\82\\c3\\ec\\32\\2f\\02\\8f\\05\\21\\2d\\a2\\b7\\e4\\f4\\6f\\2e\\81\\2b\\0b\\9c\\fc"
+ "\\cb\\fe\\74\\02\\f9\\db\\f4\\f3\\ea\\00\\a8\\ec\\d1\\99\\74\\26\\dd\\d6\\34\\d5\\25\\b1\\46\\dd"
+ "\\9c\\aa\\71\\f5\\60\\b0\\88\\c8\\e0\\0b\\59\\5a\\25\\4f\\29\\66\\f9\\e3\\2e\\fe\\e9\\da\\e5\\18"
+ "\\4f\\27\\62\\f4\\ce\\a4\\21\\95\\74\\c7\\57\\64\\27\\9a\\4c\\fd\\54\\7d\\61\\ce\\c3\\ac\\87\\46"
+ "\\9c\\fa\\ff\\09\\ca\\79\\97\\67\\24\\74\\ca\\d4\\21\\83\\26\\25\\19\\12\\37\\64\\19\\e5\\65\\e0"
+ "\\74\\75\\8e\\dd\\c8\\ef\\74\\c7\\d8\\21\\2b\\79\\04\\51\\46\\65\\60\\03\\5d\\fa\\d8\\f4\\65\\a4"
+ "\\9e\\5d\\23\\da\\d7\\8a\\92\\80\\a4\\de\\78\\3c\\f1\\57\\42\\6d\\cd\\c9\\2f\\d5\\a4\\9e\\ab\\40"
+ "\\f4\\cb\\1b\\d7\\a3\\ca\\fc\\eb\\a7\\01\\b2\\9a\\69\\4e\\46\\9b\\18\\4e\\dd\\79\\a7\\aa\\a6\\52"
+ "\\39\\1e\\ef\\30\\cc\\9b\\bd\\5b\\ee\\4c\\21\\6d\\30\\00\\72\\b0\\46\\5f\\08\\cf\\c5\\b9\\e0\\3e"
+ "\\c2\\b3\\0c\\dc\\8e\\64\\de\\19\\42\\79\\cf\\43\\ea\\43\\5d\\8e\\88\\f7\\ab\\15\\dc\\3f\\c8\\67"
+ "\\20\\db\\b8\\64\\b1\\47\\1f\\de\\f2\\cb\\3f\\59\\9f\\d8\\46\\90\\dc\\ae\\2f\\22\\f9\\e2\\31\\89"
+ "\\d9\\9c\\1c\\4c\\d3\\a9\\4a\\57\\84\\9c\\9f\\ea\\2c\\3c\\ae\\3c\\c3\\1e\\8b\\e5\\4e\\17\\01\\25"
+ "\\db\\34\\46\\5f\\15\\ea\\05\\0c\\7c\\d9\\45\\8c\\19\\d0\\73\\8a\\96\\16\\dd\\44\\f9\\05\\b7\\5b"
+ "\\71\\b0\\e6\\21\\36\\5f\\75\\89\\91\\73\\75\\ab\\7d\\ae\\d3\\73\\ec\\37\\c6\\ea\\55\\75\\ef\\ea"
+ "\\ab\\8b\\7b\\11\\dc\\6d\\1a\\b2\\6a\\c4\\25\\cf\\aa\\e3\\9f\\49\\49\\89\\cb\\37\\9b\\0a\\a7\\01"
+ "\\60\\70\\dc\\b7\\c8\\83\\e1\\42\\f5\\be\\ad\\62\\94\\ad\\8d\\a1"
+ ))
+ (memory 0 0)
+ (memory 0 0)
+ (memory 0 0)
+
+ (func (export "f32.kahan_sum") (param $$p i32) (param $$n i32) (result f32)
+ (local $$sum f32)
+ (local $$c f32)
+ (local $$t f32)
+ (block $$exit
+ (loop $$top
+ (local.set $$t
+ (f32.sub
+ (f32.sub
+ (local.tee $$sum
+ (f32.add
+ (local.get $$c)
+ (local.tee $$t
+ (f32.sub (f32.load $$m (local.get $$p)) (local.get $$t))
+ )
+ )
+ )
+ (local.get $$c)
+ )
+ (local.get $$t)
+ )
+ )
+ (local.set $$p (i32.add (local.get $$p) (i32.const 4)))
+ (local.set $$c (local.get $$sum))
+ (br_if $$top (local.tee $$n (i32.add (local.get $$n) (i32.const -1))))
+ )
+ )
+ (local.get $$sum)
+ )
+
+ (func (export "f32.plain_sum") (param $$p i32) (param $$n i32) (result f32)
+ (local $$sum f32)
+ (block $$exit
+ (loop $$top
+ (local.set $$sum (f32.add (local.get $$sum) (f32.load $$m (local.get $$p))))
+ (local.set $$p (i32.add (local.get $$p) (i32.const 4)))
+ (local.set $$n (i32.add (local.get $$n) (i32.const -1)))
+ (br_if $$top (local.get $$n))
+ )
+ )
+ (local.get $$sum)
+ )
+)`);
+
+// ./test/core/multi-memory/float_exprs1.wast:103
+assert_return(
+ () => invoke($0, `f32.kahan_sum`, [0, 256]),
+ [value("f32", -21558138000000000000000000000000)],
+);
+
+// ./test/core/multi-memory/float_exprs1.wast:104
+assert_return(
+ () => invoke($0, `f32.plain_sum`, [0, 256]),
+ [value("f32", -16487540000000000000000000000000)],
+);
diff --git a/js/src/jit-test/tests/wasm/spec/multi-memory/float_memory.wast.js b/js/src/jit-test/tests/wasm/spec/multi-memory/float_memory.wast.js
new file mode 100644
index 0000000000..8f01f424e8
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/multi-memory/float_memory.wast.js
@@ -0,0 +1,361 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/float_memory.wast
+
+// ./test/core/float_memory.wast:5
+let $0 = instantiate(`(module
+ (memory (data "\\00\\00\\a0\\7f"))
+
+ (func (export "f32.load") (result f32) (f32.load (i32.const 0)))
+ (func (export "i32.load") (result i32) (i32.load (i32.const 0)))
+ (func (export "f32.store") (f32.store (i32.const 0) (f32.const nan:0x200000)))
+ (func (export "i32.store") (i32.store (i32.const 0) (i32.const 0x7fa00000)))
+ (func (export "reset") (i32.store (i32.const 0) (i32.const 0)))
+)`);
+
+// ./test/core/float_memory.wast:15
+assert_return(() => invoke($0, `i32.load`, []), [value("i32", 2141192192)]);
+
+// ./test/core/float_memory.wast:16
+assert_return(() => invoke($0, `f32.load`, []), [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]);
+
+// ./test/core/float_memory.wast:17
+invoke($0, `reset`, []);
+
+// ./test/core/float_memory.wast:18
+assert_return(() => invoke($0, `i32.load`, []), [value("i32", 0)]);
+
+// ./test/core/float_memory.wast:19
+assert_return(() => invoke($0, `f32.load`, []), [value("f32", 0)]);
+
+// ./test/core/float_memory.wast:20
+invoke($0, `f32.store`, []);
+
+// ./test/core/float_memory.wast:21
+assert_return(() => invoke($0, `i32.load`, []), [value("i32", 2141192192)]);
+
+// ./test/core/float_memory.wast:22
+assert_return(() => invoke($0, `f32.load`, []), [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]);
+
+// ./test/core/float_memory.wast:23
+invoke($0, `reset`, []);
+
+// ./test/core/float_memory.wast:24
+assert_return(() => invoke($0, `i32.load`, []), [value("i32", 0)]);
+
+// ./test/core/float_memory.wast:25
+assert_return(() => invoke($0, `f32.load`, []), [value("f32", 0)]);
+
+// ./test/core/float_memory.wast:26
+invoke($0, `i32.store`, []);
+
+// ./test/core/float_memory.wast:27
+assert_return(() => invoke($0, `i32.load`, []), [value("i32", 2141192192)]);
+
+// ./test/core/float_memory.wast:28
+assert_return(() => invoke($0, `f32.load`, []), [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]);
+
+// ./test/core/float_memory.wast:30
+let $1 = instantiate(`(module
+ (memory (data "\\00\\00\\00\\00\\00\\00\\f4\\7f"))
+
+ (func (export "f64.load") (result f64) (f64.load (i32.const 0)))
+ (func (export "i64.load") (result i64) (i64.load (i32.const 0)))
+ (func (export "f64.store") (f64.store (i32.const 0) (f64.const nan:0x4000000000000)))
+ (func (export "i64.store") (i64.store (i32.const 0) (i64.const 0x7ff4000000000000)))
+ (func (export "reset") (i64.store (i32.const 0) (i64.const 0)))
+)`);
+
+// ./test/core/float_memory.wast:40
+assert_return(() => invoke($1, `i64.load`, []), [value("i64", 9219994337134247936n)]);
+
+// ./test/core/float_memory.wast:41
+assert_return(
+ () => invoke($1, `f64.load`, []),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f])],
+);
+
+// ./test/core/float_memory.wast:42
+invoke($1, `reset`, []);
+
+// ./test/core/float_memory.wast:43
+assert_return(() => invoke($1, `i64.load`, []), [value("i64", 0n)]);
+
+// ./test/core/float_memory.wast:44
+assert_return(() => invoke($1, `f64.load`, []), [value("f64", 0)]);
+
+// ./test/core/float_memory.wast:45
+invoke($1, `f64.store`, []);
+
+// ./test/core/float_memory.wast:46
+assert_return(() => invoke($1, `i64.load`, []), [value("i64", 9219994337134247936n)]);
+
+// ./test/core/float_memory.wast:47
+assert_return(
+ () => invoke($1, `f64.load`, []),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f])],
+);
+
+// ./test/core/float_memory.wast:48
+invoke($1, `reset`, []);
+
+// ./test/core/float_memory.wast:49
+assert_return(() => invoke($1, `i64.load`, []), [value("i64", 0n)]);
+
+// ./test/core/float_memory.wast:50
+assert_return(() => invoke($1, `f64.load`, []), [value("f64", 0)]);
+
+// ./test/core/float_memory.wast:51
+invoke($1, `i64.store`, []);
+
+// ./test/core/float_memory.wast:52
+assert_return(() => invoke($1, `i64.load`, []), [value("i64", 9219994337134247936n)]);
+
+// ./test/core/float_memory.wast:53
+assert_return(
+ () => invoke($1, `f64.load`, []),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f])],
+);
+
+// ./test/core/float_memory.wast:57
+let $2 = instantiate(`(module
+ (memory (data "\\00\\00\\00\\a0\\7f"))
+
+ (func (export "f32.load") (result f32) (f32.load (i32.const 1)))
+ (func (export "i32.load") (result i32) (i32.load (i32.const 1)))
+ (func (export "f32.store") (f32.store (i32.const 1) (f32.const nan:0x200000)))
+ (func (export "i32.store") (i32.store (i32.const 1) (i32.const 0x7fa00000)))
+ (func (export "reset") (i32.store (i32.const 1) (i32.const 0)))
+)`);
+
+// ./test/core/float_memory.wast:67
+assert_return(() => invoke($2, `i32.load`, []), [value("i32", 2141192192)]);
+
+// ./test/core/float_memory.wast:68
+assert_return(() => invoke($2, `f32.load`, []), [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]);
+
+// ./test/core/float_memory.wast:69
+invoke($2, `reset`, []);
+
+// ./test/core/float_memory.wast:70
+assert_return(() => invoke($2, `i32.load`, []), [value("i32", 0)]);
+
+// ./test/core/float_memory.wast:71
+assert_return(() => invoke($2, `f32.load`, []), [value("f32", 0)]);
+
+// ./test/core/float_memory.wast:72
+invoke($2, `f32.store`, []);
+
+// ./test/core/float_memory.wast:73
+assert_return(() => invoke($2, `i32.load`, []), [value("i32", 2141192192)]);
+
+// ./test/core/float_memory.wast:74
+assert_return(() => invoke($2, `f32.load`, []), [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]);
+
+// ./test/core/float_memory.wast:75
+invoke($2, `reset`, []);
+
+// ./test/core/float_memory.wast:76
+assert_return(() => invoke($2, `i32.load`, []), [value("i32", 0)]);
+
+// ./test/core/float_memory.wast:77
+assert_return(() => invoke($2, `f32.load`, []), [value("f32", 0)]);
+
+// ./test/core/float_memory.wast:78
+invoke($2, `i32.store`, []);
+
+// ./test/core/float_memory.wast:79
+assert_return(() => invoke($2, `i32.load`, []), [value("i32", 2141192192)]);
+
+// ./test/core/float_memory.wast:80
+assert_return(() => invoke($2, `f32.load`, []), [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]);
+
+// ./test/core/float_memory.wast:82
+let $3 = instantiate(`(module
+ (memory (data "\\00\\00\\00\\00\\00\\00\\00\\f4\\7f"))
+
+ (func (export "f64.load") (result f64) (f64.load (i32.const 1)))
+ (func (export "i64.load") (result i64) (i64.load (i32.const 1)))
+ (func (export "f64.store") (f64.store (i32.const 1) (f64.const nan:0x4000000000000)))
+ (func (export "i64.store") (i64.store (i32.const 1) (i64.const 0x7ff4000000000000)))
+ (func (export "reset") (i64.store (i32.const 1) (i64.const 0)))
+)`);
+
+// ./test/core/float_memory.wast:92
+assert_return(() => invoke($3, `i64.load`, []), [value("i64", 9219994337134247936n)]);
+
+// ./test/core/float_memory.wast:93
+assert_return(
+ () => invoke($3, `f64.load`, []),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f])],
+);
+
+// ./test/core/float_memory.wast:94
+invoke($3, `reset`, []);
+
+// ./test/core/float_memory.wast:95
+assert_return(() => invoke($3, `i64.load`, []), [value("i64", 0n)]);
+
+// ./test/core/float_memory.wast:96
+assert_return(() => invoke($3, `f64.load`, []), [value("f64", 0)]);
+
+// ./test/core/float_memory.wast:97
+invoke($3, `f64.store`, []);
+
+// ./test/core/float_memory.wast:98
+assert_return(() => invoke($3, `i64.load`, []), [value("i64", 9219994337134247936n)]);
+
+// ./test/core/float_memory.wast:99
+assert_return(
+ () => invoke($3, `f64.load`, []),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f])],
+);
+
+// ./test/core/float_memory.wast:100
+invoke($3, `reset`, []);
+
+// ./test/core/float_memory.wast:101
+assert_return(() => invoke($3, `i64.load`, []), [value("i64", 0n)]);
+
+// ./test/core/float_memory.wast:102
+assert_return(() => invoke($3, `f64.load`, []), [value("f64", 0)]);
+
+// ./test/core/float_memory.wast:103
+invoke($3, `i64.store`, []);
+
+// ./test/core/float_memory.wast:104
+assert_return(() => invoke($3, `i64.load`, []), [value("i64", 9219994337134247936n)]);
+
+// ./test/core/float_memory.wast:105
+assert_return(
+ () => invoke($3, `f64.load`, []),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f])],
+);
+
+// ./test/core/float_memory.wast:109
+let $4 = instantiate(`(module
+ (memory (data "\\01\\00\\d0\\7f"))
+
+ (func (export "f32.load") (result f32) (f32.load (i32.const 0)))
+ (func (export "i32.load") (result i32) (i32.load (i32.const 0)))
+ (func (export "f32.store") (f32.store (i32.const 0) (f32.const nan:0x500001)))
+ (func (export "i32.store") (i32.store (i32.const 0) (i32.const 0x7fd00001)))
+ (func (export "reset") (i32.store (i32.const 0) (i32.const 0)))
+)`);
+
+// ./test/core/float_memory.wast:119
+assert_return(() => invoke($4, `i32.load`, []), [value("i32", 2144337921)]);
+
+// ./test/core/float_memory.wast:120
+assert_return(() => invoke($4, `f32.load`, []), [bytes("f32", [0x1, 0x0, 0xd0, 0x7f])]);
+
+// ./test/core/float_memory.wast:121
+invoke($4, `reset`, []);
+
+// ./test/core/float_memory.wast:122
+assert_return(() => invoke($4, `i32.load`, []), [value("i32", 0)]);
+
+// ./test/core/float_memory.wast:123
+assert_return(() => invoke($4, `f32.load`, []), [value("f32", 0)]);
+
+// ./test/core/float_memory.wast:124
+invoke($4, `f32.store`, []);
+
+// ./test/core/float_memory.wast:125
+assert_return(() => invoke($4, `i32.load`, []), [value("i32", 2144337921)]);
+
+// ./test/core/float_memory.wast:126
+assert_return(() => invoke($4, `f32.load`, []), [bytes("f32", [0x1, 0x0, 0xd0, 0x7f])]);
+
+// ./test/core/float_memory.wast:127
+invoke($4, `reset`, []);
+
+// ./test/core/float_memory.wast:128
+assert_return(() => invoke($4, `i32.load`, []), [value("i32", 0)]);
+
+// ./test/core/float_memory.wast:129
+assert_return(() => invoke($4, `f32.load`, []), [value("f32", 0)]);
+
+// ./test/core/float_memory.wast:130
+invoke($4, `i32.store`, []);
+
+// ./test/core/float_memory.wast:131
+assert_return(() => invoke($4, `i32.load`, []), [value("i32", 2144337921)]);
+
+// ./test/core/float_memory.wast:132
+assert_return(() => invoke($4, `f32.load`, []), [bytes("f32", [0x1, 0x0, 0xd0, 0x7f])]);
+
+// ./test/core/float_memory.wast:134
+let $5 = instantiate(`(module
+ (memory (data "\\01\\00\\00\\00\\00\\00\\fc\\7f"))
+
+ (func (export "f64.load") (result f64) (f64.load (i32.const 0)))
+ (func (export "i64.load") (result i64) (i64.load (i32.const 0)))
+ (func (export "f64.store") (f64.store (i32.const 0) (f64.const nan:0xc000000000001)))
+ (func (export "i64.store") (i64.store (i32.const 0) (i64.const 0x7ffc000000000001)))
+ (func (export "reset") (i64.store (i32.const 0) (i64.const 0)))
+)`);
+
+// ./test/core/float_memory.wast:144
+assert_return(() => invoke($5, `i64.load`, []), [value("i64", 9222246136947933185n)]);
+
+// ./test/core/float_memory.wast:145
+assert_return(
+ () => invoke($5, `f64.load`, []),
+ [bytes("f64", [0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfc, 0x7f])],
+);
+
+// ./test/core/float_memory.wast:146
+invoke($5, `reset`, []);
+
+// ./test/core/float_memory.wast:147
+assert_return(() => invoke($5, `i64.load`, []), [value("i64", 0n)]);
+
+// ./test/core/float_memory.wast:148
+assert_return(() => invoke($5, `f64.load`, []), [value("f64", 0)]);
+
+// ./test/core/float_memory.wast:149
+invoke($5, `f64.store`, []);
+
+// ./test/core/float_memory.wast:150
+assert_return(() => invoke($5, `i64.load`, []), [value("i64", 9222246136947933185n)]);
+
+// ./test/core/float_memory.wast:151
+assert_return(
+ () => invoke($5, `f64.load`, []),
+ [bytes("f64", [0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfc, 0x7f])],
+);
+
+// ./test/core/float_memory.wast:152
+invoke($5, `reset`, []);
+
+// ./test/core/float_memory.wast:153
+assert_return(() => invoke($5, `i64.load`, []), [value("i64", 0n)]);
+
+// ./test/core/float_memory.wast:154
+assert_return(() => invoke($5, `f64.load`, []), [value("f64", 0)]);
+
+// ./test/core/float_memory.wast:155
+invoke($5, `i64.store`, []);
+
+// ./test/core/float_memory.wast:156
+assert_return(() => invoke($5, `i64.load`, []), [value("i64", 9222246136947933185n)]);
+
+// ./test/core/float_memory.wast:157
+assert_return(
+ () => invoke($5, `f64.load`, []),
+ [bytes("f64", [0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfc, 0x7f])],
+);
diff --git a/js/src/jit-test/tests/wasm/spec/multi-memory/float_memory0.wast.js b/js/src/jit-test/tests/wasm/spec/multi-memory/float_memory0.wast.js
new file mode 100644
index 0000000000..3647fc1164
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/multi-memory/float_memory0.wast.js
@@ -0,0 +1,137 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/multi-memory/float_memory0.wast
+
+// ./test/core/multi-memory/float_memory0.wast:5
+let $0 = instantiate(`(module
+ (memory 0 0)
+ (memory 0 0)
+ (memory 0 0)
+ (memory $$m (data "\\00\\00\\a0\\7f"))
+ (memory 0 0)
+ (memory 0 0)
+
+ (func (export "f32.load") (result f32) (f32.load $$m (i32.const 0)))
+ (func (export "i32.load") (result i32) (i32.load $$m (i32.const 0)))
+ (func (export "f32.store") (f32.store $$m (i32.const 0) (f32.const nan:0x200000)))
+ (func (export "i32.store") (i32.store $$m (i32.const 0) (i32.const 0x7fa00000)))
+ (func (export "reset") (i32.store $$m (i32.const 0) (i32.const 0)))
+)`);
+
+// ./test/core/multi-memory/float_memory0.wast:20
+assert_return(() => invoke($0, `i32.load`, []), [value("i32", 2141192192)]);
+
+// ./test/core/multi-memory/float_memory0.wast:21
+assert_return(() => invoke($0, `f32.load`, []), [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]);
+
+// ./test/core/multi-memory/float_memory0.wast:22
+invoke($0, `reset`, []);
+
+// ./test/core/multi-memory/float_memory0.wast:23
+assert_return(() => invoke($0, `i32.load`, []), [value("i32", 0)]);
+
+// ./test/core/multi-memory/float_memory0.wast:24
+assert_return(() => invoke($0, `f32.load`, []), [value("f32", 0)]);
+
+// ./test/core/multi-memory/float_memory0.wast:25
+invoke($0, `f32.store`, []);
+
+// ./test/core/multi-memory/float_memory0.wast:26
+assert_return(() => invoke($0, `i32.load`, []), [value("i32", 2141192192)]);
+
+// ./test/core/multi-memory/float_memory0.wast:27
+assert_return(() => invoke($0, `f32.load`, []), [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]);
+
+// ./test/core/multi-memory/float_memory0.wast:28
+invoke($0, `reset`, []);
+
+// ./test/core/multi-memory/float_memory0.wast:29
+assert_return(() => invoke($0, `i32.load`, []), [value("i32", 0)]);
+
+// ./test/core/multi-memory/float_memory0.wast:30
+assert_return(() => invoke($0, `f32.load`, []), [value("f32", 0)]);
+
+// ./test/core/multi-memory/float_memory0.wast:31
+invoke($0, `i32.store`, []);
+
+// ./test/core/multi-memory/float_memory0.wast:32
+assert_return(() => invoke($0, `i32.load`, []), [value("i32", 2141192192)]);
+
+// ./test/core/multi-memory/float_memory0.wast:33
+assert_return(() => invoke($0, `f32.load`, []), [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]);
+
+// ./test/core/multi-memory/float_memory0.wast:35
+let $1 = instantiate(`(module
+ (memory 0 0)
+ (memory $$m (data "\\00\\00\\00\\00\\00\\00\\f4\\7f"))
+
+ (func (export "f64.load") (result f64) (f64.load $$m (i32.const 0)))
+ (func (export "i64.load") (result i64) (i64.load $$m (i32.const 0)))
+ (func (export "f64.store") (f64.store $$m (i32.const 0) (f64.const nan:0x4000000000000)))
+ (func (export "i64.store") (i64.store $$m (i32.const 0) (i64.const 0x7ff4000000000000)))
+ (func (export "reset") (i64.store $$m (i32.const 0) (i64.const 0)))
+)`);
+
+// ./test/core/multi-memory/float_memory0.wast:46
+assert_return(() => invoke($1, `i64.load`, []), [value("i64", 9219994337134247936n)]);
+
+// ./test/core/multi-memory/float_memory0.wast:47
+assert_return(
+ () => invoke($1, `f64.load`, []),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f])],
+);
+
+// ./test/core/multi-memory/float_memory0.wast:48
+invoke($1, `reset`, []);
+
+// ./test/core/multi-memory/float_memory0.wast:49
+assert_return(() => invoke($1, `i64.load`, []), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/float_memory0.wast:50
+assert_return(() => invoke($1, `f64.load`, []), [value("f64", 0)]);
+
+// ./test/core/multi-memory/float_memory0.wast:51
+invoke($1, `f64.store`, []);
+
+// ./test/core/multi-memory/float_memory0.wast:52
+assert_return(() => invoke($1, `i64.load`, []), [value("i64", 9219994337134247936n)]);
+
+// ./test/core/multi-memory/float_memory0.wast:53
+assert_return(
+ () => invoke($1, `f64.load`, []),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f])],
+);
+
+// ./test/core/multi-memory/float_memory0.wast:54
+invoke($1, `reset`, []);
+
+// ./test/core/multi-memory/float_memory0.wast:55
+assert_return(() => invoke($1, `i64.load`, []), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/float_memory0.wast:56
+assert_return(() => invoke($1, `f64.load`, []), [value("f64", 0)]);
+
+// ./test/core/multi-memory/float_memory0.wast:57
+invoke($1, `i64.store`, []);
+
+// ./test/core/multi-memory/float_memory0.wast:58
+assert_return(() => invoke($1, `i64.load`, []), [value("i64", 9219994337134247936n)]);
+
+// ./test/core/multi-memory/float_memory0.wast:59
+assert_return(
+ () => invoke($1, `f64.load`, []),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f])],
+);
diff --git a/js/src/jit-test/tests/wasm/spec/multi-memory/harness/directives.txt b/js/src/jit-test/tests/wasm/spec/multi-memory/harness/directives.txt
new file mode 100644
index 0000000000..d41243abbb
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/multi-memory/harness/directives.txt
@@ -0,0 +1 @@
+|jit-test| skip-if: true \ No newline at end of file
diff --git a/js/src/jit-test/tests/wasm/spec/multi-memory/harness/harness.js b/js/src/jit-test/tests/wasm/spec/multi-memory/harness/harness.js
new file mode 100644
index 0000000000..a96781e8ed
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/multi-memory/harness/harness.js
@@ -0,0 +1,448 @@
+"use strict";
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+if (!wasmIsSupported()) {
+ quit();
+}
+
+function bytes(type, bytes) {
+ var typedBuffer = new Uint8Array(bytes);
+ return wasmGlobalFromArrayBuffer(type, typedBuffer.buffer);
+}
+function value(type, value) {
+ return new WebAssembly.Global({
+ value: type,
+ mutable: false,
+ }, value);
+}
+
+function i8x16(elements) {
+ let typedBuffer = new Uint8Array(elements);
+ return wasmGlobalFromArrayBuffer("v128", typedBuffer.buffer);
+}
+function i16x8(elements) {
+ let typedBuffer = new Uint16Array(elements);
+ return wasmGlobalFromArrayBuffer("v128", typedBuffer.buffer);
+}
+function i32x4(elements) {
+ let typedBuffer = new Uint32Array(elements);
+ return wasmGlobalFromArrayBuffer("v128", typedBuffer.buffer);
+}
+function i64x2(elements) {
+ let typedBuffer = new BigUint64Array(elements);
+ return wasmGlobalFromArrayBuffer("v128", typedBuffer.buffer);
+}
+function f32x4(elements) {
+ let typedBuffer = new Float32Array(elements);
+ return wasmGlobalFromArrayBuffer("v128", typedBuffer.buffer);
+}
+function f64x2(elements) {
+ let typedBuffer = new Float64Array(elements);
+ return wasmGlobalFromArrayBuffer("v128", typedBuffer.buffer);
+}
+
+function either(...arr) {
+ return new EitherVariants(arr);
+}
+
+class F32x4Pattern {
+ constructor(x, y, z, w) {
+ this.x = x;
+ this.y = y;
+ this.z = z;
+ this.w = w;
+ }
+}
+
+class F64x2Pattern {
+ constructor(x, y) {
+ this.x = x;
+ this.y = y;
+ }
+}
+
+class RefWithType {
+ constructor(type) {
+ this.type = type;
+ }
+
+ formatExpected() {
+ return `RefWithType(${this.type})`;
+ }
+
+ test(refGlobal) {
+ try {
+ new WebAssembly.Global({value: this.type}, refGlobal.value);
+ return true;
+ } catch (err) {
+ assertEq(err instanceof TypeError, true, `wrong type of error when creating global: ${err}`);
+ assertEq(!!err.message.match(/can only pass/), true, `wrong type of error when creating global: ${err}`);
+ return false;
+ }
+ }
+}
+
+// ref.extern values created by spec tests will be JS objects of the form
+// { [externsym]: <number> }. Other externref values are possible to observe
+// if extern.convert_any is used.
+let externsym = Symbol("externref");
+function externref(s) {
+ return { [externsym]: s };
+}
+function is_externref(x) {
+ return (x !== null && externsym in x) ? 1 : 0;
+}
+function is_funcref(x) {
+ return typeof x === "function" ? 1 : 0;
+}
+function eq_externref(x, y) {
+ return x === y ? 1 : 0;
+}
+function eq_funcref(x, y) {
+ return x === y ? 1 : 0;
+}
+
+class ExternRefResult {
+ constructor(n) {
+ this.n = n;
+ }
+
+ formatExpected() {
+ return `ref.extern ${this.n}`;
+ }
+
+ test(global) {
+ // the global's value can either be an externref or just a plain old JS number
+ let result = global.value;
+ if (typeof global.value === "object" && externsym in global.value) {
+ result = global.value[externsym];
+ }
+ return result === this.n;
+ }
+}
+
+// ref.host values created by spectests will be whatever the JS API does to
+// convert the given value to anyref. It should implicitly be like any.convert_extern.
+function hostref(v) {
+ if (!wasmGcEnabled()) {
+ throw new Error("ref.host only works when wasm GC is enabled");
+ }
+
+ const { internalizeNum } = new WebAssembly.Instance(
+ new WebAssembly.Module(wasmTextToBinary(`(module
+ (func (import "test" "coerce") (param i32) (result anyref))
+ (func (export "internalizeNum") (param i32) (result anyref)
+ (call 0 (local.get 0))
+ )
+ )`)),
+ { "test": { "coerce": x => x } },
+ ).exports;
+ return internalizeNum(v);
+}
+
+class HostRefResult {
+ constructor(n) {
+ this.n = n;
+ }
+
+ formatExpected() {
+ return `ref.host ${this.n}`;
+ }
+
+ test(externrefGlobal) {
+ assertEq(externsym in externrefGlobal.value, true, `HostRefResult only works with externref inputs`);
+ return externrefGlobal.value[externsym] === this.n;
+ }
+}
+
+let spectest = {
+ externref: externref,
+ is_externref: is_externref,
+ is_funcref: is_funcref,
+ eq_externref: eq_externref,
+ eq_funcref: eq_funcref,
+ print: console.log.bind(console),
+ print_i32: console.log.bind(console),
+ print_i32_f32: console.log.bind(console),
+ print_f64_f64: console.log.bind(console),
+ print_f32: console.log.bind(console),
+ print_f64: console.log.bind(console),
+ global_i32: 666,
+ global_i64: 666n,
+ global_f32: 666,
+ global_f64: 666,
+ table: new WebAssembly.Table({
+ initial: 10,
+ maximum: 20,
+ element: "anyfunc",
+ }),
+ memory: new WebAssembly.Memory({ initial: 1, maximum: 2 }),
+};
+
+let linkage = {
+ spectest,
+};
+
+function getInstance(instanceish) {
+ if (typeof instanceish === "string") {
+ assertEq(
+ instanceish in linkage,
+ true,
+ `'${instanceish}'' must be registered`,
+ );
+ return linkage[instanceish];
+ }
+ return instanceish;
+}
+
+function instantiate(source) {
+ let bytecode = wasmTextToBinary(source);
+ let module = new WebAssembly.Module(bytecode);
+ let instance = new WebAssembly.Instance(module, linkage);
+ return instance.exports;
+}
+
+function register(instanceish, name) {
+ linkage[name] = getInstance(instanceish);
+}
+
+function invoke(instanceish, field, params) {
+ let func = getInstance(instanceish)[field];
+ assertEq(func instanceof Function, true, "expected a function");
+ return wasmLosslessInvoke(func, ...params);
+}
+
+function get(instanceish, field) {
+ let global = getInstance(instanceish)[field];
+ assertEq(
+ global instanceof WebAssembly.Global,
+ true,
+ "expected a WebAssembly.Global",
+ );
+ return global;
+}
+
+function assert_trap(thunk, message) {
+ try {
+ thunk();
+ throw new Error("expected trap");
+ } catch (err) {
+ if (err instanceof WebAssembly.RuntimeError) {
+ return;
+ }
+ throw err;
+ }
+}
+
+let StackOverflow;
+try {
+ (function f() {
+ 1 + f();
+ })();
+} catch (e) {
+ StackOverflow = e.constructor;
+}
+function assert_exhaustion(thunk, message) {
+ try {
+ thunk();
+ assertEq("normal return", "exhaustion");
+ } catch (err) {
+ assertEq(
+ err instanceof StackOverflow,
+ true,
+ "expected exhaustion",
+ );
+ }
+}
+
+function assert_invalid(thunk, message) {
+ try {
+ thunk();
+ assertEq("valid module", "invalid module");
+ } catch (err) {
+ assertEq(
+ err instanceof WebAssembly.LinkError ||
+ err instanceof WebAssembly.CompileError,
+ true,
+ "expected an invalid module",
+ );
+ }
+}
+
+function assert_unlinkable(thunk, message) {
+ try {
+ thunk();
+ assertEq(true, false, "expected an unlinkable module");
+ } catch (err) {
+ assertEq(
+ err instanceof WebAssembly.LinkError ||
+ err instanceof WebAssembly.CompileError,
+ true,
+ "expected an unlinkable module",
+ );
+ }
+}
+
+function assert_malformed(thunk, message) {
+ try {
+ thunk();
+ assertEq("valid module", "malformed module");
+ } catch (err) {
+ assertEq(
+ err instanceof TypeError ||
+ err instanceof SyntaxError ||
+ err instanceof WebAssembly.CompileError ||
+ err instanceof WebAssembly.LinkError,
+ true,
+ `expected a malformed module`,
+ );
+ }
+}
+
+function assert_exception(thunk) {
+ let thrown = false;
+ try {
+ thunk();
+ } catch (err) {
+ thrown = true;
+ }
+ assertEq(thrown, true, "expected an exception to be thrown");
+}
+
+function assert_return(thunk, expected) {
+ let results = thunk();
+
+ if (results === undefined) {
+ results = [];
+ } else if (!Array.isArray(results)) {
+ results = [results];
+ }
+ if (!Array.isArray(expected)) {
+ expected = [expected];
+ }
+
+ if (!compareResults(results, expected)) {
+ let got = results.map((x) => formatResult(x)).join(", ");
+ let wanted = expected.map((x) => formatExpected(x)).join(", ");
+ assertEq(
+ `[${got}]`,
+ `[${wanted}]`,
+ );
+ assertEq(true, false, `${got} !== ${wanted}`);
+ }
+}
+
+function formatResult(result) {
+ if (typeof (result) === "object") {
+ return wasmGlobalToString(result);
+ } else {
+ return `${result}`;
+ }
+}
+
+function formatExpected(expected) {
+ if (
+ expected === `f32_canonical_nan` ||
+ expected === `f32_arithmetic_nan` ||
+ expected === `f64_canonical_nan` ||
+ expected === `f64_arithmetic_nan`
+ ) {
+ return expected;
+ } else if (expected instanceof F32x4Pattern) {
+ return `f32x4(${formatExpected(expected.x)}, ${
+ formatExpected(expected.y)
+ }, ${formatExpected(expected.z)}, ${formatExpected(expected.w)})`;
+ } else if (expected instanceof F64x2Pattern) {
+ return `f64x2(${formatExpected(expected.x)}, ${
+ formatExpected(expected.y)
+ })`;
+ } else if (expected instanceof EitherVariants) {
+ return expected.formatExpected();
+ } else if (expected instanceof RefWithType) {
+ return expected.formatExpected();
+ } else if (expected instanceof ExternRefResult) {
+ return expected.formatExpected();
+ } else if (expected instanceof HostRefResult) {
+ return expected.formatExpected();
+ } else if (typeof (expected) === "object") {
+ return wasmGlobalToString(expected);
+ } else {
+ throw new Error("unknown expected result");
+ }
+}
+
+class EitherVariants {
+ constructor(arr) {
+ this.arr = arr;
+ }
+ matches(v) {
+ return this.arr.some((e) => compareResult(v, e));
+ }
+ formatExpected() {
+ return `either(${this.arr.map(formatExpected).join(", ")})`;
+ }
+}
+
+function compareResults(results, expected) {
+ if (results.length !== expected.length) {
+ return false;
+ }
+ for (let i in results) {
+ if (expected[i] instanceof EitherVariants) {
+ return expected[i].matches(results[i]);
+ }
+ if (!compareResult(results[i], expected[i])) {
+ return false;
+ }
+ }
+ return true;
+}
+
+function compareResult(result, expected) {
+ if (
+ expected === `canonical_nan` ||
+ expected === `arithmetic_nan`
+ ) {
+ return wasmGlobalIsNaN(result, expected);
+ } else if (expected === null) {
+ return result.value === null;
+ } else if (expected instanceof F32x4Pattern) {
+ return compareResult(
+ wasmGlobalExtractLane(result, "f32x4", 0),
+ expected.x,
+ ) &&
+ compareResult(wasmGlobalExtractLane(result, "f32x4", 1), expected.y) &&
+ compareResult(wasmGlobalExtractLane(result, "f32x4", 2), expected.z) &&
+ compareResult(wasmGlobalExtractLane(result, "f32x4", 3), expected.w);
+ } else if (expected instanceof F64x2Pattern) {
+ return compareResult(
+ wasmGlobalExtractLane(result, "f64x2", 0),
+ expected.x,
+ ) &&
+ compareResult(wasmGlobalExtractLane(result, "f64x2", 1), expected.y);
+ } else if (expected instanceof RefWithType) {
+ return expected.test(result);
+ } else if (expected instanceof ExternRefResult) {
+ return expected.test(result);
+ } else if (expected instanceof HostRefResult) {
+ return expected.test(result);
+ } else if (typeof (expected) === "object") {
+ return wasmGlobalsEqual(result, expected);
+ } else {
+ throw new Error("unknown expected result");
+ }
+}
diff --git a/js/src/jit-test/tests/wasm/spec/multi-memory/imports0.wast.js b/js/src/jit-test/tests/wasm/spec/multi-memory/imports0.wast.js
new file mode 100644
index 0000000000..140457d1d9
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/multi-memory/imports0.wast.js
@@ -0,0 +1,73 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/multi-memory/imports0.wast
+
+// ./test/core/multi-memory/imports0.wast:1
+let $0 = instantiate(`(module
+ (func (export "func"))
+ (func (export "func-i32") (param i32))
+ (func (export "func-f32") (param f32))
+ (func (export "func->i32") (result i32) (i32.const 22))
+ (func (export "func->f32") (result f32) (f32.const 11))
+ (func (export "func-i32->i32") (param i32) (result i32) (local.get 0))
+ (func (export "func-i64->i64") (param i64) (result i64) (local.get 0))
+ (global (export "global-i32") i32 (i32.const 55))
+ (global (export "global-f32") f32 (f32.const 44))
+ (global (export "global-mut-i64") (mut i64) (i64.const 66))
+ (table (export "table-10-inf") 10 funcref)
+ (table (export "table-10-20") 10 20 funcref)
+ (memory (export "memory-2-inf") 2)
+ (memory (export "memory-2-4") 2 4)
+)`);
+
+// ./test/core/multi-memory/imports0.wast:18
+register($0, `test`);
+
+// ./test/core/multi-memory/imports0.wast:20
+assert_unlinkable(
+ () => instantiate(`(module (import "test" "memory-2-inf" (func)))`),
+ `incompatible import type`,
+);
+
+// ./test/core/multi-memory/imports0.wast:24
+assert_unlinkable(
+ () => instantiate(`(module (import "test" "memory-2-4" (func)))`),
+ `incompatible import type`,
+);
+
+// ./test/core/multi-memory/imports0.wast:29
+assert_unlinkable(
+ () => instantiate(`(module (import "test" "memory-2-inf" (global i32)))`),
+ `incompatible import type`,
+);
+
+// ./test/core/multi-memory/imports0.wast:33
+assert_unlinkable(
+ () => instantiate(`(module (import "test" "memory-2-4" (global i32)))`),
+ `incompatible import type`,
+);
+
+// ./test/core/multi-memory/imports0.wast:38
+assert_unlinkable(
+ () => instantiate(`(module (import "test" "memory-2-inf" (table 10 funcref)))`),
+ `incompatible import type`,
+);
+
+// ./test/core/multi-memory/imports0.wast:42
+assert_unlinkable(
+ () => instantiate(`(module (import "test" "memory-2-4" (table 10 funcref)))`),
+ `incompatible import type`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/multi-memory/imports1.wast.js b/js/src/jit-test/tests/wasm/spec/multi-memory/imports1.wast.js
new file mode 100644
index 0000000000..db3cc392dd
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/multi-memory/imports1.wast.js
@@ -0,0 +1,40 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/multi-memory/imports1.wast
+
+// ./test/core/multi-memory/imports1.wast:1
+let $0 = instantiate(`(module
+ (import "spectest" "memory" (memory 1 2))
+ (import "spectest" "memory" (memory 1 2))
+ (memory $$m (import "spectest" "memory") 1 2)
+ (import "spectest" "memory" (memory 1 2))
+
+ (data (memory 2) (i32.const 10) "\\10")
+
+ (func (export "load") (param i32) (result i32) (i32.load $$m (local.get 0)))
+)`);
+
+// ./test/core/multi-memory/imports1.wast:12
+assert_return(() => invoke($0, `load`, [0]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/imports1.wast:13
+assert_return(() => invoke($0, `load`, [10]), [value("i32", 16)]);
+
+// ./test/core/multi-memory/imports1.wast:14
+assert_return(() => invoke($0, `load`, [8]), [value("i32", 1048576)]);
+
+// ./test/core/multi-memory/imports1.wast:15
+assert_trap(() => invoke($0, `load`, [1000000]), `out of bounds memory access`);
diff --git a/js/src/jit-test/tests/wasm/spec/multi-memory/imports2.wast.js b/js/src/jit-test/tests/wasm/spec/multi-memory/imports2.wast.js
new file mode 100644
index 0000000000..aa2bec179a
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/multi-memory/imports2.wast.js
@@ -0,0 +1,120 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/multi-memory/imports2.wast
+
+// ./test/core/multi-memory/imports2.wast:1
+let $0 = instantiate(`(module
+ (memory (export "z") 0 0)
+ (memory (export "memory-2-inf") 2)
+ (memory (export "memory-2-4") 2 4)
+)`);
+
+// ./test/core/multi-memory/imports2.wast:7
+register($0, `test`);
+
+// ./test/core/multi-memory/imports2.wast:9
+let $1 = instantiate(`(module
+ (import "test" "z" (memory 0))
+ (memory $$m (import "spectest" "memory") 1 2)
+ (data (memory 1) (i32.const 10) "\\10")
+
+ (func (export "load") (param i32) (result i32) (i32.load $$m (local.get 0)))
+)`);
+
+// ./test/core/multi-memory/imports2.wast:17
+assert_return(() => invoke($1, `load`, [0]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/imports2.wast:18
+assert_return(() => invoke($1, `load`, [10]), [value("i32", 16)]);
+
+// ./test/core/multi-memory/imports2.wast:19
+assert_return(() => invoke($1, `load`, [8]), [value("i32", 1048576)]);
+
+// ./test/core/multi-memory/imports2.wast:20
+assert_trap(() => invoke($1, `load`, [1000000]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/imports2.wast:22
+let $2 = instantiate(`(module
+ (memory (import "spectest" "memory") 1 2)
+ (data (memory 0) (i32.const 10) "\\10")
+
+ (func (export "load") (param i32) (result i32) (i32.load (local.get 0)))
+)`);
+
+// ./test/core/multi-memory/imports2.wast:28
+assert_return(() => invoke($2, `load`, [0]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/imports2.wast:29
+assert_return(() => invoke($2, `load`, [10]), [value("i32", 16)]);
+
+// ./test/core/multi-memory/imports2.wast:30
+assert_return(() => invoke($2, `load`, [8]), [value("i32", 1048576)]);
+
+// ./test/core/multi-memory/imports2.wast:31
+assert_trap(() => invoke($2, `load`, [1000000]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/imports2.wast:33
+let $3 = instantiate(`(module
+ (import "test" "memory-2-inf" (memory 2))
+ (import "test" "memory-2-inf" (memory 1))
+ (import "test" "memory-2-inf" (memory 0))
+)`);
+
+// ./test/core/multi-memory/imports2.wast:39
+let $4 = instantiate(`(module
+ (import "spectest" "memory" (memory 1))
+ (import "spectest" "memory" (memory 0))
+ (import "spectest" "memory" (memory 1 2))
+ (import "spectest" "memory" (memory 0 2))
+ (import "spectest" "memory" (memory 1 3))
+ (import "spectest" "memory" (memory 0 3))
+)`);
+
+// ./test/core/multi-memory/imports2.wast:48
+assert_unlinkable(
+ () => instantiate(`(module (import "test" "unknown" (memory 1)))`),
+ `unknown import`,
+);
+
+// ./test/core/multi-memory/imports2.wast:52
+assert_unlinkable(
+ () => instantiate(`(module (import "spectest" "unknown" (memory 1)))`),
+ `unknown import`,
+);
+
+// ./test/core/multi-memory/imports2.wast:57
+assert_unlinkable(
+ () => instantiate(`(module (import "test" "memory-2-inf" (memory 3)))`),
+ `incompatible import type`,
+);
+
+// ./test/core/multi-memory/imports2.wast:61
+assert_unlinkable(
+ () => instantiate(`(module (import "test" "memory-2-inf" (memory 2 3)))`),
+ `incompatible import type`,
+);
+
+// ./test/core/multi-memory/imports2.wast:65
+assert_unlinkable(
+ () => instantiate(`(module (import "spectest" "memory" (memory 2)))`),
+ `incompatible import type`,
+);
+
+// ./test/core/multi-memory/imports2.wast:69
+assert_unlinkable(
+ () => instantiate(`(module (import "spectest" "memory" (memory 1 1)))`),
+ `incompatible import type`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/multi-memory/imports3.wast.js b/js/src/jit-test/tests/wasm/spec/multi-memory/imports3.wast.js
new file mode 100644
index 0000000000..9669f1dea0
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/multi-memory/imports3.wast.js
@@ -0,0 +1,109 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/multi-memory/imports3.wast
+
+// ./test/core/multi-memory/imports3.wast:1
+let $0 = instantiate(`(module
+ (func (export "func"))
+ (func (export "func-i32") (param i32))
+ (func (export "func-f32") (param f32))
+ (func (export "func->i32") (result i32) (i32.const 22))
+ (func (export "func->f32") (result f32) (f32.const 11))
+ (func (export "func-i32->i32") (param i32) (result i32) (local.get 0))
+ (func (export "func-i64->i64") (param i64) (result i64) (local.get 0))
+ (global (export "global-i32") i32 (i32.const 55))
+ (global (export "global-f32") f32 (f32.const 44))
+ (global (export "global-mut-i64") (mut i64) (i64.const 66))
+ (table (export "table-10-inf") 10 funcref)
+ (table (export "table-10-20") 10 20 funcref)
+ (memory (export "memory-2-inf") 2)
+ (memory (export "memory-2-4") 2 4)
+)`);
+
+// ./test/core/multi-memory/imports3.wast:18
+register($0, `test`);
+
+// ./test/core/multi-memory/imports3.wast:19
+assert_unlinkable(
+ () => instantiate(`(module
+ (import "test" "memory-2-4" (memory 1))
+ (import "test" "func-i32" (memory 1))
+ )`),
+ `incompatible import type`,
+);
+
+// ./test/core/multi-memory/imports3.wast:26
+assert_unlinkable(
+ () => instantiate(`(module
+ (import "test" "memory-2-4" (memory 1))
+ (import "test" "global-i32" (memory 1))
+ )`),
+ `incompatible import type`,
+);
+
+// ./test/core/multi-memory/imports3.wast:33
+assert_unlinkable(
+ () => instantiate(`(module
+ (import "test" "memory-2-4" (memory 1))
+ (import "test" "table-10-inf" (memory 1))
+ )`),
+ `incompatible import type`,
+);
+
+// ./test/core/multi-memory/imports3.wast:40
+assert_unlinkable(
+ () => instantiate(`(module
+ (import "test" "memory-2-4" (memory 1))
+ (import "spectest" "print_i32" (memory 1))
+ )`),
+ `incompatible import type`,
+);
+
+// ./test/core/multi-memory/imports3.wast:47
+assert_unlinkable(
+ () => instantiate(`(module
+ (import "test" "memory-2-4" (memory 1))
+ (import "spectest" "global_i32" (memory 1))
+ )`),
+ `incompatible import type`,
+);
+
+// ./test/core/multi-memory/imports3.wast:54
+assert_unlinkable(
+ () => instantiate(`(module
+ (import "test" "memory-2-4" (memory 1))
+ (import "spectest" "table" (memory 1))
+ )`),
+ `incompatible import type`,
+);
+
+// ./test/core/multi-memory/imports3.wast:62
+assert_unlinkable(
+ () => instantiate(`(module
+ (import "test" "memory-2-4" (memory 1))
+ (import "spectest" "memory" (memory 2))
+ )`),
+ `incompatible import type`,
+);
+
+// ./test/core/multi-memory/imports3.wast:69
+assert_unlinkable(
+ () => instantiate(`(module
+ (import "test" "memory-2-4" (memory 1))
+ (import "spectest" "memory" (memory 1 1))
+ )`),
+ `incompatible import type`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/multi-memory/imports4.wast.js b/js/src/jit-test/tests/wasm/spec/multi-memory/imports4.wast.js
new file mode 100644
index 0000000000..86320fe685
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/multi-memory/imports4.wast.js
@@ -0,0 +1,93 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/multi-memory/imports4.wast
+
+// ./test/core/multi-memory/imports4.wast:1
+let $0 = instantiate(`(module
+ (memory (export "memory-2-inf") 2)
+ (memory (export "memory-2-4") 2 4)
+)`);
+
+// ./test/core/multi-memory/imports4.wast:6
+register($0, `test`);
+
+// ./test/core/multi-memory/imports4.wast:8
+let $1 = instantiate(`(module
+ (import "test" "memory-2-4" (memory 1))
+ (memory $$m (import "spectest" "memory") 0 3) ;; actual has max size 2
+ (func (export "grow") (param i32) (result i32) (memory.grow $$m (local.get 0)))
+)`);
+
+// ./test/core/multi-memory/imports4.wast:13
+assert_return(() => invoke($1, `grow`, [0]), [value("i32", 1)]);
+
+// ./test/core/multi-memory/imports4.wast:14
+assert_return(() => invoke($1, `grow`, [1]), [value("i32", 1)]);
+
+// ./test/core/multi-memory/imports4.wast:15
+assert_return(() => invoke($1, `grow`, [0]), [value("i32", 2)]);
+
+// ./test/core/multi-memory/imports4.wast:16
+assert_return(() => invoke($1, `grow`, [1]), [value("i32", -1)]);
+
+// ./test/core/multi-memory/imports4.wast:17
+assert_return(() => invoke($1, `grow`, [0]), [value("i32", 2)]);
+
+// ./test/core/multi-memory/imports4.wast:19
+let $2 = instantiate(`(module $$Mgm
+ (memory 0)
+ (memory 0)
+ (memory $$m (export "memory") 1) ;; initial size is 1
+ (func (export "grow") (result i32) (memory.grow $$m (i32.const 1)))
+)`);
+register($2, `Mgm`);
+
+// ./test/core/multi-memory/imports4.wast:25
+register(`Mgm`, `grown-memory`);
+
+// ./test/core/multi-memory/imports4.wast:26
+assert_return(() => invoke(`Mgm`, `grow`, []), [value("i32", 1)]);
+
+// ./test/core/multi-memory/imports4.wast:28
+let $3 = instantiate(`(module $$Mgim1
+ ;; imported memory limits should match, because external memory size is 2 now
+ (import "test" "memory-2-4" (memory 1))
+ (memory $$m (export "memory") (import "grown-memory" "memory") 2)
+ (memory 0)
+ (memory 0)
+ (func (export "grow") (result i32) (memory.grow $$m (i32.const 1)))
+)`);
+register($3, `Mgim1`);
+
+// ./test/core/multi-memory/imports4.wast:36
+register(`Mgim1`, `grown-imported-memory`);
+
+// ./test/core/multi-memory/imports4.wast:37
+assert_return(() => invoke(`Mgim1`, `grow`, []), [value("i32", 2)]);
+
+// ./test/core/multi-memory/imports4.wast:39
+let $4 = instantiate(`(module $$Mgim2
+ ;; imported memory limits should match, because external memory size is 3 now
+ (import "test" "memory-2-4" (memory 1))
+ (memory $$m (import "grown-imported-memory" "memory") 3)
+ (memory 0)
+ (memory 0)
+ (func (export "size") (result i32) (memory.size $$m))
+)`);
+register($4, `Mgim2`);
+
+// ./test/core/multi-memory/imports4.wast:47
+assert_return(() => invoke(`Mgim2`, `size`, []), [value("i32", 3)]);
diff --git a/js/src/jit-test/tests/wasm/spec/multi-memory/linking0.wast.js b/js/src/jit-test/tests/wasm/spec/multi-memory/linking0.wast.js
new file mode 100644
index 0000000000..64c4680a48
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/multi-memory/linking0.wast.js
@@ -0,0 +1,68 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/multi-memory/linking0.wast
+
+// ./test/core/multi-memory/linking0.wast:1
+let $0 = instantiate(`(module $$Mt
+ (type (func (result i32)))
+ (type (func))
+
+ (table (export "tab") 10 funcref)
+ (elem (i32.const 2) $$g $$g $$g $$g)
+ (func $$g (result i32) (i32.const 4))
+ (func (export "h") (result i32) (i32.const -4))
+
+ (func (export "call") (param i32) (result i32)
+ (call_indirect (type 0) (local.get 0))
+ )
+)`);
+register($0, `Mt`);
+
+// ./test/core/multi-memory/linking0.wast:14
+register(`Mt`, `Mt`);
+
+// ./test/core/multi-memory/linking0.wast:16
+assert_unlinkable(
+ () => instantiate(`(module
+ (table (import "Mt" "tab") 10 funcref)
+ (memory (import "spectest" "memory") 1)
+ (memory (import "Mt" "mem") 1) ;; does not exist
+ (func $$f (result i32) (i32.const 0))
+ (elem (i32.const 7) $$f)
+ (elem (i32.const 9) $$f)
+ )`),
+ `unknown import`,
+);
+
+// ./test/core/multi-memory/linking0.wast:27
+assert_trap(() => invoke(`Mt`, `call`, [7]), `uninitialized element`);
+
+// ./test/core/multi-memory/linking0.wast:30
+assert_trap(
+ () => instantiate(`(module
+ (table (import "Mt" "tab") 10 funcref)
+ (func $$f (result i32) (i32.const 0))
+ (elem (i32.const 7) $$f)
+ (memory 0)
+ (memory $$m 1)
+ (memory 0)
+ (data $$m (i32.const 0x10000) "d") ;; out of bounds
+ )`),
+ `out of bounds memory access`,
+);
+
+// ./test/core/multi-memory/linking0.wast:42
+assert_return(() => invoke(`Mt`, `call`, [7]), [value("i32", 0)]);
diff --git a/js/src/jit-test/tests/wasm/spec/multi-memory/linking1.wast.js b/js/src/jit-test/tests/wasm/spec/multi-memory/linking1.wast.js
new file mode 100644
index 0000000000..aacf570e77
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/multi-memory/linking1.wast.js
@@ -0,0 +1,104 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/multi-memory/linking1.wast
+
+// ./test/core/multi-memory/linking1.wast:1
+let $0 = instantiate(`(module $$Mm
+ (memory $$mem0 (export "mem0") 0 0)
+ (memory $$mem1 (export "mem1") 1 5)
+ (memory $$mem2 (export "mem2") 0 0)
+
+ (data (memory 1) (i32.const 10) "\\00\\01\\02\\03\\04\\05\\06\\07\\08\\09")
+
+ (func (export "load") (param $$a i32) (result i32)
+ (i32.load8_u $$mem1 (local.get 0))
+ )
+)`);
+register($0, `Mm`);
+
+// ./test/core/multi-memory/linking1.wast:12
+register(`Mm`, `Mm`);
+
+// ./test/core/multi-memory/linking1.wast:14
+let $1 = instantiate(`(module $$Nm
+ (func $$loadM (import "Mm" "load") (param i32) (result i32))
+ (memory (import "Mm" "mem0") 0)
+
+ (memory $$m 1)
+ (data (memory 1) (i32.const 10) "\\f0\\f1\\f2\\f3\\f4\\f5")
+
+ (export "Mm.load" (func $$loadM))
+ (func (export "load") (param $$a i32) (result i32)
+ (i32.load8_u $$m (local.get 0))
+ )
+)`);
+register($1, `Nm`);
+
+// ./test/core/multi-memory/linking1.wast:27
+assert_return(() => invoke(`Mm`, `load`, [12]), [value("i32", 2)]);
+
+// ./test/core/multi-memory/linking1.wast:28
+assert_return(() => invoke(`Nm`, `Mm.load`, [12]), [value("i32", 2)]);
+
+// ./test/core/multi-memory/linking1.wast:29
+assert_return(() => invoke(`Nm`, `load`, [12]), [value("i32", 242)]);
+
+// ./test/core/multi-memory/linking1.wast:31
+let $2 = instantiate(`(module $$Om
+ (memory (import "Mm" "mem1") 1)
+ (data (i32.const 5) "\\a0\\a1\\a2\\a3\\a4\\a5\\a6\\a7")
+
+ (func (export "load") (param $$a i32) (result i32)
+ (i32.load8_u (local.get 0))
+ )
+)`);
+register($2, `Om`);
+
+// ./test/core/multi-memory/linking1.wast:40
+assert_return(() => invoke(`Mm`, `load`, [12]), [value("i32", 167)]);
+
+// ./test/core/multi-memory/linking1.wast:41
+assert_return(() => invoke(`Nm`, `Mm.load`, [12]), [value("i32", 167)]);
+
+// ./test/core/multi-memory/linking1.wast:42
+assert_return(() => invoke(`Nm`, `load`, [12]), [value("i32", 242)]);
+
+// ./test/core/multi-memory/linking1.wast:43
+assert_return(() => invoke(`Om`, `load`, [12]), [value("i32", 167)]);
+
+// ./test/core/multi-memory/linking1.wast:45
+let $3 = instantiate(`(module
+ (memory (import "Mm" "mem1") 0)
+ (data (i32.const 0xffff) "a")
+)`);
+
+// ./test/core/multi-memory/linking1.wast:50
+assert_trap(
+ () => instantiate(`(module
+ (memory (import "Mm" "mem0") 0)
+ (data (i32.const 0xffff) "a")
+ )`),
+ `out of bounds memory access`,
+);
+
+// ./test/core/multi-memory/linking1.wast:58
+assert_trap(
+ () => instantiate(`(module
+ (memory (import "Mm" "mem1") 0)
+ (data (i32.const 0x10000) "a")
+ )`),
+ `out of bounds memory access`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/multi-memory/linking2.wast.js b/js/src/jit-test/tests/wasm/spec/multi-memory/linking2.wast.js
new file mode 100644
index 0000000000..8dacb51e9d
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/multi-memory/linking2.wast.js
@@ -0,0 +1,67 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/multi-memory/linking2.wast
+
+// ./test/core/multi-memory/linking2.wast:1
+let $0 = instantiate(`(module $$Mm
+ (memory $$mem0 (export "mem0") 0 0)
+ (memory $$mem1 (export "mem1") 1 5)
+ (memory $$mem2 (export "mem2") 0 0)
+
+ (data (memory 1) (i32.const 10) "\\00\\01\\02\\03\\04\\05\\06\\07\\08\\09")
+
+ (func (export "load") (param $$a i32) (result i32)
+ (i32.load8_u $$mem1 (local.get 0))
+ )
+)`);
+register($0, `Mm`);
+
+// ./test/core/multi-memory/linking2.wast:12
+register(`Mm`, `Mm`);
+
+// ./test/core/multi-memory/linking2.wast:14
+let $1 = instantiate(`(module $$Pm
+ (memory (import "Mm" "mem1") 1 8)
+
+ (func (export "grow") (param $$a i32) (result i32)
+ (memory.grow (local.get 0))
+ )
+)`);
+register($1, `Pm`);
+
+// ./test/core/multi-memory/linking2.wast:22
+assert_return(() => invoke(`Pm`, `grow`, [0]), [value("i32", 1)]);
+
+// ./test/core/multi-memory/linking2.wast:23
+assert_return(() => invoke(`Pm`, `grow`, [2]), [value("i32", 1)]);
+
+// ./test/core/multi-memory/linking2.wast:24
+assert_return(() => invoke(`Pm`, `grow`, [0]), [value("i32", 3)]);
+
+// ./test/core/multi-memory/linking2.wast:25
+assert_return(() => invoke(`Pm`, `grow`, [1]), [value("i32", 3)]);
+
+// ./test/core/multi-memory/linking2.wast:26
+assert_return(() => invoke(`Pm`, `grow`, [1]), [value("i32", 4)]);
+
+// ./test/core/multi-memory/linking2.wast:27
+assert_return(() => invoke(`Pm`, `grow`, [0]), [value("i32", 5)]);
+
+// ./test/core/multi-memory/linking2.wast:28
+assert_return(() => invoke(`Pm`, `grow`, [1]), [value("i32", -1)]);
+
+// ./test/core/multi-memory/linking2.wast:29
+assert_return(() => invoke(`Pm`, `grow`, [0]), [value("i32", 5)]);
diff --git a/js/src/jit-test/tests/wasm/spec/multi-memory/linking3.wast.js b/js/src/jit-test/tests/wasm/spec/multi-memory/linking3.wast.js
new file mode 100644
index 0000000000..0f6d60bacd
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/multi-memory/linking3.wast.js
@@ -0,0 +1,120 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/multi-memory/linking3.wast
+
+// ./test/core/multi-memory/linking3.wast:1
+let $0 = instantiate(`(module $$Mm
+ (memory $$mem0 (export "mem0") 0 0)
+ (memory $$mem1 (export "mem1") 5 5)
+ (memory $$mem2 (export "mem2") 0 0)
+
+ (data (memory 1) (i32.const 10) "\\00\\01\\02\\03\\04\\05\\06\\07\\08\\09")
+
+ (func (export "load") (param $$a i32) (result i32)
+ (i32.load8_u $$mem1 (local.get 0))
+ )
+)`);
+register($0, `Mm`);
+
+// ./test/core/multi-memory/linking3.wast:12
+register(`Mm`, `Mm`);
+
+// ./test/core/multi-memory/linking3.wast:14
+assert_unlinkable(
+ () => instantiate(`(module
+ (func $$host (import "spectest" "print"))
+ (memory (import "Mm" "mem1") 1)
+ (table (import "Mm" "tab") 0 funcref) ;; does not exist
+ (data (i32.const 0) "abc")
+ )`),
+ `unknown import`,
+);
+
+// ./test/core/multi-memory/linking3.wast:23
+assert_return(() => invoke(`Mm`, `load`, [0]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/linking3.wast:27
+assert_trap(
+ () => instantiate(`(module
+ ;; Note: the memory is 5 pages large by the time we get here.
+ (memory (import "Mm" "mem1") 1)
+ (data (i32.const 0) "abc")
+ (data (i32.const 327670) "zzzzzzzzzzzzzzzzzz") ;; (partially) out of bounds
+ )`),
+ `out of bounds memory access`,
+);
+
+// ./test/core/multi-memory/linking3.wast:36
+assert_return(() => invoke(`Mm`, `load`, [0]), [value("i32", 97)]);
+
+// ./test/core/multi-memory/linking3.wast:37
+assert_return(() => invoke(`Mm`, `load`, [327670]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/linking3.wast:39
+assert_trap(
+ () => instantiate(`(module
+ (memory (import "Mm" "mem1") 1)
+ (data (i32.const 0) "abc")
+ (table 0 funcref)
+ (func)
+ (elem (i32.const 0) 0) ;; out of bounds
+ )`),
+ `out of bounds table access`,
+);
+
+// ./test/core/multi-memory/linking3.wast:49
+assert_return(() => invoke(`Mm`, `load`, [0]), [value("i32", 97)]);
+
+// ./test/core/multi-memory/linking3.wast:52
+let $1 = instantiate(`(module $$Ms
+ (type $$t (func (result i32)))
+ (memory (export "memory") 1)
+ (table (export "table") 1 funcref)
+ (func (export "get memory[0]") (type $$t)
+ (i32.load8_u (i32.const 0))
+ )
+ (func (export "get table[0]") (type $$t)
+ (call_indirect (type $$t) (i32.const 0))
+ )
+)`);
+register($1, `Ms`);
+
+// ./test/core/multi-memory/linking3.wast:63
+register(`Ms`, `Ms`);
+
+// ./test/core/multi-memory/linking3.wast:65
+assert_trap(
+ () => instantiate(`(module
+ (import "Ms" "memory" (memory 1))
+ (import "Ms" "table" (table 1 funcref))
+ (data (i32.const 0) "hello")
+ (elem (i32.const 0) $$f)
+ (func $$f (result i32)
+ (i32.const 0xdead)
+ )
+ (func $$main
+ (unreachable)
+ )
+ (start $$main)
+ )`),
+ `unreachable`,
+);
+
+// ./test/core/multi-memory/linking3.wast:82
+assert_return(() => invoke(`Ms`, `get memory[0]`, []), [value("i32", 104)]);
+
+// ./test/core/multi-memory/linking3.wast:83
+assert_return(() => invoke(`Ms`, `get table[0]`, []), [value("i32", 57005)]);
diff --git a/js/src/jit-test/tests/wasm/spec/multi-memory/load.wast.js b/js/src/jit-test/tests/wasm/spec/multi-memory/load.wast.js
new file mode 100644
index 0000000000..79d90437b9
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/multi-memory/load.wast.js
@@ -0,0 +1,845 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/load.wast
+
+// ./test/core/load.wast:3
+let $0 = instantiate(`(module
+ (memory $$mem1 1)
+ (memory $$mem2 1)
+
+ (func (export "load1") (param i32) (result i64)
+ (i64.load $$mem1 (local.get 0))
+ )
+ (func (export "load2") (param i32) (result i64)
+ (i64.load $$mem2 (local.get 0))
+ )
+
+ (data (memory $$mem1) (i32.const 0) "\\01")
+ (data (memory $$mem2) (i32.const 0) "\\02")
+)`);
+
+// ./test/core/load.wast:18
+assert_return(() => invoke($0, `load1`, [0]), [value("i64", 1n)]);
+
+// ./test/core/load.wast:19
+assert_return(() => invoke($0, `load2`, [0]), [value("i64", 2n)]);
+
+// ./test/core/load.wast:22
+let $1 = instantiate(`(module $$M
+ (memory (export "mem") 2)
+
+ (func (export "read") (param i32) (result i32)
+ (i32.load8_u (local.get 0))
+ )
+)`);
+register($1, `M`);
+
+// ./test/core/load.wast:29
+register($1, `M`);
+
+// ./test/core/load.wast:31
+let $2 = instantiate(`(module
+ (memory $$mem1 (import "M" "mem") 2)
+ (memory $$mem2 3)
+
+ (data (memory $$mem1) (i32.const 20) "\\01\\02\\03\\04\\05")
+ (data (memory $$mem2) (i32.const 50) "\\0A\\0B\\0C\\0D\\0E")
+
+ (func (export "read1") (param i32) (result i32)
+ (i32.load8_u $$mem1 (local.get 0))
+ )
+ (func (export "read2") (param i32) (result i32)
+ (i32.load8_u $$mem2 (local.get 0))
+ )
+)`);
+
+// ./test/core/load.wast:46
+assert_return(() => invoke(`M`, `read`, [20]), [value("i32", 1)]);
+
+// ./test/core/load.wast:47
+assert_return(() => invoke(`M`, `read`, [21]), [value("i32", 2)]);
+
+// ./test/core/load.wast:48
+assert_return(() => invoke(`M`, `read`, [22]), [value("i32", 3)]);
+
+// ./test/core/load.wast:49
+assert_return(() => invoke(`M`, `read`, [23]), [value("i32", 4)]);
+
+// ./test/core/load.wast:50
+assert_return(() => invoke(`M`, `read`, [24]), [value("i32", 5)]);
+
+// ./test/core/load.wast:52
+assert_return(() => invoke($2, `read1`, [20]), [value("i32", 1)]);
+
+// ./test/core/load.wast:53
+assert_return(() => invoke($2, `read1`, [21]), [value("i32", 2)]);
+
+// ./test/core/load.wast:54
+assert_return(() => invoke($2, `read1`, [22]), [value("i32", 3)]);
+
+// ./test/core/load.wast:55
+assert_return(() => invoke($2, `read1`, [23]), [value("i32", 4)]);
+
+// ./test/core/load.wast:56
+assert_return(() => invoke($2, `read1`, [24]), [value("i32", 5)]);
+
+// ./test/core/load.wast:58
+assert_return(() => invoke($2, `read2`, [50]), [value("i32", 10)]);
+
+// ./test/core/load.wast:59
+assert_return(() => invoke($2, `read2`, [51]), [value("i32", 11)]);
+
+// ./test/core/load.wast:60
+assert_return(() => invoke($2, `read2`, [52]), [value("i32", 12)]);
+
+// ./test/core/load.wast:61
+assert_return(() => invoke($2, `read2`, [53]), [value("i32", 13)]);
+
+// ./test/core/load.wast:62
+assert_return(() => invoke($2, `read2`, [54]), [value("i32", 14)]);
+
+// ./test/core/load.wast:67
+let $3 = instantiate(`(module
+ (memory 1)
+
+ (func (export "as-br-value") (result i32)
+ (block (result i32) (br 0 (i32.load (i32.const 0))))
+ )
+
+ (func (export "as-br_if-cond")
+ (block (br_if 0 (i32.load (i32.const 0))))
+ )
+ (func (export "as-br_if-value") (result i32)
+ (block (result i32)
+ (drop (br_if 0 (i32.load (i32.const 0)) (i32.const 1))) (i32.const 7)
+ )
+ )
+ (func (export "as-br_if-value-cond") (result i32)
+ (block (result i32)
+ (drop (br_if 0 (i32.const 6) (i32.load (i32.const 0)))) (i32.const 7)
+ )
+ )
+
+ (func (export "as-br_table-index")
+ (block (br_table 0 0 0 (i32.load (i32.const 0))))
+ )
+ (func (export "as-br_table-value") (result i32)
+ (block (result i32)
+ (br_table 0 0 0 (i32.load (i32.const 0)) (i32.const 1)) (i32.const 7)
+ )
+ )
+ (func (export "as-br_table-value-index") (result i32)
+ (block (result i32)
+ (br_table 0 0 (i32.const 6) (i32.load (i32.const 0))) (i32.const 7)
+ )
+ )
+
+ (func (export "as-return-value") (result i32)
+ (return (i32.load (i32.const 0)))
+ )
+
+ (func (export "as-if-cond") (result i32)
+ (if (result i32) (i32.load (i32.const 0))
+ (then (i32.const 0)) (else (i32.const 1))
+ )
+ )
+ (func (export "as-if-then") (result i32)
+ (if (result i32) (i32.const 1)
+ (then (i32.load (i32.const 0))) (else (i32.const 0))
+ )
+ )
+ (func (export "as-if-else") (result i32)
+ (if (result i32) (i32.const 0)
+ (then (i32.const 0)) (else (i32.load (i32.const 0)))
+ )
+ )
+
+ (func (export "as-select-first") (param i32 i32) (result i32)
+ (select (i32.load (i32.const 0)) (local.get 0) (local.get 1))
+ )
+ (func (export "as-select-second") (param i32 i32) (result i32)
+ (select (local.get 0) (i32.load (i32.const 0)) (local.get 1))
+ )
+ (func (export "as-select-cond") (result i32)
+ (select (i32.const 0) (i32.const 1) (i32.load (i32.const 0)))
+ )
+
+ (func $$f (param i32 i32 i32) (result i32) (i32.const -1))
+ (func (export "as-call-first") (result i32)
+ (call $$f (i32.load (i32.const 0)) (i32.const 2) (i32.const 3))
+ )
+ (func (export "as-call-mid") (result i32)
+ (call $$f (i32.const 1) (i32.load (i32.const 0)) (i32.const 3))
+ )
+ (func (export "as-call-last") (result i32)
+ (call $$f (i32.const 1) (i32.const 2) (i32.load (i32.const 0)))
+ )
+
+ (type $$sig (func (param i32 i32 i32) (result i32)))
+ (table funcref (elem $$f))
+ (func (export "as-call_indirect-first") (result i32)
+ (call_indirect (type $$sig)
+ (i32.load (i32.const 0)) (i32.const 2) (i32.const 3) (i32.const 0)
+ )
+ )
+ (func (export "as-call_indirect-mid") (result i32)
+ (call_indirect (type $$sig)
+ (i32.const 1) (i32.load (i32.const 0)) (i32.const 3) (i32.const 0)
+ )
+ )
+ (func (export "as-call_indirect-last") (result i32)
+ (call_indirect (type $$sig)
+ (i32.const 1) (i32.const 2) (i32.load (i32.const 0)) (i32.const 0)
+ )
+ )
+ (func (export "as-call_indirect-index") (result i32)
+ (call_indirect (type $$sig)
+ (i32.const 1) (i32.const 2) (i32.const 3) (i32.load (i32.const 0))
+ )
+ )
+
+ (func (export "as-local.set-value") (local i32)
+ (local.set 0 (i32.load (i32.const 0)))
+ )
+ (func (export "as-local.tee-value") (result i32) (local i32)
+ (local.tee 0 (i32.load (i32.const 0)))
+ )
+ (global $$g (mut i32) (i32.const 0))
+ (func (export "as-global.set-value") (local i32)
+ (global.set $$g (i32.load (i32.const 0)))
+ )
+
+ (func (export "as-load-address") (result i32)
+ (i32.load (i32.load (i32.const 0)))
+ )
+ (func (export "as-loadN-address") (result i32)
+ (i32.load8_s (i32.load (i32.const 0)))
+ )
+
+ (func (export "as-store-address")
+ (i32.store (i32.load (i32.const 0)) (i32.const 7))
+ )
+ (func (export "as-store-value")
+ (i32.store (i32.const 2) (i32.load (i32.const 0)))
+ )
+
+ (func (export "as-storeN-address")
+ (i32.store8 (i32.load8_s (i32.const 0)) (i32.const 7))
+ )
+ (func (export "as-storeN-value")
+ (i32.store16 (i32.const 2) (i32.load (i32.const 0)))
+ )
+
+ (func (export "as-unary-operand") (result i32)
+ (i32.clz (i32.load (i32.const 100)))
+ )
+
+ (func (export "as-binary-left") (result i32)
+ (i32.add (i32.load (i32.const 100)) (i32.const 10))
+ )
+ (func (export "as-binary-right") (result i32)
+ (i32.sub (i32.const 10) (i32.load (i32.const 100)))
+ )
+
+ (func (export "as-test-operand") (result i32)
+ (i32.eqz (i32.load (i32.const 100)))
+ )
+
+ (func (export "as-compare-left") (result i32)
+ (i32.le_s (i32.load (i32.const 100)) (i32.const 10))
+ )
+ (func (export "as-compare-right") (result i32)
+ (i32.ne (i32.const 10) (i32.load (i32.const 100)))
+ )
+
+ (func (export "as-memory.grow-size") (result i32)
+ (memory.grow (i32.load (i32.const 100)))
+ )
+)`);
+
+// ./test/core/load.wast:225
+assert_return(() => invoke($3, `as-br-value`, []), [value("i32", 0)]);
+
+// ./test/core/load.wast:227
+assert_return(() => invoke($3, `as-br_if-cond`, []), []);
+
+// ./test/core/load.wast:228
+assert_return(() => invoke($3, `as-br_if-value`, []), [value("i32", 0)]);
+
+// ./test/core/load.wast:229
+assert_return(() => invoke($3, `as-br_if-value-cond`, []), [value("i32", 7)]);
+
+// ./test/core/load.wast:231
+assert_return(() => invoke($3, `as-br_table-index`, []), []);
+
+// ./test/core/load.wast:232
+assert_return(() => invoke($3, `as-br_table-value`, []), [value("i32", 0)]);
+
+// ./test/core/load.wast:233
+assert_return(() => invoke($3, `as-br_table-value-index`, []), [value("i32", 6)]);
+
+// ./test/core/load.wast:235
+assert_return(() => invoke($3, `as-return-value`, []), [value("i32", 0)]);
+
+// ./test/core/load.wast:237
+assert_return(() => invoke($3, `as-if-cond`, []), [value("i32", 1)]);
+
+// ./test/core/load.wast:238
+assert_return(() => invoke($3, `as-if-then`, []), [value("i32", 0)]);
+
+// ./test/core/load.wast:239
+assert_return(() => invoke($3, `as-if-else`, []), [value("i32", 0)]);
+
+// ./test/core/load.wast:241
+assert_return(() => invoke($3, `as-select-first`, [0, 1]), [value("i32", 0)]);
+
+// ./test/core/load.wast:242
+assert_return(() => invoke($3, `as-select-second`, [0, 0]), [value("i32", 0)]);
+
+// ./test/core/load.wast:243
+assert_return(() => invoke($3, `as-select-cond`, []), [value("i32", 1)]);
+
+// ./test/core/load.wast:245
+assert_return(() => invoke($3, `as-call-first`, []), [value("i32", -1)]);
+
+// ./test/core/load.wast:246
+assert_return(() => invoke($3, `as-call-mid`, []), [value("i32", -1)]);
+
+// ./test/core/load.wast:247
+assert_return(() => invoke($3, `as-call-last`, []), [value("i32", -1)]);
+
+// ./test/core/load.wast:249
+assert_return(() => invoke($3, `as-call_indirect-first`, []), [value("i32", -1)]);
+
+// ./test/core/load.wast:250
+assert_return(() => invoke($3, `as-call_indirect-mid`, []), [value("i32", -1)]);
+
+// ./test/core/load.wast:251
+assert_return(() => invoke($3, `as-call_indirect-last`, []), [value("i32", -1)]);
+
+// ./test/core/load.wast:252
+assert_return(() => invoke($3, `as-call_indirect-index`, []), [value("i32", -1)]);
+
+// ./test/core/load.wast:254
+assert_return(() => invoke($3, `as-local.set-value`, []), []);
+
+// ./test/core/load.wast:255
+assert_return(() => invoke($3, `as-local.tee-value`, []), [value("i32", 0)]);
+
+// ./test/core/load.wast:256
+assert_return(() => invoke($3, `as-global.set-value`, []), []);
+
+// ./test/core/load.wast:258
+assert_return(() => invoke($3, `as-load-address`, []), [value("i32", 0)]);
+
+// ./test/core/load.wast:259
+assert_return(() => invoke($3, `as-loadN-address`, []), [value("i32", 0)]);
+
+// ./test/core/load.wast:260
+assert_return(() => invoke($3, `as-store-address`, []), []);
+
+// ./test/core/load.wast:261
+assert_return(() => invoke($3, `as-store-value`, []), []);
+
+// ./test/core/load.wast:262
+assert_return(() => invoke($3, `as-storeN-address`, []), []);
+
+// ./test/core/load.wast:263
+assert_return(() => invoke($3, `as-storeN-value`, []), []);
+
+// ./test/core/load.wast:265
+assert_return(() => invoke($3, `as-unary-operand`, []), [value("i32", 32)]);
+
+// ./test/core/load.wast:267
+assert_return(() => invoke($3, `as-binary-left`, []), [value("i32", 10)]);
+
+// ./test/core/load.wast:268
+assert_return(() => invoke($3, `as-binary-right`, []), [value("i32", 10)]);
+
+// ./test/core/load.wast:270
+assert_return(() => invoke($3, `as-test-operand`, []), [value("i32", 1)]);
+
+// ./test/core/load.wast:272
+assert_return(() => invoke($3, `as-compare-left`, []), [value("i32", 1)]);
+
+// ./test/core/load.wast:273
+assert_return(() => invoke($3, `as-compare-right`, []), [value("i32", 1)]);
+
+// ./test/core/load.wast:275
+assert_return(() => invoke($3, `as-memory.grow-size`, []), [value("i32", 1)]);
+
+// ./test/core/load.wast:277
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param i32) (result i32) (i32.load32 (local.get 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/load.wast:284
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param i32) (result i32) (i32.load32_u (local.get 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/load.wast:291
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param i32) (result i32) (i32.load32_s (local.get 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/load.wast:298
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param i32) (result i32) (i32.load64 (local.get 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/load.wast:305
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param i32) (result i32) (i32.load64_u (local.get 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/load.wast:312
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param i32) (result i32) (i32.load64_s (local.get 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/load.wast:320
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param i32) (result i64) (i64.load64 (local.get 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/load.wast:327
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param i32) (result i64) (i64.load64_u (local.get 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/load.wast:334
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param i32) (result i64) (i64.load64_s (local.get 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/load.wast:342
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param i32) (result f32) (f32.load32 (local.get 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/load.wast:349
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param i32) (result f32) (f32.load64 (local.get 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/load.wast:357
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param i32) (result f64) (f64.load32 (local.get 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/load.wast:364
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param i32) (result f64) (f64.load64 (local.get 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/load.wast:375
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func $$load_i32 (i32.load (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:379
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func $$load8_s_i32 (i32.load8_s (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:383
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func $$load8_u_i32 (i32.load8_u (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:387
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func $$load16_s_i32 (i32.load16_s (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:391
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func $$load16_u_i32 (i32.load16_u (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:395
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func $$load_i64 (i64.load (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:399
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func $$load8_s_i64 (i64.load8_s (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:403
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func $$load8_u_i64 (i64.load8_u (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:407
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func $$load16_s_i64 (i64.load16_s (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:411
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func $$load16_u_i64 (i64.load16_u (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:415
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func $$load32_s_i64 (i64.load32_s (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:419
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func $$load32_u_i64 (i64.load32_u (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:423
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func $$load_f32 (f32.load (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:427
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func $$load_f64 (f64.load (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:435
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (result i32) (i32.load (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:436
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (result i32) (i32.load8_s (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:437
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (result i32) (i32.load8_u (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:438
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (result i32) (i32.load16_s (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:439
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (result i32) (i32.load16_u (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:440
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (result i64) (i64.load (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:441
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (result i64) (i64.load8_s (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:442
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (result i64) (i64.load8_u (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:443
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (result i64) (i64.load16_s (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:444
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (result i64) (i64.load16_u (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:445
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (result i64) (i64.load32_s (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:446
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (result i64) (i64.load32_u (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:447
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (result f32) (f32.load (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:448
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (result f64) (f64.load (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:451
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (func $$type-address-empty
+ (i32.load) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:460
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (func $$type-address-empty-in-block
+ (i32.const 0)
+ (block (i32.load) (drop))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:470
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (func $$type-address-empty-in-loop
+ (i32.const 0)
+ (loop (i32.load) (drop))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:480
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (func $$type-address-empty-in-then
+ (i32.const 0) (i32.const 0)
+ (if (then (i32.load) (drop)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:490
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (func $$type-address-empty-in-else
+ (i32.const 0) (i32.const 0)
+ (if (result i32) (then (i32.const 0)) (else (i32.load))) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:500
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (func $$type-address-empty-in-br
+ (i32.const 0)
+ (block (br 0 (i32.load)) (drop))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:510
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (func $$type-address-empty-in-br_if
+ (i32.const 0)
+ (block (br_if 0 (i32.load) (i32.const 1)) (drop))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:520
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (func $$type-address-empty-in-br_table
+ (i32.const 0)
+ (block (br_table 0 (i32.load)) (drop))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:530
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (func $$type-address-empty-in-return
+ (return (i32.load)) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:539
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (func $$type-address-empty-in-select
+ (select (i32.load) (i32.const 1) (i32.const 2)) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:548
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (func $$type-address-empty-in-call
+ (call 1 (i32.load)) (drop)
+ )
+ (func (param i32) (result i32) (local.get 0))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:558
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (func $$f (param i32) (result i32) (local.get 0))
+ (type $$sig (func (param i32) (result i32)))
+ (table funcref (elem $$f))
+ (func $$type-address-empty-in-call_indirect
+ (block (result i32)
+ (call_indirect (type $$sig)
+ (i32.load) (i32.const 0)
+ )
+ (drop)
+ )
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:575
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (func $$type-address-empty-in-local.set
+ (local i32)
+ (local.set 0 (i32.load)) (local.get 0) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:585
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (func $$type-address-empty-in-local.tee
+ (local i32)
+ (local.tee 0 (i32.load)) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:595
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (global $$x (mut i32) (i32.const 0))
+ (func $$type-address-empty-in-global.set
+ (global.set $$x (i32.load)) (global.get $$x) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:605
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (func $$type-address-empty-in-memory.grow
+ (memory.grow (i32.load)) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:614
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (func $$type-address-empty-in-load
+ (i32.load (i32.load)) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:623
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-address-empty-in-store
+ (i32.store (i32.load) (i32.const 1))
+ )
+ )`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/multi-memory/load0.wast.js b/js/src/jit-test/tests/wasm/spec/multi-memory/load0.wast.js
new file mode 100644
index 0000000000..67638b1111
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/multi-memory/load0.wast.js
@@ -0,0 +1,38 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/multi-memory/load0.wast
+
+// ./test/core/multi-memory/load0.wast:3
+let $0 = instantiate(`(module
+ (memory $$mem1 1)
+ (memory $$mem2 1)
+
+ (func (export "load1") (param i32) (result i64)
+ (i64.load $$mem1 (local.get 0))
+ )
+ (func (export "load2") (param i32) (result i64)
+ (i64.load $$mem2 (local.get 0))
+ )
+
+ (data (memory $$mem1) (i32.const 0) "\\01")
+ (data (memory $$mem2) (i32.const 0) "\\02")
+)`);
+
+// ./test/core/multi-memory/load0.wast:18
+assert_return(() => invoke($0, `load1`, [0]), [value("i64", 1n)]);
+
+// ./test/core/multi-memory/load0.wast:19
+assert_return(() => invoke($0, `load2`, [0]), [value("i64", 2n)]);
diff --git a/js/src/jit-test/tests/wasm/spec/multi-memory/load1.wast.js b/js/src/jit-test/tests/wasm/spec/multi-memory/load1.wast.js
new file mode 100644
index 0000000000..6ba5204bc7
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/multi-memory/load1.wast.js
@@ -0,0 +1,90 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/multi-memory/load1.wast
+
+// ./test/core/multi-memory/load1.wast:1
+let $0 = instantiate(`(module $$M
+ (memory (export "mem") 2)
+
+ (func (export "read") (param i32) (result i32)
+ (i32.load8_u (local.get 0))
+ )
+)`);
+register($0, `M`);
+
+// ./test/core/multi-memory/load1.wast:8
+register($0, `M`);
+
+// ./test/core/multi-memory/load1.wast:10
+let $1 = instantiate(`(module
+ (memory $$mem1 (import "M" "mem") 2)
+ (memory $$mem2 3)
+
+ (data (memory $$mem1) (i32.const 20) "\\01\\02\\03\\04\\05")
+ (data (memory $$mem2) (i32.const 50) "\\0A\\0B\\0C\\0D\\0E")
+
+ (func (export "read1") (param i32) (result i32)
+ (i32.load8_u $$mem1 (local.get 0))
+ )
+ (func (export "read2") (param i32) (result i32)
+ (i32.load8_u $$mem2 (local.get 0))
+ )
+)`);
+
+// ./test/core/multi-memory/load1.wast:25
+assert_return(() => invoke(`M`, `read`, [20]), [value("i32", 1)]);
+
+// ./test/core/multi-memory/load1.wast:26
+assert_return(() => invoke(`M`, `read`, [21]), [value("i32", 2)]);
+
+// ./test/core/multi-memory/load1.wast:27
+assert_return(() => invoke(`M`, `read`, [22]), [value("i32", 3)]);
+
+// ./test/core/multi-memory/load1.wast:28
+assert_return(() => invoke(`M`, `read`, [23]), [value("i32", 4)]);
+
+// ./test/core/multi-memory/load1.wast:29
+assert_return(() => invoke(`M`, `read`, [24]), [value("i32", 5)]);
+
+// ./test/core/multi-memory/load1.wast:31
+assert_return(() => invoke($1, `read1`, [20]), [value("i32", 1)]);
+
+// ./test/core/multi-memory/load1.wast:32
+assert_return(() => invoke($1, `read1`, [21]), [value("i32", 2)]);
+
+// ./test/core/multi-memory/load1.wast:33
+assert_return(() => invoke($1, `read1`, [22]), [value("i32", 3)]);
+
+// ./test/core/multi-memory/load1.wast:34
+assert_return(() => invoke($1, `read1`, [23]), [value("i32", 4)]);
+
+// ./test/core/multi-memory/load1.wast:35
+assert_return(() => invoke($1, `read1`, [24]), [value("i32", 5)]);
+
+// ./test/core/multi-memory/load1.wast:37
+assert_return(() => invoke($1, `read2`, [50]), [value("i32", 10)]);
+
+// ./test/core/multi-memory/load1.wast:38
+assert_return(() => invoke($1, `read2`, [51]), [value("i32", 11)]);
+
+// ./test/core/multi-memory/load1.wast:39
+assert_return(() => invoke($1, `read2`, [52]), [value("i32", 12)]);
+
+// ./test/core/multi-memory/load1.wast:40
+assert_return(() => invoke($1, `read2`, [53]), [value("i32", 13)]);
+
+// ./test/core/multi-memory/load1.wast:41
+assert_return(() => invoke($1, `read2`, [54]), [value("i32", 14)]);
diff --git a/js/src/jit-test/tests/wasm/spec/multi-memory/load2.wast.js b/js/src/jit-test/tests/wasm/spec/multi-memory/load2.wast.js
new file mode 100644
index 0000000000..de549b845f
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/multi-memory/load2.wast.js
@@ -0,0 +1,289 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/multi-memory/load2.wast
+
+// ./test/core/multi-memory/load2.wast:1
+let $0 = instantiate(`(module
+ (memory 0)
+ (memory 0)
+ (memory 0)
+ (memory $$m 1)
+
+ (func (export "as-br-value") (result i32)
+ (block (result i32) (br 0 (i32.load $$m (i32.const 0))))
+ )
+
+ (func (export "as-br_if-cond")
+ (block (br_if 0 (i32.load $$m (i32.const 0))))
+ )
+ (func (export "as-br_if-value") (result i32)
+ (block (result i32)
+ (drop (br_if 0 (i32.load $$m (i32.const 0)) (i32.const 1))) (i32.const 7)
+ )
+ )
+ (func (export "as-br_if-value-cond") (result i32)
+ (block (result i32)
+ (drop (br_if 0 (i32.const 6) (i32.load $$m (i32.const 0)))) (i32.const 7)
+ )
+ )
+
+ (func (export "as-br_table-index")
+ (block (br_table 0 0 0 (i32.load $$m (i32.const 0))))
+ )
+ (func (export "as-br_table-value") (result i32)
+ (block (result i32)
+ (br_table 0 0 0 (i32.load $$m (i32.const 0)) (i32.const 1)) (i32.const 7)
+ )
+ )
+ (func (export "as-br_table-value-index") (result i32)
+ (block (result i32)
+ (br_table 0 0 (i32.const 6) (i32.load $$m (i32.const 0))) (i32.const 7)
+ )
+ )
+
+ (func (export "as-return-value") (result i32)
+ (return (i32.load $$m (i32.const 0)))
+ )
+
+ (func (export "as-if-cond") (result i32)
+ (if (result i32) (i32.load $$m (i32.const 0))
+ (then (i32.const 0)) (else (i32.const 1))
+ )
+ )
+ (func (export "as-if-then") (result i32)
+ (if (result i32) (i32.const 1)
+ (then (i32.load $$m (i32.const 0))) (else (i32.const 0))
+ )
+ )
+ (func (export "as-if-else") (result i32)
+ (if (result i32) (i32.const 0)
+ (then (i32.const 0)) (else (i32.load $$m (i32.const 0)))
+ )
+ )
+
+ (func (export "as-select-first") (param i32 i32) (result i32)
+ (select (i32.load $$m (i32.const 0)) (local.get 0) (local.get 1))
+ )
+ (func (export "as-select-second") (param i32 i32) (result i32)
+ (select (local.get 0) (i32.load $$m (i32.const 0)) (local.get 1))
+ )
+ (func (export "as-select-cond") (result i32)
+ (select (i32.const 0) (i32.const 1) (i32.load $$m (i32.const 0)))
+ )
+
+ (func $$f (param i32 i32 i32) (result i32) (i32.const -1))
+ (func (export "as-call-first") (result i32)
+ (call $$f (i32.load $$m (i32.const 0)) (i32.const 2) (i32.const 3))
+ )
+ (func (export "as-call-mid") (result i32)
+ (call $$f (i32.const 1) (i32.load $$m (i32.const 0)) (i32.const 3))
+ )
+ (func (export "as-call-last") (result i32)
+ (call $$f (i32.const 1) (i32.const 2) (i32.load $$m (i32.const 0)))
+ )
+
+ (type $$sig (func (param i32 i32 i32) (result i32)))
+ (table funcref (elem $$f))
+ (func (export "as-call_indirect-first") (result i32)
+ (call_indirect (type $$sig)
+ (i32.load $$m (i32.const 0)) (i32.const 2) (i32.const 3) (i32.const 0)
+ )
+ )
+ (func (export "as-call_indirect-mid") (result i32)
+ (call_indirect (type $$sig)
+ (i32.const 1) (i32.load $$m (i32.const 0)) (i32.const 3) (i32.const 0)
+ )
+ )
+ (func (export "as-call_indirect-last") (result i32)
+ (call_indirect (type $$sig)
+ (i32.const 1) (i32.const 2) (i32.load $$m (i32.const 0)) (i32.const 0)
+ )
+ )
+ (func (export "as-call_indirect-index") (result i32)
+ (call_indirect (type $$sig)
+ (i32.const 1) (i32.const 2) (i32.const 3) (i32.load $$m (i32.const 0))
+ )
+ )
+
+ (func (export "as-local.set-value") (local i32)
+ (local.set 0 (i32.load $$m (i32.const 0)))
+ )
+ (func (export "as-local.tee-value") (result i32) (local i32)
+ (local.tee 0 (i32.load $$m (i32.const 0)))
+ )
+ (global $$g (mut i32) (i32.const 0))
+ (func (export "as-global.set-value") (local i32)
+ (global.set $$g (i32.load $$m (i32.const 0)))
+ )
+
+ (func (export "as-load-address") (result i32)
+ (i32.load $$m (i32.load $$m (i32.const 0)))
+ )
+ (func (export "as-loadN-address") (result i32)
+ (i32.load8_s $$m (i32.load $$m (i32.const 0)))
+ )
+
+ (func (export "as-store-address")
+ (i32.store $$m (i32.load $$m (i32.const 0)) (i32.const 7))
+ )
+ (func (export "as-store-value")
+ (i32.store $$m (i32.const 2) (i32.load $$m (i32.const 0)))
+ )
+
+ (func (export "as-storeN-address")
+ (i32.store8 $$m (i32.load8_s $$m (i32.const 0)) (i32.const 7))
+ )
+ (func (export "as-storeN-value")
+ (i32.store16 $$m (i32.const 2) (i32.load $$m (i32.const 0)))
+ )
+
+ (func (export "as-unary-operand") (result i32)
+ (i32.clz (i32.load $$m (i32.const 100)))
+ )
+
+ (func (export "as-binary-left") (result i32)
+ (i32.add (i32.load $$m (i32.const 100)) (i32.const 10))
+ )
+ (func (export "as-binary-right") (result i32)
+ (i32.sub (i32.const 10) (i32.load $$m (i32.const 100)))
+ )
+
+ (func (export "as-test-operand") (result i32)
+ (i32.eqz (i32.load $$m (i32.const 100)))
+ )
+
+ (func (export "as-compare-left") (result i32)
+ (i32.le_s (i32.load $$m (i32.const 100)) (i32.const 10))
+ )
+ (func (export "as-compare-right") (result i32)
+ (i32.ne (i32.const 10) (i32.load $$m (i32.const 100)))
+ )
+
+ (func (export "as-memory.grow-size") (result i32)
+ (memory.grow $$m (i32.load $$m (i32.const 100)))
+ )
+)`);
+
+// ./test/core/multi-memory/load2.wast:162
+assert_return(() => invoke($0, `as-br-value`, []), [value("i32", 0)]);
+
+// ./test/core/multi-memory/load2.wast:164
+assert_return(() => invoke($0, `as-br_if-cond`, []), []);
+
+// ./test/core/multi-memory/load2.wast:165
+assert_return(() => invoke($0, `as-br_if-value`, []), [value("i32", 0)]);
+
+// ./test/core/multi-memory/load2.wast:166
+assert_return(() => invoke($0, `as-br_if-value-cond`, []), [value("i32", 7)]);
+
+// ./test/core/multi-memory/load2.wast:168
+assert_return(() => invoke($0, `as-br_table-index`, []), []);
+
+// ./test/core/multi-memory/load2.wast:169
+assert_return(() => invoke($0, `as-br_table-value`, []), [value("i32", 0)]);
+
+// ./test/core/multi-memory/load2.wast:170
+assert_return(() => invoke($0, `as-br_table-value-index`, []), [value("i32", 6)]);
+
+// ./test/core/multi-memory/load2.wast:172
+assert_return(() => invoke($0, `as-return-value`, []), [value("i32", 0)]);
+
+// ./test/core/multi-memory/load2.wast:174
+assert_return(() => invoke($0, `as-if-cond`, []), [value("i32", 1)]);
+
+// ./test/core/multi-memory/load2.wast:175
+assert_return(() => invoke($0, `as-if-then`, []), [value("i32", 0)]);
+
+// ./test/core/multi-memory/load2.wast:176
+assert_return(() => invoke($0, `as-if-else`, []), [value("i32", 0)]);
+
+// ./test/core/multi-memory/load2.wast:178
+assert_return(() => invoke($0, `as-select-first`, [0, 1]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/load2.wast:179
+assert_return(() => invoke($0, `as-select-second`, [0, 0]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/load2.wast:180
+assert_return(() => invoke($0, `as-select-cond`, []), [value("i32", 1)]);
+
+// ./test/core/multi-memory/load2.wast:182
+assert_return(() => invoke($0, `as-call-first`, []), [value("i32", -1)]);
+
+// ./test/core/multi-memory/load2.wast:183
+assert_return(() => invoke($0, `as-call-mid`, []), [value("i32", -1)]);
+
+// ./test/core/multi-memory/load2.wast:184
+assert_return(() => invoke($0, `as-call-last`, []), [value("i32", -1)]);
+
+// ./test/core/multi-memory/load2.wast:186
+assert_return(() => invoke($0, `as-call_indirect-first`, []), [value("i32", -1)]);
+
+// ./test/core/multi-memory/load2.wast:187
+assert_return(() => invoke($0, `as-call_indirect-mid`, []), [value("i32", -1)]);
+
+// ./test/core/multi-memory/load2.wast:188
+assert_return(() => invoke($0, `as-call_indirect-last`, []), [value("i32", -1)]);
+
+// ./test/core/multi-memory/load2.wast:189
+assert_return(() => invoke($0, `as-call_indirect-index`, []), [value("i32", -1)]);
+
+// ./test/core/multi-memory/load2.wast:191
+assert_return(() => invoke($0, `as-local.set-value`, []), []);
+
+// ./test/core/multi-memory/load2.wast:192
+assert_return(() => invoke($0, `as-local.tee-value`, []), [value("i32", 0)]);
+
+// ./test/core/multi-memory/load2.wast:193
+assert_return(() => invoke($0, `as-global.set-value`, []), []);
+
+// ./test/core/multi-memory/load2.wast:195
+assert_return(() => invoke($0, `as-load-address`, []), [value("i32", 0)]);
+
+// ./test/core/multi-memory/load2.wast:196
+assert_return(() => invoke($0, `as-loadN-address`, []), [value("i32", 0)]);
+
+// ./test/core/multi-memory/load2.wast:197
+assert_return(() => invoke($0, `as-store-address`, []), []);
+
+// ./test/core/multi-memory/load2.wast:198
+assert_return(() => invoke($0, `as-store-value`, []), []);
+
+// ./test/core/multi-memory/load2.wast:199
+assert_return(() => invoke($0, `as-storeN-address`, []), []);
+
+// ./test/core/multi-memory/load2.wast:200
+assert_return(() => invoke($0, `as-storeN-value`, []), []);
+
+// ./test/core/multi-memory/load2.wast:202
+assert_return(() => invoke($0, `as-unary-operand`, []), [value("i32", 32)]);
+
+// ./test/core/multi-memory/load2.wast:204
+assert_return(() => invoke($0, `as-binary-left`, []), [value("i32", 10)]);
+
+// ./test/core/multi-memory/load2.wast:205
+assert_return(() => invoke($0, `as-binary-right`, []), [value("i32", 10)]);
+
+// ./test/core/multi-memory/load2.wast:207
+assert_return(() => invoke($0, `as-test-operand`, []), [value("i32", 1)]);
+
+// ./test/core/multi-memory/load2.wast:209
+assert_return(() => invoke($0, `as-compare-left`, []), [value("i32", 1)]);
+
+// ./test/core/multi-memory/load2.wast:210
+assert_return(() => invoke($0, `as-compare-right`, []), [value("i32", 1)]);
+
+// ./test/core/multi-memory/load2.wast:212
+assert_return(() => invoke($0, `as-memory.grow-size`, []), [value("i32", 1)]);
diff --git a/js/src/jit-test/tests/wasm/spec/multi-memory/memory-multi.wast.js b/js/src/jit-test/tests/wasm/spec/multi-memory/memory-multi.wast.js
new file mode 100644
index 0000000000..8d9503ee59
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/multi-memory/memory-multi.wast.js
@@ -0,0 +1,62 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/memory-multi.wast
+
+// ./test/core/memory-multi.wast:5
+let $0 = instantiate(`(module
+ (memory $$mem1 1)
+ (memory $$mem2 1)
+
+ (func (export "init1") (result i32)
+ (memory.init $$mem1 $$d (i32.const 1) (i32.const 0) (i32.const 4))
+ (i32.load $$mem1 (i32.const 1))
+ )
+
+ (func (export "init2") (result i32)
+ (memory.init $$mem2 $$d (i32.const 1) (i32.const 4) (i32.const 4))
+ (i32.load $$mem2 (i32.const 1))
+ )
+
+ (data $$d "\\01\\00\\00\\00" "\\02\\00\\00\\00")
+)`);
+
+// ./test/core/memory-multi.wast:22
+assert_return(() => invoke($0, `init1`, []), [value("i32", 1)]);
+
+// ./test/core/memory-multi.wast:23
+assert_return(() => invoke($0, `init2`, []), [value("i32", 2)]);
+
+// ./test/core/memory-multi.wast:26
+let $1 = instantiate(`(module
+ (memory $$mem1 1)
+ (memory $$mem2 1)
+
+ (func (export "fill1") (result i32)
+ (memory.fill $$mem1 (i32.const 1) (i32.const 0x01) (i32.const 4))
+ (i32.load $$mem1 (i32.const 1))
+ )
+
+ (func (export "fill2") (result i32)
+ (memory.fill $$mem2 (i32.const 1) (i32.const 0x02) (i32.const 2))
+ (i32.load $$mem2 (i32.const 1))
+ )
+)`);
+
+// ./test/core/memory-multi.wast:41
+assert_return(() => invoke($1, `fill1`, []), [value("i32", 16843009)]);
+
+// ./test/core/memory-multi.wast:42
+assert_return(() => invoke($1, `fill2`, []), [value("i32", 514)]);
diff --git a/js/src/jit-test/tests/wasm/spec/multi-memory/memory.wast.js b/js/src/jit-test/tests/wasm/spec/multi-memory/memory.wast.js
new file mode 100644
index 0000000000..170b4f860f
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/multi-memory/memory.wast.js
@@ -0,0 +1,390 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/memory.wast
+
+// ./test/core/memory.wast:3
+let $0 = instantiate(`(module (memory 0))`);
+
+// ./test/core/memory.wast:4
+let $1 = instantiate(`(module (memory 1))`);
+
+// ./test/core/memory.wast:5
+let $2 = instantiate(`(module (memory 0 0))`);
+
+// ./test/core/memory.wast:6
+let $3 = instantiate(`(module (memory 0 1))`);
+
+// ./test/core/memory.wast:7
+let $4 = instantiate(`(module (memory 1 256))`);
+
+// ./test/core/memory.wast:8
+let $5 = instantiate(`(module (memory 0 65536))`);
+
+// ./test/core/memory.wast:10
+let $6 = instantiate(`(module (memory (data)) (func (export "memsize") (result i32) (memory.size)))`);
+
+// ./test/core/memory.wast:11
+assert_return(() => invoke($6, `memsize`, []), [value("i32", 0)]);
+
+// ./test/core/memory.wast:12
+let $7 = instantiate(`(module (memory (data "")) (func (export "memsize") (result i32) (memory.size)))`);
+
+// ./test/core/memory.wast:13
+assert_return(() => invoke($7, `memsize`, []), [value("i32", 0)]);
+
+// ./test/core/memory.wast:14
+let $8 = instantiate(`(module (memory (data "x")) (func (export "memsize") (result i32) (memory.size)))`);
+
+// ./test/core/memory.wast:15
+assert_return(() => invoke($8, `memsize`, []), [value("i32", 1)]);
+
+// ./test/core/memory.wast:17
+assert_invalid(() => instantiate(`(module (data (i32.const 0)))`), `unknown memory`);
+
+// ./test/core/memory.wast:18
+assert_invalid(() => instantiate(`(module (data (i32.const 0) ""))`), `unknown memory`);
+
+// ./test/core/memory.wast:19
+assert_invalid(() => instantiate(`(module (data (i32.const 0) "x"))`), `unknown memory`);
+
+// ./test/core/memory.wast:21
+assert_invalid(
+ () => instantiate(`(module (func (drop (f32.load (i32.const 0)))))`),
+ `unknown memory`,
+);
+
+// ./test/core/memory.wast:25
+assert_invalid(
+ () => instantiate(`(module (func (f32.store (i32.const 0) (f32.const 0))))`),
+ `unknown memory`,
+);
+
+// ./test/core/memory.wast:29
+assert_invalid(
+ () => instantiate(`(module (func (drop (i32.load8_s (i32.const 0)))))`),
+ `unknown memory`,
+);
+
+// ./test/core/memory.wast:33
+assert_invalid(
+ () => instantiate(`(module (func (i32.store8 (i32.const 0) (i32.const 0))))`),
+ `unknown memory`,
+);
+
+// ./test/core/memory.wast:37
+assert_invalid(
+ () => instantiate(`(module (func (drop (memory.size))))`),
+ `unknown memory`,
+);
+
+// ./test/core/memory.wast:41
+assert_invalid(
+ () => instantiate(`(module (func (drop (memory.grow (i32.const 0)))))`),
+ `unknown memory`,
+);
+
+// ./test/core/memory.wast:47
+assert_invalid(
+ () => instantiate(`(module (memory 1 0))`),
+ `size minimum must not be greater than maximum`,
+);
+
+// ./test/core/memory.wast:51
+assert_invalid(
+ () => instantiate(`(module (memory 65537))`),
+ `memory size must be at most 65536 pages (4GiB)`,
+);
+
+// ./test/core/memory.wast:55
+assert_invalid(
+ () => instantiate(`(module (memory 2147483648))`),
+ `memory size must be at most 65536 pages (4GiB)`,
+);
+
+// ./test/core/memory.wast:59
+assert_invalid(
+ () => instantiate(`(module (memory 4294967295))`),
+ `memory size must be at most 65536 pages (4GiB)`,
+);
+
+// ./test/core/memory.wast:63
+assert_invalid(
+ () => instantiate(`(module (memory 0 65537))`),
+ `memory size must be at most 65536 pages (4GiB)`,
+);
+
+// ./test/core/memory.wast:67
+assert_invalid(
+ () => instantiate(`(module (memory 0 2147483648))`),
+ `memory size must be at most 65536 pages (4GiB)`,
+);
+
+// ./test/core/memory.wast:71
+assert_invalid(
+ () => instantiate(`(module (memory 0 4294967295))`),
+ `memory size must be at most 65536 pages (4GiB)`,
+);
+
+// ./test/core/memory.wast:76
+assert_malformed(
+ () => instantiate(`(memory 0x1_0000_0000) `),
+ `i32 constant out of range`,
+);
+
+// ./test/core/memory.wast:80
+assert_malformed(
+ () => instantiate(`(memory 0x1_0000_0000 0x1_0000_0000) `),
+ `i32 constant out of range`,
+);
+
+// ./test/core/memory.wast:84
+assert_malformed(
+ () => instantiate(`(memory 0 0x1_0000_0000) `),
+ `i32 constant out of range`,
+);
+
+// ./test/core/memory.wast:89
+let $9 = instantiate(`(module
+ (memory 1)
+ (data (i32.const 0) "ABC\\a7D") (data (i32.const 20) "WASM")
+
+ ;; Data section
+ (func (export "data") (result i32)
+ (i32.and
+ (i32.and
+ (i32.and
+ (i32.eq (i32.load8_u (i32.const 0)) (i32.const 65))
+ (i32.eq (i32.load8_u (i32.const 3)) (i32.const 167))
+ )
+ (i32.and
+ (i32.eq (i32.load8_u (i32.const 6)) (i32.const 0))
+ (i32.eq (i32.load8_u (i32.const 19)) (i32.const 0))
+ )
+ )
+ (i32.and
+ (i32.and
+ (i32.eq (i32.load8_u (i32.const 20)) (i32.const 87))
+ (i32.eq (i32.load8_u (i32.const 23)) (i32.const 77))
+ )
+ (i32.and
+ (i32.eq (i32.load8_u (i32.const 24)) (i32.const 0))
+ (i32.eq (i32.load8_u (i32.const 1023)) (i32.const 0))
+ )
+ )
+ )
+ )
+
+ ;; Memory cast
+ (func (export "cast") (result f64)
+ (i64.store (i32.const 8) (i64.const -12345))
+ (if
+ (f64.eq
+ (f64.load (i32.const 8))
+ (f64.reinterpret_i64 (i64.const -12345))
+ )
+ (then (return (f64.const 0)))
+ )
+ (i64.store align=1 (i32.const 9) (i64.const 0))
+ (i32.store16 align=1 (i32.const 15) (i32.const 16453))
+ (f64.load align=1 (i32.const 9))
+ )
+
+ ;; Sign and zero extending memory loads
+ (func (export "i32_load8_s") (param $$i i32) (result i32)
+ (i32.store8 (i32.const 8) (local.get $$i))
+ (i32.load8_s (i32.const 8))
+ )
+ (func (export "i32_load8_u") (param $$i i32) (result i32)
+ (i32.store8 (i32.const 8) (local.get $$i))
+ (i32.load8_u (i32.const 8))
+ )
+ (func (export "i32_load16_s") (param $$i i32) (result i32)
+ (i32.store16 (i32.const 8) (local.get $$i))
+ (i32.load16_s (i32.const 8))
+ )
+ (func (export "i32_load16_u") (param $$i i32) (result i32)
+ (i32.store16 (i32.const 8) (local.get $$i))
+ (i32.load16_u (i32.const 8))
+ )
+ (func (export "i64_load8_s") (param $$i i64) (result i64)
+ (i64.store8 (i32.const 8) (local.get $$i))
+ (i64.load8_s (i32.const 8))
+ )
+ (func (export "i64_load8_u") (param $$i i64) (result i64)
+ (i64.store8 (i32.const 8) (local.get $$i))
+ (i64.load8_u (i32.const 8))
+ )
+ (func (export "i64_load16_s") (param $$i i64) (result i64)
+ (i64.store16 (i32.const 8) (local.get $$i))
+ (i64.load16_s (i32.const 8))
+ )
+ (func (export "i64_load16_u") (param $$i i64) (result i64)
+ (i64.store16 (i32.const 8) (local.get $$i))
+ (i64.load16_u (i32.const 8))
+ )
+ (func (export "i64_load32_s") (param $$i i64) (result i64)
+ (i64.store32 (i32.const 8) (local.get $$i))
+ (i64.load32_s (i32.const 8))
+ )
+ (func (export "i64_load32_u") (param $$i i64) (result i64)
+ (i64.store32 (i32.const 8) (local.get $$i))
+ (i64.load32_u (i32.const 8))
+ )
+)`);
+
+// ./test/core/memory.wast:177
+assert_return(() => invoke($9, `data`, []), [value("i32", 1)]);
+
+// ./test/core/memory.wast:178
+assert_return(() => invoke($9, `cast`, []), [value("f64", 42)]);
+
+// ./test/core/memory.wast:180
+assert_return(() => invoke($9, `i32_load8_s`, [-1]), [value("i32", -1)]);
+
+// ./test/core/memory.wast:181
+assert_return(() => invoke($9, `i32_load8_u`, [-1]), [value("i32", 255)]);
+
+// ./test/core/memory.wast:182
+assert_return(() => invoke($9, `i32_load16_s`, [-1]), [value("i32", -1)]);
+
+// ./test/core/memory.wast:183
+assert_return(() => invoke($9, `i32_load16_u`, [-1]), [value("i32", 65535)]);
+
+// ./test/core/memory.wast:185
+assert_return(() => invoke($9, `i32_load8_s`, [100]), [value("i32", 100)]);
+
+// ./test/core/memory.wast:186
+assert_return(() => invoke($9, `i32_load8_u`, [200]), [value("i32", 200)]);
+
+// ./test/core/memory.wast:187
+assert_return(() => invoke($9, `i32_load16_s`, [20000]), [value("i32", 20000)]);
+
+// ./test/core/memory.wast:188
+assert_return(() => invoke($9, `i32_load16_u`, [40000]), [value("i32", 40000)]);
+
+// ./test/core/memory.wast:190
+assert_return(() => invoke($9, `i32_load8_s`, [-19110589]), [value("i32", 67)]);
+
+// ./test/core/memory.wast:191
+assert_return(() => invoke($9, `i32_load8_s`, [878104047]), [value("i32", -17)]);
+
+// ./test/core/memory.wast:192
+assert_return(() => invoke($9, `i32_load8_u`, [-19110589]), [value("i32", 67)]);
+
+// ./test/core/memory.wast:193
+assert_return(() => invoke($9, `i32_load8_u`, [878104047]), [value("i32", 239)]);
+
+// ./test/core/memory.wast:194
+assert_return(() => invoke($9, `i32_load16_s`, [-19110589]), [value("i32", 25923)]);
+
+// ./test/core/memory.wast:195
+assert_return(() => invoke($9, `i32_load16_s`, [878104047]), [value("i32", -12817)]);
+
+// ./test/core/memory.wast:196
+assert_return(() => invoke($9, `i32_load16_u`, [-19110589]), [value("i32", 25923)]);
+
+// ./test/core/memory.wast:197
+assert_return(() => invoke($9, `i32_load16_u`, [878104047]), [value("i32", 52719)]);
+
+// ./test/core/memory.wast:199
+assert_return(() => invoke($9, `i64_load8_s`, [-1n]), [value("i64", -1n)]);
+
+// ./test/core/memory.wast:200
+assert_return(() => invoke($9, `i64_load8_u`, [-1n]), [value("i64", 255n)]);
+
+// ./test/core/memory.wast:201
+assert_return(() => invoke($9, `i64_load16_s`, [-1n]), [value("i64", -1n)]);
+
+// ./test/core/memory.wast:202
+assert_return(() => invoke($9, `i64_load16_u`, [-1n]), [value("i64", 65535n)]);
+
+// ./test/core/memory.wast:203
+assert_return(() => invoke($9, `i64_load32_s`, [-1n]), [value("i64", -1n)]);
+
+// ./test/core/memory.wast:204
+assert_return(() => invoke($9, `i64_load32_u`, [-1n]), [value("i64", 4294967295n)]);
+
+// ./test/core/memory.wast:206
+assert_return(() => invoke($9, `i64_load8_s`, [100n]), [value("i64", 100n)]);
+
+// ./test/core/memory.wast:207
+assert_return(() => invoke($9, `i64_load8_u`, [200n]), [value("i64", 200n)]);
+
+// ./test/core/memory.wast:208
+assert_return(() => invoke($9, `i64_load16_s`, [20000n]), [value("i64", 20000n)]);
+
+// ./test/core/memory.wast:209
+assert_return(() => invoke($9, `i64_load16_u`, [40000n]), [value("i64", 40000n)]);
+
+// ./test/core/memory.wast:210
+assert_return(() => invoke($9, `i64_load32_s`, [20000n]), [value("i64", 20000n)]);
+
+// ./test/core/memory.wast:211
+assert_return(() => invoke($9, `i64_load32_u`, [40000n]), [value("i64", 40000n)]);
+
+// ./test/core/memory.wast:213
+assert_return(() => invoke($9, `i64_load8_s`, [-81985529755441853n]), [value("i64", 67n)]);
+
+// ./test/core/memory.wast:214
+assert_return(() => invoke($9, `i64_load8_s`, [3771275841602506223n]), [value("i64", -17n)]);
+
+// ./test/core/memory.wast:215
+assert_return(() => invoke($9, `i64_load8_u`, [-81985529755441853n]), [value("i64", 67n)]);
+
+// ./test/core/memory.wast:216
+assert_return(() => invoke($9, `i64_load8_u`, [3771275841602506223n]), [value("i64", 239n)]);
+
+// ./test/core/memory.wast:217
+assert_return(() => invoke($9, `i64_load16_s`, [-81985529755441853n]), [value("i64", 25923n)]);
+
+// ./test/core/memory.wast:218
+assert_return(() => invoke($9, `i64_load16_s`, [3771275841602506223n]), [value("i64", -12817n)]);
+
+// ./test/core/memory.wast:219
+assert_return(() => invoke($9, `i64_load16_u`, [-81985529755441853n]), [value("i64", 25923n)]);
+
+// ./test/core/memory.wast:220
+assert_return(() => invoke($9, `i64_load16_u`, [3771275841602506223n]), [value("i64", 52719n)]);
+
+// ./test/core/memory.wast:221
+assert_return(() => invoke($9, `i64_load32_s`, [-81985529755441853n]), [value("i64", 1446274371n)]);
+
+// ./test/core/memory.wast:222
+assert_return(() => invoke($9, `i64_load32_s`, [3771275841602506223n]), [value("i64", -1732588049n)]);
+
+// ./test/core/memory.wast:223
+assert_return(() => invoke($9, `i64_load32_u`, [-81985529755441853n]), [value("i64", 1446274371n)]);
+
+// ./test/core/memory.wast:224
+assert_return(() => invoke($9, `i64_load32_u`, [3771275841602506223n]), [value("i64", 2562379247n)]);
+
+// ./test/core/memory.wast:228
+assert_malformed(
+ () => instantiate(`(memory $$foo 1) (memory $$foo 1) `),
+ `duplicate memory`,
+);
+
+// ./test/core/memory.wast:232
+assert_malformed(
+ () => instantiate(`(import "" "" (memory $$foo 1)) (memory $$foo 1) `),
+ `duplicate memory`,
+);
+
+// ./test/core/memory.wast:236
+assert_malformed(
+ () => instantiate(`(import "" "" (memory $$foo 1)) (import "" "" (memory $$foo 1)) `),
+ `duplicate memory`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/multi-memory/memory_copy0.wast.js b/js/src/jit-test/tests/wasm/spec/multi-memory/memory_copy0.wast.js
new file mode 100644
index 0000000000..abd99c0597
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/multi-memory/memory_copy0.wast.js
@@ -0,0 +1,117 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/multi-memory/memory_copy0.wast
+
+// ./test/core/multi-memory/memory_copy0.wast:2
+let $0 = instantiate(`(module
+ (memory $$mem0 (data "\\ff\\11\\44\\ee"))
+ (memory $$mem1 (data "\\ee\\22\\55\\ff"))
+ (memory $$mem2 (data "\\dd\\33\\66\\00"))
+ (memory $$mem3 (data "\\aa\\bb\\cc\\dd"))
+
+ (func (export "copy") (param i32 i32 i32)
+ (memory.copy $$mem3 $$mem3
+ (local.get 0)
+ (local.get 1)
+ (local.get 2)))
+
+ (func (export "load8_u") (param i32) (result i32)
+ (i32.load8_u $$mem3 (local.get 0)))
+)`);
+
+// ./test/core/multi-memory/memory_copy0.wast:19
+invoke($0, `copy`, [10, 0, 4]);
+
+// ./test/core/multi-memory/memory_copy0.wast:21
+assert_return(() => invoke($0, `load8_u`, [9]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/memory_copy0.wast:22
+assert_return(() => invoke($0, `load8_u`, [10]), [value("i32", 170)]);
+
+// ./test/core/multi-memory/memory_copy0.wast:23
+assert_return(() => invoke($0, `load8_u`, [11]), [value("i32", 187)]);
+
+// ./test/core/multi-memory/memory_copy0.wast:24
+assert_return(() => invoke($0, `load8_u`, [12]), [value("i32", 204)]);
+
+// ./test/core/multi-memory/memory_copy0.wast:25
+assert_return(() => invoke($0, `load8_u`, [13]), [value("i32", 221)]);
+
+// ./test/core/multi-memory/memory_copy0.wast:26
+assert_return(() => invoke($0, `load8_u`, [14]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/memory_copy0.wast:29
+invoke($0, `copy`, [8, 10, 4]);
+
+// ./test/core/multi-memory/memory_copy0.wast:30
+assert_return(() => invoke($0, `load8_u`, [8]), [value("i32", 170)]);
+
+// ./test/core/multi-memory/memory_copy0.wast:31
+assert_return(() => invoke($0, `load8_u`, [9]), [value("i32", 187)]);
+
+// ./test/core/multi-memory/memory_copy0.wast:32
+assert_return(() => invoke($0, `load8_u`, [10]), [value("i32", 204)]);
+
+// ./test/core/multi-memory/memory_copy0.wast:33
+assert_return(() => invoke($0, `load8_u`, [11]), [value("i32", 221)]);
+
+// ./test/core/multi-memory/memory_copy0.wast:34
+assert_return(() => invoke($0, `load8_u`, [12]), [value("i32", 204)]);
+
+// ./test/core/multi-memory/memory_copy0.wast:35
+assert_return(() => invoke($0, `load8_u`, [13]), [value("i32", 221)]);
+
+// ./test/core/multi-memory/memory_copy0.wast:38
+invoke($0, `copy`, [10, 7, 6]);
+
+// ./test/core/multi-memory/memory_copy0.wast:39
+assert_return(() => invoke($0, `load8_u`, [10]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/memory_copy0.wast:40
+assert_return(() => invoke($0, `load8_u`, [11]), [value("i32", 170)]);
+
+// ./test/core/multi-memory/memory_copy0.wast:41
+assert_return(() => invoke($0, `load8_u`, [12]), [value("i32", 187)]);
+
+// ./test/core/multi-memory/memory_copy0.wast:42
+assert_return(() => invoke($0, `load8_u`, [13]), [value("i32", 204)]);
+
+// ./test/core/multi-memory/memory_copy0.wast:43
+assert_return(() => invoke($0, `load8_u`, [14]), [value("i32", 221)]);
+
+// ./test/core/multi-memory/memory_copy0.wast:44
+assert_return(() => invoke($0, `load8_u`, [15]), [value("i32", 204)]);
+
+// ./test/core/multi-memory/memory_copy0.wast:45
+assert_return(() => invoke($0, `load8_u`, [16]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/memory_copy0.wast:48
+invoke($0, `copy`, [65280, 0, 256]);
+
+// ./test/core/multi-memory/memory_copy0.wast:49
+invoke($0, `copy`, [65024, 65280, 256]);
+
+// ./test/core/multi-memory/memory_copy0.wast:52
+invoke($0, `copy`, [65536, 0, 0]);
+
+// ./test/core/multi-memory/memory_copy0.wast:53
+invoke($0, `copy`, [0, 65536, 0]);
+
+// ./test/core/multi-memory/memory_copy0.wast:56
+assert_trap(() => invoke($0, `copy`, [65537, 0, 0]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_copy0.wast:58
+assert_trap(() => invoke($0, `copy`, [0, 65537, 0]), `out of bounds memory access`);
diff --git a/js/src/jit-test/tests/wasm/spec/multi-memory/memory_fill0.wast.js b/js/src/jit-test/tests/wasm/spec/multi-memory/memory_fill0.wast.js
new file mode 100644
index 0000000000..2bc3eef0c8
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/multi-memory/memory_fill0.wast.js
@@ -0,0 +1,77 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/multi-memory/memory_fill0.wast
+
+// ./test/core/multi-memory/memory_fill0.wast:2
+let $0 = instantiate(`(module
+ (memory $$mem0 0)
+ (memory $$mem1 0)
+ (memory $$mem2 1)
+
+ (func (export "fill") (param i32 i32 i32)
+ (memory.fill $$mem2
+ (local.get 0)
+ (local.get 1)
+ (local.get 2)))
+
+ (func (export "load8_u") (param i32) (result i32)
+ (i32.load8_u $$mem2 (local.get 0)))
+)`);
+
+// ./test/core/multi-memory/memory_fill0.wast:18
+invoke($0, `fill`, [1, 255, 3]);
+
+// ./test/core/multi-memory/memory_fill0.wast:19
+assert_return(() => invoke($0, `load8_u`, [0]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/memory_fill0.wast:20
+assert_return(() => invoke($0, `load8_u`, [1]), [value("i32", 255)]);
+
+// ./test/core/multi-memory/memory_fill0.wast:21
+assert_return(() => invoke($0, `load8_u`, [2]), [value("i32", 255)]);
+
+// ./test/core/multi-memory/memory_fill0.wast:22
+assert_return(() => invoke($0, `load8_u`, [3]), [value("i32", 255)]);
+
+// ./test/core/multi-memory/memory_fill0.wast:23
+assert_return(() => invoke($0, `load8_u`, [4]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/memory_fill0.wast:26
+invoke($0, `fill`, [0, 48042, 2]);
+
+// ./test/core/multi-memory/memory_fill0.wast:27
+assert_return(() => invoke($0, `load8_u`, [0]), [value("i32", 170)]);
+
+// ./test/core/multi-memory/memory_fill0.wast:28
+assert_return(() => invoke($0, `load8_u`, [1]), [value("i32", 170)]);
+
+// ./test/core/multi-memory/memory_fill0.wast:31
+invoke($0, `fill`, [0, 0, 65536]);
+
+// ./test/core/multi-memory/memory_fill0.wast:34
+assert_trap(() => invoke($0, `fill`, [65280, 1, 257]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_fill0.wast:36
+assert_return(() => invoke($0, `load8_u`, [65280]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/memory_fill0.wast:37
+assert_return(() => invoke($0, `load8_u`, [65535]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/memory_fill0.wast:40
+invoke($0, `fill`, [65536, 0, 0]);
+
+// ./test/core/multi-memory/memory_fill0.wast:43
+assert_trap(() => invoke($0, `fill`, [65537, 0, 0]), `out of bounds memory access`);
diff --git a/js/src/jit-test/tests/wasm/spec/multi-memory/memory_grow.wast.js b/js/src/jit-test/tests/wasm/spec/multi-memory/memory_grow.wast.js
new file mode 100644
index 0000000000..6cef74d6ba
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/multi-memory/memory_grow.wast.js
@@ -0,0 +1,773 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/memory_grow.wast
+
+// ./test/core/memory_grow.wast:1
+let $0 = instantiate(`(module
+ (memory 0)
+ (func (export "grow") (param i32) (result i32) (memory.grow (local.get 0)))
+)`);
+
+// ./test/core/memory_grow.wast:6
+assert_return(() => invoke($0, `grow`, [0]), [value("i32", 0)]);
+
+// ./test/core/memory_grow.wast:7
+assert_return(() => invoke($0, `grow`, [1]), [value("i32", 0)]);
+
+// ./test/core/memory_grow.wast:8
+assert_return(() => invoke($0, `grow`, [0]), [value("i32", 1)]);
+
+// ./test/core/memory_grow.wast:9
+assert_return(() => invoke($0, `grow`, [2]), [value("i32", 1)]);
+
+// ./test/core/memory_grow.wast:10
+assert_return(() => invoke($0, `grow`, [800]), [value("i32", 3)]);
+
+// ./test/core/memory_grow.wast:11
+assert_return(() => invoke($0, `grow`, [65536]), [value("i32", -1)]);
+
+// ./test/core/memory_grow.wast:12
+assert_return(() => invoke($0, `grow`, [64736]), [value("i32", -1)]);
+
+// ./test/core/memory_grow.wast:13
+assert_return(() => invoke($0, `grow`, [1]), [value("i32", 803)]);
+
+// ./test/core/memory_grow.wast:15
+let $1 = instantiate(`(module
+ (memory 0 10)
+ (func (export "grow") (param i32) (result i32) (memory.grow (local.get 0)))
+)`);
+
+// ./test/core/memory_grow.wast:20
+assert_return(() => invoke($1, `grow`, [0]), [value("i32", 0)]);
+
+// ./test/core/memory_grow.wast:21
+assert_return(() => invoke($1, `grow`, [1]), [value("i32", 0)]);
+
+// ./test/core/memory_grow.wast:22
+assert_return(() => invoke($1, `grow`, [1]), [value("i32", 1)]);
+
+// ./test/core/memory_grow.wast:23
+assert_return(() => invoke($1, `grow`, [2]), [value("i32", 2)]);
+
+// ./test/core/memory_grow.wast:24
+assert_return(() => invoke($1, `grow`, [6]), [value("i32", 4)]);
+
+// ./test/core/memory_grow.wast:25
+assert_return(() => invoke($1, `grow`, [0]), [value("i32", 10)]);
+
+// ./test/core/memory_grow.wast:26
+assert_return(() => invoke($1, `grow`, [1]), [value("i32", -1)]);
+
+// ./test/core/memory_grow.wast:27
+assert_return(() => invoke($1, `grow`, [65536]), [value("i32", -1)]);
+
+// ./test/core/memory_grow.wast:32
+let $2 = instantiate(`(module
+ (memory 1)
+ (func (export "grow") (param i32) (result i32)
+ (memory.grow (local.get 0))
+ )
+ (func (export "check-memory-zero") (param i32 i32) (result i32)
+ (local i32)
+ (local.set 2 (i32.const 1))
+ (block
+ (loop
+ (local.set 2 (i32.load8_u (local.get 0)))
+ (br_if 1 (i32.ne (local.get 2) (i32.const 0)))
+ (br_if 1 (i32.ge_u (local.get 0) (local.get 1)))
+ (local.set 0 (i32.add (local.get 0) (i32.const 1)))
+ (br_if 0 (i32.le_u (local.get 0) (local.get 1)))
+ )
+ )
+ (local.get 2)
+ )
+)`);
+
+// ./test/core/memory_grow.wast:53
+assert_return(() => invoke($2, `check-memory-zero`, [0, 65535]), [value("i32", 0)]);
+
+// ./test/core/memory_grow.wast:54
+assert_return(() => invoke($2, `grow`, [1]), [value("i32", 1)]);
+
+// ./test/core/memory_grow.wast:55
+assert_return(() => invoke($2, `check-memory-zero`, [65536, 131071]), [value("i32", 0)]);
+
+// ./test/core/memory_grow.wast:56
+assert_return(() => invoke($2, `grow`, [1]), [value("i32", 2)]);
+
+// ./test/core/memory_grow.wast:57
+assert_return(() => invoke($2, `check-memory-zero`, [131072, 196607]), [value("i32", 0)]);
+
+// ./test/core/memory_grow.wast:58
+assert_return(() => invoke($2, `grow`, [1]), [value("i32", 3)]);
+
+// ./test/core/memory_grow.wast:59
+assert_return(() => invoke($2, `check-memory-zero`, [196608, 262143]), [value("i32", 0)]);
+
+// ./test/core/memory_grow.wast:60
+assert_return(() => invoke($2, `grow`, [1]), [value("i32", 4)]);
+
+// ./test/core/memory_grow.wast:61
+assert_return(() => invoke($2, `check-memory-zero`, [262144, 327679]), [value("i32", 0)]);
+
+// ./test/core/memory_grow.wast:62
+assert_return(() => invoke($2, `grow`, [1]), [value("i32", 5)]);
+
+// ./test/core/memory_grow.wast:63
+assert_return(() => invoke($2, `check-memory-zero`, [327680, 393215]), [value("i32", 0)]);
+
+// ./test/core/memory_grow.wast:68
+let $3 = instantiate(`(module
+ (memory 0)
+
+ (func (export "load_at_zero") (result i32) (i32.load (i32.const 0)))
+ (func (export "store_at_zero") (i32.store (i32.const 0) (i32.const 2)))
+
+ (func (export "load_at_page_size") (result i32)
+ (i32.load (i32.const 0x10000))
+ )
+ (func (export "store_at_page_size")
+ (i32.store (i32.const 0x10000) (i32.const 3))
+ )
+
+ (func (export "grow") (param i32) (result i32) (memory.grow (local.get 0)))
+ (func (export "size") (result i32) (memory.size))
+)`);
+
+// ./test/core/memory_grow.wast:85
+assert_return(() => invoke($3, `size`, []), [value("i32", 0)]);
+
+// ./test/core/memory_grow.wast:86
+assert_trap(() => invoke($3, `store_at_zero`, []), `out of bounds memory access`);
+
+// ./test/core/memory_grow.wast:87
+assert_trap(() => invoke($3, `load_at_zero`, []), `out of bounds memory access`);
+
+// ./test/core/memory_grow.wast:88
+assert_trap(() => invoke($3, `store_at_page_size`, []), `out of bounds memory access`);
+
+// ./test/core/memory_grow.wast:89
+assert_trap(() => invoke($3, `load_at_page_size`, []), `out of bounds memory access`);
+
+// ./test/core/memory_grow.wast:90
+assert_return(() => invoke($3, `grow`, [1]), [value("i32", 0)]);
+
+// ./test/core/memory_grow.wast:91
+assert_return(() => invoke($3, `size`, []), [value("i32", 1)]);
+
+// ./test/core/memory_grow.wast:92
+assert_return(() => invoke($3, `load_at_zero`, []), [value("i32", 0)]);
+
+// ./test/core/memory_grow.wast:93
+assert_return(() => invoke($3, `store_at_zero`, []), []);
+
+// ./test/core/memory_grow.wast:94
+assert_return(() => invoke($3, `load_at_zero`, []), [value("i32", 2)]);
+
+// ./test/core/memory_grow.wast:95
+assert_trap(() => invoke($3, `store_at_page_size`, []), `out of bounds memory access`);
+
+// ./test/core/memory_grow.wast:96
+assert_trap(() => invoke($3, `load_at_page_size`, []), `out of bounds memory access`);
+
+// ./test/core/memory_grow.wast:97
+assert_return(() => invoke($3, `grow`, [4]), [value("i32", 1)]);
+
+// ./test/core/memory_grow.wast:98
+assert_return(() => invoke($3, `size`, []), [value("i32", 5)]);
+
+// ./test/core/memory_grow.wast:99
+assert_return(() => invoke($3, `load_at_zero`, []), [value("i32", 2)]);
+
+// ./test/core/memory_grow.wast:100
+assert_return(() => invoke($3, `store_at_zero`, []), []);
+
+// ./test/core/memory_grow.wast:101
+assert_return(() => invoke($3, `load_at_zero`, []), [value("i32", 2)]);
+
+// ./test/core/memory_grow.wast:102
+assert_return(() => invoke($3, `load_at_page_size`, []), [value("i32", 0)]);
+
+// ./test/core/memory_grow.wast:103
+assert_return(() => invoke($3, `store_at_page_size`, []), []);
+
+// ./test/core/memory_grow.wast:104
+assert_return(() => invoke($3, `load_at_page_size`, []), [value("i32", 3)]);
+
+// ./test/core/memory_grow.wast:109
+let $4 = instantiate(`(module
+ (memory (export "mem1") 2 5)
+ (memory (export "mem2") 0)
+)`);
+
+// ./test/core/memory_grow.wast:113
+register($4, `M`);
+
+// ./test/core/memory_grow.wast:115
+let $5 = instantiate(`(module
+ (memory $$mem1 (import "M" "mem1") 1 6)
+ (memory $$mem2 (import "M" "mem2") 0)
+ (memory $$mem3 3)
+ (memory $$mem4 4 5)
+
+ (func (export "size1") (result i32) (memory.size $$mem1))
+ (func (export "size2") (result i32) (memory.size $$mem2))
+ (func (export "size3") (result i32) (memory.size $$mem3))
+ (func (export "size4") (result i32) (memory.size $$mem4))
+
+ (func (export "grow1") (param i32) (result i32)
+ (memory.grow $$mem1 (local.get 0))
+ )
+ (func (export "grow2") (param i32) (result i32)
+ (memory.grow $$mem2 (local.get 0))
+ )
+ (func (export "grow3") (param i32) (result i32)
+ (memory.grow $$mem3 (local.get 0))
+ )
+ (func (export "grow4") (param i32) (result i32)
+ (memory.grow $$mem4 (local.get 0))
+ )
+)`);
+
+// ./test/core/memory_grow.wast:140
+assert_return(() => invoke($5, `size1`, []), [value("i32", 2)]);
+
+// ./test/core/memory_grow.wast:141
+assert_return(() => invoke($5, `size2`, []), [value("i32", 0)]);
+
+// ./test/core/memory_grow.wast:142
+assert_return(() => invoke($5, `size3`, []), [value("i32", 3)]);
+
+// ./test/core/memory_grow.wast:143
+assert_return(() => invoke($5, `size4`, []), [value("i32", 4)]);
+
+// ./test/core/memory_grow.wast:145
+assert_return(() => invoke($5, `grow1`, [1]), [value("i32", 2)]);
+
+// ./test/core/memory_grow.wast:146
+assert_return(() => invoke($5, `size1`, []), [value("i32", 3)]);
+
+// ./test/core/memory_grow.wast:147
+assert_return(() => invoke($5, `size2`, []), [value("i32", 0)]);
+
+// ./test/core/memory_grow.wast:148
+assert_return(() => invoke($5, `size3`, []), [value("i32", 3)]);
+
+// ./test/core/memory_grow.wast:149
+assert_return(() => invoke($5, `size4`, []), [value("i32", 4)]);
+
+// ./test/core/memory_grow.wast:151
+assert_return(() => invoke($5, `grow1`, [2]), [value("i32", 3)]);
+
+// ./test/core/memory_grow.wast:152
+assert_return(() => invoke($5, `size1`, []), [value("i32", 5)]);
+
+// ./test/core/memory_grow.wast:153
+assert_return(() => invoke($5, `size2`, []), [value("i32", 0)]);
+
+// ./test/core/memory_grow.wast:154
+assert_return(() => invoke($5, `size3`, []), [value("i32", 3)]);
+
+// ./test/core/memory_grow.wast:155
+assert_return(() => invoke($5, `size4`, []), [value("i32", 4)]);
+
+// ./test/core/memory_grow.wast:157
+assert_return(() => invoke($5, `grow1`, [1]), [value("i32", -1)]);
+
+// ./test/core/memory_grow.wast:158
+assert_return(() => invoke($5, `size1`, []), [value("i32", 5)]);
+
+// ./test/core/memory_grow.wast:159
+assert_return(() => invoke($5, `size2`, []), [value("i32", 0)]);
+
+// ./test/core/memory_grow.wast:160
+assert_return(() => invoke($5, `size3`, []), [value("i32", 3)]);
+
+// ./test/core/memory_grow.wast:161
+assert_return(() => invoke($5, `size4`, []), [value("i32", 4)]);
+
+// ./test/core/memory_grow.wast:163
+assert_return(() => invoke($5, `grow2`, [10]), [value("i32", 0)]);
+
+// ./test/core/memory_grow.wast:164
+assert_return(() => invoke($5, `size1`, []), [value("i32", 5)]);
+
+// ./test/core/memory_grow.wast:165
+assert_return(() => invoke($5, `size2`, []), [value("i32", 10)]);
+
+// ./test/core/memory_grow.wast:166
+assert_return(() => invoke($5, `size3`, []), [value("i32", 3)]);
+
+// ./test/core/memory_grow.wast:167
+assert_return(() => invoke($5, `size4`, []), [value("i32", 4)]);
+
+// ./test/core/memory_grow.wast:169
+assert_return(() => invoke($5, `grow3`, [268435456]), [value("i32", -1)]);
+
+// ./test/core/memory_grow.wast:170
+assert_return(() => invoke($5, `size1`, []), [value("i32", 5)]);
+
+// ./test/core/memory_grow.wast:171
+assert_return(() => invoke($5, `size2`, []), [value("i32", 10)]);
+
+// ./test/core/memory_grow.wast:172
+assert_return(() => invoke($5, `size3`, []), [value("i32", 3)]);
+
+// ./test/core/memory_grow.wast:173
+assert_return(() => invoke($5, `size4`, []), [value("i32", 4)]);
+
+// ./test/core/memory_grow.wast:175
+assert_return(() => invoke($5, `grow3`, [3]), [value("i32", 3)]);
+
+// ./test/core/memory_grow.wast:176
+assert_return(() => invoke($5, `size1`, []), [value("i32", 5)]);
+
+// ./test/core/memory_grow.wast:177
+assert_return(() => invoke($5, `size2`, []), [value("i32", 10)]);
+
+// ./test/core/memory_grow.wast:178
+assert_return(() => invoke($5, `size3`, []), [value("i32", 6)]);
+
+// ./test/core/memory_grow.wast:179
+assert_return(() => invoke($5, `size4`, []), [value("i32", 4)]);
+
+// ./test/core/memory_grow.wast:181
+assert_return(() => invoke($5, `grow4`, [1]), [value("i32", 4)]);
+
+// ./test/core/memory_grow.wast:182
+assert_return(() => invoke($5, `grow4`, [1]), [value("i32", -1)]);
+
+// ./test/core/memory_grow.wast:183
+assert_return(() => invoke($5, `size1`, []), [value("i32", 5)]);
+
+// ./test/core/memory_grow.wast:184
+assert_return(() => invoke($5, `size2`, []), [value("i32", 10)]);
+
+// ./test/core/memory_grow.wast:185
+assert_return(() => invoke($5, `size3`, []), [value("i32", 6)]);
+
+// ./test/core/memory_grow.wast:186
+assert_return(() => invoke($5, `size4`, []), [value("i32", 5)]);
+
+// ./test/core/memory_grow.wast:191
+let $6 = instantiate(`(module
+ (memory 1)
+
+ (func (export "as-br-value") (result i32)
+ (block (result i32) (br 0 (memory.grow (i32.const 0))))
+ )
+
+ (func (export "as-br_if-cond")
+ (block (br_if 0 (memory.grow (i32.const 0))))
+ )
+ (func (export "as-br_if-value") (result i32)
+ (block (result i32)
+ (drop (br_if 0 (memory.grow (i32.const 0)) (i32.const 1))) (i32.const 7)
+ )
+ )
+ (func (export "as-br_if-value-cond") (result i32)
+ (block (result i32)
+ (drop (br_if 0 (i32.const 6) (memory.grow (i32.const 0)))) (i32.const 7)
+ )
+ )
+
+ (func (export "as-br_table-index")
+ (block (br_table 0 0 0 (memory.grow (i32.const 0))))
+ )
+ (func (export "as-br_table-value") (result i32)
+ (block (result i32)
+ (br_table 0 0 0 (memory.grow (i32.const 0)) (i32.const 1)) (i32.const 7)
+ )
+ )
+ (func (export "as-br_table-value-index") (result i32)
+ (block (result i32)
+ (br_table 0 0 (i32.const 6) (memory.grow (i32.const 0))) (i32.const 7)
+ )
+ )
+
+ (func (export "as-return-value") (result i32)
+ (return (memory.grow (i32.const 0)))
+ )
+
+ (func (export "as-if-cond") (result i32)
+ (if (result i32) (memory.grow (i32.const 0))
+ (then (i32.const 0)) (else (i32.const 1))
+ )
+ )
+ (func (export "as-if-then") (result i32)
+ (if (result i32) (i32.const 1)
+ (then (memory.grow (i32.const 0))) (else (i32.const 0))
+ )
+ )
+ (func (export "as-if-else") (result i32)
+ (if (result i32) (i32.const 0)
+ (then (i32.const 0)) (else (memory.grow (i32.const 0)))
+ )
+ )
+
+ (func (export "as-select-first") (param i32 i32) (result i32)
+ (select (memory.grow (i32.const 0)) (local.get 0) (local.get 1))
+ )
+ (func (export "as-select-second") (param i32 i32) (result i32)
+ (select (local.get 0) (memory.grow (i32.const 0)) (local.get 1))
+ )
+ (func (export "as-select-cond") (result i32)
+ (select (i32.const 0) (i32.const 1) (memory.grow (i32.const 0)))
+ )
+
+ (func $$f (param i32 i32 i32) (result i32) (i32.const -1))
+ (func (export "as-call-first") (result i32)
+ (call $$f (memory.grow (i32.const 0)) (i32.const 2) (i32.const 3))
+ )
+ (func (export "as-call-mid") (result i32)
+ (call $$f (i32.const 1) (memory.grow (i32.const 0)) (i32.const 3))
+ )
+ (func (export "as-call-last") (result i32)
+ (call $$f (i32.const 1) (i32.const 2) (memory.grow (i32.const 0)))
+ )
+
+ (type $$sig (func (param i32 i32 i32) (result i32)))
+ (table funcref (elem $$f))
+ (func (export "as-call_indirect-first") (result i32)
+ (call_indirect (type $$sig)
+ (memory.grow (i32.const 0)) (i32.const 2) (i32.const 3) (i32.const 0)
+ )
+ )
+ (func (export "as-call_indirect-mid") (result i32)
+ (call_indirect (type $$sig)
+ (i32.const 1) (memory.grow (i32.const 0)) (i32.const 3) (i32.const 0)
+ )
+ )
+ (func (export "as-call_indirect-last") (result i32)
+ (call_indirect (type $$sig)
+ (i32.const 1) (i32.const 2) (memory.grow (i32.const 0)) (i32.const 0)
+ )
+ )
+ (func (export "as-call_indirect-index") (result i32)
+ (call_indirect (type $$sig)
+ (i32.const 1) (i32.const 2) (i32.const 3) (memory.grow (i32.const 0))
+ )
+ )
+
+ (func (export "as-local.set-value") (local i32)
+ (local.set 0 (memory.grow (i32.const 0)))
+ )
+ (func (export "as-local.tee-value") (result i32) (local i32)
+ (local.tee 0 (memory.grow (i32.const 0)))
+ )
+ (global $$g (mut i32) (i32.const 0))
+ (func (export "as-global.set-value") (local i32)
+ (global.set $$g (memory.grow (i32.const 0)))
+ )
+
+ (func (export "as-load-address") (result i32)
+ (i32.load (memory.grow (i32.const 0)))
+ )
+ (func (export "as-loadN-address") (result i32)
+ (i32.load8_s (memory.grow (i32.const 0)))
+ )
+
+ (func (export "as-store-address")
+ (i32.store (memory.grow (i32.const 0)) (i32.const 7))
+ )
+ (func (export "as-store-value")
+ (i32.store (i32.const 2) (memory.grow (i32.const 0)))
+ )
+
+ (func (export "as-storeN-address")
+ (i32.store8 (memory.grow (i32.const 0)) (i32.const 7))
+ )
+ (func (export "as-storeN-value")
+ (i32.store16 (i32.const 2) (memory.grow (i32.const 0)))
+ )
+
+ (func (export "as-unary-operand") (result i32)
+ (i32.clz (memory.grow (i32.const 0)))
+ )
+
+ (func (export "as-binary-left") (result i32)
+ (i32.add (memory.grow (i32.const 0)) (i32.const 10))
+ )
+ (func (export "as-binary-right") (result i32)
+ (i32.sub (i32.const 10) (memory.grow (i32.const 0)))
+ )
+
+ (func (export "as-test-operand") (result i32)
+ (i32.eqz (memory.grow (i32.const 0)))
+ )
+
+ (func (export "as-compare-left") (result i32)
+ (i32.le_s (memory.grow (i32.const 0)) (i32.const 10))
+ )
+ (func (export "as-compare-right") (result i32)
+ (i32.ne (i32.const 10) (memory.grow (i32.const 0)))
+ )
+
+ (func (export "as-memory.grow-size") (result i32)
+ (memory.grow (memory.grow (i32.const 0)))
+ )
+)`);
+
+// ./test/core/memory_grow.wast:349
+assert_return(() => invoke($6, `as-br-value`, []), [value("i32", 1)]);
+
+// ./test/core/memory_grow.wast:351
+assert_return(() => invoke($6, `as-br_if-cond`, []), []);
+
+// ./test/core/memory_grow.wast:352
+assert_return(() => invoke($6, `as-br_if-value`, []), [value("i32", 1)]);
+
+// ./test/core/memory_grow.wast:353
+assert_return(() => invoke($6, `as-br_if-value-cond`, []), [value("i32", 6)]);
+
+// ./test/core/memory_grow.wast:355
+assert_return(() => invoke($6, `as-br_table-index`, []), []);
+
+// ./test/core/memory_grow.wast:356
+assert_return(() => invoke($6, `as-br_table-value`, []), [value("i32", 1)]);
+
+// ./test/core/memory_grow.wast:357
+assert_return(() => invoke($6, `as-br_table-value-index`, []), [value("i32", 6)]);
+
+// ./test/core/memory_grow.wast:359
+assert_return(() => invoke($6, `as-return-value`, []), [value("i32", 1)]);
+
+// ./test/core/memory_grow.wast:361
+assert_return(() => invoke($6, `as-if-cond`, []), [value("i32", 0)]);
+
+// ./test/core/memory_grow.wast:362
+assert_return(() => invoke($6, `as-if-then`, []), [value("i32", 1)]);
+
+// ./test/core/memory_grow.wast:363
+assert_return(() => invoke($6, `as-if-else`, []), [value("i32", 1)]);
+
+// ./test/core/memory_grow.wast:365
+assert_return(() => invoke($6, `as-select-first`, [0, 1]), [value("i32", 1)]);
+
+// ./test/core/memory_grow.wast:366
+assert_return(() => invoke($6, `as-select-second`, [0, 0]), [value("i32", 1)]);
+
+// ./test/core/memory_grow.wast:367
+assert_return(() => invoke($6, `as-select-cond`, []), [value("i32", 0)]);
+
+// ./test/core/memory_grow.wast:369
+assert_return(() => invoke($6, `as-call-first`, []), [value("i32", -1)]);
+
+// ./test/core/memory_grow.wast:370
+assert_return(() => invoke($6, `as-call-mid`, []), [value("i32", -1)]);
+
+// ./test/core/memory_grow.wast:371
+assert_return(() => invoke($6, `as-call-last`, []), [value("i32", -1)]);
+
+// ./test/core/memory_grow.wast:373
+assert_return(() => invoke($6, `as-call_indirect-first`, []), [value("i32", -1)]);
+
+// ./test/core/memory_grow.wast:374
+assert_return(() => invoke($6, `as-call_indirect-mid`, []), [value("i32", -1)]);
+
+// ./test/core/memory_grow.wast:375
+assert_return(() => invoke($6, `as-call_indirect-last`, []), [value("i32", -1)]);
+
+// ./test/core/memory_grow.wast:376
+assert_trap(() => invoke($6, `as-call_indirect-index`, []), `undefined element`);
+
+// ./test/core/memory_grow.wast:378
+assert_return(() => invoke($6, `as-local.set-value`, []), []);
+
+// ./test/core/memory_grow.wast:379
+assert_return(() => invoke($6, `as-local.tee-value`, []), [value("i32", 1)]);
+
+// ./test/core/memory_grow.wast:380
+assert_return(() => invoke($6, `as-global.set-value`, []), []);
+
+// ./test/core/memory_grow.wast:382
+assert_return(() => invoke($6, `as-load-address`, []), [value("i32", 0)]);
+
+// ./test/core/memory_grow.wast:383
+assert_return(() => invoke($6, `as-loadN-address`, []), [value("i32", 0)]);
+
+// ./test/core/memory_grow.wast:384
+assert_return(() => invoke($6, `as-store-address`, []), []);
+
+// ./test/core/memory_grow.wast:385
+assert_return(() => invoke($6, `as-store-value`, []), []);
+
+// ./test/core/memory_grow.wast:386
+assert_return(() => invoke($6, `as-storeN-address`, []), []);
+
+// ./test/core/memory_grow.wast:387
+assert_return(() => invoke($6, `as-storeN-value`, []), []);
+
+// ./test/core/memory_grow.wast:389
+assert_return(() => invoke($6, `as-unary-operand`, []), [value("i32", 31)]);
+
+// ./test/core/memory_grow.wast:391
+assert_return(() => invoke($6, `as-binary-left`, []), [value("i32", 11)]);
+
+// ./test/core/memory_grow.wast:392
+assert_return(() => invoke($6, `as-binary-right`, []), [value("i32", 9)]);
+
+// ./test/core/memory_grow.wast:394
+assert_return(() => invoke($6, `as-test-operand`, []), [value("i32", 0)]);
+
+// ./test/core/memory_grow.wast:396
+assert_return(() => invoke($6, `as-compare-left`, []), [value("i32", 1)]);
+
+// ./test/core/memory_grow.wast:397
+assert_return(() => invoke($6, `as-compare-right`, []), [value("i32", 1)]);
+
+// ./test/core/memory_grow.wast:399
+assert_return(() => invoke($6, `as-memory.grow-size`, []), [value("i32", 1)]);
+
+// ./test/core/memory_grow.wast:404
+let $7 = instantiate(`(module
+ (memory $$mem1 1)
+ (memory $$mem2 2)
+
+ (func (export "grow1") (param i32) (result i32)
+ (memory.grow $$mem1 (local.get 0))
+ )
+ (func (export "grow2") (param i32) (result i32)
+ (memory.grow $$mem2 (local.get 0))
+ )
+
+ (func (export "size1") (result i32) (memory.size $$mem1))
+ (func (export "size2") (result i32) (memory.size $$mem2))
+)`);
+
+// ./test/core/memory_grow.wast:419
+assert_return(() => invoke($7, `size1`, []), [value("i32", 1)]);
+
+// ./test/core/memory_grow.wast:420
+assert_return(() => invoke($7, `size2`, []), [value("i32", 2)]);
+
+// ./test/core/memory_grow.wast:421
+assert_return(() => invoke($7, `grow1`, [3]), [value("i32", 1)]);
+
+// ./test/core/memory_grow.wast:422
+assert_return(() => invoke($7, `grow1`, [4]), [value("i32", 4)]);
+
+// ./test/core/memory_grow.wast:423
+assert_return(() => invoke($7, `grow1`, [1]), [value("i32", 8)]);
+
+// ./test/core/memory_grow.wast:424
+assert_return(() => invoke($7, `grow2`, [1]), [value("i32", 2)]);
+
+// ./test/core/memory_grow.wast:425
+assert_return(() => invoke($7, `grow2`, [1]), [value("i32", 3)]);
+
+// ./test/core/memory_grow.wast:430
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-i32-vs-f32 (result i32)
+ (memory.grow (f32.const 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_grow.wast:439
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (func $$type-size-empty-vs-i32 (result i32)
+ (memory.grow)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_grow.wast:448
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (func $$type-size-empty-vs-i32-in-block (result i32)
+ (i32.const 0)
+ (block (result i32) (memory.grow))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_grow.wast:458
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (func $$type-size-empty-vs-i32-in-loop (result i32)
+ (i32.const 0)
+ (loop (result i32) (memory.grow))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_grow.wast:468
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (func $$type-size-empty-vs-i32-in-then (result i32)
+ (i32.const 0) (i32.const 0)
+ (if (result i32) (then (memory.grow)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_grow.wast:479
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-result-i32-vs-empty
+ (memory.grow (i32.const 1))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_grow.wast:488
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-size-f32-vs-i32 (result i32)
+ (memory.grow (f32.const 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_grow.wast:498
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-result-i32-vs-empty
+ (memory.grow (i32.const 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_grow.wast:507
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-result-i32-vs-f32 (result f32)
+ (memory.grow (i32.const 0))
+ )
+ )`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/multi-memory/memory_init0.wast.js b/js/src/jit-test/tests/wasm/spec/multi-memory/memory_init0.wast.js
new file mode 100644
index 0000000000..17eb4cc186
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/multi-memory/memory_init0.wast.js
@@ -0,0 +1,70 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/multi-memory/memory_init0.wast
+
+// ./test/core/multi-memory/memory_init0.wast:2
+let $0 = instantiate(`(module
+ (memory $$mem0 0)
+ (memory $$mem1 0)
+ (memory $$mem2 1)
+ (memory $$mem3 0)
+ (data $$mem2 "\\aa\\bb\\cc\\dd")
+
+ (func (export "init") (param i32 i32 i32)
+ (memory.init $$mem2 0
+ (local.get 0)
+ (local.get 1)
+ (local.get 2)))
+
+ (func (export "load8_u") (param i32) (result i32)
+ (i32.load8_u $$mem2 (local.get 0)))
+)`);
+
+// ./test/core/multi-memory/memory_init0.wast:19
+invoke($0, `init`, [0, 1, 2]);
+
+// ./test/core/multi-memory/memory_init0.wast:20
+assert_return(() => invoke($0, `load8_u`, [0]), [value("i32", 187)]);
+
+// ./test/core/multi-memory/memory_init0.wast:21
+assert_return(() => invoke($0, `load8_u`, [1]), [value("i32", 204)]);
+
+// ./test/core/multi-memory/memory_init0.wast:22
+assert_return(() => invoke($0, `load8_u`, [2]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/memory_init0.wast:25
+invoke($0, `init`, [65532, 0, 4]);
+
+// ./test/core/multi-memory/memory_init0.wast:28
+assert_trap(() => invoke($0, `init`, [65534, 0, 3]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_init0.wast:30
+assert_return(() => invoke($0, `load8_u`, [65534]), [value("i32", 204)]);
+
+// ./test/core/multi-memory/memory_init0.wast:31
+assert_return(() => invoke($0, `load8_u`, [65535]), [value("i32", 221)]);
+
+// ./test/core/multi-memory/memory_init0.wast:34
+invoke($0, `init`, [65536, 0, 0]);
+
+// ./test/core/multi-memory/memory_init0.wast:35
+invoke($0, `init`, [0, 4, 0]);
+
+// ./test/core/multi-memory/memory_init0.wast:38
+assert_trap(() => invoke($0, `init`, [65537, 0, 0]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_init0.wast:40
+assert_trap(() => invoke($0, `init`, [0, 5, 0]), `out of bounds memory access`);
diff --git a/js/src/jit-test/tests/wasm/spec/multi-memory/memory_size.wast.js b/js/src/jit-test/tests/wasm/spec/multi-memory/memory_size.wast.js
new file mode 100644
index 0000000000..60d2bd604f
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/multi-memory/memory_size.wast.js
@@ -0,0 +1,208 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/memory_size.wast
+
+// ./test/core/memory_size.wast:1
+let $0 = instantiate(`(module
+ (memory 0)
+ (func (export "size") (result i32) (memory.size))
+ (func (export "grow") (param $$sz i32) (drop (memory.grow (local.get $$sz))))
+)`);
+
+// ./test/core/memory_size.wast:7
+assert_return(() => invoke($0, `size`, []), [value("i32", 0)]);
+
+// ./test/core/memory_size.wast:8
+assert_return(() => invoke($0, `grow`, [1]), []);
+
+// ./test/core/memory_size.wast:9
+assert_return(() => invoke($0, `size`, []), [value("i32", 1)]);
+
+// ./test/core/memory_size.wast:10
+assert_return(() => invoke($0, `grow`, [4]), []);
+
+// ./test/core/memory_size.wast:11
+assert_return(() => invoke($0, `size`, []), [value("i32", 5)]);
+
+// ./test/core/memory_size.wast:12
+assert_return(() => invoke($0, `grow`, [0]), []);
+
+// ./test/core/memory_size.wast:13
+assert_return(() => invoke($0, `size`, []), [value("i32", 5)]);
+
+// ./test/core/memory_size.wast:15
+let $1 = instantiate(`(module
+ (memory 1)
+ (func (export "size") (result i32) (memory.size))
+ (func (export "grow") (param $$sz i32) (drop (memory.grow (local.get $$sz))))
+)`);
+
+// ./test/core/memory_size.wast:21
+assert_return(() => invoke($1, `size`, []), [value("i32", 1)]);
+
+// ./test/core/memory_size.wast:22
+assert_return(() => invoke($1, `grow`, [1]), []);
+
+// ./test/core/memory_size.wast:23
+assert_return(() => invoke($1, `size`, []), [value("i32", 2)]);
+
+// ./test/core/memory_size.wast:24
+assert_return(() => invoke($1, `grow`, [4]), []);
+
+// ./test/core/memory_size.wast:25
+assert_return(() => invoke($1, `size`, []), [value("i32", 6)]);
+
+// ./test/core/memory_size.wast:26
+assert_return(() => invoke($1, `grow`, [0]), []);
+
+// ./test/core/memory_size.wast:27
+assert_return(() => invoke($1, `size`, []), [value("i32", 6)]);
+
+// ./test/core/memory_size.wast:29
+let $2 = instantiate(`(module
+ (memory 0 2)
+ (func (export "size") (result i32) (memory.size))
+ (func (export "grow") (param $$sz i32) (drop (memory.grow (local.get $$sz))))
+)`);
+
+// ./test/core/memory_size.wast:35
+assert_return(() => invoke($2, `size`, []), [value("i32", 0)]);
+
+// ./test/core/memory_size.wast:36
+assert_return(() => invoke($2, `grow`, [3]), []);
+
+// ./test/core/memory_size.wast:37
+assert_return(() => invoke($2, `size`, []), [value("i32", 0)]);
+
+// ./test/core/memory_size.wast:38
+assert_return(() => invoke($2, `grow`, [1]), []);
+
+// ./test/core/memory_size.wast:39
+assert_return(() => invoke($2, `size`, []), [value("i32", 1)]);
+
+// ./test/core/memory_size.wast:40
+assert_return(() => invoke($2, `grow`, [0]), []);
+
+// ./test/core/memory_size.wast:41
+assert_return(() => invoke($2, `size`, []), [value("i32", 1)]);
+
+// ./test/core/memory_size.wast:42
+assert_return(() => invoke($2, `grow`, [4]), []);
+
+// ./test/core/memory_size.wast:43
+assert_return(() => invoke($2, `size`, []), [value("i32", 1)]);
+
+// ./test/core/memory_size.wast:44
+assert_return(() => invoke($2, `grow`, [1]), []);
+
+// ./test/core/memory_size.wast:45
+assert_return(() => invoke($2, `size`, []), [value("i32", 2)]);
+
+// ./test/core/memory_size.wast:47
+let $3 = instantiate(`(module
+ (memory 3 8)
+ (func (export "size") (result i32) (memory.size))
+ (func (export "grow") (param $$sz i32) (drop (memory.grow (local.get $$sz))))
+)`);
+
+// ./test/core/memory_size.wast:53
+assert_return(() => invoke($3, `size`, []), [value("i32", 3)]);
+
+// ./test/core/memory_size.wast:54
+assert_return(() => invoke($3, `grow`, [1]), []);
+
+// ./test/core/memory_size.wast:55
+assert_return(() => invoke($3, `size`, []), [value("i32", 4)]);
+
+// ./test/core/memory_size.wast:56
+assert_return(() => invoke($3, `grow`, [3]), []);
+
+// ./test/core/memory_size.wast:57
+assert_return(() => invoke($3, `size`, []), [value("i32", 7)]);
+
+// ./test/core/memory_size.wast:58
+assert_return(() => invoke($3, `grow`, [0]), []);
+
+// ./test/core/memory_size.wast:59
+assert_return(() => invoke($3, `size`, []), [value("i32", 7)]);
+
+// ./test/core/memory_size.wast:60
+assert_return(() => invoke($3, `grow`, [2]), []);
+
+// ./test/core/memory_size.wast:61
+assert_return(() => invoke($3, `size`, []), [value("i32", 7)]);
+
+// ./test/core/memory_size.wast:62
+assert_return(() => invoke($3, `grow`, [1]), []);
+
+// ./test/core/memory_size.wast:63
+assert_return(() => invoke($3, `size`, []), [value("i32", 8)]);
+
+// ./test/core/memory_size.wast:68
+let $4 = instantiate(`(module
+ (memory (export "mem1") 2 4)
+ (memory (export "mem2") 0)
+)`);
+
+// ./test/core/memory_size.wast:72
+register($4, `M`);
+
+// ./test/core/memory_size.wast:74
+let $5 = instantiate(`(module
+ (memory $$mem1 (import "M" "mem1") 1 5)
+ (memory $$mem2 (import "M" "mem2") 0)
+ (memory $$mem3 3)
+ (memory $$mem4 4 5)
+
+ (func (export "size1") (result i32) (memory.size $$mem1))
+ (func (export "size2") (result i32) (memory.size $$mem2))
+ (func (export "size3") (result i32) (memory.size $$mem3))
+ (func (export "size4") (result i32) (memory.size $$mem4))
+)`);
+
+// ./test/core/memory_size.wast:86
+assert_return(() => invoke($5, `size1`, []), [value("i32", 2)]);
+
+// ./test/core/memory_size.wast:87
+assert_return(() => invoke($5, `size2`, []), [value("i32", 0)]);
+
+// ./test/core/memory_size.wast:88
+assert_return(() => invoke($5, `size3`, []), [value("i32", 3)]);
+
+// ./test/core/memory_size.wast:89
+assert_return(() => invoke($5, `size4`, []), [value("i32", 4)]);
+
+// ./test/core/memory_size.wast:94
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-result-i32-vs-empty
+ (memory.size)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_size.wast:103
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-result-i32-vs-f32 (result f32)
+ (memory.size)
+ )
+ )`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/multi-memory/memory_size0.wast.js b/js/src/jit-test/tests/wasm/spec/multi-memory/memory_size0.wast.js
new file mode 100644
index 0000000000..78995555a1
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/multi-memory/memory_size0.wast.js
@@ -0,0 +1,49 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/multi-memory/memory_size0.wast
+
+// ./test/core/multi-memory/memory_size0.wast:1
+let $0 = instantiate(`(module
+ (memory 0)
+ (memory 0)
+ (memory 0)
+ (memory 0)
+ (memory $$m 0)
+
+ (func (export "size") (result i32) (memory.size $$m))
+ (func (export "grow") (param $$sz i32) (drop (memory.grow $$m (local.get $$sz))))
+)`);
+
+// ./test/core/multi-memory/memory_size0.wast:12
+assert_return(() => invoke($0, `size`, []), [value("i32", 0)]);
+
+// ./test/core/multi-memory/memory_size0.wast:13
+assert_return(() => invoke($0, `grow`, [1]), []);
+
+// ./test/core/multi-memory/memory_size0.wast:14
+assert_return(() => invoke($0, `size`, []), [value("i32", 1)]);
+
+// ./test/core/multi-memory/memory_size0.wast:15
+assert_return(() => invoke($0, `grow`, [4]), []);
+
+// ./test/core/multi-memory/memory_size0.wast:16
+assert_return(() => invoke($0, `size`, []), [value("i32", 5)]);
+
+// ./test/core/multi-memory/memory_size0.wast:17
+assert_return(() => invoke($0, `grow`, [0]), []);
+
+// ./test/core/multi-memory/memory_size0.wast:18
+assert_return(() => invoke($0, `size`, []), [value("i32", 5)]);
diff --git a/js/src/jit-test/tests/wasm/spec/multi-memory/memory_size1.wast.js b/js/src/jit-test/tests/wasm/spec/multi-memory/memory_size1.wast.js
new file mode 100644
index 0000000000..fa14876f09
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/multi-memory/memory_size1.wast.js
@@ -0,0 +1,73 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/multi-memory/memory_size1.wast
+
+// ./test/core/multi-memory/memory_size1.wast:1
+let $0 = instantiate(`(module
+ (memory 0)
+ (memory 0)
+ (memory $$n 0)
+ (memory 0)
+ (memory $$m 0)
+
+ (func (export "size") (result i32) (memory.size $$m))
+ (func (export "grow") (param $$sz i32) (drop (memory.grow $$m (local.get $$sz))))
+
+ (func (export "sizen") (result i32) (memory.size $$n))
+ (func (export "grown") (param $$sz i32) (drop (memory.grow $$n (local.get $$sz))))
+)`);
+
+// ./test/core/multi-memory/memory_size1.wast:15
+assert_return(() => invoke($0, `size`, []), [value("i32", 0)]);
+
+// ./test/core/multi-memory/memory_size1.wast:16
+assert_return(() => invoke($0, `sizen`, []), [value("i32", 0)]);
+
+// ./test/core/multi-memory/memory_size1.wast:17
+assert_return(() => invoke($0, `grow`, [1]), []);
+
+// ./test/core/multi-memory/memory_size1.wast:18
+assert_return(() => invoke($0, `size`, []), [value("i32", 1)]);
+
+// ./test/core/multi-memory/memory_size1.wast:19
+assert_return(() => invoke($0, `sizen`, []), [value("i32", 0)]);
+
+// ./test/core/multi-memory/memory_size1.wast:20
+assert_return(() => invoke($0, `grow`, [4]), []);
+
+// ./test/core/multi-memory/memory_size1.wast:21
+assert_return(() => invoke($0, `size`, []), [value("i32", 5)]);
+
+// ./test/core/multi-memory/memory_size1.wast:22
+assert_return(() => invoke($0, `sizen`, []), [value("i32", 0)]);
+
+// ./test/core/multi-memory/memory_size1.wast:23
+assert_return(() => invoke($0, `grow`, [0]), []);
+
+// ./test/core/multi-memory/memory_size1.wast:24
+assert_return(() => invoke($0, `size`, []), [value("i32", 5)]);
+
+// ./test/core/multi-memory/memory_size1.wast:25
+assert_return(() => invoke($0, `sizen`, []), [value("i32", 0)]);
+
+// ./test/core/multi-memory/memory_size1.wast:27
+assert_return(() => invoke($0, `grown`, [1]), []);
+
+// ./test/core/multi-memory/memory_size1.wast:28
+assert_return(() => invoke($0, `size`, []), [value("i32", 5)]);
+
+// ./test/core/multi-memory/memory_size1.wast:29
+assert_return(() => invoke($0, `sizen`, []), [value("i32", 1)]);
diff --git a/js/src/jit-test/tests/wasm/spec/multi-memory/memory_size2.wast.js b/js/src/jit-test/tests/wasm/spec/multi-memory/memory_size2.wast.js
new file mode 100644
index 0000000000..8feeadb2ee
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/multi-memory/memory_size2.wast.js
@@ -0,0 +1,90 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/multi-memory/memory_size2.wast
+
+// ./test/core/multi-memory/memory_size2.wast:1
+let $0 = instantiate(`(module
+ (memory 0 0)
+ (memory 0 0)
+ (memory $$n 0 0)
+ (memory $$m 0 2)
+
+ (func (export "size") (result i32) (memory.size $$m))
+ (func (export "grow") (param $$sz i32) (drop (memory.grow $$m (local.get $$sz))))
+
+ (func (export "sizen") (result i32) (memory.size $$n))
+ (func (export "grown") (param $$sz i32) (drop (memory.grow $$n (local.get $$sz))))
+)`);
+
+// ./test/core/multi-memory/memory_size2.wast:14
+assert_return(() => invoke($0, `size`, []), [value("i32", 0)]);
+
+// ./test/core/multi-memory/memory_size2.wast:15
+assert_return(() => invoke($0, `sizen`, []), [value("i32", 0)]);
+
+// ./test/core/multi-memory/memory_size2.wast:16
+assert_return(() => invoke($0, `grow`, [3]), []);
+
+// ./test/core/multi-memory/memory_size2.wast:17
+assert_return(() => invoke($0, `sizen`, []), [value("i32", 0)]);
+
+// ./test/core/multi-memory/memory_size2.wast:18
+assert_return(() => invoke($0, `size`, []), [value("i32", 0)]);
+
+// ./test/core/multi-memory/memory_size2.wast:19
+assert_return(() => invoke($0, `grow`, [1]), []);
+
+// ./test/core/multi-memory/memory_size2.wast:20
+assert_return(() => invoke($0, `sizen`, []), [value("i32", 0)]);
+
+// ./test/core/multi-memory/memory_size2.wast:21
+assert_return(() => invoke($0, `size`, []), [value("i32", 1)]);
+
+// ./test/core/multi-memory/memory_size2.wast:22
+assert_return(() => invoke($0, `grow`, [0]), []);
+
+// ./test/core/multi-memory/memory_size2.wast:23
+assert_return(() => invoke($0, `sizen`, []), [value("i32", 0)]);
+
+// ./test/core/multi-memory/memory_size2.wast:24
+assert_return(() => invoke($0, `size`, []), [value("i32", 1)]);
+
+// ./test/core/multi-memory/memory_size2.wast:25
+assert_return(() => invoke($0, `grow`, [4]), []);
+
+// ./test/core/multi-memory/memory_size2.wast:26
+assert_return(() => invoke($0, `sizen`, []), [value("i32", 0)]);
+
+// ./test/core/multi-memory/memory_size2.wast:27
+assert_return(() => invoke($0, `size`, []), [value("i32", 1)]);
+
+// ./test/core/multi-memory/memory_size2.wast:28
+assert_return(() => invoke($0, `grow`, [1]), []);
+
+// ./test/core/multi-memory/memory_size2.wast:29
+assert_return(() => invoke($0, `sizen`, []), [value("i32", 0)]);
+
+// ./test/core/multi-memory/memory_size2.wast:30
+assert_return(() => invoke($0, `size`, []), [value("i32", 2)]);
+
+// ./test/core/multi-memory/memory_size2.wast:32
+assert_return(() => invoke($0, `grown`, [1]), []);
+
+// ./test/core/multi-memory/memory_size2.wast:33
+assert_return(() => invoke($0, `sizen`, []), [value("i32", 0)]);
+
+// ./test/core/multi-memory/memory_size2.wast:34
+assert_return(() => invoke($0, `size`, []), [value("i32", 2)]);
diff --git a/js/src/jit-test/tests/wasm/spec/multi-memory/memory_size3.wast.js b/js/src/jit-test/tests/wasm/spec/multi-memory/memory_size3.wast.js
new file mode 100644
index 0000000000..f30a09f73a
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/multi-memory/memory_size3.wast.js
@@ -0,0 +1,43 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/multi-memory/memory_size3.wast
+
+// ./test/core/multi-memory/memory_size3.wast:3
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (memory $$m 1)
+ (memory 0)
+ (func $$type-result-i32-vs-empty
+ (memory.size $$m)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/multi-memory/memory_size3.wast:14
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (memory 0)
+ (memory 0)
+ (memory $$m 1)
+ (func $$type-result-i32-vs-f32 (result f32)
+ (memory.size $$m)
+ )
+ )`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/multi-memory/memory_trap0.wast.js b/js/src/jit-test/tests/wasm/spec/multi-memory/memory_trap0.wast.js
new file mode 100644
index 0000000000..1739a5bcb6
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/multi-memory/memory_trap0.wast.js
@@ -0,0 +1,78 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/multi-memory/memory_trap0.wast
+
+// ./test/core/multi-memory/memory_trap0.wast:1
+let $0 = instantiate(`(module
+ (memory 0)
+ (memory 0)
+ (memory $$m 1)
+
+ (func $$addr_limit (result i32)
+ (i32.mul (memory.size $$m) (i32.const 0x10000))
+ )
+
+ (func (export "store") (param $$i i32) (param $$v i32)
+ (i32.store $$m (i32.add (call $$addr_limit) (local.get $$i)) (local.get $$v))
+ )
+
+ (func (export "load") (param $$i i32) (result i32)
+ (i32.load $$m (i32.add (call $$addr_limit) (local.get $$i)))
+ )
+
+ (func (export "memory.grow") (param i32) (result i32)
+ (memory.grow $$m (local.get 0))
+ )
+)`);
+
+// ./test/core/multi-memory/memory_trap0.wast:23
+assert_return(() => invoke($0, `store`, [-4, 42]), []);
+
+// ./test/core/multi-memory/memory_trap0.wast:24
+assert_return(() => invoke($0, `load`, [-4]), [value("i32", 42)]);
+
+// ./test/core/multi-memory/memory_trap0.wast:25
+assert_trap(() => invoke($0, `store`, [-3, 305419896]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap0.wast:26
+assert_trap(() => invoke($0, `load`, [-3]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap0.wast:27
+assert_trap(() => invoke($0, `store`, [-2, 13]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap0.wast:28
+assert_trap(() => invoke($0, `load`, [-2]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap0.wast:29
+assert_trap(() => invoke($0, `store`, [-1, 13]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap0.wast:30
+assert_trap(() => invoke($0, `load`, [-1]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap0.wast:31
+assert_trap(() => invoke($0, `store`, [0, 13]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap0.wast:32
+assert_trap(() => invoke($0, `load`, [0]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap0.wast:33
+assert_trap(() => invoke($0, `store`, [-2147483648, 13]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap0.wast:34
+assert_trap(() => invoke($0, `load`, [-2147483648]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap0.wast:35
+assert_return(() => invoke($0, `memory.grow`, [65537]), [value("i32", -1)]);
diff --git a/js/src/jit-test/tests/wasm/spec/multi-memory/memory_trap1.wast.js b/js/src/jit-test/tests/wasm/spec/multi-memory/memory_trap1.wast.js
new file mode 100644
index 0000000000..ef68a1c0ec
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/multi-memory/memory_trap1.wast.js
@@ -0,0 +1,602 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/multi-memory/memory_trap1.wast
+
+// ./test/core/multi-memory/memory_trap1.wast:1
+let $0 = instantiate(`(module
+ (memory 0)
+ (memory 0)
+ (memory $$m 1)
+ (data (memory 2) (i32.const 0) "abcdefgh")
+ (data (memory 2) (i32.const 0xfff8) "abcdefgh")
+
+ (func (export "i32.load") (param $$a i32) (result i32)
+ (i32.load $$m (local.get $$a))
+ )
+ (func (export "i64.load") (param $$a i32) (result i64)
+ (i64.load $$m (local.get $$a))
+ )
+ (func (export "f32.load") (param $$a i32) (result f32)
+ (f32.load $$m (local.get $$a))
+ )
+ (func (export "f64.load") (param $$a i32) (result f64)
+ (f64.load $$m (local.get $$a))
+ )
+ (func (export "i32.load8_s") (param $$a i32) (result i32)
+ (i32.load8_s $$m (local.get $$a))
+ )
+ (func (export "i32.load8_u") (param $$a i32) (result i32)
+ (i32.load8_u $$m (local.get $$a))
+ )
+ (func (export "i32.load16_s") (param $$a i32) (result i32)
+ (i32.load16_s $$m (local.get $$a))
+ )
+ (func (export "i32.load16_u") (param $$a i32) (result i32)
+ (i32.load16_u $$m (local.get $$a))
+ )
+ (func (export "i64.load8_s") (param $$a i32) (result i64)
+ (i64.load8_s $$m (local.get $$a))
+ )
+ (func (export "i64.load8_u") (param $$a i32) (result i64)
+ (i64.load8_u $$m (local.get $$a))
+ )
+ (func (export "i64.load16_s") (param $$a i32) (result i64)
+ (i64.load16_s $$m (local.get $$a))
+ )
+ (func (export "i64.load16_u") (param $$a i32) (result i64)
+ (i64.load16_u $$m (local.get $$a))
+ )
+ (func (export "i64.load32_s") (param $$a i32) (result i64)
+ (i64.load32_s $$m (local.get $$a))
+ )
+ (func (export "i64.load32_u") (param $$a i32) (result i64)
+ (i64.load32_u $$m (local.get $$a))
+ )
+ (func (export "i32.store") (param $$a i32) (param $$v i32)
+ (i32.store $$m (local.get $$a) (local.get $$v))
+ )
+ (func (export "i64.store") (param $$a i32) (param $$v i64)
+ (i64.store $$m (local.get $$a) (local.get $$v))
+ )
+ (func (export "f32.store") (param $$a i32) (param $$v f32)
+ (f32.store $$m (local.get $$a) (local.get $$v))
+ )
+ (func (export "f64.store") (param $$a i32) (param $$v f64)
+ (f64.store $$m (local.get $$a) (local.get $$v))
+ )
+ (func (export "i32.store8") (param $$a i32) (param $$v i32)
+ (i32.store8 $$m (local.get $$a) (local.get $$v))
+ )
+ (func (export "i32.store16") (param $$a i32) (param $$v i32)
+ (i32.store16 $$m (local.get $$a) (local.get $$v))
+ )
+ (func (export "i64.store8") (param $$a i32) (param $$v i64)
+ (i64.store8 $$m (local.get $$a) (local.get $$v))
+ )
+ (func (export "i64.store16") (param $$a i32) (param $$v i64)
+ (i64.store16 $$m (local.get $$a) (local.get $$v))
+ )
+ (func (export "i64.store32") (param $$a i32) (param $$v i64)
+ (i64.store32 $$m (local.get $$a) (local.get $$v))
+ )
+)`);
+
+// ./test/core/multi-memory/memory_trap1.wast:79
+assert_trap(() => invoke($0, `i32.store`, [65536, 0]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:80
+assert_trap(() => invoke($0, `i32.store`, [65535, 0]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:81
+assert_trap(() => invoke($0, `i32.store`, [65534, 0]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:82
+assert_trap(() => invoke($0, `i32.store`, [65533, 0]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:83
+assert_trap(() => invoke($0, `i32.store`, [-1, 0]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:84
+assert_trap(() => invoke($0, `i32.store`, [-2, 0]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:85
+assert_trap(() => invoke($0, `i32.store`, [-3, 0]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:86
+assert_trap(() => invoke($0, `i32.store`, [-4, 0]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:87
+assert_trap(() => invoke($0, `i64.store`, [65536, 0n]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:88
+assert_trap(() => invoke($0, `i64.store`, [65535, 0n]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:89
+assert_trap(() => invoke($0, `i64.store`, [65534, 0n]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:90
+assert_trap(() => invoke($0, `i64.store`, [65533, 0n]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:91
+assert_trap(() => invoke($0, `i64.store`, [65532, 0n]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:92
+assert_trap(() => invoke($0, `i64.store`, [65531, 0n]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:93
+assert_trap(() => invoke($0, `i64.store`, [65530, 0n]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:94
+assert_trap(() => invoke($0, `i64.store`, [65529, 0n]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:95
+assert_trap(() => invoke($0, `i64.store`, [-1, 0n]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:96
+assert_trap(() => invoke($0, `i64.store`, [-2, 0n]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:97
+assert_trap(() => invoke($0, `i64.store`, [-3, 0n]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:98
+assert_trap(() => invoke($0, `i64.store`, [-4, 0n]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:99
+assert_trap(() => invoke($0, `i64.store`, [-5, 0n]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:100
+assert_trap(() => invoke($0, `i64.store`, [-6, 0n]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:101
+assert_trap(() => invoke($0, `i64.store`, [-7, 0n]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:102
+assert_trap(() => invoke($0, `i64.store`, [-8, 0n]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:103
+assert_trap(() => invoke($0, `f32.store`, [65536, value("f32", 0)]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:104
+assert_trap(() => invoke($0, `f32.store`, [65535, value("f32", 0)]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:105
+assert_trap(() => invoke($0, `f32.store`, [65534, value("f32", 0)]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:106
+assert_trap(() => invoke($0, `f32.store`, [65533, value("f32", 0)]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:107
+assert_trap(() => invoke($0, `f32.store`, [-1, value("f32", 0)]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:108
+assert_trap(() => invoke($0, `f32.store`, [-2, value("f32", 0)]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:109
+assert_trap(() => invoke($0, `f32.store`, [-3, value("f32", 0)]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:110
+assert_trap(() => invoke($0, `f32.store`, [-4, value("f32", 0)]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:111
+assert_trap(() => invoke($0, `f64.store`, [65536, value("f64", 0)]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:112
+assert_trap(() => invoke($0, `f64.store`, [65535, value("f64", 0)]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:113
+assert_trap(() => invoke($0, `f64.store`, [65534, value("f64", 0)]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:114
+assert_trap(() => invoke($0, `f64.store`, [65533, value("f64", 0)]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:115
+assert_trap(() => invoke($0, `f64.store`, [65532, value("f64", 0)]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:116
+assert_trap(() => invoke($0, `f64.store`, [65531, value("f64", 0)]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:117
+assert_trap(() => invoke($0, `f64.store`, [65530, value("f64", 0)]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:118
+assert_trap(() => invoke($0, `f64.store`, [65529, value("f64", 0)]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:119
+assert_trap(() => invoke($0, `f64.store`, [-1, value("f64", 0)]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:120
+assert_trap(() => invoke($0, `f64.store`, [-2, value("f64", 0)]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:121
+assert_trap(() => invoke($0, `f64.store`, [-3, value("f64", 0)]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:122
+assert_trap(() => invoke($0, `f64.store`, [-4, value("f64", 0)]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:123
+assert_trap(() => invoke($0, `f64.store`, [-5, value("f64", 0)]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:124
+assert_trap(() => invoke($0, `f64.store`, [-6, value("f64", 0)]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:125
+assert_trap(() => invoke($0, `f64.store`, [-7, value("f64", 0)]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:126
+assert_trap(() => invoke($0, `f64.store`, [-8, value("f64", 0)]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:127
+assert_trap(() => invoke($0, `i32.store8`, [65536, 0]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:128
+assert_trap(() => invoke($0, `i32.store8`, [-1, 0]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:129
+assert_trap(() => invoke($0, `i32.store16`, [65536, 0]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:130
+assert_trap(() => invoke($0, `i32.store16`, [65535, 0]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:131
+assert_trap(() => invoke($0, `i32.store16`, [-1, 0]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:132
+assert_trap(() => invoke($0, `i32.store16`, [-2, 0]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:133
+assert_trap(() => invoke($0, `i64.store8`, [65536, 0n]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:134
+assert_trap(() => invoke($0, `i64.store8`, [-1, 0n]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:135
+assert_trap(() => invoke($0, `i64.store16`, [65536, 0n]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:136
+assert_trap(() => invoke($0, `i64.store16`, [65535, 0n]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:137
+assert_trap(() => invoke($0, `i64.store16`, [-1, 0n]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:138
+assert_trap(() => invoke($0, `i64.store16`, [-2, 0n]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:139
+assert_trap(() => invoke($0, `i64.store32`, [65536, 0n]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:140
+assert_trap(() => invoke($0, `i64.store32`, [65535, 0n]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:141
+assert_trap(() => invoke($0, `i64.store32`, [65534, 0n]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:142
+assert_trap(() => invoke($0, `i64.store32`, [65533, 0n]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:143
+assert_trap(() => invoke($0, `i64.store32`, [-1, 0n]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:144
+assert_trap(() => invoke($0, `i64.store32`, [-2, 0n]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:145
+assert_trap(() => invoke($0, `i64.store32`, [-3, 0n]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:146
+assert_trap(() => invoke($0, `i64.store32`, [-4, 0n]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:147
+assert_trap(() => invoke($0, `i32.load`, [65536]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:148
+assert_trap(() => invoke($0, `i32.load`, [65535]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:149
+assert_trap(() => invoke($0, `i32.load`, [65534]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:150
+assert_trap(() => invoke($0, `i32.load`, [65533]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:151
+assert_trap(() => invoke($0, `i32.load`, [-1]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:152
+assert_trap(() => invoke($0, `i32.load`, [-2]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:153
+assert_trap(() => invoke($0, `i32.load`, [-3]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:154
+assert_trap(() => invoke($0, `i32.load`, [-4]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:155
+assert_trap(() => invoke($0, `i64.load`, [65536]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:156
+assert_trap(() => invoke($0, `i64.load`, [65535]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:157
+assert_trap(() => invoke($0, `i64.load`, [65534]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:158
+assert_trap(() => invoke($0, `i64.load`, [65533]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:159
+assert_trap(() => invoke($0, `i64.load`, [65532]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:160
+assert_trap(() => invoke($0, `i64.load`, [65531]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:161
+assert_trap(() => invoke($0, `i64.load`, [65530]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:162
+assert_trap(() => invoke($0, `i64.load`, [65529]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:163
+assert_trap(() => invoke($0, `i64.load`, [-1]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:164
+assert_trap(() => invoke($0, `i64.load`, [-2]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:165
+assert_trap(() => invoke($0, `i64.load`, [-3]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:166
+assert_trap(() => invoke($0, `i64.load`, [-4]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:167
+assert_trap(() => invoke($0, `i64.load`, [-5]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:168
+assert_trap(() => invoke($0, `i64.load`, [-6]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:169
+assert_trap(() => invoke($0, `i64.load`, [-7]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:170
+assert_trap(() => invoke($0, `i64.load`, [-8]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:171
+assert_trap(() => invoke($0, `f32.load`, [65536]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:172
+assert_trap(() => invoke($0, `f32.load`, [65535]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:173
+assert_trap(() => invoke($0, `f32.load`, [65534]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:174
+assert_trap(() => invoke($0, `f32.load`, [65533]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:175
+assert_trap(() => invoke($0, `f32.load`, [-1]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:176
+assert_trap(() => invoke($0, `f32.load`, [-2]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:177
+assert_trap(() => invoke($0, `f32.load`, [-3]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:178
+assert_trap(() => invoke($0, `f32.load`, [-4]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:179
+assert_trap(() => invoke($0, `f64.load`, [65536]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:180
+assert_trap(() => invoke($0, `f64.load`, [65535]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:181
+assert_trap(() => invoke($0, `f64.load`, [65534]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:182
+assert_trap(() => invoke($0, `f64.load`, [65533]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:183
+assert_trap(() => invoke($0, `f64.load`, [65532]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:184
+assert_trap(() => invoke($0, `f64.load`, [65531]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:185
+assert_trap(() => invoke($0, `f64.load`, [65530]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:186
+assert_trap(() => invoke($0, `f64.load`, [65529]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:187
+assert_trap(() => invoke($0, `f64.load`, [-1]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:188
+assert_trap(() => invoke($0, `f64.load`, [-2]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:189
+assert_trap(() => invoke($0, `f64.load`, [-3]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:190
+assert_trap(() => invoke($0, `f64.load`, [-4]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:191
+assert_trap(() => invoke($0, `f64.load`, [-5]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:192
+assert_trap(() => invoke($0, `f64.load`, [-6]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:193
+assert_trap(() => invoke($0, `f64.load`, [-7]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:194
+assert_trap(() => invoke($0, `f64.load`, [-8]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:195
+assert_trap(() => invoke($0, `i32.load8_s`, [65536]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:196
+assert_trap(() => invoke($0, `i32.load8_s`, [-1]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:197
+assert_trap(() => invoke($0, `i32.load8_u`, [65536]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:198
+assert_trap(() => invoke($0, `i32.load8_u`, [-1]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:199
+assert_trap(() => invoke($0, `i32.load16_s`, [65536]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:200
+assert_trap(() => invoke($0, `i32.load16_s`, [65535]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:201
+assert_trap(() => invoke($0, `i32.load16_s`, [-1]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:202
+assert_trap(() => invoke($0, `i32.load16_s`, [-2]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:203
+assert_trap(() => invoke($0, `i32.load16_u`, [65536]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:204
+assert_trap(() => invoke($0, `i32.load16_u`, [65535]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:205
+assert_trap(() => invoke($0, `i32.load16_u`, [-1]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:206
+assert_trap(() => invoke($0, `i32.load16_u`, [-2]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:207
+assert_trap(() => invoke($0, `i64.load8_s`, [65536]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:208
+assert_trap(() => invoke($0, `i64.load8_s`, [-1]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:209
+assert_trap(() => invoke($0, `i64.load8_u`, [65536]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:210
+assert_trap(() => invoke($0, `i64.load8_u`, [-1]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:211
+assert_trap(() => invoke($0, `i64.load16_s`, [65536]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:212
+assert_trap(() => invoke($0, `i64.load16_s`, [65535]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:213
+assert_trap(() => invoke($0, `i64.load16_s`, [-1]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:214
+assert_trap(() => invoke($0, `i64.load16_s`, [-2]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:215
+assert_trap(() => invoke($0, `i64.load16_u`, [65536]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:216
+assert_trap(() => invoke($0, `i64.load16_u`, [65535]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:217
+assert_trap(() => invoke($0, `i64.load16_u`, [-1]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:218
+assert_trap(() => invoke($0, `i64.load16_u`, [-2]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:219
+assert_trap(() => invoke($0, `i64.load32_s`, [65536]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:220
+assert_trap(() => invoke($0, `i64.load32_s`, [65535]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:221
+assert_trap(() => invoke($0, `i64.load32_s`, [65534]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:222
+assert_trap(() => invoke($0, `i64.load32_s`, [65533]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:223
+assert_trap(() => invoke($0, `i64.load32_s`, [-1]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:224
+assert_trap(() => invoke($0, `i64.load32_s`, [-2]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:225
+assert_trap(() => invoke($0, `i64.load32_s`, [-3]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:226
+assert_trap(() => invoke($0, `i64.load32_s`, [-4]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:227
+assert_trap(() => invoke($0, `i64.load32_u`, [65536]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:228
+assert_trap(() => invoke($0, `i64.load32_u`, [65535]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:229
+assert_trap(() => invoke($0, `i64.load32_u`, [65534]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:230
+assert_trap(() => invoke($0, `i64.load32_u`, [65533]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:231
+assert_trap(() => invoke($0, `i64.load32_u`, [-1]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:232
+assert_trap(() => invoke($0, `i64.load32_u`, [-2]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:233
+assert_trap(() => invoke($0, `i64.load32_u`, [-3]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:234
+assert_trap(() => invoke($0, `i64.load32_u`, [-4]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:237
+assert_return(() => invoke($0, `i64.load`, [65528]), [value("i64", 7523094288207667809n)]);
+
+// ./test/core/multi-memory/memory_trap1.wast:238
+assert_return(() => invoke($0, `i64.load`, [0]), [value("i64", 7523094288207667809n)]);
+
+// ./test/core/multi-memory/memory_trap1.wast:242
+assert_return(() => invoke($0, `i64.store`, [65528, 0n]), []);
+
+// ./test/core/multi-memory/memory_trap1.wast:243
+assert_trap(() => invoke($0, `i32.store`, [65533, 305419896]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:244
+assert_return(() => invoke($0, `i32.load`, [65532]), [value("i32", 0)]);
+
+// ./test/core/multi-memory/memory_trap1.wast:245
+assert_trap(() => invoke($0, `i64.store`, [65529, 1311768467294899695n]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/memory_trap1.wast:246
+assert_return(() => invoke($0, `i64.load`, [65528]), [value("i64", 0n)]);
+
+// ./test/core/multi-memory/memory_trap1.wast:247
+assert_trap(
+ () => invoke($0, `f32.store`, [65533, value("f32", 305419900)]),
+ `out of bounds memory access`,
+);
+
+// ./test/core/multi-memory/memory_trap1.wast:248
+assert_return(() => invoke($0, `f32.load`, [65532]), [value("f32", 0)]);
+
+// ./test/core/multi-memory/memory_trap1.wast:249
+assert_trap(
+ () => invoke($0, `f64.store`, [65529, value("f64", 1311768467294899700)]),
+ `out of bounds memory access`,
+);
+
+// ./test/core/multi-memory/memory_trap1.wast:250
+assert_return(() => invoke($0, `f64.load`, [65528]), [value("f64", 0)]);
diff --git a/js/src/jit-test/tests/wasm/spec/multi-memory/simd_load.wast.js b/js/src/jit-test/tests/wasm/spec/multi-memory/simd_load.wast.js
new file mode 100644
index 0000000000..e609e1fe58
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/multi-memory/simd_load.wast.js
@@ -0,0 +1,295 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_load.wast
+
+// ./test/core/simd/simd_load.wast:3
+let $0 = instantiate(`(module
+ (memory 1)
+ (data (i32.const 0) "\\00\\01\\02\\03\\04\\05\\06\\07\\08\\09\\0a\\0b\\0c\\0d\\0e\\0f\\00\\01\\02\\03")
+ (func (export "v128.load") (result v128)
+ (v128.load (i32.const 0))
+ )
+)`);
+
+// ./test/core/simd/simd_load.wast:11
+assert_return(
+ () => invoke($0, `v128.load`, []),
+ [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ],
+);
+
+// ./test/core/simd/simd_load.wast:12
+assert_return(
+ () => invoke($0, `v128.load`, []),
+ [i16x8([0x100, 0x302, 0x504, 0x706, 0x908, 0xb0a, 0xd0c, 0xf0e])],
+);
+
+// ./test/core/simd/simd_load.wast:13
+assert_return(() => invoke($0, `v128.load`, []), [i32x4([0x3020100, 0x7060504, 0xb0a0908, 0xf0e0d0c])]);
+
+// ./test/core/simd/simd_load.wast:18
+let $1 = instantiate(`(module (memory 1)
+ (data (i32.const 0) "\\00\\01\\02\\03\\04\\05\\06\\07\\08\\09\\0a\\0b\\0c\\0d\\0e\\0f\\00\\01\\02\\03")
+ (func (export "as-i8x16_extract_lane_s-value/0") (result i32)
+ (i8x16.extract_lane_s 0 (v128.load (i32.const 0)))
+ )
+)`);
+
+// ./test/core/simd/simd_load.wast:24
+assert_return(() => invoke($1, `as-i8x16_extract_lane_s-value/0`, []), [value("i32", 0)]);
+
+// ./test/core/simd/simd_load.wast:26
+let $2 = instantiate(`(module (memory 1)
+ (data (i32.const 0) "\\00\\01\\02\\03\\04\\05\\06\\07\\08\\09\\0a\\0b\\0c\\0d\\0e\\0f\\00\\01\\02\\03")
+ (func (export "as-i8x16.eq-operand") (result v128)
+ (i8x16.eq (v128.load offset=0 (i32.const 0)) (v128.load offset=16 (i32.const 0)))
+ )
+)`);
+
+// ./test/core/simd/simd_load.wast:32
+assert_return(() => invoke($2, `as-i8x16.eq-operand`, []), [i32x4([0xffffffff, 0x0, 0x0, 0x0])]);
+
+// ./test/core/simd/simd_load.wast:34
+let $3 = instantiate(`(module (memory 1)
+ (data (i32.const 0) "\\00\\01\\02\\03\\04\\05\\06\\07\\08\\09\\0a\\0b\\0c\\0d\\0e\\0f\\00\\01\\02\\03")
+ (func (export "as-v128.not-operand") (result v128)
+ (v128.not (v128.load (i32.const 0)))
+ )
+ (func (export "as-i8x16.all_true-operand") (result i32)
+ (i8x16.all_true (v128.load (i32.const 0)))
+ )
+)`);
+
+// ./test/core/simd/simd_load.wast:43
+assert_return(
+ () => invoke($3, `as-v128.not-operand`, []),
+ [i32x4([0xfcfdfeff, 0xf8f9fafb, 0xf4f5f6f7, 0xf0f1f2f3])],
+);
+
+// ./test/core/simd/simd_load.wast:44
+assert_return(() => invoke($3, `as-i8x16.all_true-operand`, []), [value("i32", 0)]);
+
+// ./test/core/simd/simd_load.wast:46
+let $4 = instantiate(`(module (memory 1)
+ (data (offset (i32.const 0)) "\\AA\\AA\\AA\\AA\\AA\\AA\\AA\\AA\\AA\\AA\\AA\\AA\\AA\\AA\\AA\\AA")
+ (data (offset (i32.const 16)) "\\BB\\BB\\BB\\BB\\BB\\BB\\BB\\BB\\BB\\BB\\BB\\BB\\BB\\BB\\BB\\BB")
+ (data (offset (i32.const 32)) "\\F0\\F0\\F0\\F0\\FF\\FF\\FF\\FF\\00\\00\\00\\00\\FF\\00\\FF\\00")
+ (func (export "as-v128.bitselect-operand") (result v128)
+ (v128.bitselect (v128.load (i32.const 0)) (v128.load (i32.const 16)) (v128.load (i32.const 32)))
+ )
+)`);
+
+// ./test/core/simd/simd_load.wast:54
+assert_return(
+ () => invoke($4, `as-v128.bitselect-operand`, []),
+ [i32x4([0xabababab, 0xaaaaaaaa, 0xbbbbbbbb, 0xbbaabbaa])],
+);
+
+// ./test/core/simd/simd_load.wast:56
+let $5 = instantiate(`(module (memory 1)
+ (data (offset (i32.const 0)) "\\AA\\AA\\AA\\AA\\AA\\AA\\AA\\AA\\AA\\AA\\AA\\AA\\AA\\AA\\AA\\AA")
+ (func (export "as-i8x16.shl-operand") (result v128)
+ (i8x16.shl (v128.load (i32.const 0)) (i32.const 1))
+ )
+)`);
+
+// ./test/core/simd/simd_load.wast:62
+assert_return(
+ () => invoke($5, `as-i8x16.shl-operand`, []),
+ [i32x4([0x54545454, 0x54545454, 0x54545454, 0x54545454])],
+);
+
+// ./test/core/simd/simd_load.wast:64
+let $6 = instantiate(`(module (memory 1)
+ (data (offset (i32.const 0)) "\\02\\00\\00\\00\\02\\00\\00\\00\\02\\00\\00\\00\\02\\00\\00\\00")
+ (data (offset (i32.const 16)) "\\03\\00\\00\\00\\03\\00\\00\\00\\03\\00\\00\\00\\03\\00\\00\\00")
+ (func (export "as-add/sub-operand") (result v128)
+ ;; 2 2 2 2 + 3 3 3 3 = 5 5 5 5
+ ;; 5 5 5 5 - 3 3 3 3 = 2 2 2 2
+ (i8x16.sub
+ (i8x16.add (v128.load (i32.const 0)) (v128.load (i32.const 16)))
+ (v128.load (i32.const 16))
+ )
+ )
+)`);
+
+// ./test/core/simd/simd_load.wast:76
+assert_return(() => invoke($6, `as-add/sub-operand`, []), [i32x4([0x2, 0x2, 0x2, 0x2])]);
+
+// ./test/core/simd/simd_load.wast:78
+let $7 = instantiate(`(module (memory 1)
+ (data (offset (i32.const 0)) "\\00\\00\\00\\43\\00\\00\\80\\3f\\66\\66\\e6\\3f\\00\\00\\80\\bf") ;; 128 1.0 1.8 -1
+ (data (offset (i32.const 16)) "\\00\\00\\00\\40\\00\\00\\00\\40\\00\\00\\00\\40\\00\\00\\00\\40") ;; 2.0 2.0 2.0 2.0
+ (func (export "as-f32x4.mul-operand") (result v128)
+ (f32x4.mul (v128.load (i32.const 0)) (v128.load (i32.const 16)))
+ )
+)`);
+
+// ./test/core/simd/simd_load.wast:85
+assert_return(
+ () => invoke($7, `as-f32x4.mul-operand`, []),
+ [
+ new F32x4Pattern(
+ value("f32", 256),
+ value("f32", 2),
+ value("f32", 3.6),
+ value("f32", -2),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_load.wast:87
+let $8 = instantiate(`(module (memory 1)
+ (data (offset (i32.const 0)) "\\ff\\ff\\ff\\ff\\ff\\ff\\ff\\ff\\ff\\ff\\ff\\ff\\ff\\ff\\ff\\ff") ;; 1111 ...
+ (func (export "as-f32x4.abs-operand") (result v128)
+ (f32x4.abs (v128.load (i32.const 0)))
+ )
+)`);
+
+// ./test/core/simd/simd_load.wast:93
+assert_return(
+ () => invoke($8, `as-f32x4.abs-operand`, []),
+ [i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff])],
+);
+
+// ./test/core/simd/simd_load.wast:95
+let $9 = instantiate(`(module (memory 1)
+ (data (offset (i32.const 0)) "\\AA\\AA\\AA\\AA\\AA\\AA\\AA\\AA\\AA\\AA\\AA\\AA\\AA\\AA\\AA\\AA")
+ (data (offset (i32.const 16)) "\\02\\00\\00\\00\\02\\00\\00\\00\\02\\00\\00\\00\\02\\00\\00\\00")
+ (func (export "as-f32x4.min-operand") (result v128)
+ (f32x4.min (v128.load (i32.const 0)) (v128.load offset=16 (i32.const 1)))
+ )
+)`);
+
+// ./test/core/simd/simd_load.wast:102
+assert_return(
+ () => invoke($9, `as-f32x4.min-operand`, []),
+ [i32x4([0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa])],
+);
+
+// ./test/core/simd/simd_load.wast:104
+let $10 = instantiate(`(module (memory 1)
+ (data (offset (i32.const 0)) "\\00\\00\\00\\43\\00\\00\\80\\3f\\66\\66\\e6\\3f\\00\\00\\80\\bf") ;; 128 1.0 1.8 -1
+ (func (export "as-i32x4.trunc_sat_f32x4_s-operand") (result v128)
+ (i32x4.trunc_sat_f32x4_s (v128.load (i32.const 0)))
+ )
+)`);
+
+// ./test/core/simd/simd_load.wast:110
+assert_return(
+ () => invoke($10, `as-i32x4.trunc_sat_f32x4_s-operand`, []),
+ [i32x4([0x80, 0x1, 0x1, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_load.wast:112
+let $11 = instantiate(`(module (memory 1)
+ (data (offset (i32.const 0)) "\\02\\00\\00\\00\\02\\00\\00\\00\\02\\00\\00\\00\\02\\00\\00\\00")
+ (func (export "as-f32x4.convert_i32x4_u-operand") (result v128)
+ (f32x4.convert_i32x4_u (v128.load (i32.const 0)))
+ )
+)`);
+
+// ./test/core/simd/simd_load.wast:118
+assert_return(
+ () => invoke($11, `as-f32x4.convert_i32x4_u-operand`, []),
+ [
+ new F32x4Pattern(
+ value("f32", 2),
+ value("f32", 2),
+ value("f32", 2),
+ value("f32", 2),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_load.wast:120
+let $12 = instantiate(`(module (memory 1)
+ (data (offset (i32.const 0)) "\\64\\65\\66\\67\\68\\69\\6a\\6b\\6c\\6d\\6e\\6f\\70\\71\\72\\73") ;; 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115
+ (data (offset (i32.const 16)) "\\0f\\0e\\0d\\0c\\0b\\0a\\09\\08\\07\\06\\05\\04\\03\\02\\01\\00") ;; 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
+ (func (export "as-i8x16.swizzle-operand") (result v128)
+ (i8x16.swizzle (v128.load (i32.const 0)) (v128.load offset=15 (i32.const 1)))
+ )
+)`);
+
+// ./test/core/simd/simd_load.wast:127
+assert_return(
+ () => invoke($12, `as-i8x16.swizzle-operand`, []),
+ [
+ i8x16([0x73, 0x72, 0x71, 0x70, 0x6f, 0x6e, 0x6d, 0x6c, 0x6b, 0x6a, 0x69, 0x68, 0x67, 0x66, 0x65, 0x64]),
+ ],
+);
+
+// ./test/core/simd/simd_load.wast:129
+let $13 = instantiate(`(module (memory 1)
+ (data (i32.const 0) "\\00\\01\\02\\03\\04\\05\\06\\07\\08\\09\\0a\\0b\\0c\\0d\\0e\\0f\\00\\01\\02\\03")
+ (func (export "as-br-value") (result v128)
+ (block (result v128) (br 0 (v128.load (i32.const 0))))
+ )
+)`);
+
+// ./test/core/simd/simd_load.wast:135
+assert_return(() => invoke($13, `as-br-value`, []), [i32x4([0x3020100, 0x7060504, 0xb0a0908, 0xf0e0d0c])]);
+
+// ./test/core/simd/simd_load.wast:140
+assert_malformed(
+ () => instantiate(`(memory 1) (func (local v128) (drop (v128.load8 (i32.const 0)))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_load.wast:147
+assert_malformed(
+ () => instantiate(`(memory 1) (func (local v128) (drop (v128.load16 (i32.const 0)))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_load.wast:154
+assert_malformed(
+ () => instantiate(`(memory 1) (func (local v128) (drop (v128.load32 (i32.const 0)))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_load.wast:165
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (local v128) (drop (v128.load (f32.const 0)))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_load.wast:169
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (local v128) (block (br_if 0 (v128.load (i32.const 0))))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_load.wast:173
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (local v128) (v128.load (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_load.wast:181
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (drop (v128.load (local.get 2)))))`),
+ `unknown local 2`,
+);
+
+// ./test/core/simd/simd_load.wast:185
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (drop (v128.load))))`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/multi-memory/simd_memory-multi.wast.js b/js/src/jit-test/tests/wasm/spec/multi-memory/simd_memory-multi.wast.js
new file mode 100644
index 0000000000..7214d0785e
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/multi-memory/simd_memory-multi.wast.js
@@ -0,0 +1,58 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_memory-multi.wast
+
+// ./test/core/simd/simd_memory-multi.wast:5
+let $0 = instantiate(`(module
+ (memory 1)
+ (memory $$m 1)
+
+ (func
+ (local $$v v128)
+
+ (drop (v128.load8_lane 1 (i32.const 0) (local.get $$v)))
+ (drop (v128.load8_lane 1 offset=0 1 (i32.const 0) (local.get $$v)))
+ (drop (v128.load8_lane 1 offset=0 align=1 1 (i32.const 0) (local.get $$v)))
+ (drop (v128.load8_lane 1 align=1 1 (i32.const 0) (local.get $$v)))
+
+ (drop (v128.load8_lane $$m 1 (i32.const 0) (local.get $$v)))
+ (drop (v128.load8_lane $$m offset=0 1 (i32.const 0) (local.get $$v)))
+ (drop (v128.load8_lane $$m offset=0 align=1 1 (i32.const 0) (local.get $$v)))
+ (drop (v128.load8_lane $$m align=1 1 (i32.const 0) (local.get $$v)))
+
+ (drop (v128.load8_lane 1 1 (i32.const 0) (local.get $$v)))
+ (drop (v128.load8_lane 1 offset=0 1 (i32.const 0) (local.get $$v)))
+ (drop (v128.load8_lane 1 offset=0 align=1 1 (i32.const 0) (local.get $$v)))
+ (drop (v128.load8_lane 1 align=1 1 (i32.const 0) (local.get $$v)))
+
+ (v128.store8_lane 1 (i32.const 0) (local.get $$v))
+ (v128.store8_lane offset=0 1 (i32.const 0) (local.get $$v))
+ (v128.store8_lane offset=0 align=1 1 (i32.const 0) (local.get $$v))
+ (v128.store8_lane align=1 1 (i32.const 0) (local.get $$v))
+
+ (v128.store8_lane $$m 1 (i32.const 0) (local.get $$v))
+ (v128.store8_lane $$m offset=0 1 (i32.const 0) (local.get $$v))
+ (v128.store8_lane $$m offset=0 align=1 1 (i32.const 0) (local.get $$v))
+ (v128.store8_lane $$m align=1 1 (i32.const 0) (local.get $$v))
+
+ (v128.store8_lane 1 1 (i32.const 0) (local.get $$v))
+ (v128.store8_lane 1 offset=0 1 (i32.const 0) (local.get $$v))
+ (v128.store8_lane 1 offset=0 align=1 1 (i32.const 0) (local.get $$v))
+ (v128.store8_lane 1 align=1 1 (i32.const 0) (local.get $$v))
+ )
+)`);
diff --git a/js/src/jit-test/tests/wasm/spec/multi-memory/simd_store.wast.js b/js/src/jit-test/tests/wasm/spec/multi-memory/simd_store.wast.js
new file mode 100644
index 0000000000..aaecc09ddd
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/multi-memory/simd_store.wast.js
@@ -0,0 +1,238 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_store.wast
+
+// ./test/core/simd/simd_store.wast:3
+let $0 = instantiate(`(module
+ (memory 1)
+ (func (export "v128.store_i8x16") (result v128)
+ (v128.store (i32.const 0) (v128.const i8x16 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15))
+ (v128.load (i32.const 0))
+ )
+ (func (export "v128.store_i16x8") (result v128)
+ (v128.store (i32.const 0) (v128.const i16x8 0 1 2 3 4 5 6 7))
+ (v128.load (i32.const 0))
+ )
+ (func (export "v128.store_i16x8_2") (result v128)
+ (v128.store (i32.const 0) (v128.const i16x8 012_345 012_345 012_345 012_345 012_345 012_345 012_345 012_345))
+ (v128.load (i32.const 0))
+ )
+ (func (export "v128.store_i16x8_3") (result v128)
+ (v128.store (i32.const 0) (v128.const i16x8 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234))
+ (v128.load (i32.const 0))
+ )
+ (func (export "v128.store_i32x4") (result v128)
+ (v128.store (i32.const 0) (v128.const i32x4 0 1 2 3))
+ (v128.load (i32.const 0))
+ )
+ (func (export "v128.store_i32x4_2") (result v128)
+ (v128.store (i32.const 0) (v128.const i32x4 0_123_456_789 0_123_456_789 0_123_456_789 0_123_456_789))
+ (v128.load (i32.const 0))
+ )
+ (func (export "v128.store_i32x4_3") (result v128)
+ (v128.store (i32.const 0) (v128.const i32x4 0x0_1234_5678 0x0_1234_5678 0x0_1234_5678 0x0_1234_5678))
+ (v128.load (i32.const 0))
+ )
+
+ (func (export "v128.store_f32x4") (result v128)
+ (v128.store (i32.const 0) (v128.const f32x4 0 1 2 3))
+ (v128.load (i32.const 0))
+ )
+)`);
+
+// ./test/core/simd/simd_store.wast:40
+assert_return(
+ () => invoke($0, `v128.store_i8x16`, []),
+ [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ],
+);
+
+// ./test/core/simd/simd_store.wast:41
+assert_return(() => invoke($0, `v128.store_i16x8`, []), [i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7])]);
+
+// ./test/core/simd/simd_store.wast:42
+assert_return(
+ () => invoke($0, `v128.store_i16x8_2`, []),
+ [i16x8([0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039])],
+);
+
+// ./test/core/simd/simd_store.wast:43
+assert_return(
+ () => invoke($0, `v128.store_i16x8_3`, []),
+ [i16x8([0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234])],
+);
+
+// ./test/core/simd/simd_store.wast:44
+assert_return(() => invoke($0, `v128.store_i32x4`, []), [i32x4([0x0, 0x1, 0x2, 0x3])]);
+
+// ./test/core/simd/simd_store.wast:45
+assert_return(
+ () => invoke($0, `v128.store_i32x4_2`, []),
+ [i32x4([0x75bcd15, 0x75bcd15, 0x75bcd15, 0x75bcd15])],
+);
+
+// ./test/core/simd/simd_store.wast:46
+assert_return(
+ () => invoke($0, `v128.store_i32x4_3`, []),
+ [i32x4([0x12345678, 0x12345678, 0x12345678, 0x12345678])],
+);
+
+// ./test/core/simd/simd_store.wast:47
+assert_return(
+ () => invoke($0, `v128.store_f32x4`, []),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 1),
+ value("f32", 2),
+ value("f32", 3),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_store.wast:52
+let $1 = instantiate(`(module
+ (memory 1)
+ (func (export "as-block-value")
+ (block (v128.store (i32.const 0) (v128.const i32x4 0 0 0 0)))
+ )
+ (func (export "as-loop-value")
+ (loop (v128.store (i32.const 0) (v128.const i32x4 0 0 0 0)))
+ )
+ (func (export "as-br-value")
+ (block (br 0 (v128.store (i32.const 0) (v128.const i32x4 0 0 0 0))))
+ )
+ (func (export "as-br_if-value")
+ (block
+ (br_if 0 (v128.store (i32.const 0) (v128.const i32x4 0 0 0 0)) (i32.const 1))
+ )
+ )
+ (func (export "as-br_if-value-cond")
+ (block
+ (br_if 0 (i32.const 6) (v128.store (i32.const 0) (v128.const i32x4 0 0 0 0)))
+ )
+ )
+ (func (export "as-br_table-value")
+ (block
+ (br_table 0 (v128.store (i32.const 0) (v128.const i32x4 0 0 0 0)) (i32.const 1))
+ )
+ )
+ (func (export "as-return-value")
+ (return (v128.store (i32.const 0) (v128.const i32x4 0 0 0 0)))
+ )
+ (func (export "as-if-then")
+ (if (i32.const 1) (then (v128.store (i32.const 0) (v128.const i32x4 0 0 0 0))))
+ )
+ (func (export "as-if-else")
+ (if (i32.const 0) (then) (else (v128.store (i32.const 0) (v128.const i32x4 0 0 0 0))))
+ )
+)`);
+
+// ./test/core/simd/simd_store.wast:89
+assert_return(() => invoke($1, `as-block-value`, []), []);
+
+// ./test/core/simd/simd_store.wast:90
+assert_return(() => invoke($1, `as-loop-value`, []), []);
+
+// ./test/core/simd/simd_store.wast:91
+assert_return(() => invoke($1, `as-br-value`, []), []);
+
+// ./test/core/simd/simd_store.wast:92
+assert_return(() => invoke($1, `as-br_if-value`, []), []);
+
+// ./test/core/simd/simd_store.wast:93
+assert_return(() => invoke($1, `as-br_if-value-cond`, []), []);
+
+// ./test/core/simd/simd_store.wast:94
+assert_return(() => invoke($1, `as-br_table-value`, []), []);
+
+// ./test/core/simd/simd_store.wast:95
+assert_return(() => invoke($1, `as-return-value`, []), []);
+
+// ./test/core/simd/simd_store.wast:96
+assert_return(() => invoke($1, `as-if-then`, []), []);
+
+// ./test/core/simd/simd_store.wast:97
+assert_return(() => invoke($1, `as-if-else`, []), []);
+
+// ./test/core/simd/simd_store.wast:102
+assert_malformed(
+ () => instantiate(`(memory 1) (func (v128.store8 (i32.const 0) (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_store.wast:109
+assert_malformed(
+ () => instantiate(`(memory 1) (func (v128.store16 (i32.const 0) (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_store.wast:116
+assert_malformed(
+ () => instantiate(`(memory 1) (func (v128.store32 (i32.const 0) (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_store.wast:127
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (v128.store (f32.const 0) (v128.const i32x4 0 0 0 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_store.wast:131
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (local v128) (block (br_if 0 (v128.store)))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_store.wast:135
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (result v128) (v128.store (i32.const 0) (v128.const i32x4 0 0 0 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_store.wast:143
+assert_invalid(
+ () => instantiate(`(module (memory 0)
+ (func $$v128.store-1st-arg-empty
+ (v128.store (v128.const i32x4 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_store.wast:151
+assert_invalid(
+ () => instantiate(`(module (memory 0)
+ (func $$v128.store-2nd-arg-empty
+ (v128.store (i32.const 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_store.wast:159
+assert_invalid(
+ () => instantiate(`(module (memory 0)
+ (func $$v128.store-arg-empty
+ (v128.store)
+ )
+ )`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/multi-memory/start0.wast.js b/js/src/jit-test/tests/wasm/spec/multi-memory/start0.wast.js
new file mode 100644
index 0000000000..90cd5d63ac
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/multi-memory/start0.wast.js
@@ -0,0 +1,73 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/multi-memory/start0.wast
+
+// ./test/core/multi-memory/start0.wast:1
+let $0 = instantiate(`(module
+ (memory 0)
+ (memory $$m (data "A"))
+ (memory $$n 1)
+
+ (func $$inc
+ (i32.store8 $$m
+ (i32.const 0)
+ (i32.add
+ (i32.load8_u $$m (i32.const 0))
+ (i32.const 1)
+ )
+ )
+ )
+ (func $$get (result i32)
+ (return (i32.load8_u $$m (i32.const 0)))
+ )
+ (func $$getn (result i32)
+ (return (i32.load8_u $$n (i32.const 0)))
+ )
+ (func $$main
+ (call $$inc)
+ (call $$inc)
+ (call $$inc)
+ )
+
+ (start $$main)
+ (export "inc" (func $$inc))
+ (export "get" (func $$get))
+ (export "getn" (func $$getn))
+)`);
+
+// ./test/core/multi-memory/start0.wast:32
+assert_return(() => invoke($0, `get`, []), [value("i32", 68)]);
+
+// ./test/core/multi-memory/start0.wast:33
+assert_return(() => invoke($0, `getn`, []), [value("i32", 0)]);
+
+// ./test/core/multi-memory/start0.wast:35
+invoke($0, `inc`, []);
+
+// ./test/core/multi-memory/start0.wast:36
+assert_return(() => invoke($0, `get`, []), [value("i32", 69)]);
+
+// ./test/core/multi-memory/start0.wast:37
+assert_return(() => invoke($0, `getn`, []), [value("i32", 0)]);
+
+// ./test/core/multi-memory/start0.wast:39
+invoke($0, `inc`, []);
+
+// ./test/core/multi-memory/start0.wast:40
+assert_return(() => invoke($0, `get`, []), [value("i32", 70)]);
+
+// ./test/core/multi-memory/start0.wast:41
+assert_return(() => invoke($0, `getn`, []), [value("i32", 0)]);
diff --git a/js/src/jit-test/tests/wasm/spec/multi-memory/store.wast.js b/js/src/jit-test/tests/wasm/spec/multi-memory/store.wast.js
new file mode 100644
index 0000000000..8c9a75f0c2
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/multi-memory/store.wast.js
@@ -0,0 +1,803 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/store.wast
+
+// ./test/core/store.wast:3
+let $0 = instantiate(`(module
+ (memory $$mem1 1)
+ (memory $$mem2 1)
+
+ (func (export "load1") (param i32) (result i64)
+ (i64.load $$mem1 (local.get 0))
+ )
+ (func (export "load2") (param i32) (result i64)
+ (i64.load $$mem2 (local.get 0))
+ )
+
+ (func (export "store1") (param i32 i64)
+ (i64.store $$mem1 (local.get 0) (local.get 1))
+ )
+ (func (export "store2") (param i32 i64)
+ (i64.store $$mem2 (local.get 0) (local.get 1))
+ )
+)`);
+
+// ./test/core/store.wast:22
+invoke($0, `store1`, [0, 1n]);
+
+// ./test/core/store.wast:23
+invoke($0, `store2`, [0, 2n]);
+
+// ./test/core/store.wast:24
+assert_return(() => invoke($0, `load1`, [0]), [value("i64", 1n)]);
+
+// ./test/core/store.wast:25
+assert_return(() => invoke($0, `load2`, [0]), [value("i64", 2n)]);
+
+// ./test/core/store.wast:28
+let $1 = instantiate(`(module $$M1
+ (memory (export "mem") 1)
+
+ (func (export "load") (param i32) (result i64)
+ (i64.load (local.get 0))
+ )
+ (func (export "store") (param i32 i64)
+ (i64.store (local.get 0) (local.get 1))
+ )
+)`);
+register($1, `M1`);
+
+// ./test/core/store.wast:38
+register($1, `M1`);
+
+// ./test/core/store.wast:40
+let $2 = instantiate(`(module $$M2
+ (memory (export "mem") 1)
+
+ (func (export "load") (param i32) (result i64)
+ (i64.load (local.get 0))
+ )
+ (func (export "store") (param i32 i64)
+ (i64.store (local.get 0) (local.get 1))
+ )
+)`);
+register($2, `M2`);
+
+// ./test/core/store.wast:50
+register($2, `M2`);
+
+// ./test/core/store.wast:52
+invoke(`M1`, `store`, [0, 1n]);
+
+// ./test/core/store.wast:53
+invoke(`M2`, `store`, [0, 2n]);
+
+// ./test/core/store.wast:54
+assert_return(() => invoke(`M1`, `load`, [0]), [value("i64", 1n)]);
+
+// ./test/core/store.wast:55
+assert_return(() => invoke(`M2`, `load`, [0]), [value("i64", 2n)]);
+
+// ./test/core/store.wast:57
+let $3 = instantiate(`(module
+ (memory $$mem1 (import "M1" "mem") 1)
+ (memory $$mem2 (import "M2" "mem") 1)
+
+ (func (export "load1") (param i32) (result i64)
+ (i64.load $$mem1 (local.get 0))
+ )
+ (func (export "load2") (param i32) (result i64)
+ (i64.load $$mem2 (local.get 0))
+ )
+
+ (func (export "store1") (param i32 i64)
+ (i64.store $$mem1 (local.get 0) (local.get 1))
+ )
+ (func (export "store2") (param i32 i64)
+ (i64.store $$mem2 (local.get 0) (local.get 1))
+ )
+)`);
+
+// ./test/core/store.wast:76
+invoke($3, `store1`, [0, 1n]);
+
+// ./test/core/store.wast:77
+invoke($3, `store2`, [0, 2n]);
+
+// ./test/core/store.wast:78
+assert_return(() => invoke($3, `load1`, [0]), [value("i64", 1n)]);
+
+// ./test/core/store.wast:79
+assert_return(() => invoke($3, `load2`, [0]), [value("i64", 2n)]);
+
+// ./test/core/store.wast:82
+let $4 = instantiate(`(module
+ (memory (export "mem") 2)
+)`);
+
+// ./test/core/store.wast:85
+register($4, `M`);
+
+// ./test/core/store.wast:87
+let $5 = instantiate(`(module
+ (memory $$mem1 (import "M" "mem") 2)
+ (memory $$mem2 3)
+
+ (data (memory $$mem1) (i32.const 20) "\\01\\02\\03\\04\\05")
+ (data (memory $$mem2) (i32.const 50) "\\0A\\0B\\0C\\0D\\0E")
+
+ (func (export "read1") (param i32) (result i32)
+ (i32.load8_u $$mem1 (local.get 0))
+ )
+ (func (export "read2") (param i32) (result i32)
+ (i32.load8_u $$mem2 (local.get 0))
+ )
+
+ (func (export "copy-1-to-2")
+ (local $$i i32)
+ (local.set $$i (i32.const 20))
+ (loop $$cont
+ (br_if 1 (i32.eq (local.get $$i) (i32.const 23)))
+ (i32.store8 $$mem2 (local.get $$i) (i32.load8_u $$mem1 (local.get $$i)))
+ (local.set $$i (i32.add (local.get $$i) (i32.const 1)))
+ (br $$cont)
+ )
+ )
+
+ (func (export "copy-2-to-1")
+ (local $$i i32)
+ (local.set $$i (i32.const 50))
+ (loop $$cont
+ (br_if 1 (i32.eq (local.get $$i) (i32.const 54)))
+ (i32.store8 $$mem1 (local.get $$i) (i32.load8_u $$mem2 (local.get $$i)))
+ (local.set $$i (i32.add (local.get $$i) (i32.const 1)))
+ (br $$cont)
+ )
+ )
+)`);
+
+// ./test/core/store.wast:124
+assert_return(() => invoke($5, `read2`, [20]), [value("i32", 0)]);
+
+// ./test/core/store.wast:125
+assert_return(() => invoke($5, `read2`, [21]), [value("i32", 0)]);
+
+// ./test/core/store.wast:126
+assert_return(() => invoke($5, `read2`, [22]), [value("i32", 0)]);
+
+// ./test/core/store.wast:127
+assert_return(() => invoke($5, `read2`, [23]), [value("i32", 0)]);
+
+// ./test/core/store.wast:128
+assert_return(() => invoke($5, `read2`, [24]), [value("i32", 0)]);
+
+// ./test/core/store.wast:129
+invoke($5, `copy-1-to-2`, []);
+
+// ./test/core/store.wast:130
+assert_return(() => invoke($5, `read2`, [20]), [value("i32", 1)]);
+
+// ./test/core/store.wast:131
+assert_return(() => invoke($5, `read2`, [21]), [value("i32", 2)]);
+
+// ./test/core/store.wast:132
+assert_return(() => invoke($5, `read2`, [22]), [value("i32", 3)]);
+
+// ./test/core/store.wast:133
+assert_return(() => invoke($5, `read2`, [23]), [value("i32", 0)]);
+
+// ./test/core/store.wast:134
+assert_return(() => invoke($5, `read2`, [24]), [value("i32", 0)]);
+
+// ./test/core/store.wast:136
+assert_return(() => invoke($5, `read1`, [50]), [value("i32", 0)]);
+
+// ./test/core/store.wast:137
+assert_return(() => invoke($5, `read1`, [51]), [value("i32", 0)]);
+
+// ./test/core/store.wast:138
+assert_return(() => invoke($5, `read1`, [52]), [value("i32", 0)]);
+
+// ./test/core/store.wast:139
+assert_return(() => invoke($5, `read1`, [53]), [value("i32", 0)]);
+
+// ./test/core/store.wast:140
+assert_return(() => invoke($5, `read1`, [54]), [value("i32", 0)]);
+
+// ./test/core/store.wast:141
+invoke($5, `copy-2-to-1`, []);
+
+// ./test/core/store.wast:142
+assert_return(() => invoke($5, `read1`, [50]), [value("i32", 10)]);
+
+// ./test/core/store.wast:143
+assert_return(() => invoke($5, `read1`, [51]), [value("i32", 11)]);
+
+// ./test/core/store.wast:144
+assert_return(() => invoke($5, `read1`, [52]), [value("i32", 12)]);
+
+// ./test/core/store.wast:145
+assert_return(() => invoke($5, `read1`, [53]), [value("i32", 13)]);
+
+// ./test/core/store.wast:146
+assert_return(() => invoke($5, `read1`, [54]), [value("i32", 0)]);
+
+// ./test/core/store.wast:151
+let $6 = instantiate(`(module
+ (memory 1)
+
+ (func (export "as-block-value")
+ (block (i32.store (i32.const 0) (i32.const 1)))
+ )
+ (func (export "as-loop-value")
+ (loop (i32.store (i32.const 0) (i32.const 1)))
+ )
+
+ (func (export "as-br-value")
+ (block (br 0 (i32.store (i32.const 0) (i32.const 1))))
+ )
+ (func (export "as-br_if-value")
+ (block
+ (br_if 0 (i32.store (i32.const 0) (i32.const 1)) (i32.const 1))
+ )
+ )
+ (func (export "as-br_if-value-cond")
+ (block
+ (br_if 0 (i32.const 6) (i32.store (i32.const 0) (i32.const 1)))
+ )
+ )
+ (func (export "as-br_table-value")
+ (block
+ (br_table 0 (i32.store (i32.const 0) (i32.const 1)) (i32.const 1))
+ )
+ )
+
+ (func (export "as-return-value")
+ (return (i32.store (i32.const 0) (i32.const 1)))
+ )
+
+ (func (export "as-if-then")
+ (if (i32.const 1) (then (i32.store (i32.const 0) (i32.const 1))))
+ )
+ (func (export "as-if-else")
+ (if (i32.const 0) (then) (else (i32.store (i32.const 0) (i32.const 1))))
+ )
+)`);
+
+// ./test/core/store.wast:192
+assert_return(() => invoke($6, `as-block-value`, []), []);
+
+// ./test/core/store.wast:193
+assert_return(() => invoke($6, `as-loop-value`, []), []);
+
+// ./test/core/store.wast:195
+assert_return(() => invoke($6, `as-br-value`, []), []);
+
+// ./test/core/store.wast:196
+assert_return(() => invoke($6, `as-br_if-value`, []), []);
+
+// ./test/core/store.wast:197
+assert_return(() => invoke($6, `as-br_if-value-cond`, []), []);
+
+// ./test/core/store.wast:198
+assert_return(() => invoke($6, `as-br_table-value`, []), []);
+
+// ./test/core/store.wast:200
+assert_return(() => invoke($6, `as-return-value`, []), []);
+
+// ./test/core/store.wast:202
+assert_return(() => invoke($6, `as-if-then`, []), []);
+
+// ./test/core/store.wast:203
+assert_return(() => invoke($6, `as-if-else`, []), []);
+
+// ./test/core/store.wast:205
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param i32) (i32.store32 (local.get 0) (i32.const 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/store.wast:212
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param i32) (i32.store64 (local.get 0) (i64.const 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/store.wast:220
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param i32) (i64.store64 (local.get 0) (i64.const 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/store.wast:228
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param i32) (f32.store32 (local.get 0) (f32.const 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/store.wast:235
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param i32) (f32.store64 (local.get 0) (f64.const 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/store.wast:243
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param i32) (f64.store32 (local.get 0) (f32.const 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/store.wast:250
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param i32) (f64.store64 (local.get 0) (f64.const 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/store.wast:259
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (param i32) (result i32) (i32.store (i32.const 0) (i32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:263
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (param i64) (result i64) (i64.store (i32.const 0) (i64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:267
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (param f32) (result f32) (f32.store (i32.const 0) (f32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:271
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (param f64) (result f64) (f64.store (i32.const 0) (f64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:275
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (param i32) (result i32) (i32.store8 (i32.const 0) (i32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:279
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (param i32) (result i32) (i32.store16 (i32.const 0) (i32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:283
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (param i64) (result i64) (i64.store8 (i32.const 0) (i64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:287
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (param i64) (result i64) (i64.store16 (i32.const 0) (i64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:291
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (param i64) (result i64) (i64.store32 (i32.const 0) (i64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:297
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-address-empty
+ (i32.store)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:306
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-value-empty
+ (i32.const 0) (i32.store)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:315
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-address-empty-in-block
+ (i32.const 0) (i32.const 0)
+ (block (i32.store))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:325
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-value-empty-in-block
+ (i32.const 0)
+ (block (i32.const 0) (i32.store))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:335
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-address-empty-in-loop
+ (i32.const 0) (i32.const 0)
+ (loop (i32.store))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:345
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-value-empty-in-loop
+ (i32.const 0)
+ (loop (i32.const 0) (i32.store))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:355
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-address-empty-in-then
+ (i32.const 0) (i32.const 0)
+ (if (then (i32.store)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:365
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-value-empty-in-then
+ (i32.const 0)
+ (if (then (i32.const 0) (i32.store)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:375
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-address-empty-in-else
+ (i32.const 0) (i32.const 0)
+ (if (result i32) (then (i32.const 0)) (else (i32.store)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:385
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-value-empty-in-else
+ (i32.const 0)
+ (if (result i32) (then (i32.const 0)) (else (i32.const 0) (i32.store)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:395
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-address-empty-in-br
+ (i32.const 0) (i32.const 0)
+ (block (br 0 (i32.store)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:405
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-value-empty-in-br
+ (i32.const 0)
+ (block (br 0 (i32.const 0) (i32.store)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:415
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-address-empty-in-br_if
+ (i32.const 0) (i32.const 0)
+ (block (br_if 0 (i32.store) (i32.const 1)) )
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:425
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-value-empty-in-br_if
+ (i32.const 0)
+ (block (br_if 0 (i32.const 0) (i32.store) (i32.const 1)) )
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:435
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-address-empty-in-br_table
+ (i32.const 0) (i32.const 0)
+ (block (br_table 0 (i32.store)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:445
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-value-empty-in-br_table
+ (i32.const 0)
+ (block (br_table 0 (i32.const 0) (i32.store)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:455
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-address-empty-in-return
+ (return (i32.store))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:464
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-value-empty-in-return
+ (return (i32.const 0) (i32.store))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:473
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-address-empty-in-select
+ (select (i32.store) (i32.const 1) (i32.const 2))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:482
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-value-empty-in-select
+ (select (i32.const 0) (i32.store) (i32.const 1) (i32.const 2))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:491
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-address-empty-in-call
+ (call 1 (i32.store))
+ )
+ (func (param i32) (result i32) (local.get 0))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:501
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-value-empty-in-call
+ (call 1 (i32.const 0) (i32.store))
+ )
+ (func (param i32) (result i32) (local.get 0))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:511
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$f (param i32) (result i32) (local.get 0))
+ (type $$sig (func (param i32) (result i32)))
+ (table funcref (elem $$f))
+ (func $$type-address-empty-in-call_indirect
+ (block (result i32)
+ (call_indirect (type $$sig)
+ (i32.store) (i32.const 0)
+ )
+ )
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:527
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$f (param i32) (result i32) (local.get 0))
+ (type $$sig (func (param i32) (result i32)))
+ (table funcref (elem $$f))
+ (func $$type-value-empty-in-call_indirect
+ (block (result i32)
+ (call_indirect (type $$sig)
+ (i32.const 0) (i32.store) (i32.const 0)
+ )
+ )
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:547
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (i32.store (f32.const 0) (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:548
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (i32.store8 (f32.const 0) (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:549
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (i32.store16 (f32.const 0) (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:550
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (i64.store (f32.const 0) (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:551
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (i64.store8 (f32.const 0) (i64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:552
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (i64.store16 (f32.const 0) (i64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:553
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (i64.store32 (f32.const 0) (i64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:554
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (f32.store (f32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:555
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (f64.store (f32.const 0) (f64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:557
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (i32.store (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:558
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (i32.store8 (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:559
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (i32.store16 (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:560
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (i64.store (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:561
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (i64.store8 (i32.const 0) (f64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:562
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (i64.store16 (i32.const 0) (f64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:563
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (i64.store32 (i32.const 0) (f64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:564
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (f32.store (i32.const 0) (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:565
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (f64.store (i32.const 0) (i64.const 0))))`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/multi-memory/store0.wast.js b/js/src/jit-test/tests/wasm/spec/multi-memory/store0.wast.js
new file mode 100644
index 0000000000..9850d62a5a
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/multi-memory/store0.wast.js
@@ -0,0 +1,48 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/multi-memory/store0.wast
+
+// ./test/core/multi-memory/store0.wast:3
+let $0 = instantiate(`(module
+ (memory $$mem1 1)
+ (memory $$mem2 1)
+
+ (func (export "load1") (param i32) (result i64)
+ (i64.load $$mem1 (local.get 0))
+ )
+ (func (export "load2") (param i32) (result i64)
+ (i64.load $$mem2 (local.get 0))
+ )
+
+ (func (export "store1") (param i32 i64)
+ (i64.store $$mem1 (local.get 0) (local.get 1))
+ )
+ (func (export "store2") (param i32 i64)
+ (i64.store $$mem2 (local.get 0) (local.get 1))
+ )
+)`);
+
+// ./test/core/multi-memory/store0.wast:22
+invoke($0, `store1`, [0, 1n]);
+
+// ./test/core/multi-memory/store0.wast:23
+invoke($0, `store2`, [0, 2n]);
+
+// ./test/core/multi-memory/store0.wast:24
+assert_return(() => invoke($0, `load1`, [0]), [value("i64", 1n)]);
+
+// ./test/core/multi-memory/store0.wast:25
+assert_return(() => invoke($0, `load2`, [0]), [value("i64", 2n)]);
diff --git a/js/src/jit-test/tests/wasm/spec/multi-memory/store1.wast.js b/js/src/jit-test/tests/wasm/spec/multi-memory/store1.wast.js
new file mode 100644
index 0000000000..e79c256871
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/multi-memory/store1.wast.js
@@ -0,0 +1,92 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/multi-memory/store1.wast
+
+// ./test/core/multi-memory/store1.wast:1
+let $0 = instantiate(`(module $$M1
+ (memory (export "mem") 1)
+
+ (func (export "load") (param i32) (result i64)
+ (i64.load (local.get 0))
+ )
+ (func (export "store") (param i32 i64)
+ (i64.store (local.get 0) (local.get 1))
+ )
+)`);
+register($0, `M1`);
+
+// ./test/core/multi-memory/store1.wast:11
+register($0, `M1`);
+
+// ./test/core/multi-memory/store1.wast:13
+let $1 = instantiate(`(module $$M2
+ (memory (export "mem") 1)
+
+ (func (export "load") (param i32) (result i64)
+ (i64.load (local.get 0))
+ )
+ (func (export "store") (param i32 i64)
+ (i64.store (local.get 0) (local.get 1))
+ )
+)`);
+register($1, `M2`);
+
+// ./test/core/multi-memory/store1.wast:23
+register($1, `M2`);
+
+// ./test/core/multi-memory/store1.wast:25
+invoke(`M1`, `store`, [0, 1n]);
+
+// ./test/core/multi-memory/store1.wast:26
+invoke(`M2`, `store`, [0, 2n]);
+
+// ./test/core/multi-memory/store1.wast:27
+assert_return(() => invoke(`M1`, `load`, [0]), [value("i64", 1n)]);
+
+// ./test/core/multi-memory/store1.wast:28
+assert_return(() => invoke(`M2`, `load`, [0]), [value("i64", 2n)]);
+
+// ./test/core/multi-memory/store1.wast:30
+let $2 = instantiate(`(module
+ (memory $$mem1 (import "M1" "mem") 1)
+ (memory $$mem2 (import "M2" "mem") 1)
+
+ (func (export "load1") (param i32) (result i64)
+ (i64.load $$mem1 (local.get 0))
+ )
+ (func (export "load2") (param i32) (result i64)
+ (i64.load $$mem2 (local.get 0))
+ )
+
+ (func (export "store1") (param i32 i64)
+ (i64.store $$mem1 (local.get 0) (local.get 1))
+ )
+ (func (export "store2") (param i32 i64)
+ (i64.store $$mem2 (local.get 0) (local.get 1))
+ )
+)`);
+
+// ./test/core/multi-memory/store1.wast:49
+invoke($2, `store1`, [0, 1n]);
+
+// ./test/core/multi-memory/store1.wast:50
+invoke($2, `store2`, [0, 2n]);
+
+// ./test/core/multi-memory/store1.wast:51
+assert_return(() => invoke($2, `load1`, [0]), [value("i64", 1n)]);
+
+// ./test/core/multi-memory/store1.wast:52
+assert_return(() => invoke($2, `load2`, [0]), [value("i64", 2n)]);
diff --git a/js/src/jit-test/tests/wasm/spec/multi-memory/traps0.wast.js b/js/src/jit-test/tests/wasm/spec/multi-memory/traps0.wast.js
new file mode 100644
index 0000000000..ff6a6baa7a
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/multi-memory/traps0.wast.js
@@ -0,0 +1,80 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/multi-memory/traps0.wast
+
+// ./test/core/multi-memory/traps0.wast:1
+let $0 = instantiate(`(module
+ (memory $$mem0 1)
+ (memory $$mem1 1)
+ (memory $$mem2 1)
+
+ (func (export "no_dce.i32.load") (param $$i i32) (drop (i32.load $$mem1 (local.get $$i))))
+ (func (export "no_dce.i32.load16_s") (param $$i i32) (drop (i32.load16_s $$mem1 (local.get $$i))))
+ (func (export "no_dce.i32.load16_u") (param $$i i32) (drop (i32.load16_u $$mem1 (local.get $$i))))
+ (func (export "no_dce.i32.load8_s") (param $$i i32) (drop (i32.load8_s $$mem1 (local.get $$i))))
+ (func (export "no_dce.i32.load8_u") (param $$i i32) (drop (i32.load8_u $$mem1 (local.get $$i))))
+ (func (export "no_dce.i64.load") (param $$i i32) (drop (i64.load $$mem1 (local.get $$i))))
+ (func (export "no_dce.i64.load32_s") (param $$i i32) (drop (i64.load32_s $$mem1 (local.get $$i))))
+ (func (export "no_dce.i64.load32_u") (param $$i i32) (drop (i64.load32_u $$mem2 (local.get $$i))))
+ (func (export "no_dce.i64.load16_s") (param $$i i32) (drop (i64.load16_s $$mem2 (local.get $$i))))
+ (func (export "no_dce.i64.load16_u") (param $$i i32) (drop (i64.load16_u $$mem2 (local.get $$i))))
+ (func (export "no_dce.i64.load8_s") (param $$i i32) (drop (i64.load8_s $$mem2 (local.get $$i))))
+ (func (export "no_dce.i64.load8_u") (param $$i i32) (drop (i64.load8_u $$mem2 (local.get $$i))))
+ (func (export "no_dce.f32.load") (param $$i i32) (drop (f32.load $$mem2 (local.get $$i))))
+ (func (export "no_dce.f64.load") (param $$i i32) (drop (f64.load $$mem2 (local.get $$i))))
+)`);
+
+// ./test/core/multi-memory/traps0.wast:22
+assert_trap(() => invoke($0, `no_dce.i32.load`, [65536]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/traps0.wast:23
+assert_trap(() => invoke($0, `no_dce.i32.load16_s`, [65536]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/traps0.wast:24
+assert_trap(() => invoke($0, `no_dce.i32.load16_u`, [65536]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/traps0.wast:25
+assert_trap(() => invoke($0, `no_dce.i32.load8_s`, [65536]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/traps0.wast:26
+assert_trap(() => invoke($0, `no_dce.i32.load8_u`, [65536]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/traps0.wast:27
+assert_trap(() => invoke($0, `no_dce.i64.load`, [65536]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/traps0.wast:28
+assert_trap(() => invoke($0, `no_dce.i64.load32_s`, [65536]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/traps0.wast:29
+assert_trap(() => invoke($0, `no_dce.i64.load32_u`, [65536]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/traps0.wast:30
+assert_trap(() => invoke($0, `no_dce.i64.load16_s`, [65536]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/traps0.wast:31
+assert_trap(() => invoke($0, `no_dce.i64.load16_u`, [65536]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/traps0.wast:32
+assert_trap(() => invoke($0, `no_dce.i64.load8_s`, [65536]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/traps0.wast:33
+assert_trap(() => invoke($0, `no_dce.i64.load8_u`, [65536]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/traps0.wast:34
+assert_trap(() => invoke($0, `no_dce.f32.load`, [65536]), `out of bounds memory access`);
+
+// ./test/core/multi-memory/traps0.wast:35
+assert_trap(() => invoke($0, `no_dce.f64.load`, [65536]), `out of bounds memory access`);
diff --git a/js/src/jit-test/tests/wasm/spec/relaxed-simd/directives.txt b/js/src/jit-test/tests/wasm/spec/relaxed-simd/directives.txt
new file mode 100644
index 0000000000..625758af79
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/relaxed-simd/directives.txt
@@ -0,0 +1 @@
+|jit-test| test-also=--wasm-compiler=optimizing; test-also=--wasm-compiler=baseline; test-also=--wasm-test-serialization; test-also=--test-wasm-await-tier2; test-also=--disable-wasm-huge-memory; skip-variant-if: --disable-wasm-huge-memory, !wasmHugeMemorySupported(); local-include:harness/harness.js; --wasm-relaxed-simd; skip-if: !wasmRelaxedSimdEnabled() \ No newline at end of file
diff --git a/js/src/jit-test/tests/wasm/spec/relaxed-simd/harness/directives.txt b/js/src/jit-test/tests/wasm/spec/relaxed-simd/harness/directives.txt
new file mode 100644
index 0000000000..d41243abbb
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/relaxed-simd/harness/directives.txt
@@ -0,0 +1 @@
+|jit-test| skip-if: true \ No newline at end of file
diff --git a/js/src/jit-test/tests/wasm/spec/relaxed-simd/harness/harness.js b/js/src/jit-test/tests/wasm/spec/relaxed-simd/harness/harness.js
new file mode 100644
index 0000000000..a96781e8ed
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/relaxed-simd/harness/harness.js
@@ -0,0 +1,448 @@
+"use strict";
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+if (!wasmIsSupported()) {
+ quit();
+}
+
+function bytes(type, bytes) {
+ var typedBuffer = new Uint8Array(bytes);
+ return wasmGlobalFromArrayBuffer(type, typedBuffer.buffer);
+}
+function value(type, value) {
+ return new WebAssembly.Global({
+ value: type,
+ mutable: false,
+ }, value);
+}
+
+function i8x16(elements) {
+ let typedBuffer = new Uint8Array(elements);
+ return wasmGlobalFromArrayBuffer("v128", typedBuffer.buffer);
+}
+function i16x8(elements) {
+ let typedBuffer = new Uint16Array(elements);
+ return wasmGlobalFromArrayBuffer("v128", typedBuffer.buffer);
+}
+function i32x4(elements) {
+ let typedBuffer = new Uint32Array(elements);
+ return wasmGlobalFromArrayBuffer("v128", typedBuffer.buffer);
+}
+function i64x2(elements) {
+ let typedBuffer = new BigUint64Array(elements);
+ return wasmGlobalFromArrayBuffer("v128", typedBuffer.buffer);
+}
+function f32x4(elements) {
+ let typedBuffer = new Float32Array(elements);
+ return wasmGlobalFromArrayBuffer("v128", typedBuffer.buffer);
+}
+function f64x2(elements) {
+ let typedBuffer = new Float64Array(elements);
+ return wasmGlobalFromArrayBuffer("v128", typedBuffer.buffer);
+}
+
+function either(...arr) {
+ return new EitherVariants(arr);
+}
+
+class F32x4Pattern {
+ constructor(x, y, z, w) {
+ this.x = x;
+ this.y = y;
+ this.z = z;
+ this.w = w;
+ }
+}
+
+class F64x2Pattern {
+ constructor(x, y) {
+ this.x = x;
+ this.y = y;
+ }
+}
+
+class RefWithType {
+ constructor(type) {
+ this.type = type;
+ }
+
+ formatExpected() {
+ return `RefWithType(${this.type})`;
+ }
+
+ test(refGlobal) {
+ try {
+ new WebAssembly.Global({value: this.type}, refGlobal.value);
+ return true;
+ } catch (err) {
+ assertEq(err instanceof TypeError, true, `wrong type of error when creating global: ${err}`);
+ assertEq(!!err.message.match(/can only pass/), true, `wrong type of error when creating global: ${err}`);
+ return false;
+ }
+ }
+}
+
+// ref.extern values created by spec tests will be JS objects of the form
+// { [externsym]: <number> }. Other externref values are possible to observe
+// if extern.convert_any is used.
+let externsym = Symbol("externref");
+function externref(s) {
+ return { [externsym]: s };
+}
+function is_externref(x) {
+ return (x !== null && externsym in x) ? 1 : 0;
+}
+function is_funcref(x) {
+ return typeof x === "function" ? 1 : 0;
+}
+function eq_externref(x, y) {
+ return x === y ? 1 : 0;
+}
+function eq_funcref(x, y) {
+ return x === y ? 1 : 0;
+}
+
+class ExternRefResult {
+ constructor(n) {
+ this.n = n;
+ }
+
+ formatExpected() {
+ return `ref.extern ${this.n}`;
+ }
+
+ test(global) {
+ // the global's value can either be an externref or just a plain old JS number
+ let result = global.value;
+ if (typeof global.value === "object" && externsym in global.value) {
+ result = global.value[externsym];
+ }
+ return result === this.n;
+ }
+}
+
+// ref.host values created by spectests will be whatever the JS API does to
+// convert the given value to anyref. It should implicitly be like any.convert_extern.
+function hostref(v) {
+ if (!wasmGcEnabled()) {
+ throw new Error("ref.host only works when wasm GC is enabled");
+ }
+
+ const { internalizeNum } = new WebAssembly.Instance(
+ new WebAssembly.Module(wasmTextToBinary(`(module
+ (func (import "test" "coerce") (param i32) (result anyref))
+ (func (export "internalizeNum") (param i32) (result anyref)
+ (call 0 (local.get 0))
+ )
+ )`)),
+ { "test": { "coerce": x => x } },
+ ).exports;
+ return internalizeNum(v);
+}
+
+class HostRefResult {
+ constructor(n) {
+ this.n = n;
+ }
+
+ formatExpected() {
+ return `ref.host ${this.n}`;
+ }
+
+ test(externrefGlobal) {
+ assertEq(externsym in externrefGlobal.value, true, `HostRefResult only works with externref inputs`);
+ return externrefGlobal.value[externsym] === this.n;
+ }
+}
+
+let spectest = {
+ externref: externref,
+ is_externref: is_externref,
+ is_funcref: is_funcref,
+ eq_externref: eq_externref,
+ eq_funcref: eq_funcref,
+ print: console.log.bind(console),
+ print_i32: console.log.bind(console),
+ print_i32_f32: console.log.bind(console),
+ print_f64_f64: console.log.bind(console),
+ print_f32: console.log.bind(console),
+ print_f64: console.log.bind(console),
+ global_i32: 666,
+ global_i64: 666n,
+ global_f32: 666,
+ global_f64: 666,
+ table: new WebAssembly.Table({
+ initial: 10,
+ maximum: 20,
+ element: "anyfunc",
+ }),
+ memory: new WebAssembly.Memory({ initial: 1, maximum: 2 }),
+};
+
+let linkage = {
+ spectest,
+};
+
+function getInstance(instanceish) {
+ if (typeof instanceish === "string") {
+ assertEq(
+ instanceish in linkage,
+ true,
+ `'${instanceish}'' must be registered`,
+ );
+ return linkage[instanceish];
+ }
+ return instanceish;
+}
+
+function instantiate(source) {
+ let bytecode = wasmTextToBinary(source);
+ let module = new WebAssembly.Module(bytecode);
+ let instance = new WebAssembly.Instance(module, linkage);
+ return instance.exports;
+}
+
+function register(instanceish, name) {
+ linkage[name] = getInstance(instanceish);
+}
+
+function invoke(instanceish, field, params) {
+ let func = getInstance(instanceish)[field];
+ assertEq(func instanceof Function, true, "expected a function");
+ return wasmLosslessInvoke(func, ...params);
+}
+
+function get(instanceish, field) {
+ let global = getInstance(instanceish)[field];
+ assertEq(
+ global instanceof WebAssembly.Global,
+ true,
+ "expected a WebAssembly.Global",
+ );
+ return global;
+}
+
+function assert_trap(thunk, message) {
+ try {
+ thunk();
+ throw new Error("expected trap");
+ } catch (err) {
+ if (err instanceof WebAssembly.RuntimeError) {
+ return;
+ }
+ throw err;
+ }
+}
+
+let StackOverflow;
+try {
+ (function f() {
+ 1 + f();
+ })();
+} catch (e) {
+ StackOverflow = e.constructor;
+}
+function assert_exhaustion(thunk, message) {
+ try {
+ thunk();
+ assertEq("normal return", "exhaustion");
+ } catch (err) {
+ assertEq(
+ err instanceof StackOverflow,
+ true,
+ "expected exhaustion",
+ );
+ }
+}
+
+function assert_invalid(thunk, message) {
+ try {
+ thunk();
+ assertEq("valid module", "invalid module");
+ } catch (err) {
+ assertEq(
+ err instanceof WebAssembly.LinkError ||
+ err instanceof WebAssembly.CompileError,
+ true,
+ "expected an invalid module",
+ );
+ }
+}
+
+function assert_unlinkable(thunk, message) {
+ try {
+ thunk();
+ assertEq(true, false, "expected an unlinkable module");
+ } catch (err) {
+ assertEq(
+ err instanceof WebAssembly.LinkError ||
+ err instanceof WebAssembly.CompileError,
+ true,
+ "expected an unlinkable module",
+ );
+ }
+}
+
+function assert_malformed(thunk, message) {
+ try {
+ thunk();
+ assertEq("valid module", "malformed module");
+ } catch (err) {
+ assertEq(
+ err instanceof TypeError ||
+ err instanceof SyntaxError ||
+ err instanceof WebAssembly.CompileError ||
+ err instanceof WebAssembly.LinkError,
+ true,
+ `expected a malformed module`,
+ );
+ }
+}
+
+function assert_exception(thunk) {
+ let thrown = false;
+ try {
+ thunk();
+ } catch (err) {
+ thrown = true;
+ }
+ assertEq(thrown, true, "expected an exception to be thrown");
+}
+
+function assert_return(thunk, expected) {
+ let results = thunk();
+
+ if (results === undefined) {
+ results = [];
+ } else if (!Array.isArray(results)) {
+ results = [results];
+ }
+ if (!Array.isArray(expected)) {
+ expected = [expected];
+ }
+
+ if (!compareResults(results, expected)) {
+ let got = results.map((x) => formatResult(x)).join(", ");
+ let wanted = expected.map((x) => formatExpected(x)).join(", ");
+ assertEq(
+ `[${got}]`,
+ `[${wanted}]`,
+ );
+ assertEq(true, false, `${got} !== ${wanted}`);
+ }
+}
+
+function formatResult(result) {
+ if (typeof (result) === "object") {
+ return wasmGlobalToString(result);
+ } else {
+ return `${result}`;
+ }
+}
+
+function formatExpected(expected) {
+ if (
+ expected === `f32_canonical_nan` ||
+ expected === `f32_arithmetic_nan` ||
+ expected === `f64_canonical_nan` ||
+ expected === `f64_arithmetic_nan`
+ ) {
+ return expected;
+ } else if (expected instanceof F32x4Pattern) {
+ return `f32x4(${formatExpected(expected.x)}, ${
+ formatExpected(expected.y)
+ }, ${formatExpected(expected.z)}, ${formatExpected(expected.w)})`;
+ } else if (expected instanceof F64x2Pattern) {
+ return `f64x2(${formatExpected(expected.x)}, ${
+ formatExpected(expected.y)
+ })`;
+ } else if (expected instanceof EitherVariants) {
+ return expected.formatExpected();
+ } else if (expected instanceof RefWithType) {
+ return expected.formatExpected();
+ } else if (expected instanceof ExternRefResult) {
+ return expected.formatExpected();
+ } else if (expected instanceof HostRefResult) {
+ return expected.formatExpected();
+ } else if (typeof (expected) === "object") {
+ return wasmGlobalToString(expected);
+ } else {
+ throw new Error("unknown expected result");
+ }
+}
+
+class EitherVariants {
+ constructor(arr) {
+ this.arr = arr;
+ }
+ matches(v) {
+ return this.arr.some((e) => compareResult(v, e));
+ }
+ formatExpected() {
+ return `either(${this.arr.map(formatExpected).join(", ")})`;
+ }
+}
+
+function compareResults(results, expected) {
+ if (results.length !== expected.length) {
+ return false;
+ }
+ for (let i in results) {
+ if (expected[i] instanceof EitherVariants) {
+ return expected[i].matches(results[i]);
+ }
+ if (!compareResult(results[i], expected[i])) {
+ return false;
+ }
+ }
+ return true;
+}
+
+function compareResult(result, expected) {
+ if (
+ expected === `canonical_nan` ||
+ expected === `arithmetic_nan`
+ ) {
+ return wasmGlobalIsNaN(result, expected);
+ } else if (expected === null) {
+ return result.value === null;
+ } else if (expected instanceof F32x4Pattern) {
+ return compareResult(
+ wasmGlobalExtractLane(result, "f32x4", 0),
+ expected.x,
+ ) &&
+ compareResult(wasmGlobalExtractLane(result, "f32x4", 1), expected.y) &&
+ compareResult(wasmGlobalExtractLane(result, "f32x4", 2), expected.z) &&
+ compareResult(wasmGlobalExtractLane(result, "f32x4", 3), expected.w);
+ } else if (expected instanceof F64x2Pattern) {
+ return compareResult(
+ wasmGlobalExtractLane(result, "f64x2", 0),
+ expected.x,
+ ) &&
+ compareResult(wasmGlobalExtractLane(result, "f64x2", 1), expected.y);
+ } else if (expected instanceof RefWithType) {
+ return expected.test(result);
+ } else if (expected instanceof ExternRefResult) {
+ return expected.test(result);
+ } else if (expected instanceof HostRefResult) {
+ return expected.test(result);
+ } else if (typeof (expected) === "object") {
+ return wasmGlobalsEqual(result, expected);
+ } else {
+ throw new Error("unknown expected result");
+ }
+}
diff --git a/js/src/jit-test/tests/wasm/spec/relaxed-simd/i16x8_relaxed_q15mulr_s.wast.js b/js/src/jit-test/tests/wasm/spec/relaxed-simd/i16x8_relaxed_q15mulr_s.wast.js
new file mode 100644
index 0000000000..401f55986e
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/relaxed-simd/i16x8_relaxed_q15mulr_s.wast.js
@@ -0,0 +1,49 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/relaxed-simd/i16x8_relaxed_q15mulr_s.wast
+
+// ./test/core/relaxed-simd/i16x8_relaxed_q15mulr_s.wast:4
+let $0 = instantiate(`(module
+ (func (export "i16x8.relaxed_q15mulr_s") (param v128 v128) (result v128) (i16x8.relaxed_q15mulr_s (local.get 0) (local.get 1)))
+
+ (func (export "i16x8.relaxed_q15mulr_s_cmp") (param v128 v128) (result v128)
+ (i16x8.eq
+ (i16x8.relaxed_q15mulr_s (local.get 0) (local.get 1))
+ (i16x8.relaxed_q15mulr_s (local.get 0) (local.get 1))))
+)`);
+
+// ./test/core/relaxed-simd/i16x8_relaxed_q15mulr_s.wast:14
+assert_return(
+ () => invoke($0, `i16x8.relaxed_q15mulr_s`, [
+ i16x8([0x8000, 0x8001, 0x7fff, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x8000, 0x8000, 0x7fff, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ either(
+ i16x8([0x8000, 0x7fff, 0x7ffe, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x7fff, 0x7fff, 0x7ffe, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ),
+ ],
+);
+
+// ./test/core/relaxed-simd/i16x8_relaxed_q15mulr_s.wast:23
+assert_return(
+ () => invoke($0, `i16x8.relaxed_q15mulr_s_cmp`, [
+ i16x8([0x8000, 0x8001, 0x7fff, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x8000, 0x8000, 0x7fff, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
diff --git a/js/src/jit-test/tests/wasm/spec/relaxed-simd/i32x4_relaxed_trunc.wast.js b/js/src/jit-test/tests/wasm/spec/relaxed-simd/i32x4_relaxed_trunc.wast.js
new file mode 100644
index 0000000000..542955765e
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/relaxed-simd/i32x4_relaxed_trunc.wast.js
@@ -0,0 +1,338 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/relaxed-simd/i32x4_relaxed_trunc.wast
+
+// ./test/core/relaxed-simd/i32x4_relaxed_trunc.wast:4
+let $0 = instantiate(`(module
+ (func (export "i32x4.relaxed_trunc_f32x4_s") (param v128) (result v128) (i32x4.relaxed_trunc_f32x4_s (local.get 0)))
+ (func (export "i32x4.relaxed_trunc_f32x4_u") (param v128) (result v128) (i32x4.relaxed_trunc_f32x4_u (local.get 0)))
+ (func (export "i32x4.relaxed_trunc_f64x2_s_zero") (param v128) (result v128) (i32x4.relaxed_trunc_f64x2_s_zero (local.get 0)))
+ (func (export "i32x4.relaxed_trunc_f64x2_u_zero") (param v128) (result v128) (i32x4.relaxed_trunc_f64x2_u_zero (local.get 0)))
+
+ (func (export "i32x4.relaxed_trunc_f32x4_s_cmp") (param v128) (result v128)
+ (i32x4.eq
+ (i32x4.relaxed_trunc_f32x4_s (local.get 0))
+ (i32x4.relaxed_trunc_f32x4_s (local.get 0))))
+ (func (export "i32x4.relaxed_trunc_f32x4_u_cmp") (param v128) (result v128)
+ (i32x4.eq
+ (i32x4.relaxed_trunc_f32x4_u (local.get 0))
+ (i32x4.relaxed_trunc_f32x4_u (local.get 0))))
+ (func (export "i32x4.relaxed_trunc_f64x2_s_zero_cmp") (param v128) (result v128)
+ (i32x4.eq
+ (i32x4.relaxed_trunc_f64x2_s_zero (local.get 0))
+ (i32x4.relaxed_trunc_f64x2_s_zero (local.get 0))))
+ (func (export "i32x4.relaxed_trunc_f64x2_u_zero_cmp") (param v128) (result v128)
+ (i32x4.eq
+ (i32x4.relaxed_trunc_f64x2_u_zero (local.get 0))
+ (i32x4.relaxed_trunc_f64x2_u_zero (local.get 0))))
+)`);
+
+// ./test/core/relaxed-simd/i32x4_relaxed_trunc.wast:36
+assert_return(
+ () => invoke($0, `i32x4.relaxed_trunc_f32x4_s`, [
+ f32x4([-2147483600, -2147484000, 2, 2147484000]),
+ ]),
+ [
+ either(
+ i32x4([0x80000000, 0x80000000, 0x2, 0x7fffffff]),
+ i32x4([0x80000000, 0x80000000, 0x2, 0x80000000]),
+ ),
+ ],
+);
+
+// ./test/core/relaxed-simd/i32x4_relaxed_trunc.wast:43
+assert_return(
+ () => invoke($0, `i32x4.relaxed_trunc_f32x4_s`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x44,
+ 0x44,
+ 0xc4,
+ 0x7f,
+ 0x44,
+ 0x44,
+ 0xc4,
+ 0xff,
+ ]),
+ ]),
+ [
+ either(
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ ),
+ ],
+);
+
+// ./test/core/relaxed-simd/i32x4_relaxed_trunc.wast:49
+assert_return(
+ () => invoke($0, `i32x4.relaxed_trunc_f32x4_u`, [
+ f32x4([0, -1, 4294967000, 4294967300]),
+ ]),
+ [
+ either(
+ i32x4([0x0, 0x0, 0xffffff00, 0xffffffff]),
+ i32x4([0x0, 0xffffffff, 0xffffff00, 0xffffffff]),
+ i32x4([0x0, 0xffffffff, 0xffffff00, 0x0]),
+ ),
+ ],
+);
+
+// ./test/core/relaxed-simd/i32x4_relaxed_trunc.wast:56
+assert_return(
+ () => invoke($0, `i32x4.relaxed_trunc_f32x4_u`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x44,
+ 0x44,
+ 0xc4,
+ 0x7f,
+ 0x44,
+ 0x44,
+ 0xc4,
+ 0xff,
+ ]),
+ ]),
+ [
+ either(
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ ),
+ ],
+);
+
+// ./test/core/relaxed-simd/i32x4_relaxed_trunc.wast:62
+assert_return(
+ () => invoke($0, `i32x4.relaxed_trunc_f64x2_s_zero`, [
+ f64x2([-2147483904, 2147483904]),
+ ]),
+ [
+ either(
+ i32x4([0x80000000, 0x7fffffff, 0x0, 0x0]),
+ i32x4([0x80000000, 0x80000000, 0x0, 0x0]),
+ ),
+ ],
+);
+
+// ./test/core/relaxed-simd/i32x4_relaxed_trunc.wast:68
+assert_return(
+ () => invoke($0, `i32x4.relaxed_trunc_f64x2_s_zero`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ either(i32x4([0x0, 0x0, 0x0, 0x0]), i32x4([0x80000000, 0x80000000, 0x0, 0x0])),
+ ],
+);
+
+// ./test/core/relaxed-simd/i32x4_relaxed_trunc.wast:73
+assert_return(
+ () => invoke($0, `i32x4.relaxed_trunc_f64x2_u_zero`, [f64x2([-1, 4294967296])]),
+ [
+ either(
+ i32x4([0x0, 0xffffffff, 0x0, 0x0]),
+ i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]),
+ i32x4([0xfffffffe, 0x0, 0x0, 0x0]),
+ ),
+ ],
+);
+
+// ./test/core/relaxed-simd/i32x4_relaxed_trunc.wast:79
+assert_return(
+ () => invoke($0, `i32x4.relaxed_trunc_f64x2_u_zero`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ either(i32x4([0x0, 0x0, 0x0, 0x0]), i32x4([0x0, 0x0, 0xffffffff, 0xffffffff])),
+ ],
+);
+
+// ./test/core/relaxed-simd/i32x4_relaxed_trunc.wast:86
+assert_return(
+ () => invoke($0, `i32x4.relaxed_trunc_f32x4_s_cmp`, [
+ f32x4([-2147483600, -2147484000, 2147483600, 2147484000]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/relaxed-simd/i32x4_relaxed_trunc.wast:92
+assert_return(
+ () => invoke($0, `i32x4.relaxed_trunc_f32x4_s_cmp`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x44,
+ 0x44,
+ 0xc4,
+ 0x7f,
+ 0x44,
+ 0x44,
+ 0xc4,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/relaxed-simd/i32x4_relaxed_trunc.wast:97
+assert_return(
+ () => invoke($0, `i32x4.relaxed_trunc_f32x4_u_cmp`, [
+ f32x4([0, -1, 4294967000, 4294967300]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/relaxed-simd/i32x4_relaxed_trunc.wast:103
+assert_return(
+ () => invoke($0, `i32x4.relaxed_trunc_f32x4_u_cmp`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x44,
+ 0x44,
+ 0xc4,
+ 0x7f,
+ 0x44,
+ 0x44,
+ 0xc4,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/relaxed-simd/i32x4_relaxed_trunc.wast:108
+assert_return(
+ () => invoke($0, `i32x4.relaxed_trunc_f64x2_s_zero_cmp`, [
+ f64x2([-2147483904, 2147483904]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/relaxed-simd/i32x4_relaxed_trunc.wast:113
+assert_return(
+ () => invoke($0, `i32x4.relaxed_trunc_f64x2_s_zero_cmp`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/relaxed-simd/i32x4_relaxed_trunc.wast:117
+assert_return(
+ () => invoke($0, `i32x4.relaxed_trunc_f64x2_u_zero_cmp`, [f64x2([-1, 4294967296])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/relaxed-simd/i32x4_relaxed_trunc.wast:122
+assert_return(
+ () => invoke($0, `i32x4.relaxed_trunc_f64x2_u_zero_cmp`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
diff --git a/js/src/jit-test/tests/wasm/spec/relaxed-simd/i8x16_relaxed_swizzle.wast.js b/js/src/jit-test/tests/wasm/spec/relaxed-simd/i8x16_relaxed_swizzle.wast.js
new file mode 100644
index 0000000000..09ed934c02
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/relaxed-simd/i8x16_relaxed_swizzle.wast.js
@@ -0,0 +1,90 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/relaxed-simd/i8x16_relaxed_swizzle.wast
+
+// ./test/core/relaxed-simd/i8x16_relaxed_swizzle.wast:4
+let $0 = instantiate(`(module
+ (func (export "i8x16.relaxed_swizzle") (param v128 v128) (result v128) (i8x16.relaxed_swizzle (local.get 0) (local.get 1)))
+
+ (func (export "i8x16.relaxed_swizzle_cmp") (param v128 v128) (result v128)
+ (i8x16.eq
+ (i8x16.relaxed_swizzle (local.get 0) (local.get 1))
+ (i8x16.relaxed_swizzle (local.get 0) (local.get 1))))
+)`);
+
+// ./test/core/relaxed-simd/i8x16_relaxed_swizzle.wast:13
+assert_return(
+ () => invoke($0, `i8x16.relaxed_swizzle`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ]),
+ [
+ either(
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ),
+ ],
+);
+
+// ./test/core/relaxed-simd/i8x16_relaxed_swizzle.wast:20
+assert_return(
+ () => invoke($0, `i8x16.relaxed_swizzle`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i8x16([0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f]),
+ ]),
+ [
+ either(
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ),
+ ],
+);
+
+// ./test/core/relaxed-simd/i8x16_relaxed_swizzle.wast:27
+assert_return(
+ () => invoke($0, `i8x16.relaxed_swizzle`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i8x16([0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff]),
+ ]),
+ [
+ either(
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ),
+ ],
+);
+
+// ./test/core/relaxed-simd/i8x16_relaxed_swizzle.wast:36
+assert_return(
+ () => invoke($0, `i8x16.relaxed_swizzle_cmp`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i8x16([0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/relaxed-simd/i8x16_relaxed_swizzle.wast:42
+assert_return(
+ () => invoke($0, `i8x16.relaxed_swizzle_cmp`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i8x16([0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
diff --git a/js/src/jit-test/tests/wasm/spec/relaxed-simd/relaxed_dot_product.wast.js b/js/src/jit-test/tests/wasm/spec/relaxed-simd/relaxed_dot_product.wast.js
new file mode 100644
index 0000000000..b3b8776e01
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/relaxed-simd/relaxed_dot_product.wast.js
@@ -0,0 +1,139 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/relaxed-simd/relaxed_dot_product.wast
+
+// ./test/core/relaxed-simd/relaxed_dot_product.wast:4
+let $0 = instantiate(`(module
+ (func (export "i16x8.relaxed_dot_i8x16_i7x16_s") (param v128 v128) (result v128) (i16x8.relaxed_dot_i8x16_i7x16_s (local.get 0) (local.get 1)))
+ (func (export "i32x4.relaxed_dot_i8x16_i7x16_add_s") (param v128 v128 v128) (result v128) (i32x4.relaxed_dot_i8x16_i7x16_add_s (local.get 0) (local.get 1) (local.get 2)))
+
+ (func (export "i16x8.relaxed_dot_i8x16_i7x16_s_cmp") (param v128 v128) (result v128)
+ (i16x8.eq
+ (i16x8.relaxed_dot_i8x16_i7x16_s (local.get 0) (local.get 1))
+ (i16x8.relaxed_dot_i8x16_i7x16_s (local.get 0) (local.get 1))))
+ (func (export "i32x4.relaxed_dot_i8x16_i7x16_add_s_cmp") (param v128 v128 v128) (result v128)
+ (i16x8.eq
+ (i32x4.relaxed_dot_i8x16_i7x16_add_s (local.get 0) (local.get 1) (local.get 2))
+ (i32x4.relaxed_dot_i8x16_i7x16_add_s (local.get 0) (local.get 1) (local.get 2))))
+)`);
+
+// ./test/core/relaxed-simd/relaxed_dot_product.wast:19
+assert_return(
+ () => invoke($0, `i16x8.relaxed_dot_i8x16_i7x16_s`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ]),
+ [i16x8([0x1, 0xd, 0x29, 0x55, 0x91, 0xdd, 0x139, 0x1a5])],
+);
+
+// ./test/core/relaxed-simd/relaxed_dot_product.wast:25
+assert_return(
+ () => invoke($0, `i16x8.relaxed_dot_i8x16_i7x16_s`, [
+ i8x16([0x80, 0x80, 0x7f, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x8100, 0x7e02, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/relaxed-simd/relaxed_dot_product.wast:33
+assert_return(
+ () => invoke($0, `i16x8.relaxed_dot_i8x16_i7x16_s`, [
+ i8x16([0x80, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x81, 0x81, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ either(
+ i16x8([0x8000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x7f00, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x8100, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ),
+ ],
+);
+
+// ./test/core/relaxed-simd/relaxed_dot_product.wast:42
+assert_return(
+ () => invoke($0, `i32x4.relaxed_dot_i8x16_i7x16_add_s`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i32x4([0x0, 0x1, 0x2, 0x3]),
+ ]),
+ [i32x4([0xe, 0x7f, 0x170, 0x2e1])],
+);
+
+// ./test/core/relaxed-simd/relaxed_dot_product.wast:50
+assert_return(
+ () => invoke($0, `i32x4.relaxed_dot_i8x16_i7x16_add_s`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x7f, 0x7f, 0x7f, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x1, 0x2, 0x3, 0x4]),
+ ]),
+ [i32x4([0xffff0201, 0xfc06, 0x3, 0x4])],
+);
+
+// ./test/core/relaxed-simd/relaxed_dot_product.wast:63
+assert_return(
+ () => invoke($0, `i32x4.relaxed_dot_i8x16_i7x16_add_s`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x81, 0x81, 0x81, 0x81, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x1, 0x2, 0x3, 0x4]),
+ ]),
+ [
+ either(
+ i32x4([0xfffefe01, 0x2, 0x3, 0x4]),
+ i32x4([0xffff0001, 0x2, 0x3, 0x4]),
+ i32x4([0xfe01, 0x2, 0x3, 0x4]),
+ i32x4([0x10201, 0x2, 0x3, 0x4]),
+ ),
+ ],
+);
+
+// ./test/core/relaxed-simd/relaxed_dot_product.wast:76
+assert_return(
+ () => invoke($0, `i16x8.relaxed_dot_i8x16_i7x16_s_cmp`, [
+ i8x16([0x80, 0x80, 0x7f, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/relaxed-simd/relaxed_dot_product.wast:82
+assert_return(
+ () => invoke($0, `i32x4.relaxed_dot_i8x16_i7x16_add_s_cmp`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x7f, 0x7f, 0x7f, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x1, 0x2, 0x3, 0x4]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/relaxed-simd/relaxed_dot_product.wast:92
+assert_return(
+ () => invoke($0, `i16x8.relaxed_dot_i8x16_i7x16_s_cmp`, [
+ i8x16([0x80, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x81, 0x81, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/relaxed-simd/relaxed_dot_product.wast:103
+assert_return(
+ () => invoke($0, `i32x4.relaxed_dot_i8x16_i7x16_add_s_cmp`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x81, 0x81, 0x81, 0x81, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x1, 0x2, 0x3, 0x4]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
diff --git a/js/src/jit-test/tests/wasm/spec/relaxed-simd/relaxed_laneselect.wast.js b/js/src/jit-test/tests/wasm/spec/relaxed-simd/relaxed_laneselect.wast.js
new file mode 100644
index 0000000000..e86d85e08b
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/relaxed-simd/relaxed_laneselect.wast.js
@@ -0,0 +1,179 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/relaxed-simd/relaxed_laneselect.wast
+
+// ./test/core/relaxed-simd/relaxed_laneselect.wast:4
+let $0 = instantiate(`(module
+ (func (export "i8x16.relaxed_laneselect") (param v128 v128 v128) (result v128) (i8x16.relaxed_laneselect (local.get 0) (local.get 1) (local.get 2)))
+ (func (export "i16x8.relaxed_laneselect") (param v128 v128 v128) (result v128) (i16x8.relaxed_laneselect (local.get 0) (local.get 1) (local.get 2)))
+ (func (export "i32x4.relaxed_laneselect") (param v128 v128 v128) (result v128) (i32x4.relaxed_laneselect (local.get 0) (local.get 1) (local.get 2)))
+ (func (export "i64x2.relaxed_laneselect") (param v128 v128 v128) (result v128) (i64x2.relaxed_laneselect (local.get 0) (local.get 1) (local.get 2)))
+
+ (func (export "i8x16.relaxed_laneselect_cmp") (param v128 v128 v128) (result v128)
+ (i8x16.eq
+ (i8x16.relaxed_laneselect (local.get 0) (local.get 1) (local.get 2))
+ (i8x16.relaxed_laneselect (local.get 0) (local.get 1) (local.get 2))))
+ (func (export "i16x8.relaxed_laneselect_cmp") (param v128 v128 v128) (result v128)
+ (i16x8.eq
+ (i16x8.relaxed_laneselect (local.get 0) (local.get 1) (local.get 2))
+ (i16x8.relaxed_laneselect (local.get 0) (local.get 1) (local.get 2))))
+ (func (export "i32x4.relaxed_laneselect_cmp") (param v128 v128 v128) (result v128)
+ (i32x4.eq
+ (i32x4.relaxed_laneselect (local.get 0) (local.get 1) (local.get 2))
+ (i32x4.relaxed_laneselect (local.get 0) (local.get 1) (local.get 2))))
+ (func (export "i64x2.relaxed_laneselect_cmp") (param v128 v128 v128) (result v128)
+ (i64x2.eq
+ (i64x2.relaxed_laneselect (local.get 0) (local.get 1) (local.get 2))
+ (i64x2.relaxed_laneselect (local.get 0) (local.get 1) (local.get 2))))
+)`);
+
+// ./test/core/relaxed-simd/relaxed_laneselect.wast:28
+assert_return(
+ () => invoke($0, `i8x16.relaxed_laneselect`, [
+ i8x16([0x0, 0x1, 0x12, 0x12, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i8x16([0x10, 0x11, 0x34, 0x34, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f]),
+ i8x16([0xff, 0x0, 0xf0, 0xf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ either(
+ i8x16([0x0, 0x11, 0x14, 0x32, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f]),
+ i8x16([0x0, 0x11, 0x12, 0x34, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f]),
+ ),
+ ],
+);
+
+// ./test/core/relaxed-simd/relaxed_laneselect.wast:35
+assert_return(
+ () => invoke($0, `i16x8.relaxed_laneselect`, [
+ i16x8([0x0, 0x1, 0x1234, 0x1234, 0x4, 0x5, 0x6, 0x7]),
+ i16x8([0x8, 0x9, 0x5678, 0x5678, 0xc, 0xd, 0xe, 0xf]),
+ i16x8([0xffff, 0x0, 0xff00, 0xff, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ either(
+ i16x8([0x0, 0x9, 0x1278, 0x5634, 0xc, 0xd, 0xe, 0xf]),
+ i16x8([0x0, 0x9, 0x1234, 0x5678, 0xc, 0xd, 0xe, 0xf]),
+ ),
+ ],
+);
+
+// ./test/core/relaxed-simd/relaxed_laneselect.wast:43
+assert_return(
+ () => invoke($0, `i16x8.relaxed_laneselect`, [
+ i16x8([0x0, 0x1, 0x1234, 0x1234, 0x4, 0x5, 0x6, 0x7]),
+ i16x8([0x8, 0x9, 0x5678, 0x5678, 0xc, 0xd, 0xe, 0xf]),
+ i16x8([0xffff, 0x0, 0xff00, 0x80, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ either(
+ i16x8([0x0, 0x9, 0x1278, 0x5678, 0xc, 0xd, 0xe, 0xf]),
+ i16x8([0x0, 0x9, 0x1234, 0x5678, 0xc, 0xd, 0xe, 0xf]),
+ i16x8([0x0, 0x9, 0x1278, 0x5634, 0xc, 0xd, 0xe, 0xf]),
+ ),
+ ],
+);
+
+// ./test/core/relaxed-simd/relaxed_laneselect.wast:52
+assert_return(
+ () => invoke($0, `i32x4.relaxed_laneselect`, [
+ i32x4([0x0, 0x1, 0x12341234, 0x12341234]),
+ i32x4([0x4, 0x5, 0x56785678, 0x56785678]),
+ i32x4([0xffffffff, 0x0, 0xffff0000, 0xffff]),
+ ]),
+ [
+ either(
+ i32x4([0x0, 0x5, 0x12345678, 0x56781234]),
+ i32x4([0x0, 0x5, 0x12341234, 0x56785678]),
+ ),
+ ],
+);
+
+// ./test/core/relaxed-simd/relaxed_laneselect.wast:59
+assert_return(
+ () => invoke($0, `i64x2.relaxed_laneselect`, [
+ i64x2([0x0n, 0x1n]),
+ i64x2([0x2n, 0x3n]),
+ i64x2([0xffffffffffffffffn, 0x0n]),
+ ]),
+ [either(i64x2([0x0n, 0x3n]), i64x2([0x0n, 0x3n]))],
+);
+
+// ./test/core/relaxed-simd/relaxed_laneselect.wast:66
+assert_return(
+ () => invoke($0, `i64x2.relaxed_laneselect`, [
+ i64x2([0x1234123412341234n, 0x1234123412341234n]),
+ i64x2([0x5678567856785678n, 0x5678567856785678n]),
+ i64x2([0xffffffff00000000n, 0xffffffffn]),
+ ]),
+ [
+ either(
+ i64x2([0x1234123456785678n, 0x5678567812341234n]),
+ i64x2([0x1234123412341234n, 0x5678567856785678n]),
+ ),
+ ],
+);
+
+// ./test/core/relaxed-simd/relaxed_laneselect.wast:75
+assert_return(
+ () => invoke($0, `i8x16.relaxed_laneselect_cmp`, [
+ i8x16([0x0, 0x1, 0x12, 0x12, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i8x16([0x10, 0x11, 0x34, 0x34, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f]),
+ i8x16([0xff, 0x0, 0xf0, 0xf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/relaxed-simd/relaxed_laneselect.wast:81
+assert_return(
+ () => invoke($0, `i16x8.relaxed_laneselect_cmp`, [
+ i16x8([0x0, 0x1, 0x1234, 0x1234, 0x4, 0x5, 0x6, 0x7]),
+ i16x8([0x8, 0x9, 0x5678, 0x5678, 0xc, 0xd, 0xe, 0xf]),
+ i16x8([0xffff, 0x0, 0xff00, 0xff, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/relaxed-simd/relaxed_laneselect.wast:87
+assert_return(
+ () => invoke($0, `i32x4.relaxed_laneselect_cmp`, [
+ i32x4([0x0, 0x1, 0x12341234, 0x12341234]),
+ i32x4([0x4, 0x5, 0x56785678, 0x56785678]),
+ i32x4([0xffffffff, 0x0, 0xffff0000, 0xffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/relaxed-simd/relaxed_laneselect.wast:93
+assert_return(
+ () => invoke($0, `i64x2.relaxed_laneselect_cmp`, [
+ i64x2([0x0n, 0x1n]),
+ i64x2([0x2n, 0x3n]),
+ i64x2([0xffffffffffffffffn, 0x0n]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/relaxed-simd/relaxed_laneselect.wast:99
+assert_return(
+ () => invoke($0, `i64x2.relaxed_laneselect_cmp`, [
+ i64x2([0x1234123412341234n, 0x1234123412341234n]),
+ i64x2([0x5678567856785678n, 0x5678567856785678n]),
+ i64x2([0xffffffff00000000n, 0xffffffffn]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
diff --git a/js/src/jit-test/tests/wasm/spec/relaxed-simd/relaxed_madd_nmadd.wast.js b/js/src/jit-test/tests/wasm/spec/relaxed-simd/relaxed_madd_nmadd.wast.js
new file mode 100644
index 0000000000..6b3c8f912c
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/relaxed-simd/relaxed_madd_nmadd.wast.js
@@ -0,0 +1,325 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/relaxed-simd/relaxed_madd_nmadd.wast
+
+// ./test/core/relaxed-simd/relaxed_madd_nmadd.wast:4
+let $0 = instantiate(`(module
+ (func (export "f32x4.relaxed_madd") (param v128 v128 v128) (result v128) (f32x4.relaxed_madd (local.get 0) (local.get 1) (local.get 2)))
+ (func (export "f32x4.relaxed_nmadd") (param v128 v128 v128) (result v128) (f32x4.relaxed_nmadd (local.get 0) (local.get 1) (local.get 2)))
+ (func (export "f64x2.relaxed_nmadd") (param v128 v128 v128) (result v128) (f64x2.relaxed_nmadd (local.get 0) (local.get 1) (local.get 2)))
+ (func (export "f64x2.relaxed_madd") (param v128 v128 v128) (result v128) (f64x2.relaxed_madd (local.get 0) (local.get 1) (local.get 2)))
+
+ (func (export "f32x4.relaxed_madd_cmp") (param v128 v128 v128) (result v128)
+ (f32x4.eq
+ (f32x4.relaxed_madd (local.get 0) (local.get 1) (local.get 2))
+ (f32x4.relaxed_madd (local.get 0) (local.get 1) (local.get 2))))
+ (func (export "f32x4.relaxed_nmadd_cmp") (param v128 v128 v128) (result v128)
+ (f32x4.eq
+ (f32x4.relaxed_nmadd (local.get 0) (local.get 1) (local.get 2))
+ (f32x4.relaxed_nmadd (local.get 0) (local.get 1) (local.get 2))))
+ (func (export "f64x2.relaxed_nmadd_cmp") (param v128 v128 v128) (result v128)
+ (f64x2.eq
+ (f64x2.relaxed_nmadd (local.get 0) (local.get 1) (local.get 2))
+ (f64x2.relaxed_nmadd (local.get 0) (local.get 1) (local.get 2))))
+ (func (export "f64x2.relaxed_madd_cmp") (param v128 v128 v128) (result v128)
+ (f64x2.eq
+ (f64x2.relaxed_madd (local.get 0) (local.get 1) (local.get 2))
+ (f64x2.relaxed_madd (local.get 0) (local.get 1) (local.get 2))))
+)`);
+
+// ./test/core/relaxed-simd/relaxed_madd_nmadd.wast:34
+assert_return(
+ () => invoke($0, `f32x4.relaxed_madd`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([2, 2, 2, 2]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ either(
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ),
+ ],
+);
+
+// ./test/core/relaxed-simd/relaxed_madd_nmadd.wast:50
+assert_return(
+ () => invoke($0, `f32x4.relaxed_madd`, [
+ f32x4([1.0000002, 1.0000002, 1.0000002, 1.0000002]),
+ f32x4([1.0000305, 1.0000305, 1.0000305, 1.0000305]),
+ f32x4([-1.0000308, -1.0000308, -1.0000308, -1.0000308]),
+ ]),
+ [
+ either(
+ new F32x4Pattern(
+ value("f32", 0.000000000007275958),
+ value("f32", 0.000000000007275958),
+ value("f32", 0.000000000007275958),
+ value("f32", 0.000000000007275958),
+ ),
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ),
+ ],
+);
+
+// ./test/core/relaxed-simd/relaxed_madd_nmadd.wast:57
+assert_return(
+ () => invoke($0, `f32x4.relaxed_nmadd`, [
+ f32x4([-1.0000002, -1.0000002, -1.0000002, -1.0000002]),
+ f32x4([1.0000305, 1.0000305, 1.0000305, 1.0000305]),
+ f32x4([-1.0000308, -1.0000308, -1.0000308, -1.0000308]),
+ ]),
+ [
+ either(
+ new F32x4Pattern(
+ value("f32", 0.000000000007275958),
+ value("f32", 0.000000000007275958),
+ value("f32", 0.000000000007275958),
+ value("f32", 0.000000000007275958),
+ ),
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ),
+ ],
+);
+
+// ./test/core/relaxed-simd/relaxed_madd_nmadd.wast:64
+assert_return(
+ () => invoke($0, `f32x4.relaxed_nmadd`, [
+ f32x4([1.0000002, 1.0000002, 1.0000002, 1.0000002]),
+ f32x4([-1.0000305, -1.0000305, -1.0000305, -1.0000305]),
+ f32x4([-1.0000308, -1.0000308, -1.0000308, -1.0000308]),
+ ]),
+ [
+ either(
+ new F32x4Pattern(
+ value("f32", 0.000000000007275958),
+ value("f32", 0.000000000007275958),
+ value("f32", 0.000000000007275958),
+ value("f32", 0.000000000007275958),
+ ),
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ),
+ ],
+);
+
+// ./test/core/relaxed-simd/relaxed_madd_nmadd.wast:77
+assert_return(
+ () => invoke($0, `f64x2.relaxed_madd`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([2, 2]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ either(
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ new F64x2Pattern(value("f64", Infinity), value("f64", Infinity)),
+ ),
+ ],
+);
+
+// ./test/core/relaxed-simd/relaxed_madd_nmadd.wast:93
+assert_return(
+ () => invoke($0, `f64x2.relaxed_madd`, [
+ f64x2([1.0000000009313226, 1.0000000009313226]),
+ f64x2([1.0000001192092896, 1.0000001192092896]),
+ f64x2([-1.0000001201406121, -1.0000001201406121]),
+ ]),
+ [
+ either(
+ new F64x2Pattern(
+ value("f64", 0.00000000000000011102230246251565),
+ value("f64", 0.00000000000000011102230246251565),
+ ),
+ new F64x2Pattern(value("f64", 0), value("f64", 0)),
+ ),
+ ],
+);
+
+// ./test/core/relaxed-simd/relaxed_madd_nmadd.wast:100
+assert_return(
+ () => invoke($0, `f64x2.relaxed_nmadd`, [
+ f64x2([-1.0000000009313226, -1.0000000009313226]),
+ f64x2([1.0000001192092896, 1.0000001192092896]),
+ f64x2([-1.0000001201406121, -1.0000001201406121]),
+ ]),
+ [
+ either(
+ new F64x2Pattern(
+ value("f64", 0.00000000000000011102230246251565),
+ value("f64", 0.00000000000000011102230246251565),
+ ),
+ new F64x2Pattern(value("f64", 0), value("f64", 0)),
+ ),
+ ],
+);
+
+// ./test/core/relaxed-simd/relaxed_madd_nmadd.wast:107
+assert_return(
+ () => invoke($0, `f64x2.relaxed_nmadd`, [
+ f64x2([1.0000000009313226, 1.0000000009313226]),
+ f64x2([-1.0000001192092896, -1.0000001192092896]),
+ f64x2([-1.0000001201406121, -1.0000001201406121]),
+ ]),
+ [
+ either(
+ new F64x2Pattern(
+ value("f64", 0.00000000000000011102230246251565),
+ value("f64", 0.00000000000000011102230246251565),
+ ),
+ new F64x2Pattern(value("f64", 0), value("f64", 0)),
+ ),
+ ],
+);
+
+// ./test/core/relaxed-simd/relaxed_madd_nmadd.wast:121
+assert_return(
+ () => invoke($0, `f32x4.relaxed_madd_cmp`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([2, 2, 2, 2]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/relaxed-simd/relaxed_madd_nmadd.wast:136
+assert_return(
+ () => invoke($0, `f32x4.relaxed_madd_cmp`, [
+ f32x4([1.0000002, 1.0000002, 1.0000002, 1.0000002]),
+ f32x4([1.0000305, 1.0000305, 1.0000305, 1.0000305]),
+ f32x4([-1.0000308, -1.0000308, -1.0000308, -1.0000308]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/relaxed-simd/relaxed_madd_nmadd.wast:142
+assert_return(
+ () => invoke($0, `f32x4.relaxed_nmadd_cmp`, [
+ f32x4([-1.0000002, -1.0000002, -1.0000002, -1.0000002]),
+ f32x4([1.0000305, 1.0000305, 1.0000305, 1.0000305]),
+ f32x4([-1.0000308, -1.0000308, -1.0000308, -1.0000308]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/relaxed-simd/relaxed_madd_nmadd.wast:148
+assert_return(
+ () => invoke($0, `f32x4.relaxed_nmadd_cmp`, [
+ f32x4([1.0000002, 1.0000002, 1.0000002, 1.0000002]),
+ f32x4([-1.0000305, -1.0000305, -1.0000305, -1.0000305]),
+ f32x4([-1.0000308, -1.0000308, -1.0000308, -1.0000308]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/relaxed-simd/relaxed_madd_nmadd.wast:160
+assert_return(
+ () => invoke($0, `f64x2.relaxed_madd_cmp`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([2, 2]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/relaxed-simd/relaxed_madd_nmadd.wast:175
+assert_return(
+ () => invoke($0, `f64x2.relaxed_madd_cmp`, [
+ f64x2([1.0000000009313226, 1.0000000009313226]),
+ f64x2([1.0000001192092896, 1.0000001192092896]),
+ f64x2([-1.0000001201406121, -1.0000001201406121]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/relaxed-simd/relaxed_madd_nmadd.wast:181
+assert_return(
+ () => invoke($0, `f64x2.relaxed_nmadd_cmp`, [
+ f64x2([-1.0000000009313226, -1.0000000009313226]),
+ f64x2([1.0000001192092896, 1.0000001192092896]),
+ f64x2([-1.0000001201406121, -1.0000001201406121]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/relaxed-simd/relaxed_madd_nmadd.wast:187
+assert_return(
+ () => invoke($0, `f64x2.relaxed_nmadd_cmp`, [
+ f64x2([1.0000000009313226, 1.0000000009313226]),
+ f64x2([-1.0000001192092896, -1.0000001192092896]),
+ f64x2([-1.0000001201406121, -1.0000001201406121]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
diff --git a/js/src/jit-test/tests/wasm/spec/relaxed-simd/relaxed_min_max.wast.js b/js/src/jit-test/tests/wasm/spec/relaxed-simd/relaxed_min_max.wast.js
new file mode 100644
index 0000000000..9123d605d9
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/relaxed-simd/relaxed_min_max.wast.js
@@ -0,0 +1,663 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/relaxed-simd/relaxed_min_max.wast
+
+// ./test/core/relaxed-simd/relaxed_min_max.wast:4
+let $0 = instantiate(`(module
+ (func (export "f32x4.relaxed_min") (param v128 v128) (result v128) (f32x4.relaxed_min (local.get 0) (local.get 1)))
+ (func (export "f32x4.relaxed_max") (param v128 v128) (result v128) (f32x4.relaxed_max (local.get 0) (local.get 1)))
+ (func (export "f64x2.relaxed_min") (param v128 v128) (result v128) (f64x2.relaxed_min (local.get 0) (local.get 1)))
+ (func (export "f64x2.relaxed_max") (param v128 v128) (result v128) (f64x2.relaxed_max (local.get 0) (local.get 1)))
+
+ (func (export "f32x4.relaxed_min_cmp") (param v128 v128) (result v128)
+ (i32x4.eq
+ (f32x4.relaxed_min (local.get 0) (local.get 1))
+ (f32x4.relaxed_min (local.get 0) (local.get 1))))
+ (func (export "f32x4.relaxed_max_cmp") (param v128 v128) (result v128)
+ (i32x4.eq
+ (f32x4.relaxed_max (local.get 0) (local.get 1))
+ (f32x4.relaxed_max (local.get 0) (local.get 1))))
+ (func (export "f64x2.relaxed_min_cmp") (param v128 v128) (result v128)
+ (i64x2.eq
+ (f64x2.relaxed_min (local.get 0) (local.get 1))
+ (f64x2.relaxed_min (local.get 0) (local.get 1))))
+ (func (export "f64x2.relaxed_max_cmp") (param v128 v128) (result v128)
+ (i64x2.eq
+ (f64x2.relaxed_max (local.get 0) (local.get 1))
+ (f64x2.relaxed_max (local.get 0) (local.get 1))))
+)`);
+
+// ./test/core/relaxed-simd/relaxed_min_max.wast:28
+assert_return(
+ () => invoke($0, `f32x4.relaxed_min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ either(
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ),
+ ],
+);
+
+// ./test/core/relaxed-simd/relaxed_min_max.wast:36
+assert_return(
+ () => invoke($0, `f32x4.relaxed_min`, [f32x4([0, -0, 0, -0]), f32x4([-0, 0, 0, -0])]),
+ [
+ either(
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", 0),
+ value("f32", -0),
+ ),
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", -0),
+ value("f32", 0),
+ value("f32", -0),
+ ),
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", -0),
+ ),
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", 0),
+ value("f32", -0),
+ ),
+ ),
+ ],
+);
+
+// ./test/core/relaxed-simd/relaxed_min_max.wast:44
+assert_return(
+ () => invoke($0, `f32x4.relaxed_max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ either(
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ),
+ ],
+);
+
+// ./test/core/relaxed-simd/relaxed_min_max.wast:52
+assert_return(
+ () => invoke($0, `f32x4.relaxed_max`, [f32x4([0, -0, 0, -0]), f32x4([-0, 0, 0, -0])]),
+ [
+ either(
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", -0),
+ ),
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", -0),
+ value("f32", 0),
+ value("f32", -0),
+ ),
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", -0),
+ ),
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", 0),
+ value("f32", -0),
+ ),
+ ),
+ ],
+);
+
+// ./test/core/relaxed-simd/relaxed_min_max.wast:60
+assert_return(
+ () => invoke($0, `f64x2.relaxed_min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [
+ either(
+ new F64x2Pattern(`canonical_nan`, `canonical_nan`),
+ new F64x2Pattern(`canonical_nan`, `canonical_nan`),
+ new F64x2Pattern(value("f64", 0), value("f64", 0)),
+ new F64x2Pattern(value("f64", 0), value("f64", 0)),
+ ),
+ ],
+);
+
+// ./test/core/relaxed-simd/relaxed_min_max.wast:68
+assert_return(
+ () => invoke($0, `f64x2.relaxed_min`, [
+ f64x2([0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ either(
+ new F64x2Pattern(`canonical_nan`, `canonical_nan`),
+ new F64x2Pattern(value("f64", 0), value("f64", 0)),
+ new F64x2Pattern(`canonical_nan`, `canonical_nan`),
+ new F64x2Pattern(value("f64", 0), value("f64", 0)),
+ ),
+ ],
+);
+
+// ./test/core/relaxed-simd/relaxed_min_max.wast:76
+assert_return(
+ () => invoke($0, `f64x2.relaxed_min`, [f64x2([0, -0]), f64x2([-0, 0])]),
+ [
+ either(
+ new F64x2Pattern(value("f64", -0), value("f64", -0)),
+ new F64x2Pattern(value("f64", 0), value("f64", -0)),
+ new F64x2Pattern(value("f64", -0), value("f64", 0)),
+ new F64x2Pattern(value("f64", -0), value("f64", -0)),
+ ),
+ ],
+);
+
+// ./test/core/relaxed-simd/relaxed_min_max.wast:84
+assert_return(
+ () => invoke($0, `f64x2.relaxed_min`, [f64x2([0, -0]), f64x2([0, -0])]),
+ [
+ either(
+ new F64x2Pattern(value("f64", 0), value("f64", -0)),
+ new F64x2Pattern(value("f64", 0), value("f64", -0)),
+ new F64x2Pattern(value("f64", 0), value("f64", -0)),
+ new F64x2Pattern(value("f64", 0), value("f64", -0)),
+ ),
+ ],
+);
+
+// ./test/core/relaxed-simd/relaxed_min_max.wast:92
+assert_return(
+ () => invoke($0, `f64x2.relaxed_max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [
+ either(
+ new F64x2Pattern(`canonical_nan`, `canonical_nan`),
+ new F64x2Pattern(`canonical_nan`, `canonical_nan`),
+ new F64x2Pattern(value("f64", 0), value("f64", 0)),
+ new F64x2Pattern(value("f64", 0), value("f64", 0)),
+ ),
+ ],
+);
+
+// ./test/core/relaxed-simd/relaxed_min_max.wast:100
+assert_return(
+ () => invoke($0, `f64x2.relaxed_max`, [
+ f64x2([0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ either(
+ new F64x2Pattern(`canonical_nan`, `canonical_nan`),
+ new F64x2Pattern(value("f64", 0), value("f64", 0)),
+ new F64x2Pattern(`canonical_nan`, `canonical_nan`),
+ new F64x2Pattern(value("f64", 0), value("f64", 0)),
+ ),
+ ],
+);
+
+// ./test/core/relaxed-simd/relaxed_min_max.wast:108
+assert_return(
+ () => invoke($0, `f64x2.relaxed_max`, [f64x2([0, -0]), f64x2([-0, 0])]),
+ [
+ either(
+ new F64x2Pattern(value("f64", 0), value("f64", 0)),
+ new F64x2Pattern(value("f64", 0), value("f64", -0)),
+ new F64x2Pattern(value("f64", -0), value("f64", 0)),
+ new F64x2Pattern(value("f64", -0), value("f64", -0)),
+ ),
+ ],
+);
+
+// ./test/core/relaxed-simd/relaxed_min_max.wast:116
+assert_return(
+ () => invoke($0, `f64x2.relaxed_max`, [f64x2([0, -0]), f64x2([0, -0])]),
+ [
+ either(
+ new F64x2Pattern(value("f64", 0), value("f64", -0)),
+ new F64x2Pattern(value("f64", 0), value("f64", -0)),
+ new F64x2Pattern(value("f64", 0), value("f64", -0)),
+ new F64x2Pattern(value("f64", 0), value("f64", -0)),
+ ),
+ ],
+);
+
+// ./test/core/relaxed-simd/relaxed_min_max.wast:126
+assert_return(
+ () => invoke($0, `f32x4.relaxed_min_cmp`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/relaxed-simd/relaxed_min_max.wast:131
+assert_return(
+ () => invoke($0, `f32x4.relaxed_min_cmp`, [
+ f32x4([0, -0, 0, -0]),
+ f32x4([-0, 0, 0, -0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/relaxed-simd/relaxed_min_max.wast:136
+assert_return(
+ () => invoke($0, `f32x4.relaxed_max_cmp`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/relaxed-simd/relaxed_min_max.wast:141
+assert_return(
+ () => invoke($0, `f32x4.relaxed_max_cmp`, [
+ f32x4([0, -0, 0, -0]),
+ f32x4([-0, 0, 0, -0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/relaxed-simd/relaxed_min_max.wast:146
+assert_return(
+ () => invoke($0, `f64x2.relaxed_min_cmp`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/relaxed-simd/relaxed_min_max.wast:151
+assert_return(
+ () => invoke($0, `f64x2.relaxed_min_cmp`, [
+ f64x2([0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/relaxed-simd/relaxed_min_max.wast:156
+assert_return(
+ () => invoke($0, `f64x2.relaxed_min_cmp`, [f64x2([0, -0]), f64x2([-0, 0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/relaxed-simd/relaxed_min_max.wast:161
+assert_return(
+ () => invoke($0, `f64x2.relaxed_min_cmp`, [f64x2([0, -0]), f64x2([0, -0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/relaxed-simd/relaxed_min_max.wast:166
+assert_return(
+ () => invoke($0, `f64x2.relaxed_max_cmp`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/relaxed-simd/relaxed_min_max.wast:171
+assert_return(
+ () => invoke($0, `f64x2.relaxed_max_cmp`, [
+ f64x2([0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/relaxed-simd/relaxed_min_max.wast:176
+assert_return(
+ () => invoke($0, `f64x2.relaxed_max_cmp`, [f64x2([0, -0]), f64x2([-0, 0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/relaxed-simd/relaxed_min_max.wast:181
+assert_return(
+ () => invoke($0, `f64x2.relaxed_max_cmp`, [f64x2([0, -0]), f64x2([0, -0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/address.wast.js b/js/src/jit-test/tests/wasm/spec/spec/address.wast.js
new file mode 100644
index 0000000000..317c5fdc07
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/address.wast.js
@@ -0,0 +1,1082 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/address.wast
+
+// ./test/core/address.wast:3
+let $0 = instantiate(`(module
+ (memory 1)
+ (data (i32.const 0) "abcdefghijklmnopqrstuvwxyz")
+
+ (func (export "8u_good1") (param $$i i32) (result i32)
+ (i32.load8_u offset=0 (local.get $$i)) ;; 97 'a'
+ )
+ (func (export "8u_good2") (param $$i i32) (result i32)
+ (i32.load8_u align=1 (local.get $$i)) ;; 97 'a'
+ )
+ (func (export "8u_good3") (param $$i i32) (result i32)
+ (i32.load8_u offset=1 align=1 (local.get $$i)) ;; 98 'b'
+ )
+ (func (export "8u_good4") (param $$i i32) (result i32)
+ (i32.load8_u offset=2 align=1 (local.get $$i)) ;; 99 'c'
+ )
+ (func (export "8u_good5") (param $$i i32) (result i32)
+ (i32.load8_u offset=25 align=1 (local.get $$i)) ;; 122 'z'
+ )
+
+ (func (export "8s_good1") (param $$i i32) (result i32)
+ (i32.load8_s offset=0 (local.get $$i)) ;; 97 'a'
+ )
+ (func (export "8s_good2") (param $$i i32) (result i32)
+ (i32.load8_s align=1 (local.get $$i)) ;; 97 'a'
+ )
+ (func (export "8s_good3") (param $$i i32) (result i32)
+ (i32.load8_s offset=1 align=1 (local.get $$i)) ;; 98 'b'
+ )
+ (func (export "8s_good4") (param $$i i32) (result i32)
+ (i32.load8_s offset=2 align=1 (local.get $$i)) ;; 99 'c'
+ )
+ (func (export "8s_good5") (param $$i i32) (result i32)
+ (i32.load8_s offset=25 align=1 (local.get $$i)) ;; 122 'z'
+ )
+
+ (func (export "16u_good1") (param $$i i32) (result i32)
+ (i32.load16_u offset=0 (local.get $$i)) ;; 25185 'ab'
+ )
+ (func (export "16u_good2") (param $$i i32) (result i32)
+ (i32.load16_u align=1 (local.get $$i)) ;; 25185 'ab'
+ )
+ (func (export "16u_good3") (param $$i i32) (result i32)
+ (i32.load16_u offset=1 align=1 (local.get $$i)) ;; 25442 'bc'
+ )
+ (func (export "16u_good4") (param $$i i32) (result i32)
+ (i32.load16_u offset=2 align=2 (local.get $$i)) ;; 25699 'cd'
+ )
+ (func (export "16u_good5") (param $$i i32) (result i32)
+ (i32.load16_u offset=25 align=2 (local.get $$i)) ;; 122 'z\\0'
+ )
+
+ (func (export "16s_good1") (param $$i i32) (result i32)
+ (i32.load16_s offset=0 (local.get $$i)) ;; 25185 'ab'
+ )
+ (func (export "16s_good2") (param $$i i32) (result i32)
+ (i32.load16_s align=1 (local.get $$i)) ;; 25185 'ab'
+ )
+ (func (export "16s_good3") (param $$i i32) (result i32)
+ (i32.load16_s offset=1 align=1 (local.get $$i)) ;; 25442 'bc'
+ )
+ (func (export "16s_good4") (param $$i i32) (result i32)
+ (i32.load16_s offset=2 align=2 (local.get $$i)) ;; 25699 'cd'
+ )
+ (func (export "16s_good5") (param $$i i32) (result i32)
+ (i32.load16_s offset=25 align=2 (local.get $$i)) ;; 122 'z\\0'
+ )
+
+ (func (export "32_good1") (param $$i i32) (result i32)
+ (i32.load offset=0 (local.get $$i)) ;; 1684234849 'abcd'
+ )
+ (func (export "32_good2") (param $$i i32) (result i32)
+ (i32.load align=1 (local.get $$i)) ;; 1684234849 'abcd'
+ )
+ (func (export "32_good3") (param $$i i32) (result i32)
+ (i32.load offset=1 align=1 (local.get $$i)) ;; 1701077858 'bcde'
+ )
+ (func (export "32_good4") (param $$i i32) (result i32)
+ (i32.load offset=2 align=2 (local.get $$i)) ;; 1717920867 'cdef'
+ )
+ (func (export "32_good5") (param $$i i32) (result i32)
+ (i32.load offset=25 align=4 (local.get $$i)) ;; 122 'z\\0\\0\\0'
+ )
+
+ (func (export "8u_bad") (param $$i i32)
+ (drop (i32.load8_u offset=4294967295 (local.get $$i)))
+ )
+ (func (export "8s_bad") (param $$i i32)
+ (drop (i32.load8_s offset=4294967295 (local.get $$i)))
+ )
+ (func (export "16u_bad") (param $$i i32)
+ (drop (i32.load16_u offset=4294967295 (local.get $$i)))
+ )
+ (func (export "16s_bad") (param $$i i32)
+ (drop (i32.load16_s offset=4294967295 (local.get $$i)))
+ )
+ (func (export "32_bad") (param $$i i32)
+ (drop (i32.load offset=4294967295 (local.get $$i)))
+ )
+)`);
+
+// ./test/core/address.wast:104
+assert_return(() => invoke($0, `8u_good1`, [0]), [value("i32", 97)]);
+
+// ./test/core/address.wast:105
+assert_return(() => invoke($0, `8u_good2`, [0]), [value("i32", 97)]);
+
+// ./test/core/address.wast:106
+assert_return(() => invoke($0, `8u_good3`, [0]), [value("i32", 98)]);
+
+// ./test/core/address.wast:107
+assert_return(() => invoke($0, `8u_good4`, [0]), [value("i32", 99)]);
+
+// ./test/core/address.wast:108
+assert_return(() => invoke($0, `8u_good5`, [0]), [value("i32", 122)]);
+
+// ./test/core/address.wast:110
+assert_return(() => invoke($0, `8s_good1`, [0]), [value("i32", 97)]);
+
+// ./test/core/address.wast:111
+assert_return(() => invoke($0, `8s_good2`, [0]), [value("i32", 97)]);
+
+// ./test/core/address.wast:112
+assert_return(() => invoke($0, `8s_good3`, [0]), [value("i32", 98)]);
+
+// ./test/core/address.wast:113
+assert_return(() => invoke($0, `8s_good4`, [0]), [value("i32", 99)]);
+
+// ./test/core/address.wast:114
+assert_return(() => invoke($0, `8s_good5`, [0]), [value("i32", 122)]);
+
+// ./test/core/address.wast:116
+assert_return(() => invoke($0, `16u_good1`, [0]), [value("i32", 25185)]);
+
+// ./test/core/address.wast:117
+assert_return(() => invoke($0, `16u_good2`, [0]), [value("i32", 25185)]);
+
+// ./test/core/address.wast:118
+assert_return(() => invoke($0, `16u_good3`, [0]), [value("i32", 25442)]);
+
+// ./test/core/address.wast:119
+assert_return(() => invoke($0, `16u_good4`, [0]), [value("i32", 25699)]);
+
+// ./test/core/address.wast:120
+assert_return(() => invoke($0, `16u_good5`, [0]), [value("i32", 122)]);
+
+// ./test/core/address.wast:122
+assert_return(() => invoke($0, `16s_good1`, [0]), [value("i32", 25185)]);
+
+// ./test/core/address.wast:123
+assert_return(() => invoke($0, `16s_good2`, [0]), [value("i32", 25185)]);
+
+// ./test/core/address.wast:124
+assert_return(() => invoke($0, `16s_good3`, [0]), [value("i32", 25442)]);
+
+// ./test/core/address.wast:125
+assert_return(() => invoke($0, `16s_good4`, [0]), [value("i32", 25699)]);
+
+// ./test/core/address.wast:126
+assert_return(() => invoke($0, `16s_good5`, [0]), [value("i32", 122)]);
+
+// ./test/core/address.wast:128
+assert_return(() => invoke($0, `32_good1`, [0]), [value("i32", 1684234849)]);
+
+// ./test/core/address.wast:129
+assert_return(() => invoke($0, `32_good2`, [0]), [value("i32", 1684234849)]);
+
+// ./test/core/address.wast:130
+assert_return(() => invoke($0, `32_good3`, [0]), [value("i32", 1701077858)]);
+
+// ./test/core/address.wast:131
+assert_return(() => invoke($0, `32_good4`, [0]), [value("i32", 1717920867)]);
+
+// ./test/core/address.wast:132
+assert_return(() => invoke($0, `32_good5`, [0]), [value("i32", 122)]);
+
+// ./test/core/address.wast:134
+assert_return(() => invoke($0, `8u_good1`, [65507]), [value("i32", 0)]);
+
+// ./test/core/address.wast:135
+assert_return(() => invoke($0, `8u_good2`, [65507]), [value("i32", 0)]);
+
+// ./test/core/address.wast:136
+assert_return(() => invoke($0, `8u_good3`, [65507]), [value("i32", 0)]);
+
+// ./test/core/address.wast:137
+assert_return(() => invoke($0, `8u_good4`, [65507]), [value("i32", 0)]);
+
+// ./test/core/address.wast:138
+assert_return(() => invoke($0, `8u_good5`, [65507]), [value("i32", 0)]);
+
+// ./test/core/address.wast:140
+assert_return(() => invoke($0, `8s_good1`, [65507]), [value("i32", 0)]);
+
+// ./test/core/address.wast:141
+assert_return(() => invoke($0, `8s_good2`, [65507]), [value("i32", 0)]);
+
+// ./test/core/address.wast:142
+assert_return(() => invoke($0, `8s_good3`, [65507]), [value("i32", 0)]);
+
+// ./test/core/address.wast:143
+assert_return(() => invoke($0, `8s_good4`, [65507]), [value("i32", 0)]);
+
+// ./test/core/address.wast:144
+assert_return(() => invoke($0, `8s_good5`, [65507]), [value("i32", 0)]);
+
+// ./test/core/address.wast:146
+assert_return(() => invoke($0, `16u_good1`, [65507]), [value("i32", 0)]);
+
+// ./test/core/address.wast:147
+assert_return(() => invoke($0, `16u_good2`, [65507]), [value("i32", 0)]);
+
+// ./test/core/address.wast:148
+assert_return(() => invoke($0, `16u_good3`, [65507]), [value("i32", 0)]);
+
+// ./test/core/address.wast:149
+assert_return(() => invoke($0, `16u_good4`, [65507]), [value("i32", 0)]);
+
+// ./test/core/address.wast:150
+assert_return(() => invoke($0, `16u_good5`, [65507]), [value("i32", 0)]);
+
+// ./test/core/address.wast:152
+assert_return(() => invoke($0, `16s_good1`, [65507]), [value("i32", 0)]);
+
+// ./test/core/address.wast:153
+assert_return(() => invoke($0, `16s_good2`, [65507]), [value("i32", 0)]);
+
+// ./test/core/address.wast:154
+assert_return(() => invoke($0, `16s_good3`, [65507]), [value("i32", 0)]);
+
+// ./test/core/address.wast:155
+assert_return(() => invoke($0, `16s_good4`, [65507]), [value("i32", 0)]);
+
+// ./test/core/address.wast:156
+assert_return(() => invoke($0, `16s_good5`, [65507]), [value("i32", 0)]);
+
+// ./test/core/address.wast:158
+assert_return(() => invoke($0, `32_good1`, [65507]), [value("i32", 0)]);
+
+// ./test/core/address.wast:159
+assert_return(() => invoke($0, `32_good2`, [65507]), [value("i32", 0)]);
+
+// ./test/core/address.wast:160
+assert_return(() => invoke($0, `32_good3`, [65507]), [value("i32", 0)]);
+
+// ./test/core/address.wast:161
+assert_return(() => invoke($0, `32_good4`, [65507]), [value("i32", 0)]);
+
+// ./test/core/address.wast:162
+assert_return(() => invoke($0, `32_good5`, [65507]), [value("i32", 0)]);
+
+// ./test/core/address.wast:164
+assert_return(() => invoke($0, `8u_good1`, [65508]), [value("i32", 0)]);
+
+// ./test/core/address.wast:165
+assert_return(() => invoke($0, `8u_good2`, [65508]), [value("i32", 0)]);
+
+// ./test/core/address.wast:166
+assert_return(() => invoke($0, `8u_good3`, [65508]), [value("i32", 0)]);
+
+// ./test/core/address.wast:167
+assert_return(() => invoke($0, `8u_good4`, [65508]), [value("i32", 0)]);
+
+// ./test/core/address.wast:168
+assert_return(() => invoke($0, `8u_good5`, [65508]), [value("i32", 0)]);
+
+// ./test/core/address.wast:170
+assert_return(() => invoke($0, `8s_good1`, [65508]), [value("i32", 0)]);
+
+// ./test/core/address.wast:171
+assert_return(() => invoke($0, `8s_good2`, [65508]), [value("i32", 0)]);
+
+// ./test/core/address.wast:172
+assert_return(() => invoke($0, `8s_good3`, [65508]), [value("i32", 0)]);
+
+// ./test/core/address.wast:173
+assert_return(() => invoke($0, `8s_good4`, [65508]), [value("i32", 0)]);
+
+// ./test/core/address.wast:174
+assert_return(() => invoke($0, `8s_good5`, [65508]), [value("i32", 0)]);
+
+// ./test/core/address.wast:176
+assert_return(() => invoke($0, `16u_good1`, [65508]), [value("i32", 0)]);
+
+// ./test/core/address.wast:177
+assert_return(() => invoke($0, `16u_good2`, [65508]), [value("i32", 0)]);
+
+// ./test/core/address.wast:178
+assert_return(() => invoke($0, `16u_good3`, [65508]), [value("i32", 0)]);
+
+// ./test/core/address.wast:179
+assert_return(() => invoke($0, `16u_good4`, [65508]), [value("i32", 0)]);
+
+// ./test/core/address.wast:180
+assert_return(() => invoke($0, `16u_good5`, [65508]), [value("i32", 0)]);
+
+// ./test/core/address.wast:182
+assert_return(() => invoke($0, `16s_good1`, [65508]), [value("i32", 0)]);
+
+// ./test/core/address.wast:183
+assert_return(() => invoke($0, `16s_good2`, [65508]), [value("i32", 0)]);
+
+// ./test/core/address.wast:184
+assert_return(() => invoke($0, `16s_good3`, [65508]), [value("i32", 0)]);
+
+// ./test/core/address.wast:185
+assert_return(() => invoke($0, `16s_good4`, [65508]), [value("i32", 0)]);
+
+// ./test/core/address.wast:186
+assert_return(() => invoke($0, `16s_good5`, [65508]), [value("i32", 0)]);
+
+// ./test/core/address.wast:188
+assert_return(() => invoke($0, `32_good1`, [65508]), [value("i32", 0)]);
+
+// ./test/core/address.wast:189
+assert_return(() => invoke($0, `32_good2`, [65508]), [value("i32", 0)]);
+
+// ./test/core/address.wast:190
+assert_return(() => invoke($0, `32_good3`, [65508]), [value("i32", 0)]);
+
+// ./test/core/address.wast:191
+assert_return(() => invoke($0, `32_good4`, [65508]), [value("i32", 0)]);
+
+// ./test/core/address.wast:192
+assert_trap(() => invoke($0, `32_good5`, [65508]), `out of bounds memory access`);
+
+// ./test/core/address.wast:194
+assert_trap(() => invoke($0, `8u_good3`, [-1]), `out of bounds memory access`);
+
+// ./test/core/address.wast:195
+assert_trap(() => invoke($0, `8s_good3`, [-1]), `out of bounds memory access`);
+
+// ./test/core/address.wast:196
+assert_trap(() => invoke($0, `16u_good3`, [-1]), `out of bounds memory access`);
+
+// ./test/core/address.wast:197
+assert_trap(() => invoke($0, `16s_good3`, [-1]), `out of bounds memory access`);
+
+// ./test/core/address.wast:198
+assert_trap(() => invoke($0, `32_good3`, [-1]), `out of bounds memory access`);
+
+// ./test/core/address.wast:199
+assert_trap(() => invoke($0, `32_good3`, [-1]), `out of bounds memory access`);
+
+// ./test/core/address.wast:201
+assert_trap(() => invoke($0, `8u_bad`, [0]), `out of bounds memory access`);
+
+// ./test/core/address.wast:202
+assert_trap(() => invoke($0, `8s_bad`, [0]), `out of bounds memory access`);
+
+// ./test/core/address.wast:203
+assert_trap(() => invoke($0, `16u_bad`, [0]), `out of bounds memory access`);
+
+// ./test/core/address.wast:204
+assert_trap(() => invoke($0, `16s_bad`, [0]), `out of bounds memory access`);
+
+// ./test/core/address.wast:205
+assert_trap(() => invoke($0, `32_bad`, [0]), `out of bounds memory access`);
+
+// ./test/core/address.wast:207
+assert_trap(() => invoke($0, `8u_bad`, [1]), `out of bounds memory access`);
+
+// ./test/core/address.wast:208
+assert_trap(() => invoke($0, `8s_bad`, [1]), `out of bounds memory access`);
+
+// ./test/core/address.wast:209
+assert_trap(() => invoke($0, `16u_bad`, [1]), `out of bounds memory access`);
+
+// ./test/core/address.wast:210
+assert_trap(() => invoke($0, `16s_bad`, [1]), `out of bounds memory access`);
+
+// ./test/core/address.wast:211
+assert_trap(() => invoke($0, `32_bad`, [1]), `out of bounds memory access`);
+
+// ./test/core/address.wast:213
+assert_malformed(
+ () => instantiate(`(memory 1) (func (drop (i32.load offset=4294967296 (i32.const 0)))) `),
+ `i32 constant`,
+);
+
+// ./test/core/address.wast:223
+let $1 = instantiate(`(module
+ (memory 1)
+ (data (i32.const 0) "abcdefghijklmnopqrstuvwxyz")
+
+ (func (export "8u_good1") (param $$i i32) (result i64)
+ (i64.load8_u offset=0 (local.get $$i)) ;; 97 'a'
+ )
+ (func (export "8u_good2") (param $$i i32) (result i64)
+ (i64.load8_u align=1 (local.get $$i)) ;; 97 'a'
+ )
+ (func (export "8u_good3") (param $$i i32) (result i64)
+ (i64.load8_u offset=1 align=1 (local.get $$i)) ;; 98 'b'
+ )
+ (func (export "8u_good4") (param $$i i32) (result i64)
+ (i64.load8_u offset=2 align=1 (local.get $$i)) ;; 99 'c'
+ )
+ (func (export "8u_good5") (param $$i i32) (result i64)
+ (i64.load8_u offset=25 align=1 (local.get $$i)) ;; 122 'z'
+ )
+
+ (func (export "8s_good1") (param $$i i32) (result i64)
+ (i64.load8_s offset=0 (local.get $$i)) ;; 97 'a'
+ )
+ (func (export "8s_good2") (param $$i i32) (result i64)
+ (i64.load8_s align=1 (local.get $$i)) ;; 97 'a'
+ )
+ (func (export "8s_good3") (param $$i i32) (result i64)
+ (i64.load8_s offset=1 align=1 (local.get $$i)) ;; 98 'b'
+ )
+ (func (export "8s_good4") (param $$i i32) (result i64)
+ (i64.load8_s offset=2 align=1 (local.get $$i)) ;; 99 'c'
+ )
+ (func (export "8s_good5") (param $$i i32) (result i64)
+ (i64.load8_s offset=25 align=1 (local.get $$i)) ;; 122 'z'
+ )
+
+ (func (export "16u_good1") (param $$i i32) (result i64)
+ (i64.load16_u offset=0 (local.get $$i)) ;; 25185 'ab'
+ )
+ (func (export "16u_good2") (param $$i i32) (result i64)
+ (i64.load16_u align=1 (local.get $$i)) ;; 25185 'ab'
+ )
+ (func (export "16u_good3") (param $$i i32) (result i64)
+ (i64.load16_u offset=1 align=1 (local.get $$i)) ;; 25442 'bc'
+ )
+ (func (export "16u_good4") (param $$i i32) (result i64)
+ (i64.load16_u offset=2 align=2 (local.get $$i)) ;; 25699 'cd'
+ )
+ (func (export "16u_good5") (param $$i i32) (result i64)
+ (i64.load16_u offset=25 align=2 (local.get $$i)) ;; 122 'z\\0'
+ )
+
+ (func (export "16s_good1") (param $$i i32) (result i64)
+ (i64.load16_s offset=0 (local.get $$i)) ;; 25185 'ab'
+ )
+ (func (export "16s_good2") (param $$i i32) (result i64)
+ (i64.load16_s align=1 (local.get $$i)) ;; 25185 'ab'
+ )
+ (func (export "16s_good3") (param $$i i32) (result i64)
+ (i64.load16_s offset=1 align=1 (local.get $$i)) ;; 25442 'bc'
+ )
+ (func (export "16s_good4") (param $$i i32) (result i64)
+ (i64.load16_s offset=2 align=2 (local.get $$i)) ;; 25699 'cd'
+ )
+ (func (export "16s_good5") (param $$i i32) (result i64)
+ (i64.load16_s offset=25 align=2 (local.get $$i)) ;; 122 'z\\0'
+ )
+
+ (func (export "32u_good1") (param $$i i32) (result i64)
+ (i64.load32_u offset=0 (local.get $$i)) ;; 1684234849 'abcd'
+ )
+ (func (export "32u_good2") (param $$i i32) (result i64)
+ (i64.load32_u align=1 (local.get $$i)) ;; 1684234849 'abcd'
+ )
+ (func (export "32u_good3") (param $$i i32) (result i64)
+ (i64.load32_u offset=1 align=1 (local.get $$i)) ;; 1701077858 'bcde'
+ )
+ (func (export "32u_good4") (param $$i i32) (result i64)
+ (i64.load32_u offset=2 align=2 (local.get $$i)) ;; 1717920867 'cdef'
+ )
+ (func (export "32u_good5") (param $$i i32) (result i64)
+ (i64.load32_u offset=25 align=4 (local.get $$i)) ;; 122 'z\\0\\0\\0'
+ )
+
+ (func (export "32s_good1") (param $$i i32) (result i64)
+ (i64.load32_s offset=0 (local.get $$i)) ;; 1684234849 'abcd'
+ )
+ (func (export "32s_good2") (param $$i i32) (result i64)
+ (i64.load32_s align=1 (local.get $$i)) ;; 1684234849 'abcd'
+ )
+ (func (export "32s_good3") (param $$i i32) (result i64)
+ (i64.load32_s offset=1 align=1 (local.get $$i)) ;; 1701077858 'bcde'
+ )
+ (func (export "32s_good4") (param $$i i32) (result i64)
+ (i64.load32_s offset=2 align=2 (local.get $$i)) ;; 1717920867 'cdef'
+ )
+ (func (export "32s_good5") (param $$i i32) (result i64)
+ (i64.load32_s offset=25 align=4 (local.get $$i)) ;; 122 'z\\0\\0\\0'
+ )
+
+ (func (export "64_good1") (param $$i i32) (result i64)
+ (i64.load offset=0 (local.get $$i)) ;; 0x6867666564636261 'abcdefgh'
+ )
+ (func (export "64_good2") (param $$i i32) (result i64)
+ (i64.load align=1 (local.get $$i)) ;; 0x6867666564636261 'abcdefgh'
+ )
+ (func (export "64_good3") (param $$i i32) (result i64)
+ (i64.load offset=1 align=1 (local.get $$i)) ;; 0x6968676665646362 'bcdefghi'
+ )
+ (func (export "64_good4") (param $$i i32) (result i64)
+ (i64.load offset=2 align=2 (local.get $$i)) ;; 0x6a69686766656463 'cdefghij'
+ )
+ (func (export "64_good5") (param $$i i32) (result i64)
+ (i64.load offset=25 align=8 (local.get $$i)) ;; 122 'z\\0\\0\\0\\0\\0\\0\\0'
+ )
+
+ (func (export "8u_bad") (param $$i i32)
+ (drop (i64.load8_u offset=4294967295 (local.get $$i)))
+ )
+ (func (export "8s_bad") (param $$i i32)
+ (drop (i64.load8_s offset=4294967295 (local.get $$i)))
+ )
+ (func (export "16u_bad") (param $$i i32)
+ (drop (i64.load16_u offset=4294967295 (local.get $$i)))
+ )
+ (func (export "16s_bad") (param $$i i32)
+ (drop (i64.load16_s offset=4294967295 (local.get $$i)))
+ )
+ (func (export "32u_bad") (param $$i i32)
+ (drop (i64.load32_u offset=4294967295 (local.get $$i)))
+ )
+ (func (export "32s_bad") (param $$i i32)
+ (drop (i64.load32_s offset=4294967295 (local.get $$i)))
+ )
+ (func (export "64_bad") (param $$i i32)
+ (drop (i64.load offset=4294967295 (local.get $$i)))
+ )
+)`);
+
+// ./test/core/address.wast:362
+assert_return(() => invoke($1, `8u_good1`, [0]), [value("i64", 97n)]);
+
+// ./test/core/address.wast:363
+assert_return(() => invoke($1, `8u_good2`, [0]), [value("i64", 97n)]);
+
+// ./test/core/address.wast:364
+assert_return(() => invoke($1, `8u_good3`, [0]), [value("i64", 98n)]);
+
+// ./test/core/address.wast:365
+assert_return(() => invoke($1, `8u_good4`, [0]), [value("i64", 99n)]);
+
+// ./test/core/address.wast:366
+assert_return(() => invoke($1, `8u_good5`, [0]), [value("i64", 122n)]);
+
+// ./test/core/address.wast:368
+assert_return(() => invoke($1, `8s_good1`, [0]), [value("i64", 97n)]);
+
+// ./test/core/address.wast:369
+assert_return(() => invoke($1, `8s_good2`, [0]), [value("i64", 97n)]);
+
+// ./test/core/address.wast:370
+assert_return(() => invoke($1, `8s_good3`, [0]), [value("i64", 98n)]);
+
+// ./test/core/address.wast:371
+assert_return(() => invoke($1, `8s_good4`, [0]), [value("i64", 99n)]);
+
+// ./test/core/address.wast:372
+assert_return(() => invoke($1, `8s_good5`, [0]), [value("i64", 122n)]);
+
+// ./test/core/address.wast:374
+assert_return(() => invoke($1, `16u_good1`, [0]), [value("i64", 25185n)]);
+
+// ./test/core/address.wast:375
+assert_return(() => invoke($1, `16u_good2`, [0]), [value("i64", 25185n)]);
+
+// ./test/core/address.wast:376
+assert_return(() => invoke($1, `16u_good3`, [0]), [value("i64", 25442n)]);
+
+// ./test/core/address.wast:377
+assert_return(() => invoke($1, `16u_good4`, [0]), [value("i64", 25699n)]);
+
+// ./test/core/address.wast:378
+assert_return(() => invoke($1, `16u_good5`, [0]), [value("i64", 122n)]);
+
+// ./test/core/address.wast:380
+assert_return(() => invoke($1, `16s_good1`, [0]), [value("i64", 25185n)]);
+
+// ./test/core/address.wast:381
+assert_return(() => invoke($1, `16s_good2`, [0]), [value("i64", 25185n)]);
+
+// ./test/core/address.wast:382
+assert_return(() => invoke($1, `16s_good3`, [0]), [value("i64", 25442n)]);
+
+// ./test/core/address.wast:383
+assert_return(() => invoke($1, `16s_good4`, [0]), [value("i64", 25699n)]);
+
+// ./test/core/address.wast:384
+assert_return(() => invoke($1, `16s_good5`, [0]), [value("i64", 122n)]);
+
+// ./test/core/address.wast:386
+assert_return(() => invoke($1, `32u_good1`, [0]), [value("i64", 1684234849n)]);
+
+// ./test/core/address.wast:387
+assert_return(() => invoke($1, `32u_good2`, [0]), [value("i64", 1684234849n)]);
+
+// ./test/core/address.wast:388
+assert_return(() => invoke($1, `32u_good3`, [0]), [value("i64", 1701077858n)]);
+
+// ./test/core/address.wast:389
+assert_return(() => invoke($1, `32u_good4`, [0]), [value("i64", 1717920867n)]);
+
+// ./test/core/address.wast:390
+assert_return(() => invoke($1, `32u_good5`, [0]), [value("i64", 122n)]);
+
+// ./test/core/address.wast:392
+assert_return(() => invoke($1, `32s_good1`, [0]), [value("i64", 1684234849n)]);
+
+// ./test/core/address.wast:393
+assert_return(() => invoke($1, `32s_good2`, [0]), [value("i64", 1684234849n)]);
+
+// ./test/core/address.wast:394
+assert_return(() => invoke($1, `32s_good3`, [0]), [value("i64", 1701077858n)]);
+
+// ./test/core/address.wast:395
+assert_return(() => invoke($1, `32s_good4`, [0]), [value("i64", 1717920867n)]);
+
+// ./test/core/address.wast:396
+assert_return(() => invoke($1, `32s_good5`, [0]), [value("i64", 122n)]);
+
+// ./test/core/address.wast:398
+assert_return(() => invoke($1, `64_good1`, [0]), [value("i64", 7523094288207667809n)]);
+
+// ./test/core/address.wast:399
+assert_return(() => invoke($1, `64_good2`, [0]), [value("i64", 7523094288207667809n)]);
+
+// ./test/core/address.wast:400
+assert_return(() => invoke($1, `64_good3`, [0]), [value("i64", 7595434461045744482n)]);
+
+// ./test/core/address.wast:401
+assert_return(() => invoke($1, `64_good4`, [0]), [value("i64", 7667774633883821155n)]);
+
+// ./test/core/address.wast:402
+assert_return(() => invoke($1, `64_good5`, [0]), [value("i64", 122n)]);
+
+// ./test/core/address.wast:404
+assert_return(() => invoke($1, `8u_good1`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:405
+assert_return(() => invoke($1, `8u_good2`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:406
+assert_return(() => invoke($1, `8u_good3`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:407
+assert_return(() => invoke($1, `8u_good4`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:408
+assert_return(() => invoke($1, `8u_good5`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:410
+assert_return(() => invoke($1, `8s_good1`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:411
+assert_return(() => invoke($1, `8s_good2`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:412
+assert_return(() => invoke($1, `8s_good3`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:413
+assert_return(() => invoke($1, `8s_good4`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:414
+assert_return(() => invoke($1, `8s_good5`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:416
+assert_return(() => invoke($1, `16u_good1`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:417
+assert_return(() => invoke($1, `16u_good2`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:418
+assert_return(() => invoke($1, `16u_good3`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:419
+assert_return(() => invoke($1, `16u_good4`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:420
+assert_return(() => invoke($1, `16u_good5`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:422
+assert_return(() => invoke($1, `16s_good1`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:423
+assert_return(() => invoke($1, `16s_good2`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:424
+assert_return(() => invoke($1, `16s_good3`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:425
+assert_return(() => invoke($1, `16s_good4`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:426
+assert_return(() => invoke($1, `16s_good5`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:428
+assert_return(() => invoke($1, `32u_good1`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:429
+assert_return(() => invoke($1, `32u_good2`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:430
+assert_return(() => invoke($1, `32u_good3`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:431
+assert_return(() => invoke($1, `32u_good4`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:432
+assert_return(() => invoke($1, `32u_good5`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:434
+assert_return(() => invoke($1, `32s_good1`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:435
+assert_return(() => invoke($1, `32s_good2`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:436
+assert_return(() => invoke($1, `32s_good3`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:437
+assert_return(() => invoke($1, `32s_good4`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:438
+assert_return(() => invoke($1, `32s_good5`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:440
+assert_return(() => invoke($1, `64_good1`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:441
+assert_return(() => invoke($1, `64_good2`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:442
+assert_return(() => invoke($1, `64_good3`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:443
+assert_return(() => invoke($1, `64_good4`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:444
+assert_return(() => invoke($1, `64_good5`, [65503]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:446
+assert_return(() => invoke($1, `8u_good1`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:447
+assert_return(() => invoke($1, `8u_good2`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:448
+assert_return(() => invoke($1, `8u_good3`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:449
+assert_return(() => invoke($1, `8u_good4`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:450
+assert_return(() => invoke($1, `8u_good5`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:452
+assert_return(() => invoke($1, `8s_good1`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:453
+assert_return(() => invoke($1, `8s_good2`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:454
+assert_return(() => invoke($1, `8s_good3`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:455
+assert_return(() => invoke($1, `8s_good4`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:456
+assert_return(() => invoke($1, `8s_good5`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:458
+assert_return(() => invoke($1, `16u_good1`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:459
+assert_return(() => invoke($1, `16u_good2`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:460
+assert_return(() => invoke($1, `16u_good3`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:461
+assert_return(() => invoke($1, `16u_good4`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:462
+assert_return(() => invoke($1, `16u_good5`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:464
+assert_return(() => invoke($1, `16s_good1`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:465
+assert_return(() => invoke($1, `16s_good2`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:466
+assert_return(() => invoke($1, `16s_good3`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:467
+assert_return(() => invoke($1, `16s_good4`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:468
+assert_return(() => invoke($1, `16s_good5`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:470
+assert_return(() => invoke($1, `32u_good1`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:471
+assert_return(() => invoke($1, `32u_good2`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:472
+assert_return(() => invoke($1, `32u_good3`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:473
+assert_return(() => invoke($1, `32u_good4`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:474
+assert_return(() => invoke($1, `32u_good5`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:476
+assert_return(() => invoke($1, `32s_good1`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:477
+assert_return(() => invoke($1, `32s_good2`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:478
+assert_return(() => invoke($1, `32s_good3`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:479
+assert_return(() => invoke($1, `32s_good4`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:480
+assert_return(() => invoke($1, `32s_good5`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:482
+assert_return(() => invoke($1, `64_good1`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:483
+assert_return(() => invoke($1, `64_good2`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:484
+assert_return(() => invoke($1, `64_good3`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:485
+assert_return(() => invoke($1, `64_good4`, [65504]), [value("i64", 0n)]);
+
+// ./test/core/address.wast:486
+assert_trap(() => invoke($1, `64_good5`, [65504]), `out of bounds memory access`);
+
+// ./test/core/address.wast:488
+assert_trap(() => invoke($1, `8u_good3`, [-1]), `out of bounds memory access`);
+
+// ./test/core/address.wast:489
+assert_trap(() => invoke($1, `8s_good3`, [-1]), `out of bounds memory access`);
+
+// ./test/core/address.wast:490
+assert_trap(() => invoke($1, `16u_good3`, [-1]), `out of bounds memory access`);
+
+// ./test/core/address.wast:491
+assert_trap(() => invoke($1, `16s_good3`, [-1]), `out of bounds memory access`);
+
+// ./test/core/address.wast:492
+assert_trap(() => invoke($1, `32u_good3`, [-1]), `out of bounds memory access`);
+
+// ./test/core/address.wast:493
+assert_trap(() => invoke($1, `32s_good3`, [-1]), `out of bounds memory access`);
+
+// ./test/core/address.wast:494
+assert_trap(() => invoke($1, `64_good3`, [-1]), `out of bounds memory access`);
+
+// ./test/core/address.wast:496
+assert_trap(() => invoke($1, `8u_bad`, [0]), `out of bounds memory access`);
+
+// ./test/core/address.wast:497
+assert_trap(() => invoke($1, `8s_bad`, [0]), `out of bounds memory access`);
+
+// ./test/core/address.wast:498
+assert_trap(() => invoke($1, `16u_bad`, [0]), `out of bounds memory access`);
+
+// ./test/core/address.wast:499
+assert_trap(() => invoke($1, `16s_bad`, [0]), `out of bounds memory access`);
+
+// ./test/core/address.wast:500
+assert_trap(() => invoke($1, `32u_bad`, [0]), `out of bounds memory access`);
+
+// ./test/core/address.wast:501
+assert_trap(() => invoke($1, `32s_bad`, [0]), `out of bounds memory access`);
+
+// ./test/core/address.wast:502
+assert_trap(() => invoke($1, `64_bad`, [0]), `out of bounds memory access`);
+
+// ./test/core/address.wast:504
+assert_trap(() => invoke($1, `8u_bad`, [1]), `out of bounds memory access`);
+
+// ./test/core/address.wast:505
+assert_trap(() => invoke($1, `8s_bad`, [1]), `out of bounds memory access`);
+
+// ./test/core/address.wast:506
+assert_trap(() => invoke($1, `16u_bad`, [1]), `out of bounds memory access`);
+
+// ./test/core/address.wast:507
+assert_trap(() => invoke($1, `16s_bad`, [1]), `out of bounds memory access`);
+
+// ./test/core/address.wast:508
+assert_trap(() => invoke($1, `32u_bad`, [0]), `out of bounds memory access`);
+
+// ./test/core/address.wast:509
+assert_trap(() => invoke($1, `32s_bad`, [0]), `out of bounds memory access`);
+
+// ./test/core/address.wast:510
+assert_trap(() => invoke($1, `64_bad`, [1]), `out of bounds memory access`);
+
+// ./test/core/address.wast:514
+let $2 = instantiate(`(module
+ (memory 1)
+ (data (i32.const 0) "\\00\\00\\00\\00\\00\\00\\a0\\7f\\01\\00\\d0\\7f")
+
+ (func (export "32_good1") (param $$i i32) (result f32)
+ (f32.load offset=0 (local.get $$i)) ;; 0.0 '\\00\\00\\00\\00'
+ )
+ (func (export "32_good2") (param $$i i32) (result f32)
+ (f32.load align=1 (local.get $$i)) ;; 0.0 '\\00\\00\\00\\00'
+ )
+ (func (export "32_good3") (param $$i i32) (result f32)
+ (f32.load offset=1 align=1 (local.get $$i)) ;; 0.0 '\\00\\00\\00\\00'
+ )
+ (func (export "32_good4") (param $$i i32) (result f32)
+ (f32.load offset=2 align=2 (local.get $$i)) ;; 0.0 '\\00\\00\\00\\00'
+ )
+ (func (export "32_good5") (param $$i i32) (result f32)
+ (f32.load offset=8 align=4 (local.get $$i)) ;; nan:0x500001 '\\01\\00\\d0\\7f'
+ )
+ (func (export "32_bad") (param $$i i32)
+ (drop (f32.load offset=4294967295 (local.get $$i)))
+ )
+)`);
+
+// ./test/core/address.wast:538
+assert_return(() => invoke($2, `32_good1`, [0]), [value("f32", 0)]);
+
+// ./test/core/address.wast:539
+assert_return(() => invoke($2, `32_good2`, [0]), [value("f32", 0)]);
+
+// ./test/core/address.wast:540
+assert_return(() => invoke($2, `32_good3`, [0]), [value("f32", 0)]);
+
+// ./test/core/address.wast:541
+assert_return(() => invoke($2, `32_good4`, [0]), [value("f32", 0)]);
+
+// ./test/core/address.wast:542
+assert_return(() => invoke($2, `32_good5`, [0]), [bytes("f32", [0x1, 0x0, 0xd0, 0x7f])]);
+
+// ./test/core/address.wast:544
+assert_return(() => invoke($2, `32_good1`, [65524]), [value("f32", 0)]);
+
+// ./test/core/address.wast:545
+assert_return(() => invoke($2, `32_good2`, [65524]), [value("f32", 0)]);
+
+// ./test/core/address.wast:546
+assert_return(() => invoke($2, `32_good3`, [65524]), [value("f32", 0)]);
+
+// ./test/core/address.wast:547
+assert_return(() => invoke($2, `32_good4`, [65524]), [value("f32", 0)]);
+
+// ./test/core/address.wast:548
+assert_return(() => invoke($2, `32_good5`, [65524]), [value("f32", 0)]);
+
+// ./test/core/address.wast:550
+assert_return(() => invoke($2, `32_good1`, [65525]), [value("f32", 0)]);
+
+// ./test/core/address.wast:551
+assert_return(() => invoke($2, `32_good2`, [65525]), [value("f32", 0)]);
+
+// ./test/core/address.wast:552
+assert_return(() => invoke($2, `32_good3`, [65525]), [value("f32", 0)]);
+
+// ./test/core/address.wast:553
+assert_return(() => invoke($2, `32_good4`, [65525]), [value("f32", 0)]);
+
+// ./test/core/address.wast:554
+assert_trap(() => invoke($2, `32_good5`, [65525]), `out of bounds memory access`);
+
+// ./test/core/address.wast:556
+assert_trap(() => invoke($2, `32_good3`, [-1]), `out of bounds memory access`);
+
+// ./test/core/address.wast:557
+assert_trap(() => invoke($2, `32_good3`, [-1]), `out of bounds memory access`);
+
+// ./test/core/address.wast:559
+assert_trap(() => invoke($2, `32_bad`, [0]), `out of bounds memory access`);
+
+// ./test/core/address.wast:560
+assert_trap(() => invoke($2, `32_bad`, [1]), `out of bounds memory access`);
+
+// ./test/core/address.wast:564
+let $3 = instantiate(`(module
+ (memory 1)
+ (data (i32.const 0) "\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\f4\\7f\\01\\00\\00\\00\\00\\00\\fc\\7f")
+
+ (func (export "64_good1") (param $$i i32) (result f64)
+ (f64.load offset=0 (local.get $$i)) ;; 0.0 '\\00\\00\\00\\00\\00\\00\\00\\00'
+ )
+ (func (export "64_good2") (param $$i i32) (result f64)
+ (f64.load align=1 (local.get $$i)) ;; 0.0 '\\00\\00\\00\\00\\00\\00\\00\\00'
+ )
+ (func (export "64_good3") (param $$i i32) (result f64)
+ (f64.load offset=1 align=1 (local.get $$i)) ;; 0.0 '\\00\\00\\00\\00\\00\\00\\00\\00'
+ )
+ (func (export "64_good4") (param $$i i32) (result f64)
+ (f64.load offset=2 align=2 (local.get $$i)) ;; 0.0 '\\00\\00\\00\\00\\00\\00\\00\\00'
+ )
+ (func (export "64_good5") (param $$i i32) (result f64)
+ (f64.load offset=18 align=8 (local.get $$i)) ;; nan:0xc000000000001 '\\01\\00\\00\\00\\00\\00\\fc\\7f'
+ )
+ (func (export "64_bad") (param $$i i32)
+ (drop (f64.load offset=4294967295 (local.get $$i)))
+ )
+)`);
+
+// ./test/core/address.wast:588
+assert_return(() => invoke($3, `64_good1`, [0]), [value("f64", 0)]);
+
+// ./test/core/address.wast:589
+assert_return(() => invoke($3, `64_good2`, [0]), [value("f64", 0)]);
+
+// ./test/core/address.wast:590
+assert_return(() => invoke($3, `64_good3`, [0]), [value("f64", 0)]);
+
+// ./test/core/address.wast:591
+assert_return(() => invoke($3, `64_good4`, [0]), [value("f64", 0)]);
+
+// ./test/core/address.wast:592
+assert_return(
+ () => invoke($3, `64_good5`, [0]),
+ [bytes("f64", [0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfc, 0x7f])],
+);
+
+// ./test/core/address.wast:594
+assert_return(() => invoke($3, `64_good1`, [65510]), [value("f64", 0)]);
+
+// ./test/core/address.wast:595
+assert_return(() => invoke($3, `64_good2`, [65510]), [value("f64", 0)]);
+
+// ./test/core/address.wast:596
+assert_return(() => invoke($3, `64_good3`, [65510]), [value("f64", 0)]);
+
+// ./test/core/address.wast:597
+assert_return(() => invoke($3, `64_good4`, [65510]), [value("f64", 0)]);
+
+// ./test/core/address.wast:598
+assert_return(() => invoke($3, `64_good5`, [65510]), [value("f64", 0)]);
+
+// ./test/core/address.wast:600
+assert_return(() => invoke($3, `64_good1`, [65511]), [value("f64", 0)]);
+
+// ./test/core/address.wast:601
+assert_return(() => invoke($3, `64_good2`, [65511]), [value("f64", 0)]);
+
+// ./test/core/address.wast:602
+assert_return(() => invoke($3, `64_good3`, [65511]), [value("f64", 0)]);
+
+// ./test/core/address.wast:603
+assert_return(() => invoke($3, `64_good4`, [65511]), [value("f64", 0)]);
+
+// ./test/core/address.wast:604
+assert_trap(() => invoke($3, `64_good5`, [65511]), `out of bounds memory access`);
+
+// ./test/core/address.wast:606
+assert_trap(() => invoke($3, `64_good3`, [-1]), `out of bounds memory access`);
+
+// ./test/core/address.wast:607
+assert_trap(() => invoke($3, `64_good3`, [-1]), `out of bounds memory access`);
+
+// ./test/core/address.wast:609
+assert_trap(() => invoke($3, `64_bad`, [0]), `out of bounds memory access`);
+
+// ./test/core/address.wast:610
+assert_trap(() => invoke($3, `64_bad`, [1]), `out of bounds memory access`);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/block.wast.js b/js/src/jit-test/tests/wasm/spec/spec/block.wast.js
new file mode 100644
index 0000000000..17a8db0774
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/block.wast.js
@@ -0,0 +1,1878 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/block.wast
+
+// ./test/core/block.wast:3
+let $0 = instantiate(`(module
+ ;; Auxiliary definition
+ (memory 1)
+
+ (func $$dummy)
+
+ (func (export "empty")
+ (block)
+ (block $$l)
+ )
+
+ (func (export "singular") (result i32)
+ (block (nop))
+ (block (result i32) (i32.const 7))
+ )
+
+ (func (export "multi") (result i32)
+ (block (call $$dummy) (call $$dummy) (call $$dummy) (call $$dummy))
+ (block (result i32)
+ (call $$dummy) (call $$dummy) (call $$dummy) (i32.const 7) (call $$dummy)
+ )
+ (drop)
+ (block (result i32 i64 i32)
+ (call $$dummy) (call $$dummy) (call $$dummy) (i32.const 8) (call $$dummy)
+ (call $$dummy) (call $$dummy) (call $$dummy) (i64.const 7) (call $$dummy)
+ (call $$dummy) (call $$dummy) (call $$dummy) (i32.const 9) (call $$dummy)
+ )
+ (drop) (drop)
+ )
+
+ (func (export "nested") (result i32)
+ (block (result i32)
+ (block (call $$dummy) (block) (nop))
+ (block (result i32) (call $$dummy) (i32.const 9))
+ )
+ )
+
+ (func (export "deep") (result i32)
+ (block (result i32) (block (result i32)
+ (block (result i32) (block (result i32)
+ (block (result i32) (block (result i32)
+ (block (result i32) (block (result i32)
+ (block (result i32) (block (result i32)
+ (block (result i32) (block (result i32)
+ (block (result i32) (block (result i32)
+ (block (result i32) (block (result i32)
+ (block (result i32) (block (result i32)
+ (block (result i32) (block (result i32)
+ (block (result i32) (block (result i32)
+ (block (result i32) (block (result i32)
+ (block (result i32) (block (result i32)
+ (block (result i32) (block (result i32)
+ (block (result i32) (block (result i32)
+ (block (result i32) (block (result i32)
+ (block (result i32) (block (result i32)
+ (block (result i32) (block (result i32)
+ (block (result i32) (block (result i32)
+ (call $$dummy) (i32.const 150)
+ ))
+ ))
+ ))
+ ))
+ ))
+ ))
+ ))
+ ))
+ ))
+ ))
+ ))
+ ))
+ ))
+ ))
+ ))
+ ))
+ ))
+ ))
+ ))
+ )
+
+ (func (export "as-select-first") (result i32)
+ (select (block (result i32) (i32.const 1)) (i32.const 2) (i32.const 3))
+ )
+ (func (export "as-select-mid") (result i32)
+ (select (i32.const 2) (block (result i32) (i32.const 1)) (i32.const 3))
+ )
+ (func (export "as-select-last") (result i32)
+ (select (i32.const 2) (i32.const 3) (block (result i32) (i32.const 1)))
+ )
+
+ (func (export "as-loop-first") (result i32)
+ (loop (result i32) (block (result i32) (i32.const 1)) (call $$dummy) (call $$dummy))
+ )
+ (func (export "as-loop-mid") (result i32)
+ (loop (result i32) (call $$dummy) (block (result i32) (i32.const 1)) (call $$dummy))
+ )
+ (func (export "as-loop-last") (result i32)
+ (loop (result i32) (call $$dummy) (call $$dummy) (block (result i32) (i32.const 1)))
+ )
+
+ (func (export "as-if-condition")
+ (block (result i32) (i32.const 1)) (if (then (call $$dummy)))
+ )
+ (func (export "as-if-then") (result i32)
+ (if (result i32) (i32.const 1) (then (block (result i32) (i32.const 1))) (else (i32.const 2)))
+ )
+ (func (export "as-if-else") (result i32)
+ (if (result i32) (i32.const 1) (then (i32.const 2)) (else (block (result i32) (i32.const 1))))
+ )
+
+ (func (export "as-br_if-first") (result i32)
+ (block (result i32) (br_if 0 (block (result i32) (i32.const 1)) (i32.const 2)))
+ )
+ (func (export "as-br_if-last") (result i32)
+ (block (result i32) (br_if 0 (i32.const 2) (block (result i32) (i32.const 1))))
+ )
+
+ (func (export "as-br_table-first") (result i32)
+ (block (result i32) (block (result i32) (i32.const 1)) (i32.const 2) (br_table 0 0))
+ )
+ (func (export "as-br_table-last") (result i32)
+ (block (result i32) (i32.const 2) (block (result i32) (i32.const 1)) (br_table 0 0))
+ )
+
+ (func $$func (param i32 i32) (result i32) (local.get 0))
+ (type $$check (func (param i32 i32) (result i32)))
+ (table funcref (elem $$func))
+ (func (export "as-call_indirect-first") (result i32)
+ (block (result i32)
+ (call_indirect (type $$check)
+ (block (result i32) (i32.const 1)) (i32.const 2) (i32.const 0)
+ )
+ )
+ )
+ (func (export "as-call_indirect-mid") (result i32)
+ (block (result i32)
+ (call_indirect (type $$check)
+ (i32.const 2) (block (result i32) (i32.const 1)) (i32.const 0)
+ )
+ )
+ )
+ (func (export "as-call_indirect-last") (result i32)
+ (block (result i32)
+ (call_indirect (type $$check)
+ (i32.const 1) (i32.const 2) (block (result i32) (i32.const 0))
+ )
+ )
+ )
+
+ (func (export "as-store-first")
+ (block (result i32) (i32.const 1)) (i32.const 1) (i32.store)
+ )
+ (func (export "as-store-last")
+ (i32.const 10) (block (result i32) (i32.const 1)) (i32.store)
+ )
+
+ (func (export "as-memory.grow-value") (result i32)
+ (memory.grow (block (result i32) (i32.const 1)))
+ )
+
+ (func $$f (param i32) (result i32) (local.get 0))
+
+ (func (export "as-call-value") (result i32)
+ (call $$f (block (result i32) (i32.const 1)))
+ )
+ (func (export "as-return-value") (result i32)
+ (block (result i32) (i32.const 1)) (return)
+ )
+ (func (export "as-drop-operand")
+ (drop (block (result i32) (i32.const 1)))
+ )
+ (func (export "as-br-value") (result i32)
+ (block (result i32) (br 0 (block (result i32) (i32.const 1))))
+ )
+ (func (export "as-local.set-value") (result i32)
+ (local i32) (local.set 0 (block (result i32) (i32.const 1))) (local.get 0)
+ )
+ (func (export "as-local.tee-value") (result i32)
+ (local i32) (local.tee 0 (block (result i32) (i32.const 1)))
+ )
+ (global $$a (mut i32) (i32.const 10))
+ (func (export "as-global.set-value") (result i32)
+ (global.set $$a (block (result i32) (i32.const 1)))
+ (global.get $$a)
+ )
+
+ (func (export "as-load-operand") (result i32)
+ (i32.load (block (result i32) (i32.const 1)))
+ )
+
+ (func (export "as-unary-operand") (result i32)
+ (i32.ctz (block (result i32) (call $$dummy) (i32.const 13)))
+ )
+ (func (export "as-binary-operand") (result i32)
+ (i32.mul
+ (block (result i32) (call $$dummy) (i32.const 3))
+ (block (result i32) (call $$dummy) (i32.const 4))
+ )
+ )
+ (func (export "as-test-operand") (result i32)
+ (i32.eqz (block (result i32) (call $$dummy) (i32.const 13)))
+ )
+ (func (export "as-compare-operand") (result i32)
+ (f32.gt
+ (block (result f32) (call $$dummy) (f32.const 3))
+ (block (result f32) (call $$dummy) (f32.const 3))
+ )
+ )
+ (func (export "as-binary-operands") (result i32)
+ (i32.mul
+ (block (result i32 i32)
+ (call $$dummy) (i32.const 3) (call $$dummy) (i32.const 4)
+ )
+ )
+ )
+ (func (export "as-compare-operands") (result i32)
+ (f32.gt
+ (block (result f32 f32)
+ (call $$dummy) (f32.const 3) (call $$dummy) (f32.const 3)
+ )
+ )
+ )
+ (func (export "as-mixed-operands") (result i32)
+ (block (result i32 i32)
+ (call $$dummy) (i32.const 3) (call $$dummy) (i32.const 4)
+ )
+ (i32.const 5)
+ (i32.add)
+ (i32.mul)
+ )
+
+ (func (export "break-bare") (result i32)
+ (block (br 0) (unreachable))
+ (block (br_if 0 (i32.const 1)) (unreachable))
+ (block (br_table 0 (i32.const 0)) (unreachable))
+ (block (br_table 0 0 0 (i32.const 1)) (unreachable))
+ (i32.const 19)
+ )
+ (func (export "break-value") (result i32)
+ (block (result i32) (br 0 (i32.const 18)) (i32.const 19))
+ )
+ (func (export "break-multi-value") (result i32 i32 i64)
+ (block (result i32 i32 i64)
+ (br 0 (i32.const 18) (i32.const -18) (i64.const 18))
+ (i32.const 19) (i32.const -19) (i64.const 19)
+ )
+ )
+ (func (export "break-repeated") (result i32)
+ (block (result i32)
+ (br 0 (i32.const 18))
+ (br 0 (i32.const 19))
+ (drop (br_if 0 (i32.const 20) (i32.const 0)))
+ (drop (br_if 0 (i32.const 20) (i32.const 1)))
+ (br 0 (i32.const 21))
+ (br_table 0 (i32.const 22) (i32.const 4))
+ (br_table 0 0 0 (i32.const 23) (i32.const 1))
+ (i32.const 21)
+ )
+ )
+ (func (export "break-inner") (result i32)
+ (local i32)
+ (local.set 0 (i32.const 0))
+ (local.set 0 (i32.add (local.get 0) (block (result i32) (block (result i32) (br 1 (i32.const 0x1))))))
+ (local.set 0 (i32.add (local.get 0) (block (result i32) (block (br 0)) (i32.const 0x2))))
+ (local.set 0
+ (i32.add (local.get 0) (block (result i32) (i32.ctz (br 0 (i32.const 0x4)))))
+ )
+ (local.set 0
+ (i32.add (local.get 0) (block (result i32) (i32.ctz (block (result i32) (br 1 (i32.const 0x8))))))
+ )
+ (local.get 0)
+ )
+
+ (func (export "param") (result i32)
+ (i32.const 1)
+ (block (param i32) (result i32)
+ (i32.const 2)
+ (i32.add)
+ )
+ )
+ (func (export "params") (result i32)
+ (i32.const 1)
+ (i32.const 2)
+ (block (param i32 i32) (result i32)
+ (i32.add)
+ )
+ )
+ (func (export "params-id") (result i32)
+ (i32.const 1)
+ (i32.const 2)
+ (block (param i32 i32) (result i32 i32))
+ (i32.add)
+ )
+ (func (export "param-break") (result i32)
+ (i32.const 1)
+ (block (param i32) (result i32)
+ (i32.const 2)
+ (i32.add)
+ (br 0)
+ )
+ )
+ (func (export "params-break") (result i32)
+ (i32.const 1)
+ (i32.const 2)
+ (block (param i32 i32) (result i32)
+ (i32.add)
+ (br 0)
+ )
+ )
+ (func (export "params-id-break") (result i32)
+ (i32.const 1)
+ (i32.const 2)
+ (block (param i32 i32) (result i32 i32) (br 0))
+ (i32.add)
+ )
+
+ (func (export "effects") (result i32)
+ (local i32)
+ (block
+ (local.set 0 (i32.const 1))
+ (local.set 0 (i32.mul (local.get 0) (i32.const 3)))
+ (local.set 0 (i32.sub (local.get 0) (i32.const 5)))
+ (local.set 0 (i32.mul (local.get 0) (i32.const 7)))
+ (br 0)
+ (local.set 0 (i32.mul (local.get 0) (i32.const 100)))
+ )
+ (i32.eq (local.get 0) (i32.const -14))
+ )
+
+ (type $$block-sig-1 (func))
+ (type $$block-sig-2 (func (result i32)))
+ (type $$block-sig-3 (func (param $$x i32)))
+ (type $$block-sig-4 (func (param i32 f64 i32) (result i32 f64 i32)))
+
+ (func (export "type-use")
+ (block (type $$block-sig-1))
+ (block (type $$block-sig-2) (i32.const 0))
+ (block (type $$block-sig-3) (drop))
+ (i32.const 0) (f64.const 0) (i32.const 0)
+ (block (type $$block-sig-4))
+ (drop) (drop) (drop)
+ (block (type $$block-sig-2) (result i32) (i32.const 0))
+ (block (type $$block-sig-3) (param i32) (drop))
+ (i32.const 0) (f64.const 0) (i32.const 0)
+ (block (type $$block-sig-4)
+ (param i32) (param f64 i32) (result i32 f64) (result i32)
+ )
+ (drop) (drop) (drop)
+ )
+)`);
+
+// ./test/core/block.wast:353
+assert_return(() => invoke($0, `empty`, []), []);
+
+// ./test/core/block.wast:354
+assert_return(() => invoke($0, `singular`, []), [value("i32", 7)]);
+
+// ./test/core/block.wast:355
+assert_return(() => invoke($0, `multi`, []), [value("i32", 8)]);
+
+// ./test/core/block.wast:356
+assert_return(() => invoke($0, `nested`, []), [value("i32", 9)]);
+
+// ./test/core/block.wast:357
+assert_return(() => invoke($0, `deep`, []), [value("i32", 150)]);
+
+// ./test/core/block.wast:359
+assert_return(() => invoke($0, `as-select-first`, []), [value("i32", 1)]);
+
+// ./test/core/block.wast:360
+assert_return(() => invoke($0, `as-select-mid`, []), [value("i32", 2)]);
+
+// ./test/core/block.wast:361
+assert_return(() => invoke($0, `as-select-last`, []), [value("i32", 2)]);
+
+// ./test/core/block.wast:363
+assert_return(() => invoke($0, `as-loop-first`, []), [value("i32", 1)]);
+
+// ./test/core/block.wast:364
+assert_return(() => invoke($0, `as-loop-mid`, []), [value("i32", 1)]);
+
+// ./test/core/block.wast:365
+assert_return(() => invoke($0, `as-loop-last`, []), [value("i32", 1)]);
+
+// ./test/core/block.wast:367
+assert_return(() => invoke($0, `as-if-condition`, []), []);
+
+// ./test/core/block.wast:368
+assert_return(() => invoke($0, `as-if-then`, []), [value("i32", 1)]);
+
+// ./test/core/block.wast:369
+assert_return(() => invoke($0, `as-if-else`, []), [value("i32", 2)]);
+
+// ./test/core/block.wast:371
+assert_return(() => invoke($0, `as-br_if-first`, []), [value("i32", 1)]);
+
+// ./test/core/block.wast:372
+assert_return(() => invoke($0, `as-br_if-last`, []), [value("i32", 2)]);
+
+// ./test/core/block.wast:374
+assert_return(() => invoke($0, `as-br_table-first`, []), [value("i32", 1)]);
+
+// ./test/core/block.wast:375
+assert_return(() => invoke($0, `as-br_table-last`, []), [value("i32", 2)]);
+
+// ./test/core/block.wast:377
+assert_return(() => invoke($0, `as-call_indirect-first`, []), [value("i32", 1)]);
+
+// ./test/core/block.wast:378
+assert_return(() => invoke($0, `as-call_indirect-mid`, []), [value("i32", 2)]);
+
+// ./test/core/block.wast:379
+assert_return(() => invoke($0, `as-call_indirect-last`, []), [value("i32", 1)]);
+
+// ./test/core/block.wast:381
+assert_return(() => invoke($0, `as-store-first`, []), []);
+
+// ./test/core/block.wast:382
+assert_return(() => invoke($0, `as-store-last`, []), []);
+
+// ./test/core/block.wast:384
+assert_return(() => invoke($0, `as-memory.grow-value`, []), [value("i32", 1)]);
+
+// ./test/core/block.wast:385
+assert_return(() => invoke($0, `as-call-value`, []), [value("i32", 1)]);
+
+// ./test/core/block.wast:386
+assert_return(() => invoke($0, `as-return-value`, []), [value("i32", 1)]);
+
+// ./test/core/block.wast:387
+assert_return(() => invoke($0, `as-drop-operand`, []), []);
+
+// ./test/core/block.wast:388
+assert_return(() => invoke($0, `as-br-value`, []), [value("i32", 1)]);
+
+// ./test/core/block.wast:389
+assert_return(() => invoke($0, `as-local.set-value`, []), [value("i32", 1)]);
+
+// ./test/core/block.wast:390
+assert_return(() => invoke($0, `as-local.tee-value`, []), [value("i32", 1)]);
+
+// ./test/core/block.wast:391
+assert_return(() => invoke($0, `as-global.set-value`, []), [value("i32", 1)]);
+
+// ./test/core/block.wast:392
+assert_return(() => invoke($0, `as-load-operand`, []), [value("i32", 1)]);
+
+// ./test/core/block.wast:394
+assert_return(() => invoke($0, `as-unary-operand`, []), [value("i32", 0)]);
+
+// ./test/core/block.wast:395
+assert_return(() => invoke($0, `as-binary-operand`, []), [value("i32", 12)]);
+
+// ./test/core/block.wast:396
+assert_return(() => invoke($0, `as-test-operand`, []), [value("i32", 0)]);
+
+// ./test/core/block.wast:397
+assert_return(() => invoke($0, `as-compare-operand`, []), [value("i32", 0)]);
+
+// ./test/core/block.wast:398
+assert_return(() => invoke($0, `as-binary-operands`, []), [value("i32", 12)]);
+
+// ./test/core/block.wast:399
+assert_return(() => invoke($0, `as-compare-operands`, []), [value("i32", 0)]);
+
+// ./test/core/block.wast:400
+assert_return(() => invoke($0, `as-mixed-operands`, []), [value("i32", 27)]);
+
+// ./test/core/block.wast:402
+assert_return(() => invoke($0, `break-bare`, []), [value("i32", 19)]);
+
+// ./test/core/block.wast:403
+assert_return(() => invoke($0, `break-value`, []), [value("i32", 18)]);
+
+// ./test/core/block.wast:404
+assert_return(
+ () => invoke($0, `break-multi-value`, []),
+ [value("i32", 18), value("i32", -18), value("i64", 18n)],
+);
+
+// ./test/core/block.wast:407
+assert_return(() => invoke($0, `break-repeated`, []), [value("i32", 18)]);
+
+// ./test/core/block.wast:408
+assert_return(() => invoke($0, `break-inner`, []), [value("i32", 15)]);
+
+// ./test/core/block.wast:410
+assert_return(() => invoke($0, `param`, []), [value("i32", 3)]);
+
+// ./test/core/block.wast:411
+assert_return(() => invoke($0, `params`, []), [value("i32", 3)]);
+
+// ./test/core/block.wast:412
+assert_return(() => invoke($0, `params-id`, []), [value("i32", 3)]);
+
+// ./test/core/block.wast:413
+assert_return(() => invoke($0, `param-break`, []), [value("i32", 3)]);
+
+// ./test/core/block.wast:414
+assert_return(() => invoke($0, `params-break`, []), [value("i32", 3)]);
+
+// ./test/core/block.wast:415
+assert_return(() => invoke($0, `params-id-break`, []), [value("i32", 3)]);
+
+// ./test/core/block.wast:417
+assert_return(() => invoke($0, `effects`, []), [value("i32", 1)]);
+
+// ./test/core/block.wast:419
+assert_return(() => invoke($0, `type-use`, []), []);
+
+// ./test/core/block.wast:421
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (func (i32.const 0) (block (type $$sig) (result i32) (param i32))) `),
+ `unexpected token`,
+);
+
+// ./test/core/block.wast:428
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (func (i32.const 0) (block (param i32) (type $$sig) (result i32))) `),
+ `unexpected token`,
+);
+
+// ./test/core/block.wast:435
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (func (i32.const 0) (block (param i32) (result i32) (type $$sig))) `),
+ `unexpected token`,
+);
+
+// ./test/core/block.wast:442
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (func (i32.const 0) (block (result i32) (type $$sig) (param i32))) `),
+ `unexpected token`,
+);
+
+// ./test/core/block.wast:449
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (func (i32.const 0) (block (result i32) (param i32) (type $$sig))) `),
+ `unexpected token`,
+);
+
+// ./test/core/block.wast:456
+assert_malformed(
+ () => instantiate(`(func (i32.const 0) (block (result i32) (param i32))) `),
+ `unexpected token`,
+);
+
+// ./test/core/block.wast:463
+assert_malformed(
+ () => instantiate(`(func (i32.const 0) (block (param $$x i32) (drop))) `),
+ `unexpected token`,
+);
+
+// ./test/core/block.wast:467
+assert_malformed(
+ () => instantiate(`(type $$sig (func)) (func (block (type $$sig) (result i32) (i32.const 0)) (unreachable)) `),
+ `inline function type`,
+);
+
+// ./test/core/block.wast:474
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (func (block (type $$sig) (result i32) (i32.const 0)) (unreachable)) `),
+ `inline function type`,
+);
+
+// ./test/core/block.wast:481
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (func (i32.const 0) (block (type $$sig) (param i32) (drop)) (unreachable)) `),
+ `inline function type`,
+);
+
+// ./test/core/block.wast:488
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32 i32) (result i32))) (func (i32.const 0) (block (type $$sig) (param i32) (result i32)) (unreachable)) `),
+ `inline function type`,
+);
+
+// ./test/core/block.wast:496
+assert_invalid(
+ () => instantiate(`(module
+ (type $$sig (func))
+ (func (block (type $$sig) (i32.const 0)))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:504
+assert_invalid(
+ () => instantiate(`(module (func $$type-empty-i32 (result i32) (block)))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:508
+assert_invalid(
+ () => instantiate(`(module (func $$type-empty-i64 (result i64) (block)))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:512
+assert_invalid(
+ () => instantiate(`(module (func $$type-empty-f32 (result f32) (block)))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:516
+assert_invalid(
+ () => instantiate(`(module (func $$type-empty-f64 (result f64) (block)))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:521
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-i32-vs-void
+ (block (i32.const 1))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:527
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-i64-vs-void
+ (block (i64.const 1))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:533
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-f32-vs-void
+ (block (f32.const 1.0))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:539
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-f64-vs-void
+ (block (f64.const 1.0))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:545
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-nums-vs-void
+ (block (i32.const 1) (i32.const 2))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:551
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-empty-vs-i32 (result i32)
+ (block (result i32))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:557
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-empty-vs-i64 (result i64)
+ (block (result i64))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:563
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-empty-vs-f32 (result f32)
+ (block (result f32))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:569
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-empty-vs-f64 (result f64)
+ (block (result f64))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:575
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-empty-vs-nums (result i32 i32)
+ (block (result i32 i32))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:582
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-value-empty-in-block
+ (i32.const 0)
+ (block (block (result i32)) (drop))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:591
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-value-empty-in-loop
+ (i32.const 0)
+ (loop (block (result i32)) (drop))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:600
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-value-empty-in-then
+ (i32.const 0) (i32.const 0)
+ (if (then (block (result i32)) (drop)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:610
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-void-vs-i32 (result i32)
+ (block (result i32) (nop))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:616
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-void-vs-i64 (result i64)
+ (block (result i64) (nop))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:622
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-void-vs-f32 (result f32)
+ (block (result f32) (nop))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:628
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-void-vs-f64 (result f64)
+ (block (result f64) (nop))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:634
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-void-vs-nums (result i32 i32)
+ (block (result i32 i32) (nop))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:640
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-i32-vs-i64 (result i32)
+ (block (result i32) (i64.const 0))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:646
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-i32-vs-f32 (result i32)
+ (block (result i32) (f32.const 0.0))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:652
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-i32-vs-f64 (result i32)
+ (block (result i32) (f64.const 0.0))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:658
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-i64-vs-i32 (result i64)
+ (block (result i64) (i32.const 0))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:664
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-i64-vs-f32 (result i64)
+ (block (result i64) (f32.const 0.0))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:670
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-i64-vs-f64 (result i64)
+ (block (result i64) (f64.const 0.0))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:676
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-f32-vs-i32 (result f32)
+ (block (result f32) (i32.const 0))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:682
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-f32-vs-i64 (result f32)
+ (block (result f32) (i64.const 0))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:688
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-f32-vs-f64 (result f32)
+ (block (result f32) (f64.const 0.0))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:694
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-f64-vs-i32 (result f64)
+ (block (result f64) (i32.const 0))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:700
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-f64-vs-i64 (result f64)
+ (block (result f64) (i64.const 0))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:706
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-f64-vs-f32 (result f32)
+ (block (result f64) (f32.const 0.0))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:712
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-num-vs-nums (result i32 i32)
+ (block (result i32 i32) (i32.const 0))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:718
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-partial-vs-nums (result i32 i32)
+ (i32.const 1) (block (result i32 i32) (i32.const 2))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:724
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-nums-vs-num (result i32)
+ (block (result i32) (i32.const 1) (i32.const 2))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:731
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-unreached-select-i32-i64 (result i32)
+ (block (result i64) (select (unreachable) (unreachable) (unreachable)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:737
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-unreached-select-i32-f32 (result i32)
+ (block (result f32) (select (unreachable) (unreachable) (unreachable)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:743
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-unreached-select-i32-f64 (result i32)
+ (block (result f64) (select (unreachable) (unreachable) (unreachable)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:749
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-unreached-select-i64-i32 (result i64)
+ (block (result i32) (select (unreachable) (unreachable) (unreachable)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:755
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-unreached-select-i64-f32 (result i64)
+ (block (result f32) (select (unreachable) (unreachable) (unreachable)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:761
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-unreached-select-i64-f64 (result i64)
+ (block (result f64) (select (unreachable) (unreachable) (unreachable)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:767
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-unreached-select-f32-i32 (result f32)
+ (block (result i32) (select (unreachable) (unreachable) (unreachable)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:773
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-unreached-select-f32-i64 (result f32)
+ (block (result i64) (select (unreachable) (unreachable) (unreachable)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:779
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-unreached-select-f32-f64 (result f32)
+ (block (result f64) (select (unreachable) (unreachable) (unreachable)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:785
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-unreached-select-f64-i32 (result f64)
+ (block (result i32) (select (unreachable) (unreachable) (unreachable)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:791
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-unreached-select-f64-i64 (result f64)
+ (block (result i64) (select (unreachable) (unreachable) (unreachable)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:797
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-unreached-select-f64-f32 (result f64)
+ (block (result f32) (select (unreachable) (unreachable) (unreachable)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:804
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-last-void-vs-i32 (result i32)
+ (block (result i32) (br 0))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:810
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-last-void-vs-i64 (result i64)
+ (block (result i64) (br 0))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:816
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-last-void-vs-f32 (result f32)
+ (block (result f32) (br 0))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:822
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-last-void-vs-f64 (result f64)
+ (block (result f64) (br 0))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:828
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-last-void-vs-nums (result i32 i32)
+ (block (result i32 i32) (br 0))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:835
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-empty-vs-i32 (result i32)
+ (block (result i32) (br 0) (i32.const 1))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:841
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-empty-vs-i64 (result i64)
+ (block (result i64) (br 0) (i64.const 1))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:847
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-empty-vs-f32 (result f32)
+ (block (result f32) (br 0) (f32.const 1.0))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:853
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-empty-vs-f64 (result f64)
+ (block (result f64) (br 0) (f64.const 1.0))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:859
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-empty-vs-nums (result i32 i32)
+ (block (result i32 i32) (br 0) (i32.const 1) (i32.const 2))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:866
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-void-vs-i32 (result i32)
+ (block (result i32) (br 0 (nop)) (i32.const 1))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:872
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-void-vs-i64 (result i64)
+ (block (result i64) (br 0 (nop)) (i64.const 1))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:878
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-void-vs-f32 (result f32)
+ (block (result f32) (br 0 (nop)) (f32.const 1.0))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:884
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-void-vs-f64 (result f64)
+ (block (result f64) (br 0 (nop)) (f64.const 1.0))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:891
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-i32-vs-i64 (result i32)
+ (block (result i32) (br 0 (i64.const 1)) (i32.const 1))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:897
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-i32-vs-f32 (result i32)
+ (block (result i32) (br 0 (f32.const 1.0)) (i32.const 1))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:903
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-i32-vs-f64 (result i32)
+ (block (result i32) (br 0 (f64.const 1.0)) (i32.const 1))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:909
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-i64-vs-i32 (result i64)
+ (block (result i64) (br 0 (i32.const 1)) (i64.const 1))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:915
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-i64-vs-f32 (result i64)
+ (block (result i64) (br 0 (f32.const 1.0)) (i64.const 1))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:921
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-i64-vs-f64 (result i64)
+ (block (result i64) (br 0 (f64.const 1.0)) (i64.const 1))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:927
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-f32-vs-i32 (result f32)
+ (block (result f32) (br 0 (i32.const 1)) (f32.const 1.0))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:933
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-f32-vs-i64 (result f32)
+ (block (result f32) (br 0 (i64.const 1)) (f32.const 1.0))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:939
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-f32-vs-f64 (result f32)
+ (block (result f32) (br 0 (f64.const 1.0)) (f32.const 1.0))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:945
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-f64-vs-i32 (result f64)
+ (block (result i64) (br 0 (i32.const 1)) (f64.const 1.0))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:951
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-f64-vs-i64 (result f64)
+ (block (result f64) (br 0 (i64.const 1)) (f64.const 1.0))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:957
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-f64-vs-f32 (result f64)
+ (block (result f64) (br 0 (f32.const 1.0)) (f64.const 1))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:963
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-num-vs-nums (result i32 i32)
+ (block (result i32 i32) (br 0 (i32.const 0)) (i32.const 1) (i32.const 2))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:969
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-partial-vs-nums (result i32 i32)
+ (i32.const 1) (block (result i32 i32) (br 0 (i32.const 0)) (i32.const 2))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:976
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-first-void-vs-i32 (result i32)
+ (block (result i32) (br 0 (nop)) (br 0 (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:982
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-first-void-vs-i64 (result i64)
+ (block (result i64) (br 0 (nop)) (br 0 (i64.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:988
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-first-void-vs-f32 (result f32)
+ (block (result f32) (br 0 (nop)) (br 0 (f32.const 1.0)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:994
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-first-void-vs-f64 (result f64)
+ (block (result f64) (br 0 (nop)) (br 0 (f64.const 1.0)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1000
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-first-void-vs-nums (result i32 i32)
+ (block (result i32 i32) (br 0 (nop)) (br 0 (i32.const 1) (i32.const 2)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1007
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-first-i32-vs-i64 (result i32)
+ (block (result i32) (br 0 (i64.const 1)) (br 0 (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1013
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-first-i32-vs-f32 (result i32)
+ (block (result i32) (br 0 (f32.const 1.0)) (br 0 (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1019
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-first-i32-vs-f64 (result i32)
+ (block (result i32) (br 0 (f64.const 1.0)) (br 0 (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1025
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-first-i64-vs-i32 (result i64)
+ (block (result i64) (br 0 (i32.const 1)) (br 0 (i64.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1031
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-first-i64-vs-f32 (result i64)
+ (block (result i64) (br 0 (f32.const 1.0)) (br 0 (i64.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1037
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-first-i64-vs-f64 (result i64)
+ (block (result i64) (br 0 (f64.const 1.0)) (br 0 (i64.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1043
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-first-f32-vs-i32 (result f32)
+ (block (result f32) (br 0 (i32.const 1)) (br 0 (f32.const 1.0)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1049
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-first-f32-vs-i64 (result f32)
+ (block (result f32) (br 0 (i64.const 1)) (br 0 (f32.const 1.0)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1055
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-first-f32-vs-f64 (result f32)
+ (block (result f32) (br 0 (f64.const 1.0)) (br 0 (f32.const 1.0)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1061
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-first-f64-vs-i32 (result f64)
+ (block (result f64) (br 0 (i32.const 1)) (br 0 (f64.const 1.0)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1067
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-first-f64-vs-i64 (result f64)
+ (block (result f64) (br 0 (i64.const 1)) (br 0 (f64.const 1.0)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1073
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-first-f64-vs-f32 (result f64)
+ (block (result f64) (br 0 (f32.const 1.0)) (br 0 (f64.const 1.0)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1079
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-first-num-vs-nums (result i32 i32)
+ (block (result i32 i32) (br 0 (i32.const 0)) (br 0 (i32.const 1) (i32.const 2)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1086
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-nested-i32-vs-void
+ (block (result i32) (block (result i32) (br 1 (i32.const 1))) (br 0))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1092
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-nested-i64-vs-void
+ (block (result i64) (block (result i64) (br 1 (i64.const 1))) (br 0))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1098
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-nested-f32-vs-void
+ (block (result f32) (block (result f32) (br 1 (f32.const 1.0))) (br 0))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1104
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-nested-f64-vs-void
+ (block (result f64) (block (result f64) (br 1 (f64.const 1.0))) (br 0))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1110
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-nested-nums-vs-void
+ (block (result i32 i32) (block (result i32 i32) (br 1 (i32.const 1) (i32.const 2))) (br 0))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1117
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-nested-empty-vs-i32 (result i32)
+ (block (result i32) (block (br 1)) (br 0 (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1123
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-nested-empty-vs-i64 (result i64)
+ (block (result i64) (block (br 1)) (br 0 (i64.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1129
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-nested-empty-vs-f32 (result f32)
+ (block (result f32) (block (br 1)) (br 0 (f32.const 1.0)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1135
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-nested-empty-vs-f64 (result f64)
+ (block (result f64) (block (br 1)) (br 0 (f64.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1141
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-nested-empty-vs-nums (result i32 i32)
+ (block (result i32 i32) (block (br 1)) (br 0 (i32.const 1) (i32.const 2)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1148
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-nested-void-vs-i32 (result i32)
+ (block (result i32) (block (result i32) (br 1 (nop))) (br 0 (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1154
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-nested-void-vs-i64 (result i64)
+ (block (result i64) (block (result i64) (br 1 (nop))) (br 0 (i64.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1160
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-nested-void-vs-f32 (result f32)
+ (block (result f32) (block (result f32) (br 1 (nop))) (br 0 (f32.const 1.0)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1166
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-nested-void-vs-f64 (result f64)
+ (block (result f64) (block (result f64) (br 1 (nop))) (br 0 (f64.const 1.0)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1172
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-nested-void-vs-nums (result i32 i32)
+ (block (result i32 i32) (block (result i32 i32) (br 1 (nop))) (br 0 (i32.const 1) (i32.const 2)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1179
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-nested-i32-vs-i64 (result i32)
+ (block (result i32)
+ (block (result i32) (br 1 (i64.const 1))) (br 0 (i32.const 1))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1187
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-nested-i32-vs-f32 (result i32)
+ (block (result i32)
+ (block (result i32) (br 1 (f32.const 1.0))) (br 0 (i32.const 1))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1195
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-nested-i32-vs-f64 (result i32)
+ (block (result i32)
+ (block (result i32) (br 1 (f64.const 1.0))) (br 0 (i32.const 1))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1203
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-nested-i64-vs-i32 (result i64)
+ (block (result i64)
+ (block (result i64) (br 1 (i32.const 1))) (br 0 (i64.const 1))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1211
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-nested-i64-vs-f32 (result i64)
+ (block (result i64)
+ (block (result i64) (br 1 (f32.const 1.0))) (br 0 (i64.const 1))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1219
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-nested-i64-vs-f64 (result i64)
+ (block (result i64)
+ (block (result i64) (br 1 (f64.const 1.0))) (br 0 (i64.const 1))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1227
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-nested-f32-vs-i32 (result f32)
+ (block (result f32)
+ (block (result f32) (br 1 (i32.const 1))) (br 0 (f32.const 1.0))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1235
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-nested-f32-vs-i64 (result f32)
+ (block (result f32)
+ (block (result f32) (br 1 (i64.const 1))) (br 0 (f32.const 1.0))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1243
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-nested-f32-vs-f64 (result f32)
+ (block (result f32)
+ (block (result f32) (br 1 (f64.const 1.0))) (br 0 (f32.const 1.0))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1251
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-nested-f64-vs-i32 (result f64)
+ (block (result f64)
+ (block (result f64) (br 1 (i32.const 1))) (br 0 (f64.const 1.0))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1259
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-nested-f64-vs-i64 (result f64)
+ (block (result f64)
+ (block (result f64) (br 1 (i64.const 1))) (br 0 (f64.const 1.0))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1267
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-nested-f64-vs-f32 (result f64)
+ (block (result f64)
+ (block (result f64) (br 1 (f32.const 1.0))) (br 0 (f64.const 1.0))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1275
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-nested-num-vs-nums (result i32 i32)
+ (block (result i32 i32)
+ (block (result i32 i32) (br 1 (i32.const 0))) (br 0 (i32.const 1) (i32.const 2))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1284
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-operand-empty-vs-i32 (result i32)
+ (i32.ctz (block (br 0)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1290
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-operand-empty-vs-i64 (result i64)
+ (i64.ctz (block (br 0)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1296
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-operand-empty-vs-f32 (result f32)
+ (f32.floor (block (br 0)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1302
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-operand-empty-vs-f64 (result f64)
+ (f64.floor (block (br 0)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1308
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-operand-empty-vs-nums (result i32)
+ (i32.add (block (br 0)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1315
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-operand-void-vs-i32 (result i32)
+ (i32.ctz (block (br 0 (nop))))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1321
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-operand-void-vs-i64 (result i64)
+ (i64.ctz (block (br 0 (nop))))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1327
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-operand-void-vs-f32 (result f32)
+ (f32.floor (block (br 0 (nop))))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1333
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-operand-void-vs-f64 (result f64)
+ (f64.floor (block (br 0 (nop))))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1339
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-operand-void-vs-nums (result i32)
+ (i32.add (block (br 0 (nop))))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1346
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-operand-i32-vs-i64 (result i32)
+ (i64.ctz (block (br 0 (i64.const 9))))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1352
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-operand-i32-vs-f32 (result i32)
+ (f32.floor (block (br 0 (f32.const 9.0))))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1358
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-operand-i32-vs-f64 (result i32)
+ (f64.floor (block (br 0 (f64.const 9.0))))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1364
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-operand-i64-vs-i32 (result i64)
+ (i32.ctz (block (br 0 (i32.const 9))))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1370
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-operand-i64-vs-f32 (result i64)
+ (f32.floor (block (br 0 (f32.const 9.0))))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1376
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-operand-i64-vs-f64 (result i64)
+ (f64.floor (block (br 0 (f64.const 9.0))))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1382
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-operand-f32-vs-i32 (result f32)
+ (i32.ctz (block (br 0 (i32.const 9))))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1388
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-operand-f32-vs-i64 (result f32)
+ (i64.ctz (block (br 0 (i64.const 9))))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1394
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-operand-f32-vs-f64 (result f32)
+ (f64.floor (block (br 0 (f64.const 9.0))))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1400
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-operand-f64-vs-i32 (result f64)
+ (i32.ctz (block (br 0 (i32.const 9))))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1406
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-operand-f64-vs-i64 (result f64)
+ (i64.ctz (block (br 0 (i64.const 9))))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1412
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-operand-f64-vs-f32 (result f64)
+ (f32.floor (block (br 0 (f32.const 9.0))))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1418
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-operand-num-vs-nums (result i32)
+ (i32.add (block (br 0 (i64.const 9) (i32.const 10))))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1425
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-void-vs-num
+ (block (param i32) (drop))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1431
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-void-vs-nums
+ (block (param i32 f64) (drop) (drop))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1437
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-num-vs-num
+ (f32.const 0) (block (param i32) (drop))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1443
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-num-vs-nums
+ (f32.const 0) (block (param f32 i32) (drop) (drop))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1449
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-nested-void-vs-num
+ (block (block (param i32) (drop)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1455
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-void-vs-nums
+ (block (block (param i32 f64) (drop) (drop)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1461
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-num-vs-num
+ (block (f32.const 0) (block (param i32) (drop)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1467
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-num-vs-nums
+ (block (f32.const 0) (block (param f32 i32) (drop) (drop)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/block.wast:1474
+assert_malformed(
+ () => instantiate(`(func (param i32) (result i32) block (param $$x i32) end) `),
+ `unexpected token`,
+);
+
+// ./test/core/block.wast:1478
+assert_malformed(
+ () => instantiate(`(func (param i32) (result i32) (block (param $$x i32))) `),
+ `unexpected token`,
+);
+
+// ./test/core/block.wast:1484
+assert_malformed(() => instantiate(`(func block end $$l) `), `mismatching label`);
+
+// ./test/core/block.wast:1488
+assert_malformed(() => instantiate(`(func block $$a end $$l) `), `mismatching label`);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/br.wast.js b/js/src/jit-test/tests/wasm/spec/spec/br.wast.js
new file mode 100644
index 0000000000..e4febec2ea
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/br.wast.js
@@ -0,0 +1,839 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/br.wast
+
+// ./test/core/br.wast:3
+let $0 = instantiate(`(module
+ ;; Auxiliary definition
+ (func $$dummy)
+
+ (func (export "type-i32") (block (drop (i32.ctz (br 0)))))
+ (func (export "type-i64") (block (drop (i64.ctz (br 0)))))
+ (func (export "type-f32") (block (drop (f32.neg (br 0)))))
+ (func (export "type-f64") (block (drop (f64.neg (br 0)))))
+ (func (export "type-i32-i32") (block (drop (i32.add (br 0)))))
+ (func (export "type-i64-i64") (block (drop (i64.add (br 0)))))
+ (func (export "type-f32-f32") (block (drop (f32.add (br 0)))))
+ (func (export "type-f64-f64") (block (drop (f64.add (br 0)))))
+
+ (func (export "type-i32-value") (result i32)
+ (block (result i32) (i32.ctz (br 0 (i32.const 1))))
+ )
+ (func (export "type-i64-value") (result i64)
+ (block (result i64) (i64.ctz (br 0 (i64.const 2))))
+ )
+ (func (export "type-f32-value") (result f32)
+ (block (result f32) (f32.neg (br 0 (f32.const 3))))
+ )
+ (func (export "type-f64-value") (result f64)
+ (block (result f64) (f64.neg (br 0 (f64.const 4))))
+ )
+ (func (export "type-f64-f64-value") (result f64 f64)
+ (block (result f64 f64)
+ (f64.add (br 0 (f64.const 4) (f64.const 5))) (f64.const 6)
+ )
+ )
+
+ (func (export "as-block-first")
+ (block (br 0) (call $$dummy))
+ )
+ (func (export "as-block-mid")
+ (block (call $$dummy) (br 0) (call $$dummy))
+ )
+ (func (export "as-block-last")
+ (block (nop) (call $$dummy) (br 0))
+ )
+ (func (export "as-block-value") (result i32)
+ (block (result i32) (nop) (call $$dummy) (br 0 (i32.const 2)))
+ )
+
+ (func (export "as-loop-first") (result i32)
+ (block (result i32) (loop (result i32) (br 1 (i32.const 3)) (i32.const 2)))
+ )
+ (func (export "as-loop-mid") (result i32)
+ (block (result i32)
+ (loop (result i32) (call $$dummy) (br 1 (i32.const 4)) (i32.const 2))
+ )
+ )
+ (func (export "as-loop-last") (result i32)
+ (block (result i32)
+ (loop (result i32) (nop) (call $$dummy) (br 1 (i32.const 5)))
+ )
+ )
+
+ (func (export "as-br-value") (result i32)
+ (block (result i32) (br 0 (br 0 (i32.const 9))))
+ )
+
+ (func (export "as-br_if-cond")
+ (block (br_if 0 (br 0)))
+ )
+ (func (export "as-br_if-value") (result i32)
+ (block (result i32)
+ (drop (br_if 0 (br 0 (i32.const 8)) (i32.const 1))) (i32.const 7)
+ )
+ )
+ (func (export "as-br_if-value-cond") (result i32)
+ (block (result i32)
+ (drop (br_if 0 (i32.const 6) (br 0 (i32.const 9)))) (i32.const 7)
+ )
+ )
+
+ (func (export "as-br_table-index")
+ (block (br_table 0 0 0 (br 0)))
+ )
+ (func (export "as-br_table-value") (result i32)
+ (block (result i32)
+ (br_table 0 0 0 (br 0 (i32.const 10)) (i32.const 1)) (i32.const 7)
+ )
+ )
+ (func (export "as-br_table-value-index") (result i32)
+ (block (result i32)
+ (br_table 0 0 (i32.const 6) (br 0 (i32.const 11))) (i32.const 7)
+ )
+ )
+
+ (func (export "as-return-value") (result i64)
+ (block (result i64) (return (br 0 (i64.const 7))))
+ )
+ (func (export "as-return-values") (result i32 i64)
+ (i32.const 2)
+ (block (result i64) (return (br 0 (i32.const 1) (i64.const 7))))
+ )
+
+ (func (export "as-if-cond") (result i32)
+ (block (result i32)
+ (if (result i32) (br 0 (i32.const 2))
+ (then (i32.const 0))
+ (else (i32.const 1))
+ )
+ )
+ )
+ (func (export "as-if-then") (param i32 i32) (result i32)
+ (block (result i32)
+ (if (result i32) (local.get 0)
+ (then (br 1 (i32.const 3)))
+ (else (local.get 1))
+ )
+ )
+ )
+ (func (export "as-if-else") (param i32 i32) (result i32)
+ (block (result i32)
+ (if (result i32) (local.get 0)
+ (then (local.get 1))
+ (else (br 1 (i32.const 4)))
+ )
+ )
+ )
+
+ (func (export "as-select-first") (param i32 i32) (result i32)
+ (block (result i32)
+ (select (br 0 (i32.const 5)) (local.get 0) (local.get 1))
+ )
+ )
+ (func (export "as-select-second") (param i32 i32) (result i32)
+ (block (result i32)
+ (select (local.get 0) (br 0 (i32.const 6)) (local.get 1))
+ )
+ )
+ (func (export "as-select-cond") (result i32)
+ (block (result i32)
+ (select (i32.const 0) (i32.const 1) (br 0 (i32.const 7)))
+ )
+ )
+ (func (export "as-select-all") (result i32)
+ (block (result i32) (select (br 0 (i32.const 8))))
+ )
+
+ (func $$f (param i32 i32 i32) (result i32) (i32.const -1))
+ (func (export "as-call-first") (result i32)
+ (block (result i32)
+ (call $$f (br 0 (i32.const 12)) (i32.const 2) (i32.const 3))
+ )
+ )
+ (func (export "as-call-mid") (result i32)
+ (block (result i32)
+ (call $$f (i32.const 1) (br 0 (i32.const 13)) (i32.const 3))
+ )
+ )
+ (func (export "as-call-last") (result i32)
+ (block (result i32)
+ (call $$f (i32.const 1) (i32.const 2) (br 0 (i32.const 14)))
+ )
+ )
+ (func (export "as-call-all") (result i32)
+ (block (result i32) (call $$f (br 0 (i32.const 15))))
+ )
+
+ (type $$sig (func (param i32 i32 i32) (result i32)))
+ (table funcref (elem $$f))
+ (func (export "as-call_indirect-func") (result i32)
+ (block (result i32)
+ (call_indirect (type $$sig)
+ (br 0 (i32.const 20))
+ (i32.const 1) (i32.const 2) (i32.const 3)
+ )
+ )
+ )
+ (func (export "as-call_indirect-first") (result i32)
+ (block (result i32)
+ (call_indirect (type $$sig)
+ (i32.const 0)
+ (br 0 (i32.const 21)) (i32.const 2) (i32.const 3)
+ )
+ )
+ )
+ (func (export "as-call_indirect-mid") (result i32)
+ (block (result i32)
+ (call_indirect (type $$sig)
+ (i32.const 0)
+ (i32.const 1) (br 0 (i32.const 22)) (i32.const 3)
+ )
+ )
+ )
+ (func (export "as-call_indirect-last") (result i32)
+ (block (result i32)
+ (call_indirect (type $$sig)
+ (i32.const 0)
+ (i32.const 1) (i32.const 2) (br 0 (i32.const 23))
+ )
+ )
+ )
+ (func (export "as-call_indirect-all") (result i32)
+ (block (result i32) (call_indirect (type $$sig) (br 0 (i32.const 24))))
+ )
+
+ (func (export "as-local.set-value") (result i32) (local f32)
+ (block (result i32) (local.set 0 (br 0 (i32.const 17))) (i32.const -1))
+ )
+ (func (export "as-local.tee-value") (result i32) (local i32)
+ (block (result i32) (local.tee 0 (br 0 (i32.const 1))))
+ )
+ (global $$a (mut i32) (i32.const 10))
+ (func (export "as-global.set-value") (result i32)
+ (block (result i32) (global.set $$a (br 0 (i32.const 1))))
+ )
+
+ (memory 1)
+ (func (export "as-load-address") (result f32)
+ (block (result f32) (f32.load (br 0 (f32.const 1.7))))
+ )
+ (func (export "as-loadN-address") (result i64)
+ (block (result i64) (i64.load8_s (br 0 (i64.const 30))))
+ )
+
+ (func (export "as-store-address") (result i32)
+ (block (result i32)
+ (f64.store (br 0 (i32.const 30)) (f64.const 7)) (i32.const -1)
+ )
+ )
+ (func (export "as-store-value") (result i32)
+ (block (result i32)
+ (i64.store (i32.const 2) (br 0 (i32.const 31))) (i32.const -1)
+ )
+ )
+ (func (export "as-store-both") (result i32)
+ (block (result i32)
+ (i64.store (br 0 (i32.const 32))) (i32.const -1)
+ )
+ )
+
+ (func (export "as-storeN-address") (result i32)
+ (block (result i32)
+ (i32.store8 (br 0 (i32.const 32)) (i32.const 7)) (i32.const -1)
+ )
+ )
+ (func (export "as-storeN-value") (result i32)
+ (block (result i32)
+ (i64.store16 (i32.const 2) (br 0 (i32.const 33))) (i32.const -1)
+ )
+ )
+ (func (export "as-storeN-both") (result i32)
+ (block (result i32)
+ (i64.store16 (br 0 (i32.const 34))) (i32.const -1)
+ )
+ )
+
+ (func (export "as-unary-operand") (result f32)
+ (block (result f32) (f32.neg (br 0 (f32.const 3.4))))
+ )
+
+ (func (export "as-binary-left") (result i32)
+ (block (result i32) (i32.add (br 0 (i32.const 3)) (i32.const 10)))
+ )
+ (func (export "as-binary-right") (result i64)
+ (block (result i64) (i64.sub (i64.const 10) (br 0 (i64.const 45))))
+ )
+ (func (export "as-binary-both") (result i32)
+ (block (result i32) (i32.add (br 0 (i32.const 46))))
+ )
+
+ (func (export "as-test-operand") (result i32)
+ (block (result i32) (i32.eqz (br 0 (i32.const 44))))
+ )
+
+ (func (export "as-compare-left") (result i32)
+ (block (result i32) (f64.le (br 0 (i32.const 43)) (f64.const 10)))
+ )
+ (func (export "as-compare-right") (result i32)
+ (block (result i32) (f32.ne (f32.const 10) (br 0 (i32.const 42))))
+ )
+ (func (export "as-compare-both") (result i32)
+ (block (result i32) (f64.le (br 0 (i32.const 44))))
+ )
+
+ (func (export "as-convert-operand") (result i32)
+ (block (result i32) (i32.wrap_i64 (br 0 (i32.const 41))))
+ )
+
+ (func (export "as-memory.grow-size") (result i32)
+ (block (result i32) (memory.grow (br 0 (i32.const 40))))
+ )
+
+ (func (export "nested-block-value") (result i32)
+ (i32.add
+ (i32.const 1)
+ (block (result i32)
+ (call $$dummy)
+ (i32.add (i32.const 4) (br 0 (i32.const 8)))
+ )
+ )
+ )
+
+ (func (export "nested-br-value") (result i32)
+ (i32.add
+ (i32.const 1)
+ (block (result i32)
+ (drop (i32.const 2))
+ (drop
+ (block (result i32)
+ (drop (i32.const 4))
+ (br 0 (br 1 (i32.const 8)))
+ )
+ )
+ (i32.const 16)
+ )
+ )
+ )
+
+ (func (export "nested-br_if-value") (result i32)
+ (i32.add
+ (i32.const 1)
+ (block (result i32)
+ (drop (i32.const 2))
+ (drop
+ (block (result i32)
+ (drop (i32.const 4))
+ (drop (br_if 0 (br 1 (i32.const 8)) (i32.const 1)))
+ (i32.const 32)
+ )
+ )
+ (i32.const 16)
+ )
+ )
+ )
+
+ (func (export "nested-br_if-value-cond") (result i32)
+ (i32.add
+ (i32.const 1)
+ (block (result i32)
+ (drop (i32.const 2))
+ (drop (br_if 0 (i32.const 4) (br 0 (i32.const 8))))
+ (i32.const 16)
+ )
+ )
+ )
+
+ (func (export "nested-br_table-value") (result i32)
+ (i32.add
+ (i32.const 1)
+ (block (result i32)
+ (drop (i32.const 2))
+ (drop
+ (block (result i32)
+ (drop (i32.const 4))
+ (br_table 0 (br 1 (i32.const 8)) (i32.const 1))
+ )
+ )
+ (i32.const 16)
+ )
+ )
+ )
+
+ (func (export "nested-br_table-value-index") (result i32)
+ (i32.add
+ (i32.const 1)
+ (block (result i32)
+ (drop (i32.const 2))
+ (br_table 0 (i32.const 4) (br 0 (i32.const 8)))
+ (i32.const 16)
+ )
+ )
+ )
+)`);
+
+// ./test/core/br.wast:372
+assert_return(() => invoke($0, `type-i32`, []), []);
+
+// ./test/core/br.wast:373
+assert_return(() => invoke($0, `type-i64`, []), []);
+
+// ./test/core/br.wast:374
+assert_return(() => invoke($0, `type-f32`, []), []);
+
+// ./test/core/br.wast:375
+assert_return(() => invoke($0, `type-f64`, []), []);
+
+// ./test/core/br.wast:376
+assert_return(() => invoke($0, `type-i32-i32`, []), []);
+
+// ./test/core/br.wast:377
+assert_return(() => invoke($0, `type-i64-i64`, []), []);
+
+// ./test/core/br.wast:378
+assert_return(() => invoke($0, `type-f32-f32`, []), []);
+
+// ./test/core/br.wast:379
+assert_return(() => invoke($0, `type-f64-f64`, []), []);
+
+// ./test/core/br.wast:381
+assert_return(() => invoke($0, `type-i32-value`, []), [value("i32", 1)]);
+
+// ./test/core/br.wast:382
+assert_return(() => invoke($0, `type-i64-value`, []), [value("i64", 2n)]);
+
+// ./test/core/br.wast:383
+assert_return(() => invoke($0, `type-f32-value`, []), [value("f32", 3)]);
+
+// ./test/core/br.wast:384
+assert_return(() => invoke($0, `type-f64-value`, []), [value("f64", 4)]);
+
+// ./test/core/br.wast:385
+assert_return(() => invoke($0, `type-f64-f64-value`, []), [value("f64", 4), value("f64", 5)]);
+
+// ./test/core/br.wast:387
+assert_return(() => invoke($0, `as-block-first`, []), []);
+
+// ./test/core/br.wast:388
+assert_return(() => invoke($0, `as-block-mid`, []), []);
+
+// ./test/core/br.wast:389
+assert_return(() => invoke($0, `as-block-last`, []), []);
+
+// ./test/core/br.wast:390
+assert_return(() => invoke($0, `as-block-value`, []), [value("i32", 2)]);
+
+// ./test/core/br.wast:392
+assert_return(() => invoke($0, `as-loop-first`, []), [value("i32", 3)]);
+
+// ./test/core/br.wast:393
+assert_return(() => invoke($0, `as-loop-mid`, []), [value("i32", 4)]);
+
+// ./test/core/br.wast:394
+assert_return(() => invoke($0, `as-loop-last`, []), [value("i32", 5)]);
+
+// ./test/core/br.wast:396
+assert_return(() => invoke($0, `as-br-value`, []), [value("i32", 9)]);
+
+// ./test/core/br.wast:398
+assert_return(() => invoke($0, `as-br_if-cond`, []), []);
+
+// ./test/core/br.wast:399
+assert_return(() => invoke($0, `as-br_if-value`, []), [value("i32", 8)]);
+
+// ./test/core/br.wast:400
+assert_return(() => invoke($0, `as-br_if-value-cond`, []), [value("i32", 9)]);
+
+// ./test/core/br.wast:402
+assert_return(() => invoke($0, `as-br_table-index`, []), []);
+
+// ./test/core/br.wast:403
+assert_return(() => invoke($0, `as-br_table-value`, []), [value("i32", 10)]);
+
+// ./test/core/br.wast:404
+assert_return(() => invoke($0, `as-br_table-value-index`, []), [value("i32", 11)]);
+
+// ./test/core/br.wast:406
+assert_return(() => invoke($0, `as-return-value`, []), [value("i64", 7n)]);
+
+// ./test/core/br.wast:407
+assert_return(() => invoke($0, `as-return-values`, []), [value("i32", 2), value("i64", 7n)]);
+
+// ./test/core/br.wast:409
+assert_return(() => invoke($0, `as-if-cond`, []), [value("i32", 2)]);
+
+// ./test/core/br.wast:410
+assert_return(() => invoke($0, `as-if-then`, [1, 6]), [value("i32", 3)]);
+
+// ./test/core/br.wast:411
+assert_return(() => invoke($0, `as-if-then`, [0, 6]), [value("i32", 6)]);
+
+// ./test/core/br.wast:412
+assert_return(() => invoke($0, `as-if-else`, [0, 6]), [value("i32", 4)]);
+
+// ./test/core/br.wast:413
+assert_return(() => invoke($0, `as-if-else`, [1, 6]), [value("i32", 6)]);
+
+// ./test/core/br.wast:415
+assert_return(() => invoke($0, `as-select-first`, [0, 6]), [value("i32", 5)]);
+
+// ./test/core/br.wast:416
+assert_return(() => invoke($0, `as-select-first`, [1, 6]), [value("i32", 5)]);
+
+// ./test/core/br.wast:417
+assert_return(() => invoke($0, `as-select-second`, [0, 6]), [value("i32", 6)]);
+
+// ./test/core/br.wast:418
+assert_return(() => invoke($0, `as-select-second`, [1, 6]), [value("i32", 6)]);
+
+// ./test/core/br.wast:419
+assert_return(() => invoke($0, `as-select-cond`, []), [value("i32", 7)]);
+
+// ./test/core/br.wast:420
+assert_return(() => invoke($0, `as-select-all`, []), [value("i32", 8)]);
+
+// ./test/core/br.wast:422
+assert_return(() => invoke($0, `as-call-first`, []), [value("i32", 12)]);
+
+// ./test/core/br.wast:423
+assert_return(() => invoke($0, `as-call-mid`, []), [value("i32", 13)]);
+
+// ./test/core/br.wast:424
+assert_return(() => invoke($0, `as-call-last`, []), [value("i32", 14)]);
+
+// ./test/core/br.wast:425
+assert_return(() => invoke($0, `as-call-all`, []), [value("i32", 15)]);
+
+// ./test/core/br.wast:427
+assert_return(() => invoke($0, `as-call_indirect-func`, []), [value("i32", 20)]);
+
+// ./test/core/br.wast:428
+assert_return(() => invoke($0, `as-call_indirect-first`, []), [value("i32", 21)]);
+
+// ./test/core/br.wast:429
+assert_return(() => invoke($0, `as-call_indirect-mid`, []), [value("i32", 22)]);
+
+// ./test/core/br.wast:430
+assert_return(() => invoke($0, `as-call_indirect-last`, []), [value("i32", 23)]);
+
+// ./test/core/br.wast:431
+assert_return(() => invoke($0, `as-call_indirect-all`, []), [value("i32", 24)]);
+
+// ./test/core/br.wast:433
+assert_return(() => invoke($0, `as-local.set-value`, []), [value("i32", 17)]);
+
+// ./test/core/br.wast:434
+assert_return(() => invoke($0, `as-local.tee-value`, []), [value("i32", 1)]);
+
+// ./test/core/br.wast:435
+assert_return(() => invoke($0, `as-global.set-value`, []), [value("i32", 1)]);
+
+// ./test/core/br.wast:437
+assert_return(() => invoke($0, `as-load-address`, []), [value("f32", 1.7)]);
+
+// ./test/core/br.wast:438
+assert_return(() => invoke($0, `as-loadN-address`, []), [value("i64", 30n)]);
+
+// ./test/core/br.wast:440
+assert_return(() => invoke($0, `as-store-address`, []), [value("i32", 30)]);
+
+// ./test/core/br.wast:441
+assert_return(() => invoke($0, `as-store-value`, []), [value("i32", 31)]);
+
+// ./test/core/br.wast:442
+assert_return(() => invoke($0, `as-store-both`, []), [value("i32", 32)]);
+
+// ./test/core/br.wast:443
+assert_return(() => invoke($0, `as-storeN-address`, []), [value("i32", 32)]);
+
+// ./test/core/br.wast:444
+assert_return(() => invoke($0, `as-storeN-value`, []), [value("i32", 33)]);
+
+// ./test/core/br.wast:445
+assert_return(() => invoke($0, `as-storeN-both`, []), [value("i32", 34)]);
+
+// ./test/core/br.wast:447
+assert_return(() => invoke($0, `as-unary-operand`, []), [value("f32", 3.4)]);
+
+// ./test/core/br.wast:449
+assert_return(() => invoke($0, `as-binary-left`, []), [value("i32", 3)]);
+
+// ./test/core/br.wast:450
+assert_return(() => invoke($0, `as-binary-right`, []), [value("i64", 45n)]);
+
+// ./test/core/br.wast:451
+assert_return(() => invoke($0, `as-binary-both`, []), [value("i32", 46)]);
+
+// ./test/core/br.wast:453
+assert_return(() => invoke($0, `as-test-operand`, []), [value("i32", 44)]);
+
+// ./test/core/br.wast:455
+assert_return(() => invoke($0, `as-compare-left`, []), [value("i32", 43)]);
+
+// ./test/core/br.wast:456
+assert_return(() => invoke($0, `as-compare-right`, []), [value("i32", 42)]);
+
+// ./test/core/br.wast:457
+assert_return(() => invoke($0, `as-compare-both`, []), [value("i32", 44)]);
+
+// ./test/core/br.wast:459
+assert_return(() => invoke($0, `as-convert-operand`, []), [value("i32", 41)]);
+
+// ./test/core/br.wast:461
+assert_return(() => invoke($0, `as-memory.grow-size`, []), [value("i32", 40)]);
+
+// ./test/core/br.wast:463
+assert_return(() => invoke($0, `nested-block-value`, []), [value("i32", 9)]);
+
+// ./test/core/br.wast:464
+assert_return(() => invoke($0, `nested-br-value`, []), [value("i32", 9)]);
+
+// ./test/core/br.wast:465
+assert_return(() => invoke($0, `nested-br_if-value`, []), [value("i32", 9)]);
+
+// ./test/core/br.wast:466
+assert_return(() => invoke($0, `nested-br_if-value-cond`, []), [value("i32", 9)]);
+
+// ./test/core/br.wast:467
+assert_return(() => invoke($0, `nested-br_table-value`, []), [value("i32", 9)]);
+
+// ./test/core/br.wast:468
+assert_return(() => invoke($0, `nested-br_table-value-index`, []), [value("i32", 9)]);
+
+// ./test/core/br.wast:470
+assert_invalid(
+ () => instantiate(`(module (func $$type-arg-empty-vs-num (result i32)
+ (block (result i32) (br 0) (i32.const 1))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/br.wast:477
+assert_invalid(
+ () => instantiate(`(module (func $$type-arg-void-vs-num (result i32)
+ (block (result i32) (br 0 (nop)) (i32.const 1))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/br.wast:483
+assert_invalid(
+ () => instantiate(`(module (func $$type-arg-void-vs-num-nested (result i32)
+ (block (result i32) (i32.const 0) (block (br 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/br.wast:489
+assert_invalid(
+ () => instantiate(`(module (func $$type-arg-num-vs-num (result i32)
+ (block (result i32) (br 0 (i64.const 1)) (i32.const 1))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/br.wast:496
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-arg-empty-in-br
+ (i32.const 0)
+ (block (result i32) (br 0 (br 0))) (i32.eqz) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/br.wast:505
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-arg-empty-in-br_if
+ (i32.const 0)
+ (block (result i32) (br_if 0 (br 0) (i32.const 1))) (i32.eqz) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/br.wast:514
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-arg-empty-in-br_table
+ (i32.const 0)
+ (block (result i32) (br_table 0 (br 0))) (i32.eqz) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/br.wast:523
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-arg-empty-in-return
+ (block (result i32)
+ (return (br 0))
+ )
+ (i32.eqz) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/br.wast:534
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-arg-empty-in-select
+ (block (result i32)
+ (select (br 0) (i32.const 1) (i32.const 2))
+ )
+ (i32.eqz) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/br.wast:545
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-arg-empty-in-call
+ (block (result i32)
+ (call 1 (br 0))
+ )
+ (i32.eqz) (drop)
+ )
+ (func (param i32) (result i32) (local.get 0))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/br.wast:557
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f (param i32) (result i32) (local.get 0))
+ (type $$sig (func (param i32) (result i32)))
+ (table funcref (elem $$f))
+ (func $$type-arg-empty-in-call_indirect
+ (block (result i32)
+ (call_indirect (type $$sig)
+ (br 0) (i32.const 0)
+ )
+ )
+ (i32.eqz) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/br.wast:573
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-arg-empty-in-local.set
+ (local i32)
+ (block (result i32)
+ (local.set 0 (br 0)) (local.get 0)
+ )
+ (i32.eqz) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/br.wast:585
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-arg-empty-in-local.tee
+ (local i32)
+ (block (result i32)
+ (local.tee 0 (br 0))
+ )
+ (i32.eqz) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/br.wast:597
+assert_invalid(
+ () => instantiate(`(module
+ (global $$x (mut i32) (i32.const 0))
+ (func $$type-arg-empty-in-global.set
+ (block (result i32)
+ (global.set $$x (br 0)) (global.get $$x)
+ )
+ (i32.eqz) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/br.wast:609
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (func $$type-arg-empty-in-memory.grow
+ (block (result i32)
+ (memory.grow (br 0))
+ )
+ (i32.eqz) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/br.wast:621
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-arg-empty-in-load
+ (block (result i32)
+ (i32.load (br 0))
+ )
+ (i32.eqz) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/br.wast:633
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-arg-empty-in-store
+ (block (result i32)
+ (i32.store (br 0) (i32.const 0))
+ )
+ (i32.eqz) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/br.wast:646
+assert_invalid(
+ () => instantiate(`(module (func $$unbound-label (br 1)))`),
+ `unknown label`,
+);
+
+// ./test/core/br.wast:650
+assert_invalid(
+ () => instantiate(`(module (func $$unbound-nested-label (block (block (br 5)))))`),
+ `unknown label`,
+);
+
+// ./test/core/br.wast:654
+assert_invalid(
+ () => instantiate(`(module (func $$large-label (br 0x10000001)))`),
+ `unknown label`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/br_if.wast.js b/js/src/jit-test/tests/wasm/spec/spec/br_if.wast.js
new file mode 100644
index 0000000000..511ee003fb
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/br_if.wast.js
@@ -0,0 +1,886 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/br_if.wast
+
+// ./test/core/br_if.wast:3
+let $0 = instantiate(`(module
+ (func $$dummy)
+
+ (func (export "type-i32")
+ (block (drop (i32.ctz (br_if 0 (i32.const 0) (i32.const 1)))))
+ )
+ (func (export "type-i64")
+ (block (drop (i64.ctz (br_if 0 (i64.const 0) (i32.const 1)))))
+ )
+ (func (export "type-f32")
+ (block (drop (f32.neg (br_if 0 (f32.const 0) (i32.const 1)))))
+ )
+ (func (export "type-f64")
+ (block (drop (f64.neg (br_if 0 (f64.const 0) (i32.const 1)))))
+ )
+
+ (func (export "type-i32-value") (result i32)
+ (block (result i32) (i32.ctz (br_if 0 (i32.const 1) (i32.const 1))))
+ )
+ (func (export "type-i64-value") (result i64)
+ (block (result i64) (i64.ctz (br_if 0 (i64.const 2) (i32.const 1))))
+ )
+ (func (export "type-f32-value") (result f32)
+ (block (result f32) (f32.neg (br_if 0 (f32.const 3) (i32.const 1))))
+ )
+ (func (export "type-f64-value") (result f64)
+ (block (result f64) (f64.neg (br_if 0 (f64.const 4) (i32.const 1))))
+ )
+
+ (func (export "as-block-first") (param i32) (result i32)
+ (block (br_if 0 (local.get 0)) (return (i32.const 2))) (i32.const 3)
+ )
+ (func (export "as-block-mid") (param i32) (result i32)
+ (block (call $$dummy) (br_if 0 (local.get 0)) (return (i32.const 2)))
+ (i32.const 3)
+ )
+ (func (export "as-block-last") (param i32)
+ (block (call $$dummy) (call $$dummy) (br_if 0 (local.get 0)))
+ )
+ (func (export "as-block-first-value") (param i32) (result i32)
+ (block (result i32)
+ (drop (br_if 0 (i32.const 10) (local.get 0))) (return (i32.const 11))
+ )
+ )
+ (func (export "as-block-mid-value") (param i32) (result i32)
+ (block (result i32)
+ (call $$dummy)
+ (drop (br_if 0 (i32.const 20) (local.get 0)))
+ (return (i32.const 21))
+ )
+ )
+ (func (export "as-block-last-value") (param i32) (result i32)
+ (block (result i32)
+ (call $$dummy) (call $$dummy) (br_if 0 (i32.const 11) (local.get 0))
+ )
+ )
+
+ (func (export "as-loop-first") (param i32) (result i32)
+ (block (loop (br_if 1 (local.get 0)) (return (i32.const 2)))) (i32.const 3)
+ )
+ (func (export "as-loop-mid") (param i32) (result i32)
+ (block (loop (call $$dummy) (br_if 1 (local.get 0)) (return (i32.const 2))))
+ (i32.const 4)
+ )
+ (func (export "as-loop-last") (param i32)
+ (loop (call $$dummy) (br_if 1 (local.get 0)))
+ )
+
+ (func (export "as-br-value") (result i32)
+ (block (result i32) (br 0 (br_if 0 (i32.const 1) (i32.const 2))))
+ )
+
+ (func (export "as-br_if-cond")
+ (block (br_if 0 (br_if 0 (i32.const 1) (i32.const 1))))
+ )
+ (func (export "as-br_if-value") (result i32)
+ (block (result i32)
+ (drop (br_if 0 (br_if 0 (i32.const 1) (i32.const 2)) (i32.const 3)))
+ (i32.const 4)
+ )
+ )
+ (func (export "as-br_if-value-cond") (param i32) (result i32)
+ (block (result i32)
+ (drop (br_if 0 (i32.const 2) (br_if 0 (i32.const 1) (local.get 0))))
+ (i32.const 4)
+ )
+ )
+
+ (func (export "as-br_table-index")
+ (block (br_table 0 0 0 (br_if 0 (i32.const 1) (i32.const 2))))
+ )
+ (func (export "as-br_table-value") (result i32)
+ (block (result i32)
+ (br_table 0 0 0 (br_if 0 (i32.const 1) (i32.const 2)) (i32.const 3)) (i32.const 4)
+ )
+ )
+ (func (export "as-br_table-value-index") (result i32)
+ (block (result i32)
+ (br_table 0 0 (i32.const 2) (br_if 0 (i32.const 1) (i32.const 3))) (i32.const 4)
+ )
+ )
+ (func (export "as-return-value") (result i64)
+ (block (result i64) (return (br_if 0 (i64.const 1) (i32.const 2))))
+ )
+
+ (func (export "as-if-cond") (param i32) (result i32)
+ (block (result i32)
+ (if (result i32)
+ (br_if 0 (i32.const 1) (local.get 0))
+ (then (i32.const 2))
+ (else (i32.const 3))
+ )
+ )
+ )
+ (func (export "as-if-then") (param i32 i32)
+ (block
+ (if (local.get 0) (then (br_if 1 (local.get 1))) (else (call $$dummy)))
+ )
+ )
+ (func (export "as-if-else") (param i32 i32)
+ (block
+ (if (local.get 0) (then (call $$dummy)) (else (br_if 1 (local.get 1))))
+ )
+ )
+
+ (func (export "as-select-first") (param i32) (result i32)
+ (block (result i32)
+ (select (br_if 0 (i32.const 3) (i32.const 10)) (i32.const 2) (local.get 0))
+ )
+ )
+ (func (export "as-select-second") (param i32) (result i32)
+ (block (result i32)
+ (select (i32.const 1) (br_if 0 (i32.const 3) (i32.const 10)) (local.get 0))
+ )
+ )
+ (func (export "as-select-cond") (result i32)
+ (block (result i32)
+ (select (i32.const 1) (i32.const 2) (br_if 0 (i32.const 3) (i32.const 10)))
+ )
+ )
+
+ (func $$f (param i32 i32 i32) (result i32) (i32.const -1))
+ (func (export "as-call-first") (result i32)
+ (block (result i32)
+ (call $$f
+ (br_if 0 (i32.const 12) (i32.const 1)) (i32.const 2) (i32.const 3)
+ )
+ )
+ )
+ (func (export "as-call-mid") (result i32)
+ (block (result i32)
+ (call $$f
+ (i32.const 1) (br_if 0 (i32.const 13) (i32.const 1)) (i32.const 3)
+ )
+ )
+ )
+ (func (export "as-call-last") (result i32)
+ (block (result i32)
+ (call $$f
+ (i32.const 1) (i32.const 2) (br_if 0 (i32.const 14) (i32.const 1))
+ )
+ )
+ )
+
+ (func $$func (param i32 i32 i32) (result i32) (local.get 0))
+ (type $$check (func (param i32 i32 i32) (result i32)))
+ (table funcref (elem $$func))
+ (func (export "as-call_indirect-func") (result i32)
+ (block (result i32)
+ (call_indirect (type $$check)
+ (br_if 0 (i32.const 4) (i32.const 10))
+ (i32.const 1) (i32.const 2) (i32.const 0)
+ )
+ )
+ )
+
+ (func (export "as-call_indirect-first") (result i32)
+ (block (result i32)
+ (call_indirect (type $$check)
+ (i32.const 1) (br_if 0 (i32.const 4) (i32.const 10)) (i32.const 2) (i32.const 0)
+ )
+ )
+ )
+ (func (export "as-call_indirect-mid") (result i32)
+ (block (result i32)
+ (call_indirect (type $$check)
+ (i32.const 1) (i32.const 2) (br_if 0 (i32.const 4) (i32.const 10)) (i32.const 0)
+ )
+ )
+ )
+ (func (export "as-call_indirect-last") (result i32)
+ (block (result i32)
+ (call_indirect (type $$check)
+ (i32.const 1) (i32.const 2) (i32.const 3) (br_if 0 (i32.const 4) (i32.const 10))
+ )
+ )
+ )
+
+ (func (export "as-local.set-value") (param i32) (result i32)
+ (local i32)
+ (block (result i32)
+ (local.set 0 (br_if 0 (i32.const 17) (local.get 0)))
+ (i32.const -1)
+ )
+ )
+ (func (export "as-local.tee-value") (param i32) (result i32)
+ (block (result i32)
+ (local.tee 0 (br_if 0 (i32.const 1) (local.get 0)))
+ (return (i32.const -1))
+ )
+ )
+ (global $$a (mut i32) (i32.const 10))
+ (func (export "as-global.set-value") (param i32) (result i32)
+ (block (result i32)
+ (global.set $$a (br_if 0 (i32.const 1) (local.get 0)))
+ (return (i32.const -1))
+ )
+ )
+
+ (memory 1)
+ (func (export "as-load-address") (result i32)
+ (block (result i32) (i32.load (br_if 0 (i32.const 1) (i32.const 1))))
+ )
+ (func (export "as-loadN-address") (result i32)
+ (block (result i32) (i32.load8_s (br_if 0 (i32.const 30) (i32.const 1))))
+ )
+
+ (func (export "as-store-address") (result i32)
+ (block (result i32)
+ (i32.store (br_if 0 (i32.const 30) (i32.const 1)) (i32.const 7)) (i32.const -1)
+ )
+ )
+ (func (export "as-store-value") (result i32)
+ (block (result i32)
+ (i32.store (i32.const 2) (br_if 0 (i32.const 31) (i32.const 1))) (i32.const -1)
+ )
+ )
+
+ (func (export "as-storeN-address") (result i32)
+ (block (result i32)
+ (i32.store8 (br_if 0 (i32.const 32) (i32.const 1)) (i32.const 7)) (i32.const -1)
+ )
+ )
+ (func (export "as-storeN-value") (result i32)
+ (block (result i32)
+ (i32.store16 (i32.const 2) (br_if 0 (i32.const 33) (i32.const 1))) (i32.const -1)
+ )
+ )
+
+ (func (export "as-unary-operand") (result f64)
+ (block (result f64) (f64.neg (br_if 0 (f64.const 1.0) (i32.const 1))))
+ )
+ (func (export "as-binary-left") (result i32)
+ (block (result i32) (i32.add (br_if 0 (i32.const 1) (i32.const 1)) (i32.const 10)))
+ )
+ (func (export "as-binary-right") (result i32)
+ (block (result i32) (i32.sub (i32.const 10) (br_if 0 (i32.const 1) (i32.const 1))))
+ )
+ (func (export "as-test-operand") (result i32)
+ (block (result i32) (i32.eqz (br_if 0 (i32.const 0) (i32.const 1))))
+ )
+ (func (export "as-compare-left") (result i32)
+ (block (result i32) (i32.le_u (br_if 0 (i32.const 1) (i32.const 1)) (i32.const 10)))
+ )
+ (func (export "as-compare-right") (result i32)
+ (block (result i32) (i32.ne (i32.const 10) (br_if 0 (i32.const 1) (i32.const 42))))
+ )
+
+ (func (export "as-memory.grow-size") (result i32)
+ (block (result i32) (memory.grow (br_if 0 (i32.const 1) (i32.const 1))))
+ )
+
+ (func (export "nested-block-value") (param i32) (result i32)
+ (i32.add
+ (i32.const 1)
+ (block (result i32)
+ (drop (i32.const 2))
+ (i32.add
+ (i32.const 4)
+ (block (result i32)
+ (drop (br_if 1 (i32.const 8) (local.get 0)))
+ (i32.const 16)
+ )
+ )
+ )
+ )
+ )
+
+ (func (export "nested-br-value") (param i32) (result i32)
+ (i32.add
+ (i32.const 1)
+ (block (result i32)
+ (drop (i32.const 2))
+ (br 0
+ (block (result i32)
+ (drop (br_if 1 (i32.const 8) (local.get 0))) (i32.const 4)
+ )
+ )
+ (i32.const 16)
+ )
+ )
+ )
+
+ (func (export "nested-br_if-value") (param i32) (result i32)
+ (i32.add
+ (i32.const 1)
+ (block (result i32)
+ (drop (i32.const 2))
+ (drop (br_if 0
+ (block (result i32)
+ (drop (br_if 1 (i32.const 8) (local.get 0))) (i32.const 4)
+ )
+ (i32.const 1)
+ ))
+ (i32.const 16)
+ )
+ )
+ )
+
+ (func (export "nested-br_if-value-cond") (param i32) (result i32)
+ (i32.add
+ (i32.const 1)
+ (block (result i32)
+ (drop (i32.const 2))
+ (drop (br_if 0
+ (i32.const 4)
+ (block (result i32)
+ (drop (br_if 1 (i32.const 8) (local.get 0))) (i32.const 1)
+ )
+ ))
+ (i32.const 16)
+ )
+ )
+ )
+
+ (func (export "nested-br_table-value") (param i32) (result i32)
+ (i32.add
+ (i32.const 1)
+ (block (result i32)
+ (drop (i32.const 2))
+ (br_table 0
+ (block (result i32)
+ (drop (br_if 1 (i32.const 8) (local.get 0))) (i32.const 4)
+ )
+ (i32.const 1)
+ )
+ (i32.const 16)
+ )
+ )
+ )
+
+ (func (export "nested-br_table-value-index") (param i32) (result i32)
+ (i32.add
+ (i32.const 1)
+ (block (result i32)
+ (drop (i32.const 2))
+ (br_table 0
+ (i32.const 4)
+ (block (result i32)
+ (drop (br_if 1 (i32.const 8) (local.get 0))) (i32.const 1)
+ )
+ )
+ (i32.const 16)
+ )
+ )
+ )
+
+)`);
+
+// ./test/core/br_if.wast:372
+assert_return(() => invoke($0, `type-i32`, []), []);
+
+// ./test/core/br_if.wast:373
+assert_return(() => invoke($0, `type-i64`, []), []);
+
+// ./test/core/br_if.wast:374
+assert_return(() => invoke($0, `type-f32`, []), []);
+
+// ./test/core/br_if.wast:375
+assert_return(() => invoke($0, `type-f64`, []), []);
+
+// ./test/core/br_if.wast:377
+assert_return(() => invoke($0, `type-i32-value`, []), [value("i32", 1)]);
+
+// ./test/core/br_if.wast:378
+assert_return(() => invoke($0, `type-i64-value`, []), [value("i64", 2n)]);
+
+// ./test/core/br_if.wast:379
+assert_return(() => invoke($0, `type-f32-value`, []), [value("f32", 3)]);
+
+// ./test/core/br_if.wast:380
+assert_return(() => invoke($0, `type-f64-value`, []), [value("f64", 4)]);
+
+// ./test/core/br_if.wast:382
+assert_return(() => invoke($0, `as-block-first`, [0]), [value("i32", 2)]);
+
+// ./test/core/br_if.wast:383
+assert_return(() => invoke($0, `as-block-first`, [1]), [value("i32", 3)]);
+
+// ./test/core/br_if.wast:384
+assert_return(() => invoke($0, `as-block-mid`, [0]), [value("i32", 2)]);
+
+// ./test/core/br_if.wast:385
+assert_return(() => invoke($0, `as-block-mid`, [1]), [value("i32", 3)]);
+
+// ./test/core/br_if.wast:386
+assert_return(() => invoke($0, `as-block-last`, [0]), []);
+
+// ./test/core/br_if.wast:387
+assert_return(() => invoke($0, `as-block-last`, [1]), []);
+
+// ./test/core/br_if.wast:389
+assert_return(() => invoke($0, `as-block-first-value`, [0]), [value("i32", 11)]);
+
+// ./test/core/br_if.wast:390
+assert_return(() => invoke($0, `as-block-first-value`, [1]), [value("i32", 10)]);
+
+// ./test/core/br_if.wast:391
+assert_return(() => invoke($0, `as-block-mid-value`, [0]), [value("i32", 21)]);
+
+// ./test/core/br_if.wast:392
+assert_return(() => invoke($0, `as-block-mid-value`, [1]), [value("i32", 20)]);
+
+// ./test/core/br_if.wast:393
+assert_return(() => invoke($0, `as-block-last-value`, [0]), [value("i32", 11)]);
+
+// ./test/core/br_if.wast:394
+assert_return(() => invoke($0, `as-block-last-value`, [1]), [value("i32", 11)]);
+
+// ./test/core/br_if.wast:396
+assert_return(() => invoke($0, `as-loop-first`, [0]), [value("i32", 2)]);
+
+// ./test/core/br_if.wast:397
+assert_return(() => invoke($0, `as-loop-first`, [1]), [value("i32", 3)]);
+
+// ./test/core/br_if.wast:398
+assert_return(() => invoke($0, `as-loop-mid`, [0]), [value("i32", 2)]);
+
+// ./test/core/br_if.wast:399
+assert_return(() => invoke($0, `as-loop-mid`, [1]), [value("i32", 4)]);
+
+// ./test/core/br_if.wast:400
+assert_return(() => invoke($0, `as-loop-last`, [0]), []);
+
+// ./test/core/br_if.wast:401
+assert_return(() => invoke($0, `as-loop-last`, [1]), []);
+
+// ./test/core/br_if.wast:403
+assert_return(() => invoke($0, `as-br-value`, []), [value("i32", 1)]);
+
+// ./test/core/br_if.wast:405
+assert_return(() => invoke($0, `as-br_if-cond`, []), []);
+
+// ./test/core/br_if.wast:406
+assert_return(() => invoke($0, `as-br_if-value`, []), [value("i32", 1)]);
+
+// ./test/core/br_if.wast:407
+assert_return(() => invoke($0, `as-br_if-value-cond`, [0]), [value("i32", 2)]);
+
+// ./test/core/br_if.wast:408
+assert_return(() => invoke($0, `as-br_if-value-cond`, [1]), [value("i32", 1)]);
+
+// ./test/core/br_if.wast:410
+assert_return(() => invoke($0, `as-br_table-index`, []), []);
+
+// ./test/core/br_if.wast:411
+assert_return(() => invoke($0, `as-br_table-value`, []), [value("i32", 1)]);
+
+// ./test/core/br_if.wast:412
+assert_return(() => invoke($0, `as-br_table-value-index`, []), [value("i32", 1)]);
+
+// ./test/core/br_if.wast:414
+assert_return(() => invoke($0, `as-return-value`, []), [value("i64", 1n)]);
+
+// ./test/core/br_if.wast:416
+assert_return(() => invoke($0, `as-if-cond`, [0]), [value("i32", 2)]);
+
+// ./test/core/br_if.wast:417
+assert_return(() => invoke($0, `as-if-cond`, [1]), [value("i32", 1)]);
+
+// ./test/core/br_if.wast:418
+assert_return(() => invoke($0, `as-if-then`, [0, 0]), []);
+
+// ./test/core/br_if.wast:419
+assert_return(() => invoke($0, `as-if-then`, [4, 0]), []);
+
+// ./test/core/br_if.wast:420
+assert_return(() => invoke($0, `as-if-then`, [0, 1]), []);
+
+// ./test/core/br_if.wast:421
+assert_return(() => invoke($0, `as-if-then`, [4, 1]), []);
+
+// ./test/core/br_if.wast:422
+assert_return(() => invoke($0, `as-if-else`, [0, 0]), []);
+
+// ./test/core/br_if.wast:423
+assert_return(() => invoke($0, `as-if-else`, [3, 0]), []);
+
+// ./test/core/br_if.wast:424
+assert_return(() => invoke($0, `as-if-else`, [0, 1]), []);
+
+// ./test/core/br_if.wast:425
+assert_return(() => invoke($0, `as-if-else`, [3, 1]), []);
+
+// ./test/core/br_if.wast:427
+assert_return(() => invoke($0, `as-select-first`, [0]), [value("i32", 3)]);
+
+// ./test/core/br_if.wast:428
+assert_return(() => invoke($0, `as-select-first`, [1]), [value("i32", 3)]);
+
+// ./test/core/br_if.wast:429
+assert_return(() => invoke($0, `as-select-second`, [0]), [value("i32", 3)]);
+
+// ./test/core/br_if.wast:430
+assert_return(() => invoke($0, `as-select-second`, [1]), [value("i32", 3)]);
+
+// ./test/core/br_if.wast:431
+assert_return(() => invoke($0, `as-select-cond`, []), [value("i32", 3)]);
+
+// ./test/core/br_if.wast:433
+assert_return(() => invoke($0, `as-call-first`, []), [value("i32", 12)]);
+
+// ./test/core/br_if.wast:434
+assert_return(() => invoke($0, `as-call-mid`, []), [value("i32", 13)]);
+
+// ./test/core/br_if.wast:435
+assert_return(() => invoke($0, `as-call-last`, []), [value("i32", 14)]);
+
+// ./test/core/br_if.wast:437
+assert_return(() => invoke($0, `as-call_indirect-func`, []), [value("i32", 4)]);
+
+// ./test/core/br_if.wast:438
+assert_return(() => invoke($0, `as-call_indirect-first`, []), [value("i32", 4)]);
+
+// ./test/core/br_if.wast:439
+assert_return(() => invoke($0, `as-call_indirect-mid`, []), [value("i32", 4)]);
+
+// ./test/core/br_if.wast:440
+assert_return(() => invoke($0, `as-call_indirect-last`, []), [value("i32", 4)]);
+
+// ./test/core/br_if.wast:442
+assert_return(() => invoke($0, `as-local.set-value`, [0]), [value("i32", -1)]);
+
+// ./test/core/br_if.wast:443
+assert_return(() => invoke($0, `as-local.set-value`, [1]), [value("i32", 17)]);
+
+// ./test/core/br_if.wast:445
+assert_return(() => invoke($0, `as-local.tee-value`, [0]), [value("i32", -1)]);
+
+// ./test/core/br_if.wast:446
+assert_return(() => invoke($0, `as-local.tee-value`, [1]), [value("i32", 1)]);
+
+// ./test/core/br_if.wast:448
+assert_return(() => invoke($0, `as-global.set-value`, [0]), [value("i32", -1)]);
+
+// ./test/core/br_if.wast:449
+assert_return(() => invoke($0, `as-global.set-value`, [1]), [value("i32", 1)]);
+
+// ./test/core/br_if.wast:451
+assert_return(() => invoke($0, `as-load-address`, []), [value("i32", 1)]);
+
+// ./test/core/br_if.wast:452
+assert_return(() => invoke($0, `as-loadN-address`, []), [value("i32", 30)]);
+
+// ./test/core/br_if.wast:454
+assert_return(() => invoke($0, `as-store-address`, []), [value("i32", 30)]);
+
+// ./test/core/br_if.wast:455
+assert_return(() => invoke($0, `as-store-value`, []), [value("i32", 31)]);
+
+// ./test/core/br_if.wast:456
+assert_return(() => invoke($0, `as-storeN-address`, []), [value("i32", 32)]);
+
+// ./test/core/br_if.wast:457
+assert_return(() => invoke($0, `as-storeN-value`, []), [value("i32", 33)]);
+
+// ./test/core/br_if.wast:459
+assert_return(() => invoke($0, `as-unary-operand`, []), [value("f64", 1)]);
+
+// ./test/core/br_if.wast:460
+assert_return(() => invoke($0, `as-binary-left`, []), [value("i32", 1)]);
+
+// ./test/core/br_if.wast:461
+assert_return(() => invoke($0, `as-binary-right`, []), [value("i32", 1)]);
+
+// ./test/core/br_if.wast:462
+assert_return(() => invoke($0, `as-test-operand`, []), [value("i32", 0)]);
+
+// ./test/core/br_if.wast:463
+assert_return(() => invoke($0, `as-compare-left`, []), [value("i32", 1)]);
+
+// ./test/core/br_if.wast:464
+assert_return(() => invoke($0, `as-compare-right`, []), [value("i32", 1)]);
+
+// ./test/core/br_if.wast:465
+assert_return(() => invoke($0, `as-memory.grow-size`, []), [value("i32", 1)]);
+
+// ./test/core/br_if.wast:467
+assert_return(() => invoke($0, `nested-block-value`, [0]), [value("i32", 21)]);
+
+// ./test/core/br_if.wast:468
+assert_return(() => invoke($0, `nested-block-value`, [1]), [value("i32", 9)]);
+
+// ./test/core/br_if.wast:469
+assert_return(() => invoke($0, `nested-br-value`, [0]), [value("i32", 5)]);
+
+// ./test/core/br_if.wast:470
+assert_return(() => invoke($0, `nested-br-value`, [1]), [value("i32", 9)]);
+
+// ./test/core/br_if.wast:471
+assert_return(() => invoke($0, `nested-br_if-value`, [0]), [value("i32", 5)]);
+
+// ./test/core/br_if.wast:472
+assert_return(() => invoke($0, `nested-br_if-value`, [1]), [value("i32", 9)]);
+
+// ./test/core/br_if.wast:473
+assert_return(() => invoke($0, `nested-br_if-value-cond`, [0]), [value("i32", 5)]);
+
+// ./test/core/br_if.wast:474
+assert_return(() => invoke($0, `nested-br_if-value-cond`, [1]), [value("i32", 9)]);
+
+// ./test/core/br_if.wast:475
+assert_return(() => invoke($0, `nested-br_table-value`, [0]), [value("i32", 5)]);
+
+// ./test/core/br_if.wast:476
+assert_return(() => invoke($0, `nested-br_table-value`, [1]), [value("i32", 9)]);
+
+// ./test/core/br_if.wast:477
+assert_return(() => invoke($0, `nested-br_table-value-index`, [0]), [value("i32", 5)]);
+
+// ./test/core/br_if.wast:478
+assert_return(() => invoke($0, `nested-br_table-value-index`, [1]), [value("i32", 9)]);
+
+// ./test/core/br_if.wast:480
+assert_invalid(
+ () => instantiate(`(module (func $$type-false-i32 (block (i32.ctz (br_if 0 (i32.const 0))))))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:484
+assert_invalid(
+ () => instantiate(`(module (func $$type-false-i64 (block (i64.ctz (br_if 0 (i32.const 0))))))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:488
+assert_invalid(
+ () => instantiate(`(module (func $$type-false-f32 (block (f32.neg (br_if 0 (i32.const 0))))))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:492
+assert_invalid(
+ () => instantiate(`(module (func $$type-false-f64 (block (f64.neg (br_if 0 (i32.const 0))))))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:497
+assert_invalid(
+ () => instantiate(`(module (func $$type-true-i32 (block (i32.ctz (br_if 0 (i32.const 1))))))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:501
+assert_invalid(
+ () => instantiate(`(module (func $$type-true-i64 (block (i64.ctz (br_if 0 (i64.const 1))))))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:505
+assert_invalid(
+ () => instantiate(`(module (func $$type-true-f32 (block (f32.neg (br_if 0 (f32.const 1))))))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:509
+assert_invalid(
+ () => instantiate(`(module (func $$type-true-f64 (block (f64.neg (br_if 0 (i64.const 1))))))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:514
+assert_invalid(
+ () => instantiate(`(module (func $$type-false-arg-void-vs-num (result i32)
+ (block (result i32) (br_if 0 (i32.const 0)) (i32.const 1))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:520
+assert_invalid(
+ () => instantiate(`(module (func $$type-true-arg-void-vs-num (result i32)
+ (block (result i32) (br_if 0 (i32.const 1)) (i32.const 1))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:526
+assert_invalid(
+ () => instantiate(`(module (func $$type-false-arg-num-vs-void
+ (block (br_if 0 (i32.const 0) (i32.const 0)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:532
+assert_invalid(
+ () => instantiate(`(module (func $$type-true-arg-num-vs-void
+ (block (br_if 0 (i32.const 0) (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:539
+assert_invalid(
+ () => instantiate(`(module (func $$type-false-arg-void-vs-num (result i32)
+ (block (result i32) (br_if 0 (nop) (i32.const 0)) (i32.const 1))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:545
+assert_invalid(
+ () => instantiate(`(module (func $$type-true-arg-void-vs-num (result i32)
+ (block (result i32) (br_if 0 (nop) (i32.const 1)) (i32.const 1))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:551
+assert_invalid(
+ () => instantiate(`(module (func $$type-false-arg-num-vs-num (result i32)
+ (block (result i32)
+ (drop (br_if 0 (i64.const 1) (i32.const 0))) (i32.const 1)
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:559
+assert_invalid(
+ () => instantiate(`(module (func $$type-true-arg-num-vs-num (result i32)
+ (block (result i32)
+ (drop (br_if 0 (i64.const 1) (i32.const 0))) (i32.const 1)
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:568
+assert_invalid(
+ () => instantiate(`(module (func $$type-cond-empty-vs-i32
+ (block (br_if 0))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:574
+assert_invalid(
+ () => instantiate(`(module (func $$type-cond-void-vs-i32
+ (block (br_if 0 (nop)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:580
+assert_invalid(
+ () => instantiate(`(module (func $$type-cond-num-vs-i32
+ (block (br_if 0 (i64.const 0)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:586
+assert_invalid(
+ () => instantiate(`(module (func $$type-arg-cond-void-vs-i32 (result i32)
+ (block (result i32) (br_if 0 (i32.const 0) (nop)) (i32.const 1))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:592
+assert_invalid(
+ () => instantiate(`(module (func $$type-arg-void-vs-num-nested (result i32)
+ (block (result i32) (i32.const 0) (block (br_if 1 (i32.const 1))))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:598
+assert_invalid(
+ () => instantiate(`(module (func $$type-arg-cond-num-vs-i32 (result i32)
+ (block (result i32) (br_if 0 (i32.const 0) (i64.const 0)) (i32.const 1))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:605
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-1st-cond-empty-in-then
+ (block
+ (i32.const 0) (i32.const 0)
+ (if (result i32) (then (br_if 0)))
+ )
+ (i32.eqz) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:617
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-2nd-cond-empty-in-then
+ (block
+ (i32.const 0) (i32.const 0)
+ (if (result i32) (then (br_if 0 (i32.const 1))))
+ )
+ (i32.eqz) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:629
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-1st-cond-empty-in-return
+ (block (result i32)
+ (return (br_if 0))
+ )
+ (i32.eqz) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:640
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-2nd-cond-empty-in-return
+ (block (result i32)
+ (return (br_if 0 (i32.const 1)))
+ )
+ (i32.eqz) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/br_if.wast:653
+assert_invalid(
+ () => instantiate(`(module (func $$unbound-label (br_if 1 (i32.const 1))))`),
+ `unknown label`,
+);
+
+// ./test/core/br_if.wast:657
+assert_invalid(
+ () => instantiate(`(module (func $$unbound-nested-label (block (block (br_if 5 (i32.const 1))))))`),
+ `unknown label`,
+);
+
+// ./test/core/br_if.wast:661
+assert_invalid(
+ () => instantiate(`(module (func $$large-label (br_if 0x10000001 (i32.const 1))))`),
+ `unknown label`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/bulk.wast.js b/js/src/jit-test/tests/wasm/spec/spec/bulk.wast.js
new file mode 100644
index 0000000000..b0cefa4a73
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/bulk.wast.js
@@ -0,0 +1,499 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/bulk.wast
+
+// ./test/core/bulk.wast:2
+let $0 = instantiate(`(module
+ (memory 1)
+ (data "foo"))`);
+
+// ./test/core/bulk.wast:6
+let $1 = instantiate(`(module
+ (table 3 funcref)
+ (elem funcref (ref.func 0) (ref.null func) (ref.func 1))
+ (func)
+ (func))`);
+
+// ./test/core/bulk.wast:13
+let $2 = instantiate(`(module
+ (memory 1)
+
+ (func (export "fill") (param i32 i32 i32)
+ (memory.fill
+ (local.get 0)
+ (local.get 1)
+ (local.get 2)))
+
+ (func (export "load8_u") (param i32) (result i32)
+ (i32.load8_u (local.get 0)))
+)`);
+
+// ./test/core/bulk.wast:27
+invoke($2, `fill`, [1, 255, 3]);
+
+// ./test/core/bulk.wast:28
+assert_return(() => invoke($2, `load8_u`, [0]), [value("i32", 0)]);
+
+// ./test/core/bulk.wast:29
+assert_return(() => invoke($2, `load8_u`, [1]), [value("i32", 255)]);
+
+// ./test/core/bulk.wast:30
+assert_return(() => invoke($2, `load8_u`, [2]), [value("i32", 255)]);
+
+// ./test/core/bulk.wast:31
+assert_return(() => invoke($2, `load8_u`, [3]), [value("i32", 255)]);
+
+// ./test/core/bulk.wast:32
+assert_return(() => invoke($2, `load8_u`, [4]), [value("i32", 0)]);
+
+// ./test/core/bulk.wast:35
+invoke($2, `fill`, [0, 48042, 2]);
+
+// ./test/core/bulk.wast:36
+assert_return(() => invoke($2, `load8_u`, [0]), [value("i32", 170)]);
+
+// ./test/core/bulk.wast:37
+assert_return(() => invoke($2, `load8_u`, [1]), [value("i32", 170)]);
+
+// ./test/core/bulk.wast:40
+invoke($2, `fill`, [0, 0, 65536]);
+
+// ./test/core/bulk.wast:43
+assert_trap(() => invoke($2, `fill`, [65280, 1, 257]), `out of bounds memory access`);
+
+// ./test/core/bulk.wast:45
+assert_return(() => invoke($2, `load8_u`, [65280]), [value("i32", 0)]);
+
+// ./test/core/bulk.wast:46
+assert_return(() => invoke($2, `load8_u`, [65535]), [value("i32", 0)]);
+
+// ./test/core/bulk.wast:49
+invoke($2, `fill`, [65536, 0, 0]);
+
+// ./test/core/bulk.wast:52
+assert_trap(() => invoke($2, `fill`, [65537, 0, 0]), `out of bounds memory access`);
+
+// ./test/core/bulk.wast:57
+let $3 = instantiate(`(module
+ (memory (data "\\aa\\bb\\cc\\dd"))
+
+ (func (export "copy") (param i32 i32 i32)
+ (memory.copy
+ (local.get 0)
+ (local.get 1)
+ (local.get 2)))
+
+ (func (export "load8_u") (param i32) (result i32)
+ (i32.load8_u (local.get 0)))
+)`);
+
+// ./test/core/bulk.wast:71
+invoke($3, `copy`, [10, 0, 4]);
+
+// ./test/core/bulk.wast:73
+assert_return(() => invoke($3, `load8_u`, [9]), [value("i32", 0)]);
+
+// ./test/core/bulk.wast:74
+assert_return(() => invoke($3, `load8_u`, [10]), [value("i32", 170)]);
+
+// ./test/core/bulk.wast:75
+assert_return(() => invoke($3, `load8_u`, [11]), [value("i32", 187)]);
+
+// ./test/core/bulk.wast:76
+assert_return(() => invoke($3, `load8_u`, [12]), [value("i32", 204)]);
+
+// ./test/core/bulk.wast:77
+assert_return(() => invoke($3, `load8_u`, [13]), [value("i32", 221)]);
+
+// ./test/core/bulk.wast:78
+assert_return(() => invoke($3, `load8_u`, [14]), [value("i32", 0)]);
+
+// ./test/core/bulk.wast:81
+invoke($3, `copy`, [8, 10, 4]);
+
+// ./test/core/bulk.wast:82
+assert_return(() => invoke($3, `load8_u`, [8]), [value("i32", 170)]);
+
+// ./test/core/bulk.wast:83
+assert_return(() => invoke($3, `load8_u`, [9]), [value("i32", 187)]);
+
+// ./test/core/bulk.wast:84
+assert_return(() => invoke($3, `load8_u`, [10]), [value("i32", 204)]);
+
+// ./test/core/bulk.wast:85
+assert_return(() => invoke($3, `load8_u`, [11]), [value("i32", 221)]);
+
+// ./test/core/bulk.wast:86
+assert_return(() => invoke($3, `load8_u`, [12]), [value("i32", 204)]);
+
+// ./test/core/bulk.wast:87
+assert_return(() => invoke($3, `load8_u`, [13]), [value("i32", 221)]);
+
+// ./test/core/bulk.wast:90
+invoke($3, `copy`, [10, 7, 6]);
+
+// ./test/core/bulk.wast:91
+assert_return(() => invoke($3, `load8_u`, [10]), [value("i32", 0)]);
+
+// ./test/core/bulk.wast:92
+assert_return(() => invoke($3, `load8_u`, [11]), [value("i32", 170)]);
+
+// ./test/core/bulk.wast:93
+assert_return(() => invoke($3, `load8_u`, [12]), [value("i32", 187)]);
+
+// ./test/core/bulk.wast:94
+assert_return(() => invoke($3, `load8_u`, [13]), [value("i32", 204)]);
+
+// ./test/core/bulk.wast:95
+assert_return(() => invoke($3, `load8_u`, [14]), [value("i32", 221)]);
+
+// ./test/core/bulk.wast:96
+assert_return(() => invoke($3, `load8_u`, [15]), [value("i32", 204)]);
+
+// ./test/core/bulk.wast:97
+assert_return(() => invoke($3, `load8_u`, [16]), [value("i32", 0)]);
+
+// ./test/core/bulk.wast:100
+invoke($3, `copy`, [65280, 0, 256]);
+
+// ./test/core/bulk.wast:101
+invoke($3, `copy`, [65024, 65280, 256]);
+
+// ./test/core/bulk.wast:104
+invoke($3, `copy`, [65536, 0, 0]);
+
+// ./test/core/bulk.wast:105
+invoke($3, `copy`, [0, 65536, 0]);
+
+// ./test/core/bulk.wast:108
+assert_trap(() => invoke($3, `copy`, [65537, 0, 0]), `out of bounds memory access`);
+
+// ./test/core/bulk.wast:110
+assert_trap(() => invoke($3, `copy`, [0, 65537, 0]), `out of bounds memory access`);
+
+// ./test/core/bulk.wast:115
+let $4 = instantiate(`(module
+ (memory 1)
+ (data "\\aa\\bb\\cc\\dd")
+
+ (func (export "init") (param i32 i32 i32)
+ (memory.init 0
+ (local.get 0)
+ (local.get 1)
+ (local.get 2)))
+
+ (func (export "load8_u") (param i32) (result i32)
+ (i32.load8_u (local.get 0)))
+)`);
+
+// ./test/core/bulk.wast:129
+invoke($4, `init`, [0, 1, 2]);
+
+// ./test/core/bulk.wast:130
+assert_return(() => invoke($4, `load8_u`, [0]), [value("i32", 187)]);
+
+// ./test/core/bulk.wast:131
+assert_return(() => invoke($4, `load8_u`, [1]), [value("i32", 204)]);
+
+// ./test/core/bulk.wast:132
+assert_return(() => invoke($4, `load8_u`, [2]), [value("i32", 0)]);
+
+// ./test/core/bulk.wast:135
+invoke($4, `init`, [65532, 0, 4]);
+
+// ./test/core/bulk.wast:138
+assert_trap(() => invoke($4, `init`, [65534, 0, 3]), `out of bounds memory access`);
+
+// ./test/core/bulk.wast:140
+assert_return(() => invoke($4, `load8_u`, [65534]), [value("i32", 204)]);
+
+// ./test/core/bulk.wast:141
+assert_return(() => invoke($4, `load8_u`, [65535]), [value("i32", 221)]);
+
+// ./test/core/bulk.wast:144
+invoke($4, `init`, [65536, 0, 0]);
+
+// ./test/core/bulk.wast:145
+invoke($4, `init`, [0, 4, 0]);
+
+// ./test/core/bulk.wast:148
+assert_trap(() => invoke($4, `init`, [65537, 0, 0]), `out of bounds memory access`);
+
+// ./test/core/bulk.wast:150
+assert_trap(() => invoke($4, `init`, [0, 5, 0]), `out of bounds memory access`);
+
+// ./test/core/bulk.wast:154
+let $5 = instantiate(`(module
+ (memory 1)
+ (data $$p "x")
+ (data $$a (memory 0) (i32.const 0) "x")
+
+ (func (export "drop_passive") (data.drop $$p))
+ (func (export "init_passive") (param $$len i32)
+ (memory.init $$p (i32.const 0) (i32.const 0) (local.get $$len)))
+
+ (func (export "drop_active") (data.drop $$a))
+ (func (export "init_active") (param $$len i32)
+ (memory.init $$a (i32.const 0) (i32.const 0) (local.get $$len)))
+)`);
+
+// ./test/core/bulk.wast:168
+invoke($5, `init_passive`, [1]);
+
+// ./test/core/bulk.wast:169
+invoke($5, `drop_passive`, []);
+
+// ./test/core/bulk.wast:170
+invoke($5, `drop_passive`, []);
+
+// ./test/core/bulk.wast:171
+assert_return(() => invoke($5, `init_passive`, [0]), []);
+
+// ./test/core/bulk.wast:172
+assert_trap(() => invoke($5, `init_passive`, [1]), `out of bounds memory access`);
+
+// ./test/core/bulk.wast:173
+invoke($5, `init_passive`, [0]);
+
+// ./test/core/bulk.wast:174
+invoke($5, `drop_active`, []);
+
+// ./test/core/bulk.wast:175
+assert_return(() => invoke($5, `init_active`, [0]), []);
+
+// ./test/core/bulk.wast:176
+assert_trap(() => invoke($5, `init_active`, [1]), `out of bounds memory access`);
+
+// ./test/core/bulk.wast:177
+invoke($5, `init_active`, [0]);
+
+// ./test/core/bulk.wast:181
+let $6 = instantiate(`(module
+ ;; 65 data segments. 64 is the smallest positive number that is encoded
+ ;; differently as a signed LEB.
+ (data "") (data "") (data "") (data "") (data "") (data "") (data "") (data "")
+ (data "") (data "") (data "") (data "") (data "") (data "") (data "") (data "")
+ (data "") (data "") (data "") (data "") (data "") (data "") (data "") (data "")
+ (data "") (data "") (data "") (data "") (data "") (data "") (data "") (data "")
+ (data "") (data "") (data "") (data "") (data "") (data "") (data "") (data "")
+ (data "") (data "") (data "") (data "") (data "") (data "") (data "") (data "")
+ (data "") (data "") (data "") (data "") (data "") (data "") (data "") (data "")
+ (data "") (data "") (data "") (data "") (data "") (data "") (data "") (data "")
+ (data "")
+ (func (data.drop 64)))`);
+
+// ./test/core/bulk.wast:196
+let $7 = instantiate(`(module (data "goodbye") (func (data.drop 0)))`);
+
+// ./test/core/bulk.wast:199
+let $8 = instantiate(`(module
+ (table 3 funcref)
+ (elem funcref
+ (ref.func $$zero) (ref.func $$one) (ref.func $$zero) (ref.func $$one))
+
+ (func $$zero (result i32) (i32.const 0))
+ (func $$one (result i32) (i32.const 1))
+
+ (func (export "init") (param i32 i32 i32)
+ (table.init 0
+ (local.get 0)
+ (local.get 1)
+ (local.get 2)))
+
+ (func (export "call") (param i32) (result i32)
+ (call_indirect (result i32)
+ (local.get 0)))
+)`);
+
+// ./test/core/bulk.wast:219
+assert_trap(() => invoke($8, `init`, [2, 0, 2]), `out of bounds table access`);
+
+// ./test/core/bulk.wast:221
+assert_trap(() => invoke($8, `call`, [2]), `uninitialized element 2`);
+
+// ./test/core/bulk.wast:224
+invoke($8, `init`, [0, 1, 2]);
+
+// ./test/core/bulk.wast:225
+assert_return(() => invoke($8, `call`, [0]), [value("i32", 1)]);
+
+// ./test/core/bulk.wast:226
+assert_return(() => invoke($8, `call`, [1]), [value("i32", 0)]);
+
+// ./test/core/bulk.wast:227
+assert_trap(() => invoke($8, `call`, [2]), `uninitialized element`);
+
+// ./test/core/bulk.wast:230
+invoke($8, `init`, [1, 2, 2]);
+
+// ./test/core/bulk.wast:233
+invoke($8, `init`, [3, 0, 0]);
+
+// ./test/core/bulk.wast:234
+invoke($8, `init`, [0, 4, 0]);
+
+// ./test/core/bulk.wast:237
+assert_trap(() => invoke($8, `init`, [4, 0, 0]), `out of bounds table access`);
+
+// ./test/core/bulk.wast:239
+assert_trap(() => invoke($8, `init`, [0, 5, 0]), `out of bounds table access`);
+
+// ./test/core/bulk.wast:244
+let $9 = instantiate(`(module
+ (table 1 funcref)
+ (func $$f)
+ (elem $$p funcref (ref.func $$f))
+ (elem $$a (table 0) (i32.const 0) func $$f)
+
+ (func (export "drop_passive") (elem.drop $$p))
+ (func (export "init_passive") (param $$len i32)
+ (table.init $$p (i32.const 0) (i32.const 0) (local.get $$len))
+ )
+
+ (func (export "drop_active") (elem.drop $$a))
+ (func (export "init_active") (param $$len i32)
+ (table.init $$a (i32.const 0) (i32.const 0) (local.get $$len))
+ )
+)`);
+
+// ./test/core/bulk.wast:261
+invoke($9, `init_passive`, [1]);
+
+// ./test/core/bulk.wast:262
+invoke($9, `drop_passive`, []);
+
+// ./test/core/bulk.wast:263
+invoke($9, `drop_passive`, []);
+
+// ./test/core/bulk.wast:264
+assert_return(() => invoke($9, `init_passive`, [0]), []);
+
+// ./test/core/bulk.wast:265
+assert_trap(() => invoke($9, `init_passive`, [1]), `out of bounds table access`);
+
+// ./test/core/bulk.wast:266
+invoke($9, `init_passive`, [0]);
+
+// ./test/core/bulk.wast:267
+invoke($9, `drop_active`, []);
+
+// ./test/core/bulk.wast:268
+assert_return(() => invoke($9, `init_active`, [0]), []);
+
+// ./test/core/bulk.wast:269
+assert_trap(() => invoke($9, `init_active`, [1]), `out of bounds table access`);
+
+// ./test/core/bulk.wast:270
+invoke($9, `init_active`, [0]);
+
+// ./test/core/bulk.wast:274
+let $10 = instantiate(`(module
+ ;; 65 elem segments. 64 is the smallest positive number that is encoded
+ ;; differently as a signed LEB.
+ (elem funcref) (elem funcref) (elem funcref) (elem funcref)
+ (elem funcref) (elem funcref) (elem funcref) (elem funcref)
+ (elem funcref) (elem funcref) (elem funcref) (elem funcref)
+ (elem funcref) (elem funcref) (elem funcref) (elem funcref)
+ (elem funcref) (elem funcref) (elem funcref) (elem funcref)
+ (elem funcref) (elem funcref) (elem funcref) (elem funcref)
+ (elem funcref) (elem funcref) (elem funcref) (elem funcref)
+ (elem funcref) (elem funcref) (elem funcref) (elem funcref)
+ (elem funcref) (elem funcref) (elem funcref) (elem funcref)
+ (elem funcref) (elem funcref) (elem funcref) (elem funcref)
+ (elem funcref) (elem funcref) (elem funcref) (elem funcref)
+ (elem funcref) (elem funcref) (elem funcref) (elem funcref)
+ (elem funcref) (elem funcref) (elem funcref) (elem funcref)
+ (elem funcref) (elem funcref) (elem funcref) (elem funcref)
+ (elem funcref) (elem funcref) (elem funcref) (elem funcref)
+ (elem funcref) (elem funcref) (elem funcref) (elem funcref)
+ (elem funcref)
+ (func (elem.drop 64)))`);
+
+// ./test/core/bulk.wast:297
+let $11 = instantiate(`(module (elem funcref (ref.func 0)) (func (elem.drop 0)))`);
+
+// ./test/core/bulk.wast:300
+let $12 = instantiate(`(module
+ (table 10 funcref)
+ (elem (i32.const 0) $$zero $$one $$two)
+ (func $$zero (result i32) (i32.const 0))
+ (func $$one (result i32) (i32.const 1))
+ (func $$two (result i32) (i32.const 2))
+
+ (func (export "copy") (param i32 i32 i32)
+ (table.copy
+ (local.get 0)
+ (local.get 1)
+ (local.get 2)))
+
+ (func (export "call") (param i32) (result i32)
+ (call_indirect (result i32)
+ (local.get 0)))
+)`);
+
+// ./test/core/bulk.wast:319
+invoke($12, `copy`, [3, 0, 3]);
+
+// ./test/core/bulk.wast:321
+assert_return(() => invoke($12, `call`, [3]), [value("i32", 0)]);
+
+// ./test/core/bulk.wast:322
+assert_return(() => invoke($12, `call`, [4]), [value("i32", 1)]);
+
+// ./test/core/bulk.wast:323
+assert_return(() => invoke($12, `call`, [5]), [value("i32", 2)]);
+
+// ./test/core/bulk.wast:326
+invoke($12, `copy`, [0, 1, 3]);
+
+// ./test/core/bulk.wast:328
+assert_return(() => invoke($12, `call`, [0]), [value("i32", 1)]);
+
+// ./test/core/bulk.wast:329
+assert_return(() => invoke($12, `call`, [1]), [value("i32", 2)]);
+
+// ./test/core/bulk.wast:330
+assert_return(() => invoke($12, `call`, [2]), [value("i32", 0)]);
+
+// ./test/core/bulk.wast:333
+invoke($12, `copy`, [2, 0, 3]);
+
+// ./test/core/bulk.wast:335
+assert_return(() => invoke($12, `call`, [2]), [value("i32", 1)]);
+
+// ./test/core/bulk.wast:336
+assert_return(() => invoke($12, `call`, [3]), [value("i32", 2)]);
+
+// ./test/core/bulk.wast:337
+assert_return(() => invoke($12, `call`, [4]), [value("i32", 0)]);
+
+// ./test/core/bulk.wast:340
+invoke($12, `copy`, [6, 8, 2]);
+
+// ./test/core/bulk.wast:341
+invoke($12, `copy`, [8, 6, 2]);
+
+// ./test/core/bulk.wast:344
+invoke($12, `copy`, [10, 0, 0]);
+
+// ./test/core/bulk.wast:345
+invoke($12, `copy`, [0, 10, 0]);
+
+// ./test/core/bulk.wast:348
+assert_trap(() => invoke($12, `copy`, [11, 0, 0]), `out of bounds table access`);
+
+// ./test/core/bulk.wast:350
+assert_trap(() => invoke($12, `copy`, [0, 11, 0]), `out of bounds table access`);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/call.wast.js b/js/src/jit-test/tests/wasm/spec/spec/call.wast.js
new file mode 100644
index 0000000000..4595cf4df0
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/call.wast.js
@@ -0,0 +1,683 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/call.wast
+
+// ./test/core/call.wast:3
+let $0 = instantiate(`(module
+ ;; Auxiliary definitions
+ (func $$const-i32 (result i32) (i32.const 0x132))
+ (func $$const-i64 (result i64) (i64.const 0x164))
+ (func $$const-f32 (result f32) (f32.const 0xf32))
+ (func $$const-f64 (result f64) (f64.const 0xf64))
+ (func $$const-i32-i64 (result i32 i64) (i32.const 0x132) (i64.const 0x164))
+
+ (func $$id-i32 (param i32) (result i32) (local.get 0))
+ (func $$id-i64 (param i64) (result i64) (local.get 0))
+ (func $$id-f32 (param f32) (result f32) (local.get 0))
+ (func $$id-f64 (param f64) (result f64) (local.get 0))
+ (func $$id-i32-f64 (param i32 f64) (result i32 f64)
+ (local.get 0) (local.get 1)
+ )
+
+ (func $$swap-i32-i32 (param i32 i32) (result i32 i32)
+ (local.get 1) (local.get 0)
+ )
+ (func $$swap-f32-f64 (param f32 f64) (result f64 f32)
+ (local.get 1) (local.get 0)
+ )
+ (func $$swap-f64-i32 (param f64 i32) (result i32 f64)
+ (local.get 1) (local.get 0)
+ )
+
+ (func $$f32-i32 (param f32 i32) (result i32) (local.get 1))
+ (func $$i32-i64 (param i32 i64) (result i64) (local.get 1))
+ (func $$f64-f32 (param f64 f32) (result f32) (local.get 1))
+ (func $$i64-f64 (param i64 f64) (result f64) (local.get 1))
+
+ ;; Typing
+
+ (func (export "type-i32") (result i32) (call $$const-i32))
+ (func (export "type-i64") (result i64) (call $$const-i64))
+ (func (export "type-f32") (result f32) (call $$const-f32))
+ (func (export "type-f64") (result f64) (call $$const-f64))
+ (func (export "type-i32-i64") (result i32 i64) (call $$const-i32-i64))
+
+ (func (export "type-first-i32") (result i32) (call $$id-i32 (i32.const 32)))
+ (func (export "type-first-i64") (result i64) (call $$id-i64 (i64.const 64)))
+ (func (export "type-first-f32") (result f32) (call $$id-f32 (f32.const 1.32)))
+ (func (export "type-first-f64") (result f64) (call $$id-f64 (f64.const 1.64)))
+
+ (func (export "type-second-i32") (result i32)
+ (call $$f32-i32 (f32.const 32.1) (i32.const 32))
+ )
+ (func (export "type-second-i64") (result i64)
+ (call $$i32-i64 (i32.const 32) (i64.const 64))
+ )
+ (func (export "type-second-f32") (result f32)
+ (call $$f64-f32 (f64.const 64) (f32.const 32))
+ )
+ (func (export "type-second-f64") (result f64)
+ (call $$i64-f64 (i64.const 64) (f64.const 64.1))
+ )
+
+ (func (export "type-all-i32-f64") (result i32 f64)
+ (call $$id-i32-f64 (i32.const 32) (f64.const 1.64))
+ )
+ (func (export "type-all-i32-i32") (result i32 i32)
+ (call $$swap-i32-i32 (i32.const 1) (i32.const 2))
+ )
+ (func (export "type-all-f32-f64") (result f64 f32)
+ (call $$swap-f32-f64 (f32.const 1) (f64.const 2))
+ )
+ (func (export "type-all-f64-i32") (result i32 f64)
+ (call $$swap-f64-i32 (f64.const 1) (i32.const 2))
+ )
+
+ ;; Composition
+
+ (func (export "as-binary-all-operands") (result i32)
+ (i32.add (call $$swap-i32-i32 (i32.const 3) (i32.const 4)))
+ )
+
+ (func (export "as-mixed-operands") (result i32)
+ (call $$swap-i32-i32 (i32.const 3) (i32.const 4))
+ (i32.const 5)
+ (i32.add)
+ (i32.mul)
+ )
+
+ (func (export "as-call-all-operands") (result i32 i32)
+ (call $$swap-i32-i32 (call $$swap-i32-i32 (i32.const 3) (i32.const 4)))
+ )
+
+ ;; Recursion
+
+ (func $$fac (export "fac") (param i64) (result i64)
+ (if (result i64) (i64.eqz (local.get 0))
+ (then (i64.const 1))
+ (else
+ (i64.mul
+ (local.get 0)
+ (call $$fac (i64.sub (local.get 0) (i64.const 1)))
+ )
+ )
+ )
+ )
+
+ (func $$fac-acc (export "fac-acc") (param i64 i64) (result i64)
+ (if (result i64) (i64.eqz (local.get 0))
+ (then (local.get 1))
+ (else
+ (call $$fac-acc
+ (i64.sub (local.get 0) (i64.const 1))
+ (i64.mul (local.get 0) (local.get 1))
+ )
+ )
+ )
+ )
+
+ (func $$fib (export "fib") (param i64) (result i64)
+ (if (result i64) (i64.le_u (local.get 0) (i64.const 1))
+ (then (i64.const 1))
+ (else
+ (i64.add
+ (call $$fib (i64.sub (local.get 0) (i64.const 2)))
+ (call $$fib (i64.sub (local.get 0) (i64.const 1)))
+ )
+ )
+ )
+ )
+
+ (func $$even (export "even") (param i64) (result i32)
+ (if (result i32) (i64.eqz (local.get 0))
+ (then (i32.const 44))
+ (else (call $$odd (i64.sub (local.get 0) (i64.const 1))))
+ )
+ )
+ (func $$odd (export "odd") (param i64) (result i32)
+ (if (result i32) (i64.eqz (local.get 0))
+ (then (i32.const 99))
+ (else (call $$even (i64.sub (local.get 0) (i64.const 1))))
+ )
+ )
+
+ ;; Stack exhaustion
+
+ ;; Implementations are required to have every call consume some abstract
+ ;; resource towards exhausting some abstract finite limit, such that
+ ;; infinitely recursive test cases reliably trap in finite time. This is
+ ;; because otherwise applications could come to depend on it on those
+ ;; implementations and be incompatible with implementations that don't do
+ ;; it (or don't do it under the same circumstances).
+
+ (func $$runaway (export "runaway") (call $$runaway))
+
+ (func $$mutual-runaway1 (export "mutual-runaway") (call $$mutual-runaway2))
+ (func $$mutual-runaway2 (call $$mutual-runaway1))
+
+ ;; As parameter of control constructs and instructions
+
+ (memory 1)
+
+ (func (export "as-select-first") (result i32)
+ (select (call $$const-i32) (i32.const 2) (i32.const 3))
+ )
+ (func (export "as-select-mid") (result i32)
+ (select (i32.const 2) (call $$const-i32) (i32.const 3))
+ )
+ (func (export "as-select-last") (result i32)
+ (select (i32.const 2) (i32.const 3) (call $$const-i32))
+ )
+
+ (func (export "as-if-condition") (result i32)
+ (if (result i32) (call $$const-i32) (then (i32.const 1)) (else (i32.const 2)))
+ )
+
+ (func (export "as-br_if-first") (result i32)
+ (block (result i32) (br_if 0 (call $$const-i32) (i32.const 2)))
+ )
+ (func (export "as-br_if-last") (result i32)
+ (block (result i32) (br_if 0 (i32.const 2) (call $$const-i32)))
+ )
+
+ (func (export "as-br_table-first") (result i32)
+ (block (result i32) (call $$const-i32) (i32.const 2) (br_table 0 0))
+ )
+ (func (export "as-br_table-last") (result i32)
+ (block (result i32) (i32.const 2) (call $$const-i32) (br_table 0 0))
+ )
+
+ (func $$func (param i32 i32) (result i32) (local.get 0))
+ (type $$check (func (param i32 i32) (result i32)))
+ (table funcref (elem $$func))
+ (func (export "as-call_indirect-first") (result i32)
+ (block (result i32)
+ (call_indirect (type $$check)
+ (call $$const-i32) (i32.const 2) (i32.const 0)
+ )
+ )
+ )
+ (func (export "as-call_indirect-mid") (result i32)
+ (block (result i32)
+ (call_indirect (type $$check)
+ (i32.const 2) (call $$const-i32) (i32.const 0)
+ )
+ )
+ )
+ (func (export "as-call_indirect-last") (result i32)
+ (block (result i32)
+ (call_indirect (type $$check)
+ (i32.const 1) (i32.const 2) (call $$const-i32)
+ )
+ )
+ )
+
+ (func (export "as-store-first")
+ (call $$const-i32) (i32.const 1) (i32.store)
+ )
+ (func (export "as-store-last")
+ (i32.const 10) (call $$const-i32) (i32.store)
+ )
+
+ (func (export "as-memory.grow-value") (result i32)
+ (memory.grow (call $$const-i32))
+ )
+ (func (export "as-return-value") (result i32)
+ (call $$const-i32) (return)
+ )
+ (func (export "as-drop-operand")
+ (call $$const-i32) (drop)
+ )
+ (func (export "as-br-value") (result i32)
+ (block (result i32) (br 0 (call $$const-i32)))
+ )
+ (func (export "as-local.set-value") (result i32)
+ (local i32) (local.set 0 (call $$const-i32)) (local.get 0)
+ )
+ (func (export "as-local.tee-value") (result i32)
+ (local i32) (local.tee 0 (call $$const-i32))
+ )
+ (global $$a (mut i32) (i32.const 10))
+ (func (export "as-global.set-value") (result i32)
+ (global.set $$a (call $$const-i32))
+ (global.get $$a)
+ )
+ (func (export "as-load-operand") (result i32)
+ (i32.load (call $$const-i32))
+ )
+
+ (func $$dummy (param i32) (result i32) (local.get 0))
+ (func $$du (param f32) (result f32) (local.get 0))
+ (func (export "as-unary-operand") (result f32)
+ (block (result f32) (f32.sqrt (call $$du (f32.const 0x0p+0))))
+ )
+
+ (func (export "as-binary-left") (result i32)
+ (block (result i32) (i32.add (call $$dummy (i32.const 1)) (i32.const 10)))
+ )
+ (func (export "as-binary-right") (result i32)
+ (block (result i32) (i32.sub (i32.const 10) (call $$dummy (i32.const 1))))
+ )
+
+ (func (export "as-test-operand") (result i32)
+ (block (result i32) (i32.eqz (call $$dummy (i32.const 1))))
+ )
+
+ (func (export "as-compare-left") (result i32)
+ (block (result i32) (i32.le_u (call $$dummy (i32.const 1)) (i32.const 10)))
+ )
+ (func (export "as-compare-right") (result i32)
+ (block (result i32) (i32.ne (i32.const 10) (call $$dummy (i32.const 1))))
+ )
+
+ (func (export "as-convert-operand") (result i64)
+ (block (result i64) (i64.extend_i32_s (call $$dummy (i32.const 1))))
+ )
+
+ ;; Test correct argument passing
+
+ (func $$return-from-long-argument-list-helper (param f32 i32 i32 f64 f32 f32 f32 f64 f32 i32 i32 f32 f64 i64 i64 i32 i64 i64 f32 i64 i64 i64 i32 f32 f32 f32 f64 f32 i32 i64 f32 f64 f64 f32 i32 f32 f32 f64 i64 f64 i32 i64 f32 f64 i32 i32 i32 i64 f64 i32 i64 i64 f64 f64 f64 f64 f64 f64 i32 f32 f64 f64 i32 i64 f32 f32 f32 i32 f64 f64 f64 f64 f64 f32 i64 i64 i32 i32 i32 f32 f64 i32 i64 f32 f32 f32 i32 i32 f32 f64 i64 f32 f64 f32 f32 f32 i32 f32 i64 i32) (result i32)
+ (local.get 99)
+ )
+
+ (func (export "return-from-long-argument-list") (param i32) (result i32)
+ (call $$return-from-long-argument-list-helper (f32.const 0) (i32.const 0) (i32.const 0) (f64.const 0) (f32.const 0) (f32.const 0) (f32.const 0) (f64.const 0) (f32.const 0) (i32.const 0) (i32.const 0) (f32.const 0) (f64.const 0) (i64.const 0) (i64.const 0) (i32.const 0) (i64.const 0) (i64.const 0) (f32.const 0) (i64.const 0) (i64.const 0) (i64.const 0) (i32.const 0) (f32.const 0) (f32.const 0) (f32.const 0) (f64.const 0) (f32.const 0) (i32.const 0) (i64.const 0) (f32.const 0) (f64.const 0) (f64.const 0) (f32.const 0) (i32.const 0) (f32.const 0) (f32.const 0) (f64.const 0) (i64.const 0) (f64.const 0) (i32.const 0) (i64.const 0) (f32.const 0) (f64.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i64.const 0) (f64.const 0) (i32.const 0) (i64.const 0) (i64.const 0) (f64.const 0) (f64.const 0) (f64.const 0) (f64.const 0) (f64.const 0) (f64.const 0) (i32.const 0) (f32.const 0) (f64.const 0) (f64.const 0) (i32.const 0) (i64.const 0) (f32.const 0) (f32.const 0) (f32.const 0) (i32.const 0) (f64.const 0) (f64.const 0) (f64.const 0) (f64.const 0) (f64.const 0) (f32.const 0) (i64.const 0) (i64.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (f32.const 0) (f64.const 0) (i32.const 0) (i64.const 0) (f32.const 0) (f32.const 0) (f32.const 0) (i32.const 0) (i32.const 0) (f32.const 0) (f64.const 0) (i64.const 0) (f32.const 0) (f64.const 0) (f32.const 0) (f32.const 0) (f32.const 0) (i32.const 0) (f32.const 0) (i64.const 0) (local.get 0))
+ )
+)`);
+
+// ./test/core/call.wast:285
+assert_return(() => invoke($0, `type-i32`, []), [value("i32", 306)]);
+
+// ./test/core/call.wast:286
+assert_return(() => invoke($0, `type-i64`, []), [value("i64", 356n)]);
+
+// ./test/core/call.wast:287
+assert_return(() => invoke($0, `type-f32`, []), [value("f32", 3890)]);
+
+// ./test/core/call.wast:288
+assert_return(() => invoke($0, `type-f64`, []), [value("f64", 3940)]);
+
+// ./test/core/call.wast:289
+assert_return(() => invoke($0, `type-i32-i64`, []), [value("i32", 306), value("i64", 356n)]);
+
+// ./test/core/call.wast:291
+assert_return(() => invoke($0, `type-first-i32`, []), [value("i32", 32)]);
+
+// ./test/core/call.wast:292
+assert_return(() => invoke($0, `type-first-i64`, []), [value("i64", 64n)]);
+
+// ./test/core/call.wast:293
+assert_return(() => invoke($0, `type-first-f32`, []), [value("f32", 1.32)]);
+
+// ./test/core/call.wast:294
+assert_return(() => invoke($0, `type-first-f64`, []), [value("f64", 1.64)]);
+
+// ./test/core/call.wast:296
+assert_return(() => invoke($0, `type-second-i32`, []), [value("i32", 32)]);
+
+// ./test/core/call.wast:297
+assert_return(() => invoke($0, `type-second-i64`, []), [value("i64", 64n)]);
+
+// ./test/core/call.wast:298
+assert_return(() => invoke($0, `type-second-f32`, []), [value("f32", 32)]);
+
+// ./test/core/call.wast:299
+assert_return(() => invoke($0, `type-second-f64`, []), [value("f64", 64.1)]);
+
+// ./test/core/call.wast:301
+assert_return(() => invoke($0, `type-all-i32-f64`, []), [value("i32", 32), value("f64", 1.64)]);
+
+// ./test/core/call.wast:302
+assert_return(() => invoke($0, `type-all-i32-i32`, []), [value("i32", 2), value("i32", 1)]);
+
+// ./test/core/call.wast:303
+assert_return(() => invoke($0, `type-all-f32-f64`, []), [value("f64", 2), value("f32", 1)]);
+
+// ./test/core/call.wast:304
+assert_return(() => invoke($0, `type-all-f64-i32`, []), [value("i32", 2), value("f64", 1)]);
+
+// ./test/core/call.wast:306
+assert_return(() => invoke($0, `as-binary-all-operands`, []), [value("i32", 7)]);
+
+// ./test/core/call.wast:307
+assert_return(() => invoke($0, `as-mixed-operands`, []), [value("i32", 32)]);
+
+// ./test/core/call.wast:308
+assert_return(() => invoke($0, `as-call-all-operands`, []), [value("i32", 3), value("i32", 4)]);
+
+// ./test/core/call.wast:310
+assert_return(() => invoke($0, `fac`, [0n]), [value("i64", 1n)]);
+
+// ./test/core/call.wast:311
+assert_return(() => invoke($0, `fac`, [1n]), [value("i64", 1n)]);
+
+// ./test/core/call.wast:312
+assert_return(() => invoke($0, `fac`, [5n]), [value("i64", 120n)]);
+
+// ./test/core/call.wast:313
+assert_return(() => invoke($0, `fac`, [25n]), [value("i64", 7034535277573963776n)]);
+
+// ./test/core/call.wast:314
+assert_return(() => invoke($0, `fac-acc`, [0n, 1n]), [value("i64", 1n)]);
+
+// ./test/core/call.wast:315
+assert_return(() => invoke($0, `fac-acc`, [1n, 1n]), [value("i64", 1n)]);
+
+// ./test/core/call.wast:316
+assert_return(() => invoke($0, `fac-acc`, [5n, 1n]), [value("i64", 120n)]);
+
+// ./test/core/call.wast:317
+assert_return(() => invoke($0, `fac-acc`, [25n, 1n]), [value("i64", 7034535277573963776n)]);
+
+// ./test/core/call.wast:322
+assert_return(() => invoke($0, `fib`, [0n]), [value("i64", 1n)]);
+
+// ./test/core/call.wast:323
+assert_return(() => invoke($0, `fib`, [1n]), [value("i64", 1n)]);
+
+// ./test/core/call.wast:324
+assert_return(() => invoke($0, `fib`, [2n]), [value("i64", 2n)]);
+
+// ./test/core/call.wast:325
+assert_return(() => invoke($0, `fib`, [5n]), [value("i64", 8n)]);
+
+// ./test/core/call.wast:326
+assert_return(() => invoke($0, `fib`, [20n]), [value("i64", 10946n)]);
+
+// ./test/core/call.wast:328
+assert_return(() => invoke($0, `even`, [0n]), [value("i32", 44)]);
+
+// ./test/core/call.wast:329
+assert_return(() => invoke($0, `even`, [1n]), [value("i32", 99)]);
+
+// ./test/core/call.wast:330
+assert_return(() => invoke($0, `even`, [100n]), [value("i32", 44)]);
+
+// ./test/core/call.wast:331
+assert_return(() => invoke($0, `even`, [77n]), [value("i32", 99)]);
+
+// ./test/core/call.wast:332
+assert_return(() => invoke($0, `odd`, [0n]), [value("i32", 99)]);
+
+// ./test/core/call.wast:333
+assert_return(() => invoke($0, `odd`, [1n]), [value("i32", 44)]);
+
+// ./test/core/call.wast:334
+assert_return(() => invoke($0, `odd`, [200n]), [value("i32", 99)]);
+
+// ./test/core/call.wast:335
+assert_return(() => invoke($0, `odd`, [77n]), [value("i32", 44)]);
+
+// ./test/core/call.wast:337
+assert_exhaustion(() => invoke($0, `runaway`, []), `call stack exhausted`);
+
+// ./test/core/call.wast:338
+assert_exhaustion(() => invoke($0, `mutual-runaway`, []), `call stack exhausted`);
+
+// ./test/core/call.wast:340
+assert_return(() => invoke($0, `as-select-first`, []), [value("i32", 306)]);
+
+// ./test/core/call.wast:341
+assert_return(() => invoke($0, `as-select-mid`, []), [value("i32", 2)]);
+
+// ./test/core/call.wast:342
+assert_return(() => invoke($0, `as-select-last`, []), [value("i32", 2)]);
+
+// ./test/core/call.wast:344
+assert_return(() => invoke($0, `as-if-condition`, []), [value("i32", 1)]);
+
+// ./test/core/call.wast:346
+assert_return(() => invoke($0, `as-br_if-first`, []), [value("i32", 306)]);
+
+// ./test/core/call.wast:347
+assert_return(() => invoke($0, `as-br_if-last`, []), [value("i32", 2)]);
+
+// ./test/core/call.wast:349
+assert_return(() => invoke($0, `as-br_table-first`, []), [value("i32", 306)]);
+
+// ./test/core/call.wast:350
+assert_return(() => invoke($0, `as-br_table-last`, []), [value("i32", 2)]);
+
+// ./test/core/call.wast:352
+assert_return(() => invoke($0, `as-call_indirect-first`, []), [value("i32", 306)]);
+
+// ./test/core/call.wast:353
+assert_return(() => invoke($0, `as-call_indirect-mid`, []), [value("i32", 2)]);
+
+// ./test/core/call.wast:354
+assert_trap(() => invoke($0, `as-call_indirect-last`, []), `undefined element`);
+
+// ./test/core/call.wast:356
+assert_return(() => invoke($0, `as-store-first`, []), []);
+
+// ./test/core/call.wast:357
+assert_return(() => invoke($0, `as-store-last`, []), []);
+
+// ./test/core/call.wast:359
+assert_return(() => invoke($0, `as-memory.grow-value`, []), [value("i32", 1)]);
+
+// ./test/core/call.wast:360
+assert_return(() => invoke($0, `as-return-value`, []), [value("i32", 306)]);
+
+// ./test/core/call.wast:361
+assert_return(() => invoke($0, `as-drop-operand`, []), []);
+
+// ./test/core/call.wast:362
+assert_return(() => invoke($0, `as-br-value`, []), [value("i32", 306)]);
+
+// ./test/core/call.wast:363
+assert_return(() => invoke($0, `as-local.set-value`, []), [value("i32", 306)]);
+
+// ./test/core/call.wast:364
+assert_return(() => invoke($0, `as-local.tee-value`, []), [value("i32", 306)]);
+
+// ./test/core/call.wast:365
+assert_return(() => invoke($0, `as-global.set-value`, []), [value("i32", 306)]);
+
+// ./test/core/call.wast:366
+assert_return(() => invoke($0, `as-load-operand`, []), [value("i32", 1)]);
+
+// ./test/core/call.wast:368
+assert_return(() => invoke($0, `as-unary-operand`, []), [value("f32", 0)]);
+
+// ./test/core/call.wast:369
+assert_return(() => invoke($0, `as-binary-left`, []), [value("i32", 11)]);
+
+// ./test/core/call.wast:370
+assert_return(() => invoke($0, `as-binary-right`, []), [value("i32", 9)]);
+
+// ./test/core/call.wast:371
+assert_return(() => invoke($0, `as-test-operand`, []), [value("i32", 0)]);
+
+// ./test/core/call.wast:372
+assert_return(() => invoke($0, `as-compare-left`, []), [value("i32", 1)]);
+
+// ./test/core/call.wast:373
+assert_return(() => invoke($0, `as-compare-right`, []), [value("i32", 1)]);
+
+// ./test/core/call.wast:374
+assert_return(() => invoke($0, `as-convert-operand`, []), [value("i64", 1n)]);
+
+// ./test/core/call.wast:376
+assert_return(() => invoke($0, `return-from-long-argument-list`, [42]), [value("i32", 42)]);
+
+// ./test/core/call.wast:380
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-void-vs-num (i32.eqz (call 1)))
+ (func)
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/call.wast:387
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-num-vs-num (i32.eqz (call 1)))
+ (func (result i64) (i64.const 1))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/call.wast:395
+assert_invalid(
+ () => instantiate(`(module
+ (func $$arity-0-vs-1 (call 1))
+ (func (param i32))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/call.wast:402
+assert_invalid(
+ () => instantiate(`(module
+ (func $$arity-0-vs-2 (call 1))
+ (func (param f64 i32))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/call.wast:409
+assert_invalid(
+ () => instantiate(`(module
+ (func $$arity-1-vs-0 (call 1 (i32.const 1)))
+ (func)
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/call.wast:416
+assert_invalid(
+ () => instantiate(`(module
+ (func $$arity-2-vs-0 (call 1 (f64.const 2) (i32.const 1)))
+ (func)
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/call.wast:424
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-first-void-vs-num (call 1 (nop) (i32.const 1)))
+ (func (param i32 i32))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/call.wast:431
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-second-void-vs-num (call 1 (i32.const 1) (nop)))
+ (func (param i32 i32))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/call.wast:438
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-first-num-vs-num (call 1 (f64.const 1) (i32.const 1)))
+ (func (param i32 f64))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/call.wast:445
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-second-num-vs-num (call 1 (i32.const 1) (f64.const 1)))
+ (func (param f64 i32))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/call.wast:453
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-first-empty-in-block
+ (block (call 1))
+ )
+ (func (param i32))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/call.wast:462
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-second-empty-in-block
+ (block (call 1 (i32.const 0)))
+ )
+ (func (param i32 i32))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/call.wast:471
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-first-empty-in-loop
+ (loop (call 1))
+ )
+ (func (param i32))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/call.wast:480
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-second-empty-in-loop
+ (loop (call 1 (i32.const 0)))
+ )
+ (func (param i32 i32))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/call.wast:489
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-first-empty-in-then
+ (if (i32.const 0) (then (call 1)))
+ )
+ (func (param i32))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/call.wast:498
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-second-empty-in-then
+ (if (i32.const 0) (then (call 1 (i32.const 0))))
+ )
+ (func (param i32 i32))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/call.wast:511
+assert_invalid(
+ () => instantiate(`(module (func $$unbound-func (call 1)))`),
+ `unknown function`,
+);
+
+// ./test/core/call.wast:515
+assert_invalid(
+ () => instantiate(`(module (func $$large-func (call 1012321300)))`),
+ `unknown function`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/call_indirect.wast.js b/js/src/jit-test/tests/wasm/spec/spec/call_indirect.wast.js
new file mode 100644
index 0000000000..9d62c42427
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/call_indirect.wast.js
@@ -0,0 +1,1256 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/call_indirect.wast
+
+// ./test/core/call_indirect.wast:3
+let $0 = instantiate(`(module
+ ;; Auxiliary definitions
+ (type $$proc (func))
+ (type $$out-i32 (func (result i32)))
+ (type $$out-i64 (func (result i64)))
+ (type $$out-f32 (func (result f32)))
+ (type $$out-f64 (func (result f64)))
+ (type $$out-f64-i32 (func (result f64 i32)))
+ (type $$over-i32 (func (param i32) (result i32)))
+ (type $$over-i64 (func (param i64) (result i64)))
+ (type $$over-f32 (func (param f32) (result f32)))
+ (type $$over-f64 (func (param f64) (result f64)))
+ (type $$over-i32-f64 (func (param i32 f64) (result i32 f64)))
+ (type $$swap-i32-i64 (func (param i32 i64) (result i64 i32)))
+ (type $$f32-i32 (func (param f32 i32) (result i32)))
+ (type $$i32-i64 (func (param i32 i64) (result i64)))
+ (type $$f64-f32 (func (param f64 f32) (result f32)))
+ (type $$i64-f64 (func (param i64 f64) (result f64)))
+ (type $$over-i32-duplicate (func (param i32) (result i32)))
+ (type $$over-i64-duplicate (func (param i64) (result i64)))
+ (type $$over-f32-duplicate (func (param f32) (result f32)))
+ (type $$over-f64-duplicate (func (param f64) (result f64)))
+
+ (func $$const-i32 (type $$out-i32) (i32.const 0x132))
+ (func $$const-i64 (type $$out-i64) (i64.const 0x164))
+ (func $$const-f32 (type $$out-f32) (f32.const 0xf32))
+ (func $$const-f64 (type $$out-f64) (f64.const 0xf64))
+ (func $$const-f64-i32 (type $$out-f64-i32) (f64.const 0xf64) (i32.const 32))
+
+ (func $$id-i32 (type $$over-i32) (local.get 0))
+ (func $$id-i64 (type $$over-i64) (local.get 0))
+ (func $$id-f32 (type $$over-f32) (local.get 0))
+ (func $$id-f64 (type $$over-f64) (local.get 0))
+ (func $$id-i32-f64 (type $$over-i32-f64) (local.get 0) (local.get 1))
+ (func $$swap-i32-i64 (type $$swap-i32-i64) (local.get 1) (local.get 0))
+
+ (func $$i32-i64 (type $$i32-i64) (local.get 1))
+ (func $$i64-f64 (type $$i64-f64) (local.get 1))
+ (func $$f32-i32 (type $$f32-i32) (local.get 1))
+ (func $$f64-f32 (type $$f64-f32) (local.get 1))
+
+ (func $$over-i32-duplicate (type $$over-i32-duplicate) (local.get 0))
+ (func $$over-i64-duplicate (type $$over-i64-duplicate) (local.get 0))
+ (func $$over-f32-duplicate (type $$over-f32-duplicate) (local.get 0))
+ (func $$over-f64-duplicate (type $$over-f64-duplicate) (local.get 0))
+
+ (table funcref
+ (elem
+ $$const-i32 $$const-i64 $$const-f32 $$const-f64 ;; 0..3
+ $$id-i32 $$id-i64 $$id-f32 $$id-f64 ;; 4..7
+ $$f32-i32 $$i32-i64 $$f64-f32 $$i64-f64 ;; 9..11
+ $$fac-i64 $$fib-i64 $$even $$odd ;; 12..15
+ $$runaway $$mutual-runaway1 $$mutual-runaway2 ;; 16..18
+ $$over-i32-duplicate $$over-i64-duplicate ;; 19..20
+ $$over-f32-duplicate $$over-f64-duplicate ;; 21..22
+ $$fac-i32 $$fac-f32 $$fac-f64 ;; 23..25
+ $$fib-i32 $$fib-f32 $$fib-f64 ;; 26..28
+ $$const-f64-i32 $$id-i32-f64 $$swap-i32-i64 ;; 29..31
+ )
+ )
+
+ ;; Syntax
+
+ (func
+ (call_indirect (i32.const 0))
+ (call_indirect (param i64) (i64.const 0) (i32.const 0))
+ (call_indirect (param i64) (param) (param f64 i32 i64)
+ (i64.const 0) (f64.const 0) (i32.const 0) (i64.const 0) (i32.const 0)
+ )
+ (call_indirect (result) (i32.const 0))
+ (drop (i32.eqz (call_indirect (result i32) (i32.const 0))))
+ (drop (i32.eqz (call_indirect (result i32) (result) (i32.const 0))))
+ (drop (i32.eqz
+ (call_indirect (param i64) (result i32) (i64.const 0) (i32.const 0))
+ ))
+ (drop (i32.eqz
+ (call_indirect
+ (param) (param i64) (param) (param f64 i32 i64) (param) (param)
+ (result) (result i32) (result) (result)
+ (i64.const 0) (f64.const 0) (i32.const 0) (i64.const 0) (i32.const 0)
+ )
+ ))
+ (drop (i64.eqz
+ (call_indirect (type $$over-i64) (param i64) (result i64)
+ (i64.const 0) (i32.const 0)
+ )
+ ))
+ )
+
+ ;; Typing
+
+ (func (export "type-i32") (result i32)
+ (call_indirect (type $$out-i32) (i32.const 0))
+ )
+ (func (export "type-i64") (result i64)
+ (call_indirect (type $$out-i64) (i32.const 1))
+ )
+ (func (export "type-f32") (result f32)
+ (call_indirect (type $$out-f32) (i32.const 2))
+ )
+ (func (export "type-f64") (result f64)
+ (call_indirect (type $$out-f64) (i32.const 3))
+ )
+ (func (export "type-f64-i32") (result f64 i32)
+ (call_indirect (type $$out-f64-i32) (i32.const 29))
+ )
+
+ (func (export "type-index") (result i64)
+ (call_indirect (type $$over-i64) (i64.const 100) (i32.const 5))
+ )
+
+ (func (export "type-first-i32") (result i32)
+ (call_indirect (type $$over-i32) (i32.const 32) (i32.const 4))
+ )
+ (func (export "type-first-i64") (result i64)
+ (call_indirect (type $$over-i64) (i64.const 64) (i32.const 5))
+ )
+ (func (export "type-first-f32") (result f32)
+ (call_indirect (type $$over-f32) (f32.const 1.32) (i32.const 6))
+ )
+ (func (export "type-first-f64") (result f64)
+ (call_indirect (type $$over-f64) (f64.const 1.64) (i32.const 7))
+ )
+
+ (func (export "type-second-i32") (result i32)
+ (call_indirect (type $$f32-i32) (f32.const 32.1) (i32.const 32) (i32.const 8))
+ )
+ (func (export "type-second-i64") (result i64)
+ (call_indirect (type $$i32-i64) (i32.const 32) (i64.const 64) (i32.const 9))
+ )
+ (func (export "type-second-f32") (result f32)
+ (call_indirect (type $$f64-f32) (f64.const 64) (f32.const 32) (i32.const 10))
+ )
+ (func (export "type-second-f64") (result f64)
+ (call_indirect (type $$i64-f64) (i64.const 64) (f64.const 64.1) (i32.const 11))
+ )
+
+ (func (export "type-all-f64-i32") (result f64 i32)
+ (call_indirect (type $$out-f64-i32) (i32.const 29))
+ )
+ (func (export "type-all-i32-f64") (result i32 f64)
+ (call_indirect (type $$over-i32-f64)
+ (i32.const 1) (f64.const 2) (i32.const 30)
+ )
+ )
+ (func (export "type-all-i32-i64") (result i64 i32)
+ (call_indirect (type $$swap-i32-i64)
+ (i32.const 1) (i64.const 2) (i32.const 31)
+ )
+ )
+
+ ;; Dispatch
+
+ (func (export "dispatch") (param i32 i64) (result i64)
+ (call_indirect (type $$over-i64) (local.get 1) (local.get 0))
+ )
+
+ (func (export "dispatch-structural-i64") (param i32) (result i64)
+ (call_indirect (type $$over-i64-duplicate) (i64.const 9) (local.get 0))
+ )
+ (func (export "dispatch-structural-i32") (param i32) (result i32)
+ (call_indirect (type $$over-i32-duplicate) (i32.const 9) (local.get 0))
+ )
+ (func (export "dispatch-structural-f32") (param i32) (result f32)
+ (call_indirect (type $$over-f32-duplicate) (f32.const 9.0) (local.get 0))
+ )
+ (func (export "dispatch-structural-f64") (param i32) (result f64)
+ (call_indirect (type $$over-f64-duplicate) (f64.const 9.0) (local.get 0))
+ )
+
+ ;; Recursion
+
+ (func $$fac-i64 (export "fac-i64") (type $$over-i64)
+ (if (result i64) (i64.eqz (local.get 0))
+ (then (i64.const 1))
+ (else
+ (i64.mul
+ (local.get 0)
+ (call_indirect (type $$over-i64)
+ (i64.sub (local.get 0) (i64.const 1))
+ (i32.const 12)
+ )
+ )
+ )
+ )
+ )
+
+ (func $$fib-i64 (export "fib-i64") (type $$over-i64)
+ (if (result i64) (i64.le_u (local.get 0) (i64.const 1))
+ (then (i64.const 1))
+ (else
+ (i64.add
+ (call_indirect (type $$over-i64)
+ (i64.sub (local.get 0) (i64.const 2))
+ (i32.const 13)
+ )
+ (call_indirect (type $$over-i64)
+ (i64.sub (local.get 0) (i64.const 1))
+ (i32.const 13)
+ )
+ )
+ )
+ )
+ )
+
+ (func $$fac-i32 (export "fac-i32") (type $$over-i32)
+ (if (result i32) (i32.eqz (local.get 0))
+ (then (i32.const 1))
+ (else
+ (i32.mul
+ (local.get 0)
+ (call_indirect (type $$over-i32)
+ (i32.sub (local.get 0) (i32.const 1))
+ (i32.const 23)
+ )
+ )
+ )
+ )
+ )
+
+ (func $$fac-f32 (export "fac-f32") (type $$over-f32)
+ (if (result f32) (f32.eq (local.get 0) (f32.const 0.0))
+ (then (f32.const 1.0))
+ (else
+ (f32.mul
+ (local.get 0)
+ (call_indirect (type $$over-f32)
+ (f32.sub (local.get 0) (f32.const 1.0))
+ (i32.const 24)
+ )
+ )
+ )
+ )
+ )
+
+ (func $$fac-f64 (export "fac-f64") (type $$over-f64)
+ (if (result f64) (f64.eq (local.get 0) (f64.const 0.0))
+ (then (f64.const 1.0))
+ (else
+ (f64.mul
+ (local.get 0)
+ (call_indirect (type $$over-f64)
+ (f64.sub (local.get 0) (f64.const 1.0))
+ (i32.const 25)
+ )
+ )
+ )
+ )
+ )
+
+ (func $$fib-i32 (export "fib-i32") (type $$over-i32)
+ (if (result i32) (i32.le_u (local.get 0) (i32.const 1))
+ (then (i32.const 1))
+ (else
+ (i32.add
+ (call_indirect (type $$over-i32)
+ (i32.sub (local.get 0) (i32.const 2))
+ (i32.const 26)
+ )
+ (call_indirect (type $$over-i32)
+ (i32.sub (local.get 0) (i32.const 1))
+ (i32.const 26)
+ )
+ )
+ )
+ )
+ )
+
+ (func $$fib-f32 (export "fib-f32") (type $$over-f32)
+ (if (result f32) (f32.le (local.get 0) (f32.const 1.0))
+ (then (f32.const 1.0))
+ (else
+ (f32.add
+ (call_indirect (type $$over-f32)
+ (f32.sub (local.get 0) (f32.const 2.0))
+ (i32.const 27)
+ )
+ (call_indirect (type $$over-f32)
+ (f32.sub (local.get 0) (f32.const 1.0))
+ (i32.const 27)
+ )
+ )
+ )
+ )
+ )
+
+ (func $$fib-f64 (export "fib-f64") (type $$over-f64)
+ (if (result f64) (f64.le (local.get 0) (f64.const 1.0))
+ (then (f64.const 1.0))
+ (else
+ (f64.add
+ (call_indirect (type $$over-f64)
+ (f64.sub (local.get 0) (f64.const 2.0))
+ (i32.const 28)
+ )
+ (call_indirect (type $$over-f64)
+ (f64.sub (local.get 0) (f64.const 1.0))
+ (i32.const 28)
+ )
+ )
+ )
+ )
+ )
+
+ (func $$even (export "even") (param i32) (result i32)
+ (if (result i32) (i32.eqz (local.get 0))
+ (then (i32.const 44))
+ (else
+ (call_indirect (type $$over-i32)
+ (i32.sub (local.get 0) (i32.const 1))
+ (i32.const 15)
+ )
+ )
+ )
+ )
+ (func $$odd (export "odd") (param i32) (result i32)
+ (if (result i32) (i32.eqz (local.get 0))
+ (then (i32.const 99))
+ (else
+ (call_indirect (type $$over-i32)
+ (i32.sub (local.get 0) (i32.const 1))
+ (i32.const 14)
+ )
+ )
+ )
+ )
+
+ ;; Stack exhaustion
+
+ ;; Implementations are required to have every call consume some abstract
+ ;; resource towards exhausting some abstract finite limit, such that
+ ;; infinitely recursive test cases reliably trap in finite time. This is
+ ;; because otherwise applications could come to depend on it on those
+ ;; implementations and be incompatible with implementations that don't do
+ ;; it (or don't do it under the same circumstances).
+
+ (func $$runaway (export "runaway") (call_indirect (type $$proc) (i32.const 16)))
+
+ (func $$mutual-runaway1 (export "mutual-runaway") (call_indirect (type $$proc) (i32.const 18)))
+ (func $$mutual-runaway2 (call_indirect (type $$proc) (i32.const 17)))
+
+ ;; As parameter of control constructs and instructions
+
+ (memory 1)
+
+ (func (export "as-select-first") (result i32)
+ (select (call_indirect (type $$out-i32) (i32.const 0)) (i32.const 2) (i32.const 3))
+ )
+ (func (export "as-select-mid") (result i32)
+ (select (i32.const 2) (call_indirect (type $$out-i32) (i32.const 0)) (i32.const 3))
+ )
+ (func (export "as-select-last") (result i32)
+ (select (i32.const 2) (i32.const 3) (call_indirect (type $$out-i32) (i32.const 0)))
+ )
+
+ (func (export "as-if-condition") (result i32)
+ (if (result i32) (call_indirect (type $$out-i32) (i32.const 0)) (then (i32.const 1)) (else (i32.const 2)))
+ )
+
+ (func (export "as-br_if-first") (result i64)
+ (block (result i64) (br_if 0 (call_indirect (type $$out-i64) (i32.const 1)) (i32.const 2)))
+ )
+ (func (export "as-br_if-last") (result i32)
+ (block (result i32) (br_if 0 (i32.const 2) (call_indirect (type $$out-i32) (i32.const 0))))
+ )
+
+ (func (export "as-br_table-first") (result f32)
+ (block (result f32) (call_indirect (type $$out-f32) (i32.const 2)) (i32.const 2) (br_table 0 0))
+ )
+ (func (export "as-br_table-last") (result i32)
+ (block (result i32) (i32.const 2) (call_indirect (type $$out-i32) (i32.const 0)) (br_table 0 0))
+ )
+
+ (func (export "as-store-first")
+ (call_indirect (type $$out-i32) (i32.const 0)) (i32.const 1) (i32.store)
+ )
+ (func (export "as-store-last")
+ (i32.const 10) (call_indirect (type $$out-f64) (i32.const 3)) (f64.store)
+ )
+
+ (func (export "as-memory.grow-value") (result i32)
+ (memory.grow (call_indirect (type $$out-i32) (i32.const 0)))
+ )
+ (func (export "as-return-value") (result i32)
+ (call_indirect (type $$over-i32) (i32.const 1) (i32.const 4)) (return)
+ )
+ (func (export "as-drop-operand")
+ (call_indirect (type $$over-i64) (i64.const 1) (i32.const 5)) (drop)
+ )
+ (func (export "as-br-value") (result f32)
+ (block (result f32) (br 0 (call_indirect (type $$over-f32) (f32.const 1) (i32.const 6))))
+ )
+ (func (export "as-local.set-value") (result f64)
+ (local f64) (local.set 0 (call_indirect (type $$over-f64) (f64.const 1) (i32.const 7))) (local.get 0)
+ )
+ (func (export "as-local.tee-value") (result f64)
+ (local f64) (local.tee 0 (call_indirect (type $$over-f64) (f64.const 1) (i32.const 7)))
+ )
+ (global $$a (mut f64) (f64.const 10.0))
+ (func (export "as-global.set-value") (result f64)
+ (global.set $$a (call_indirect (type $$over-f64) (f64.const 1.0) (i32.const 7)))
+ (global.get $$a)
+ )
+
+ (func (export "as-load-operand") (result i32)
+ (i32.load (call_indirect (type $$out-i32) (i32.const 0)))
+ )
+
+ (func (export "as-unary-operand") (result f32)
+ (block (result f32)
+ (f32.sqrt
+ (call_indirect (type $$over-f32) (f32.const 0x0p+0) (i32.const 6))
+ )
+ )
+ )
+
+ (func (export "as-binary-left") (result i32)
+ (block (result i32)
+ (i32.add
+ (call_indirect (type $$over-i32) (i32.const 1) (i32.const 4))
+ (i32.const 10)
+ )
+ )
+ )
+ (func (export "as-binary-right") (result i32)
+ (block (result i32)
+ (i32.sub
+ (i32.const 10)
+ (call_indirect (type $$over-i32) (i32.const 1) (i32.const 4))
+ )
+ )
+ )
+
+ (func (export "as-test-operand") (result i32)
+ (block (result i32)
+ (i32.eqz
+ (call_indirect (type $$over-i32) (i32.const 1) (i32.const 4))
+ )
+ )
+ )
+
+ (func (export "as-compare-left") (result i32)
+ (block (result i32)
+ (i32.le_u
+ (call_indirect (type $$over-i32) (i32.const 1) (i32.const 4))
+ (i32.const 10)
+ )
+ )
+ )
+ (func (export "as-compare-right") (result i32)
+ (block (result i32)
+ (i32.ne
+ (i32.const 10)
+ (call_indirect (type $$over-i32) (i32.const 1) (i32.const 4))
+ )
+ )
+ )
+
+ (func (export "as-convert-operand") (result i64)
+ (block (result i64)
+ (i64.extend_i32_s
+ (call_indirect (type $$over-i32) (i32.const 1) (i32.const 4))
+ )
+ )
+ )
+
+)`);
+
+// ./test/core/call_indirect.wast:471
+assert_return(() => invoke($0, `type-i32`, []), [value("i32", 306)]);
+
+// ./test/core/call_indirect.wast:472
+assert_return(() => invoke($0, `type-i64`, []), [value("i64", 356n)]);
+
+// ./test/core/call_indirect.wast:473
+assert_return(() => invoke($0, `type-f32`, []), [value("f32", 3890)]);
+
+// ./test/core/call_indirect.wast:474
+assert_return(() => invoke($0, `type-f64`, []), [value("f64", 3940)]);
+
+// ./test/core/call_indirect.wast:475
+assert_return(() => invoke($0, `type-f64-i32`, []), [value("f64", 3940), value("i32", 32)]);
+
+// ./test/core/call_indirect.wast:477
+assert_return(() => invoke($0, `type-index`, []), [value("i64", 100n)]);
+
+// ./test/core/call_indirect.wast:479
+assert_return(() => invoke($0, `type-first-i32`, []), [value("i32", 32)]);
+
+// ./test/core/call_indirect.wast:480
+assert_return(() => invoke($0, `type-first-i64`, []), [value("i64", 64n)]);
+
+// ./test/core/call_indirect.wast:481
+assert_return(() => invoke($0, `type-first-f32`, []), [value("f32", 1.32)]);
+
+// ./test/core/call_indirect.wast:482
+assert_return(() => invoke($0, `type-first-f64`, []), [value("f64", 1.64)]);
+
+// ./test/core/call_indirect.wast:484
+assert_return(() => invoke($0, `type-second-i32`, []), [value("i32", 32)]);
+
+// ./test/core/call_indirect.wast:485
+assert_return(() => invoke($0, `type-second-i64`, []), [value("i64", 64n)]);
+
+// ./test/core/call_indirect.wast:486
+assert_return(() => invoke($0, `type-second-f32`, []), [value("f32", 32)]);
+
+// ./test/core/call_indirect.wast:487
+assert_return(() => invoke($0, `type-second-f64`, []), [value("f64", 64.1)]);
+
+// ./test/core/call_indirect.wast:489
+assert_return(() => invoke($0, `type-all-f64-i32`, []), [value("f64", 3940), value("i32", 32)]);
+
+// ./test/core/call_indirect.wast:490
+assert_return(() => invoke($0, `type-all-i32-f64`, []), [value("i32", 1), value("f64", 2)]);
+
+// ./test/core/call_indirect.wast:491
+assert_return(() => invoke($0, `type-all-i32-i64`, []), [value("i64", 2n), value("i32", 1)]);
+
+// ./test/core/call_indirect.wast:493
+assert_return(() => invoke($0, `dispatch`, [5, 2n]), [value("i64", 2n)]);
+
+// ./test/core/call_indirect.wast:494
+assert_return(() => invoke($0, `dispatch`, [5, 5n]), [value("i64", 5n)]);
+
+// ./test/core/call_indirect.wast:495
+assert_return(() => invoke($0, `dispatch`, [12, 5n]), [value("i64", 120n)]);
+
+// ./test/core/call_indirect.wast:496
+assert_return(() => invoke($0, `dispatch`, [13, 5n]), [value("i64", 8n)]);
+
+// ./test/core/call_indirect.wast:497
+assert_return(() => invoke($0, `dispatch`, [20, 2n]), [value("i64", 2n)]);
+
+// ./test/core/call_indirect.wast:498
+assert_trap(() => invoke($0, `dispatch`, [0, 2n]), `indirect call type mismatch`);
+
+// ./test/core/call_indirect.wast:499
+assert_trap(() => invoke($0, `dispatch`, [15, 2n]), `indirect call type mismatch`);
+
+// ./test/core/call_indirect.wast:500
+assert_trap(() => invoke($0, `dispatch`, [32, 2n]), `undefined element`);
+
+// ./test/core/call_indirect.wast:501
+assert_trap(() => invoke($0, `dispatch`, [-1, 2n]), `undefined element`);
+
+// ./test/core/call_indirect.wast:502
+assert_trap(() => invoke($0, `dispatch`, [1213432423, 2n]), `undefined element`);
+
+// ./test/core/call_indirect.wast:504
+assert_return(() => invoke($0, `dispatch-structural-i64`, [5]), [value("i64", 9n)]);
+
+// ./test/core/call_indirect.wast:505
+assert_return(() => invoke($0, `dispatch-structural-i64`, [12]), [value("i64", 362880n)]);
+
+// ./test/core/call_indirect.wast:506
+assert_return(() => invoke($0, `dispatch-structural-i64`, [13]), [value("i64", 55n)]);
+
+// ./test/core/call_indirect.wast:507
+assert_return(() => invoke($0, `dispatch-structural-i64`, [20]), [value("i64", 9n)]);
+
+// ./test/core/call_indirect.wast:508
+assert_trap(() => invoke($0, `dispatch-structural-i64`, [11]), `indirect call type mismatch`);
+
+// ./test/core/call_indirect.wast:509
+assert_trap(() => invoke($0, `dispatch-structural-i64`, [22]), `indirect call type mismatch`);
+
+// ./test/core/call_indirect.wast:511
+assert_return(() => invoke($0, `dispatch-structural-i32`, [4]), [value("i32", 9)]);
+
+// ./test/core/call_indirect.wast:512
+assert_return(() => invoke($0, `dispatch-structural-i32`, [23]), [value("i32", 362880)]);
+
+// ./test/core/call_indirect.wast:513
+assert_return(() => invoke($0, `dispatch-structural-i32`, [26]), [value("i32", 55)]);
+
+// ./test/core/call_indirect.wast:514
+assert_return(() => invoke($0, `dispatch-structural-i32`, [19]), [value("i32", 9)]);
+
+// ./test/core/call_indirect.wast:515
+assert_trap(() => invoke($0, `dispatch-structural-i32`, [9]), `indirect call type mismatch`);
+
+// ./test/core/call_indirect.wast:516
+assert_trap(() => invoke($0, `dispatch-structural-i32`, [21]), `indirect call type mismatch`);
+
+// ./test/core/call_indirect.wast:518
+assert_return(() => invoke($0, `dispatch-structural-f32`, [6]), [value("f32", 9)]);
+
+// ./test/core/call_indirect.wast:519
+assert_return(() => invoke($0, `dispatch-structural-f32`, [24]), [value("f32", 362880)]);
+
+// ./test/core/call_indirect.wast:520
+assert_return(() => invoke($0, `dispatch-structural-f32`, [27]), [value("f32", 55)]);
+
+// ./test/core/call_indirect.wast:521
+assert_return(() => invoke($0, `dispatch-structural-f32`, [21]), [value("f32", 9)]);
+
+// ./test/core/call_indirect.wast:522
+assert_trap(() => invoke($0, `dispatch-structural-f32`, [8]), `indirect call type mismatch`);
+
+// ./test/core/call_indirect.wast:523
+assert_trap(() => invoke($0, `dispatch-structural-f32`, [19]), `indirect call type mismatch`);
+
+// ./test/core/call_indirect.wast:525
+assert_return(() => invoke($0, `dispatch-structural-f64`, [7]), [value("f64", 9)]);
+
+// ./test/core/call_indirect.wast:526
+assert_return(() => invoke($0, `dispatch-structural-f64`, [25]), [value("f64", 362880)]);
+
+// ./test/core/call_indirect.wast:527
+assert_return(() => invoke($0, `dispatch-structural-f64`, [28]), [value("f64", 55)]);
+
+// ./test/core/call_indirect.wast:528
+assert_return(() => invoke($0, `dispatch-structural-f64`, [22]), [value("f64", 9)]);
+
+// ./test/core/call_indirect.wast:529
+assert_trap(() => invoke($0, `dispatch-structural-f64`, [10]), `indirect call type mismatch`);
+
+// ./test/core/call_indirect.wast:530
+assert_trap(() => invoke($0, `dispatch-structural-f64`, [18]), `indirect call type mismatch`);
+
+// ./test/core/call_indirect.wast:532
+assert_return(() => invoke($0, `fac-i64`, [0n]), [value("i64", 1n)]);
+
+// ./test/core/call_indirect.wast:533
+assert_return(() => invoke($0, `fac-i64`, [1n]), [value("i64", 1n)]);
+
+// ./test/core/call_indirect.wast:534
+assert_return(() => invoke($0, `fac-i64`, [5n]), [value("i64", 120n)]);
+
+// ./test/core/call_indirect.wast:535
+assert_return(() => invoke($0, `fac-i64`, [25n]), [value("i64", 7034535277573963776n)]);
+
+// ./test/core/call_indirect.wast:537
+assert_return(() => invoke($0, `fac-i32`, [0]), [value("i32", 1)]);
+
+// ./test/core/call_indirect.wast:538
+assert_return(() => invoke($0, `fac-i32`, [1]), [value("i32", 1)]);
+
+// ./test/core/call_indirect.wast:539
+assert_return(() => invoke($0, `fac-i32`, [5]), [value("i32", 120)]);
+
+// ./test/core/call_indirect.wast:540
+assert_return(() => invoke($0, `fac-i32`, [10]), [value("i32", 3628800)]);
+
+// ./test/core/call_indirect.wast:542
+assert_return(() => invoke($0, `fac-f32`, [value("f32", 0)]), [value("f32", 1)]);
+
+// ./test/core/call_indirect.wast:543
+assert_return(() => invoke($0, `fac-f32`, [value("f32", 1)]), [value("f32", 1)]);
+
+// ./test/core/call_indirect.wast:544
+assert_return(() => invoke($0, `fac-f32`, [value("f32", 5)]), [value("f32", 120)]);
+
+// ./test/core/call_indirect.wast:545
+assert_return(() => invoke($0, `fac-f32`, [value("f32", 10)]), [value("f32", 3628800)]);
+
+// ./test/core/call_indirect.wast:547
+assert_return(() => invoke($0, `fac-f64`, [value("f64", 0)]), [value("f64", 1)]);
+
+// ./test/core/call_indirect.wast:548
+assert_return(() => invoke($0, `fac-f64`, [value("f64", 1)]), [value("f64", 1)]);
+
+// ./test/core/call_indirect.wast:549
+assert_return(() => invoke($0, `fac-f64`, [value("f64", 5)]), [value("f64", 120)]);
+
+// ./test/core/call_indirect.wast:550
+assert_return(() => invoke($0, `fac-f64`, [value("f64", 10)]), [value("f64", 3628800)]);
+
+// ./test/core/call_indirect.wast:552
+assert_return(() => invoke($0, `fib-i64`, [0n]), [value("i64", 1n)]);
+
+// ./test/core/call_indirect.wast:553
+assert_return(() => invoke($0, `fib-i64`, [1n]), [value("i64", 1n)]);
+
+// ./test/core/call_indirect.wast:554
+assert_return(() => invoke($0, `fib-i64`, [2n]), [value("i64", 2n)]);
+
+// ./test/core/call_indirect.wast:555
+assert_return(() => invoke($0, `fib-i64`, [5n]), [value("i64", 8n)]);
+
+// ./test/core/call_indirect.wast:556
+assert_return(() => invoke($0, `fib-i64`, [20n]), [value("i64", 10946n)]);
+
+// ./test/core/call_indirect.wast:558
+assert_return(() => invoke($0, `fib-i32`, [0]), [value("i32", 1)]);
+
+// ./test/core/call_indirect.wast:559
+assert_return(() => invoke($0, `fib-i32`, [1]), [value("i32", 1)]);
+
+// ./test/core/call_indirect.wast:560
+assert_return(() => invoke($0, `fib-i32`, [2]), [value("i32", 2)]);
+
+// ./test/core/call_indirect.wast:561
+assert_return(() => invoke($0, `fib-i32`, [5]), [value("i32", 8)]);
+
+// ./test/core/call_indirect.wast:562
+assert_return(() => invoke($0, `fib-i32`, [20]), [value("i32", 10946)]);
+
+// ./test/core/call_indirect.wast:564
+assert_return(() => invoke($0, `fib-f32`, [value("f32", 0)]), [value("f32", 1)]);
+
+// ./test/core/call_indirect.wast:565
+assert_return(() => invoke($0, `fib-f32`, [value("f32", 1)]), [value("f32", 1)]);
+
+// ./test/core/call_indirect.wast:566
+assert_return(() => invoke($0, `fib-f32`, [value("f32", 2)]), [value("f32", 2)]);
+
+// ./test/core/call_indirect.wast:567
+assert_return(() => invoke($0, `fib-f32`, [value("f32", 5)]), [value("f32", 8)]);
+
+// ./test/core/call_indirect.wast:568
+assert_return(() => invoke($0, `fib-f32`, [value("f32", 20)]), [value("f32", 10946)]);
+
+// ./test/core/call_indirect.wast:570
+assert_return(() => invoke($0, `fib-f64`, [value("f64", 0)]), [value("f64", 1)]);
+
+// ./test/core/call_indirect.wast:571
+assert_return(() => invoke($0, `fib-f64`, [value("f64", 1)]), [value("f64", 1)]);
+
+// ./test/core/call_indirect.wast:572
+assert_return(() => invoke($0, `fib-f64`, [value("f64", 2)]), [value("f64", 2)]);
+
+// ./test/core/call_indirect.wast:573
+assert_return(() => invoke($0, `fib-f64`, [value("f64", 5)]), [value("f64", 8)]);
+
+// ./test/core/call_indirect.wast:574
+assert_return(() => invoke($0, `fib-f64`, [value("f64", 20)]), [value("f64", 10946)]);
+
+// ./test/core/call_indirect.wast:576
+assert_return(() => invoke($0, `even`, [0]), [value("i32", 44)]);
+
+// ./test/core/call_indirect.wast:577
+assert_return(() => invoke($0, `even`, [1]), [value("i32", 99)]);
+
+// ./test/core/call_indirect.wast:578
+assert_return(() => invoke($0, `even`, [100]), [value("i32", 44)]);
+
+// ./test/core/call_indirect.wast:579
+assert_return(() => invoke($0, `even`, [77]), [value("i32", 99)]);
+
+// ./test/core/call_indirect.wast:580
+assert_return(() => invoke($0, `odd`, [0]), [value("i32", 99)]);
+
+// ./test/core/call_indirect.wast:581
+assert_return(() => invoke($0, `odd`, [1]), [value("i32", 44)]);
+
+// ./test/core/call_indirect.wast:582
+assert_return(() => invoke($0, `odd`, [200]), [value("i32", 99)]);
+
+// ./test/core/call_indirect.wast:583
+assert_return(() => invoke($0, `odd`, [77]), [value("i32", 44)]);
+
+// ./test/core/call_indirect.wast:585
+assert_exhaustion(() => invoke($0, `runaway`, []), `call stack exhausted`);
+
+// ./test/core/call_indirect.wast:586
+assert_exhaustion(() => invoke($0, `mutual-runaway`, []), `call stack exhausted`);
+
+// ./test/core/call_indirect.wast:588
+assert_return(() => invoke($0, `as-select-first`, []), [value("i32", 306)]);
+
+// ./test/core/call_indirect.wast:589
+assert_return(() => invoke($0, `as-select-mid`, []), [value("i32", 2)]);
+
+// ./test/core/call_indirect.wast:590
+assert_return(() => invoke($0, `as-select-last`, []), [value("i32", 2)]);
+
+// ./test/core/call_indirect.wast:592
+assert_return(() => invoke($0, `as-if-condition`, []), [value("i32", 1)]);
+
+// ./test/core/call_indirect.wast:594
+assert_return(() => invoke($0, `as-br_if-first`, []), [value("i64", 356n)]);
+
+// ./test/core/call_indirect.wast:595
+assert_return(() => invoke($0, `as-br_if-last`, []), [value("i32", 2)]);
+
+// ./test/core/call_indirect.wast:597
+assert_return(() => invoke($0, `as-br_table-first`, []), [value("f32", 3890)]);
+
+// ./test/core/call_indirect.wast:598
+assert_return(() => invoke($0, `as-br_table-last`, []), [value("i32", 2)]);
+
+// ./test/core/call_indirect.wast:600
+assert_return(() => invoke($0, `as-store-first`, []), []);
+
+// ./test/core/call_indirect.wast:601
+assert_return(() => invoke($0, `as-store-last`, []), []);
+
+// ./test/core/call_indirect.wast:603
+assert_return(() => invoke($0, `as-memory.grow-value`, []), [value("i32", 1)]);
+
+// ./test/core/call_indirect.wast:604
+assert_return(() => invoke($0, `as-return-value`, []), [value("i32", 1)]);
+
+// ./test/core/call_indirect.wast:605
+assert_return(() => invoke($0, `as-drop-operand`, []), []);
+
+// ./test/core/call_indirect.wast:606
+assert_return(() => invoke($0, `as-br-value`, []), [value("f32", 1)]);
+
+// ./test/core/call_indirect.wast:607
+assert_return(() => invoke($0, `as-local.set-value`, []), [value("f64", 1)]);
+
+// ./test/core/call_indirect.wast:608
+assert_return(() => invoke($0, `as-local.tee-value`, []), [value("f64", 1)]);
+
+// ./test/core/call_indirect.wast:609
+assert_return(() => invoke($0, `as-global.set-value`, []), [value("f64", 1)]);
+
+// ./test/core/call_indirect.wast:610
+assert_return(() => invoke($0, `as-load-operand`, []), [value("i32", 1)]);
+
+// ./test/core/call_indirect.wast:612
+assert_return(() => invoke($0, `as-unary-operand`, []), [value("f32", 0)]);
+
+// ./test/core/call_indirect.wast:613
+assert_return(() => invoke($0, `as-binary-left`, []), [value("i32", 11)]);
+
+// ./test/core/call_indirect.wast:614
+assert_return(() => invoke($0, `as-binary-right`, []), [value("i32", 9)]);
+
+// ./test/core/call_indirect.wast:615
+assert_return(() => invoke($0, `as-test-operand`, []), [value("i32", 0)]);
+
+// ./test/core/call_indirect.wast:616
+assert_return(() => invoke($0, `as-compare-left`, []), [value("i32", 1)]);
+
+// ./test/core/call_indirect.wast:617
+assert_return(() => invoke($0, `as-compare-right`, []), [value("i32", 1)]);
+
+// ./test/core/call_indirect.wast:618
+assert_return(() => invoke($0, `as-convert-operand`, []), [value("i64", 1n)]);
+
+// ./test/core/call_indirect.wast:623
+let $1 = instantiate(`(module
+ (type $$ii-i (func (param i32 i32) (result i32)))
+
+ (table $$t1 funcref (elem $$f $$g))
+ (table $$t2 funcref (elem $$h $$i $$j))
+ (table $$t3 4 funcref)
+ (elem (table $$t3) (i32.const 0) func $$g $$h)
+ (elem (table $$t3) (i32.const 3) func $$z)
+
+ (func $$f (type $$ii-i) (i32.add (local.get 0) (local.get 1)))
+ (func $$g (type $$ii-i) (i32.sub (local.get 0) (local.get 1)))
+ (func $$h (type $$ii-i) (i32.mul (local.get 0) (local.get 1)))
+ (func $$i (type $$ii-i) (i32.div_u (local.get 0) (local.get 1)))
+ (func $$j (type $$ii-i) (i32.rem_u (local.get 0) (local.get 1)))
+ (func $$z)
+
+ (func (export "call-1") (param i32 i32 i32) (result i32)
+ (call_indirect $$t1 (type $$ii-i) (local.get 0) (local.get 1) (local.get 2))
+ )
+ (func (export "call-2") (param i32 i32 i32) (result i32)
+ (call_indirect $$t2 (type $$ii-i) (local.get 0) (local.get 1) (local.get 2))
+ )
+ (func (export "call-3") (param i32 i32 i32) (result i32)
+ (call_indirect $$t3 (type $$ii-i) (local.get 0) (local.get 1) (local.get 2))
+ )
+)`);
+
+// ./test/core/call_indirect.wast:650
+assert_return(() => invoke($1, `call-1`, [2, 3, 0]), [value("i32", 5)]);
+
+// ./test/core/call_indirect.wast:651
+assert_return(() => invoke($1, `call-1`, [2, 3, 1]), [value("i32", -1)]);
+
+// ./test/core/call_indirect.wast:652
+assert_trap(() => invoke($1, `call-1`, [2, 3, 2]), `undefined element`);
+
+// ./test/core/call_indirect.wast:654
+assert_return(() => invoke($1, `call-2`, [2, 3, 0]), [value("i32", 6)]);
+
+// ./test/core/call_indirect.wast:655
+assert_return(() => invoke($1, `call-2`, [2, 3, 1]), [value("i32", 0)]);
+
+// ./test/core/call_indirect.wast:656
+assert_return(() => invoke($1, `call-2`, [2, 3, 2]), [value("i32", 2)]);
+
+// ./test/core/call_indirect.wast:657
+assert_trap(() => invoke($1, `call-2`, [2, 3, 3]), `undefined element`);
+
+// ./test/core/call_indirect.wast:659
+assert_return(() => invoke($1, `call-3`, [2, 3, 0]), [value("i32", -1)]);
+
+// ./test/core/call_indirect.wast:660
+assert_return(() => invoke($1, `call-3`, [2, 3, 1]), [value("i32", 6)]);
+
+// ./test/core/call_indirect.wast:661
+assert_trap(() => invoke($1, `call-3`, [2, 3, 2]), `uninitialized element`);
+
+// ./test/core/call_indirect.wast:662
+assert_trap(() => invoke($1, `call-3`, [2, 3, 3]), `indirect call type mismatch`);
+
+// ./test/core/call_indirect.wast:663
+assert_trap(() => invoke($1, `call-3`, [2, 3, 4]), `undefined element`);
+
+// ./test/core/call_indirect.wast:668
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (table 0 funcref) (func (result i32) (call_indirect (type $$sig) (result i32) (param i32) (i32.const 0) (i32.const 0) ) ) `),
+ `unexpected token`,
+);
+
+// ./test/core/call_indirect.wast:680
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (table 0 funcref) (func (result i32) (call_indirect (param i32) (type $$sig) (result i32) (i32.const 0) (i32.const 0) ) ) `),
+ `unexpected token`,
+);
+
+// ./test/core/call_indirect.wast:692
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (table 0 funcref) (func (result i32) (call_indirect (param i32) (result i32) (type $$sig) (i32.const 0) (i32.const 0) ) ) `),
+ `unexpected token`,
+);
+
+// ./test/core/call_indirect.wast:704
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (table 0 funcref) (func (result i32) (call_indirect (result i32) (type $$sig) (param i32) (i32.const 0) (i32.const 0) ) ) `),
+ `unexpected token`,
+);
+
+// ./test/core/call_indirect.wast:716
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (table 0 funcref) (func (result i32) (call_indirect (result i32) (param i32) (type $$sig) (i32.const 0) (i32.const 0) ) ) `),
+ `unexpected token`,
+);
+
+// ./test/core/call_indirect.wast:728
+assert_malformed(
+ () => instantiate(`(table 0 funcref) (func (result i32) (call_indirect (result i32) (param i32) (i32.const 0) (i32.const 0)) ) `),
+ `unexpected token`,
+);
+
+// ./test/core/call_indirect.wast:738
+assert_malformed(
+ () => instantiate(`(table 0 funcref) (func (call_indirect (param $$x i32) (i32.const 0) (i32.const 0))) `),
+ `unexpected token`,
+);
+
+// ./test/core/call_indirect.wast:745
+assert_malformed(
+ () => instantiate(`(type $$sig (func)) (table 0 funcref) (func (result i32) (call_indirect (type $$sig) (result i32) (i32.const 0)) ) `),
+ `inline function type`,
+);
+
+// ./test/core/call_indirect.wast:755
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (table 0 funcref) (func (result i32) (call_indirect (type $$sig) (result i32) (i32.const 0)) ) `),
+ `inline function type`,
+);
+
+// ./test/core/call_indirect.wast:765
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (table 0 funcref) (func (call_indirect (type $$sig) (param i32) (i32.const 0) (i32.const 0)) ) `),
+ `inline function type`,
+);
+
+// ./test/core/call_indirect.wast:775
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32 i32) (result i32))) (table 0 funcref) (func (result i32) (call_indirect (type $$sig) (param i32) (result i32) (i32.const 0) (i32.const 0) ) ) `),
+ `inline function type`,
+);
+
+// ./test/core/call_indirect.wast:790
+assert_invalid(
+ () => instantiate(`(module
+ (type (func))
+ (func $$no-table (call_indirect (type 0) (i32.const 0)))
+ )`),
+ `unknown table`,
+);
+
+// ./test/core/call_indirect.wast:798
+assert_invalid(
+ () => instantiate(`(module
+ (type (func))
+ (table 0 funcref)
+ (func $$type-void-vs-num (i32.eqz (call_indirect (type 0) (i32.const 0))))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/call_indirect.wast:806
+assert_invalid(
+ () => instantiate(`(module
+ (type (func (result i64)))
+ (table 0 funcref)
+ (func $$type-num-vs-num (i32.eqz (call_indirect (type 0) (i32.const 0))))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/call_indirect.wast:815
+assert_invalid(
+ () => instantiate(`(module
+ (type (func (param i32)))
+ (table 0 funcref)
+ (func $$arity-0-vs-1 (call_indirect (type 0) (i32.const 0)))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/call_indirect.wast:823
+assert_invalid(
+ () => instantiate(`(module
+ (type (func (param f64 i32)))
+ (table 0 funcref)
+ (func $$arity-0-vs-2 (call_indirect (type 0) (i32.const 0)))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/call_indirect.wast:831
+assert_invalid(
+ () => instantiate(`(module
+ (type (func))
+ (table 0 funcref)
+ (func $$arity-1-vs-0 (call_indirect (type 0) (i32.const 1) (i32.const 0)))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/call_indirect.wast:839
+assert_invalid(
+ () => instantiate(`(module
+ (type (func))
+ (table 0 funcref)
+ (func $$arity-2-vs-0
+ (call_indirect (type 0) (f64.const 2) (i32.const 1) (i32.const 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/call_indirect.wast:850
+assert_invalid(
+ () => instantiate(`(module
+ (type (func (param i32)))
+ (table 0 funcref)
+ (func $$type-func-void-vs-i32 (call_indirect (type 0) (i32.const 1) (nop)))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/call_indirect.wast:858
+assert_invalid(
+ () => instantiate(`(module
+ (type (func (param i32)))
+ (table 0 funcref)
+ (func $$type-func-num-vs-i32 (call_indirect (type 0) (i32.const 0) (i64.const 1)))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/call_indirect.wast:867
+assert_invalid(
+ () => instantiate(`(module
+ (type (func (param i32 i32)))
+ (table 0 funcref)
+ (func $$type-first-void-vs-num
+ (call_indirect (type 0) (nop) (i32.const 1) (i32.const 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/call_indirect.wast:877
+assert_invalid(
+ () => instantiate(`(module
+ (type (func (param i32 i32)))
+ (table 0 funcref)
+ (func $$type-second-void-vs-num
+ (call_indirect (type 0) (i32.const 1) (nop) (i32.const 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/call_indirect.wast:887
+assert_invalid(
+ () => instantiate(`(module
+ (type (func (param i32 f64)))
+ (table 0 funcref)
+ (func $$type-first-num-vs-num
+ (call_indirect (type 0) (f64.const 1) (i32.const 1) (i32.const 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/call_indirect.wast:897
+assert_invalid(
+ () => instantiate(`(module
+ (type (func (param f64 i32)))
+ (table 0 funcref)
+ (func $$type-second-num-vs-num
+ (call_indirect (type 0) (i32.const 1) (f64.const 1) (i32.const 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/call_indirect.wast:908
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f (param i32))
+ (type $$sig (func (param i32)))
+ (table funcref (elem $$f))
+ (func $$type-first-empty-in-block
+ (block
+ (call_indirect (type $$sig) (i32.const 0))
+ )
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/call_indirect.wast:921
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f (param i32 i32))
+ (type $$sig (func (param i32 i32)))
+ (table funcref (elem $$f))
+ (func $$type-second-empty-in-block
+ (block
+ (call_indirect (type $$sig) (i32.const 0) (i32.const 0))
+ )
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/call_indirect.wast:934
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f (param i32))
+ (type $$sig (func (param i32)))
+ (table funcref (elem $$f))
+ (func $$type-first-empty-in-loop
+ (loop
+ (call_indirect (type $$sig) (i32.const 0))
+ )
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/call_indirect.wast:947
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f (param i32 i32))
+ (type $$sig (func (param i32 i32)))
+ (table funcref (elem $$f))
+ (func $$type-second-empty-in-loop
+ (loop
+ (call_indirect (type $$sig) (i32.const 0) (i32.const 0))
+ )
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/call_indirect.wast:960
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f (param i32))
+ (type $$sig (func (param i32)))
+ (table funcref (elem $$f))
+ (func $$type-first-empty-in-then
+ (i32.const 0) (i32.const 0)
+ (if
+ (then
+ (call_indirect (type $$sig) (i32.const 0))
+ )
+ )
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/call_indirect.wast:976
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f (param i32 i32))
+ (type $$sig (func (param i32 i32)))
+ (table funcref (elem $$f))
+ (func $$type-second-empty-in-then
+ (i32.const 0) (i32.const 0)
+ (if
+ (then
+ (call_indirect (type $$sig) (i32.const 0) (i32.const 0))
+ )
+ )
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/call_indirect.wast:996
+assert_invalid(
+ () => instantiate(`(module
+ (table 0 funcref)
+ (func $$unbound-type (call_indirect (type 1) (i32.const 0)))
+ )`),
+ `unknown type`,
+);
+
+// ./test/core/call_indirect.wast:1003
+assert_invalid(
+ () => instantiate(`(module
+ (table 0 funcref)
+ (func $$large-type (call_indirect (type 1012321300) (i32.const 0)))
+ )`),
+ `unknown type`,
+);
+
+// ./test/core/call_indirect.wast:1014
+assert_invalid(
+ () => instantiate(`(module (table funcref (elem 0 0)))`),
+ `unknown function`,
+);
+
+// ./test/core/call_indirect.wast:1024
+let $2 = instantiate(`(module
+ (table 1 funcref)
+ (func unreachable call_indirect)
+ (func unreachable call_indirect nop)
+ (func unreachable call_indirect call_indirect)
+ (func unreachable call_indirect (call_indirect))
+ (func unreachable call_indirect call_indirect call_indirect)
+ (func unreachable call_indirect (result))
+ (func unreachable call_indirect (result) (result))
+ (func unreachable call_indirect (result) (result) call_indirect)
+ (func unreachable call_indirect (result) (result) call_indirect (result))
+ (func (result i32) unreachable call_indirect select)
+ (func (result i32) unreachable call_indirect select call_indirect)
+)`);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/comments.wast.js b/js/src/jit-test/tests/wasm/spec/spec/comments.wast.js
new file mode 100644
index 0000000000..8eee0e3cc2
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/comments.wast.js
@@ -0,0 +1,34 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/comments.wast
+
+// ./test/core/comments.wast:10:0
+let $0 = instantiate(`(module;;comment
+)`);
+
+// ./test/core/comments.wast:56:11
+let $1 = instantiate(`(module(;comment;)
+(;comment;))`);
+
+// ./test/core/comments.wast:66
+let $2 = instantiate(`(module
+ (;comment(;nested(;further;)nested;)comment;)
+)`);
+
+// ./test/core/comments.wast:75
+let $3 = instantiate(`(module
+ (;comment;;comment(;nested;)comment;)
+)`);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/const.wast.js b/js/src/jit-test/tests/wasm/spec/spec/const.wast.js
new file mode 100644
index 0000000000..c8c02698da
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/const.wast.js
@@ -0,0 +1,3114 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/const.wast
+
+// ./test/core/const.wast:5
+let $0 = instantiate(`(module (func (i32.const 0_123_456_789) drop))`);
+
+// ./test/core/const.wast:6
+let $1 = instantiate(`(module (func (i32.const 0x0_9acf_fBDF) drop))`);
+
+// ./test/core/const.wast:7
+assert_malformed(() => instantiate(`(func (i32.const) drop) `), `unexpected token`);
+
+// ./test/core/const.wast:11
+assert_malformed(() => instantiate(`(func (i32.const 0x) drop) `), `unknown operator`);
+
+// ./test/core/const.wast:15
+assert_malformed(() => instantiate(`(func (i32.const 1x) drop) `), `unknown operator`);
+
+// ./test/core/const.wast:19
+assert_malformed(() => instantiate(`(func (i32.const 0xg) drop) `), `unknown operator`);
+
+// ./test/core/const.wast:24
+let $2 = instantiate(`(module (func (i64.const 0_123_456_789) drop))`);
+
+// ./test/core/const.wast:25
+let $3 = instantiate(`(module (func (i64.const 0x0125_6789_ADEF_bcef) drop))`);
+
+// ./test/core/const.wast:26
+assert_malformed(() => instantiate(`(func (i64.const) drop) `), `unexpected token`);
+
+// ./test/core/const.wast:30
+assert_malformed(() => instantiate(`(func (i64.const 0x) drop) `), `unknown operator`);
+
+// ./test/core/const.wast:34
+assert_malformed(() => instantiate(`(func (i64.const 1x) drop) `), `unknown operator`);
+
+// ./test/core/const.wast:38
+assert_malformed(() => instantiate(`(func (i64.const 0xg) drop) `), `unknown operator`);
+
+// ./test/core/const.wast:43
+let $4 = instantiate(`(module (func (f32.const 0123456789) drop))`);
+
+// ./test/core/const.wast:44
+let $5 = instantiate(`(module (func (f32.const 0123456789e019) drop))`);
+
+// ./test/core/const.wast:45
+let $6 = instantiate(`(module (func (f32.const 0123456789e+019) drop))`);
+
+// ./test/core/const.wast:46
+let $7 = instantiate(`(module (func (f32.const 0123456789e-019) drop))`);
+
+// ./test/core/const.wast:47
+let $8 = instantiate(`(module (func (f32.const 0123456789.) drop))`);
+
+// ./test/core/const.wast:48
+let $9 = instantiate(`(module (func (f32.const 0123456789.e019) drop))`);
+
+// ./test/core/const.wast:49
+let $10 = instantiate(`(module (func (f32.const 0123456789.e+019) drop))`);
+
+// ./test/core/const.wast:50
+let $11 = instantiate(`(module (func (f32.const 0123456789.e-019) drop))`);
+
+// ./test/core/const.wast:51
+let $12 = instantiate(`(module (func (f32.const 0123456789.0123456789) drop))`);
+
+// ./test/core/const.wast:52
+let $13 = instantiate(`(module (func (f32.const 0123456789.0123456789e019) drop))`);
+
+// ./test/core/const.wast:53
+let $14 = instantiate(`(module (func (f32.const 0123456789.0123456789e+019) drop))`);
+
+// ./test/core/const.wast:54
+let $15 = instantiate(`(module (func (f32.const 0123456789.0123456789e-019) drop))`);
+
+// ./test/core/const.wast:55
+let $16 = instantiate(`(module (func (f32.const 0x0123456789ABCDEF) drop))`);
+
+// ./test/core/const.wast:56
+let $17 = instantiate(`(module (func (f32.const 0x0123456789ABCDEFp019) drop))`);
+
+// ./test/core/const.wast:57
+let $18 = instantiate(`(module (func (f32.const 0x0123456789ABCDEFp+019) drop))`);
+
+// ./test/core/const.wast:58
+let $19 = instantiate(`(module (func (f32.const 0x0123456789ABCDEFp-019) drop))`);
+
+// ./test/core/const.wast:59
+let $20 = instantiate(`(module (func (f32.const 0x0123456789ABCDEF.) drop))`);
+
+// ./test/core/const.wast:60
+let $21 = instantiate(`(module (func (f32.const 0x0123456789ABCDEF.p019) drop))`);
+
+// ./test/core/const.wast:61
+let $22 = instantiate(`(module (func (f32.const 0x0123456789ABCDEF.p+019) drop))`);
+
+// ./test/core/const.wast:62
+let $23 = instantiate(`(module (func (f32.const 0x0123456789ABCDEF.p-019) drop))`);
+
+// ./test/core/const.wast:63
+let $24 = instantiate(`(module (func (f32.const 0x0123456789ABCDEF.019aF) drop))`);
+
+// ./test/core/const.wast:64
+let $25 = instantiate(`(module (func (f32.const 0x0123456789ABCDEF.019aFp019) drop))`);
+
+// ./test/core/const.wast:65
+let $26 = instantiate(`(module (func (f32.const 0x0123456789ABCDEF.019aFp+019) drop))`);
+
+// ./test/core/const.wast:66
+let $27 = instantiate(`(module (func (f32.const 0x0123456789ABCDEF.019aFp-019) drop))`);
+
+// ./test/core/const.wast:67
+assert_malformed(() => instantiate(`(func (f32.const) drop) `), `unexpected token`);
+
+// ./test/core/const.wast:71
+assert_malformed(() => instantiate(`(func (f32.const .0) drop) `), `unknown operator`);
+
+// ./test/core/const.wast:75
+assert_malformed(() => instantiate(`(func (f32.const .0e0) drop) `), `unknown operator`);
+
+// ./test/core/const.wast:79
+assert_malformed(() => instantiate(`(func (f32.const 0e) drop) `), `unknown operator`);
+
+// ./test/core/const.wast:83
+assert_malformed(() => instantiate(`(func (f32.const 0e+) drop) `), `unknown operator`);
+
+// ./test/core/const.wast:87
+assert_malformed(() => instantiate(`(func (f32.const 0.0e) drop) `), `unknown operator`);
+
+// ./test/core/const.wast:91
+assert_malformed(() => instantiate(`(func (f32.const 0.0e-) drop) `), `unknown operator`);
+
+// ./test/core/const.wast:95
+assert_malformed(() => instantiate(`(func (f32.const 0x) drop) `), `unknown operator`);
+
+// ./test/core/const.wast:99
+assert_malformed(() => instantiate(`(func (f32.const 1x) drop) `), `unknown operator`);
+
+// ./test/core/const.wast:103
+assert_malformed(() => instantiate(`(func (f32.const 0xg) drop) `), `unknown operator`);
+
+// ./test/core/const.wast:107
+assert_malformed(() => instantiate(`(func (f32.const 0x.) drop) `), `unknown operator`);
+
+// ./test/core/const.wast:111
+assert_malformed(() => instantiate(`(func (f32.const 0x0.g) drop) `), `unknown operator`);
+
+// ./test/core/const.wast:115
+assert_malformed(() => instantiate(`(func (f32.const 0x0p) drop) `), `unknown operator`);
+
+// ./test/core/const.wast:119
+assert_malformed(() => instantiate(`(func (f32.const 0x0p+) drop) `), `unknown operator`);
+
+// ./test/core/const.wast:123
+assert_malformed(() => instantiate(`(func (f32.const 0x0p-) drop) `), `unknown operator`);
+
+// ./test/core/const.wast:127
+assert_malformed(() => instantiate(`(func (f32.const 0x0.0p) drop) `), `unknown operator`);
+
+// ./test/core/const.wast:131
+assert_malformed(
+ () => instantiate(`(func (f32.const 0x0.0p+) drop) `),
+ `unknown operator`,
+);
+
+// ./test/core/const.wast:135
+assert_malformed(
+ () => instantiate(`(func (f32.const 0x0.0p-) drop) `),
+ `unknown operator`,
+);
+
+// ./test/core/const.wast:139
+assert_malformed(() => instantiate(`(func (f32.const 0x0pA) drop) `), `unknown operator`);
+
+// ./test/core/const.wast:145
+let $28 = instantiate(`(module (func (f64.const 0123456789) drop))`);
+
+// ./test/core/const.wast:146
+let $29 = instantiate(`(module (func (f64.const 0123456789e019) drop))`);
+
+// ./test/core/const.wast:147
+let $30 = instantiate(`(module (func (f64.const 0123456789e+019) drop))`);
+
+// ./test/core/const.wast:148
+let $31 = instantiate(`(module (func (f64.const 0123456789e-019) drop))`);
+
+// ./test/core/const.wast:149
+let $32 = instantiate(`(module (func (f64.const 0123456789.) drop))`);
+
+// ./test/core/const.wast:150
+let $33 = instantiate(`(module (func (f64.const 0123456789.e019) drop))`);
+
+// ./test/core/const.wast:151
+let $34 = instantiate(`(module (func (f64.const 0123456789.e+019) drop))`);
+
+// ./test/core/const.wast:152
+let $35 = instantiate(`(module (func (f64.const 0123456789.e-019) drop))`);
+
+// ./test/core/const.wast:153
+let $36 = instantiate(`(module (func (f64.const 0123456789.0123456789) drop))`);
+
+// ./test/core/const.wast:154
+let $37 = instantiate(`(module (func (f64.const 0123456789.0123456789e019) drop))`);
+
+// ./test/core/const.wast:155
+let $38 = instantiate(`(module (func (f64.const 0123456789.0123456789e+019) drop))`);
+
+// ./test/core/const.wast:156
+let $39 = instantiate(`(module (func (f64.const 0123456789.0123456789e-019) drop))`);
+
+// ./test/core/const.wast:157
+let $40 = instantiate(`(module (func (f64.const 0_1_2_3_4_5_6_7_8_9) drop))`);
+
+// ./test/core/const.wast:158
+let $41 = instantiate(`(module (func (f64.const 0_1_2_3_4_5_6_7_8_9.) drop))`);
+
+// ./test/core/const.wast:159
+let $42 = instantiate(`(module (func (f64.const 0_1_2_3_4_5_6_7_8_9.0_1_2_3_4_5_6_7_8_9) drop))`);
+
+// ./test/core/const.wast:160
+let $43 = instantiate(`(module (func (f64.const 0_1_2_3_4_5_6_7_8_9e+0_1_9) drop))`);
+
+// ./test/core/const.wast:161
+let $44 = instantiate(`(module (func (f64.const 0_1_2_3_4_5_6_7_8_9.e+0_1_9) drop))`);
+
+// ./test/core/const.wast:162
+let $45 = instantiate(`(module (func (f64.const 0_1_2_3_4_5_6_7_8_9.0_1_2_3_4_5_6_7_8_9e0_1_9) drop))`);
+
+// ./test/core/const.wast:164
+let $46 = instantiate(`(module (func (f64.const 0x0123456789ABCDEFabcdef) drop))`);
+
+// ./test/core/const.wast:165
+let $47 = instantiate(`(module (func (f64.const 0x0123456789ABCDEFabcdefp019) drop))`);
+
+// ./test/core/const.wast:166
+let $48 = instantiate(`(module (func (f64.const 0x0123456789ABCDEFabcdefp+019) drop))`);
+
+// ./test/core/const.wast:167
+let $49 = instantiate(`(module (func (f64.const 0x0123456789ABCDEFabcdefp-019) drop))`);
+
+// ./test/core/const.wast:168
+let $50 = instantiate(`(module (func (f64.const 0x0123456789ABCDEFabcdef.) drop))`);
+
+// ./test/core/const.wast:169
+let $51 = instantiate(`(module (func (f64.const 0x0123456789ABCDEFabcdef.p019) drop))`);
+
+// ./test/core/const.wast:170
+let $52 = instantiate(`(module (func (f64.const 0x0123456789ABCDEFabcdef.p+019) drop))`);
+
+// ./test/core/const.wast:171
+let $53 = instantiate(`(module (func (f64.const 0x0123456789ABCDEFabcdef.p-019) drop))`);
+
+// ./test/core/const.wast:172
+let $54 = instantiate(`(module (func (f64.const 0x0123456789ABCDEFabcdef.0123456789ABCDEFabcdef) drop))`);
+
+// ./test/core/const.wast:173
+let $55 = instantiate(`(module (func (f64.const 0x0123456789ABCDEFabcdef.0123456789ABCDEFabcdefp019) drop))`);
+
+// ./test/core/const.wast:174
+let $56 = instantiate(`(module (func (f64.const 0x0123456789ABCDEFabcdef.0123456789ABCDEFabcdefp+019) drop))`);
+
+// ./test/core/const.wast:175
+let $57 = instantiate(`(module (func (f64.const 0x0123456789ABCDEFabcdef.0123456789ABCDEFabcdefp-019) drop))`);
+
+// ./test/core/const.wast:176
+let $58 = instantiate(`(module (func (f64.const 0x0_1_2_3_4_5_6_7_8_9_A_B_C_D_E_F_a_b_c_d_e_f) drop))`);
+
+// ./test/core/const.wast:177
+let $59 = instantiate(`(module (func (f64.const 0x0_1_2_3_4_5_6_7_8_9_A_B_C_D_E_F_a_b_c_d_e_f.) drop))`);
+
+// ./test/core/const.wast:178
+let $60 = instantiate(`(module (func (f64.const 0x0_1_2_3_4_5_6_7_8_9_A_B_C_D_E_F_a_b_c_d_e_f.0_1_2_3_4_5_6_7_8_9_A_B_C_D_E_F_a_b_c_d_e_f) drop))`);
+
+// ./test/core/const.wast:179
+let $61 = instantiate(`(module (func (f64.const 0x0_1_2_3_4_5_6_7_8_9_A_B_C_D_E_F_a_b_c_d_e_fp0_1_9) drop))`);
+
+// ./test/core/const.wast:180
+let $62 = instantiate(`(module (func (f64.const 0x0_1_2_3_4_5_6_7_8_9_A_B_C_D_E_F_a_b_c_d_e_f.p0_1_9) drop))`);
+
+// ./test/core/const.wast:181
+let $63 = instantiate(`(module (func (f64.const 0x0_1_2_3_4_5_6_7_8_9_A_B_C_D_E_F_a_b_c_d_e_f.0_1_2_3_4_5_6_7_8_9_A_B_C_D_E_F_a_b_c_d_e_fp0_1_9) drop))`);
+
+// ./test/core/const.wast:184
+assert_malformed(() => instantiate(`(func (f64.const) drop) `), `unexpected token`);
+
+// ./test/core/const.wast:188
+assert_malformed(() => instantiate(`(func (f64.const .0) drop) `), `unknown operator`);
+
+// ./test/core/const.wast:192
+assert_malformed(() => instantiate(`(func (f64.const .0e0) drop) `), `unknown operator`);
+
+// ./test/core/const.wast:196
+assert_malformed(() => instantiate(`(func (f64.const 0e) drop) `), `unknown operator`);
+
+// ./test/core/const.wast:200
+assert_malformed(() => instantiate(`(func (f64.const 0e+) drop) `), `unknown operator`);
+
+// ./test/core/const.wast:204
+assert_malformed(() => instantiate(`(func (f64.const 0.0e) drop) `), `unknown operator`);
+
+// ./test/core/const.wast:208
+assert_malformed(() => instantiate(`(func (f64.const 0.0e-) drop) `), `unknown operator`);
+
+// ./test/core/const.wast:212
+assert_malformed(() => instantiate(`(func (f64.const 0x) drop) `), `unknown operator`);
+
+// ./test/core/const.wast:216
+assert_malformed(() => instantiate(`(func (f64.const 1x) drop) `), `unknown operator`);
+
+// ./test/core/const.wast:220
+assert_malformed(() => instantiate(`(func (f64.const 0xg) drop) `), `unknown operator`);
+
+// ./test/core/const.wast:224
+assert_malformed(() => instantiate(`(func (f64.const 0x.) drop) `), `unknown operator`);
+
+// ./test/core/const.wast:228
+assert_malformed(() => instantiate(`(func (f64.const 0x0.g) drop) `), `unknown operator`);
+
+// ./test/core/const.wast:232
+assert_malformed(() => instantiate(`(func (f64.const 0x0p) drop) `), `unknown operator`);
+
+// ./test/core/const.wast:236
+assert_malformed(() => instantiate(`(func (f64.const 0x0p+) drop) `), `unknown operator`);
+
+// ./test/core/const.wast:240
+assert_malformed(() => instantiate(`(func (f64.const 0x0p-) drop) `), `unknown operator`);
+
+// ./test/core/const.wast:244
+assert_malformed(() => instantiate(`(func (f64.const 0x0.0p) drop) `), `unknown operator`);
+
+// ./test/core/const.wast:248
+assert_malformed(
+ () => instantiate(`(func (f64.const 0x0.0p+) drop) `),
+ `unknown operator`,
+);
+
+// ./test/core/const.wast:252
+assert_malformed(
+ () => instantiate(`(func (f64.const 0x0.0p-) drop) `),
+ `unknown operator`,
+);
+
+// ./test/core/const.wast:256
+assert_malformed(() => instantiate(`(func (f64.const 0x0pA) drop) `), `unknown operator`);
+
+// ./test/core/const.wast:264
+let $64 = instantiate(`(module (func (i32.const 0xffffffff) drop))`);
+
+// ./test/core/const.wast:265
+let $65 = instantiate(`(module (func (i32.const -0x80000000) drop))`);
+
+// ./test/core/const.wast:266
+assert_malformed(
+ () => instantiate(`(func (i32.const 0x100000000) drop) `),
+ `constant out of range`,
+);
+
+// ./test/core/const.wast:270
+assert_malformed(
+ () => instantiate(`(func (i32.const -0x80000001) drop) `),
+ `constant out of range`,
+);
+
+// ./test/core/const.wast:275
+let $66 = instantiate(`(module (func (i32.const 4294967295) drop))`);
+
+// ./test/core/const.wast:276
+let $67 = instantiate(`(module (func (i32.const -2147483648) drop))`);
+
+// ./test/core/const.wast:277
+assert_malformed(
+ () => instantiate(`(func (i32.const 4294967296) drop) `),
+ `constant out of range`,
+);
+
+// ./test/core/const.wast:281
+assert_malformed(
+ () => instantiate(`(func (i32.const -2147483649) drop) `),
+ `constant out of range`,
+);
+
+// ./test/core/const.wast:286
+let $68 = instantiate(`(module (func (i64.const 0xffffffffffffffff) drop))`);
+
+// ./test/core/const.wast:287
+let $69 = instantiate(`(module (func (i64.const -0x8000000000000000) drop))`);
+
+// ./test/core/const.wast:288
+assert_malformed(
+ () => instantiate(`(func (i64.const 0x10000000000000000) drop) `),
+ `constant out of range`,
+);
+
+// ./test/core/const.wast:292
+assert_malformed(
+ () => instantiate(`(func (i64.const -0x8000000000000001) drop) `),
+ `constant out of range`,
+);
+
+// ./test/core/const.wast:297
+let $70 = instantiate(`(module (func (i64.const 18446744073709551615) drop))`);
+
+// ./test/core/const.wast:298
+let $71 = instantiate(`(module (func (i64.const -9223372036854775808) drop))`);
+
+// ./test/core/const.wast:299
+assert_malformed(
+ () => instantiate(`(func (i64.const 18446744073709551616) drop) `),
+ `constant out of range`,
+);
+
+// ./test/core/const.wast:303
+assert_malformed(
+ () => instantiate(`(func (i64.const -9223372036854775809) drop) `),
+ `constant out of range`,
+);
+
+// ./test/core/const.wast:308
+let $72 = instantiate(`(module (func (f32.const 0x1p127) drop))`);
+
+// ./test/core/const.wast:309
+let $73 = instantiate(`(module (func (f32.const -0x1p127) drop))`);
+
+// ./test/core/const.wast:310
+let $74 = instantiate(`(module (func (f32.const 0x1.fffffep127) drop))`);
+
+// ./test/core/const.wast:311
+let $75 = instantiate(`(module (func (f32.const -0x1.fffffep127) drop))`);
+
+// ./test/core/const.wast:312
+let $76 = instantiate(`(module (func (f32.const 0x1.fffffe7p127) drop))`);
+
+// ./test/core/const.wast:313
+let $77 = instantiate(`(module (func (f32.const -0x1.fffffe7p127) drop))`);
+
+// ./test/core/const.wast:314
+let $78 = instantiate(`(module (func (f32.const 0x1.fffffefffffff8000000p127) drop))`);
+
+// ./test/core/const.wast:315
+let $79 = instantiate(`(module (func (f32.const -0x1.fffffefffffff8000000p127) drop))`);
+
+// ./test/core/const.wast:316
+let $80 = instantiate(`(module (func (f32.const 0x1.fffffefffffffffffffp127) drop))`);
+
+// ./test/core/const.wast:317
+let $81 = instantiate(`(module (func (f32.const -0x1.fffffefffffffffffffp127) drop))`);
+
+// ./test/core/const.wast:318
+assert_malformed(
+ () => instantiate(`(func (f32.const 0x1p128) drop) `),
+ `constant out of range`,
+);
+
+// ./test/core/const.wast:322
+assert_malformed(
+ () => instantiate(`(func (f32.const -0x1p128) drop) `),
+ `constant out of range`,
+);
+
+// ./test/core/const.wast:326
+assert_malformed(
+ () => instantiate(`(func (f32.const 0x1.ffffffp127) drop) `),
+ `constant out of range`,
+);
+
+// ./test/core/const.wast:330
+assert_malformed(
+ () => instantiate(`(func (f32.const -0x1.ffffffp127) drop) `),
+ `constant out of range`,
+);
+
+// ./test/core/const.wast:335
+let $82 = instantiate(`(module (func (f32.const 1e38) drop))`);
+
+// ./test/core/const.wast:336
+let $83 = instantiate(`(module (func (f32.const -1e38) drop))`);
+
+// ./test/core/const.wast:337
+assert_malformed(
+ () => instantiate(`(func (f32.const 1e39) drop) `),
+ `constant out of range`,
+);
+
+// ./test/core/const.wast:341
+assert_malformed(
+ () => instantiate(`(func (f32.const -1e39) drop) `),
+ `constant out of range`,
+);
+
+// ./test/core/const.wast:346
+let $84 = instantiate(`(module (func (f32.const 340282356779733623858607532500980858880) drop))`);
+
+// ./test/core/const.wast:347
+let $85 = instantiate(`(module (func (f32.const -340282356779733623858607532500980858880) drop))`);
+
+// ./test/core/const.wast:348
+assert_malformed(
+ () => instantiate(`(func (f32.const 340282356779733661637539395458142568448) drop) `),
+ `constant out of range`,
+);
+
+// ./test/core/const.wast:352
+assert_malformed(
+ () => instantiate(`(func (f32.const -340282356779733661637539395458142568448) drop) `),
+ `constant out of range`,
+);
+
+// ./test/core/const.wast:357
+let $86 = instantiate(`(module (func (f64.const 0x1p1023) drop))`);
+
+// ./test/core/const.wast:358
+let $87 = instantiate(`(module (func (f64.const -0x1p1023) drop))`);
+
+// ./test/core/const.wast:359
+let $88 = instantiate(`(module (func (f64.const 0x1.fffffffffffffp1023) drop))`);
+
+// ./test/core/const.wast:360
+let $89 = instantiate(`(module (func (f64.const -0x1.fffffffffffffp1023) drop))`);
+
+// ./test/core/const.wast:361
+let $90 = instantiate(`(module (func (f64.const 0x1.fffffffffffff7p1023) drop))`);
+
+// ./test/core/const.wast:362
+let $91 = instantiate(`(module (func (f64.const -0x1.fffffffffffff7p1023) drop))`);
+
+// ./test/core/const.wast:363
+let $92 = instantiate(`(module (func (f64.const 0x1.fffffffffffff7ffffffp1023) drop))`);
+
+// ./test/core/const.wast:364
+let $93 = instantiate(`(module (func (f64.const -0x1.fffffffffffff7ffffffp1023) drop))`);
+
+// ./test/core/const.wast:365
+assert_malformed(
+ () => instantiate(`(func (f64.const 0x1p1024) drop) `),
+ `constant out of range`,
+);
+
+// ./test/core/const.wast:369
+assert_malformed(
+ () => instantiate(`(func (f64.const -0x1p1024) drop) `),
+ `constant out of range`,
+);
+
+// ./test/core/const.wast:373
+assert_malformed(
+ () => instantiate(`(func (f64.const 0x1.fffffffffffff8p1023) drop) `),
+ `constant out of range`,
+);
+
+// ./test/core/const.wast:377
+assert_malformed(
+ () => instantiate(`(func (f64.const -0x1.fffffffffffff8p1023) drop) `),
+ `constant out of range`,
+);
+
+// ./test/core/const.wast:382
+let $94 = instantiate(`(module (func (f64.const 1e308) drop))`);
+
+// ./test/core/const.wast:383
+let $95 = instantiate(`(module (func (f64.const -1e308) drop))`);
+
+// ./test/core/const.wast:384
+assert_malformed(
+ () => instantiate(`(func (f64.const 1e309) drop) `),
+ `constant out of range`,
+);
+
+// ./test/core/const.wast:388
+assert_malformed(
+ () => instantiate(`(func (f64.const -1e309) drop) `),
+ `constant out of range`,
+);
+
+// ./test/core/const.wast:393
+let $96 = instantiate(`(module (func (f64.const 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368) drop))`);
+
+// ./test/core/const.wast:394
+let $97 = instantiate(`(module (func (f64.const -179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368) drop))`);
+
+// ./test/core/const.wast:395
+assert_malformed(
+ () => instantiate(`(func (f64.const 269653970229347356221791135597556535197105851288767494898376215204735891170042808140884337949150317257310688430271573696351481990334196274152701320055306275479074865864826923114368235135583993416113802762682700913456874855354834422248712838998185022412196739306217084753107265771378949821875606039276187287552) drop) `),
+ `constant out of range`,
+);
+
+// ./test/core/const.wast:399
+assert_malformed(
+ () => instantiate(`(func (f64.const -269653970229347356221791135597556535197105851288767494898376215204735891170042808140884337949150317257310688430271573696351481990334196274152701320055306275479074865864826923114368235135583993416113802762682700913456874855354834422248712838998185022412196739306217084753107265771378949821875606039276187287552) drop) `),
+ `constant out of range`,
+);
+
+// ./test/core/const.wast:404
+let $98 = instantiate(`(module (func (f32.const nan:0x1) drop))`);
+
+// ./test/core/const.wast:405
+let $99 = instantiate(`(module (func (f64.const nan:0x1) drop))`);
+
+// ./test/core/const.wast:406
+let $100 = instantiate(`(module (func (f32.const nan:0x7f_ffff) drop))`);
+
+// ./test/core/const.wast:407
+let $101 = instantiate(`(module (func (f64.const nan:0xf_ffff_ffff_ffff) drop))`);
+
+// ./test/core/const.wast:409
+assert_malformed(() => instantiate(`(func (f32.const nan:1) drop) `), `unknown operator`);
+
+// ./test/core/const.wast:413
+assert_malformed(() => instantiate(`(func (f64.const nan:1) drop) `), `unknown operator`);
+
+// ./test/core/const.wast:418
+assert_malformed(
+ () => instantiate(`(func (f32.const nan:0x0) drop) `),
+ `constant out of range`,
+);
+
+// ./test/core/const.wast:422
+assert_malformed(
+ () => instantiate(`(func (f64.const nan:0x0) drop) `),
+ `constant out of range`,
+);
+
+// ./test/core/const.wast:427
+assert_malformed(
+ () => instantiate(`(func (f32.const nan:0x80_0000) drop) `),
+ `constant out of range`,
+);
+
+// ./test/core/const.wast:431
+assert_malformed(
+ () => instantiate(`(func (f64.const nan:0x10_0000_0000_0000) drop) `),
+ `constant out of range`,
+);
+
+// ./test/core/const.wast:440
+let $102 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x1.00000100000000000p-50)))`);
+
+// ./test/core/const.wast:441
+assert_return(() => invoke($102, `f`, []), [value("f32", 0.0000000000000008881784)]);
+
+// ./test/core/const.wast:442
+let $103 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x1.00000100000000000p-50)))`);
+
+// ./test/core/const.wast:443
+assert_return(() => invoke($103, `f`, []), [value("f32", -0.0000000000000008881784)]);
+
+// ./test/core/const.wast:444
+let $104 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x1.00000100000000001p-50)))`);
+
+// ./test/core/const.wast:445
+assert_return(() => invoke($104, `f`, []), [value("f32", 0.0000000000000008881785)]);
+
+// ./test/core/const.wast:446
+let $105 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x1.00000100000000001p-50)))`);
+
+// ./test/core/const.wast:447
+assert_return(() => invoke($105, `f`, []), [value("f32", -0.0000000000000008881785)]);
+
+// ./test/core/const.wast:448
+let $106 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x1.000001fffffffffffp-50)))`);
+
+// ./test/core/const.wast:449
+assert_return(() => invoke($106, `f`, []), [value("f32", 0.0000000000000008881785)]);
+
+// ./test/core/const.wast:450
+let $107 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x1.000001fffffffffffp-50)))`);
+
+// ./test/core/const.wast:451
+assert_return(() => invoke($107, `f`, []), [value("f32", -0.0000000000000008881785)]);
+
+// ./test/core/const.wast:452
+let $108 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x1.00000200000000000p-50)))`);
+
+// ./test/core/const.wast:453
+assert_return(() => invoke($108, `f`, []), [value("f32", 0.0000000000000008881785)]);
+
+// ./test/core/const.wast:454
+let $109 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x1.00000200000000000p-50)))`);
+
+// ./test/core/const.wast:455
+assert_return(() => invoke($109, `f`, []), [value("f32", -0.0000000000000008881785)]);
+
+// ./test/core/const.wast:456
+let $110 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x1.00000200000000001p-50)))`);
+
+// ./test/core/const.wast:457
+assert_return(() => invoke($110, `f`, []), [value("f32", 0.0000000000000008881785)]);
+
+// ./test/core/const.wast:458
+let $111 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x1.00000200000000001p-50)))`);
+
+// ./test/core/const.wast:459
+assert_return(() => invoke($111, `f`, []), [value("f32", -0.0000000000000008881785)]);
+
+// ./test/core/const.wast:460
+let $112 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x1.000002fffffffffffp-50)))`);
+
+// ./test/core/const.wast:461
+assert_return(() => invoke($112, `f`, []), [value("f32", 0.0000000000000008881785)]);
+
+// ./test/core/const.wast:462
+let $113 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x1.000002fffffffffffp-50)))`);
+
+// ./test/core/const.wast:463
+assert_return(() => invoke($113, `f`, []), [value("f32", -0.0000000000000008881785)]);
+
+// ./test/core/const.wast:464
+let $114 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x1.00000300000000000p-50)))`);
+
+// ./test/core/const.wast:465
+assert_return(() => invoke($114, `f`, []), [value("f32", 0.0000000000000008881786)]);
+
+// ./test/core/const.wast:466
+let $115 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x1.00000300000000000p-50)))`);
+
+// ./test/core/const.wast:467
+assert_return(() => invoke($115, `f`, []), [value("f32", -0.0000000000000008881786)]);
+
+// ./test/core/const.wast:468
+let $116 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x1.00000300000000001p-50)))`);
+
+// ./test/core/const.wast:469
+assert_return(() => invoke($116, `f`, []), [value("f32", 0.0000000000000008881786)]);
+
+// ./test/core/const.wast:470
+let $117 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x1.00000300000000001p-50)))`);
+
+// ./test/core/const.wast:471
+assert_return(() => invoke($117, `f`, []), [value("f32", -0.0000000000000008881786)]);
+
+// ./test/core/const.wast:472
+let $118 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x1.000003fffffffffffp-50)))`);
+
+// ./test/core/const.wast:473
+assert_return(() => invoke($118, `f`, []), [value("f32", 0.0000000000000008881786)]);
+
+// ./test/core/const.wast:474
+let $119 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x1.000003fffffffffffp-50)))`);
+
+// ./test/core/const.wast:475
+assert_return(() => invoke($119, `f`, []), [value("f32", -0.0000000000000008881786)]);
+
+// ./test/core/const.wast:476
+let $120 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x1.00000400000000000p-50)))`);
+
+// ./test/core/const.wast:477
+assert_return(() => invoke($120, `f`, []), [value("f32", 0.0000000000000008881786)]);
+
+// ./test/core/const.wast:478
+let $121 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x1.00000400000000000p-50)))`);
+
+// ./test/core/const.wast:479
+assert_return(() => invoke($121, `f`, []), [value("f32", -0.0000000000000008881786)]);
+
+// ./test/core/const.wast:480
+let $122 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x1.00000400000000001p-50)))`);
+
+// ./test/core/const.wast:481
+assert_return(() => invoke($122, `f`, []), [value("f32", 0.0000000000000008881786)]);
+
+// ./test/core/const.wast:482
+let $123 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x1.00000400000000001p-50)))`);
+
+// ./test/core/const.wast:483
+assert_return(() => invoke($123, `f`, []), [value("f32", -0.0000000000000008881786)]);
+
+// ./test/core/const.wast:484
+let $124 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x1.000004fffffffffffp-50)))`);
+
+// ./test/core/const.wast:485
+assert_return(() => invoke($124, `f`, []), [value("f32", 0.0000000000000008881786)]);
+
+// ./test/core/const.wast:486
+let $125 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x1.000004fffffffffffp-50)))`);
+
+// ./test/core/const.wast:487
+assert_return(() => invoke($125, `f`, []), [value("f32", -0.0000000000000008881786)]);
+
+// ./test/core/const.wast:488
+let $126 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x1.00000500000000000p-50)))`);
+
+// ./test/core/const.wast:489
+assert_return(() => invoke($126, `f`, []), [value("f32", 0.0000000000000008881786)]);
+
+// ./test/core/const.wast:490
+let $127 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x1.00000500000000000p-50)))`);
+
+// ./test/core/const.wast:491
+assert_return(() => invoke($127, `f`, []), [value("f32", -0.0000000000000008881786)]);
+
+// ./test/core/const.wast:492
+let $128 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x1.00000500000000001p-50)))`);
+
+// ./test/core/const.wast:493
+assert_return(() => invoke($128, `f`, []), [value("f32", 0.0000000000000008881787)]);
+
+// ./test/core/const.wast:494
+let $129 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x1.00000500000000001p-50)))`);
+
+// ./test/core/const.wast:495
+assert_return(() => invoke($129, `f`, []), [value("f32", -0.0000000000000008881787)]);
+
+// ./test/core/const.wast:497
+let $130 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x4000.004000000p-64)))`);
+
+// ./test/core/const.wast:498
+assert_return(() => invoke($130, `f`, []), [value("f32", 0.0000000000000008881784)]);
+
+// ./test/core/const.wast:499
+let $131 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x4000.004000000p-64)))`);
+
+// ./test/core/const.wast:500
+assert_return(() => invoke($131, `f`, []), [value("f32", -0.0000000000000008881784)]);
+
+// ./test/core/const.wast:501
+let $132 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x4000.004000001p-64)))`);
+
+// ./test/core/const.wast:502
+assert_return(() => invoke($132, `f`, []), [value("f32", 0.0000000000000008881785)]);
+
+// ./test/core/const.wast:503
+let $133 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x4000.004000001p-64)))`);
+
+// ./test/core/const.wast:504
+assert_return(() => invoke($133, `f`, []), [value("f32", -0.0000000000000008881785)]);
+
+// ./test/core/const.wast:505
+let $134 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x4000.007ffffffp-64)))`);
+
+// ./test/core/const.wast:506
+assert_return(() => invoke($134, `f`, []), [value("f32", 0.0000000000000008881785)]);
+
+// ./test/core/const.wast:507
+let $135 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x4000.007ffffffp-64)))`);
+
+// ./test/core/const.wast:508
+assert_return(() => invoke($135, `f`, []), [value("f32", -0.0000000000000008881785)]);
+
+// ./test/core/const.wast:509
+let $136 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x4000.008000000p-64)))`);
+
+// ./test/core/const.wast:510
+assert_return(() => invoke($136, `f`, []), [value("f32", 0.0000000000000008881785)]);
+
+// ./test/core/const.wast:511
+let $137 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x4000.008000000p-64)))`);
+
+// ./test/core/const.wast:512
+assert_return(() => invoke($137, `f`, []), [value("f32", -0.0000000000000008881785)]);
+
+// ./test/core/const.wast:513
+let $138 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x4000.008000001p-64)))`);
+
+// ./test/core/const.wast:514
+assert_return(() => invoke($138, `f`, []), [value("f32", 0.0000000000000008881785)]);
+
+// ./test/core/const.wast:515
+let $139 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x4000.008000001p-64)))`);
+
+// ./test/core/const.wast:516
+assert_return(() => invoke($139, `f`, []), [value("f32", -0.0000000000000008881785)]);
+
+// ./test/core/const.wast:517
+let $140 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x4000.00bffffffp-64)))`);
+
+// ./test/core/const.wast:518
+assert_return(() => invoke($140, `f`, []), [value("f32", 0.0000000000000008881785)]);
+
+// ./test/core/const.wast:519
+let $141 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x4000.00bffffffp-64)))`);
+
+// ./test/core/const.wast:520
+assert_return(() => invoke($141, `f`, []), [value("f32", -0.0000000000000008881785)]);
+
+// ./test/core/const.wast:521
+let $142 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x4000.00c000000p-64)))`);
+
+// ./test/core/const.wast:522
+assert_return(() => invoke($142, `f`, []), [value("f32", 0.0000000000000008881786)]);
+
+// ./test/core/const.wast:523
+let $143 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x4000.00c000000p-64)))`);
+
+// ./test/core/const.wast:524
+assert_return(() => invoke($143, `f`, []), [value("f32", -0.0000000000000008881786)]);
+
+// ./test/core/const.wast:525
+let $144 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x4000.00c000001p-64)))`);
+
+// ./test/core/const.wast:526
+assert_return(() => invoke($144, `f`, []), [value("f32", 0.0000000000000008881786)]);
+
+// ./test/core/const.wast:527
+let $145 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x4000.00c000001p-64)))`);
+
+// ./test/core/const.wast:528
+assert_return(() => invoke($145, `f`, []), [value("f32", -0.0000000000000008881786)]);
+
+// ./test/core/const.wast:529
+let $146 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x4000.00fffffffp-64)))`);
+
+// ./test/core/const.wast:530
+assert_return(() => invoke($146, `f`, []), [value("f32", 0.0000000000000008881786)]);
+
+// ./test/core/const.wast:531
+let $147 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x4000.00fffffffp-64)))`);
+
+// ./test/core/const.wast:532
+assert_return(() => invoke($147, `f`, []), [value("f32", -0.0000000000000008881786)]);
+
+// ./test/core/const.wast:533
+let $148 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x4000.010000001p-64)))`);
+
+// ./test/core/const.wast:534
+assert_return(() => invoke($148, `f`, []), [value("f32", 0.0000000000000008881786)]);
+
+// ./test/core/const.wast:535
+let $149 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x4000.010000001p-64)))`);
+
+// ./test/core/const.wast:536
+assert_return(() => invoke($149, `f`, []), [value("f32", -0.0000000000000008881786)]);
+
+// ./test/core/const.wast:537
+let $150 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x4000.013ffffffp-64)))`);
+
+// ./test/core/const.wast:538
+assert_return(() => invoke($150, `f`, []), [value("f32", 0.0000000000000008881786)]);
+
+// ./test/core/const.wast:539
+let $151 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x4000.013ffffffp-64)))`);
+
+// ./test/core/const.wast:540
+assert_return(() => invoke($151, `f`, []), [value("f32", -0.0000000000000008881786)]);
+
+// ./test/core/const.wast:541
+let $152 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x4000.014000001p-64)))`);
+
+// ./test/core/const.wast:542
+assert_return(() => invoke($152, `f`, []), [value("f32", 0.0000000000000008881787)]);
+
+// ./test/core/const.wast:543
+let $153 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x4000.014000001p-64)))`);
+
+// ./test/core/const.wast:544
+assert_return(() => invoke($153, `f`, []), [value("f32", -0.0000000000000008881787)]);
+
+// ./test/core/const.wast:546
+let $154 = instantiate(`(module (func (export "f") (result f32) (f32.const +8.8817847263968443573e-16)))`);
+
+// ./test/core/const.wast:547
+assert_return(() => invoke($154, `f`, []), [value("f32", 0.0000000000000008881784)]);
+
+// ./test/core/const.wast:548
+let $155 = instantiate(`(module (func (export "f") (result f32) (f32.const -8.8817847263968443573e-16)))`);
+
+// ./test/core/const.wast:549
+assert_return(() => invoke($155, `f`, []), [value("f32", -0.0000000000000008881784)]);
+
+// ./test/core/const.wast:550
+let $156 = instantiate(`(module (func (export "f") (result f32) (f32.const +8.8817847263968443574e-16)))`);
+
+// ./test/core/const.wast:551
+assert_return(() => invoke($156, `f`, []), [value("f32", 0.0000000000000008881785)]);
+
+// ./test/core/const.wast:552
+let $157 = instantiate(`(module (func (export "f") (result f32) (f32.const -8.8817847263968443574e-16)))`);
+
+// ./test/core/const.wast:553
+assert_return(() => invoke($157, `f`, []), [value("f32", -0.0000000000000008881785)]);
+
+// ./test/core/const.wast:554
+let $158 = instantiate(`(module (func (export "f") (result f32) (f32.const +8.8817857851880284252e-16)))`);
+
+// ./test/core/const.wast:555
+assert_return(() => invoke($158, `f`, []), [value("f32", 0.0000000000000008881785)]);
+
+// ./test/core/const.wast:556
+let $159 = instantiate(`(module (func (export "f") (result f32) (f32.const -8.8817857851880284252e-16)))`);
+
+// ./test/core/const.wast:557
+assert_return(() => invoke($159, `f`, []), [value("f32", -0.0000000000000008881785)]);
+
+// ./test/core/const.wast:558
+let $160 = instantiate(`(module (func (export "f") (result f32) (f32.const +8.8817857851880284253e-16)))`);
+
+// ./test/core/const.wast:559
+assert_return(() => invoke($160, `f`, []), [value("f32", 0.0000000000000008881786)]);
+
+// ./test/core/const.wast:560
+let $161 = instantiate(`(module (func (export "f") (result f32) (f32.const -8.8817857851880284253e-16)))`);
+
+// ./test/core/const.wast:561
+assert_return(() => invoke($161, `f`, []), [value("f32", -0.0000000000000008881786)]);
+
+// ./test/core/const.wast:564
+let $162 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x1.00000100000000000p+50)))`);
+
+// ./test/core/const.wast:565
+assert_return(() => invoke($162, `f`, []), [value("f32", 1125899900000000)]);
+
+// ./test/core/const.wast:566
+let $163 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x1.00000100000000000p+50)))`);
+
+// ./test/core/const.wast:567
+assert_return(() => invoke($163, `f`, []), [value("f32", -1125899900000000)]);
+
+// ./test/core/const.wast:568
+let $164 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x1.00000100000000001p+50)))`);
+
+// ./test/core/const.wast:569
+assert_return(() => invoke($164, `f`, []), [value("f32", 1125900000000000)]);
+
+// ./test/core/const.wast:570
+let $165 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x1.00000100000000001p+50)))`);
+
+// ./test/core/const.wast:571
+assert_return(() => invoke($165, `f`, []), [value("f32", -1125900000000000)]);
+
+// ./test/core/const.wast:572
+let $166 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x1.000001fffffffffffp+50)))`);
+
+// ./test/core/const.wast:573
+assert_return(() => invoke($166, `f`, []), [value("f32", 1125900000000000)]);
+
+// ./test/core/const.wast:574
+let $167 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x1.000001fffffffffffp+50)))`);
+
+// ./test/core/const.wast:575
+assert_return(() => invoke($167, `f`, []), [value("f32", -1125900000000000)]);
+
+// ./test/core/const.wast:576
+let $168 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x1.00000200000000000p+50)))`);
+
+// ./test/core/const.wast:577
+assert_return(() => invoke($168, `f`, []), [value("f32", 1125900000000000)]);
+
+// ./test/core/const.wast:578
+let $169 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x1.00000200000000000p+50)))`);
+
+// ./test/core/const.wast:579
+assert_return(() => invoke($169, `f`, []), [value("f32", -1125900000000000)]);
+
+// ./test/core/const.wast:580
+let $170 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x1.00000200000000001p+50)))`);
+
+// ./test/core/const.wast:581
+assert_return(() => invoke($170, `f`, []), [value("f32", 1125900000000000)]);
+
+// ./test/core/const.wast:582
+let $171 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x1.00000200000000001p+50)))`);
+
+// ./test/core/const.wast:583
+assert_return(() => invoke($171, `f`, []), [value("f32", -1125900000000000)]);
+
+// ./test/core/const.wast:584
+let $172 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x1.000002fffffffffffp+50)))`);
+
+// ./test/core/const.wast:585
+assert_return(() => invoke($172, `f`, []), [value("f32", 1125900000000000)]);
+
+// ./test/core/const.wast:586
+let $173 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x1.000002fffffffffffp+50)))`);
+
+// ./test/core/const.wast:587
+assert_return(() => invoke($173, `f`, []), [value("f32", -1125900000000000)]);
+
+// ./test/core/const.wast:588
+let $174 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x1.00000300000000000p+50)))`);
+
+// ./test/core/const.wast:589
+assert_return(() => invoke($174, `f`, []), [value("f32", 1125900200000000)]);
+
+// ./test/core/const.wast:590
+let $175 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x1.00000300000000000p+50)))`);
+
+// ./test/core/const.wast:591
+assert_return(() => invoke($175, `f`, []), [value("f32", -1125900200000000)]);
+
+// ./test/core/const.wast:592
+let $176 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x1.00000300000000001p+50)))`);
+
+// ./test/core/const.wast:593
+assert_return(() => invoke($176, `f`, []), [value("f32", 1125900200000000)]);
+
+// ./test/core/const.wast:594
+let $177 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x1.00000300000000001p+50)))`);
+
+// ./test/core/const.wast:595
+assert_return(() => invoke($177, `f`, []), [value("f32", -1125900200000000)]);
+
+// ./test/core/const.wast:596
+let $178 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x1.000003fffffffffffp+50)))`);
+
+// ./test/core/const.wast:597
+assert_return(() => invoke($178, `f`, []), [value("f32", 1125900200000000)]);
+
+// ./test/core/const.wast:598
+let $179 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x1.000003fffffffffffp+50)))`);
+
+// ./test/core/const.wast:599
+assert_return(() => invoke($179, `f`, []), [value("f32", -1125900200000000)]);
+
+// ./test/core/const.wast:600
+let $180 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x1.00000400000000000p+50)))`);
+
+// ./test/core/const.wast:601
+assert_return(() => invoke($180, `f`, []), [value("f32", 1125900200000000)]);
+
+// ./test/core/const.wast:602
+let $181 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x1.00000400000000000p+50)))`);
+
+// ./test/core/const.wast:603
+assert_return(() => invoke($181, `f`, []), [value("f32", -1125900200000000)]);
+
+// ./test/core/const.wast:604
+let $182 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x1.00000400000000001p+50)))`);
+
+// ./test/core/const.wast:605
+assert_return(() => invoke($182, `f`, []), [value("f32", 1125900200000000)]);
+
+// ./test/core/const.wast:606
+let $183 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x1.00000400000000001p+50)))`);
+
+// ./test/core/const.wast:607
+assert_return(() => invoke($183, `f`, []), [value("f32", -1125900200000000)]);
+
+// ./test/core/const.wast:608
+let $184 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x1.000004fffffffffffp+50)))`);
+
+// ./test/core/const.wast:609
+assert_return(() => invoke($184, `f`, []), [value("f32", 1125900200000000)]);
+
+// ./test/core/const.wast:610
+let $185 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x1.000004fffffffffffp+50)))`);
+
+// ./test/core/const.wast:611
+assert_return(() => invoke($185, `f`, []), [value("f32", -1125900200000000)]);
+
+// ./test/core/const.wast:612
+let $186 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x1.00000500000000000p+50)))`);
+
+// ./test/core/const.wast:613
+assert_return(() => invoke($186, `f`, []), [value("f32", 1125900200000000)]);
+
+// ./test/core/const.wast:614
+let $187 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x1.00000500000000000p+50)))`);
+
+// ./test/core/const.wast:615
+assert_return(() => invoke($187, `f`, []), [value("f32", -1125900200000000)]);
+
+// ./test/core/const.wast:616
+let $188 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x1.00000500000000001p+50)))`);
+
+// ./test/core/const.wast:617
+assert_return(() => invoke($188, `f`, []), [value("f32", 1125900300000000)]);
+
+// ./test/core/const.wast:618
+let $189 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x1.00000500000000001p+50)))`);
+
+// ./test/core/const.wast:619
+assert_return(() => invoke($189, `f`, []), [value("f32", -1125900300000000)]);
+
+// ./test/core/const.wast:621
+let $190 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x4000004000000)))`);
+
+// ./test/core/const.wast:622
+assert_return(() => invoke($190, `f`, []), [value("f32", 1125899900000000)]);
+
+// ./test/core/const.wast:623
+let $191 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x4000004000000)))`);
+
+// ./test/core/const.wast:624
+assert_return(() => invoke($191, `f`, []), [value("f32", -1125899900000000)]);
+
+// ./test/core/const.wast:625
+let $192 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x4000004000001)))`);
+
+// ./test/core/const.wast:626
+assert_return(() => invoke($192, `f`, []), [value("f32", 1125900000000000)]);
+
+// ./test/core/const.wast:627
+let $193 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x4000004000001)))`);
+
+// ./test/core/const.wast:628
+assert_return(() => invoke($193, `f`, []), [value("f32", -1125900000000000)]);
+
+// ./test/core/const.wast:629
+let $194 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x4000007ffffff)))`);
+
+// ./test/core/const.wast:630
+assert_return(() => invoke($194, `f`, []), [value("f32", 1125900000000000)]);
+
+// ./test/core/const.wast:631
+let $195 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x4000007ffffff)))`);
+
+// ./test/core/const.wast:632
+assert_return(() => invoke($195, `f`, []), [value("f32", -1125900000000000)]);
+
+// ./test/core/const.wast:633
+let $196 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x4000008000000)))`);
+
+// ./test/core/const.wast:634
+assert_return(() => invoke($196, `f`, []), [value("f32", 1125900000000000)]);
+
+// ./test/core/const.wast:635
+let $197 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x4000008000000)))`);
+
+// ./test/core/const.wast:636
+assert_return(() => invoke($197, `f`, []), [value("f32", -1125900000000000)]);
+
+// ./test/core/const.wast:637
+let $198 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x4000008000001)))`);
+
+// ./test/core/const.wast:638
+assert_return(() => invoke($198, `f`, []), [value("f32", 1125900000000000)]);
+
+// ./test/core/const.wast:639
+let $199 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x4000008000001)))`);
+
+// ./test/core/const.wast:640
+assert_return(() => invoke($199, `f`, []), [value("f32", -1125900000000000)]);
+
+// ./test/core/const.wast:641
+let $200 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x400000bffffff)))`);
+
+// ./test/core/const.wast:642
+assert_return(() => invoke($200, `f`, []), [value("f32", 1125900000000000)]);
+
+// ./test/core/const.wast:643
+let $201 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x400000bffffff)))`);
+
+// ./test/core/const.wast:644
+assert_return(() => invoke($201, `f`, []), [value("f32", -1125900000000000)]);
+
+// ./test/core/const.wast:645
+let $202 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x400000c000000)))`);
+
+// ./test/core/const.wast:646
+assert_return(() => invoke($202, `f`, []), [value("f32", 1125900200000000)]);
+
+// ./test/core/const.wast:647
+let $203 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x400000c000000)))`);
+
+// ./test/core/const.wast:648
+assert_return(() => invoke($203, `f`, []), [value("f32", -1125900200000000)]);
+
+// ./test/core/const.wast:650
+let $204 = instantiate(`(module (func (export "f") (result f32) (f32.const +1125899973951488)))`);
+
+// ./test/core/const.wast:651
+assert_return(() => invoke($204, `f`, []), [value("f32", 1125899900000000)]);
+
+// ./test/core/const.wast:652
+let $205 = instantiate(`(module (func (export "f") (result f32) (f32.const -1125899973951488)))`);
+
+// ./test/core/const.wast:653
+assert_return(() => invoke($205, `f`, []), [value("f32", -1125899900000000)]);
+
+// ./test/core/const.wast:654
+let $206 = instantiate(`(module (func (export "f") (result f32) (f32.const +1125899973951489)))`);
+
+// ./test/core/const.wast:655
+assert_return(() => invoke($206, `f`, []), [value("f32", 1125900000000000)]);
+
+// ./test/core/const.wast:656
+let $207 = instantiate(`(module (func (export "f") (result f32) (f32.const -1125899973951489)))`);
+
+// ./test/core/const.wast:657
+assert_return(() => invoke($207, `f`, []), [value("f32", -1125900000000000)]);
+
+// ./test/core/const.wast:658
+let $208 = instantiate(`(module (func (export "f") (result f32) (f32.const +1125900108169215)))`);
+
+// ./test/core/const.wast:659
+assert_return(() => invoke($208, `f`, []), [value("f32", 1125900000000000)]);
+
+// ./test/core/const.wast:660
+let $209 = instantiate(`(module (func (export "f") (result f32) (f32.const -1125900108169215)))`);
+
+// ./test/core/const.wast:661
+assert_return(() => invoke($209, `f`, []), [value("f32", -1125900000000000)]);
+
+// ./test/core/const.wast:662
+let $210 = instantiate(`(module (func (export "f") (result f32) (f32.const +1125900108169216)))`);
+
+// ./test/core/const.wast:663
+assert_return(() => invoke($210, `f`, []), [value("f32", 1125900200000000)]);
+
+// ./test/core/const.wast:664
+let $211 = instantiate(`(module (func (export "f") (result f32) (f32.const -1125900108169216)))`);
+
+// ./test/core/const.wast:665
+assert_return(() => invoke($211, `f`, []), [value("f32", -1125900200000000)]);
+
+// ./test/core/const.wast:668
+let $212 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x0.00000100000000000p-126)))`);
+
+// ./test/core/const.wast:669
+assert_return(() => invoke($212, `f`, []), [value("f32", 0)]);
+
+// ./test/core/const.wast:670
+let $213 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x0.00000100000000000p-126)))`);
+
+// ./test/core/const.wast:671
+assert_return(() => invoke($213, `f`, []), [value("f32", -0)]);
+
+// ./test/core/const.wast:672
+let $214 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x0.00000100000000001p-126)))`);
+
+// ./test/core/const.wast:673
+assert_return(
+ () => invoke($214, `f`, []),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/const.wast:674
+let $215 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x0.00000100000000001p-126)))`);
+
+// ./test/core/const.wast:675
+assert_return(
+ () => invoke($215, `f`, []),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/const.wast:676
+let $216 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x0.000001fffffffffffp-126)))`);
+
+// ./test/core/const.wast:677
+assert_return(
+ () => invoke($216, `f`, []),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/const.wast:678
+let $217 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x0.000001fffffffffffp-126)))`);
+
+// ./test/core/const.wast:679
+assert_return(
+ () => invoke($217, `f`, []),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/const.wast:680
+let $218 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x0.00000200000000000p-126)))`);
+
+// ./test/core/const.wast:681
+assert_return(
+ () => invoke($218, `f`, []),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/const.wast:682
+let $219 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x0.00000200000000000p-126)))`);
+
+// ./test/core/const.wast:683
+assert_return(
+ () => invoke($219, `f`, []),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/const.wast:684
+let $220 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x0.00000200000000001p-126)))`);
+
+// ./test/core/const.wast:685
+assert_return(
+ () => invoke($220, `f`, []),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/const.wast:686
+let $221 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x0.00000200000000001p-126)))`);
+
+// ./test/core/const.wast:687
+assert_return(
+ () => invoke($221, `f`, []),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/const.wast:688
+let $222 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x0.000002fffffffffffp-126)))`);
+
+// ./test/core/const.wast:689
+assert_return(
+ () => invoke($222, `f`, []),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/const.wast:690
+let $223 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x0.000002fffffffffffp-126)))`);
+
+// ./test/core/const.wast:691
+assert_return(
+ () => invoke($223, `f`, []),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/const.wast:692
+let $224 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x0.00000300000000000p-126)))`);
+
+// ./test/core/const.wast:693
+assert_return(
+ () => invoke($224, `f`, []),
+ [value("f32", 0.000000000000000000000000000000000000000000003)],
+);
+
+// ./test/core/const.wast:694
+let $225 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x0.00000300000000000p-126)))`);
+
+// ./test/core/const.wast:695
+assert_return(
+ () => invoke($225, `f`, []),
+ [value("f32", -0.000000000000000000000000000000000000000000003)],
+);
+
+// ./test/core/const.wast:696
+let $226 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x0.00000300000000001p-126)))`);
+
+// ./test/core/const.wast:697
+assert_return(
+ () => invoke($226, `f`, []),
+ [value("f32", 0.000000000000000000000000000000000000000000003)],
+);
+
+// ./test/core/const.wast:698
+let $227 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x0.00000300000000001p-126)))`);
+
+// ./test/core/const.wast:699
+assert_return(
+ () => invoke($227, `f`, []),
+ [value("f32", -0.000000000000000000000000000000000000000000003)],
+);
+
+// ./test/core/const.wast:700
+let $228 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x0.000003fffffffffffp-126)))`);
+
+// ./test/core/const.wast:701
+assert_return(
+ () => invoke($228, `f`, []),
+ [value("f32", 0.000000000000000000000000000000000000000000003)],
+);
+
+// ./test/core/const.wast:702
+let $229 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x0.000003fffffffffffp-126)))`);
+
+// ./test/core/const.wast:703
+assert_return(
+ () => invoke($229, `f`, []),
+ [value("f32", -0.000000000000000000000000000000000000000000003)],
+);
+
+// ./test/core/const.wast:704
+let $230 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x0.00000400000000000p-126)))`);
+
+// ./test/core/const.wast:705
+assert_return(
+ () => invoke($230, `f`, []),
+ [value("f32", 0.000000000000000000000000000000000000000000003)],
+);
+
+// ./test/core/const.wast:706
+let $231 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x0.00000400000000000p-126)))`);
+
+// ./test/core/const.wast:707
+assert_return(
+ () => invoke($231, `f`, []),
+ [value("f32", -0.000000000000000000000000000000000000000000003)],
+);
+
+// ./test/core/const.wast:708
+let $232 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x0.00000400000000001p-126)))`);
+
+// ./test/core/const.wast:709
+assert_return(
+ () => invoke($232, `f`, []),
+ [value("f32", 0.000000000000000000000000000000000000000000003)],
+);
+
+// ./test/core/const.wast:710
+let $233 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x0.00000400000000001p-126)))`);
+
+// ./test/core/const.wast:711
+assert_return(
+ () => invoke($233, `f`, []),
+ [value("f32", -0.000000000000000000000000000000000000000000003)],
+);
+
+// ./test/core/const.wast:712
+let $234 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x0.000004fffffffffffp-126)))`);
+
+// ./test/core/const.wast:713
+assert_return(
+ () => invoke($234, `f`, []),
+ [value("f32", 0.000000000000000000000000000000000000000000003)],
+);
+
+// ./test/core/const.wast:714
+let $235 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x0.000004fffffffffffp-126)))`);
+
+// ./test/core/const.wast:715
+assert_return(
+ () => invoke($235, `f`, []),
+ [value("f32", -0.000000000000000000000000000000000000000000003)],
+);
+
+// ./test/core/const.wast:716
+let $236 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x0.00000500000000000p-126)))`);
+
+// ./test/core/const.wast:717
+assert_return(
+ () => invoke($236, `f`, []),
+ [value("f32", 0.000000000000000000000000000000000000000000003)],
+);
+
+// ./test/core/const.wast:718
+let $237 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x0.00000500000000000p-126)))`);
+
+// ./test/core/const.wast:719
+assert_return(
+ () => invoke($237, `f`, []),
+ [value("f32", -0.000000000000000000000000000000000000000000003)],
+);
+
+// ./test/core/const.wast:720
+let $238 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x0.00000500000000001p-126)))`);
+
+// ./test/core/const.wast:721
+assert_return(
+ () => invoke($238, `f`, []),
+ [value("f32", 0.000000000000000000000000000000000000000000004)],
+);
+
+// ./test/core/const.wast:722
+let $239 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x0.00000500000000001p-126)))`);
+
+// ./test/core/const.wast:723
+assert_return(
+ () => invoke($239, `f`, []),
+ [value("f32", -0.000000000000000000000000000000000000000000004)],
+);
+
+// ./test/core/const.wast:726
+let $240 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x1.fffffe8p127)))`);
+
+// ./test/core/const.wast:727
+assert_return(() => invoke($240, `f`, []), [value("f32", 340282350000000000000000000000000000000)]);
+
+// ./test/core/const.wast:728
+let $241 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x1.fffffe8p127)))`);
+
+// ./test/core/const.wast:729
+assert_return(() => invoke($241, `f`, []), [value("f32", -340282350000000000000000000000000000000)]);
+
+// ./test/core/const.wast:730
+let $242 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x1.fffffefffffff8p127)))`);
+
+// ./test/core/const.wast:731
+assert_return(() => invoke($242, `f`, []), [value("f32", 340282350000000000000000000000000000000)]);
+
+// ./test/core/const.wast:732
+let $243 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x1.fffffefffffff8p127)))`);
+
+// ./test/core/const.wast:733
+assert_return(() => invoke($243, `f`, []), [value("f32", -340282350000000000000000000000000000000)]);
+
+// ./test/core/const.wast:734
+let $244 = instantiate(`(module (func (export "f") (result f32) (f32.const +0x1.fffffefffffffffffp127)))`);
+
+// ./test/core/const.wast:735
+assert_return(() => invoke($244, `f`, []), [value("f32", 340282350000000000000000000000000000000)]);
+
+// ./test/core/const.wast:736
+let $245 = instantiate(`(module (func (export "f") (result f32) (f32.const -0x1.fffffefffffffffffp127)))`);
+
+// ./test/core/const.wast:737
+assert_return(() => invoke($245, `f`, []), [value("f32", -340282350000000000000000000000000000000)]);
+
+// ./test/core/const.wast:740
+let $246 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x1.000000000000080000000000p-600)))`);
+
+// ./test/core/const.wast:741
+assert_return(
+ () => invoke($246, `f`, []),
+ [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002409919865102884),
+ ],
+);
+
+// ./test/core/const.wast:742
+let $247 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x1.000000000000080000000000p-600)))`);
+
+// ./test/core/const.wast:743
+assert_return(
+ () => invoke($247, `f`, []),
+ [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002409919865102884),
+ ],
+);
+
+// ./test/core/const.wast:744
+let $248 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x1.000000000000080000000001p-600)))`);
+
+// ./test/core/const.wast:745
+assert_return(
+ () => invoke($248, `f`, []),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024099198651028847),
+ ],
+);
+
+// ./test/core/const.wast:746
+let $249 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x1.000000000000080000000001p-600)))`);
+
+// ./test/core/const.wast:747
+assert_return(
+ () => invoke($249, `f`, []),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024099198651028847),
+ ],
+);
+
+// ./test/core/const.wast:748
+let $250 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x1.0000000000000fffffffffffp-600)))`);
+
+// ./test/core/const.wast:749
+assert_return(
+ () => invoke($250, `f`, []),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024099198651028847),
+ ],
+);
+
+// ./test/core/const.wast:750
+let $251 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x1.0000000000000fffffffffffp-600)))`);
+
+// ./test/core/const.wast:751
+assert_return(
+ () => invoke($251, `f`, []),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024099198651028847),
+ ],
+);
+
+// ./test/core/const.wast:752
+let $252 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x1.000000000000100000000000p-600)))`);
+
+// ./test/core/const.wast:753
+assert_return(
+ () => invoke($252, `f`, []),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024099198651028847),
+ ],
+);
+
+// ./test/core/const.wast:754
+let $253 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x1.000000000000100000000000p-600)))`);
+
+// ./test/core/const.wast:755
+assert_return(
+ () => invoke($253, `f`, []),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024099198651028847),
+ ],
+);
+
+// ./test/core/const.wast:756
+let $254 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x1.000000000000100000000001p-600)))`);
+
+// ./test/core/const.wast:757
+assert_return(
+ () => invoke($254, `f`, []),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024099198651028847),
+ ],
+);
+
+// ./test/core/const.wast:758
+let $255 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x1.000000000000100000000001p-600)))`);
+
+// ./test/core/const.wast:759
+assert_return(
+ () => invoke($255, `f`, []),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024099198651028847),
+ ],
+);
+
+// ./test/core/const.wast:760
+let $256 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x1.00000000000017ffffffffffp-600)))`);
+
+// ./test/core/const.wast:761
+assert_return(
+ () => invoke($256, `f`, []),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024099198651028847),
+ ],
+);
+
+// ./test/core/const.wast:762
+let $257 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x1.00000000000017ffffffffffp-600)))`);
+
+// ./test/core/const.wast:763
+assert_return(
+ () => invoke($257, `f`, []),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024099198651028847),
+ ],
+);
+
+// ./test/core/const.wast:764
+let $258 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x1.000000000000180000000000p-600)))`);
+
+// ./test/core/const.wast:765
+assert_return(
+ () => invoke($258, `f`, []),
+ [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002409919865102885),
+ ],
+);
+
+// ./test/core/const.wast:766
+let $259 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x1.000000000000180000000000p-600)))`);
+
+// ./test/core/const.wast:767
+assert_return(
+ () => invoke($259, `f`, []),
+ [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002409919865102885),
+ ],
+);
+
+// ./test/core/const.wast:768
+let $260 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x1.000000000000180000000001p-600)))`);
+
+// ./test/core/const.wast:769
+assert_return(
+ () => invoke($260, `f`, []),
+ [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002409919865102885),
+ ],
+);
+
+// ./test/core/const.wast:770
+let $261 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x1.000000000000180000000001p-600)))`);
+
+// ./test/core/const.wast:771
+assert_return(
+ () => invoke($261, `f`, []),
+ [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002409919865102885),
+ ],
+);
+
+// ./test/core/const.wast:772
+let $262 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x1.0000000000001fffffffffffp-600)))`);
+
+// ./test/core/const.wast:773
+assert_return(
+ () => invoke($262, `f`, []),
+ [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002409919865102885),
+ ],
+);
+
+// ./test/core/const.wast:774
+let $263 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x1.0000000000001fffffffffffp-600)))`);
+
+// ./test/core/const.wast:775
+assert_return(
+ () => invoke($263, `f`, []),
+ [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002409919865102885),
+ ],
+);
+
+// ./test/core/const.wast:776
+let $264 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x1.000000000000200000000000p-600)))`);
+
+// ./test/core/const.wast:777
+assert_return(
+ () => invoke($264, `f`, []),
+ [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002409919865102885),
+ ],
+);
+
+// ./test/core/const.wast:778
+let $265 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x1.000000000000200000000000p-600)))`);
+
+// ./test/core/const.wast:779
+assert_return(
+ () => invoke($265, `f`, []),
+ [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002409919865102885),
+ ],
+);
+
+// ./test/core/const.wast:780
+let $266 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x1.000000000000200000000001p-600)))`);
+
+// ./test/core/const.wast:781
+assert_return(
+ () => invoke($266, `f`, []),
+ [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002409919865102885),
+ ],
+);
+
+// ./test/core/const.wast:782
+let $267 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x1.000000000000200000000001p-600)))`);
+
+// ./test/core/const.wast:783
+assert_return(
+ () => invoke($267, `f`, []),
+ [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002409919865102885),
+ ],
+);
+
+// ./test/core/const.wast:784
+let $268 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x1.00000000000027ffffffffffp-600)))`);
+
+// ./test/core/const.wast:785
+assert_return(
+ () => invoke($268, `f`, []),
+ [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002409919865102885),
+ ],
+);
+
+// ./test/core/const.wast:786
+let $269 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x1.00000000000027ffffffffffp-600)))`);
+
+// ./test/core/const.wast:787
+assert_return(
+ () => invoke($269, `f`, []),
+ [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002409919865102885),
+ ],
+);
+
+// ./test/core/const.wast:788
+let $270 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x1.000000000000280000000001p-600)))`);
+
+// ./test/core/const.wast:789
+assert_return(
+ () => invoke($270, `f`, []),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024099198651028857),
+ ],
+);
+
+// ./test/core/const.wast:790
+let $271 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x1.000000000000280000000001p-600)))`);
+
+// ./test/core/const.wast:791
+assert_return(
+ () => invoke($271, `f`, []),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024099198651028857),
+ ],
+);
+
+// ./test/core/const.wast:793
+let $272 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x8000000.000000400000000000p-627)))`);
+
+// ./test/core/const.wast:794
+assert_return(
+ () => invoke($272, `f`, []),
+ [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002409919865102884),
+ ],
+);
+
+// ./test/core/const.wast:795
+let $273 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x8000000.000000400000000000p-627)))`);
+
+// ./test/core/const.wast:796
+assert_return(
+ () => invoke($273, `f`, []),
+ [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002409919865102884),
+ ],
+);
+
+// ./test/core/const.wast:797
+let $274 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x8000000.000000400000000001p-627)))`);
+
+// ./test/core/const.wast:798
+assert_return(
+ () => invoke($274, `f`, []),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024099198651028847),
+ ],
+);
+
+// ./test/core/const.wast:799
+let $275 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x8000000.000000400000000001p-627)))`);
+
+// ./test/core/const.wast:800
+assert_return(
+ () => invoke($275, `f`, []),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024099198651028847),
+ ],
+);
+
+// ./test/core/const.wast:801
+let $276 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x8000000.0000007fffffffffffp-627)))`);
+
+// ./test/core/const.wast:802
+assert_return(
+ () => invoke($276, `f`, []),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024099198651028847),
+ ],
+);
+
+// ./test/core/const.wast:803
+let $277 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x8000000.0000007fffffffffffp-627)))`);
+
+// ./test/core/const.wast:804
+assert_return(
+ () => invoke($277, `f`, []),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024099198651028847),
+ ],
+);
+
+// ./test/core/const.wast:805
+let $278 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x8000000.000000800000000000p-627)))`);
+
+// ./test/core/const.wast:806
+assert_return(
+ () => invoke($278, `f`, []),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024099198651028847),
+ ],
+);
+
+// ./test/core/const.wast:807
+let $279 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x8000000.000000800000000000p-627)))`);
+
+// ./test/core/const.wast:808
+assert_return(
+ () => invoke($279, `f`, []),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024099198651028847),
+ ],
+);
+
+// ./test/core/const.wast:809
+let $280 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x8000000.000000800000000001p-627)))`);
+
+// ./test/core/const.wast:810
+assert_return(
+ () => invoke($280, `f`, []),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024099198651028847),
+ ],
+);
+
+// ./test/core/const.wast:811
+let $281 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x8000000.000000800000000001p-627)))`);
+
+// ./test/core/const.wast:812
+assert_return(
+ () => invoke($281, `f`, []),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024099198651028847),
+ ],
+);
+
+// ./test/core/const.wast:813
+let $282 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x8000000.000000bfffffffffffp-627)))`);
+
+// ./test/core/const.wast:814
+assert_return(
+ () => invoke($282, `f`, []),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024099198651028847),
+ ],
+);
+
+// ./test/core/const.wast:815
+let $283 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x8000000.000000bfffffffffffp-627)))`);
+
+// ./test/core/const.wast:816
+assert_return(
+ () => invoke($283, `f`, []),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024099198651028847),
+ ],
+);
+
+// ./test/core/const.wast:817
+let $284 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x8000000.000000c00000000000p-627)))`);
+
+// ./test/core/const.wast:818
+assert_return(
+ () => invoke($284, `f`, []),
+ [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002409919865102885),
+ ],
+);
+
+// ./test/core/const.wast:819
+let $285 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x8000000.000000c00000000000p-627)))`);
+
+// ./test/core/const.wast:820
+assert_return(
+ () => invoke($285, `f`, []),
+ [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002409919865102885),
+ ],
+);
+
+// ./test/core/const.wast:821
+let $286 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x8000000.000000c00000000001p-627)))`);
+
+// ./test/core/const.wast:822
+assert_return(
+ () => invoke($286, `f`, []),
+ [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002409919865102885),
+ ],
+);
+
+// ./test/core/const.wast:823
+let $287 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x8000000.000000c00000000001p-627)))`);
+
+// ./test/core/const.wast:824
+assert_return(
+ () => invoke($287, `f`, []),
+ [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002409919865102885),
+ ],
+);
+
+// ./test/core/const.wast:825
+let $288 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x8000000.000000ffffffffffffp-627)))`);
+
+// ./test/core/const.wast:826
+assert_return(
+ () => invoke($288, `f`, []),
+ [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002409919865102885),
+ ],
+);
+
+// ./test/core/const.wast:827
+let $289 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x8000000.000000ffffffffffffp-627)))`);
+
+// ./test/core/const.wast:828
+assert_return(
+ () => invoke($289, `f`, []),
+ [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002409919865102885),
+ ],
+);
+
+// ./test/core/const.wast:829
+let $290 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x8000000.000001000000000000p-627)))`);
+
+// ./test/core/const.wast:830
+assert_return(
+ () => invoke($290, `f`, []),
+ [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002409919865102885),
+ ],
+);
+
+// ./test/core/const.wast:831
+let $291 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x8000000.000001000000000000p-627)))`);
+
+// ./test/core/const.wast:832
+assert_return(
+ () => invoke($291, `f`, []),
+ [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002409919865102885),
+ ],
+);
+
+// ./test/core/const.wast:833
+let $292 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x8000000.000001000000000001p-627)))`);
+
+// ./test/core/const.wast:834
+assert_return(
+ () => invoke($292, `f`, []),
+ [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002409919865102885),
+ ],
+);
+
+// ./test/core/const.wast:835
+let $293 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x8000000.000001000000000001p-627)))`);
+
+// ./test/core/const.wast:836
+assert_return(
+ () => invoke($293, `f`, []),
+ [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002409919865102885),
+ ],
+);
+
+// ./test/core/const.wast:837
+let $294 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x8000000.0000013fffffffffffp-627)))`);
+
+// ./test/core/const.wast:838
+assert_return(
+ () => invoke($294, `f`, []),
+ [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002409919865102885),
+ ],
+);
+
+// ./test/core/const.wast:839
+let $295 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x8000000.0000013fffffffffffp-627)))`);
+
+// ./test/core/const.wast:840
+assert_return(
+ () => invoke($295, `f`, []),
+ [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002409919865102885),
+ ],
+);
+
+// ./test/core/const.wast:841
+let $296 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x8000000.000001400000000001p-627)))`);
+
+// ./test/core/const.wast:842
+assert_return(
+ () => invoke($296, `f`, []),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024099198651028857),
+ ],
+);
+
+// ./test/core/const.wast:843
+let $297 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x8000000.000001400000000001p-627)))`);
+
+// ./test/core/const.wast:844
+assert_return(
+ () => invoke($297, `f`, []),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024099198651028857),
+ ],
+);
+
+// ./test/core/const.wast:846
+let $298 = instantiate(`(module (func (export "f") (result f64) (f64.const +5.3575430359313371995e+300)))`);
+
+// ./test/core/const.wast:847
+assert_return(
+ () => invoke($298, `f`, []),
+ [
+ value("f64", 5357543035931337000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/const.wast:848
+let $299 = instantiate(`(module (func (export "f") (result f64) (f64.const -5.3575430359313371995e+300)))`);
+
+// ./test/core/const.wast:849
+assert_return(
+ () => invoke($299, `f`, []),
+ [
+ value("f64", -5357543035931337000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/const.wast:850
+let $300 = instantiate(`(module (func (export "f") (result f64) (f64.const +5.3575430359313371996e+300)))`);
+
+// ./test/core/const.wast:851
+assert_return(
+ () => invoke($300, `f`, []),
+ [
+ value("f64", 5357543035931338000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/const.wast:852
+let $301 = instantiate(`(module (func (export "f") (result f64) (f64.const -5.3575430359313371996e+300)))`);
+
+// ./test/core/const.wast:853
+assert_return(
+ () => invoke($301, `f`, []),
+ [
+ value("f64", -5357543035931338000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/const.wast:854
+let $302 = instantiate(`(module (func (export "f") (result f64) (f64.const +5.3575430359313383891e+300)))`);
+
+// ./test/core/const.wast:855
+assert_return(
+ () => invoke($302, `f`, []),
+ [
+ value("f64", 5357543035931338000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/const.wast:856
+let $303 = instantiate(`(module (func (export "f") (result f64) (f64.const -5.3575430359313383891e+300)))`);
+
+// ./test/core/const.wast:857
+assert_return(
+ () => invoke($303, `f`, []),
+ [
+ value("f64", -5357543035931338000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/const.wast:858
+let $304 = instantiate(`(module (func (export "f") (result f64) (f64.const +5.3575430359313383892e+300)))`);
+
+// ./test/core/const.wast:859
+assert_return(
+ () => invoke($304, `f`, []),
+ [
+ value("f64", 5357543035931339000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/const.wast:860
+let $305 = instantiate(`(module (func (export "f") (result f64) (f64.const -5.3575430359313383892e+300)))`);
+
+// ./test/core/const.wast:861
+assert_return(
+ () => invoke($305, `f`, []),
+ [
+ value("f64", -5357543035931339000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/const.wast:864
+let $306 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x1.000000000000080000000000p+600)))`);
+
+// ./test/core/const.wast:865
+assert_return(
+ () => invoke($306, `f`, []),
+ [
+ value("f64", 4149515568880993000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/const.wast:866
+let $307 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x1.000000000000080000000000p+600)))`);
+
+// ./test/core/const.wast:867
+assert_return(
+ () => invoke($307, `f`, []),
+ [
+ value("f64", -4149515568880993000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/const.wast:868
+let $308 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x1.000000000000080000000001p+600)))`);
+
+// ./test/core/const.wast:869
+assert_return(
+ () => invoke($308, `f`, []),
+ [
+ value("f64", 4149515568880994000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/const.wast:870
+let $309 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x1.000000000000080000000001p+600)))`);
+
+// ./test/core/const.wast:871
+assert_return(
+ () => invoke($309, `f`, []),
+ [
+ value("f64", -4149515568880994000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/const.wast:872
+let $310 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x1.0000000000000fffffffffffp+600)))`);
+
+// ./test/core/const.wast:873
+assert_return(
+ () => invoke($310, `f`, []),
+ [
+ value("f64", 4149515568880994000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/const.wast:874
+let $311 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x1.0000000000000fffffffffffp+600)))`);
+
+// ./test/core/const.wast:875
+assert_return(
+ () => invoke($311, `f`, []),
+ [
+ value("f64", -4149515568880994000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/const.wast:876
+let $312 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x1.000000000000100000000000p+600)))`);
+
+// ./test/core/const.wast:877
+assert_return(
+ () => invoke($312, `f`, []),
+ [
+ value("f64", 4149515568880994000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/const.wast:878
+let $313 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x1.000000000000100000000000p+600)))`);
+
+// ./test/core/const.wast:879
+assert_return(
+ () => invoke($313, `f`, []),
+ [
+ value("f64", -4149515568880994000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/const.wast:880
+let $314 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x1.000000000000100000000001p+600)))`);
+
+// ./test/core/const.wast:881
+assert_return(
+ () => invoke($314, `f`, []),
+ [
+ value("f64", 4149515568880994000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/const.wast:882
+let $315 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x1.000000000000100000000001p+600)))`);
+
+// ./test/core/const.wast:883
+assert_return(
+ () => invoke($315, `f`, []),
+ [
+ value("f64", -4149515568880994000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/const.wast:884
+let $316 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x1.00000000000017ffffffffffp+600)))`);
+
+// ./test/core/const.wast:885
+assert_return(
+ () => invoke($316, `f`, []),
+ [
+ value("f64", 4149515568880994000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/const.wast:886
+let $317 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x1.00000000000017ffffffffffp+600)))`);
+
+// ./test/core/const.wast:887
+assert_return(
+ () => invoke($317, `f`, []),
+ [
+ value("f64", -4149515568880994000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/const.wast:888
+let $318 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x1.000000000000180000000000p+600)))`);
+
+// ./test/core/const.wast:889
+assert_return(
+ () => invoke($318, `f`, []),
+ [
+ value("f64", 4149515568880995000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/const.wast:890
+let $319 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x1.000000000000180000000000p+600)))`);
+
+// ./test/core/const.wast:891
+assert_return(
+ () => invoke($319, `f`, []),
+ [
+ value("f64", -4149515568880995000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/const.wast:892
+let $320 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x1.000000000000180000000001p+600)))`);
+
+// ./test/core/const.wast:893
+assert_return(
+ () => invoke($320, `f`, []),
+ [
+ value("f64", 4149515568880995000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/const.wast:894
+let $321 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x1.000000000000180000000001p+600)))`);
+
+// ./test/core/const.wast:895
+assert_return(
+ () => invoke($321, `f`, []),
+ [
+ value("f64", -4149515568880995000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/const.wast:896
+let $322 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x1.0000000000001fffffffffffp+600)))`);
+
+// ./test/core/const.wast:897
+assert_return(
+ () => invoke($322, `f`, []),
+ [
+ value("f64", 4149515568880995000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/const.wast:898
+let $323 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x1.0000000000001fffffffffffp+600)))`);
+
+// ./test/core/const.wast:899
+assert_return(
+ () => invoke($323, `f`, []),
+ [
+ value("f64", -4149515568880995000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/const.wast:900
+let $324 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x1.000000000000200000000000p+600)))`);
+
+// ./test/core/const.wast:901
+assert_return(
+ () => invoke($324, `f`, []),
+ [
+ value("f64", 4149515568880995000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/const.wast:902
+let $325 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x1.000000000000200000000000p+600)))`);
+
+// ./test/core/const.wast:903
+assert_return(
+ () => invoke($325, `f`, []),
+ [
+ value("f64", -4149515568880995000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/const.wast:904
+let $326 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x1.000000000000200000000001p+600)))`);
+
+// ./test/core/const.wast:905
+assert_return(
+ () => invoke($326, `f`, []),
+ [
+ value("f64", 4149515568880995000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/const.wast:906
+let $327 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x1.000000000000200000000001p+600)))`);
+
+// ./test/core/const.wast:907
+assert_return(
+ () => invoke($327, `f`, []),
+ [
+ value("f64", -4149515568880995000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/const.wast:908
+let $328 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x1.00000000000027ffffffffffp+600)))`);
+
+// ./test/core/const.wast:909
+assert_return(
+ () => invoke($328, `f`, []),
+ [
+ value("f64", 4149515568880995000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/const.wast:910
+let $329 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x1.00000000000027ffffffffffp+600)))`);
+
+// ./test/core/const.wast:911
+assert_return(
+ () => invoke($329, `f`, []),
+ [
+ value("f64", -4149515568880995000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/const.wast:912
+let $330 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x1.000000000000280000000000p+600)))`);
+
+// ./test/core/const.wast:913
+assert_return(
+ () => invoke($330, `f`, []),
+ [
+ value("f64", 4149515568880995000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/const.wast:914
+let $331 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x1.000000000000280000000000p+600)))`);
+
+// ./test/core/const.wast:915
+assert_return(
+ () => invoke($331, `f`, []),
+ [
+ value("f64", -4149515568880995000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/const.wast:916
+let $332 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x1.000000000000280000000001p+600)))`);
+
+// ./test/core/const.wast:917
+assert_return(
+ () => invoke($332, `f`, []),
+ [
+ value("f64", 4149515568880996000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/const.wast:918
+let $333 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x1.000000000000280000000001p+600)))`);
+
+// ./test/core/const.wast:919
+assert_return(
+ () => invoke($333, `f`, []),
+ [
+ value("f64", -4149515568880996000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/const.wast:921
+let $334 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x2000000000000100000000000)))`);
+
+// ./test/core/const.wast:922
+assert_return(() => invoke($334, `f`, []), [value("f64", 158456325028528680000000000000)]);
+
+// ./test/core/const.wast:923
+let $335 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x2000000000000100000000000)))`);
+
+// ./test/core/const.wast:924
+assert_return(() => invoke($335, `f`, []), [value("f64", -158456325028528680000000000000)]);
+
+// ./test/core/const.wast:925
+let $336 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x2000000000000100000000001)))`);
+
+// ./test/core/const.wast:926
+assert_return(() => invoke($336, `f`, []), [value("f64", 158456325028528700000000000000)]);
+
+// ./test/core/const.wast:927
+let $337 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x2000000000000100000000001)))`);
+
+// ./test/core/const.wast:928
+assert_return(() => invoke($337, `f`, []), [value("f64", -158456325028528700000000000000)]);
+
+// ./test/core/const.wast:929
+let $338 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x20000000000001fffffffffff)))`);
+
+// ./test/core/const.wast:930
+assert_return(() => invoke($338, `f`, []), [value("f64", 158456325028528700000000000000)]);
+
+// ./test/core/const.wast:931
+let $339 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x20000000000001fffffffffff)))`);
+
+// ./test/core/const.wast:932
+assert_return(() => invoke($339, `f`, []), [value("f64", -158456325028528700000000000000)]);
+
+// ./test/core/const.wast:933
+let $340 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x2000000000000200000000000)))`);
+
+// ./test/core/const.wast:934
+assert_return(() => invoke($340, `f`, []), [value("f64", 158456325028528700000000000000)]);
+
+// ./test/core/const.wast:935
+let $341 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x2000000000000200000000000)))`);
+
+// ./test/core/const.wast:936
+assert_return(() => invoke($341, `f`, []), [value("f64", -158456325028528700000000000000)]);
+
+// ./test/core/const.wast:937
+let $342 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x2000000000000200000000001)))`);
+
+// ./test/core/const.wast:938
+assert_return(() => invoke($342, `f`, []), [value("f64", 158456325028528700000000000000)]);
+
+// ./test/core/const.wast:939
+let $343 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x2000000000000200000000001)))`);
+
+// ./test/core/const.wast:940
+assert_return(() => invoke($343, `f`, []), [value("f64", -158456325028528700000000000000)]);
+
+// ./test/core/const.wast:941
+let $344 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x20000000000002fffffffffff)))`);
+
+// ./test/core/const.wast:942
+assert_return(() => invoke($344, `f`, []), [value("f64", 158456325028528700000000000000)]);
+
+// ./test/core/const.wast:943
+let $345 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x20000000000002fffffffffff)))`);
+
+// ./test/core/const.wast:944
+assert_return(() => invoke($345, `f`, []), [value("f64", -158456325028528700000000000000)]);
+
+// ./test/core/const.wast:945
+let $346 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x2000000000000300000000000)))`);
+
+// ./test/core/const.wast:946
+assert_return(() => invoke($346, `f`, []), [value("f64", 158456325028528750000000000000)]);
+
+// ./test/core/const.wast:947
+let $347 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x2000000000000300000000000)))`);
+
+// ./test/core/const.wast:948
+assert_return(() => invoke($347, `f`, []), [value("f64", -158456325028528750000000000000)]);
+
+// ./test/core/const.wast:949
+let $348 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x2000000000000300000000001)))`);
+
+// ./test/core/const.wast:950
+assert_return(() => invoke($348, `f`, []), [value("f64", 158456325028528750000000000000)]);
+
+// ./test/core/const.wast:951
+let $349 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x2000000000000300000000001)))`);
+
+// ./test/core/const.wast:952
+assert_return(() => invoke($349, `f`, []), [value("f64", -158456325028528750000000000000)]);
+
+// ./test/core/const.wast:953
+let $350 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x20000000000003fffffffffff)))`);
+
+// ./test/core/const.wast:954
+assert_return(() => invoke($350, `f`, []), [value("f64", 158456325028528750000000000000)]);
+
+// ./test/core/const.wast:955
+let $351 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x20000000000003fffffffffff)))`);
+
+// ./test/core/const.wast:956
+assert_return(() => invoke($351, `f`, []), [value("f64", -158456325028528750000000000000)]);
+
+// ./test/core/const.wast:957
+let $352 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x2000000000000400000000000)))`);
+
+// ./test/core/const.wast:958
+assert_return(() => invoke($352, `f`, []), [value("f64", 158456325028528750000000000000)]);
+
+// ./test/core/const.wast:959
+let $353 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x2000000000000400000000000)))`);
+
+// ./test/core/const.wast:960
+assert_return(() => invoke($353, `f`, []), [value("f64", -158456325028528750000000000000)]);
+
+// ./test/core/const.wast:961
+let $354 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x2000000000000400000000001)))`);
+
+// ./test/core/const.wast:962
+assert_return(() => invoke($354, `f`, []), [value("f64", 158456325028528750000000000000)]);
+
+// ./test/core/const.wast:963
+let $355 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x2000000000000400000000001)))`);
+
+// ./test/core/const.wast:964
+assert_return(() => invoke($355, `f`, []), [value("f64", -158456325028528750000000000000)]);
+
+// ./test/core/const.wast:965
+let $356 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x20000000000004fffffffffff)))`);
+
+// ./test/core/const.wast:966
+assert_return(() => invoke($356, `f`, []), [value("f64", 158456325028528750000000000000)]);
+
+// ./test/core/const.wast:967
+let $357 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x20000000000004fffffffffff)))`);
+
+// ./test/core/const.wast:968
+assert_return(() => invoke($357, `f`, []), [value("f64", -158456325028528750000000000000)]);
+
+// ./test/core/const.wast:969
+let $358 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x2000000000000500000000000)))`);
+
+// ./test/core/const.wast:970
+assert_return(() => invoke($358, `f`, []), [value("f64", 158456325028528750000000000000)]);
+
+// ./test/core/const.wast:971
+let $359 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x2000000000000500000000000)))`);
+
+// ./test/core/const.wast:972
+assert_return(() => invoke($359, `f`, []), [value("f64", -158456325028528750000000000000)]);
+
+// ./test/core/const.wast:973
+let $360 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x2000000000000500000000001)))`);
+
+// ./test/core/const.wast:974
+assert_return(() => invoke($360, `f`, []), [value("f64", 158456325028528780000000000000)]);
+
+// ./test/core/const.wast:975
+let $361 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x2000000000000500000000001)))`);
+
+// ./test/core/const.wast:976
+assert_return(() => invoke($361, `f`, []), [value("f64", -158456325028528780000000000000)]);
+
+// ./test/core/const.wast:978
+let $362 = instantiate(`(module (func (export "f") (result f64) (f64.const +1152921504606847104)))`);
+
+// ./test/core/const.wast:979
+assert_return(() => invoke($362, `f`, []), [value("f64", 1152921504606847000)]);
+
+// ./test/core/const.wast:980
+let $363 = instantiate(`(module (func (export "f") (result f64) (f64.const -1152921504606847104)))`);
+
+// ./test/core/const.wast:981
+assert_return(() => invoke($363, `f`, []), [value("f64", -1152921504606847000)]);
+
+// ./test/core/const.wast:982
+let $364 = instantiate(`(module (func (export "f") (result f64) (f64.const +1152921504606847105)))`);
+
+// ./test/core/const.wast:983
+assert_return(() => invoke($364, `f`, []), [value("f64", 1152921504606847200)]);
+
+// ./test/core/const.wast:984
+let $365 = instantiate(`(module (func (export "f") (result f64) (f64.const -1152921504606847105)))`);
+
+// ./test/core/const.wast:985
+assert_return(() => invoke($365, `f`, []), [value("f64", -1152921504606847200)]);
+
+// ./test/core/const.wast:986
+let $366 = instantiate(`(module (func (export "f") (result f64) (f64.const +1152921504606847359)))`);
+
+// ./test/core/const.wast:987
+assert_return(() => invoke($366, `f`, []), [value("f64", 1152921504606847200)]);
+
+// ./test/core/const.wast:988
+let $367 = instantiate(`(module (func (export "f") (result f64) (f64.const -1152921504606847359)))`);
+
+// ./test/core/const.wast:989
+assert_return(() => invoke($367, `f`, []), [value("f64", -1152921504606847200)]);
+
+// ./test/core/const.wast:990
+let $368 = instantiate(`(module (func (export "f") (result f64) (f64.const +1152921504606847360)))`);
+
+// ./test/core/const.wast:991
+assert_return(() => invoke($368, `f`, []), [value("f64", 1152921504606847500)]);
+
+// ./test/core/const.wast:992
+let $369 = instantiate(`(module (func (export "f") (result f64) (f64.const -1152921504606847360)))`);
+
+// ./test/core/const.wast:993
+assert_return(() => invoke($369, `f`, []), [value("f64", -1152921504606847500)]);
+
+// ./test/core/const.wast:996
+let $370 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x0.000000000000080000000000p-1022)))`);
+
+// ./test/core/const.wast:997
+assert_return(() => invoke($370, `f`, []), [value("f64", 0)]);
+
+// ./test/core/const.wast:998
+let $371 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x0.000000000000080000000000p-1022)))`);
+
+// ./test/core/const.wast:999
+assert_return(() => invoke($371, `f`, []), [value("f64", -0)]);
+
+// ./test/core/const.wast:1000
+let $372 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x0.000000000000080000000001p-1022)))`);
+
+// ./test/core/const.wast:1001
+assert_return(
+ () => invoke($372, `f`, []),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/const.wast:1002
+let $373 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x0.000000000000080000000001p-1022)))`);
+
+// ./test/core/const.wast:1003
+assert_return(
+ () => invoke($373, `f`, []),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/const.wast:1004
+let $374 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x0.0000000000000fffffffffffp-1022)))`);
+
+// ./test/core/const.wast:1005
+assert_return(
+ () => invoke($374, `f`, []),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/const.wast:1006
+let $375 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x0.0000000000000fffffffffffp-1022)))`);
+
+// ./test/core/const.wast:1007
+assert_return(
+ () => invoke($375, `f`, []),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/const.wast:1008
+let $376 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x0.000000000000100000000000p-1022)))`);
+
+// ./test/core/const.wast:1009
+assert_return(
+ () => invoke($376, `f`, []),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/const.wast:1010
+let $377 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x0.000000000000100000000000p-1022)))`);
+
+// ./test/core/const.wast:1011
+assert_return(
+ () => invoke($377, `f`, []),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/const.wast:1012
+let $378 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x0.000000000000100000000001p-1022)))`);
+
+// ./test/core/const.wast:1013
+assert_return(
+ () => invoke($378, `f`, []),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/const.wast:1014
+let $379 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x0.000000000000100000000001p-1022)))`);
+
+// ./test/core/const.wast:1015
+assert_return(
+ () => invoke($379, `f`, []),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/const.wast:1016
+let $380 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x0.00000000000017ffffffffffp-1022)))`);
+
+// ./test/core/const.wast:1017
+assert_return(
+ () => invoke($380, `f`, []),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/const.wast:1018
+let $381 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x0.00000000000017ffffffffffp-1022)))`);
+
+// ./test/core/const.wast:1019
+assert_return(
+ () => invoke($381, `f`, []),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/const.wast:1020
+let $382 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x0.000000000000180000000000p-1022)))`);
+
+// ./test/core/const.wast:1021
+assert_return(
+ () => invoke($382, `f`, []),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ ],
+);
+
+// ./test/core/const.wast:1022
+let $383 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x0.000000000000180000000000p-1022)))`);
+
+// ./test/core/const.wast:1023
+assert_return(
+ () => invoke($383, `f`, []),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ ],
+);
+
+// ./test/core/const.wast:1024
+let $384 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x0.000000000000180000000001p-1022)))`);
+
+// ./test/core/const.wast:1025
+assert_return(
+ () => invoke($384, `f`, []),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ ],
+);
+
+// ./test/core/const.wast:1026
+let $385 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x0.000000000000180000000001p-1022)))`);
+
+// ./test/core/const.wast:1027
+assert_return(
+ () => invoke($385, `f`, []),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ ],
+);
+
+// ./test/core/const.wast:1028
+let $386 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x0.0000000000001fffffffffffp-1022)))`);
+
+// ./test/core/const.wast:1029
+assert_return(
+ () => invoke($386, `f`, []),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ ],
+);
+
+// ./test/core/const.wast:1030
+let $387 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x0.0000000000001fffffffffffp-1022)))`);
+
+// ./test/core/const.wast:1031
+assert_return(
+ () => invoke($387, `f`, []),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ ],
+);
+
+// ./test/core/const.wast:1032
+let $388 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x0.000000000000200000000000p-1022)))`);
+
+// ./test/core/const.wast:1033
+assert_return(
+ () => invoke($388, `f`, []),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ ],
+);
+
+// ./test/core/const.wast:1034
+let $389 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x0.000000000000200000000000p-1022)))`);
+
+// ./test/core/const.wast:1035
+assert_return(
+ () => invoke($389, `f`, []),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ ],
+);
+
+// ./test/core/const.wast:1036
+let $390 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x0.000000000000200000000001p-1022)))`);
+
+// ./test/core/const.wast:1037
+assert_return(
+ () => invoke($390, `f`, []),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ ],
+);
+
+// ./test/core/const.wast:1038
+let $391 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x0.000000000000200000000001p-1022)))`);
+
+// ./test/core/const.wast:1039
+assert_return(
+ () => invoke($391, `f`, []),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ ],
+);
+
+// ./test/core/const.wast:1040
+let $392 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x0.00000000000027ffffffffffp-1022)))`);
+
+// ./test/core/const.wast:1041
+assert_return(
+ () => invoke($392, `f`, []),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ ],
+);
+
+// ./test/core/const.wast:1042
+let $393 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x0.00000000000027ffffffffffp-1022)))`);
+
+// ./test/core/const.wast:1043
+assert_return(
+ () => invoke($393, `f`, []),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ ],
+);
+
+// ./test/core/const.wast:1044
+let $394 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x0.000000000000280000000000p-1022)))`);
+
+// ./test/core/const.wast:1045
+assert_return(
+ () => invoke($394, `f`, []),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ ],
+);
+
+// ./test/core/const.wast:1046
+let $395 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x0.000000000000280000000000p-1022)))`);
+
+// ./test/core/const.wast:1047
+assert_return(
+ () => invoke($395, `f`, []),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ ],
+);
+
+// ./test/core/const.wast:1048
+let $396 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x1.000000000000280000000001p-1022)))`);
+
+// ./test/core/const.wast:1049
+assert_return(
+ () => invoke($396, `f`, []),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507203),
+ ],
+);
+
+// ./test/core/const.wast:1050
+let $397 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x1.000000000000280000000001p-1022)))`);
+
+// ./test/core/const.wast:1051
+assert_return(
+ () => invoke($397, `f`, []),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507203),
+ ],
+);
+
+// ./test/core/const.wast:1054
+let $398 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x1.fffffffffffff4p1023)))`);
+
+// ./test/core/const.wast:1055
+assert_return(
+ () => invoke($398, `f`, []),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/const.wast:1056
+let $399 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x1.fffffffffffff4p1023)))`);
+
+// ./test/core/const.wast:1057
+assert_return(
+ () => invoke($399, `f`, []),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/const.wast:1058
+let $400 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x1.fffffffffffff7ffffffp1023)))`);
+
+// ./test/core/const.wast:1059
+assert_return(
+ () => invoke($400, `f`, []),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/const.wast:1060
+let $401 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x1.fffffffffffff7ffffffp1023)))`);
+
+// ./test/core/const.wast:1061
+assert_return(
+ () => invoke($401, `f`, []),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/conversions.wast.js b/js/src/jit-test/tests/wasm/spec/spec/conversions.wast.js
new file mode 100644
index 0000000000..b845545c23
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/conversions.wast.js
@@ -0,0 +1,3109 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/conversions.wast
+
+// ./test/core/conversions.wast:1
+let $0 = instantiate(`(module
+ (func (export "i64.extend_i32_s") (param $$x i32) (result i64) (i64.extend_i32_s (local.get $$x)))
+ (func (export "i64.extend_i32_u") (param $$x i32) (result i64) (i64.extend_i32_u (local.get $$x)))
+ (func (export "i32.wrap_i64") (param $$x i64) (result i32) (i32.wrap_i64 (local.get $$x)))
+ (func (export "i32.trunc_f32_s") (param $$x f32) (result i32) (i32.trunc_f32_s (local.get $$x)))
+ (func (export "i32.trunc_f32_u") (param $$x f32) (result i32) (i32.trunc_f32_u (local.get $$x)))
+ (func (export "i32.trunc_f64_s") (param $$x f64) (result i32) (i32.trunc_f64_s (local.get $$x)))
+ (func (export "i32.trunc_f64_u") (param $$x f64) (result i32) (i32.trunc_f64_u (local.get $$x)))
+ (func (export "i64.trunc_f32_s") (param $$x f32) (result i64) (i64.trunc_f32_s (local.get $$x)))
+ (func (export "i64.trunc_f32_u") (param $$x f32) (result i64) (i64.trunc_f32_u (local.get $$x)))
+ (func (export "i64.trunc_f64_s") (param $$x f64) (result i64) (i64.trunc_f64_s (local.get $$x)))
+ (func (export "i64.trunc_f64_u") (param $$x f64) (result i64) (i64.trunc_f64_u (local.get $$x)))
+ (func (export "i32.trunc_sat_f32_s") (param $$x f32) (result i32) (i32.trunc_sat_f32_s (local.get $$x)))
+ (func (export "i32.trunc_sat_f32_u") (param $$x f32) (result i32) (i32.trunc_sat_f32_u (local.get $$x)))
+ (func (export "i32.trunc_sat_f64_s") (param $$x f64) (result i32) (i32.trunc_sat_f64_s (local.get $$x)))
+ (func (export "i32.trunc_sat_f64_u") (param $$x f64) (result i32) (i32.trunc_sat_f64_u (local.get $$x)))
+ (func (export "i64.trunc_sat_f32_s") (param $$x f32) (result i64) (i64.trunc_sat_f32_s (local.get $$x)))
+ (func (export "i64.trunc_sat_f32_u") (param $$x f32) (result i64) (i64.trunc_sat_f32_u (local.get $$x)))
+ (func (export "i64.trunc_sat_f64_s") (param $$x f64) (result i64) (i64.trunc_sat_f64_s (local.get $$x)))
+ (func (export "i64.trunc_sat_f64_u") (param $$x f64) (result i64) (i64.trunc_sat_f64_u (local.get $$x)))
+ (func (export "f32.convert_i32_s") (param $$x i32) (result f32) (f32.convert_i32_s (local.get $$x)))
+ (func (export "f32.convert_i64_s") (param $$x i64) (result f32) (f32.convert_i64_s (local.get $$x)))
+ (func (export "f64.convert_i32_s") (param $$x i32) (result f64) (f64.convert_i32_s (local.get $$x)))
+ (func (export "f64.convert_i64_s") (param $$x i64) (result f64) (f64.convert_i64_s (local.get $$x)))
+ (func (export "f32.convert_i32_u") (param $$x i32) (result f32) (f32.convert_i32_u (local.get $$x)))
+ (func (export "f32.convert_i64_u") (param $$x i64) (result f32) (f32.convert_i64_u (local.get $$x)))
+ (func (export "f64.convert_i32_u") (param $$x i32) (result f64) (f64.convert_i32_u (local.get $$x)))
+ (func (export "f64.convert_i64_u") (param $$x i64) (result f64) (f64.convert_i64_u (local.get $$x)))
+ (func (export "f64.promote_f32") (param $$x f32) (result f64) (f64.promote_f32 (local.get $$x)))
+ (func (export "f32.demote_f64") (param $$x f64) (result f32) (f32.demote_f64 (local.get $$x)))
+ (func (export "f32.reinterpret_i32") (param $$x i32) (result f32) (f32.reinterpret_i32 (local.get $$x)))
+ (func (export "f64.reinterpret_i64") (param $$x i64) (result f64) (f64.reinterpret_i64 (local.get $$x)))
+ (func (export "i32.reinterpret_f32") (param $$x f32) (result i32) (i32.reinterpret_f32 (local.get $$x)))
+ (func (export "i64.reinterpret_f64") (param $$x f64) (result i64) (i64.reinterpret_f64 (local.get $$x)))
+)`);
+
+// ./test/core/conversions.wast:37
+assert_return(() => invoke($0, `i64.extend_i32_s`, [0]), [value("i64", 0n)]);
+
+// ./test/core/conversions.wast:38
+assert_return(() => invoke($0, `i64.extend_i32_s`, [10000]), [value("i64", 10000n)]);
+
+// ./test/core/conversions.wast:39
+assert_return(() => invoke($0, `i64.extend_i32_s`, [-10000]), [value("i64", -10000n)]);
+
+// ./test/core/conversions.wast:40
+assert_return(() => invoke($0, `i64.extend_i32_s`, [-1]), [value("i64", -1n)]);
+
+// ./test/core/conversions.wast:41
+assert_return(() => invoke($0, `i64.extend_i32_s`, [2147483647]), [value("i64", 2147483647n)]);
+
+// ./test/core/conversions.wast:42
+assert_return(() => invoke($0, `i64.extend_i32_s`, [-2147483648]), [value("i64", -2147483648n)]);
+
+// ./test/core/conversions.wast:44
+assert_return(() => invoke($0, `i64.extend_i32_u`, [0]), [value("i64", 0n)]);
+
+// ./test/core/conversions.wast:45
+assert_return(() => invoke($0, `i64.extend_i32_u`, [10000]), [value("i64", 10000n)]);
+
+// ./test/core/conversions.wast:46
+assert_return(() => invoke($0, `i64.extend_i32_u`, [-10000]), [value("i64", 4294957296n)]);
+
+// ./test/core/conversions.wast:47
+assert_return(() => invoke($0, `i64.extend_i32_u`, [-1]), [value("i64", 4294967295n)]);
+
+// ./test/core/conversions.wast:48
+assert_return(() => invoke($0, `i64.extend_i32_u`, [2147483647]), [value("i64", 2147483647n)]);
+
+// ./test/core/conversions.wast:49
+assert_return(() => invoke($0, `i64.extend_i32_u`, [-2147483648]), [value("i64", 2147483648n)]);
+
+// ./test/core/conversions.wast:51
+assert_return(() => invoke($0, `i32.wrap_i64`, [-1n]), [value("i32", -1)]);
+
+// ./test/core/conversions.wast:52
+assert_return(() => invoke($0, `i32.wrap_i64`, [-100000n]), [value("i32", -100000)]);
+
+// ./test/core/conversions.wast:53
+assert_return(() => invoke($0, `i32.wrap_i64`, [2147483648n]), [value("i32", -2147483648)]);
+
+// ./test/core/conversions.wast:54
+assert_return(() => invoke($0, `i32.wrap_i64`, [-2147483649n]), [value("i32", 2147483647)]);
+
+// ./test/core/conversions.wast:55
+assert_return(() => invoke($0, `i32.wrap_i64`, [-4294967296n]), [value("i32", 0)]);
+
+// ./test/core/conversions.wast:56
+assert_return(() => invoke($0, `i32.wrap_i64`, [-4294967297n]), [value("i32", -1)]);
+
+// ./test/core/conversions.wast:57
+assert_return(() => invoke($0, `i32.wrap_i64`, [-4294967295n]), [value("i32", 1)]);
+
+// ./test/core/conversions.wast:58
+assert_return(() => invoke($0, `i32.wrap_i64`, [0n]), [value("i32", 0)]);
+
+// ./test/core/conversions.wast:59
+assert_return(() => invoke($0, `i32.wrap_i64`, [1311768467463790320n]), [value("i32", -1698898192)]);
+
+// ./test/core/conversions.wast:60
+assert_return(() => invoke($0, `i32.wrap_i64`, [4294967295n]), [value("i32", -1)]);
+
+// ./test/core/conversions.wast:61
+assert_return(() => invoke($0, `i32.wrap_i64`, [4294967296n]), [value("i32", 0)]);
+
+// ./test/core/conversions.wast:62
+assert_return(() => invoke($0, `i32.wrap_i64`, [4294967297n]), [value("i32", 1)]);
+
+// ./test/core/conversions.wast:64
+assert_return(() => invoke($0, `i32.trunc_f32_s`, [value("f32", 0)]), [value("i32", 0)]);
+
+// ./test/core/conversions.wast:65
+assert_return(() => invoke($0, `i32.trunc_f32_s`, [value("f32", -0)]), [value("i32", 0)]);
+
+// ./test/core/conversions.wast:66
+assert_return(
+ () => invoke($0, `i32.trunc_f32_s`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/conversions.wast:67
+assert_return(
+ () => invoke($0, `i32.trunc_f32_s`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/conversions.wast:68
+assert_return(() => invoke($0, `i32.trunc_f32_s`, [value("f32", 1)]), [value("i32", 1)]);
+
+// ./test/core/conversions.wast:69
+assert_return(() => invoke($0, `i32.trunc_f32_s`, [value("f32", 1.1)]), [value("i32", 1)]);
+
+// ./test/core/conversions.wast:70
+assert_return(() => invoke($0, `i32.trunc_f32_s`, [value("f32", 1.5)]), [value("i32", 1)]);
+
+// ./test/core/conversions.wast:71
+assert_return(() => invoke($0, `i32.trunc_f32_s`, [value("f32", -1)]), [value("i32", -1)]);
+
+// ./test/core/conversions.wast:72
+assert_return(() => invoke($0, `i32.trunc_f32_s`, [value("f32", -1.1)]), [value("i32", -1)]);
+
+// ./test/core/conversions.wast:73
+assert_return(() => invoke($0, `i32.trunc_f32_s`, [value("f32", -1.5)]), [value("i32", -1)]);
+
+// ./test/core/conversions.wast:74
+assert_return(() => invoke($0, `i32.trunc_f32_s`, [value("f32", -1.9)]), [value("i32", -1)]);
+
+// ./test/core/conversions.wast:75
+assert_return(() => invoke($0, `i32.trunc_f32_s`, [value("f32", -2)]), [value("i32", -2)]);
+
+// ./test/core/conversions.wast:76
+assert_return(
+ () => invoke($0, `i32.trunc_f32_s`, [value("f32", 2147483500)]),
+ [value("i32", 2147483520)],
+);
+
+// ./test/core/conversions.wast:77
+assert_return(
+ () => invoke($0, `i32.trunc_f32_s`, [value("f32", -2147483600)]),
+ [value("i32", -2147483648)],
+);
+
+// ./test/core/conversions.wast:78
+assert_trap(() => invoke($0, `i32.trunc_f32_s`, [value("f32", 2147483600)]), `integer overflow`);
+
+// ./test/core/conversions.wast:79
+assert_trap(() => invoke($0, `i32.trunc_f32_s`, [value("f32", -2147484000)]), `integer overflow`);
+
+// ./test/core/conversions.wast:80
+assert_trap(() => invoke($0, `i32.trunc_f32_s`, [value("f32", Infinity)]), `integer overflow`);
+
+// ./test/core/conversions.wast:81
+assert_trap(() => invoke($0, `i32.trunc_f32_s`, [value("f32", -Infinity)]), `integer overflow`);
+
+// ./test/core/conversions.wast:82
+assert_trap(
+ () => invoke($0, `i32.trunc_f32_s`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ `invalid conversion to integer`,
+);
+
+// ./test/core/conversions.wast:83
+assert_trap(
+ () => invoke($0, `i32.trunc_f32_s`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ `invalid conversion to integer`,
+);
+
+// ./test/core/conversions.wast:84
+assert_trap(
+ () => invoke($0, `i32.trunc_f32_s`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ `invalid conversion to integer`,
+);
+
+// ./test/core/conversions.wast:85
+assert_trap(
+ () => invoke($0, `i32.trunc_f32_s`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ `invalid conversion to integer`,
+);
+
+// ./test/core/conversions.wast:87
+assert_return(() => invoke($0, `i32.trunc_f32_u`, [value("f32", 0)]), [value("i32", 0)]);
+
+// ./test/core/conversions.wast:88
+assert_return(() => invoke($0, `i32.trunc_f32_u`, [value("f32", -0)]), [value("i32", 0)]);
+
+// ./test/core/conversions.wast:89
+assert_return(
+ () => invoke($0, `i32.trunc_f32_u`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/conversions.wast:90
+assert_return(
+ () => invoke($0, `i32.trunc_f32_u`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/conversions.wast:91
+assert_return(() => invoke($0, `i32.trunc_f32_u`, [value("f32", 1)]), [value("i32", 1)]);
+
+// ./test/core/conversions.wast:92
+assert_return(() => invoke($0, `i32.trunc_f32_u`, [value("f32", 1.1)]), [value("i32", 1)]);
+
+// ./test/core/conversions.wast:93
+assert_return(() => invoke($0, `i32.trunc_f32_u`, [value("f32", 1.5)]), [value("i32", 1)]);
+
+// ./test/core/conversions.wast:94
+assert_return(() => invoke($0, `i32.trunc_f32_u`, [value("f32", 1.9)]), [value("i32", 1)]);
+
+// ./test/core/conversions.wast:95
+assert_return(() => invoke($0, `i32.trunc_f32_u`, [value("f32", 2)]), [value("i32", 2)]);
+
+// ./test/core/conversions.wast:96
+assert_return(
+ () => invoke($0, `i32.trunc_f32_u`, [value("f32", 2147483600)]),
+ [value("i32", -2147483648)],
+);
+
+// ./test/core/conversions.wast:97
+assert_return(() => invoke($0, `i32.trunc_f32_u`, [value("f32", 4294967000)]), [value("i32", -256)]);
+
+// ./test/core/conversions.wast:98
+assert_return(() => invoke($0, `i32.trunc_f32_u`, [value("f32", -0.9)]), [value("i32", 0)]);
+
+// ./test/core/conversions.wast:99
+assert_return(() => invoke($0, `i32.trunc_f32_u`, [value("f32", -0.99999994)]), [value("i32", 0)]);
+
+// ./test/core/conversions.wast:100
+assert_trap(() => invoke($0, `i32.trunc_f32_u`, [value("f32", 4294967300)]), `integer overflow`);
+
+// ./test/core/conversions.wast:101
+assert_trap(() => invoke($0, `i32.trunc_f32_u`, [value("f32", -1)]), `integer overflow`);
+
+// ./test/core/conversions.wast:102
+assert_trap(() => invoke($0, `i32.trunc_f32_u`, [value("f32", Infinity)]), `integer overflow`);
+
+// ./test/core/conversions.wast:103
+assert_trap(() => invoke($0, `i32.trunc_f32_u`, [value("f32", -Infinity)]), `integer overflow`);
+
+// ./test/core/conversions.wast:104
+assert_trap(
+ () => invoke($0, `i32.trunc_f32_u`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ `invalid conversion to integer`,
+);
+
+// ./test/core/conversions.wast:105
+assert_trap(
+ () => invoke($0, `i32.trunc_f32_u`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ `invalid conversion to integer`,
+);
+
+// ./test/core/conversions.wast:106
+assert_trap(
+ () => invoke($0, `i32.trunc_f32_u`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ `invalid conversion to integer`,
+);
+
+// ./test/core/conversions.wast:107
+assert_trap(
+ () => invoke($0, `i32.trunc_f32_u`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ `invalid conversion to integer`,
+);
+
+// ./test/core/conversions.wast:109
+assert_return(() => invoke($0, `i32.trunc_f64_s`, [value("f64", 0)]), [value("i32", 0)]);
+
+// ./test/core/conversions.wast:110
+assert_return(() => invoke($0, `i32.trunc_f64_s`, [value("f64", -0)]), [value("i32", 0)]);
+
+// ./test/core/conversions.wast:111
+assert_return(
+ () => invoke($0, `i32.trunc_f64_s`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/conversions.wast:112
+assert_return(
+ () => invoke($0, `i32.trunc_f64_s`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/conversions.wast:113
+assert_return(() => invoke($0, `i32.trunc_f64_s`, [value("f64", 1)]), [value("i32", 1)]);
+
+// ./test/core/conversions.wast:114
+assert_return(() => invoke($0, `i32.trunc_f64_s`, [value("f64", 1.1)]), [value("i32", 1)]);
+
+// ./test/core/conversions.wast:115
+assert_return(() => invoke($0, `i32.trunc_f64_s`, [value("f64", 1.5)]), [value("i32", 1)]);
+
+// ./test/core/conversions.wast:116
+assert_return(() => invoke($0, `i32.trunc_f64_s`, [value("f64", -1)]), [value("i32", -1)]);
+
+// ./test/core/conversions.wast:117
+assert_return(() => invoke($0, `i32.trunc_f64_s`, [value("f64", -1.1)]), [value("i32", -1)]);
+
+// ./test/core/conversions.wast:118
+assert_return(() => invoke($0, `i32.trunc_f64_s`, [value("f64", -1.5)]), [value("i32", -1)]);
+
+// ./test/core/conversions.wast:119
+assert_return(() => invoke($0, `i32.trunc_f64_s`, [value("f64", -1.9)]), [value("i32", -1)]);
+
+// ./test/core/conversions.wast:120
+assert_return(() => invoke($0, `i32.trunc_f64_s`, [value("f64", -2)]), [value("i32", -2)]);
+
+// ./test/core/conversions.wast:121
+assert_return(
+ () => invoke($0, `i32.trunc_f64_s`, [value("f64", 2147483647)]),
+ [value("i32", 2147483647)],
+);
+
+// ./test/core/conversions.wast:122
+assert_return(
+ () => invoke($0, `i32.trunc_f64_s`, [value("f64", -2147483648)]),
+ [value("i32", -2147483648)],
+);
+
+// ./test/core/conversions.wast:123
+assert_return(
+ () => invoke($0, `i32.trunc_f64_s`, [value("f64", -2147483648.9)]),
+ [value("i32", -2147483648)],
+);
+
+// ./test/core/conversions.wast:124
+assert_return(
+ () => invoke($0, `i32.trunc_f64_s`, [value("f64", 2147483647.9)]),
+ [value("i32", 2147483647)],
+);
+
+// ./test/core/conversions.wast:125
+assert_trap(() => invoke($0, `i32.trunc_f64_s`, [value("f64", 2147483648)]), `integer overflow`);
+
+// ./test/core/conversions.wast:126
+assert_trap(() => invoke($0, `i32.trunc_f64_s`, [value("f64", -2147483649)]), `integer overflow`);
+
+// ./test/core/conversions.wast:127
+assert_trap(() => invoke($0, `i32.trunc_f64_s`, [value("f64", Infinity)]), `integer overflow`);
+
+// ./test/core/conversions.wast:128
+assert_trap(() => invoke($0, `i32.trunc_f64_s`, [value("f64", -Infinity)]), `integer overflow`);
+
+// ./test/core/conversions.wast:129
+assert_trap(
+ () => invoke($0, `i32.trunc_f64_s`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ `invalid conversion to integer`,
+);
+
+// ./test/core/conversions.wast:130
+assert_trap(
+ () => invoke($0, `i32.trunc_f64_s`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ `invalid conversion to integer`,
+);
+
+// ./test/core/conversions.wast:131
+assert_trap(
+ () => invoke($0, `i32.trunc_f64_s`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ `invalid conversion to integer`,
+);
+
+// ./test/core/conversions.wast:132
+assert_trap(
+ () => invoke($0, `i32.trunc_f64_s`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ `invalid conversion to integer`,
+);
+
+// ./test/core/conversions.wast:134
+assert_return(() => invoke($0, `i32.trunc_f64_u`, [value("f64", 0)]), [value("i32", 0)]);
+
+// ./test/core/conversions.wast:135
+assert_return(() => invoke($0, `i32.trunc_f64_u`, [value("f64", -0)]), [value("i32", 0)]);
+
+// ./test/core/conversions.wast:136
+assert_return(
+ () => invoke($0, `i32.trunc_f64_u`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/conversions.wast:137
+assert_return(
+ () => invoke($0, `i32.trunc_f64_u`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/conversions.wast:138
+assert_return(() => invoke($0, `i32.trunc_f64_u`, [value("f64", 1)]), [value("i32", 1)]);
+
+// ./test/core/conversions.wast:139
+assert_return(() => invoke($0, `i32.trunc_f64_u`, [value("f64", 1.1)]), [value("i32", 1)]);
+
+// ./test/core/conversions.wast:140
+assert_return(() => invoke($0, `i32.trunc_f64_u`, [value("f64", 1.5)]), [value("i32", 1)]);
+
+// ./test/core/conversions.wast:141
+assert_return(() => invoke($0, `i32.trunc_f64_u`, [value("f64", 1.9)]), [value("i32", 1)]);
+
+// ./test/core/conversions.wast:142
+assert_return(() => invoke($0, `i32.trunc_f64_u`, [value("f64", 2)]), [value("i32", 2)]);
+
+// ./test/core/conversions.wast:143
+assert_return(
+ () => invoke($0, `i32.trunc_f64_u`, [value("f64", 2147483648)]),
+ [value("i32", -2147483648)],
+);
+
+// ./test/core/conversions.wast:144
+assert_return(() => invoke($0, `i32.trunc_f64_u`, [value("f64", 4294967295)]), [value("i32", -1)]);
+
+// ./test/core/conversions.wast:145
+assert_return(() => invoke($0, `i32.trunc_f64_u`, [value("f64", -0.9)]), [value("i32", 0)]);
+
+// ./test/core/conversions.wast:146
+assert_return(
+ () => invoke($0, `i32.trunc_f64_u`, [value("f64", -0.9999999999999999)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/conversions.wast:147
+assert_return(() => invoke($0, `i32.trunc_f64_u`, [value("f64", 100000000)]), [value("i32", 100000000)]);
+
+// ./test/core/conversions.wast:148
+assert_return(() => invoke($0, `i32.trunc_f64_u`, [value("f64", -0.9)]), [value("i32", 0)]);
+
+// ./test/core/conversions.wast:149
+assert_return(() => invoke($0, `i32.trunc_f64_u`, [value("f64", 4294967295.9)]), [value("i32", -1)]);
+
+// ./test/core/conversions.wast:150
+assert_trap(() => invoke($0, `i32.trunc_f64_u`, [value("f64", 4294967296)]), `integer overflow`);
+
+// ./test/core/conversions.wast:151
+assert_trap(() => invoke($0, `i32.trunc_f64_u`, [value("f64", -1)]), `integer overflow`);
+
+// ./test/core/conversions.wast:152
+assert_trap(() => invoke($0, `i32.trunc_f64_u`, [value("f64", 10000000000000000)]), `integer overflow`);
+
+// ./test/core/conversions.wast:153
+assert_trap(
+ () => invoke($0, `i32.trunc_f64_u`, [value("f64", 1000000000000000000000000000000)]),
+ `integer overflow`,
+);
+
+// ./test/core/conversions.wast:154
+assert_trap(
+ () => invoke($0, `i32.trunc_f64_u`, [value("f64", 9223372036854776000)]),
+ `integer overflow`,
+);
+
+// ./test/core/conversions.wast:155
+assert_trap(() => invoke($0, `i32.trunc_f64_u`, [value("f64", Infinity)]), `integer overflow`);
+
+// ./test/core/conversions.wast:156
+assert_trap(() => invoke($0, `i32.trunc_f64_u`, [value("f64", -Infinity)]), `integer overflow`);
+
+// ./test/core/conversions.wast:157
+assert_trap(
+ () => invoke($0, `i32.trunc_f64_u`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ `invalid conversion to integer`,
+);
+
+// ./test/core/conversions.wast:158
+assert_trap(
+ () => invoke($0, `i32.trunc_f64_u`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ `invalid conversion to integer`,
+);
+
+// ./test/core/conversions.wast:159
+assert_trap(
+ () => invoke($0, `i32.trunc_f64_u`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ `invalid conversion to integer`,
+);
+
+// ./test/core/conversions.wast:160
+assert_trap(
+ () => invoke($0, `i32.trunc_f64_u`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ `invalid conversion to integer`,
+);
+
+// ./test/core/conversions.wast:162
+assert_return(() => invoke($0, `i64.trunc_f32_s`, [value("f32", 0)]), [value("i64", 0n)]);
+
+// ./test/core/conversions.wast:163
+assert_return(() => invoke($0, `i64.trunc_f32_s`, [value("f32", -0)]), [value("i64", 0n)]);
+
+// ./test/core/conversions.wast:164
+assert_return(
+ () => invoke($0, `i64.trunc_f32_s`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i64", 0n)],
+);
+
+// ./test/core/conversions.wast:165
+assert_return(
+ () => invoke($0, `i64.trunc_f32_s`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i64", 0n)],
+);
+
+// ./test/core/conversions.wast:166
+assert_return(() => invoke($0, `i64.trunc_f32_s`, [value("f32", 1)]), [value("i64", 1n)]);
+
+// ./test/core/conversions.wast:167
+assert_return(() => invoke($0, `i64.trunc_f32_s`, [value("f32", 1.1)]), [value("i64", 1n)]);
+
+// ./test/core/conversions.wast:168
+assert_return(() => invoke($0, `i64.trunc_f32_s`, [value("f32", 1.5)]), [value("i64", 1n)]);
+
+// ./test/core/conversions.wast:169
+assert_return(() => invoke($0, `i64.trunc_f32_s`, [value("f32", -1)]), [value("i64", -1n)]);
+
+// ./test/core/conversions.wast:170
+assert_return(() => invoke($0, `i64.trunc_f32_s`, [value("f32", -1.1)]), [value("i64", -1n)]);
+
+// ./test/core/conversions.wast:171
+assert_return(() => invoke($0, `i64.trunc_f32_s`, [value("f32", -1.5)]), [value("i64", -1n)]);
+
+// ./test/core/conversions.wast:172
+assert_return(() => invoke($0, `i64.trunc_f32_s`, [value("f32", -1.9)]), [value("i64", -1n)]);
+
+// ./test/core/conversions.wast:173
+assert_return(() => invoke($0, `i64.trunc_f32_s`, [value("f32", -2)]), [value("i64", -2n)]);
+
+// ./test/core/conversions.wast:174
+assert_return(
+ () => invoke($0, `i64.trunc_f32_s`, [value("f32", 4294967300)]),
+ [value("i64", 4294967296n)],
+);
+
+// ./test/core/conversions.wast:175
+assert_return(
+ () => invoke($0, `i64.trunc_f32_s`, [value("f32", -4294967300)]),
+ [value("i64", -4294967296n)],
+);
+
+// ./test/core/conversions.wast:176
+assert_return(
+ () => invoke($0, `i64.trunc_f32_s`, [value("f32", 9223371500000000000)]),
+ [value("i64", 9223371487098961920n)],
+);
+
+// ./test/core/conversions.wast:177
+assert_return(
+ () => invoke($0, `i64.trunc_f32_s`, [value("f32", -9223372000000000000)]),
+ [value("i64", -9223372036854775808n)],
+);
+
+// ./test/core/conversions.wast:178
+assert_trap(
+ () => invoke($0, `i64.trunc_f32_s`, [value("f32", 9223372000000000000)]),
+ `integer overflow`,
+);
+
+// ./test/core/conversions.wast:179
+assert_trap(
+ () => invoke($0, `i64.trunc_f32_s`, [value("f32", -9223373000000000000)]),
+ `integer overflow`,
+);
+
+// ./test/core/conversions.wast:180
+assert_trap(() => invoke($0, `i64.trunc_f32_s`, [value("f32", Infinity)]), `integer overflow`);
+
+// ./test/core/conversions.wast:181
+assert_trap(() => invoke($0, `i64.trunc_f32_s`, [value("f32", -Infinity)]), `integer overflow`);
+
+// ./test/core/conversions.wast:182
+assert_trap(
+ () => invoke($0, `i64.trunc_f32_s`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ `invalid conversion to integer`,
+);
+
+// ./test/core/conversions.wast:183
+assert_trap(
+ () => invoke($0, `i64.trunc_f32_s`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ `invalid conversion to integer`,
+);
+
+// ./test/core/conversions.wast:184
+assert_trap(
+ () => invoke($0, `i64.trunc_f32_s`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ `invalid conversion to integer`,
+);
+
+// ./test/core/conversions.wast:185
+assert_trap(
+ () => invoke($0, `i64.trunc_f32_s`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ `invalid conversion to integer`,
+);
+
+// ./test/core/conversions.wast:187
+assert_return(() => invoke($0, `i64.trunc_f32_u`, [value("f32", 0)]), [value("i64", 0n)]);
+
+// ./test/core/conversions.wast:188
+assert_return(() => invoke($0, `i64.trunc_f32_u`, [value("f32", -0)]), [value("i64", 0n)]);
+
+// ./test/core/conversions.wast:189
+assert_return(
+ () => invoke($0, `i64.trunc_f32_u`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i64", 0n)],
+);
+
+// ./test/core/conversions.wast:190
+assert_return(
+ () => invoke($0, `i64.trunc_f32_u`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i64", 0n)],
+);
+
+// ./test/core/conversions.wast:191
+assert_return(() => invoke($0, `i64.trunc_f32_u`, [value("f32", 1)]), [value("i64", 1n)]);
+
+// ./test/core/conversions.wast:192
+assert_return(() => invoke($0, `i64.trunc_f32_u`, [value("f32", 1.1)]), [value("i64", 1n)]);
+
+// ./test/core/conversions.wast:193
+assert_return(() => invoke($0, `i64.trunc_f32_u`, [value("f32", 1.5)]), [value("i64", 1n)]);
+
+// ./test/core/conversions.wast:194
+assert_return(
+ () => invoke($0, `i64.trunc_f32_u`, [value("f32", 4294967300)]),
+ [value("i64", 4294967296n)],
+);
+
+// ./test/core/conversions.wast:195
+assert_return(
+ () => invoke($0, `i64.trunc_f32_u`, [value("f32", 18446743000000000000)]),
+ [value("i64", -1099511627776n)],
+);
+
+// ./test/core/conversions.wast:196
+assert_return(() => invoke($0, `i64.trunc_f32_u`, [value("f32", -0.9)]), [value("i64", 0n)]);
+
+// ./test/core/conversions.wast:197
+assert_return(() => invoke($0, `i64.trunc_f32_u`, [value("f32", -0.99999994)]), [value("i64", 0n)]);
+
+// ./test/core/conversions.wast:198
+assert_trap(
+ () => invoke($0, `i64.trunc_f32_u`, [value("f32", 18446744000000000000)]),
+ `integer overflow`,
+);
+
+// ./test/core/conversions.wast:199
+assert_trap(() => invoke($0, `i64.trunc_f32_u`, [value("f32", -1)]), `integer overflow`);
+
+// ./test/core/conversions.wast:200
+assert_trap(() => invoke($0, `i64.trunc_f32_u`, [value("f32", Infinity)]), `integer overflow`);
+
+// ./test/core/conversions.wast:201
+assert_trap(() => invoke($0, `i64.trunc_f32_u`, [value("f32", -Infinity)]), `integer overflow`);
+
+// ./test/core/conversions.wast:202
+assert_trap(
+ () => invoke($0, `i64.trunc_f32_u`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ `invalid conversion to integer`,
+);
+
+// ./test/core/conversions.wast:203
+assert_trap(
+ () => invoke($0, `i64.trunc_f32_u`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ `invalid conversion to integer`,
+);
+
+// ./test/core/conversions.wast:204
+assert_trap(
+ () => invoke($0, `i64.trunc_f32_u`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ `invalid conversion to integer`,
+);
+
+// ./test/core/conversions.wast:205
+assert_trap(
+ () => invoke($0, `i64.trunc_f32_u`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ `invalid conversion to integer`,
+);
+
+// ./test/core/conversions.wast:207
+assert_return(() => invoke($0, `i64.trunc_f64_s`, [value("f64", 0)]), [value("i64", 0n)]);
+
+// ./test/core/conversions.wast:208
+assert_return(() => invoke($0, `i64.trunc_f64_s`, [value("f64", -0)]), [value("i64", 0n)]);
+
+// ./test/core/conversions.wast:209
+assert_return(
+ () => invoke($0, `i64.trunc_f64_s`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i64", 0n)],
+);
+
+// ./test/core/conversions.wast:210
+assert_return(
+ () => invoke($0, `i64.trunc_f64_s`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i64", 0n)],
+);
+
+// ./test/core/conversions.wast:211
+assert_return(() => invoke($0, `i64.trunc_f64_s`, [value("f64", 1)]), [value("i64", 1n)]);
+
+// ./test/core/conversions.wast:212
+assert_return(() => invoke($0, `i64.trunc_f64_s`, [value("f64", 1.1)]), [value("i64", 1n)]);
+
+// ./test/core/conversions.wast:213
+assert_return(() => invoke($0, `i64.trunc_f64_s`, [value("f64", 1.5)]), [value("i64", 1n)]);
+
+// ./test/core/conversions.wast:214
+assert_return(() => invoke($0, `i64.trunc_f64_s`, [value("f64", -1)]), [value("i64", -1n)]);
+
+// ./test/core/conversions.wast:215
+assert_return(() => invoke($0, `i64.trunc_f64_s`, [value("f64", -1.1)]), [value("i64", -1n)]);
+
+// ./test/core/conversions.wast:216
+assert_return(() => invoke($0, `i64.trunc_f64_s`, [value("f64", -1.5)]), [value("i64", -1n)]);
+
+// ./test/core/conversions.wast:217
+assert_return(() => invoke($0, `i64.trunc_f64_s`, [value("f64", -1.9)]), [value("i64", -1n)]);
+
+// ./test/core/conversions.wast:218
+assert_return(() => invoke($0, `i64.trunc_f64_s`, [value("f64", -2)]), [value("i64", -2n)]);
+
+// ./test/core/conversions.wast:219
+assert_return(
+ () => invoke($0, `i64.trunc_f64_s`, [value("f64", 4294967296)]),
+ [value("i64", 4294967296n)],
+);
+
+// ./test/core/conversions.wast:220
+assert_return(
+ () => invoke($0, `i64.trunc_f64_s`, [value("f64", -4294967296)]),
+ [value("i64", -4294967296n)],
+);
+
+// ./test/core/conversions.wast:221
+assert_return(
+ () => invoke($0, `i64.trunc_f64_s`, [value("f64", 9223372036854775000)]),
+ [value("i64", 9223372036854774784n)],
+);
+
+// ./test/core/conversions.wast:222
+assert_return(
+ () => invoke($0, `i64.trunc_f64_s`, [value("f64", -9223372036854776000)]),
+ [value("i64", -9223372036854775808n)],
+);
+
+// ./test/core/conversions.wast:223
+assert_trap(
+ () => invoke($0, `i64.trunc_f64_s`, [value("f64", 9223372036854776000)]),
+ `integer overflow`,
+);
+
+// ./test/core/conversions.wast:224
+assert_trap(
+ () => invoke($0, `i64.trunc_f64_s`, [value("f64", -9223372036854778000)]),
+ `integer overflow`,
+);
+
+// ./test/core/conversions.wast:225
+assert_trap(() => invoke($0, `i64.trunc_f64_s`, [value("f64", Infinity)]), `integer overflow`);
+
+// ./test/core/conversions.wast:226
+assert_trap(() => invoke($0, `i64.trunc_f64_s`, [value("f64", -Infinity)]), `integer overflow`);
+
+// ./test/core/conversions.wast:227
+assert_trap(
+ () => invoke($0, `i64.trunc_f64_s`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ `invalid conversion to integer`,
+);
+
+// ./test/core/conversions.wast:228
+assert_trap(
+ () => invoke($0, `i64.trunc_f64_s`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ `invalid conversion to integer`,
+);
+
+// ./test/core/conversions.wast:229
+assert_trap(
+ () => invoke($0, `i64.trunc_f64_s`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ `invalid conversion to integer`,
+);
+
+// ./test/core/conversions.wast:230
+assert_trap(
+ () => invoke($0, `i64.trunc_f64_s`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ `invalid conversion to integer`,
+);
+
+// ./test/core/conversions.wast:232
+assert_return(() => invoke($0, `i64.trunc_f64_u`, [value("f64", 0)]), [value("i64", 0n)]);
+
+// ./test/core/conversions.wast:233
+assert_return(() => invoke($0, `i64.trunc_f64_u`, [value("f64", -0)]), [value("i64", 0n)]);
+
+// ./test/core/conversions.wast:234
+assert_return(
+ () => invoke($0, `i64.trunc_f64_u`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i64", 0n)],
+);
+
+// ./test/core/conversions.wast:235
+assert_return(
+ () => invoke($0, `i64.trunc_f64_u`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i64", 0n)],
+);
+
+// ./test/core/conversions.wast:236
+assert_return(() => invoke($0, `i64.trunc_f64_u`, [value("f64", 1)]), [value("i64", 1n)]);
+
+// ./test/core/conversions.wast:237
+assert_return(() => invoke($0, `i64.trunc_f64_u`, [value("f64", 1.1)]), [value("i64", 1n)]);
+
+// ./test/core/conversions.wast:238
+assert_return(() => invoke($0, `i64.trunc_f64_u`, [value("f64", 1.5)]), [value("i64", 1n)]);
+
+// ./test/core/conversions.wast:239
+assert_return(
+ () => invoke($0, `i64.trunc_f64_u`, [value("f64", 4294967295)]),
+ [value("i64", 4294967295n)],
+);
+
+// ./test/core/conversions.wast:240
+assert_return(
+ () => invoke($0, `i64.trunc_f64_u`, [value("f64", 4294967296)]),
+ [value("i64", 4294967296n)],
+);
+
+// ./test/core/conversions.wast:241
+assert_return(
+ () => invoke($0, `i64.trunc_f64_u`, [value("f64", 18446744073709550000)]),
+ [value("i64", -2048n)],
+);
+
+// ./test/core/conversions.wast:242
+assert_return(() => invoke($0, `i64.trunc_f64_u`, [value("f64", -0.9)]), [value("i64", 0n)]);
+
+// ./test/core/conversions.wast:243
+assert_return(
+ () => invoke($0, `i64.trunc_f64_u`, [value("f64", -0.9999999999999999)]),
+ [value("i64", 0n)],
+);
+
+// ./test/core/conversions.wast:244
+assert_return(
+ () => invoke($0, `i64.trunc_f64_u`, [value("f64", 100000000)]),
+ [value("i64", 100000000n)],
+);
+
+// ./test/core/conversions.wast:245
+assert_return(
+ () => invoke($0, `i64.trunc_f64_u`, [value("f64", 10000000000000000)]),
+ [value("i64", 10000000000000000n)],
+);
+
+// ./test/core/conversions.wast:246
+assert_return(
+ () => invoke($0, `i64.trunc_f64_u`, [value("f64", 9223372036854776000)]),
+ [value("i64", -9223372036854775808n)],
+);
+
+// ./test/core/conversions.wast:247
+assert_trap(
+ () => invoke($0, `i64.trunc_f64_u`, [value("f64", 18446744073709552000)]),
+ `integer overflow`,
+);
+
+// ./test/core/conversions.wast:248
+assert_trap(() => invoke($0, `i64.trunc_f64_u`, [value("f64", -1)]), `integer overflow`);
+
+// ./test/core/conversions.wast:249
+assert_trap(() => invoke($0, `i64.trunc_f64_u`, [value("f64", Infinity)]), `integer overflow`);
+
+// ./test/core/conversions.wast:250
+assert_trap(() => invoke($0, `i64.trunc_f64_u`, [value("f64", -Infinity)]), `integer overflow`);
+
+// ./test/core/conversions.wast:251
+assert_trap(
+ () => invoke($0, `i64.trunc_f64_u`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ `invalid conversion to integer`,
+);
+
+// ./test/core/conversions.wast:252
+assert_trap(
+ () => invoke($0, `i64.trunc_f64_u`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ `invalid conversion to integer`,
+);
+
+// ./test/core/conversions.wast:253
+assert_trap(
+ () => invoke($0, `i64.trunc_f64_u`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ `invalid conversion to integer`,
+);
+
+// ./test/core/conversions.wast:254
+assert_trap(
+ () => invoke($0, `i64.trunc_f64_u`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ `invalid conversion to integer`,
+);
+
+// ./test/core/conversions.wast:256
+assert_return(() => invoke($0, `f32.convert_i32_s`, [1]), [value("f32", 1)]);
+
+// ./test/core/conversions.wast:257
+assert_return(() => invoke($0, `f32.convert_i32_s`, [-1]), [value("f32", -1)]);
+
+// ./test/core/conversions.wast:258
+assert_return(() => invoke($0, `f32.convert_i32_s`, [0]), [value("f32", 0)]);
+
+// ./test/core/conversions.wast:259
+assert_return(() => invoke($0, `f32.convert_i32_s`, [2147483647]), [value("f32", 2147483600)]);
+
+// ./test/core/conversions.wast:260
+assert_return(() => invoke($0, `f32.convert_i32_s`, [-2147483648]), [value("f32", -2147483600)]);
+
+// ./test/core/conversions.wast:261
+assert_return(() => invoke($0, `f32.convert_i32_s`, [1234567890]), [value("f32", 1234568000)]);
+
+// ./test/core/conversions.wast:265
+assert_return(() => invoke($0, `i32.trunc_sat_f32_s`, [value("f32", 0)]), [value("i32", 0)]);
+
+// ./test/core/conversions.wast:266
+assert_return(() => invoke($0, `i32.trunc_sat_f32_s`, [value("f32", -0)]), [value("i32", 0)]);
+
+// ./test/core/conversions.wast:267
+assert_return(
+ () => invoke($0, `i32.trunc_sat_f32_s`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/conversions.wast:268
+assert_return(
+ () => invoke($0, `i32.trunc_sat_f32_s`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/conversions.wast:269
+assert_return(() => invoke($0, `i32.trunc_sat_f32_s`, [value("f32", 1)]), [value("i32", 1)]);
+
+// ./test/core/conversions.wast:270
+assert_return(() => invoke($0, `i32.trunc_sat_f32_s`, [value("f32", 1.1)]), [value("i32", 1)]);
+
+// ./test/core/conversions.wast:271
+assert_return(() => invoke($0, `i32.trunc_sat_f32_s`, [value("f32", 1.5)]), [value("i32", 1)]);
+
+// ./test/core/conversions.wast:272
+assert_return(() => invoke($0, `i32.trunc_sat_f32_s`, [value("f32", -1)]), [value("i32", -1)]);
+
+// ./test/core/conversions.wast:273
+assert_return(() => invoke($0, `i32.trunc_sat_f32_s`, [value("f32", -1.1)]), [value("i32", -1)]);
+
+// ./test/core/conversions.wast:274
+assert_return(() => invoke($0, `i32.trunc_sat_f32_s`, [value("f32", -1.5)]), [value("i32", -1)]);
+
+// ./test/core/conversions.wast:275
+assert_return(() => invoke($0, `i32.trunc_sat_f32_s`, [value("f32", -1.9)]), [value("i32", -1)]);
+
+// ./test/core/conversions.wast:276
+assert_return(() => invoke($0, `i32.trunc_sat_f32_s`, [value("f32", -2)]), [value("i32", -2)]);
+
+// ./test/core/conversions.wast:277
+assert_return(
+ () => invoke($0, `i32.trunc_sat_f32_s`, [value("f32", 2147483500)]),
+ [value("i32", 2147483520)],
+);
+
+// ./test/core/conversions.wast:278
+assert_return(
+ () => invoke($0, `i32.trunc_sat_f32_s`, [value("f32", -2147483600)]),
+ [value("i32", -2147483648)],
+);
+
+// ./test/core/conversions.wast:279
+assert_return(
+ () => invoke($0, `i32.trunc_sat_f32_s`, [value("f32", 2147483600)]),
+ [value("i32", 2147483647)],
+);
+
+// ./test/core/conversions.wast:280
+assert_return(
+ () => invoke($0, `i32.trunc_sat_f32_s`, [value("f32", -2147484000)]),
+ [value("i32", -2147483648)],
+);
+
+// ./test/core/conversions.wast:281
+assert_return(
+ () => invoke($0, `i32.trunc_sat_f32_s`, [value("f32", Infinity)]),
+ [value("i32", 2147483647)],
+);
+
+// ./test/core/conversions.wast:282
+assert_return(
+ () => invoke($0, `i32.trunc_sat_f32_s`, [value("f32", -Infinity)]),
+ [value("i32", -2147483648)],
+);
+
+// ./test/core/conversions.wast:283
+assert_return(
+ () => invoke($0, `i32.trunc_sat_f32_s`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/conversions.wast:284
+assert_return(
+ () => invoke($0, `i32.trunc_sat_f32_s`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/conversions.wast:285
+assert_return(
+ () => invoke($0, `i32.trunc_sat_f32_s`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/conversions.wast:286
+assert_return(
+ () => invoke($0, `i32.trunc_sat_f32_s`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/conversions.wast:288
+assert_return(() => invoke($0, `i32.trunc_sat_f32_u`, [value("f32", 0)]), [value("i32", 0)]);
+
+// ./test/core/conversions.wast:289
+assert_return(() => invoke($0, `i32.trunc_sat_f32_u`, [value("f32", -0)]), [value("i32", 0)]);
+
+// ./test/core/conversions.wast:290
+assert_return(
+ () => invoke($0, `i32.trunc_sat_f32_u`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/conversions.wast:291
+assert_return(
+ () => invoke($0, `i32.trunc_sat_f32_u`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/conversions.wast:292
+assert_return(() => invoke($0, `i32.trunc_sat_f32_u`, [value("f32", 1)]), [value("i32", 1)]);
+
+// ./test/core/conversions.wast:293
+assert_return(() => invoke($0, `i32.trunc_sat_f32_u`, [value("f32", 1.1)]), [value("i32", 1)]);
+
+// ./test/core/conversions.wast:294
+assert_return(() => invoke($0, `i32.trunc_sat_f32_u`, [value("f32", 1.5)]), [value("i32", 1)]);
+
+// ./test/core/conversions.wast:295
+assert_return(() => invoke($0, `i32.trunc_sat_f32_u`, [value("f32", 1.9)]), [value("i32", 1)]);
+
+// ./test/core/conversions.wast:296
+assert_return(() => invoke($0, `i32.trunc_sat_f32_u`, [value("f32", 2)]), [value("i32", 2)]);
+
+// ./test/core/conversions.wast:297
+assert_return(
+ () => invoke($0, `i32.trunc_sat_f32_u`, [value("f32", 2147483600)]),
+ [value("i32", -2147483648)],
+);
+
+// ./test/core/conversions.wast:298
+assert_return(() => invoke($0, `i32.trunc_sat_f32_u`, [value("f32", 4294967000)]), [value("i32", -256)]);
+
+// ./test/core/conversions.wast:299
+assert_return(() => invoke($0, `i32.trunc_sat_f32_u`, [value("f32", -0.9)]), [value("i32", 0)]);
+
+// ./test/core/conversions.wast:300
+assert_return(() => invoke($0, `i32.trunc_sat_f32_u`, [value("f32", -0.99999994)]), [value("i32", 0)]);
+
+// ./test/core/conversions.wast:301
+assert_return(() => invoke($0, `i32.trunc_sat_f32_u`, [value("f32", 4294967300)]), [value("i32", -1)]);
+
+// ./test/core/conversions.wast:302
+assert_return(() => invoke($0, `i32.trunc_sat_f32_u`, [value("f32", -1)]), [value("i32", 0)]);
+
+// ./test/core/conversions.wast:303
+assert_return(() => invoke($0, `i32.trunc_sat_f32_u`, [value("f32", Infinity)]), [value("i32", -1)]);
+
+// ./test/core/conversions.wast:304
+assert_return(() => invoke($0, `i32.trunc_sat_f32_u`, [value("f32", -Infinity)]), [value("i32", 0)]);
+
+// ./test/core/conversions.wast:305
+assert_return(
+ () => invoke($0, `i32.trunc_sat_f32_u`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/conversions.wast:306
+assert_return(
+ () => invoke($0, `i32.trunc_sat_f32_u`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/conversions.wast:307
+assert_return(
+ () => invoke($0, `i32.trunc_sat_f32_u`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/conversions.wast:308
+assert_return(
+ () => invoke($0, `i32.trunc_sat_f32_u`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/conversions.wast:310
+assert_return(() => invoke($0, `i32.trunc_sat_f64_s`, [value("f64", 0)]), [value("i32", 0)]);
+
+// ./test/core/conversions.wast:311
+assert_return(() => invoke($0, `i32.trunc_sat_f64_s`, [value("f64", -0)]), [value("i32", 0)]);
+
+// ./test/core/conversions.wast:312
+assert_return(
+ () => invoke($0, `i32.trunc_sat_f64_s`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/conversions.wast:313
+assert_return(
+ () => invoke($0, `i32.trunc_sat_f64_s`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/conversions.wast:314
+assert_return(() => invoke($0, `i32.trunc_sat_f64_s`, [value("f64", 1)]), [value("i32", 1)]);
+
+// ./test/core/conversions.wast:315
+assert_return(() => invoke($0, `i32.trunc_sat_f64_s`, [value("f64", 1.1)]), [value("i32", 1)]);
+
+// ./test/core/conversions.wast:316
+assert_return(() => invoke($0, `i32.trunc_sat_f64_s`, [value("f64", 1.5)]), [value("i32", 1)]);
+
+// ./test/core/conversions.wast:317
+assert_return(() => invoke($0, `i32.trunc_sat_f64_s`, [value("f64", -1)]), [value("i32", -1)]);
+
+// ./test/core/conversions.wast:318
+assert_return(() => invoke($0, `i32.trunc_sat_f64_s`, [value("f64", -1.1)]), [value("i32", -1)]);
+
+// ./test/core/conversions.wast:319
+assert_return(() => invoke($0, `i32.trunc_sat_f64_s`, [value("f64", -1.5)]), [value("i32", -1)]);
+
+// ./test/core/conversions.wast:320
+assert_return(() => invoke($0, `i32.trunc_sat_f64_s`, [value("f64", -1.9)]), [value("i32", -1)]);
+
+// ./test/core/conversions.wast:321
+assert_return(() => invoke($0, `i32.trunc_sat_f64_s`, [value("f64", -2)]), [value("i32", -2)]);
+
+// ./test/core/conversions.wast:322
+assert_return(
+ () => invoke($0, `i32.trunc_sat_f64_s`, [value("f64", 2147483647)]),
+ [value("i32", 2147483647)],
+);
+
+// ./test/core/conversions.wast:323
+assert_return(
+ () => invoke($0, `i32.trunc_sat_f64_s`, [value("f64", -2147483648)]),
+ [value("i32", -2147483648)],
+);
+
+// ./test/core/conversions.wast:324
+assert_return(
+ () => invoke($0, `i32.trunc_sat_f64_s`, [value("f64", 2147483648)]),
+ [value("i32", 2147483647)],
+);
+
+// ./test/core/conversions.wast:325
+assert_return(
+ () => invoke($0, `i32.trunc_sat_f64_s`, [value("f64", -2147483649)]),
+ [value("i32", -2147483648)],
+);
+
+// ./test/core/conversions.wast:326
+assert_return(
+ () => invoke($0, `i32.trunc_sat_f64_s`, [value("f64", Infinity)]),
+ [value("i32", 2147483647)],
+);
+
+// ./test/core/conversions.wast:327
+assert_return(
+ () => invoke($0, `i32.trunc_sat_f64_s`, [value("f64", -Infinity)]),
+ [value("i32", -2147483648)],
+);
+
+// ./test/core/conversions.wast:328
+assert_return(
+ () => invoke($0, `i32.trunc_sat_f64_s`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/conversions.wast:329
+assert_return(
+ () => invoke($0, `i32.trunc_sat_f64_s`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/conversions.wast:330
+assert_return(
+ () => invoke($0, `i32.trunc_sat_f64_s`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/conversions.wast:331
+assert_return(
+ () => invoke($0, `i32.trunc_sat_f64_s`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/conversions.wast:333
+assert_return(() => invoke($0, `i32.trunc_sat_f64_u`, [value("f64", 0)]), [value("i32", 0)]);
+
+// ./test/core/conversions.wast:334
+assert_return(() => invoke($0, `i32.trunc_sat_f64_u`, [value("f64", -0)]), [value("i32", 0)]);
+
+// ./test/core/conversions.wast:335
+assert_return(
+ () => invoke($0, `i32.trunc_sat_f64_u`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/conversions.wast:336
+assert_return(
+ () => invoke($0, `i32.trunc_sat_f64_u`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/conversions.wast:337
+assert_return(() => invoke($0, `i32.trunc_sat_f64_u`, [value("f64", 1)]), [value("i32", 1)]);
+
+// ./test/core/conversions.wast:338
+assert_return(() => invoke($0, `i32.trunc_sat_f64_u`, [value("f64", 1.1)]), [value("i32", 1)]);
+
+// ./test/core/conversions.wast:339
+assert_return(() => invoke($0, `i32.trunc_sat_f64_u`, [value("f64", 1.5)]), [value("i32", 1)]);
+
+// ./test/core/conversions.wast:340
+assert_return(() => invoke($0, `i32.trunc_sat_f64_u`, [value("f64", 1.9)]), [value("i32", 1)]);
+
+// ./test/core/conversions.wast:341
+assert_return(() => invoke($0, `i32.trunc_sat_f64_u`, [value("f64", 2)]), [value("i32", 2)]);
+
+// ./test/core/conversions.wast:342
+assert_return(
+ () => invoke($0, `i32.trunc_sat_f64_u`, [value("f64", 2147483648)]),
+ [value("i32", -2147483648)],
+);
+
+// ./test/core/conversions.wast:343
+assert_return(() => invoke($0, `i32.trunc_sat_f64_u`, [value("f64", 4294967295)]), [value("i32", -1)]);
+
+// ./test/core/conversions.wast:344
+assert_return(() => invoke($0, `i32.trunc_sat_f64_u`, [value("f64", -0.9)]), [value("i32", 0)]);
+
+// ./test/core/conversions.wast:345
+assert_return(
+ () => invoke($0, `i32.trunc_sat_f64_u`, [value("f64", -0.9999999999999999)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/conversions.wast:346
+assert_return(
+ () => invoke($0, `i32.trunc_sat_f64_u`, [value("f64", 100000000)]),
+ [value("i32", 100000000)],
+);
+
+// ./test/core/conversions.wast:347
+assert_return(() => invoke($0, `i32.trunc_sat_f64_u`, [value("f64", 4294967296)]), [value("i32", -1)]);
+
+// ./test/core/conversions.wast:348
+assert_return(() => invoke($0, `i32.trunc_sat_f64_u`, [value("f64", -1)]), [value("i32", 0)]);
+
+// ./test/core/conversions.wast:349
+assert_return(
+ () => invoke($0, `i32.trunc_sat_f64_u`, [value("f64", 10000000000000000)]),
+ [value("i32", -1)],
+);
+
+// ./test/core/conversions.wast:350
+assert_return(
+ () => invoke($0, `i32.trunc_sat_f64_u`, [
+ value("f64", 1000000000000000000000000000000),
+ ]),
+ [value("i32", -1)],
+);
+
+// ./test/core/conversions.wast:351
+assert_return(
+ () => invoke($0, `i32.trunc_sat_f64_u`, [value("f64", 9223372036854776000)]),
+ [value("i32", -1)],
+);
+
+// ./test/core/conversions.wast:352
+assert_return(() => invoke($0, `i32.trunc_sat_f64_u`, [value("f64", Infinity)]), [value("i32", -1)]);
+
+// ./test/core/conversions.wast:353
+assert_return(() => invoke($0, `i32.trunc_sat_f64_u`, [value("f64", -Infinity)]), [value("i32", 0)]);
+
+// ./test/core/conversions.wast:354
+assert_return(
+ () => invoke($0, `i32.trunc_sat_f64_u`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/conversions.wast:355
+assert_return(
+ () => invoke($0, `i32.trunc_sat_f64_u`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/conversions.wast:356
+assert_return(
+ () => invoke($0, `i32.trunc_sat_f64_u`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/conversions.wast:357
+assert_return(
+ () => invoke($0, `i32.trunc_sat_f64_u`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/conversions.wast:359
+assert_return(() => invoke($0, `i64.trunc_sat_f32_s`, [value("f32", 0)]), [value("i64", 0n)]);
+
+// ./test/core/conversions.wast:360
+assert_return(() => invoke($0, `i64.trunc_sat_f32_s`, [value("f32", -0)]), [value("i64", 0n)]);
+
+// ./test/core/conversions.wast:361
+assert_return(
+ () => invoke($0, `i64.trunc_sat_f32_s`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i64", 0n)],
+);
+
+// ./test/core/conversions.wast:362
+assert_return(
+ () => invoke($0, `i64.trunc_sat_f32_s`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i64", 0n)],
+);
+
+// ./test/core/conversions.wast:363
+assert_return(() => invoke($0, `i64.trunc_sat_f32_s`, [value("f32", 1)]), [value("i64", 1n)]);
+
+// ./test/core/conversions.wast:364
+assert_return(() => invoke($0, `i64.trunc_sat_f32_s`, [value("f32", 1.1)]), [value("i64", 1n)]);
+
+// ./test/core/conversions.wast:365
+assert_return(() => invoke($0, `i64.trunc_sat_f32_s`, [value("f32", 1.5)]), [value("i64", 1n)]);
+
+// ./test/core/conversions.wast:366
+assert_return(() => invoke($0, `i64.trunc_sat_f32_s`, [value("f32", -1)]), [value("i64", -1n)]);
+
+// ./test/core/conversions.wast:367
+assert_return(() => invoke($0, `i64.trunc_sat_f32_s`, [value("f32", -1.1)]), [value("i64", -1n)]);
+
+// ./test/core/conversions.wast:368
+assert_return(() => invoke($0, `i64.trunc_sat_f32_s`, [value("f32", -1.5)]), [value("i64", -1n)]);
+
+// ./test/core/conversions.wast:369
+assert_return(() => invoke($0, `i64.trunc_sat_f32_s`, [value("f32", -1.9)]), [value("i64", -1n)]);
+
+// ./test/core/conversions.wast:370
+assert_return(() => invoke($0, `i64.trunc_sat_f32_s`, [value("f32", -2)]), [value("i64", -2n)]);
+
+// ./test/core/conversions.wast:371
+assert_return(
+ () => invoke($0, `i64.trunc_sat_f32_s`, [value("f32", 4294967300)]),
+ [value("i64", 4294967296n)],
+);
+
+// ./test/core/conversions.wast:372
+assert_return(
+ () => invoke($0, `i64.trunc_sat_f32_s`, [value("f32", -4294967300)]),
+ [value("i64", -4294967296n)],
+);
+
+// ./test/core/conversions.wast:373
+assert_return(
+ () => invoke($0, `i64.trunc_sat_f32_s`, [value("f32", 9223371500000000000)]),
+ [value("i64", 9223371487098961920n)],
+);
+
+// ./test/core/conversions.wast:374
+assert_return(
+ () => invoke($0, `i64.trunc_sat_f32_s`, [value("f32", -9223372000000000000)]),
+ [value("i64", -9223372036854775808n)],
+);
+
+// ./test/core/conversions.wast:375
+assert_return(
+ () => invoke($0, `i64.trunc_sat_f32_s`, [value("f32", 9223372000000000000)]),
+ [value("i64", 9223372036854775807n)],
+);
+
+// ./test/core/conversions.wast:376
+assert_return(
+ () => invoke($0, `i64.trunc_sat_f32_s`, [value("f32", -9223373000000000000)]),
+ [value("i64", -9223372036854775808n)],
+);
+
+// ./test/core/conversions.wast:377
+assert_return(
+ () => invoke($0, `i64.trunc_sat_f32_s`, [value("f32", Infinity)]),
+ [value("i64", 9223372036854775807n)],
+);
+
+// ./test/core/conversions.wast:378
+assert_return(
+ () => invoke($0, `i64.trunc_sat_f32_s`, [value("f32", -Infinity)]),
+ [value("i64", -9223372036854775808n)],
+);
+
+// ./test/core/conversions.wast:379
+assert_return(
+ () => invoke($0, `i64.trunc_sat_f32_s`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [value("i64", 0n)],
+);
+
+// ./test/core/conversions.wast:380
+assert_return(
+ () => invoke($0, `i64.trunc_sat_f32_s`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [value("i64", 0n)],
+);
+
+// ./test/core/conversions.wast:381
+assert_return(
+ () => invoke($0, `i64.trunc_sat_f32_s`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [value("i64", 0n)],
+);
+
+// ./test/core/conversions.wast:382
+assert_return(
+ () => invoke($0, `i64.trunc_sat_f32_s`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [value("i64", 0n)],
+);
+
+// ./test/core/conversions.wast:384
+assert_return(() => invoke($0, `i64.trunc_sat_f32_u`, [value("f32", 0)]), [value("i64", 0n)]);
+
+// ./test/core/conversions.wast:385
+assert_return(() => invoke($0, `i64.trunc_sat_f32_u`, [value("f32", -0)]), [value("i64", 0n)]);
+
+// ./test/core/conversions.wast:386
+assert_return(
+ () => invoke($0, `i64.trunc_sat_f32_u`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i64", 0n)],
+);
+
+// ./test/core/conversions.wast:387
+assert_return(
+ () => invoke($0, `i64.trunc_sat_f32_u`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i64", 0n)],
+);
+
+// ./test/core/conversions.wast:388
+assert_return(() => invoke($0, `i64.trunc_sat_f32_u`, [value("f32", 1)]), [value("i64", 1n)]);
+
+// ./test/core/conversions.wast:389
+assert_return(() => invoke($0, `i64.trunc_sat_f32_u`, [value("f32", 1.1)]), [value("i64", 1n)]);
+
+// ./test/core/conversions.wast:390
+assert_return(() => invoke($0, `i64.trunc_sat_f32_u`, [value("f32", 1.5)]), [value("i64", 1n)]);
+
+// ./test/core/conversions.wast:391
+assert_return(
+ () => invoke($0, `i64.trunc_sat_f32_u`, [value("f32", 4294967300)]),
+ [value("i64", 4294967296n)],
+);
+
+// ./test/core/conversions.wast:392
+assert_return(
+ () => invoke($0, `i64.trunc_sat_f32_u`, [value("f32", 18446743000000000000)]),
+ [value("i64", -1099511627776n)],
+);
+
+// ./test/core/conversions.wast:393
+assert_return(() => invoke($0, `i64.trunc_sat_f32_u`, [value("f32", -0.9)]), [value("i64", 0n)]);
+
+// ./test/core/conversions.wast:394
+assert_return(() => invoke($0, `i64.trunc_sat_f32_u`, [value("f32", -0.99999994)]), [value("i64", 0n)]);
+
+// ./test/core/conversions.wast:395
+assert_return(
+ () => invoke($0, `i64.trunc_sat_f32_u`, [value("f32", 18446744000000000000)]),
+ [value("i64", -1n)],
+);
+
+// ./test/core/conversions.wast:396
+assert_return(() => invoke($0, `i64.trunc_sat_f32_u`, [value("f32", -1)]), [value("i64", 0n)]);
+
+// ./test/core/conversions.wast:397
+assert_return(() => invoke($0, `i64.trunc_sat_f32_u`, [value("f32", Infinity)]), [value("i64", -1n)]);
+
+// ./test/core/conversions.wast:398
+assert_return(() => invoke($0, `i64.trunc_sat_f32_u`, [value("f32", -Infinity)]), [value("i64", 0n)]);
+
+// ./test/core/conversions.wast:399
+assert_return(
+ () => invoke($0, `i64.trunc_sat_f32_u`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [value("i64", 0n)],
+);
+
+// ./test/core/conversions.wast:400
+assert_return(
+ () => invoke($0, `i64.trunc_sat_f32_u`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [value("i64", 0n)],
+);
+
+// ./test/core/conversions.wast:401
+assert_return(
+ () => invoke($0, `i64.trunc_sat_f32_u`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [value("i64", 0n)],
+);
+
+// ./test/core/conversions.wast:402
+assert_return(
+ () => invoke($0, `i64.trunc_sat_f32_u`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [value("i64", 0n)],
+);
+
+// ./test/core/conversions.wast:404
+assert_return(() => invoke($0, `i64.trunc_sat_f64_s`, [value("f64", 0)]), [value("i64", 0n)]);
+
+// ./test/core/conversions.wast:405
+assert_return(() => invoke($0, `i64.trunc_sat_f64_s`, [value("f64", -0)]), [value("i64", 0n)]);
+
+// ./test/core/conversions.wast:406
+assert_return(
+ () => invoke($0, `i64.trunc_sat_f64_s`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i64", 0n)],
+);
+
+// ./test/core/conversions.wast:407
+assert_return(
+ () => invoke($0, `i64.trunc_sat_f64_s`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i64", 0n)],
+);
+
+// ./test/core/conversions.wast:408
+assert_return(() => invoke($0, `i64.trunc_sat_f64_s`, [value("f64", 1)]), [value("i64", 1n)]);
+
+// ./test/core/conversions.wast:409
+assert_return(() => invoke($0, `i64.trunc_sat_f64_s`, [value("f64", 1.1)]), [value("i64", 1n)]);
+
+// ./test/core/conversions.wast:410
+assert_return(() => invoke($0, `i64.trunc_sat_f64_s`, [value("f64", 1.5)]), [value("i64", 1n)]);
+
+// ./test/core/conversions.wast:411
+assert_return(() => invoke($0, `i64.trunc_sat_f64_s`, [value("f64", -1)]), [value("i64", -1n)]);
+
+// ./test/core/conversions.wast:412
+assert_return(() => invoke($0, `i64.trunc_sat_f64_s`, [value("f64", -1.1)]), [value("i64", -1n)]);
+
+// ./test/core/conversions.wast:413
+assert_return(() => invoke($0, `i64.trunc_sat_f64_s`, [value("f64", -1.5)]), [value("i64", -1n)]);
+
+// ./test/core/conversions.wast:414
+assert_return(() => invoke($0, `i64.trunc_sat_f64_s`, [value("f64", -1.9)]), [value("i64", -1n)]);
+
+// ./test/core/conversions.wast:415
+assert_return(() => invoke($0, `i64.trunc_sat_f64_s`, [value("f64", -2)]), [value("i64", -2n)]);
+
+// ./test/core/conversions.wast:416
+assert_return(
+ () => invoke($0, `i64.trunc_sat_f64_s`, [value("f64", 4294967296)]),
+ [value("i64", 4294967296n)],
+);
+
+// ./test/core/conversions.wast:417
+assert_return(
+ () => invoke($0, `i64.trunc_sat_f64_s`, [value("f64", -4294967296)]),
+ [value("i64", -4294967296n)],
+);
+
+// ./test/core/conversions.wast:418
+assert_return(
+ () => invoke($0, `i64.trunc_sat_f64_s`, [value("f64", 9223372036854775000)]),
+ [value("i64", 9223372036854774784n)],
+);
+
+// ./test/core/conversions.wast:419
+assert_return(
+ () => invoke($0, `i64.trunc_sat_f64_s`, [value("f64", -9223372036854776000)]),
+ [value("i64", -9223372036854775808n)],
+);
+
+// ./test/core/conversions.wast:420
+assert_return(
+ () => invoke($0, `i64.trunc_sat_f64_s`, [value("f64", 9223372036854776000)]),
+ [value("i64", 9223372036854775807n)],
+);
+
+// ./test/core/conversions.wast:421
+assert_return(
+ () => invoke($0, `i64.trunc_sat_f64_s`, [value("f64", -9223372036854778000)]),
+ [value("i64", -9223372036854775808n)],
+);
+
+// ./test/core/conversions.wast:422
+assert_return(
+ () => invoke($0, `i64.trunc_sat_f64_s`, [value("f64", Infinity)]),
+ [value("i64", 9223372036854775807n)],
+);
+
+// ./test/core/conversions.wast:423
+assert_return(
+ () => invoke($0, `i64.trunc_sat_f64_s`, [value("f64", -Infinity)]),
+ [value("i64", -9223372036854775808n)],
+);
+
+// ./test/core/conversions.wast:424
+assert_return(
+ () => invoke($0, `i64.trunc_sat_f64_s`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i64", 0n)],
+);
+
+// ./test/core/conversions.wast:425
+assert_return(
+ () => invoke($0, `i64.trunc_sat_f64_s`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i64", 0n)],
+);
+
+// ./test/core/conversions.wast:426
+assert_return(
+ () => invoke($0, `i64.trunc_sat_f64_s`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i64", 0n)],
+);
+
+// ./test/core/conversions.wast:427
+assert_return(
+ () => invoke($0, `i64.trunc_sat_f64_s`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i64", 0n)],
+);
+
+// ./test/core/conversions.wast:429
+assert_return(() => invoke($0, `i64.trunc_sat_f64_u`, [value("f64", 0)]), [value("i64", 0n)]);
+
+// ./test/core/conversions.wast:430
+assert_return(() => invoke($0, `i64.trunc_sat_f64_u`, [value("f64", -0)]), [value("i64", 0n)]);
+
+// ./test/core/conversions.wast:431
+assert_return(
+ () => invoke($0, `i64.trunc_sat_f64_u`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i64", 0n)],
+);
+
+// ./test/core/conversions.wast:432
+assert_return(
+ () => invoke($0, `i64.trunc_sat_f64_u`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i64", 0n)],
+);
+
+// ./test/core/conversions.wast:433
+assert_return(() => invoke($0, `i64.trunc_sat_f64_u`, [value("f64", 1)]), [value("i64", 1n)]);
+
+// ./test/core/conversions.wast:434
+assert_return(() => invoke($0, `i64.trunc_sat_f64_u`, [value("f64", 1.1)]), [value("i64", 1n)]);
+
+// ./test/core/conversions.wast:435
+assert_return(() => invoke($0, `i64.trunc_sat_f64_u`, [value("f64", 1.5)]), [value("i64", 1n)]);
+
+// ./test/core/conversions.wast:436
+assert_return(
+ () => invoke($0, `i64.trunc_sat_f64_u`, [value("f64", 4294967295)]),
+ [value("i64", 4294967295n)],
+);
+
+// ./test/core/conversions.wast:437
+assert_return(
+ () => invoke($0, `i64.trunc_sat_f64_u`, [value("f64", 4294967296)]),
+ [value("i64", 4294967296n)],
+);
+
+// ./test/core/conversions.wast:438
+assert_return(
+ () => invoke($0, `i64.trunc_sat_f64_u`, [value("f64", 18446744073709550000)]),
+ [value("i64", -2048n)],
+);
+
+// ./test/core/conversions.wast:439
+assert_return(() => invoke($0, `i64.trunc_sat_f64_u`, [value("f64", -0.9)]), [value("i64", 0n)]);
+
+// ./test/core/conversions.wast:440
+assert_return(
+ () => invoke($0, `i64.trunc_sat_f64_u`, [value("f64", -0.9999999999999999)]),
+ [value("i64", 0n)],
+);
+
+// ./test/core/conversions.wast:441
+assert_return(
+ () => invoke($0, `i64.trunc_sat_f64_u`, [value("f64", 100000000)]),
+ [value("i64", 100000000n)],
+);
+
+// ./test/core/conversions.wast:442
+assert_return(
+ () => invoke($0, `i64.trunc_sat_f64_u`, [value("f64", 10000000000000000)]),
+ [value("i64", 10000000000000000n)],
+);
+
+// ./test/core/conversions.wast:443
+assert_return(
+ () => invoke($0, `i64.trunc_sat_f64_u`, [value("f64", 9223372036854776000)]),
+ [value("i64", -9223372036854775808n)],
+);
+
+// ./test/core/conversions.wast:444
+assert_return(
+ () => invoke($0, `i64.trunc_sat_f64_u`, [value("f64", 18446744073709552000)]),
+ [value("i64", -1n)],
+);
+
+// ./test/core/conversions.wast:445
+assert_return(() => invoke($0, `i64.trunc_sat_f64_u`, [value("f64", -1)]), [value("i64", 0n)]);
+
+// ./test/core/conversions.wast:446
+assert_return(() => invoke($0, `i64.trunc_sat_f64_u`, [value("f64", Infinity)]), [value("i64", -1n)]);
+
+// ./test/core/conversions.wast:447
+assert_return(() => invoke($0, `i64.trunc_sat_f64_u`, [value("f64", -Infinity)]), [value("i64", 0n)]);
+
+// ./test/core/conversions.wast:448
+assert_return(
+ () => invoke($0, `i64.trunc_sat_f64_u`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i64", 0n)],
+);
+
+// ./test/core/conversions.wast:449
+assert_return(
+ () => invoke($0, `i64.trunc_sat_f64_u`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i64", 0n)],
+);
+
+// ./test/core/conversions.wast:450
+assert_return(
+ () => invoke($0, `i64.trunc_sat_f64_u`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i64", 0n)],
+);
+
+// ./test/core/conversions.wast:451
+assert_return(
+ () => invoke($0, `i64.trunc_sat_f64_u`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i64", 0n)],
+);
+
+// ./test/core/conversions.wast:454
+assert_return(() => invoke($0, `f32.convert_i32_s`, [16777217]), [value("f32", 16777216)]);
+
+// ./test/core/conversions.wast:455
+assert_return(() => invoke($0, `f32.convert_i32_s`, [-16777217]), [value("f32", -16777216)]);
+
+// ./test/core/conversions.wast:456
+assert_return(() => invoke($0, `f32.convert_i32_s`, [16777219]), [value("f32", 16777220)]);
+
+// ./test/core/conversions.wast:457
+assert_return(() => invoke($0, `f32.convert_i32_s`, [-16777219]), [value("f32", -16777220)]);
+
+// ./test/core/conversions.wast:459
+assert_return(() => invoke($0, `f32.convert_i64_s`, [1n]), [value("f32", 1)]);
+
+// ./test/core/conversions.wast:460
+assert_return(() => invoke($0, `f32.convert_i64_s`, [-1n]), [value("f32", -1)]);
+
+// ./test/core/conversions.wast:461
+assert_return(() => invoke($0, `f32.convert_i64_s`, [0n]), [value("f32", 0)]);
+
+// ./test/core/conversions.wast:462
+assert_return(
+ () => invoke($0, `f32.convert_i64_s`, [9223372036854775807n]),
+ [value("f32", 9223372000000000000)],
+);
+
+// ./test/core/conversions.wast:463
+assert_return(
+ () => invoke($0, `f32.convert_i64_s`, [-9223372036854775808n]),
+ [value("f32", -9223372000000000000)],
+);
+
+// ./test/core/conversions.wast:464
+assert_return(
+ () => invoke($0, `f32.convert_i64_s`, [314159265358979n]),
+ [value("f32", 314159280000000)],
+);
+
+// ./test/core/conversions.wast:466
+assert_return(() => invoke($0, `f32.convert_i64_s`, [16777217n]), [value("f32", 16777216)]);
+
+// ./test/core/conversions.wast:467
+assert_return(() => invoke($0, `f32.convert_i64_s`, [-16777217n]), [value("f32", -16777216)]);
+
+// ./test/core/conversions.wast:468
+assert_return(() => invoke($0, `f32.convert_i64_s`, [16777219n]), [value("f32", 16777220)]);
+
+// ./test/core/conversions.wast:469
+assert_return(() => invoke($0, `f32.convert_i64_s`, [-16777219n]), [value("f32", -16777220)]);
+
+// ./test/core/conversions.wast:471
+assert_return(
+ () => invoke($0, `f32.convert_i64_s`, [9223371212221054977n]),
+ [value("f32", 9223371500000000000)],
+);
+
+// ./test/core/conversions.wast:472
+assert_return(
+ () => invoke($0, `f32.convert_i64_s`, [-9223371761976868863n]),
+ [value("f32", -9223371500000000000)],
+);
+
+// ./test/core/conversions.wast:473
+assert_return(
+ () => invoke($0, `f32.convert_i64_s`, [9007199791611905n]),
+ [value("f32", 9007200000000000)],
+);
+
+// ./test/core/conversions.wast:474
+assert_return(
+ () => invoke($0, `f32.convert_i64_s`, [-9007199791611905n]),
+ [value("f32", -9007200000000000)],
+);
+
+// ./test/core/conversions.wast:476
+assert_return(() => invoke($0, `f64.convert_i32_s`, [1]), [value("f64", 1)]);
+
+// ./test/core/conversions.wast:477
+assert_return(() => invoke($0, `f64.convert_i32_s`, [-1]), [value("f64", -1)]);
+
+// ./test/core/conversions.wast:478
+assert_return(() => invoke($0, `f64.convert_i32_s`, [0]), [value("f64", 0)]);
+
+// ./test/core/conversions.wast:479
+assert_return(() => invoke($0, `f64.convert_i32_s`, [2147483647]), [value("f64", 2147483647)]);
+
+// ./test/core/conversions.wast:480
+assert_return(() => invoke($0, `f64.convert_i32_s`, [-2147483648]), [value("f64", -2147483648)]);
+
+// ./test/core/conversions.wast:481
+assert_return(() => invoke($0, `f64.convert_i32_s`, [987654321]), [value("f64", 987654321)]);
+
+// ./test/core/conversions.wast:483
+assert_return(() => invoke($0, `f64.convert_i64_s`, [1n]), [value("f64", 1)]);
+
+// ./test/core/conversions.wast:484
+assert_return(() => invoke($0, `f64.convert_i64_s`, [-1n]), [value("f64", -1)]);
+
+// ./test/core/conversions.wast:485
+assert_return(() => invoke($0, `f64.convert_i64_s`, [0n]), [value("f64", 0)]);
+
+// ./test/core/conversions.wast:486
+assert_return(
+ () => invoke($0, `f64.convert_i64_s`, [9223372036854775807n]),
+ [value("f64", 9223372036854776000)],
+);
+
+// ./test/core/conversions.wast:487
+assert_return(
+ () => invoke($0, `f64.convert_i64_s`, [-9223372036854775808n]),
+ [value("f64", -9223372036854776000)],
+);
+
+// ./test/core/conversions.wast:488
+assert_return(
+ () => invoke($0, `f64.convert_i64_s`, [4669201609102990n]),
+ [value("f64", 4669201609102990)],
+);
+
+// ./test/core/conversions.wast:490
+assert_return(
+ () => invoke($0, `f64.convert_i64_s`, [9007199254740993n]),
+ [value("f64", 9007199254740992)],
+);
+
+// ./test/core/conversions.wast:491
+assert_return(
+ () => invoke($0, `f64.convert_i64_s`, [-9007199254740993n]),
+ [value("f64", -9007199254740992)],
+);
+
+// ./test/core/conversions.wast:492
+assert_return(
+ () => invoke($0, `f64.convert_i64_s`, [9007199254740995n]),
+ [value("f64", 9007199254740996)],
+);
+
+// ./test/core/conversions.wast:493
+assert_return(
+ () => invoke($0, `f64.convert_i64_s`, [-9007199254740995n]),
+ [value("f64", -9007199254740996)],
+);
+
+// ./test/core/conversions.wast:495
+assert_return(() => invoke($0, `f32.convert_i32_u`, [1]), [value("f32", 1)]);
+
+// ./test/core/conversions.wast:496
+assert_return(() => invoke($0, `f32.convert_i32_u`, [0]), [value("f32", 0)]);
+
+// ./test/core/conversions.wast:497
+assert_return(() => invoke($0, `f32.convert_i32_u`, [2147483647]), [value("f32", 2147483600)]);
+
+// ./test/core/conversions.wast:498
+assert_return(() => invoke($0, `f32.convert_i32_u`, [-2147483648]), [value("f32", 2147483600)]);
+
+// ./test/core/conversions.wast:499
+assert_return(() => invoke($0, `f32.convert_i32_u`, [305419896]), [value("f32", 305419900)]);
+
+// ./test/core/conversions.wast:500
+assert_return(() => invoke($0, `f32.convert_i32_u`, [-1]), [value("f32", 4294967300)]);
+
+// ./test/core/conversions.wast:501
+assert_return(() => invoke($0, `f32.convert_i32_u`, [-2147483520]), [value("f32", 2147483600)]);
+
+// ./test/core/conversions.wast:502
+assert_return(() => invoke($0, `f32.convert_i32_u`, [-2147483519]), [value("f32", 2147484000)]);
+
+// ./test/core/conversions.wast:503
+assert_return(() => invoke($0, `f32.convert_i32_u`, [-2147483518]), [value("f32", 2147484000)]);
+
+// ./test/core/conversions.wast:504
+assert_return(() => invoke($0, `f32.convert_i32_u`, [-384]), [value("f32", 4294966800)]);
+
+// ./test/core/conversions.wast:505
+assert_return(() => invoke($0, `f32.convert_i32_u`, [-383]), [value("f32", 4294967000)]);
+
+// ./test/core/conversions.wast:506
+assert_return(() => invoke($0, `f32.convert_i32_u`, [-382]), [value("f32", 4294967000)]);
+
+// ./test/core/conversions.wast:508
+assert_return(() => invoke($0, `f32.convert_i32_u`, [16777217]), [value("f32", 16777216)]);
+
+// ./test/core/conversions.wast:509
+assert_return(() => invoke($0, `f32.convert_i32_u`, [16777219]), [value("f32", 16777220)]);
+
+// ./test/core/conversions.wast:511
+assert_return(() => invoke($0, `f32.convert_i64_u`, [1n]), [value("f32", 1)]);
+
+// ./test/core/conversions.wast:512
+assert_return(() => invoke($0, `f32.convert_i64_u`, [0n]), [value("f32", 0)]);
+
+// ./test/core/conversions.wast:513
+assert_return(
+ () => invoke($0, `f32.convert_i64_u`, [9223372036854775807n]),
+ [value("f32", 9223372000000000000)],
+);
+
+// ./test/core/conversions.wast:514
+assert_return(
+ () => invoke($0, `f32.convert_i64_u`, [-9223372036854775808n]),
+ [value("f32", 9223372000000000000)],
+);
+
+// ./test/core/conversions.wast:515
+assert_return(() => invoke($0, `f32.convert_i64_u`, [-1n]), [value("f32", 18446744000000000000)]);
+
+// ./test/core/conversions.wast:517
+assert_return(() => invoke($0, `f32.convert_i64_u`, [16777217n]), [value("f32", 16777216)]);
+
+// ./test/core/conversions.wast:518
+assert_return(() => invoke($0, `f32.convert_i64_u`, [16777219n]), [value("f32", 16777220)]);
+
+// ./test/core/conversions.wast:520
+assert_return(
+ () => invoke($0, `f32.convert_i64_u`, [9007199791611905n]),
+ [value("f32", 9007200000000000)],
+);
+
+// ./test/core/conversions.wast:521
+assert_return(
+ () => invoke($0, `f32.convert_i64_u`, [9223371761976868863n]),
+ [value("f32", 9223371500000000000)],
+);
+
+// ./test/core/conversions.wast:522
+assert_return(
+ () => invoke($0, `f32.convert_i64_u`, [-9223371487098961919n]),
+ [value("f32", 9223373000000000000)],
+);
+
+// ./test/core/conversions.wast:523
+assert_return(
+ () => invoke($0, `f32.convert_i64_u`, [-1649267441663n]),
+ [value("f32", 18446743000000000000)],
+);
+
+// ./test/core/conversions.wast:525
+assert_return(() => invoke($0, `f64.convert_i32_u`, [1]), [value("f64", 1)]);
+
+// ./test/core/conversions.wast:526
+assert_return(() => invoke($0, `f64.convert_i32_u`, [0]), [value("f64", 0)]);
+
+// ./test/core/conversions.wast:527
+assert_return(() => invoke($0, `f64.convert_i32_u`, [2147483647]), [value("f64", 2147483647)]);
+
+// ./test/core/conversions.wast:528
+assert_return(() => invoke($0, `f64.convert_i32_u`, [-2147483648]), [value("f64", 2147483648)]);
+
+// ./test/core/conversions.wast:529
+assert_return(() => invoke($0, `f64.convert_i32_u`, [-1]), [value("f64", 4294967295)]);
+
+// ./test/core/conversions.wast:531
+assert_return(() => invoke($0, `f64.convert_i64_u`, [1n]), [value("f64", 1)]);
+
+// ./test/core/conversions.wast:532
+assert_return(() => invoke($0, `f64.convert_i64_u`, [0n]), [value("f64", 0)]);
+
+// ./test/core/conversions.wast:533
+assert_return(
+ () => invoke($0, `f64.convert_i64_u`, [9223372036854775807n]),
+ [value("f64", 9223372036854776000)],
+);
+
+// ./test/core/conversions.wast:534
+assert_return(
+ () => invoke($0, `f64.convert_i64_u`, [-9223372036854775808n]),
+ [value("f64", 9223372036854776000)],
+);
+
+// ./test/core/conversions.wast:535
+assert_return(() => invoke($0, `f64.convert_i64_u`, [-1n]), [value("f64", 18446744073709552000)]);
+
+// ./test/core/conversions.wast:536
+assert_return(
+ () => invoke($0, `f64.convert_i64_u`, [-9223372036854774784n]),
+ [value("f64", 9223372036854776000)],
+);
+
+// ./test/core/conversions.wast:537
+assert_return(
+ () => invoke($0, `f64.convert_i64_u`, [-9223372036854774783n]),
+ [value("f64", 9223372036854778000)],
+);
+
+// ./test/core/conversions.wast:538
+assert_return(
+ () => invoke($0, `f64.convert_i64_u`, [-9223372036854774782n]),
+ [value("f64", 9223372036854778000)],
+);
+
+// ./test/core/conversions.wast:539
+assert_return(() => invoke($0, `f64.convert_i64_u`, [-3072n]), [value("f64", 18446744073709548000)]);
+
+// ./test/core/conversions.wast:540
+assert_return(() => invoke($0, `f64.convert_i64_u`, [-3071n]), [value("f64", 18446744073709550000)]);
+
+// ./test/core/conversions.wast:541
+assert_return(() => invoke($0, `f64.convert_i64_u`, [-3070n]), [value("f64", 18446744073709550000)]);
+
+// ./test/core/conversions.wast:543
+assert_return(
+ () => invoke($0, `f64.convert_i64_u`, [9007199254740993n]),
+ [value("f64", 9007199254740992)],
+);
+
+// ./test/core/conversions.wast:544
+assert_return(
+ () => invoke($0, `f64.convert_i64_u`, [9007199254740995n]),
+ [value("f64", 9007199254740996)],
+);
+
+// ./test/core/conversions.wast:546
+assert_return(() => invoke($0, `f64.promote_f32`, [value("f32", 0)]), [value("f64", 0)]);
+
+// ./test/core/conversions.wast:547
+assert_return(() => invoke($0, `f64.promote_f32`, [value("f32", -0)]), [value("f64", -0)]);
+
+// ./test/core/conversions.wast:548
+assert_return(
+ () => invoke($0, `f64.promote_f32`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f64", 0.000000000000000000000000000000000000000000001401298464324817)],
+);
+
+// ./test/core/conversions.wast:549
+assert_return(
+ () => invoke($0, `f64.promote_f32`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000001401298464324817),
+ ],
+);
+
+// ./test/core/conversions.wast:550
+assert_return(() => invoke($0, `f64.promote_f32`, [value("f32", 1)]), [value("f64", 1)]);
+
+// ./test/core/conversions.wast:551
+assert_return(() => invoke($0, `f64.promote_f32`, [value("f32", -1)]), [value("f64", -1)]);
+
+// ./test/core/conversions.wast:552
+assert_return(
+ () => invoke($0, `f64.promote_f32`, [
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f64", -340282346638528860000000000000000000000)],
+);
+
+// ./test/core/conversions.wast:553
+assert_return(
+ () => invoke($0, `f64.promote_f32`, [
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f64", 340282346638528860000000000000000000000)],
+);
+
+// ./test/core/conversions.wast:555
+assert_return(
+ () => invoke($0, `f64.promote_f32`, [
+ value("f32", 0.0000000000000000000000000000000000015046328),
+ ]),
+ [value("f64", 0.000000000000000000000000000000000001504632769052528)],
+);
+
+// ./test/core/conversions.wast:557
+assert_return(
+ () => invoke($0, `f64.promote_f32`, [
+ value("f32", 66382537000000000000000000000000000000),
+ ]),
+ [value("f64", 66382536710104395000000000000000000000)],
+);
+
+// ./test/core/conversions.wast:558
+assert_return(() => invoke($0, `f64.promote_f32`, [value("f32", Infinity)]), [value("f64", Infinity)]);
+
+// ./test/core/conversions.wast:559
+assert_return(() => invoke($0, `f64.promote_f32`, [value("f32", -Infinity)]), [value("f64", -Infinity)]);
+
+// ./test/core/conversions.wast:560
+assert_return(
+ () => invoke($0, `f64.promote_f32`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/conversions.wast:561
+assert_return(
+ () => invoke($0, `f64.promote_f32`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/conversions.wast:562
+assert_return(
+ () => invoke($0, `f64.promote_f32`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/conversions.wast:563
+assert_return(
+ () => invoke($0, `f64.promote_f32`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/conversions.wast:565
+assert_return(() => invoke($0, `f32.demote_f64`, [value("f64", 0)]), [value("f32", 0)]);
+
+// ./test/core/conversions.wast:566
+assert_return(() => invoke($0, `f32.demote_f64`, [value("f64", -0)]), [value("f32", -0)]);
+
+// ./test/core/conversions.wast:567
+assert_return(
+ () => invoke($0, `f32.demote_f64`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/conversions.wast:568
+assert_return(
+ () => invoke($0, `f32.demote_f64`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/conversions.wast:569
+assert_return(() => invoke($0, `f32.demote_f64`, [value("f64", 1)]), [value("f32", 1)]);
+
+// ./test/core/conversions.wast:570
+assert_return(() => invoke($0, `f32.demote_f64`, [value("f64", -1)]), [value("f32", -1)]);
+
+// ./test/core/conversions.wast:571
+assert_return(
+ () => invoke($0, `f32.demote_f64`, [
+ value("f64", 0.000000000000000000000000000000000000011754942807573643),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/conversions.wast:572
+assert_return(
+ () => invoke($0, `f32.demote_f64`, [
+ value("f64", -0.000000000000000000000000000000000000011754942807573643),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/conversions.wast:573
+assert_return(
+ () => invoke($0, `f32.demote_f64`, [
+ value("f64", 0.000000000000000000000000000000000000011754942807573642),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754942)],
+);
+
+// ./test/core/conversions.wast:574
+assert_return(
+ () => invoke($0, `f32.demote_f64`, [
+ value("f64", -0.000000000000000000000000000000000000011754942807573642),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754942)],
+);
+
+// ./test/core/conversions.wast:575
+assert_return(
+ () => invoke($0, `f32.demote_f64`, [
+ value("f64", 0.000000000000000000000000000000000000000000001401298464324817),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/conversions.wast:576
+assert_return(
+ () => invoke($0, `f32.demote_f64`, [
+ value("f64", -0.000000000000000000000000000000000000000000001401298464324817),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/conversions.wast:577
+assert_return(
+ () => invoke($0, `f32.demote_f64`, [
+ value("f64", 340282336497324060000000000000000000000),
+ ]),
+ [value("f32", 340282330000000000000000000000000000000)],
+);
+
+// ./test/core/conversions.wast:578
+assert_return(
+ () => invoke($0, `f32.demote_f64`, [
+ value("f64", -340282336497324060000000000000000000000),
+ ]),
+ [value("f32", -340282330000000000000000000000000000000)],
+);
+
+// ./test/core/conversions.wast:579
+assert_return(
+ () => invoke($0, `f32.demote_f64`, [
+ value("f64", 340282336497324100000000000000000000000),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/conversions.wast:580
+assert_return(
+ () => invoke($0, `f32.demote_f64`, [
+ value("f64", -340282336497324100000000000000000000000),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/conversions.wast:581
+assert_return(
+ () => invoke($0, `f32.demote_f64`, [
+ value("f64", 340282346638528860000000000000000000000),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/conversions.wast:582
+assert_return(
+ () => invoke($0, `f32.demote_f64`, [
+ value("f64", -340282346638528860000000000000000000000),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/conversions.wast:583
+assert_return(
+ () => invoke($0, `f32.demote_f64`, [
+ value("f64", 340282356779733620000000000000000000000),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/conversions.wast:584
+assert_return(
+ () => invoke($0, `f32.demote_f64`, [
+ value("f64", -340282356779733620000000000000000000000),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/conversions.wast:585
+assert_return(
+ () => invoke($0, `f32.demote_f64`, [
+ value("f64", 340282356779733660000000000000000000000),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/conversions.wast:586
+assert_return(
+ () => invoke($0, `f32.demote_f64`, [
+ value("f64", -340282356779733660000000000000000000000),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/conversions.wast:587
+assert_return(
+ () => invoke($0, `f32.demote_f64`, [
+ value("f64", 0.000000000000000000000000000000000001504632769052528),
+ ]),
+ [value("f32", 0.0000000000000000000000000000000000015046328)],
+);
+
+// ./test/core/conversions.wast:588
+assert_return(
+ () => invoke($0, `f32.demote_f64`, [
+ value("f64", 66382536710104395000000000000000000000),
+ ]),
+ [value("f32", 66382537000000000000000000000000000000)],
+);
+
+// ./test/core/conversions.wast:589
+assert_return(() => invoke($0, `f32.demote_f64`, [value("f64", Infinity)]), [value("f32", Infinity)]);
+
+// ./test/core/conversions.wast:590
+assert_return(() => invoke($0, `f32.demote_f64`, [value("f64", -Infinity)]), [value("f32", -Infinity)]);
+
+// ./test/core/conversions.wast:591
+assert_return(() => invoke($0, `f32.demote_f64`, [value("f64", 1.0000000000000002)]), [value("f32", 1)]);
+
+// ./test/core/conversions.wast:592
+assert_return(() => invoke($0, `f32.demote_f64`, [value("f64", 0.9999999999999999)]), [value("f32", 1)]);
+
+// ./test/core/conversions.wast:593
+assert_return(() => invoke($0, `f32.demote_f64`, [value("f64", 1.0000000596046448)]), [value("f32", 1)]);
+
+// ./test/core/conversions.wast:594
+assert_return(
+ () => invoke($0, `f32.demote_f64`, [value("f64", 1.000000059604645)]),
+ [value("f32", 1.0000001)],
+);
+
+// ./test/core/conversions.wast:595
+assert_return(
+ () => invoke($0, `f32.demote_f64`, [value("f64", 1.000000178813934)]),
+ [value("f32", 1.0000001)],
+);
+
+// ./test/core/conversions.wast:596
+assert_return(
+ () => invoke($0, `f32.demote_f64`, [value("f64", 1.0000001788139343)]),
+ [value("f32", 1.0000002)],
+);
+
+// ./test/core/conversions.wast:597
+assert_return(
+ () => invoke($0, `f32.demote_f64`, [value("f64", 1.0000002980232239)]),
+ [value("f32", 1.0000002)],
+);
+
+// ./test/core/conversions.wast:598
+assert_return(() => invoke($0, `f32.demote_f64`, [value("f64", 16777217)]), [value("f32", 16777216)]);
+
+// ./test/core/conversions.wast:599
+assert_return(
+ () => invoke($0, `f32.demote_f64`, [value("f64", 16777217.000000004)]),
+ [value("f32", 16777218)],
+);
+
+// ./test/core/conversions.wast:600
+assert_return(
+ () => invoke($0, `f32.demote_f64`, [value("f64", 16777218.999999996)]),
+ [value("f32", 16777218)],
+);
+
+// ./test/core/conversions.wast:601
+assert_return(() => invoke($0, `f32.demote_f64`, [value("f64", 16777219)]), [value("f32", 16777220)]);
+
+// ./test/core/conversions.wast:602
+assert_return(
+ () => invoke($0, `f32.demote_f64`, [value("f64", 424258443299142700000000000000000)]),
+ [value("f32", 424258450000000000000000000000000)],
+);
+
+// ./test/core/conversions.wast:603
+assert_return(
+ () => invoke($0, `f32.demote_f64`, [
+ value("f64", 0.0000000000000000000000000000000001569262107843488),
+ ]),
+ [value("f32", 0.00000000000000000000000000000000015692621)],
+);
+
+// ./test/core/conversions.wast:604
+assert_return(
+ () => invoke($0, `f32.demote_f64`, [
+ value("f64", 0.000000000000000000000000000000000000010551773688605172),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000010551773)],
+);
+
+// ./test/core/conversions.wast:605
+assert_return(
+ () => invoke($0, `f32.demote_f64`, [value("f64", -2.8238128484141933)]),
+ [value("f32", -2.823813)],
+);
+
+// ./test/core/conversions.wast:606
+assert_return(
+ () => invoke($0, `f32.demote_f64`, [
+ value("f64", -9063376370095757000000000000000000),
+ ]),
+ [value("f32", -9063376000000000000000000000000000)],
+);
+
+// ./test/core/conversions.wast:607
+assert_return(
+ () => invoke($0, `f32.demote_f64`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/conversions.wast:608
+assert_return(
+ () => invoke($0, `f32.demote_f64`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/conversions.wast:609
+assert_return(
+ () => invoke($0, `f32.demote_f64`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/conversions.wast:610
+assert_return(
+ () => invoke($0, `f32.demote_f64`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/conversions.wast:611
+assert_return(
+ () => invoke($0, `f32.demote_f64`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/conversions.wast:612
+assert_return(
+ () => invoke($0, `f32.demote_f64`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/conversions.wast:613
+assert_return(
+ () => invoke($0, `f32.demote_f64`, [
+ value("f64", 0.0000000000000000000000000000000000000000000007006492321624085),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/conversions.wast:614
+assert_return(
+ () => invoke($0, `f32.demote_f64`, [
+ value("f64", -0.0000000000000000000000000000000000000000000007006492321624085),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/conversions.wast:615
+assert_return(
+ () => invoke($0, `f32.demote_f64`, [
+ value("f64", 0.0000000000000000000000000000000000000000000007006492321624087),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/conversions.wast:616
+assert_return(
+ () => invoke($0, `f32.demote_f64`, [
+ value("f64", -0.0000000000000000000000000000000000000000000007006492321624087),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/conversions.wast:618
+assert_return(() => invoke($0, `f32.reinterpret_i32`, [0]), [value("f32", 0)]);
+
+// ./test/core/conversions.wast:619
+assert_return(() => invoke($0, `f32.reinterpret_i32`, [-2147483648]), [value("f32", -0)]);
+
+// ./test/core/conversions.wast:620
+assert_return(
+ () => invoke($0, `f32.reinterpret_i32`, [1]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/conversions.wast:621
+assert_return(() => invoke($0, `f32.reinterpret_i32`, [-1]), [bytes("f32", [0xff, 0xff, 0xff, 0xff])]);
+
+// ./test/core/conversions.wast:622
+assert_return(
+ () => invoke($0, `f32.reinterpret_i32`, [123456789]),
+ [value("f32", 0.00000000000000000000000000000000016535997)],
+);
+
+// ./test/core/conversions.wast:623
+assert_return(
+ () => invoke($0, `f32.reinterpret_i32`, [-2147483647]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/conversions.wast:624
+assert_return(() => invoke($0, `f32.reinterpret_i32`, [2139095040]), [value("f32", Infinity)]);
+
+// ./test/core/conversions.wast:625
+assert_return(() => invoke($0, `f32.reinterpret_i32`, [-8388608]), [value("f32", -Infinity)]);
+
+// ./test/core/conversions.wast:626
+assert_return(
+ () => invoke($0, `f32.reinterpret_i32`, [2143289344]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])],
+);
+
+// ./test/core/conversions.wast:627
+assert_return(
+ () => invoke($0, `f32.reinterpret_i32`, [-4194304]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0xff])],
+);
+
+// ./test/core/conversions.wast:628
+assert_return(
+ () => invoke($0, `f32.reinterpret_i32`, [2141192192]),
+ [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])],
+);
+
+// ./test/core/conversions.wast:629
+assert_return(
+ () => invoke($0, `f32.reinterpret_i32`, [-6291456]),
+ [bytes("f32", [0x0, 0x0, 0xa0, 0xff])],
+);
+
+// ./test/core/conversions.wast:631
+assert_return(() => invoke($0, `f64.reinterpret_i64`, [0n]), [value("f64", 0)]);
+
+// ./test/core/conversions.wast:632
+assert_return(
+ () => invoke($0, `f64.reinterpret_i64`, [1n]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/conversions.wast:633
+assert_return(
+ () => invoke($0, `f64.reinterpret_i64`, [-1n]),
+ [bytes("f64", [0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff])],
+);
+
+// ./test/core/conversions.wast:634
+assert_return(() => invoke($0, `f64.reinterpret_i64`, [-9223372036854775808n]), [value("f64", -0)]);
+
+// ./test/core/conversions.wast:635
+assert_return(
+ () => invoke($0, `f64.reinterpret_i64`, [1234567890n]),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000609957582),
+ ],
+);
+
+// ./test/core/conversions.wast:636
+assert_return(
+ () => invoke($0, `f64.reinterpret_i64`, [-9223372036854775807n]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/conversions.wast:637
+assert_return(() => invoke($0, `f64.reinterpret_i64`, [9218868437227405312n]), [value("f64", Infinity)]);
+
+// ./test/core/conversions.wast:638
+assert_return(() => invoke($0, `f64.reinterpret_i64`, [-4503599627370496n]), [value("f64", -Infinity)]);
+
+// ./test/core/conversions.wast:639
+assert_return(
+ () => invoke($0, `f64.reinterpret_i64`, [9221120237041090560n]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f])],
+);
+
+// ./test/core/conversions.wast:640
+assert_return(
+ () => invoke($0, `f64.reinterpret_i64`, [-2251799813685248n]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff])],
+);
+
+// ./test/core/conversions.wast:641
+assert_return(
+ () => invoke($0, `f64.reinterpret_i64`, [9219994337134247936n]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f])],
+);
+
+// ./test/core/conversions.wast:642
+assert_return(
+ () => invoke($0, `f64.reinterpret_i64`, [-3377699720527872n]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff])],
+);
+
+// ./test/core/conversions.wast:644
+assert_return(() => invoke($0, `i32.reinterpret_f32`, [value("f32", 0)]), [value("i32", 0)]);
+
+// ./test/core/conversions.wast:645
+assert_return(() => invoke($0, `i32.reinterpret_f32`, [value("f32", -0)]), [value("i32", -2147483648)]);
+
+// ./test/core/conversions.wast:646
+assert_return(
+ () => invoke($0, `i32.reinterpret_f32`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/conversions.wast:647
+assert_return(
+ () => invoke($0, `i32.reinterpret_f32`, [bytes("f32", [0xff, 0xff, 0xff, 0xff])]),
+ [value("i32", -1)],
+);
+
+// ./test/core/conversions.wast:648
+assert_return(
+ () => invoke($0, `i32.reinterpret_f32`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", -2147483647)],
+);
+
+// ./test/core/conversions.wast:649
+assert_return(() => invoke($0, `i32.reinterpret_f32`, [value("f32", 1)]), [value("i32", 1065353216)]);
+
+// ./test/core/conversions.wast:650
+assert_return(
+ () => invoke($0, `i32.reinterpret_f32`, [value("f32", 3.1415925)]),
+ [value("i32", 1078530010)],
+);
+
+// ./test/core/conversions.wast:651
+assert_return(
+ () => invoke($0, `i32.reinterpret_f32`, [
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 2139095039)],
+);
+
+// ./test/core/conversions.wast:652
+assert_return(
+ () => invoke($0, `i32.reinterpret_f32`, [
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", -8388609)],
+);
+
+// ./test/core/conversions.wast:653
+assert_return(
+ () => invoke($0, `i32.reinterpret_f32`, [value("f32", Infinity)]),
+ [value("i32", 2139095040)],
+);
+
+// ./test/core/conversions.wast:654
+assert_return(
+ () => invoke($0, `i32.reinterpret_f32`, [value("f32", -Infinity)]),
+ [value("i32", -8388608)],
+);
+
+// ./test/core/conversions.wast:655
+assert_return(
+ () => invoke($0, `i32.reinterpret_f32`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [value("i32", 2143289344)],
+);
+
+// ./test/core/conversions.wast:656
+assert_return(
+ () => invoke($0, `i32.reinterpret_f32`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [value("i32", -4194304)],
+);
+
+// ./test/core/conversions.wast:657
+assert_return(
+ () => invoke($0, `i32.reinterpret_f32`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [value("i32", 2141192192)],
+);
+
+// ./test/core/conversions.wast:658
+assert_return(
+ () => invoke($0, `i32.reinterpret_f32`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [value("i32", -6291456)],
+);
+
+// ./test/core/conversions.wast:660
+assert_return(() => invoke($0, `i64.reinterpret_f64`, [value("f64", 0)]), [value("i64", 0n)]);
+
+// ./test/core/conversions.wast:661
+assert_return(
+ () => invoke($0, `i64.reinterpret_f64`, [value("f64", -0)]),
+ [value("i64", -9223372036854775808n)],
+);
+
+// ./test/core/conversions.wast:662
+assert_return(
+ () => invoke($0, `i64.reinterpret_f64`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i64", 1n)],
+);
+
+// ./test/core/conversions.wast:663
+assert_return(
+ () => invoke($0, `i64.reinterpret_f64`, [
+ bytes("f64", [0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [value("i64", -1n)],
+);
+
+// ./test/core/conversions.wast:664
+assert_return(
+ () => invoke($0, `i64.reinterpret_f64`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i64", -9223372036854775807n)],
+);
+
+// ./test/core/conversions.wast:665
+assert_return(
+ () => invoke($0, `i64.reinterpret_f64`, [value("f64", 1)]),
+ [value("i64", 4607182418800017408n)],
+);
+
+// ./test/core/conversions.wast:666
+assert_return(
+ () => invoke($0, `i64.reinterpret_f64`, [value("f64", 3.14159265358979)]),
+ [value("i64", 4614256656552045841n)],
+);
+
+// ./test/core/conversions.wast:667
+assert_return(
+ () => invoke($0, `i64.reinterpret_f64`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i64", 9218868437227405311n)],
+);
+
+// ./test/core/conversions.wast:668
+assert_return(
+ () => invoke($0, `i64.reinterpret_f64`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i64", -4503599627370497n)],
+);
+
+// ./test/core/conversions.wast:669
+assert_return(
+ () => invoke($0, `i64.reinterpret_f64`, [value("f64", Infinity)]),
+ [value("i64", 9218868437227405312n)],
+);
+
+// ./test/core/conversions.wast:670
+assert_return(
+ () => invoke($0, `i64.reinterpret_f64`, [value("f64", -Infinity)]),
+ [value("i64", -4503599627370496n)],
+);
+
+// ./test/core/conversions.wast:671
+assert_return(
+ () => invoke($0, `i64.reinterpret_f64`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i64", 9221120237041090560n)],
+);
+
+// ./test/core/conversions.wast:672
+assert_return(
+ () => invoke($0, `i64.reinterpret_f64`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i64", -2251799813685248n)],
+);
+
+// ./test/core/conversions.wast:673
+assert_return(
+ () => invoke($0, `i64.reinterpret_f64`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i64", 9219994337134247936n)],
+);
+
+// ./test/core/conversions.wast:674
+assert_return(
+ () => invoke($0, `i64.reinterpret_f64`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i64", -3377699720527872n)],
+);
+
+// ./test/core/conversions.wast:678
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (i32.wrap_i64 (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/conversions.wast:679
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (i32.trunc_f32_s (i64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/conversions.wast:680
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (i32.trunc_f32_u (i64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/conversions.wast:681
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (i32.trunc_f64_s (i64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/conversions.wast:682
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (i32.trunc_f64_u (i64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/conversions.wast:683
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (i32.reinterpret_f32 (i64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/conversions.wast:684
+assert_invalid(
+ () => instantiate(`(module (func (result i64) (i64.extend_i32_s (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/conversions.wast:685
+assert_invalid(
+ () => instantiate(`(module (func (result i64) (i64.extend_i32_u (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/conversions.wast:686
+assert_invalid(
+ () => instantiate(`(module (func (result i64) (i64.trunc_f32_s (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/conversions.wast:687
+assert_invalid(
+ () => instantiate(`(module (func (result i64) (i64.trunc_f32_u (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/conversions.wast:688
+assert_invalid(
+ () => instantiate(`(module (func (result i64) (i64.trunc_f64_s (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/conversions.wast:689
+assert_invalid(
+ () => instantiate(`(module (func (result i64) (i64.trunc_f64_u (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/conversions.wast:690
+assert_invalid(
+ () => instantiate(`(module (func (result i64) (i64.reinterpret_f64 (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/conversions.wast:691
+assert_invalid(
+ () => instantiate(`(module (func (result f32) (f32.convert_i32_s (i64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/conversions.wast:692
+assert_invalid(
+ () => instantiate(`(module (func (result f32) (f32.convert_i32_u (i64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/conversions.wast:693
+assert_invalid(
+ () => instantiate(`(module (func (result f32) (f32.convert_i64_s (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/conversions.wast:694
+assert_invalid(
+ () => instantiate(`(module (func (result f32) (f32.convert_i64_u (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/conversions.wast:695
+assert_invalid(
+ () => instantiate(`(module (func (result f32) (f32.demote_f64 (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/conversions.wast:696
+assert_invalid(
+ () => instantiate(`(module (func (result f32) (f32.reinterpret_i32 (i64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/conversions.wast:697
+assert_invalid(
+ () => instantiate(`(module (func (result f64) (f64.convert_i32_s (i64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/conversions.wast:698
+assert_invalid(
+ () => instantiate(`(module (func (result f64) (f64.convert_i32_u (i64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/conversions.wast:699
+assert_invalid(
+ () => instantiate(`(module (func (result f64) (f64.convert_i64_s (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/conversions.wast:700
+assert_invalid(
+ () => instantiate(`(module (func (result f64) (f64.convert_i64_u (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/conversions.wast:701
+assert_invalid(
+ () => instantiate(`(module (func (result f64) (f64.promote_f32 (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/conversions.wast:702
+assert_invalid(
+ () => instantiate(`(module (func (result f64) (f64.reinterpret_i64 (i32.const 0))))`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/custom.wast.js b/js/src/jit-test/tests/wasm/spec/spec/custom.wast.js
new file mode 100644
index 0000000000..c2883feba5
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/custom.wast.js
@@ -0,0 +1,157 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/custom.wast
+
+// ./test/core/custom.wast:1
+let $0 = instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\00\\24\\10" "a custom section" "this is the payload"
+ "\\00\\20\\10" "a custom section" "this is payload"
+ "\\00\\11\\10" "a custom section" ""
+ "\\00\\10\\00" "" "this is payload"
+ "\\00\\01\\00" "" ""
+ "\\00\\24\\10" "\\00\\00custom sectio\\00" "this is the payload"
+ "\\00\\24\\10" "\\ef\\bb\\bfa custom sect" "this is the payload"
+ "\\00\\24\\10" "a custom sect\\e2\\8c\\a3" "this is the payload"
+ "\\00\\1f\\16" "module within a module" "\\00asm" "\\01\\00\\00\\00"
+)`);
+
+// ./test/core/custom.wast:14
+let $1 = instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\00\\0e\\06" "custom" "payload"
+ "\\00\\0e\\06" "custom" "payload"
+ "\\01\\01\\00" ;; type section
+ "\\00\\0e\\06" "custom" "payload"
+ "\\00\\0e\\06" "custom" "payload"
+ "\\02\\01\\00" ;; import section
+ "\\00\\0e\\06" "custom" "payload"
+ "\\00\\0e\\06" "custom" "payload"
+ "\\03\\01\\00" ;; function section
+ "\\00\\0e\\06" "custom" "payload"
+ "\\00\\0e\\06" "custom" "payload"
+ "\\04\\01\\00" ;; table section
+ "\\00\\0e\\06" "custom" "payload"
+ "\\00\\0e\\06" "custom" "payload"
+ "\\05\\01\\00" ;; memory section
+ "\\00\\0e\\06" "custom" "payload"
+ "\\00\\0e\\06" "custom" "payload"
+ "\\06\\01\\00" ;; global section
+ "\\00\\0e\\06" "custom" "payload"
+ "\\00\\0e\\06" "custom" "payload"
+ "\\07\\01\\00" ;; export section
+ "\\00\\0e\\06" "custom" "payload"
+ "\\00\\0e\\06" "custom" "payload"
+ "\\09\\01\\00" ;; element section
+ "\\00\\0e\\06" "custom" "payload"
+ "\\00\\0e\\06" "custom" "payload"
+ "\\0a\\01\\00" ;; code section
+ "\\00\\0e\\06" "custom" "payload"
+ "\\00\\0e\\06" "custom" "payload"
+ "\\0b\\01\\00" ;; data section
+ "\\00\\0e\\06" "custom" "payload"
+ "\\00\\0e\\06" "custom" "payload"
+)`);
+
+// ./test/core/custom.wast:50
+let $2 = instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\01\\07\\01\\60\\02\\7f\\7f\\01\\7f" ;; type section
+ "\\00\\1a\\06" "custom" "this is the payload" ;; custom section
+ "\\03\\02\\01\\00" ;; function section
+ "\\07\\0a\\01\\06\\61\\64\\64\\54\\77\\6f\\00\\00" ;; export section
+ "\\0a\\09\\01\\07\\00\\20\\00\\20\\01\\6a\\0b" ;; code section
+ "\\00\\1b\\07" "custom2" "this is the payload" ;; custom section
+)`);
+
+// ./test/core/custom.wast:60
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\00"
+ )`),
+ `unexpected end`,
+);
+
+// ./test/core/custom.wast:68
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\00\\00"
+ )`),
+ `unexpected end`,
+);
+
+// ./test/core/custom.wast:76
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\00\\00\\00\\05\\01\\00\\07\\00\\00"
+ )`),
+ `unexpected end`,
+);
+
+// ./test/core/custom.wast:84
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\00\\26\\10" "a custom section" "this is the payload"
+ )`),
+ `length out of bounds`,
+);
+
+// ./test/core/custom.wast:92
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\00\\25\\10" "a custom section" "this is the payload"
+ "\\00\\24\\10" "a custom section" "this is the payload"
+ )`),
+ `malformed section id`,
+);
+
+// ./test/core/custom.wast:101
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\01\\07\\01\\60\\02\\7f\\7f\\01\\7f" ;; type section
+ "\\00\\25\\10" "a custom section" "this is the payload" ;; wrong length!
+ "\\03\\02\\01\\00" ;; function section
+ "\\0a\\09\\01\\07\\00\\20\\00\\20\\01\\6a\\0b" ;; code section
+ "\\00\\1b\\07" "custom2" "this is the payload" ;; custom section
+ )`),
+ `function and code section have inconsistent lengths`,
+);
+
+// ./test/core/custom.wast:114
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm\\01\\00\\00\\00"
+ "\\00asm\\01\\00\\00\\00"
+ )`),
+ `length out of bounds`,
+);
+
+// ./test/core/custom.wast:122
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\05\\03\\01\\00\\01" ;; memory section
+ "\\0c\\01\\02" ;; data count section (2 segments)
+ "\\0b\\06\\01\\00\\41\\00\\0b\\00" ;; data section (1 segment)
+ )`),
+ `data count and data section have inconsistent lengths`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/directives.txt b/js/src/jit-test/tests/wasm/spec/spec/directives.txt
new file mode 100644
index 0000000000..9fa4f75347
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/directives.txt
@@ -0,0 +1 @@
+|jit-test| test-also=--wasm-compiler=optimizing; test-also=--wasm-compiler=baseline; test-also=--wasm-test-serialization; test-also=--test-wasm-await-tier2; test-also=--disable-wasm-huge-memory; skip-variant-if: --disable-wasm-huge-memory, !wasmHugeMemorySupported(); local-include:harness/harness.js; test-also=--no-avx; skip-variant-if: --no-avx, !getBuildConfiguration('x86') && !getBuildConfiguration('x64') || getBuildConfiguration('simulator') \ No newline at end of file
diff --git a/js/src/jit-test/tests/wasm/spec/spec/endianness.wast.js b/js/src/jit-test/tests/wasm/spec/spec/endianness.wast.js
new file mode 100644
index 0000000000..e408d9e677
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/endianness.wast.js
@@ -0,0 +1,385 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/endianness.wast
+
+// ./test/core/endianness.wast:1
+let $0 = instantiate(`(module
+ (memory 1)
+
+ ;; Stores an i16 value in little-endian-format
+ (func $$i16_store_little (param $$address i32) (param $$value i32)
+ (i32.store8 (local.get $$address) (local.get $$value))
+ (i32.store8 (i32.add (local.get $$address) (i32.const 1)) (i32.shr_u (local.get $$value) (i32.const 8)))
+ )
+
+ ;; Stores an i32 value in little-endian format
+ (func $$i32_store_little (param $$address i32) (param $$value i32)
+ (call $$i16_store_little (local.get $$address) (local.get $$value))
+ (call $$i16_store_little (i32.add (local.get $$address) (i32.const 2)) (i32.shr_u (local.get $$value) (i32.const 16)))
+ )
+
+ ;; Stores an i64 value in little-endian format
+ (func $$i64_store_little (param $$address i32) (param $$value i64)
+ (call $$i32_store_little (local.get $$address) (i32.wrap_i64 (local.get $$value)))
+ (call $$i32_store_little (i32.add (local.get $$address) (i32.const 4)) (i32.wrap_i64 (i64.shr_u (local.get $$value) (i64.const 32))))
+ )
+
+ ;; Loads an i16 value in little-endian format
+ (func $$i16_load_little (param $$address i32) (result i32)
+ (i32.or
+ (i32.load8_u (local.get $$address))
+ (i32.shl (i32.load8_u (i32.add (local.get $$address) (i32.const 1))) (i32.const 8))
+ )
+ )
+
+ ;; Loads an i32 value in little-endian format
+ (func $$i32_load_little (param $$address i32) (result i32)
+ (i32.or
+ (call $$i16_load_little (local.get $$address))
+ (i32.shl (call $$i16_load_little (i32.add (local.get $$address) (i32.const 2))) (i32.const 16))
+ )
+ )
+
+ ;; Loads an i64 value in little-endian format
+ (func $$i64_load_little (param $$address i32) (result i64)
+ (i64.or
+ (i64.extend_i32_u (call $$i32_load_little (local.get $$address)))
+ (i64.shl (i64.extend_i32_u (call $$i32_load_little (i32.add (local.get $$address) (i32.const 4)))) (i64.const 32))
+ )
+ )
+
+ (func (export "i32_load16_s") (param $$value i32) (result i32)
+ (call $$i16_store_little (i32.const 0) (local.get $$value))
+ (i32.load16_s (i32.const 0))
+ )
+
+ (func (export "i32_load16_u") (param $$value i32) (result i32)
+ (call $$i16_store_little (i32.const 0) (local.get $$value))
+ (i32.load16_u (i32.const 0))
+ )
+
+ (func (export "i32_load") (param $$value i32) (result i32)
+ (call $$i32_store_little (i32.const 0) (local.get $$value))
+ (i32.load (i32.const 0))
+ )
+
+ (func (export "i64_load16_s") (param $$value i64) (result i64)
+ (call $$i16_store_little (i32.const 0) (i32.wrap_i64 (local.get $$value)))
+ (i64.load16_s (i32.const 0))
+ )
+
+ (func (export "i64_load16_u") (param $$value i64) (result i64)
+ (call $$i16_store_little (i32.const 0) (i32.wrap_i64 (local.get $$value)))
+ (i64.load16_u (i32.const 0))
+ )
+
+ (func (export "i64_load32_s") (param $$value i64) (result i64)
+ (call $$i32_store_little (i32.const 0) (i32.wrap_i64 (local.get $$value)))
+ (i64.load32_s (i32.const 0))
+ )
+
+ (func (export "i64_load32_u") (param $$value i64) (result i64)
+ (call $$i32_store_little (i32.const 0) (i32.wrap_i64 (local.get $$value)))
+ (i64.load32_u (i32.const 0))
+ )
+
+ (func (export "i64_load") (param $$value i64) (result i64)
+ (call $$i64_store_little (i32.const 0) (local.get $$value))
+ (i64.load (i32.const 0))
+ )
+
+ (func (export "f32_load") (param $$value f32) (result f32)
+ (call $$i32_store_little (i32.const 0) (i32.reinterpret_f32 (local.get $$value)))
+ (f32.load (i32.const 0))
+ )
+
+ (func (export "f64_load") (param $$value f64) (result f64)
+ (call $$i64_store_little (i32.const 0) (i64.reinterpret_f64 (local.get $$value)))
+ (f64.load (i32.const 0))
+ )
+
+
+ (func (export "i32_store16") (param $$value i32) (result i32)
+ (i32.store16 (i32.const 0) (local.get $$value))
+ (call $$i16_load_little (i32.const 0))
+ )
+
+ (func (export "i32_store") (param $$value i32) (result i32)
+ (i32.store (i32.const 0) (local.get $$value))
+ (call $$i32_load_little (i32.const 0))
+ )
+
+ (func (export "i64_store16") (param $$value i64) (result i64)
+ (i64.store16 (i32.const 0) (local.get $$value))
+ (i64.extend_i32_u (call $$i16_load_little (i32.const 0)))
+ )
+
+ (func (export "i64_store32") (param $$value i64) (result i64)
+ (i64.store32 (i32.const 0) (local.get $$value))
+ (i64.extend_i32_u (call $$i32_load_little (i32.const 0)))
+ )
+
+ (func (export "i64_store") (param $$value i64) (result i64)
+ (i64.store (i32.const 0) (local.get $$value))
+ (call $$i64_load_little (i32.const 0))
+ )
+
+ (func (export "f32_store") (param $$value f32) (result f32)
+ (f32.store (i32.const 0) (local.get $$value))
+ (f32.reinterpret_i32 (call $$i32_load_little (i32.const 0)))
+ )
+
+ (func (export "f64_store") (param $$value f64) (result f64)
+ (f64.store (i32.const 0) (local.get $$value))
+ (f64.reinterpret_i64 (call $$i64_load_little (i32.const 0)))
+ )
+)`);
+
+// ./test/core/endianness.wast:133
+assert_return(() => invoke($0, `i32_load16_s`, [-1]), [value("i32", -1)]);
+
+// ./test/core/endianness.wast:134
+assert_return(() => invoke($0, `i32_load16_s`, [-4242]), [value("i32", -4242)]);
+
+// ./test/core/endianness.wast:135
+assert_return(() => invoke($0, `i32_load16_s`, [42]), [value("i32", 42)]);
+
+// ./test/core/endianness.wast:136
+assert_return(() => invoke($0, `i32_load16_s`, [12816]), [value("i32", 12816)]);
+
+// ./test/core/endianness.wast:138
+assert_return(() => invoke($0, `i32_load16_u`, [-1]), [value("i32", 65535)]);
+
+// ./test/core/endianness.wast:139
+assert_return(() => invoke($0, `i32_load16_u`, [-4242]), [value("i32", 61294)]);
+
+// ./test/core/endianness.wast:140
+assert_return(() => invoke($0, `i32_load16_u`, [42]), [value("i32", 42)]);
+
+// ./test/core/endianness.wast:141
+assert_return(() => invoke($0, `i32_load16_u`, [51966]), [value("i32", 51966)]);
+
+// ./test/core/endianness.wast:143
+assert_return(() => invoke($0, `i32_load`, [-1]), [value("i32", -1)]);
+
+// ./test/core/endianness.wast:144
+assert_return(() => invoke($0, `i32_load`, [-42424242]), [value("i32", -42424242)]);
+
+// ./test/core/endianness.wast:145
+assert_return(() => invoke($0, `i32_load`, [42424242]), [value("i32", 42424242)]);
+
+// ./test/core/endianness.wast:146
+assert_return(() => invoke($0, `i32_load`, [-1414717974]), [value("i32", -1414717974)]);
+
+// ./test/core/endianness.wast:148
+assert_return(() => invoke($0, `i64_load16_s`, [-1n]), [value("i64", -1n)]);
+
+// ./test/core/endianness.wast:149
+assert_return(() => invoke($0, `i64_load16_s`, [-4242n]), [value("i64", -4242n)]);
+
+// ./test/core/endianness.wast:150
+assert_return(() => invoke($0, `i64_load16_s`, [42n]), [value("i64", 42n)]);
+
+// ./test/core/endianness.wast:151
+assert_return(() => invoke($0, `i64_load16_s`, [12816n]), [value("i64", 12816n)]);
+
+// ./test/core/endianness.wast:153
+assert_return(() => invoke($0, `i64_load16_u`, [-1n]), [value("i64", 65535n)]);
+
+// ./test/core/endianness.wast:154
+assert_return(() => invoke($0, `i64_load16_u`, [-4242n]), [value("i64", 61294n)]);
+
+// ./test/core/endianness.wast:155
+assert_return(() => invoke($0, `i64_load16_u`, [42n]), [value("i64", 42n)]);
+
+// ./test/core/endianness.wast:156
+assert_return(() => invoke($0, `i64_load16_u`, [51966n]), [value("i64", 51966n)]);
+
+// ./test/core/endianness.wast:158
+assert_return(() => invoke($0, `i64_load32_s`, [-1n]), [value("i64", -1n)]);
+
+// ./test/core/endianness.wast:159
+assert_return(() => invoke($0, `i64_load32_s`, [-42424242n]), [value("i64", -42424242n)]);
+
+// ./test/core/endianness.wast:160
+assert_return(() => invoke($0, `i64_load32_s`, [42424242n]), [value("i64", 42424242n)]);
+
+// ./test/core/endianness.wast:161
+assert_return(() => invoke($0, `i64_load32_s`, [305419896n]), [value("i64", 305419896n)]);
+
+// ./test/core/endianness.wast:163
+assert_return(() => invoke($0, `i64_load32_u`, [-1n]), [value("i64", 4294967295n)]);
+
+// ./test/core/endianness.wast:164
+assert_return(() => invoke($0, `i64_load32_u`, [-42424242n]), [value("i64", 4252543054n)]);
+
+// ./test/core/endianness.wast:165
+assert_return(() => invoke($0, `i64_load32_u`, [42424242n]), [value("i64", 42424242n)]);
+
+// ./test/core/endianness.wast:166
+assert_return(() => invoke($0, `i64_load32_u`, [2880249322n]), [value("i64", 2880249322n)]);
+
+// ./test/core/endianness.wast:168
+assert_return(() => invoke($0, `i64_load`, [-1n]), [value("i64", -1n)]);
+
+// ./test/core/endianness.wast:169
+assert_return(() => invoke($0, `i64_load`, [-42424242n]), [value("i64", -42424242n)]);
+
+// ./test/core/endianness.wast:170
+assert_return(() => invoke($0, `i64_load`, [2880249322n]), [value("i64", 2880249322n)]);
+
+// ./test/core/endianness.wast:171
+assert_return(
+ () => invoke($0, `i64_load`, [-6075977126246539798n]),
+ [value("i64", -6075977126246539798n)],
+);
+
+// ./test/core/endianness.wast:173
+assert_return(() => invoke($0, `f32_load`, [value("f32", -1)]), [value("f32", -1)]);
+
+// ./test/core/endianness.wast:174
+assert_return(() => invoke($0, `f32_load`, [value("f32", 0.01234)]), [value("f32", 0.01234)]);
+
+// ./test/core/endianness.wast:175
+assert_return(() => invoke($0, `f32_load`, [value("f32", 4242.4243)]), [value("f32", 4242.4243)]);
+
+// ./test/core/endianness.wast:176
+assert_return(
+ () => invoke($0, `f32_load`, [value("f32", 340282350000000000000000000000000000000)]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/endianness.wast:178
+assert_return(() => invoke($0, `f64_load`, [value("f64", -1)]), [value("f64", -1)]);
+
+// ./test/core/endianness.wast:179
+assert_return(() => invoke($0, `f64_load`, [value("f64", 1234.56789)]), [value("f64", 1234.56789)]);
+
+// ./test/core/endianness.wast:180
+assert_return(
+ () => invoke($0, `f64_load`, [value("f64", 424242.424242)]),
+ [value("f64", 424242.424242)],
+);
+
+// ./test/core/endianness.wast:181
+assert_return(
+ () => invoke($0, `f64_load`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/endianness.wast:184
+assert_return(() => invoke($0, `i32_store16`, [-1]), [value("i32", 65535)]);
+
+// ./test/core/endianness.wast:185
+assert_return(() => invoke($0, `i32_store16`, [-4242]), [value("i32", 61294)]);
+
+// ./test/core/endianness.wast:186
+assert_return(() => invoke($0, `i32_store16`, [42]), [value("i32", 42)]);
+
+// ./test/core/endianness.wast:187
+assert_return(() => invoke($0, `i32_store16`, [51966]), [value("i32", 51966)]);
+
+// ./test/core/endianness.wast:189
+assert_return(() => invoke($0, `i32_store`, [-1]), [value("i32", -1)]);
+
+// ./test/core/endianness.wast:190
+assert_return(() => invoke($0, `i32_store`, [-4242]), [value("i32", -4242)]);
+
+// ./test/core/endianness.wast:191
+assert_return(() => invoke($0, `i32_store`, [42424242]), [value("i32", 42424242)]);
+
+// ./test/core/endianness.wast:192
+assert_return(() => invoke($0, `i32_store`, [-559035650]), [value("i32", -559035650)]);
+
+// ./test/core/endianness.wast:194
+assert_return(() => invoke($0, `i64_store16`, [-1n]), [value("i64", 65535n)]);
+
+// ./test/core/endianness.wast:195
+assert_return(() => invoke($0, `i64_store16`, [-4242n]), [value("i64", 61294n)]);
+
+// ./test/core/endianness.wast:196
+assert_return(() => invoke($0, `i64_store16`, [42n]), [value("i64", 42n)]);
+
+// ./test/core/endianness.wast:197
+assert_return(() => invoke($0, `i64_store16`, [51966n]), [value("i64", 51966n)]);
+
+// ./test/core/endianness.wast:199
+assert_return(() => invoke($0, `i64_store32`, [-1n]), [value("i64", 4294967295n)]);
+
+// ./test/core/endianness.wast:200
+assert_return(() => invoke($0, `i64_store32`, [-4242n]), [value("i64", 4294963054n)]);
+
+// ./test/core/endianness.wast:201
+assert_return(() => invoke($0, `i64_store32`, [42424242n]), [value("i64", 42424242n)]);
+
+// ./test/core/endianness.wast:202
+assert_return(() => invoke($0, `i64_store32`, [3735931646n]), [value("i64", 3735931646n)]);
+
+// ./test/core/endianness.wast:204
+assert_return(() => invoke($0, `i64_store`, [-1n]), [value("i64", -1n)]);
+
+// ./test/core/endianness.wast:205
+assert_return(() => invoke($0, `i64_store`, [-42424242n]), [value("i64", -42424242n)]);
+
+// ./test/core/endianness.wast:206
+assert_return(() => invoke($0, `i64_store`, [2880249322n]), [value("i64", 2880249322n)]);
+
+// ./test/core/endianness.wast:207
+assert_return(
+ () => invoke($0, `i64_store`, [-6075977126246539798n]),
+ [value("i64", -6075977126246539798n)],
+);
+
+// ./test/core/endianness.wast:209
+assert_return(() => invoke($0, `f32_store`, [value("f32", -1)]), [value("f32", -1)]);
+
+// ./test/core/endianness.wast:210
+assert_return(() => invoke($0, `f32_store`, [value("f32", 0.01234)]), [value("f32", 0.01234)]);
+
+// ./test/core/endianness.wast:211
+assert_return(() => invoke($0, `f32_store`, [value("f32", 4242.4243)]), [value("f32", 4242.4243)]);
+
+// ./test/core/endianness.wast:212
+assert_return(
+ () => invoke($0, `f32_store`, [value("f32", 340282350000000000000000000000000000000)]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/endianness.wast:214
+assert_return(() => invoke($0, `f64_store`, [value("f64", -1)]), [value("f64", -1)]);
+
+// ./test/core/endianness.wast:215
+assert_return(() => invoke($0, `f64_store`, [value("f64", 1234.56789)]), [value("f64", 1234.56789)]);
+
+// ./test/core/endianness.wast:216
+assert_return(
+ () => invoke($0, `f64_store`, [value("f64", 424242.424242)]),
+ [value("f64", 424242.424242)],
+);
+
+// ./test/core/endianness.wast:217
+assert_return(
+ () => invoke($0, `f64_store`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/f32.wast.js b/js/src/jit-test/tests/wasm/spec/spec/f32.wast.js
new file mode 100644
index 0000000000..c80cfd6421
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/f32.wast.js
@@ -0,0 +1,18629 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/f32.wast
+
+// ./test/core/f32.wast:5
+let $0 = instantiate(`(module
+ (func (export "add") (param $$x f32) (param $$y f32) (result f32) (f32.add (local.get $$x) (local.get $$y)))
+ (func (export "sub") (param $$x f32) (param $$y f32) (result f32) (f32.sub (local.get $$x) (local.get $$y)))
+ (func (export "mul") (param $$x f32) (param $$y f32) (result f32) (f32.mul (local.get $$x) (local.get $$y)))
+ (func (export "div") (param $$x f32) (param $$y f32) (result f32) (f32.div (local.get $$x) (local.get $$y)))
+ (func (export "sqrt") (param $$x f32) (result f32) (f32.sqrt (local.get $$x)))
+ (func (export "min") (param $$x f32) (param $$y f32) (result f32) (f32.min (local.get $$x) (local.get $$y)))
+ (func (export "max") (param $$x f32) (param $$y f32) (result f32) (f32.max (local.get $$x) (local.get $$y)))
+ (func (export "ceil") (param $$x f32) (result f32) (f32.ceil (local.get $$x)))
+ (func (export "floor") (param $$x f32) (result f32) (f32.floor (local.get $$x)))
+ (func (export "trunc") (param $$x f32) (result f32) (f32.trunc (local.get $$x)))
+ (func (export "nearest") (param $$x f32) (result f32) (f32.nearest (local.get $$x)))
+)`);
+
+// ./test/core/f32.wast:19
+assert_return(() => invoke($0, `add`, [value("f32", -0), value("f32", -0)]), [value("f32", -0)]);
+
+// ./test/core/f32.wast:20
+assert_return(() => invoke($0, `add`, [value("f32", -0), value("f32", 0)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:21
+assert_return(() => invoke($0, `add`, [value("f32", 0), value("f32", -0)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:22
+assert_return(() => invoke($0, `add`, [value("f32", 0), value("f32", 0)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:23
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -0),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:24
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -0),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:25
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 0),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:26
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 0),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:27
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -0),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:28
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -0),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:29
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 0),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:30
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 0),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:31
+assert_return(() => invoke($0, `add`, [value("f32", -0), value("f32", -0.5)]), [value("f32", -0.5)]);
+
+// ./test/core/f32.wast:32
+assert_return(() => invoke($0, `add`, [value("f32", -0), value("f32", 0.5)]), [value("f32", 0.5)]);
+
+// ./test/core/f32.wast:33
+assert_return(() => invoke($0, `add`, [value("f32", 0), value("f32", -0.5)]), [value("f32", -0.5)]);
+
+// ./test/core/f32.wast:34
+assert_return(() => invoke($0, `add`, [value("f32", 0), value("f32", 0.5)]), [value("f32", 0.5)]);
+
+// ./test/core/f32.wast:35
+assert_return(() => invoke($0, `add`, [value("f32", -0), value("f32", -1)]), [value("f32", -1)]);
+
+// ./test/core/f32.wast:36
+assert_return(() => invoke($0, `add`, [value("f32", -0), value("f32", 1)]), [value("f32", 1)]);
+
+// ./test/core/f32.wast:37
+assert_return(() => invoke($0, `add`, [value("f32", 0), value("f32", -1)]), [value("f32", -1)]);
+
+// ./test/core/f32.wast:38
+assert_return(() => invoke($0, `add`, [value("f32", 0), value("f32", 1)]), [value("f32", 1)]);
+
+// ./test/core/f32.wast:39
+assert_return(
+ () => invoke($0, `add`, [value("f32", -0), value("f32", -6.2831855)]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:40
+assert_return(
+ () => invoke($0, `add`, [value("f32", -0), value("f32", 6.2831855)]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:41
+assert_return(
+ () => invoke($0, `add`, [value("f32", 0), value("f32", -6.2831855)]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:42
+assert_return(
+ () => invoke($0, `add`, [value("f32", 0), value("f32", 6.2831855)]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:43
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -0),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:44
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -0),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:45
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 0),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:46
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 0),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:47
+assert_return(
+ () => invoke($0, `add`, [value("f32", -0), value("f32", -Infinity)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:48
+assert_return(
+ () => invoke($0, `add`, [value("f32", -0), value("f32", Infinity)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:49
+assert_return(
+ () => invoke($0, `add`, [value("f32", 0), value("f32", -Infinity)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:50
+assert_return(
+ () => invoke($0, `add`, [value("f32", 0), value("f32", Infinity)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:51
+assert_return(
+ () => invoke($0, `add`, [value("f32", -0), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:52
+assert_return(
+ () => invoke($0, `add`, [value("f32", -0), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:53
+assert_return(
+ () => invoke($0, `add`, [value("f32", -0), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:54
+assert_return(
+ () => invoke($0, `add`, [value("f32", -0), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:55
+assert_return(
+ () => invoke($0, `add`, [value("f32", 0), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:56
+assert_return(
+ () => invoke($0, `add`, [value("f32", 0), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:57
+assert_return(
+ () => invoke($0, `add`, [value("f32", 0), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:58
+assert_return(
+ () => invoke($0, `add`, [value("f32", 0), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:59
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:60
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 0),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:61
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -0),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:62
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:63
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000003)],
+);
+
+// ./test/core/f32.wast:64
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:65
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:66
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000003)],
+);
+
+// ./test/core/f32.wast:67
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754945)],
+);
+
+// ./test/core/f32.wast:68
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754942)],
+);
+
+// ./test/core/f32.wast:69
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754942)],
+);
+
+// ./test/core/f32.wast:70
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754945)],
+);
+
+// ./test/core/f32.wast:71
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.5),
+ ]),
+ [value("f32", -0.5)],
+);
+
+// ./test/core/f32.wast:72
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 0.5),
+ ]),
+ [value("f32", 0.5)],
+);
+
+// ./test/core/f32.wast:73
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -0.5),
+ ]),
+ [value("f32", -0.5)],
+);
+
+// ./test/core/f32.wast:74
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.5),
+ ]),
+ [value("f32", 0.5)],
+);
+
+// ./test/core/f32.wast:75
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -1),
+ ]),
+ [value("f32", -1)],
+);
+
+// ./test/core/f32.wast:76
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 1),
+ ]),
+ [value("f32", 1)],
+);
+
+// ./test/core/f32.wast:77
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -1),
+ ]),
+ [value("f32", -1)],
+);
+
+// ./test/core/f32.wast:78
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 1),
+ ]),
+ [value("f32", 1)],
+);
+
+// ./test/core/f32.wast:79
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -6.2831855),
+ ]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:80
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 6.2831855),
+ ]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:81
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -6.2831855),
+ ]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:82
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 6.2831855),
+ ]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:83
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:84
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:85
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:86
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:87
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -Infinity),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:88
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", Infinity),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:89
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -Infinity),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:90
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", Infinity),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:91
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:92
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:93
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:94
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:95
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:96
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:97
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:98
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:99
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:100
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 0),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:101
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -0),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:102
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:103
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754945)],
+);
+
+// ./test/core/f32.wast:104
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754942)],
+);
+
+// ./test/core/f32.wast:105
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754942)],
+);
+
+// ./test/core/f32.wast:106
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754945)],
+);
+
+// ./test/core/f32.wast:107
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000023509887)],
+);
+
+// ./test/core/f32.wast:108
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:109
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:110
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000023509887)],
+);
+
+// ./test/core/f32.wast:111
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.5),
+ ]),
+ [value("f32", -0.5)],
+);
+
+// ./test/core/f32.wast:112
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 0.5),
+ ]),
+ [value("f32", 0.5)],
+);
+
+// ./test/core/f32.wast:113
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -0.5),
+ ]),
+ [value("f32", -0.5)],
+);
+
+// ./test/core/f32.wast:114
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.5),
+ ]),
+ [value("f32", 0.5)],
+);
+
+// ./test/core/f32.wast:115
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -1),
+ ]),
+ [value("f32", -1)],
+);
+
+// ./test/core/f32.wast:116
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 1),
+ ]),
+ [value("f32", 1)],
+);
+
+// ./test/core/f32.wast:117
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -1),
+ ]),
+ [value("f32", -1)],
+);
+
+// ./test/core/f32.wast:118
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 1),
+ ]),
+ [value("f32", 1)],
+);
+
+// ./test/core/f32.wast:119
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -6.2831855),
+ ]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:120
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 6.2831855),
+ ]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:121
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -6.2831855),
+ ]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:122
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 6.2831855),
+ ]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:123
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:124
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:125
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:126
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:127
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -Infinity),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:128
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", Infinity),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:129
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -Infinity),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:130
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", Infinity),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:131
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:132
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:133
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:134
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:135
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:136
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:137
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:138
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:139
+assert_return(() => invoke($0, `add`, [value("f32", -0.5), value("f32", -0)]), [value("f32", -0.5)]);
+
+// ./test/core/f32.wast:140
+assert_return(() => invoke($0, `add`, [value("f32", -0.5), value("f32", 0)]), [value("f32", -0.5)]);
+
+// ./test/core/f32.wast:141
+assert_return(() => invoke($0, `add`, [value("f32", 0.5), value("f32", -0)]), [value("f32", 0.5)]);
+
+// ./test/core/f32.wast:142
+assert_return(() => invoke($0, `add`, [value("f32", 0.5), value("f32", 0)]), [value("f32", 0.5)]);
+
+// ./test/core/f32.wast:143
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -0.5),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0.5)],
+);
+
+// ./test/core/f32.wast:144
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -0.5),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0.5)],
+);
+
+// ./test/core/f32.wast:145
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 0.5),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0.5)],
+);
+
+// ./test/core/f32.wast:146
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 0.5),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0.5)],
+);
+
+// ./test/core/f32.wast:147
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -0.5),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0.5)],
+);
+
+// ./test/core/f32.wast:148
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -0.5),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0.5)],
+);
+
+// ./test/core/f32.wast:149
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 0.5),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0.5)],
+);
+
+// ./test/core/f32.wast:150
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 0.5),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0.5)],
+);
+
+// ./test/core/f32.wast:151
+assert_return(() => invoke($0, `add`, [value("f32", -0.5), value("f32", -0.5)]), [value("f32", -1)]);
+
+// ./test/core/f32.wast:152
+assert_return(() => invoke($0, `add`, [value("f32", -0.5), value("f32", 0.5)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:153
+assert_return(() => invoke($0, `add`, [value("f32", 0.5), value("f32", -0.5)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:154
+assert_return(() => invoke($0, `add`, [value("f32", 0.5), value("f32", 0.5)]), [value("f32", 1)]);
+
+// ./test/core/f32.wast:155
+assert_return(() => invoke($0, `add`, [value("f32", -0.5), value("f32", -1)]), [value("f32", -1.5)]);
+
+// ./test/core/f32.wast:156
+assert_return(() => invoke($0, `add`, [value("f32", -0.5), value("f32", 1)]), [value("f32", 0.5)]);
+
+// ./test/core/f32.wast:157
+assert_return(() => invoke($0, `add`, [value("f32", 0.5), value("f32", -1)]), [value("f32", -0.5)]);
+
+// ./test/core/f32.wast:158
+assert_return(() => invoke($0, `add`, [value("f32", 0.5), value("f32", 1)]), [value("f32", 1.5)]);
+
+// ./test/core/f32.wast:159
+assert_return(
+ () => invoke($0, `add`, [value("f32", -0.5), value("f32", -6.2831855)]),
+ [value("f32", -6.7831855)],
+);
+
+// ./test/core/f32.wast:160
+assert_return(
+ () => invoke($0, `add`, [value("f32", -0.5), value("f32", 6.2831855)]),
+ [value("f32", 5.7831855)],
+);
+
+// ./test/core/f32.wast:161
+assert_return(
+ () => invoke($0, `add`, [value("f32", 0.5), value("f32", -6.2831855)]),
+ [value("f32", -5.7831855)],
+);
+
+// ./test/core/f32.wast:162
+assert_return(
+ () => invoke($0, `add`, [value("f32", 0.5), value("f32", 6.2831855)]),
+ [value("f32", 6.7831855)],
+);
+
+// ./test/core/f32.wast:163
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -0.5),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:164
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -0.5),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:165
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 0.5),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:166
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 0.5),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:167
+assert_return(
+ () => invoke($0, `add`, [value("f32", -0.5), value("f32", -Infinity)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:168
+assert_return(
+ () => invoke($0, `add`, [value("f32", -0.5), value("f32", Infinity)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:169
+assert_return(
+ () => invoke($0, `add`, [value("f32", 0.5), value("f32", -Infinity)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:170
+assert_return(
+ () => invoke($0, `add`, [value("f32", 0.5), value("f32", Infinity)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:171
+assert_return(
+ () => invoke($0, `add`, [value("f32", -0.5), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:172
+assert_return(
+ () => invoke($0, `add`, [value("f32", -0.5), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:173
+assert_return(
+ () => invoke($0, `add`, [value("f32", -0.5), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:174
+assert_return(
+ () => invoke($0, `add`, [value("f32", -0.5), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:175
+assert_return(
+ () => invoke($0, `add`, [value("f32", 0.5), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:176
+assert_return(
+ () => invoke($0, `add`, [value("f32", 0.5), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:177
+assert_return(
+ () => invoke($0, `add`, [value("f32", 0.5), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:178
+assert_return(
+ () => invoke($0, `add`, [value("f32", 0.5), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:179
+assert_return(() => invoke($0, `add`, [value("f32", -1), value("f32", -0)]), [value("f32", -1)]);
+
+// ./test/core/f32.wast:180
+assert_return(() => invoke($0, `add`, [value("f32", -1), value("f32", 0)]), [value("f32", -1)]);
+
+// ./test/core/f32.wast:181
+assert_return(() => invoke($0, `add`, [value("f32", 1), value("f32", -0)]), [value("f32", 1)]);
+
+// ./test/core/f32.wast:182
+assert_return(() => invoke($0, `add`, [value("f32", 1), value("f32", 0)]), [value("f32", 1)]);
+
+// ./test/core/f32.wast:183
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -1),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -1)],
+);
+
+// ./test/core/f32.wast:184
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -1),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -1)],
+);
+
+// ./test/core/f32.wast:185
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 1),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 1)],
+);
+
+// ./test/core/f32.wast:186
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 1),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 1)],
+);
+
+// ./test/core/f32.wast:187
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -1),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -1)],
+);
+
+// ./test/core/f32.wast:188
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -1),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -1)],
+);
+
+// ./test/core/f32.wast:189
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 1),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 1)],
+);
+
+// ./test/core/f32.wast:190
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 1),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 1)],
+);
+
+// ./test/core/f32.wast:191
+assert_return(() => invoke($0, `add`, [value("f32", -1), value("f32", -0.5)]), [value("f32", -1.5)]);
+
+// ./test/core/f32.wast:192
+assert_return(() => invoke($0, `add`, [value("f32", -1), value("f32", 0.5)]), [value("f32", -0.5)]);
+
+// ./test/core/f32.wast:193
+assert_return(() => invoke($0, `add`, [value("f32", 1), value("f32", -0.5)]), [value("f32", 0.5)]);
+
+// ./test/core/f32.wast:194
+assert_return(() => invoke($0, `add`, [value("f32", 1), value("f32", 0.5)]), [value("f32", 1.5)]);
+
+// ./test/core/f32.wast:195
+assert_return(() => invoke($0, `add`, [value("f32", -1), value("f32", -1)]), [value("f32", -2)]);
+
+// ./test/core/f32.wast:196
+assert_return(() => invoke($0, `add`, [value("f32", -1), value("f32", 1)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:197
+assert_return(() => invoke($0, `add`, [value("f32", 1), value("f32", -1)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:198
+assert_return(() => invoke($0, `add`, [value("f32", 1), value("f32", 1)]), [value("f32", 2)]);
+
+// ./test/core/f32.wast:199
+assert_return(
+ () => invoke($0, `add`, [value("f32", -1), value("f32", -6.2831855)]),
+ [value("f32", -7.2831855)],
+);
+
+// ./test/core/f32.wast:200
+assert_return(
+ () => invoke($0, `add`, [value("f32", -1), value("f32", 6.2831855)]),
+ [value("f32", 5.2831855)],
+);
+
+// ./test/core/f32.wast:201
+assert_return(
+ () => invoke($0, `add`, [value("f32", 1), value("f32", -6.2831855)]),
+ [value("f32", -5.2831855)],
+);
+
+// ./test/core/f32.wast:202
+assert_return(
+ () => invoke($0, `add`, [value("f32", 1), value("f32", 6.2831855)]),
+ [value("f32", 7.2831855)],
+);
+
+// ./test/core/f32.wast:203
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -1),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:204
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -1),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:205
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 1),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:206
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 1),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:207
+assert_return(
+ () => invoke($0, `add`, [value("f32", -1), value("f32", -Infinity)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:208
+assert_return(
+ () => invoke($0, `add`, [value("f32", -1), value("f32", Infinity)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:209
+assert_return(
+ () => invoke($0, `add`, [value("f32", 1), value("f32", -Infinity)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:210
+assert_return(
+ () => invoke($0, `add`, [value("f32", 1), value("f32", Infinity)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:211
+assert_return(
+ () => invoke($0, `add`, [value("f32", -1), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:212
+assert_return(
+ () => invoke($0, `add`, [value("f32", -1), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:213
+assert_return(
+ () => invoke($0, `add`, [value("f32", -1), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:214
+assert_return(
+ () => invoke($0, `add`, [value("f32", -1), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:215
+assert_return(
+ () => invoke($0, `add`, [value("f32", 1), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:216
+assert_return(
+ () => invoke($0, `add`, [value("f32", 1), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:217
+assert_return(
+ () => invoke($0, `add`, [value("f32", 1), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:218
+assert_return(
+ () => invoke($0, `add`, [value("f32", 1), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:219
+assert_return(
+ () => invoke($0, `add`, [value("f32", -6.2831855), value("f32", -0)]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:220
+assert_return(
+ () => invoke($0, `add`, [value("f32", -6.2831855), value("f32", 0)]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:221
+assert_return(
+ () => invoke($0, `add`, [value("f32", 6.2831855), value("f32", -0)]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:222
+assert_return(
+ () => invoke($0, `add`, [value("f32", 6.2831855), value("f32", 0)]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:223
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -6.2831855),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:224
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -6.2831855),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:225
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 6.2831855),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:226
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 6.2831855),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:227
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -6.2831855),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:228
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -6.2831855),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:229
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 6.2831855),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:230
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 6.2831855),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:231
+assert_return(
+ () => invoke($0, `add`, [value("f32", -6.2831855), value("f32", -0.5)]),
+ [value("f32", -6.7831855)],
+);
+
+// ./test/core/f32.wast:232
+assert_return(
+ () => invoke($0, `add`, [value("f32", -6.2831855), value("f32", 0.5)]),
+ [value("f32", -5.7831855)],
+);
+
+// ./test/core/f32.wast:233
+assert_return(
+ () => invoke($0, `add`, [value("f32", 6.2831855), value("f32", -0.5)]),
+ [value("f32", 5.7831855)],
+);
+
+// ./test/core/f32.wast:234
+assert_return(
+ () => invoke($0, `add`, [value("f32", 6.2831855), value("f32", 0.5)]),
+ [value("f32", 6.7831855)],
+);
+
+// ./test/core/f32.wast:235
+assert_return(
+ () => invoke($0, `add`, [value("f32", -6.2831855), value("f32", -1)]),
+ [value("f32", -7.2831855)],
+);
+
+// ./test/core/f32.wast:236
+assert_return(
+ () => invoke($0, `add`, [value("f32", -6.2831855), value("f32", 1)]),
+ [value("f32", -5.2831855)],
+);
+
+// ./test/core/f32.wast:237
+assert_return(
+ () => invoke($0, `add`, [value("f32", 6.2831855), value("f32", -1)]),
+ [value("f32", 5.2831855)],
+);
+
+// ./test/core/f32.wast:238
+assert_return(
+ () => invoke($0, `add`, [value("f32", 6.2831855), value("f32", 1)]),
+ [value("f32", 7.2831855)],
+);
+
+// ./test/core/f32.wast:239
+assert_return(
+ () => invoke($0, `add`, [value("f32", -6.2831855), value("f32", -6.2831855)]),
+ [value("f32", -12.566371)],
+);
+
+// ./test/core/f32.wast:240
+assert_return(
+ () => invoke($0, `add`, [value("f32", -6.2831855), value("f32", 6.2831855)]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:241
+assert_return(
+ () => invoke($0, `add`, [value("f32", 6.2831855), value("f32", -6.2831855)]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:242
+assert_return(
+ () => invoke($0, `add`, [value("f32", 6.2831855), value("f32", 6.2831855)]),
+ [value("f32", 12.566371)],
+);
+
+// ./test/core/f32.wast:243
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -6.2831855),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:244
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -6.2831855),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:245
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 6.2831855),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:246
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 6.2831855),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:247
+assert_return(
+ () => invoke($0, `add`, [value("f32", -6.2831855), value("f32", -Infinity)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:248
+assert_return(
+ () => invoke($0, `add`, [value("f32", -6.2831855), value("f32", Infinity)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:249
+assert_return(
+ () => invoke($0, `add`, [value("f32", 6.2831855), value("f32", -Infinity)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:250
+assert_return(
+ () => invoke($0, `add`, [value("f32", 6.2831855), value("f32", Infinity)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:251
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -6.2831855),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:252
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -6.2831855),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:253
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -6.2831855),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:254
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -6.2831855),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:255
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 6.2831855),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:256
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 6.2831855),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:257
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 6.2831855),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:258
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 6.2831855),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:259
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -0),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:260
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 0),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:261
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -0),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:262
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 0),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:263
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:264
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:265
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:266
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:267
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:268
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:269
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:270
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:271
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -0.5),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:272
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 0.5),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:273
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -0.5),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:274
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 0.5),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:275
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -1),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:276
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 1),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:277
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -1),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:278
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 1),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:279
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -6.2831855),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:280
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 6.2831855),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:281
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -6.2831855),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:282
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 6.2831855),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:283
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:284
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:285
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:286
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:287
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -Infinity),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:288
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", Infinity),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:289
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -Infinity),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:290
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", Infinity),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:291
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:292
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:293
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:294
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:295
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:296
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:297
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:298
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", 340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:299
+assert_return(
+ () => invoke($0, `add`, [value("f32", -Infinity), value("f32", -0)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:300
+assert_return(
+ () => invoke($0, `add`, [value("f32", -Infinity), value("f32", 0)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:301
+assert_return(
+ () => invoke($0, `add`, [value("f32", Infinity), value("f32", -0)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:302
+assert_return(
+ () => invoke($0, `add`, [value("f32", Infinity), value("f32", 0)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:303
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -Infinity),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:304
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -Infinity),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:305
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", Infinity),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:306
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", Infinity),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:307
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -Infinity),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:308
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -Infinity),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:309
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", Infinity),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:310
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", Infinity),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:311
+assert_return(
+ () => invoke($0, `add`, [value("f32", -Infinity), value("f32", -0.5)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:312
+assert_return(
+ () => invoke($0, `add`, [value("f32", -Infinity), value("f32", 0.5)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:313
+assert_return(
+ () => invoke($0, `add`, [value("f32", Infinity), value("f32", -0.5)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:314
+assert_return(
+ () => invoke($0, `add`, [value("f32", Infinity), value("f32", 0.5)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:315
+assert_return(
+ () => invoke($0, `add`, [value("f32", -Infinity), value("f32", -1)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:316
+assert_return(
+ () => invoke($0, `add`, [value("f32", -Infinity), value("f32", 1)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:317
+assert_return(
+ () => invoke($0, `add`, [value("f32", Infinity), value("f32", -1)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:318
+assert_return(
+ () => invoke($0, `add`, [value("f32", Infinity), value("f32", 1)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:319
+assert_return(
+ () => invoke($0, `add`, [value("f32", -Infinity), value("f32", -6.2831855)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:320
+assert_return(
+ () => invoke($0, `add`, [value("f32", -Infinity), value("f32", 6.2831855)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:321
+assert_return(
+ () => invoke($0, `add`, [value("f32", Infinity), value("f32", -6.2831855)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:322
+assert_return(
+ () => invoke($0, `add`, [value("f32", Infinity), value("f32", 6.2831855)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:323
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -Infinity),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:324
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -Infinity),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:325
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", Infinity),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:326
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", Infinity),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:327
+assert_return(
+ () => invoke($0, `add`, [value("f32", -Infinity), value("f32", -Infinity)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:328
+assert_return(
+ () => invoke($0, `add`, [value("f32", -Infinity), value("f32", Infinity)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:329
+assert_return(
+ () => invoke($0, `add`, [value("f32", Infinity), value("f32", -Infinity)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:330
+assert_return(
+ () => invoke($0, `add`, [value("f32", Infinity), value("f32", Infinity)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:331
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -Infinity),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:332
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -Infinity),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:333
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -Infinity),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:334
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", -Infinity),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:335
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", Infinity),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:336
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", Infinity),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:337
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", Infinity),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:338
+assert_return(
+ () => invoke($0, `add`, [
+ value("f32", Infinity),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:339
+assert_return(
+ () => invoke($0, `add`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", -0)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:340
+assert_return(
+ () => invoke($0, `add`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", -0)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:341
+assert_return(
+ () => invoke($0, `add`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", 0)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:342
+assert_return(
+ () => invoke($0, `add`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", 0)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:343
+assert_return(
+ () => invoke($0, `add`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", -0)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:344
+assert_return(
+ () => invoke($0, `add`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", -0)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:345
+assert_return(
+ () => invoke($0, `add`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", 0)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:346
+assert_return(
+ () => invoke($0, `add`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", 0)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:347
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:348
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:349
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:350
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:351
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:352
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:353
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:354
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:355
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:356
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:357
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:358
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:359
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:360
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:361
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:362
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:363
+assert_return(
+ () => invoke($0, `add`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", -0.5)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:364
+assert_return(
+ () => invoke($0, `add`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", -0.5)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:365
+assert_return(
+ () => invoke($0, `add`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", 0.5)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:366
+assert_return(
+ () => invoke($0, `add`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", 0.5)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:367
+assert_return(
+ () => invoke($0, `add`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", -0.5)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:368
+assert_return(
+ () => invoke($0, `add`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", -0.5)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:369
+assert_return(
+ () => invoke($0, `add`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", 0.5)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:370
+assert_return(
+ () => invoke($0, `add`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", 0.5)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:371
+assert_return(
+ () => invoke($0, `add`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", -1)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:372
+assert_return(
+ () => invoke($0, `add`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", -1)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:373
+assert_return(
+ () => invoke($0, `add`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", 1)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:374
+assert_return(
+ () => invoke($0, `add`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", 1)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:375
+assert_return(
+ () => invoke($0, `add`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", -1)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:376
+assert_return(
+ () => invoke($0, `add`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", -1)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:377
+assert_return(
+ () => invoke($0, `add`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", 1)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:378
+assert_return(
+ () => invoke($0, `add`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", 1)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:379
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -6.2831855),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:380
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -6.2831855),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:381
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", 6.2831855),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:382
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", 6.2831855),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:383
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -6.2831855),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:384
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -6.2831855),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:385
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 6.2831855),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:386
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", 6.2831855),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:387
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:388
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:389
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:390
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:391
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:392
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:393
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:394
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:395
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -Infinity),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:396
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -Infinity),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:397
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", Infinity),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:398
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", Infinity),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:399
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -Infinity),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:400
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -Infinity),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:401
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", Infinity),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:402
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", Infinity),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:403
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:404
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:405
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:406
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:407
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:408
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:409
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:410
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:411
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:412
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:413
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:414
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:415
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:416
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:417
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:418
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:419
+assert_return(() => invoke($0, `sub`, [value("f32", -0), value("f32", -0)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:420
+assert_return(() => invoke($0, `sub`, [value("f32", -0), value("f32", 0)]), [value("f32", -0)]);
+
+// ./test/core/f32.wast:421
+assert_return(() => invoke($0, `sub`, [value("f32", 0), value("f32", -0)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:422
+assert_return(() => invoke($0, `sub`, [value("f32", 0), value("f32", 0)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:423
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -0),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:424
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -0),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:425
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 0),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:426
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 0),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:427
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -0),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:428
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -0),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:429
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 0),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:430
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 0),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:431
+assert_return(() => invoke($0, `sub`, [value("f32", -0), value("f32", -0.5)]), [value("f32", 0.5)]);
+
+// ./test/core/f32.wast:432
+assert_return(() => invoke($0, `sub`, [value("f32", -0), value("f32", 0.5)]), [value("f32", -0.5)]);
+
+// ./test/core/f32.wast:433
+assert_return(() => invoke($0, `sub`, [value("f32", 0), value("f32", -0.5)]), [value("f32", 0.5)]);
+
+// ./test/core/f32.wast:434
+assert_return(() => invoke($0, `sub`, [value("f32", 0), value("f32", 0.5)]), [value("f32", -0.5)]);
+
+// ./test/core/f32.wast:435
+assert_return(() => invoke($0, `sub`, [value("f32", -0), value("f32", -1)]), [value("f32", 1)]);
+
+// ./test/core/f32.wast:436
+assert_return(() => invoke($0, `sub`, [value("f32", -0), value("f32", 1)]), [value("f32", -1)]);
+
+// ./test/core/f32.wast:437
+assert_return(() => invoke($0, `sub`, [value("f32", 0), value("f32", -1)]), [value("f32", 1)]);
+
+// ./test/core/f32.wast:438
+assert_return(() => invoke($0, `sub`, [value("f32", 0), value("f32", 1)]), [value("f32", -1)]);
+
+// ./test/core/f32.wast:439
+assert_return(
+ () => invoke($0, `sub`, [value("f32", -0), value("f32", -6.2831855)]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:440
+assert_return(
+ () => invoke($0, `sub`, [value("f32", -0), value("f32", 6.2831855)]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:441
+assert_return(
+ () => invoke($0, `sub`, [value("f32", 0), value("f32", -6.2831855)]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:442
+assert_return(
+ () => invoke($0, `sub`, [value("f32", 0), value("f32", 6.2831855)]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:443
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -0),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:444
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -0),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:445
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 0),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:446
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 0),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:447
+assert_return(
+ () => invoke($0, `sub`, [value("f32", -0), value("f32", -Infinity)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:448
+assert_return(
+ () => invoke($0, `sub`, [value("f32", -0), value("f32", Infinity)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:449
+assert_return(
+ () => invoke($0, `sub`, [value("f32", 0), value("f32", -Infinity)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:450
+assert_return(
+ () => invoke($0, `sub`, [value("f32", 0), value("f32", Infinity)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:451
+assert_return(
+ () => invoke($0, `sub`, [value("f32", -0), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:452
+assert_return(
+ () => invoke($0, `sub`, [value("f32", -0), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:453
+assert_return(
+ () => invoke($0, `sub`, [value("f32", -0), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:454
+assert_return(
+ () => invoke($0, `sub`, [value("f32", -0), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:455
+assert_return(
+ () => invoke($0, `sub`, [value("f32", 0), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:456
+assert_return(
+ () => invoke($0, `sub`, [value("f32", 0), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:457
+assert_return(
+ () => invoke($0, `sub`, [value("f32", 0), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:458
+assert_return(
+ () => invoke($0, `sub`, [value("f32", 0), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:459
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:460
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 0),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:461
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -0),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:462
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:463
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:464
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000003)],
+);
+
+// ./test/core/f32.wast:465
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000003)],
+);
+
+// ./test/core/f32.wast:466
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:467
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754942)],
+);
+
+// ./test/core/f32.wast:468
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754945)],
+);
+
+// ./test/core/f32.wast:469
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754945)],
+);
+
+// ./test/core/f32.wast:470
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754942)],
+);
+
+// ./test/core/f32.wast:471
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.5),
+ ]),
+ [value("f32", 0.5)],
+);
+
+// ./test/core/f32.wast:472
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 0.5),
+ ]),
+ [value("f32", -0.5)],
+);
+
+// ./test/core/f32.wast:473
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -0.5),
+ ]),
+ [value("f32", 0.5)],
+);
+
+// ./test/core/f32.wast:474
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.5),
+ ]),
+ [value("f32", -0.5)],
+);
+
+// ./test/core/f32.wast:475
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -1),
+ ]),
+ [value("f32", 1)],
+);
+
+// ./test/core/f32.wast:476
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 1),
+ ]),
+ [value("f32", -1)],
+);
+
+// ./test/core/f32.wast:477
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -1),
+ ]),
+ [value("f32", 1)],
+);
+
+// ./test/core/f32.wast:478
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 1),
+ ]),
+ [value("f32", -1)],
+);
+
+// ./test/core/f32.wast:479
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -6.2831855),
+ ]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:480
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 6.2831855),
+ ]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:481
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -6.2831855),
+ ]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:482
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 6.2831855),
+ ]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:483
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:484
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:485
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:486
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:487
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -Infinity),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:488
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", Infinity),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:489
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -Infinity),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:490
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", Infinity),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:491
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:492
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:493
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:494
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:495
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:496
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:497
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:498
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:499
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:500
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 0),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:501
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -0),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:502
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:503
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754942)],
+);
+
+// ./test/core/f32.wast:504
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754945)],
+);
+
+// ./test/core/f32.wast:505
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754945)],
+);
+
+// ./test/core/f32.wast:506
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754942)],
+);
+
+// ./test/core/f32.wast:507
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:508
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000023509887)],
+);
+
+// ./test/core/f32.wast:509
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000023509887)],
+);
+
+// ./test/core/f32.wast:510
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:511
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.5),
+ ]),
+ [value("f32", 0.5)],
+);
+
+// ./test/core/f32.wast:512
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 0.5),
+ ]),
+ [value("f32", -0.5)],
+);
+
+// ./test/core/f32.wast:513
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -0.5),
+ ]),
+ [value("f32", 0.5)],
+);
+
+// ./test/core/f32.wast:514
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.5),
+ ]),
+ [value("f32", -0.5)],
+);
+
+// ./test/core/f32.wast:515
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -1),
+ ]),
+ [value("f32", 1)],
+);
+
+// ./test/core/f32.wast:516
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 1),
+ ]),
+ [value("f32", -1)],
+);
+
+// ./test/core/f32.wast:517
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -1),
+ ]),
+ [value("f32", 1)],
+);
+
+// ./test/core/f32.wast:518
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 1),
+ ]),
+ [value("f32", -1)],
+);
+
+// ./test/core/f32.wast:519
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -6.2831855),
+ ]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:520
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 6.2831855),
+ ]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:521
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -6.2831855),
+ ]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:522
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 6.2831855),
+ ]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:523
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:524
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:525
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:526
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:527
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -Infinity),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:528
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", Infinity),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:529
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -Infinity),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:530
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", Infinity),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:531
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:532
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:533
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:534
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:535
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:536
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:537
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:538
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:539
+assert_return(() => invoke($0, `sub`, [value("f32", -0.5), value("f32", -0)]), [value("f32", -0.5)]);
+
+// ./test/core/f32.wast:540
+assert_return(() => invoke($0, `sub`, [value("f32", -0.5), value("f32", 0)]), [value("f32", -0.5)]);
+
+// ./test/core/f32.wast:541
+assert_return(() => invoke($0, `sub`, [value("f32", 0.5), value("f32", -0)]), [value("f32", 0.5)]);
+
+// ./test/core/f32.wast:542
+assert_return(() => invoke($0, `sub`, [value("f32", 0.5), value("f32", 0)]), [value("f32", 0.5)]);
+
+// ./test/core/f32.wast:543
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -0.5),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0.5)],
+);
+
+// ./test/core/f32.wast:544
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -0.5),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0.5)],
+);
+
+// ./test/core/f32.wast:545
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 0.5),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0.5)],
+);
+
+// ./test/core/f32.wast:546
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 0.5),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0.5)],
+);
+
+// ./test/core/f32.wast:547
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -0.5),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0.5)],
+);
+
+// ./test/core/f32.wast:548
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -0.5),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0.5)],
+);
+
+// ./test/core/f32.wast:549
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 0.5),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0.5)],
+);
+
+// ./test/core/f32.wast:550
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 0.5),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0.5)],
+);
+
+// ./test/core/f32.wast:551
+assert_return(() => invoke($0, `sub`, [value("f32", -0.5), value("f32", -0.5)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:552
+assert_return(() => invoke($0, `sub`, [value("f32", -0.5), value("f32", 0.5)]), [value("f32", -1)]);
+
+// ./test/core/f32.wast:553
+assert_return(() => invoke($0, `sub`, [value("f32", 0.5), value("f32", -0.5)]), [value("f32", 1)]);
+
+// ./test/core/f32.wast:554
+assert_return(() => invoke($0, `sub`, [value("f32", 0.5), value("f32", 0.5)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:555
+assert_return(() => invoke($0, `sub`, [value("f32", -0.5), value("f32", -1)]), [value("f32", 0.5)]);
+
+// ./test/core/f32.wast:556
+assert_return(() => invoke($0, `sub`, [value("f32", -0.5), value("f32", 1)]), [value("f32", -1.5)]);
+
+// ./test/core/f32.wast:557
+assert_return(() => invoke($0, `sub`, [value("f32", 0.5), value("f32", -1)]), [value("f32", 1.5)]);
+
+// ./test/core/f32.wast:558
+assert_return(() => invoke($0, `sub`, [value("f32", 0.5), value("f32", 1)]), [value("f32", -0.5)]);
+
+// ./test/core/f32.wast:559
+assert_return(
+ () => invoke($0, `sub`, [value("f32", -0.5), value("f32", -6.2831855)]),
+ [value("f32", 5.7831855)],
+);
+
+// ./test/core/f32.wast:560
+assert_return(
+ () => invoke($0, `sub`, [value("f32", -0.5), value("f32", 6.2831855)]),
+ [value("f32", -6.7831855)],
+);
+
+// ./test/core/f32.wast:561
+assert_return(
+ () => invoke($0, `sub`, [value("f32", 0.5), value("f32", -6.2831855)]),
+ [value("f32", 6.7831855)],
+);
+
+// ./test/core/f32.wast:562
+assert_return(
+ () => invoke($0, `sub`, [value("f32", 0.5), value("f32", 6.2831855)]),
+ [value("f32", -5.7831855)],
+);
+
+// ./test/core/f32.wast:563
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -0.5),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:564
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -0.5),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:565
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 0.5),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:566
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 0.5),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:567
+assert_return(
+ () => invoke($0, `sub`, [value("f32", -0.5), value("f32", -Infinity)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:568
+assert_return(
+ () => invoke($0, `sub`, [value("f32", -0.5), value("f32", Infinity)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:569
+assert_return(
+ () => invoke($0, `sub`, [value("f32", 0.5), value("f32", -Infinity)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:570
+assert_return(
+ () => invoke($0, `sub`, [value("f32", 0.5), value("f32", Infinity)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:571
+assert_return(
+ () => invoke($0, `sub`, [value("f32", -0.5), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:572
+assert_return(
+ () => invoke($0, `sub`, [value("f32", -0.5), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:573
+assert_return(
+ () => invoke($0, `sub`, [value("f32", -0.5), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:574
+assert_return(
+ () => invoke($0, `sub`, [value("f32", -0.5), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:575
+assert_return(
+ () => invoke($0, `sub`, [value("f32", 0.5), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:576
+assert_return(
+ () => invoke($0, `sub`, [value("f32", 0.5), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:577
+assert_return(
+ () => invoke($0, `sub`, [value("f32", 0.5), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:578
+assert_return(
+ () => invoke($0, `sub`, [value("f32", 0.5), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:579
+assert_return(() => invoke($0, `sub`, [value("f32", -1), value("f32", -0)]), [value("f32", -1)]);
+
+// ./test/core/f32.wast:580
+assert_return(() => invoke($0, `sub`, [value("f32", -1), value("f32", 0)]), [value("f32", -1)]);
+
+// ./test/core/f32.wast:581
+assert_return(() => invoke($0, `sub`, [value("f32", 1), value("f32", -0)]), [value("f32", 1)]);
+
+// ./test/core/f32.wast:582
+assert_return(() => invoke($0, `sub`, [value("f32", 1), value("f32", 0)]), [value("f32", 1)]);
+
+// ./test/core/f32.wast:583
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -1),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -1)],
+);
+
+// ./test/core/f32.wast:584
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -1),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -1)],
+);
+
+// ./test/core/f32.wast:585
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 1),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 1)],
+);
+
+// ./test/core/f32.wast:586
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 1),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 1)],
+);
+
+// ./test/core/f32.wast:587
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -1),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -1)],
+);
+
+// ./test/core/f32.wast:588
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -1),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -1)],
+);
+
+// ./test/core/f32.wast:589
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 1),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 1)],
+);
+
+// ./test/core/f32.wast:590
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 1),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 1)],
+);
+
+// ./test/core/f32.wast:591
+assert_return(() => invoke($0, `sub`, [value("f32", -1), value("f32", -0.5)]), [value("f32", -0.5)]);
+
+// ./test/core/f32.wast:592
+assert_return(() => invoke($0, `sub`, [value("f32", -1), value("f32", 0.5)]), [value("f32", -1.5)]);
+
+// ./test/core/f32.wast:593
+assert_return(() => invoke($0, `sub`, [value("f32", 1), value("f32", -0.5)]), [value("f32", 1.5)]);
+
+// ./test/core/f32.wast:594
+assert_return(() => invoke($0, `sub`, [value("f32", 1), value("f32", 0.5)]), [value("f32", 0.5)]);
+
+// ./test/core/f32.wast:595
+assert_return(() => invoke($0, `sub`, [value("f32", -1), value("f32", -1)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:596
+assert_return(() => invoke($0, `sub`, [value("f32", -1), value("f32", 1)]), [value("f32", -2)]);
+
+// ./test/core/f32.wast:597
+assert_return(() => invoke($0, `sub`, [value("f32", 1), value("f32", -1)]), [value("f32", 2)]);
+
+// ./test/core/f32.wast:598
+assert_return(() => invoke($0, `sub`, [value("f32", 1), value("f32", 1)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:599
+assert_return(
+ () => invoke($0, `sub`, [value("f32", -1), value("f32", -6.2831855)]),
+ [value("f32", 5.2831855)],
+);
+
+// ./test/core/f32.wast:600
+assert_return(
+ () => invoke($0, `sub`, [value("f32", -1), value("f32", 6.2831855)]),
+ [value("f32", -7.2831855)],
+);
+
+// ./test/core/f32.wast:601
+assert_return(
+ () => invoke($0, `sub`, [value("f32", 1), value("f32", -6.2831855)]),
+ [value("f32", 7.2831855)],
+);
+
+// ./test/core/f32.wast:602
+assert_return(
+ () => invoke($0, `sub`, [value("f32", 1), value("f32", 6.2831855)]),
+ [value("f32", -5.2831855)],
+);
+
+// ./test/core/f32.wast:603
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -1),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:604
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -1),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:605
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 1),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:606
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 1),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:607
+assert_return(
+ () => invoke($0, `sub`, [value("f32", -1), value("f32", -Infinity)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:608
+assert_return(
+ () => invoke($0, `sub`, [value("f32", -1), value("f32", Infinity)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:609
+assert_return(
+ () => invoke($0, `sub`, [value("f32", 1), value("f32", -Infinity)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:610
+assert_return(
+ () => invoke($0, `sub`, [value("f32", 1), value("f32", Infinity)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:611
+assert_return(
+ () => invoke($0, `sub`, [value("f32", -1), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:612
+assert_return(
+ () => invoke($0, `sub`, [value("f32", -1), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:613
+assert_return(
+ () => invoke($0, `sub`, [value("f32", -1), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:614
+assert_return(
+ () => invoke($0, `sub`, [value("f32", -1), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:615
+assert_return(
+ () => invoke($0, `sub`, [value("f32", 1), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:616
+assert_return(
+ () => invoke($0, `sub`, [value("f32", 1), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:617
+assert_return(
+ () => invoke($0, `sub`, [value("f32", 1), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:618
+assert_return(
+ () => invoke($0, `sub`, [value("f32", 1), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:619
+assert_return(
+ () => invoke($0, `sub`, [value("f32", -6.2831855), value("f32", -0)]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:620
+assert_return(
+ () => invoke($0, `sub`, [value("f32", -6.2831855), value("f32", 0)]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:621
+assert_return(
+ () => invoke($0, `sub`, [value("f32", 6.2831855), value("f32", -0)]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:622
+assert_return(
+ () => invoke($0, `sub`, [value("f32", 6.2831855), value("f32", 0)]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:623
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -6.2831855),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:624
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -6.2831855),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:625
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 6.2831855),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:626
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 6.2831855),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:627
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -6.2831855),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:628
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -6.2831855),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:629
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 6.2831855),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:630
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 6.2831855),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:631
+assert_return(
+ () => invoke($0, `sub`, [value("f32", -6.2831855), value("f32", -0.5)]),
+ [value("f32", -5.7831855)],
+);
+
+// ./test/core/f32.wast:632
+assert_return(
+ () => invoke($0, `sub`, [value("f32", -6.2831855), value("f32", 0.5)]),
+ [value("f32", -6.7831855)],
+);
+
+// ./test/core/f32.wast:633
+assert_return(
+ () => invoke($0, `sub`, [value("f32", 6.2831855), value("f32", -0.5)]),
+ [value("f32", 6.7831855)],
+);
+
+// ./test/core/f32.wast:634
+assert_return(
+ () => invoke($0, `sub`, [value("f32", 6.2831855), value("f32", 0.5)]),
+ [value("f32", 5.7831855)],
+);
+
+// ./test/core/f32.wast:635
+assert_return(
+ () => invoke($0, `sub`, [value("f32", -6.2831855), value("f32", -1)]),
+ [value("f32", -5.2831855)],
+);
+
+// ./test/core/f32.wast:636
+assert_return(
+ () => invoke($0, `sub`, [value("f32", -6.2831855), value("f32", 1)]),
+ [value("f32", -7.2831855)],
+);
+
+// ./test/core/f32.wast:637
+assert_return(
+ () => invoke($0, `sub`, [value("f32", 6.2831855), value("f32", -1)]),
+ [value("f32", 7.2831855)],
+);
+
+// ./test/core/f32.wast:638
+assert_return(
+ () => invoke($0, `sub`, [value("f32", 6.2831855), value("f32", 1)]),
+ [value("f32", 5.2831855)],
+);
+
+// ./test/core/f32.wast:639
+assert_return(
+ () => invoke($0, `sub`, [value("f32", -6.2831855), value("f32", -6.2831855)]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:640
+assert_return(
+ () => invoke($0, `sub`, [value("f32", -6.2831855), value("f32", 6.2831855)]),
+ [value("f32", -12.566371)],
+);
+
+// ./test/core/f32.wast:641
+assert_return(
+ () => invoke($0, `sub`, [value("f32", 6.2831855), value("f32", -6.2831855)]),
+ [value("f32", 12.566371)],
+);
+
+// ./test/core/f32.wast:642
+assert_return(
+ () => invoke($0, `sub`, [value("f32", 6.2831855), value("f32", 6.2831855)]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:643
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -6.2831855),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:644
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -6.2831855),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:645
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 6.2831855),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:646
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 6.2831855),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:647
+assert_return(
+ () => invoke($0, `sub`, [value("f32", -6.2831855), value("f32", -Infinity)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:648
+assert_return(
+ () => invoke($0, `sub`, [value("f32", -6.2831855), value("f32", Infinity)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:649
+assert_return(
+ () => invoke($0, `sub`, [value("f32", 6.2831855), value("f32", -Infinity)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:650
+assert_return(
+ () => invoke($0, `sub`, [value("f32", 6.2831855), value("f32", Infinity)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:651
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -6.2831855),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:652
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -6.2831855),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:653
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -6.2831855),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:654
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -6.2831855),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:655
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 6.2831855),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:656
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 6.2831855),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:657
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 6.2831855),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:658
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 6.2831855),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:659
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -0),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:660
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 0),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:661
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -0),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:662
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 0),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:663
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:664
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:665
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:666
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:667
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:668
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:669
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:670
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:671
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -0.5),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:672
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 0.5),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:673
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -0.5),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:674
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 0.5),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:675
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -1),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:676
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 1),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:677
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -1),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:678
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 1),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:679
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -6.2831855),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:680
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 6.2831855),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:681
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -6.2831855),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:682
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 6.2831855),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:683
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:684
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:685
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:686
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:687
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -Infinity),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:688
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", Infinity),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:689
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -Infinity),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:690
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", Infinity),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:691
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:692
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:693
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:694
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:695
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:696
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:697
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:698
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", 340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:699
+assert_return(
+ () => invoke($0, `sub`, [value("f32", -Infinity), value("f32", -0)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:700
+assert_return(
+ () => invoke($0, `sub`, [value("f32", -Infinity), value("f32", 0)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:701
+assert_return(
+ () => invoke($0, `sub`, [value("f32", Infinity), value("f32", -0)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:702
+assert_return(
+ () => invoke($0, `sub`, [value("f32", Infinity), value("f32", 0)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:703
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -Infinity),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:704
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -Infinity),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:705
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", Infinity),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:706
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", Infinity),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:707
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -Infinity),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:708
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -Infinity),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:709
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", Infinity),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:710
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", Infinity),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:711
+assert_return(
+ () => invoke($0, `sub`, [value("f32", -Infinity), value("f32", -0.5)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:712
+assert_return(
+ () => invoke($0, `sub`, [value("f32", -Infinity), value("f32", 0.5)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:713
+assert_return(
+ () => invoke($0, `sub`, [value("f32", Infinity), value("f32", -0.5)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:714
+assert_return(
+ () => invoke($0, `sub`, [value("f32", Infinity), value("f32", 0.5)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:715
+assert_return(
+ () => invoke($0, `sub`, [value("f32", -Infinity), value("f32", -1)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:716
+assert_return(
+ () => invoke($0, `sub`, [value("f32", -Infinity), value("f32", 1)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:717
+assert_return(
+ () => invoke($0, `sub`, [value("f32", Infinity), value("f32", -1)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:718
+assert_return(
+ () => invoke($0, `sub`, [value("f32", Infinity), value("f32", 1)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:719
+assert_return(
+ () => invoke($0, `sub`, [value("f32", -Infinity), value("f32", -6.2831855)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:720
+assert_return(
+ () => invoke($0, `sub`, [value("f32", -Infinity), value("f32", 6.2831855)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:721
+assert_return(
+ () => invoke($0, `sub`, [value("f32", Infinity), value("f32", -6.2831855)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:722
+assert_return(
+ () => invoke($0, `sub`, [value("f32", Infinity), value("f32", 6.2831855)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:723
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -Infinity),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:724
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -Infinity),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:725
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", Infinity),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:726
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", Infinity),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:727
+assert_return(
+ () => invoke($0, `sub`, [value("f32", -Infinity), value("f32", -Infinity)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:728
+assert_return(
+ () => invoke($0, `sub`, [value("f32", -Infinity), value("f32", Infinity)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:729
+assert_return(
+ () => invoke($0, `sub`, [value("f32", Infinity), value("f32", -Infinity)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:730
+assert_return(
+ () => invoke($0, `sub`, [value("f32", Infinity), value("f32", Infinity)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:731
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -Infinity),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:732
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -Infinity),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:733
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -Infinity),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:734
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", -Infinity),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:735
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", Infinity),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:736
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", Infinity),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:737
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", Infinity),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:738
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f32", Infinity),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:739
+assert_return(
+ () => invoke($0, `sub`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", -0)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:740
+assert_return(
+ () => invoke($0, `sub`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", -0)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:741
+assert_return(
+ () => invoke($0, `sub`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", 0)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:742
+assert_return(
+ () => invoke($0, `sub`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", 0)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:743
+assert_return(
+ () => invoke($0, `sub`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", -0)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:744
+assert_return(
+ () => invoke($0, `sub`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", -0)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:745
+assert_return(
+ () => invoke($0, `sub`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", 0)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:746
+assert_return(
+ () => invoke($0, `sub`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", 0)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:747
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:748
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:749
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:750
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:751
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:752
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:753
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:754
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:755
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:756
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:757
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:758
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:759
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:760
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:761
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:762
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:763
+assert_return(
+ () => invoke($0, `sub`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", -0.5)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:764
+assert_return(
+ () => invoke($0, `sub`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", -0.5)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:765
+assert_return(
+ () => invoke($0, `sub`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", 0.5)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:766
+assert_return(
+ () => invoke($0, `sub`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", 0.5)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:767
+assert_return(
+ () => invoke($0, `sub`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", -0.5)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:768
+assert_return(
+ () => invoke($0, `sub`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", -0.5)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:769
+assert_return(
+ () => invoke($0, `sub`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", 0.5)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:770
+assert_return(
+ () => invoke($0, `sub`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", 0.5)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:771
+assert_return(
+ () => invoke($0, `sub`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", -1)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:772
+assert_return(
+ () => invoke($0, `sub`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", -1)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:773
+assert_return(
+ () => invoke($0, `sub`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", 1)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:774
+assert_return(
+ () => invoke($0, `sub`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", 1)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:775
+assert_return(
+ () => invoke($0, `sub`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", -1)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:776
+assert_return(
+ () => invoke($0, `sub`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", -1)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:777
+assert_return(
+ () => invoke($0, `sub`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", 1)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:778
+assert_return(
+ () => invoke($0, `sub`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", 1)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:779
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -6.2831855),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:780
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -6.2831855),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:781
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", 6.2831855),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:782
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", 6.2831855),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:783
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -6.2831855),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:784
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -6.2831855),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:785
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 6.2831855),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:786
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", 6.2831855),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:787
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:788
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:789
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:790
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:791
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:792
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:793
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:794
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:795
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -Infinity),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:796
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -Infinity),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:797
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", Infinity),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:798
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", Infinity),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:799
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -Infinity),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:800
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -Infinity),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:801
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", Infinity),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:802
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", Infinity),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:803
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:804
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:805
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:806
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:807
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:808
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:809
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:810
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:811
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:812
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:813
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:814
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:815
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:816
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:817
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:818
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:819
+assert_return(() => invoke($0, `mul`, [value("f32", -0), value("f32", -0)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:820
+assert_return(() => invoke($0, `mul`, [value("f32", -0), value("f32", 0)]), [value("f32", -0)]);
+
+// ./test/core/f32.wast:821
+assert_return(() => invoke($0, `mul`, [value("f32", 0), value("f32", -0)]), [value("f32", -0)]);
+
+// ./test/core/f32.wast:822
+assert_return(() => invoke($0, `mul`, [value("f32", 0), value("f32", 0)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:823
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -0),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:824
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -0),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:825
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 0),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:826
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 0),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:827
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -0),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:828
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -0),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:829
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 0),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:830
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 0),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:831
+assert_return(() => invoke($0, `mul`, [value("f32", -0), value("f32", -0.5)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:832
+assert_return(() => invoke($0, `mul`, [value("f32", -0), value("f32", 0.5)]), [value("f32", -0)]);
+
+// ./test/core/f32.wast:833
+assert_return(() => invoke($0, `mul`, [value("f32", 0), value("f32", -0.5)]), [value("f32", -0)]);
+
+// ./test/core/f32.wast:834
+assert_return(() => invoke($0, `mul`, [value("f32", 0), value("f32", 0.5)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:835
+assert_return(() => invoke($0, `mul`, [value("f32", -0), value("f32", -1)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:836
+assert_return(() => invoke($0, `mul`, [value("f32", -0), value("f32", 1)]), [value("f32", -0)]);
+
+// ./test/core/f32.wast:837
+assert_return(() => invoke($0, `mul`, [value("f32", 0), value("f32", -1)]), [value("f32", -0)]);
+
+// ./test/core/f32.wast:838
+assert_return(() => invoke($0, `mul`, [value("f32", 0), value("f32", 1)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:839
+assert_return(() => invoke($0, `mul`, [value("f32", -0), value("f32", -6.2831855)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:840
+assert_return(() => invoke($0, `mul`, [value("f32", -0), value("f32", 6.2831855)]), [value("f32", -0)]);
+
+// ./test/core/f32.wast:841
+assert_return(() => invoke($0, `mul`, [value("f32", 0), value("f32", -6.2831855)]), [value("f32", -0)]);
+
+// ./test/core/f32.wast:842
+assert_return(() => invoke($0, `mul`, [value("f32", 0), value("f32", 6.2831855)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:843
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -0),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:844
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -0),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:845
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 0),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:846
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 0),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:847
+assert_return(() => invoke($0, `mul`, [value("f32", -0), value("f32", -Infinity)]), [`canonical_nan`]);
+
+// ./test/core/f32.wast:848
+assert_return(() => invoke($0, `mul`, [value("f32", -0), value("f32", Infinity)]), [`canonical_nan`]);
+
+// ./test/core/f32.wast:849
+assert_return(() => invoke($0, `mul`, [value("f32", 0), value("f32", -Infinity)]), [`canonical_nan`]);
+
+// ./test/core/f32.wast:850
+assert_return(() => invoke($0, `mul`, [value("f32", 0), value("f32", Infinity)]), [`canonical_nan`]);
+
+// ./test/core/f32.wast:851
+assert_return(
+ () => invoke($0, `mul`, [value("f32", -0), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:852
+assert_return(
+ () => invoke($0, `mul`, [value("f32", -0), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:853
+assert_return(
+ () => invoke($0, `mul`, [value("f32", -0), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:854
+assert_return(
+ () => invoke($0, `mul`, [value("f32", -0), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:855
+assert_return(
+ () => invoke($0, `mul`, [value("f32", 0), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:856
+assert_return(
+ () => invoke($0, `mul`, [value("f32", 0), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:857
+assert_return(
+ () => invoke($0, `mul`, [value("f32", 0), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:858
+assert_return(
+ () => invoke($0, `mul`, [value("f32", 0), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:859
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:860
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 0),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:861
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -0),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:862
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:863
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:864
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:865
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:866
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:867
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:868
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:869
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:870
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:871
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.5),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:872
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 0.5),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:873
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -0.5),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:874
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.5),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:875
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -1),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:876
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 1),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:877
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -1),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:878
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 1),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:879
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -6.2831855),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000008)],
+);
+
+// ./test/core/f32.wast:880
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 6.2831855),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000008)],
+);
+
+// ./test/core/f32.wast:881
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -6.2831855),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000008)],
+);
+
+// ./test/core/f32.wast:882
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 6.2831855),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000008)],
+);
+
+// ./test/core/f32.wast:883
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 0.00000047683713)],
+);
+
+// ./test/core/f32.wast:884
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -0.00000047683713)],
+);
+
+// ./test/core/f32.wast:885
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -0.00000047683713)],
+);
+
+// ./test/core/f32.wast:886
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 0.00000047683713)],
+);
+
+// ./test/core/f32.wast:887
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -Infinity),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:888
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", Infinity),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:889
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -Infinity),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:890
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", Infinity),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:891
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:892
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:893
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:894
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:895
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:896
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:897
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:898
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:899
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:900
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 0),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:901
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -0),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:902
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:903
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:904
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:905
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:906
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:907
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:908
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:909
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:910
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:911
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.5),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000005877472)],
+);
+
+// ./test/core/f32.wast:912
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 0.5),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000005877472)],
+);
+
+// ./test/core/f32.wast:913
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -0.5),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000005877472)],
+);
+
+// ./test/core/f32.wast:914
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.5),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000005877472)],
+);
+
+// ./test/core/f32.wast:915
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -1),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:916
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 1),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:917
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -1),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:918
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 1),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:919
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -6.2831855),
+ ]),
+ [value("f32", 0.00000000000000000000000000000000000007385849)],
+);
+
+// ./test/core/f32.wast:920
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 6.2831855),
+ ]),
+ [value("f32", -0.00000000000000000000000000000000000007385849)],
+);
+
+// ./test/core/f32.wast:921
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -6.2831855),
+ ]),
+ [value("f32", -0.00000000000000000000000000000000000007385849)],
+);
+
+// ./test/core/f32.wast:922
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 6.2831855),
+ ]),
+ [value("f32", 0.00000000000000000000000000000000000007385849)],
+);
+
+// ./test/core/f32.wast:923
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 3.9999998)],
+);
+
+// ./test/core/f32.wast:924
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -3.9999998)],
+);
+
+// ./test/core/f32.wast:925
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -3.9999998)],
+);
+
+// ./test/core/f32.wast:926
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 3.9999998)],
+);
+
+// ./test/core/f32.wast:927
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -Infinity),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:928
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", Infinity),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:929
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -Infinity),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:930
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", Infinity),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:931
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:932
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:933
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:934
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:935
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:936
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:937
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:938
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:939
+assert_return(() => invoke($0, `mul`, [value("f32", -0.5), value("f32", -0)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:940
+assert_return(() => invoke($0, `mul`, [value("f32", -0.5), value("f32", 0)]), [value("f32", -0)]);
+
+// ./test/core/f32.wast:941
+assert_return(() => invoke($0, `mul`, [value("f32", 0.5), value("f32", -0)]), [value("f32", -0)]);
+
+// ./test/core/f32.wast:942
+assert_return(() => invoke($0, `mul`, [value("f32", 0.5), value("f32", 0)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:943
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -0.5),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:944
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -0.5),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:945
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 0.5),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:946
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 0.5),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:947
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -0.5),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000005877472)],
+);
+
+// ./test/core/f32.wast:948
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -0.5),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000005877472)],
+);
+
+// ./test/core/f32.wast:949
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 0.5),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000005877472)],
+);
+
+// ./test/core/f32.wast:950
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 0.5),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000005877472)],
+);
+
+// ./test/core/f32.wast:951
+assert_return(() => invoke($0, `mul`, [value("f32", -0.5), value("f32", -0.5)]), [value("f32", 0.25)]);
+
+// ./test/core/f32.wast:952
+assert_return(() => invoke($0, `mul`, [value("f32", -0.5), value("f32", 0.5)]), [value("f32", -0.25)]);
+
+// ./test/core/f32.wast:953
+assert_return(() => invoke($0, `mul`, [value("f32", 0.5), value("f32", -0.5)]), [value("f32", -0.25)]);
+
+// ./test/core/f32.wast:954
+assert_return(() => invoke($0, `mul`, [value("f32", 0.5), value("f32", 0.5)]), [value("f32", 0.25)]);
+
+// ./test/core/f32.wast:955
+assert_return(() => invoke($0, `mul`, [value("f32", -0.5), value("f32", -1)]), [value("f32", 0.5)]);
+
+// ./test/core/f32.wast:956
+assert_return(() => invoke($0, `mul`, [value("f32", -0.5), value("f32", 1)]), [value("f32", -0.5)]);
+
+// ./test/core/f32.wast:957
+assert_return(() => invoke($0, `mul`, [value("f32", 0.5), value("f32", -1)]), [value("f32", -0.5)]);
+
+// ./test/core/f32.wast:958
+assert_return(() => invoke($0, `mul`, [value("f32", 0.5), value("f32", 1)]), [value("f32", 0.5)]);
+
+// ./test/core/f32.wast:959
+assert_return(
+ () => invoke($0, `mul`, [value("f32", -0.5), value("f32", -6.2831855)]),
+ [value("f32", 3.1415927)],
+);
+
+// ./test/core/f32.wast:960
+assert_return(
+ () => invoke($0, `mul`, [value("f32", -0.5), value("f32", 6.2831855)]),
+ [value("f32", -3.1415927)],
+);
+
+// ./test/core/f32.wast:961
+assert_return(
+ () => invoke($0, `mul`, [value("f32", 0.5), value("f32", -6.2831855)]),
+ [value("f32", -3.1415927)],
+);
+
+// ./test/core/f32.wast:962
+assert_return(
+ () => invoke($0, `mul`, [value("f32", 0.5), value("f32", 6.2831855)]),
+ [value("f32", 3.1415927)],
+);
+
+// ./test/core/f32.wast:963
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -0.5),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 170141170000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:964
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -0.5),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -170141170000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:965
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 0.5),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -170141170000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:966
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 0.5),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 170141170000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:967
+assert_return(
+ () => invoke($0, `mul`, [value("f32", -0.5), value("f32", -Infinity)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:968
+assert_return(
+ () => invoke($0, `mul`, [value("f32", -0.5), value("f32", Infinity)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:969
+assert_return(
+ () => invoke($0, `mul`, [value("f32", 0.5), value("f32", -Infinity)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:970
+assert_return(
+ () => invoke($0, `mul`, [value("f32", 0.5), value("f32", Infinity)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:971
+assert_return(
+ () => invoke($0, `mul`, [value("f32", -0.5), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:972
+assert_return(
+ () => invoke($0, `mul`, [value("f32", -0.5), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:973
+assert_return(
+ () => invoke($0, `mul`, [value("f32", -0.5), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:974
+assert_return(
+ () => invoke($0, `mul`, [value("f32", -0.5), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:975
+assert_return(
+ () => invoke($0, `mul`, [value("f32", 0.5), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:976
+assert_return(
+ () => invoke($0, `mul`, [value("f32", 0.5), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:977
+assert_return(
+ () => invoke($0, `mul`, [value("f32", 0.5), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:978
+assert_return(
+ () => invoke($0, `mul`, [value("f32", 0.5), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:979
+assert_return(() => invoke($0, `mul`, [value("f32", -1), value("f32", -0)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:980
+assert_return(() => invoke($0, `mul`, [value("f32", -1), value("f32", 0)]), [value("f32", -0)]);
+
+// ./test/core/f32.wast:981
+assert_return(() => invoke($0, `mul`, [value("f32", 1), value("f32", -0)]), [value("f32", -0)]);
+
+// ./test/core/f32.wast:982
+assert_return(() => invoke($0, `mul`, [value("f32", 1), value("f32", 0)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:983
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -1),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:984
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -1),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:985
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 1),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:986
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 1),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:987
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -1),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:988
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -1),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:989
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 1),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:990
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 1),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:991
+assert_return(() => invoke($0, `mul`, [value("f32", -1), value("f32", -0.5)]), [value("f32", 0.5)]);
+
+// ./test/core/f32.wast:992
+assert_return(() => invoke($0, `mul`, [value("f32", -1), value("f32", 0.5)]), [value("f32", -0.5)]);
+
+// ./test/core/f32.wast:993
+assert_return(() => invoke($0, `mul`, [value("f32", 1), value("f32", -0.5)]), [value("f32", -0.5)]);
+
+// ./test/core/f32.wast:994
+assert_return(() => invoke($0, `mul`, [value("f32", 1), value("f32", 0.5)]), [value("f32", 0.5)]);
+
+// ./test/core/f32.wast:995
+assert_return(() => invoke($0, `mul`, [value("f32", -1), value("f32", -1)]), [value("f32", 1)]);
+
+// ./test/core/f32.wast:996
+assert_return(() => invoke($0, `mul`, [value("f32", -1), value("f32", 1)]), [value("f32", -1)]);
+
+// ./test/core/f32.wast:997
+assert_return(() => invoke($0, `mul`, [value("f32", 1), value("f32", -1)]), [value("f32", -1)]);
+
+// ./test/core/f32.wast:998
+assert_return(() => invoke($0, `mul`, [value("f32", 1), value("f32", 1)]), [value("f32", 1)]);
+
+// ./test/core/f32.wast:999
+assert_return(
+ () => invoke($0, `mul`, [value("f32", -1), value("f32", -6.2831855)]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:1000
+assert_return(
+ () => invoke($0, `mul`, [value("f32", -1), value("f32", 6.2831855)]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:1001
+assert_return(
+ () => invoke($0, `mul`, [value("f32", 1), value("f32", -6.2831855)]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:1002
+assert_return(
+ () => invoke($0, `mul`, [value("f32", 1), value("f32", 6.2831855)]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:1003
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -1),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1004
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -1),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1005
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 1),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1006
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 1),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1007
+assert_return(
+ () => invoke($0, `mul`, [value("f32", -1), value("f32", -Infinity)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1008
+assert_return(
+ () => invoke($0, `mul`, [value("f32", -1), value("f32", Infinity)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1009
+assert_return(
+ () => invoke($0, `mul`, [value("f32", 1), value("f32", -Infinity)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1010
+assert_return(
+ () => invoke($0, `mul`, [value("f32", 1), value("f32", Infinity)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1011
+assert_return(
+ () => invoke($0, `mul`, [value("f32", -1), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1012
+assert_return(
+ () => invoke($0, `mul`, [value("f32", -1), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1013
+assert_return(
+ () => invoke($0, `mul`, [value("f32", -1), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1014
+assert_return(
+ () => invoke($0, `mul`, [value("f32", -1), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1015
+assert_return(
+ () => invoke($0, `mul`, [value("f32", 1), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1016
+assert_return(
+ () => invoke($0, `mul`, [value("f32", 1), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1017
+assert_return(
+ () => invoke($0, `mul`, [value("f32", 1), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1018
+assert_return(
+ () => invoke($0, `mul`, [value("f32", 1), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1019
+assert_return(() => invoke($0, `mul`, [value("f32", -6.2831855), value("f32", -0)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:1020
+assert_return(() => invoke($0, `mul`, [value("f32", -6.2831855), value("f32", 0)]), [value("f32", -0)]);
+
+// ./test/core/f32.wast:1021
+assert_return(() => invoke($0, `mul`, [value("f32", 6.2831855), value("f32", -0)]), [value("f32", -0)]);
+
+// ./test/core/f32.wast:1022
+assert_return(() => invoke($0, `mul`, [value("f32", 6.2831855), value("f32", 0)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:1023
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -6.2831855),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000008)],
+);
+
+// ./test/core/f32.wast:1024
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -6.2831855),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000008)],
+);
+
+// ./test/core/f32.wast:1025
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 6.2831855),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000008)],
+);
+
+// ./test/core/f32.wast:1026
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 6.2831855),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000008)],
+);
+
+// ./test/core/f32.wast:1027
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -6.2831855),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0.00000000000000000000000000000000000007385849)],
+);
+
+// ./test/core/f32.wast:1028
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -6.2831855),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0.00000000000000000000000000000000000007385849)],
+);
+
+// ./test/core/f32.wast:1029
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 6.2831855),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0.00000000000000000000000000000000000007385849)],
+);
+
+// ./test/core/f32.wast:1030
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 6.2831855),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0.00000000000000000000000000000000000007385849)],
+);
+
+// ./test/core/f32.wast:1031
+assert_return(
+ () => invoke($0, `mul`, [value("f32", -6.2831855), value("f32", -0.5)]),
+ [value("f32", 3.1415927)],
+);
+
+// ./test/core/f32.wast:1032
+assert_return(
+ () => invoke($0, `mul`, [value("f32", -6.2831855), value("f32", 0.5)]),
+ [value("f32", -3.1415927)],
+);
+
+// ./test/core/f32.wast:1033
+assert_return(
+ () => invoke($0, `mul`, [value("f32", 6.2831855), value("f32", -0.5)]),
+ [value("f32", -3.1415927)],
+);
+
+// ./test/core/f32.wast:1034
+assert_return(
+ () => invoke($0, `mul`, [value("f32", 6.2831855), value("f32", 0.5)]),
+ [value("f32", 3.1415927)],
+);
+
+// ./test/core/f32.wast:1035
+assert_return(
+ () => invoke($0, `mul`, [value("f32", -6.2831855), value("f32", -1)]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:1036
+assert_return(
+ () => invoke($0, `mul`, [value("f32", -6.2831855), value("f32", 1)]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:1037
+assert_return(
+ () => invoke($0, `mul`, [value("f32", 6.2831855), value("f32", -1)]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:1038
+assert_return(
+ () => invoke($0, `mul`, [value("f32", 6.2831855), value("f32", 1)]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:1039
+assert_return(
+ () => invoke($0, `mul`, [value("f32", -6.2831855), value("f32", -6.2831855)]),
+ [value("f32", 39.47842)],
+);
+
+// ./test/core/f32.wast:1040
+assert_return(
+ () => invoke($0, `mul`, [value("f32", -6.2831855), value("f32", 6.2831855)]),
+ [value("f32", -39.47842)],
+);
+
+// ./test/core/f32.wast:1041
+assert_return(
+ () => invoke($0, `mul`, [value("f32", 6.2831855), value("f32", -6.2831855)]),
+ [value("f32", -39.47842)],
+);
+
+// ./test/core/f32.wast:1042
+assert_return(
+ () => invoke($0, `mul`, [value("f32", 6.2831855), value("f32", 6.2831855)]),
+ [value("f32", 39.47842)],
+);
+
+// ./test/core/f32.wast:1043
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -6.2831855),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1044
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -6.2831855),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1045
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 6.2831855),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1046
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 6.2831855),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1047
+assert_return(
+ () => invoke($0, `mul`, [value("f32", -6.2831855), value("f32", -Infinity)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1048
+assert_return(
+ () => invoke($0, `mul`, [value("f32", -6.2831855), value("f32", Infinity)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1049
+assert_return(
+ () => invoke($0, `mul`, [value("f32", 6.2831855), value("f32", -Infinity)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1050
+assert_return(
+ () => invoke($0, `mul`, [value("f32", 6.2831855), value("f32", Infinity)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1051
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -6.2831855),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1052
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -6.2831855),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1053
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -6.2831855),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1054
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -6.2831855),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1055
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 6.2831855),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1056
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 6.2831855),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1057
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 6.2831855),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1058
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 6.2831855),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1059
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -0),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:1060
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 0),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:1061
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -0),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:1062
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 0),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:1063
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0.00000047683713)],
+);
+
+// ./test/core/f32.wast:1064
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0.00000047683713)],
+);
+
+// ./test/core/f32.wast:1065
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0.00000047683713)],
+);
+
+// ./test/core/f32.wast:1066
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0.00000047683713)],
+);
+
+// ./test/core/f32.wast:1067
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 3.9999998)],
+);
+
+// ./test/core/f32.wast:1068
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -3.9999998)],
+);
+
+// ./test/core/f32.wast:1069
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -3.9999998)],
+);
+
+// ./test/core/f32.wast:1070
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 3.9999998)],
+);
+
+// ./test/core/f32.wast:1071
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -0.5),
+ ]),
+ [value("f32", 170141170000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1072
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 0.5),
+ ]),
+ [value("f32", -170141170000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1073
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -0.5),
+ ]),
+ [value("f32", -170141170000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1074
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 0.5),
+ ]),
+ [value("f32", 170141170000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1075
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -1),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1076
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 1),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1077
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -1),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1078
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 1),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1079
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -6.2831855),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1080
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 6.2831855),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1081
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -6.2831855),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1082
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 6.2831855),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1083
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1084
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1085
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1086
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1087
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -Infinity),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1088
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", Infinity),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1089
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -Infinity),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1090
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", Infinity),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1091
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1092
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1093
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1094
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1095
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1096
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1097
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1098
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", 340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1099
+assert_return(() => invoke($0, `mul`, [value("f32", -Infinity), value("f32", -0)]), [`canonical_nan`]);
+
+// ./test/core/f32.wast:1100
+assert_return(() => invoke($0, `mul`, [value("f32", -Infinity), value("f32", 0)]), [`canonical_nan`]);
+
+// ./test/core/f32.wast:1101
+assert_return(() => invoke($0, `mul`, [value("f32", Infinity), value("f32", -0)]), [`canonical_nan`]);
+
+// ./test/core/f32.wast:1102
+assert_return(() => invoke($0, `mul`, [value("f32", Infinity), value("f32", 0)]), [`canonical_nan`]);
+
+// ./test/core/f32.wast:1103
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -Infinity),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1104
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -Infinity),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1105
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", Infinity),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1106
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", Infinity),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1107
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -Infinity),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1108
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -Infinity),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1109
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", Infinity),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1110
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", Infinity),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1111
+assert_return(
+ () => invoke($0, `mul`, [value("f32", -Infinity), value("f32", -0.5)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1112
+assert_return(
+ () => invoke($0, `mul`, [value("f32", -Infinity), value("f32", 0.5)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1113
+assert_return(
+ () => invoke($0, `mul`, [value("f32", Infinity), value("f32", -0.5)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1114
+assert_return(
+ () => invoke($0, `mul`, [value("f32", Infinity), value("f32", 0.5)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1115
+assert_return(
+ () => invoke($0, `mul`, [value("f32", -Infinity), value("f32", -1)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1116
+assert_return(
+ () => invoke($0, `mul`, [value("f32", -Infinity), value("f32", 1)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1117
+assert_return(
+ () => invoke($0, `mul`, [value("f32", Infinity), value("f32", -1)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1118
+assert_return(
+ () => invoke($0, `mul`, [value("f32", Infinity), value("f32", 1)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1119
+assert_return(
+ () => invoke($0, `mul`, [value("f32", -Infinity), value("f32", -6.2831855)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1120
+assert_return(
+ () => invoke($0, `mul`, [value("f32", -Infinity), value("f32", 6.2831855)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1121
+assert_return(
+ () => invoke($0, `mul`, [value("f32", Infinity), value("f32", -6.2831855)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1122
+assert_return(
+ () => invoke($0, `mul`, [value("f32", Infinity), value("f32", 6.2831855)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1123
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -Infinity),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1124
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -Infinity),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1125
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", Infinity),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1126
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", Infinity),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1127
+assert_return(
+ () => invoke($0, `mul`, [value("f32", -Infinity), value("f32", -Infinity)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1128
+assert_return(
+ () => invoke($0, `mul`, [value("f32", -Infinity), value("f32", Infinity)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1129
+assert_return(
+ () => invoke($0, `mul`, [value("f32", Infinity), value("f32", -Infinity)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1130
+assert_return(
+ () => invoke($0, `mul`, [value("f32", Infinity), value("f32", Infinity)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1131
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -Infinity),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1132
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -Infinity),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1133
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -Infinity),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1134
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", -Infinity),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1135
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", Infinity),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1136
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", Infinity),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1137
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", Infinity),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1138
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f32", Infinity),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1139
+assert_return(
+ () => invoke($0, `mul`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", -0)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1140
+assert_return(
+ () => invoke($0, `mul`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", -0)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1141
+assert_return(
+ () => invoke($0, `mul`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", 0)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1142
+assert_return(
+ () => invoke($0, `mul`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", 0)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1143
+assert_return(
+ () => invoke($0, `mul`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", -0)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1144
+assert_return(
+ () => invoke($0, `mul`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", -0)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1145
+assert_return(
+ () => invoke($0, `mul`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", 0)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1146
+assert_return(
+ () => invoke($0, `mul`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", 0)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1147
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1148
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1149
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1150
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1151
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1152
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1153
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1154
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1155
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1156
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1157
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1158
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1159
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1160
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1161
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1162
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1163
+assert_return(
+ () => invoke($0, `mul`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", -0.5)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1164
+assert_return(
+ () => invoke($0, `mul`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", -0.5)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1165
+assert_return(
+ () => invoke($0, `mul`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", 0.5)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1166
+assert_return(
+ () => invoke($0, `mul`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", 0.5)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1167
+assert_return(
+ () => invoke($0, `mul`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", -0.5)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1168
+assert_return(
+ () => invoke($0, `mul`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", -0.5)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1169
+assert_return(
+ () => invoke($0, `mul`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", 0.5)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1170
+assert_return(
+ () => invoke($0, `mul`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", 0.5)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1171
+assert_return(
+ () => invoke($0, `mul`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", -1)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1172
+assert_return(
+ () => invoke($0, `mul`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", -1)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1173
+assert_return(
+ () => invoke($0, `mul`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", 1)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1174
+assert_return(
+ () => invoke($0, `mul`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", 1)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1175
+assert_return(
+ () => invoke($0, `mul`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", -1)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1176
+assert_return(
+ () => invoke($0, `mul`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", -1)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1177
+assert_return(
+ () => invoke($0, `mul`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", 1)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1178
+assert_return(
+ () => invoke($0, `mul`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", 1)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1179
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -6.2831855),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1180
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -6.2831855),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1181
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", 6.2831855),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1182
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", 6.2831855),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1183
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -6.2831855),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1184
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -6.2831855),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1185
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 6.2831855),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1186
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", 6.2831855),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1187
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1188
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1189
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1190
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1191
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1192
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1193
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1194
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1195
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -Infinity),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1196
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -Infinity),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1197
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", Infinity),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1198
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", Infinity),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1199
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -Infinity),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1200
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -Infinity),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1201
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", Infinity),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1202
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", Infinity),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1203
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1204
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1205
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1206
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1207
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1208
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1209
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1210
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1211
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1212
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1213
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1214
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1215
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1216
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1217
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1218
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1219
+assert_return(() => invoke($0, `div`, [value("f32", -0), value("f32", -0)]), [`canonical_nan`]);
+
+// ./test/core/f32.wast:1220
+assert_return(() => invoke($0, `div`, [value("f32", -0), value("f32", 0)]), [`canonical_nan`]);
+
+// ./test/core/f32.wast:1221
+assert_return(() => invoke($0, `div`, [value("f32", 0), value("f32", -0)]), [`canonical_nan`]);
+
+// ./test/core/f32.wast:1222
+assert_return(() => invoke($0, `div`, [value("f32", 0), value("f32", 0)]), [`canonical_nan`]);
+
+// ./test/core/f32.wast:1223
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -0),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:1224
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -0),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:1225
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 0),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:1226
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 0),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:1227
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -0),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:1228
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -0),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:1229
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 0),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:1230
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 0),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:1231
+assert_return(() => invoke($0, `div`, [value("f32", -0), value("f32", -0.5)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:1232
+assert_return(() => invoke($0, `div`, [value("f32", -0), value("f32", 0.5)]), [value("f32", -0)]);
+
+// ./test/core/f32.wast:1233
+assert_return(() => invoke($0, `div`, [value("f32", 0), value("f32", -0.5)]), [value("f32", -0)]);
+
+// ./test/core/f32.wast:1234
+assert_return(() => invoke($0, `div`, [value("f32", 0), value("f32", 0.5)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:1235
+assert_return(() => invoke($0, `div`, [value("f32", -0), value("f32", -1)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:1236
+assert_return(() => invoke($0, `div`, [value("f32", -0), value("f32", 1)]), [value("f32", -0)]);
+
+// ./test/core/f32.wast:1237
+assert_return(() => invoke($0, `div`, [value("f32", 0), value("f32", -1)]), [value("f32", -0)]);
+
+// ./test/core/f32.wast:1238
+assert_return(() => invoke($0, `div`, [value("f32", 0), value("f32", 1)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:1239
+assert_return(() => invoke($0, `div`, [value("f32", -0), value("f32", -6.2831855)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:1240
+assert_return(() => invoke($0, `div`, [value("f32", -0), value("f32", 6.2831855)]), [value("f32", -0)]);
+
+// ./test/core/f32.wast:1241
+assert_return(() => invoke($0, `div`, [value("f32", 0), value("f32", -6.2831855)]), [value("f32", -0)]);
+
+// ./test/core/f32.wast:1242
+assert_return(() => invoke($0, `div`, [value("f32", 0), value("f32", 6.2831855)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:1243
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -0),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:1244
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -0),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:1245
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 0),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:1246
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 0),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:1247
+assert_return(() => invoke($0, `div`, [value("f32", -0), value("f32", -Infinity)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:1248
+assert_return(() => invoke($0, `div`, [value("f32", -0), value("f32", Infinity)]), [value("f32", -0)]);
+
+// ./test/core/f32.wast:1249
+assert_return(() => invoke($0, `div`, [value("f32", 0), value("f32", -Infinity)]), [value("f32", -0)]);
+
+// ./test/core/f32.wast:1250
+assert_return(() => invoke($0, `div`, [value("f32", 0), value("f32", Infinity)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:1251
+assert_return(
+ () => invoke($0, `div`, [value("f32", -0), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1252
+assert_return(
+ () => invoke($0, `div`, [value("f32", -0), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1253
+assert_return(
+ () => invoke($0, `div`, [value("f32", -0), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1254
+assert_return(
+ () => invoke($0, `div`, [value("f32", -0), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1255
+assert_return(
+ () => invoke($0, `div`, [value("f32", 0), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1256
+assert_return(
+ () => invoke($0, `div`, [value("f32", 0), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1257
+assert_return(
+ () => invoke($0, `div`, [value("f32", 0), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1258
+assert_return(
+ () => invoke($0, `div`, [value("f32", 0), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1259
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1260
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 0),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1261
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -0),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1262
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1263
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 1)],
+);
+
+// ./test/core/f32.wast:1264
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -1)],
+);
+
+// ./test/core/f32.wast:1265
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -1)],
+);
+
+// ./test/core/f32.wast:1266
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 1)],
+);
+
+// ./test/core/f32.wast:1267
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0.00000011920929)],
+);
+
+// ./test/core/f32.wast:1268
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0.00000011920929)],
+);
+
+// ./test/core/f32.wast:1269
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0.00000011920929)],
+);
+
+// ./test/core/f32.wast:1270
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0.00000011920929)],
+);
+
+// ./test/core/f32.wast:1271
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.5),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000003)],
+);
+
+// ./test/core/f32.wast:1272
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 0.5),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000003)],
+);
+
+// ./test/core/f32.wast:1273
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -0.5),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000003)],
+);
+
+// ./test/core/f32.wast:1274
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.5),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000003)],
+);
+
+// ./test/core/f32.wast:1275
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -1),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:1276
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 1),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:1277
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -1),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:1278
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 1),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:1279
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -6.2831855),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:1280
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 6.2831855),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:1281
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -6.2831855),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:1282
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 6.2831855),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:1283
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:1284
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:1285
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:1286
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:1287
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -Infinity),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:1288
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", Infinity),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:1289
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -Infinity),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:1290
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", Infinity),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:1291
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1292
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1293
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1294
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1295
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1296
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1297
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1298
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1299
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1300
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 0),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1301
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -0),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1302
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1303
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 8388608)],
+);
+
+// ./test/core/f32.wast:1304
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -8388608)],
+);
+
+// ./test/core/f32.wast:1305
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -8388608)],
+);
+
+// ./test/core/f32.wast:1306
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 8388608)],
+);
+
+// ./test/core/f32.wast:1307
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 1)],
+);
+
+// ./test/core/f32.wast:1308
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -1)],
+);
+
+// ./test/core/f32.wast:1309
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -1)],
+);
+
+// ./test/core/f32.wast:1310
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 1)],
+);
+
+// ./test/core/f32.wast:1311
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.5),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000023509887)],
+);
+
+// ./test/core/f32.wast:1312
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 0.5),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000023509887)],
+);
+
+// ./test/core/f32.wast:1313
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -0.5),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000023509887)],
+);
+
+// ./test/core/f32.wast:1314
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.5),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000023509887)],
+);
+
+// ./test/core/f32.wast:1315
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -1),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:1316
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 1),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:1317
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -1),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:1318
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 1),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:1319
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -6.2831855),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000001870857)],
+);
+
+// ./test/core/f32.wast:1320
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 6.2831855),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000001870857)],
+);
+
+// ./test/core/f32.wast:1321
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -6.2831855),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000001870857)],
+);
+
+// ./test/core/f32.wast:1322
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 6.2831855),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000001870857)],
+);
+
+// ./test/core/f32.wast:1323
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:1324
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:1325
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:1326
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:1327
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -Infinity),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:1328
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", Infinity),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:1329
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -Infinity),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:1330
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", Infinity),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:1331
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1332
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1333
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1334
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1335
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1336
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1337
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1338
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1339
+assert_return(() => invoke($0, `div`, [value("f32", -0.5), value("f32", -0)]), [value("f32", Infinity)]);
+
+// ./test/core/f32.wast:1340
+assert_return(() => invoke($0, `div`, [value("f32", -0.5), value("f32", 0)]), [value("f32", -Infinity)]);
+
+// ./test/core/f32.wast:1341
+assert_return(() => invoke($0, `div`, [value("f32", 0.5), value("f32", -0)]), [value("f32", -Infinity)]);
+
+// ./test/core/f32.wast:1342
+assert_return(() => invoke($0, `div`, [value("f32", 0.5), value("f32", 0)]), [value("f32", Infinity)]);
+
+// ./test/core/f32.wast:1343
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -0.5),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1344
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -0.5),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1345
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 0.5),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1346
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 0.5),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1347
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -0.5),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 42535296000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1348
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -0.5),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -42535296000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1349
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 0.5),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -42535296000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1350
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 0.5),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 42535296000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1351
+assert_return(() => invoke($0, `div`, [value("f32", -0.5), value("f32", -0.5)]), [value("f32", 1)]);
+
+// ./test/core/f32.wast:1352
+assert_return(() => invoke($0, `div`, [value("f32", -0.5), value("f32", 0.5)]), [value("f32", -1)]);
+
+// ./test/core/f32.wast:1353
+assert_return(() => invoke($0, `div`, [value("f32", 0.5), value("f32", -0.5)]), [value("f32", -1)]);
+
+// ./test/core/f32.wast:1354
+assert_return(() => invoke($0, `div`, [value("f32", 0.5), value("f32", 0.5)]), [value("f32", 1)]);
+
+// ./test/core/f32.wast:1355
+assert_return(() => invoke($0, `div`, [value("f32", -0.5), value("f32", -1)]), [value("f32", 0.5)]);
+
+// ./test/core/f32.wast:1356
+assert_return(() => invoke($0, `div`, [value("f32", -0.5), value("f32", 1)]), [value("f32", -0.5)]);
+
+// ./test/core/f32.wast:1357
+assert_return(() => invoke($0, `div`, [value("f32", 0.5), value("f32", -1)]), [value("f32", -0.5)]);
+
+// ./test/core/f32.wast:1358
+assert_return(() => invoke($0, `div`, [value("f32", 0.5), value("f32", 1)]), [value("f32", 0.5)]);
+
+// ./test/core/f32.wast:1359
+assert_return(
+ () => invoke($0, `div`, [value("f32", -0.5), value("f32", -6.2831855)]),
+ [value("f32", 0.07957747)],
+);
+
+// ./test/core/f32.wast:1360
+assert_return(
+ () => invoke($0, `div`, [value("f32", -0.5), value("f32", 6.2831855)]),
+ [value("f32", -0.07957747)],
+);
+
+// ./test/core/f32.wast:1361
+assert_return(
+ () => invoke($0, `div`, [value("f32", 0.5), value("f32", -6.2831855)]),
+ [value("f32", -0.07957747)],
+);
+
+// ./test/core/f32.wast:1362
+assert_return(
+ () => invoke($0, `div`, [value("f32", 0.5), value("f32", 6.2831855)]),
+ [value("f32", 0.07957747)],
+);
+
+// ./test/core/f32.wast:1363
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -0.5),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000001469368)],
+);
+
+// ./test/core/f32.wast:1364
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -0.5),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000001469368)],
+);
+
+// ./test/core/f32.wast:1365
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 0.5),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000001469368)],
+);
+
+// ./test/core/f32.wast:1366
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 0.5),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000001469368)],
+);
+
+// ./test/core/f32.wast:1367
+assert_return(() => invoke($0, `div`, [value("f32", -0.5), value("f32", -Infinity)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:1368
+assert_return(() => invoke($0, `div`, [value("f32", -0.5), value("f32", Infinity)]), [value("f32", -0)]);
+
+// ./test/core/f32.wast:1369
+assert_return(() => invoke($0, `div`, [value("f32", 0.5), value("f32", -Infinity)]), [value("f32", -0)]);
+
+// ./test/core/f32.wast:1370
+assert_return(() => invoke($0, `div`, [value("f32", 0.5), value("f32", Infinity)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:1371
+assert_return(
+ () => invoke($0, `div`, [value("f32", -0.5), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1372
+assert_return(
+ () => invoke($0, `div`, [value("f32", -0.5), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1373
+assert_return(
+ () => invoke($0, `div`, [value("f32", -0.5), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1374
+assert_return(
+ () => invoke($0, `div`, [value("f32", -0.5), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1375
+assert_return(
+ () => invoke($0, `div`, [value("f32", 0.5), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1376
+assert_return(
+ () => invoke($0, `div`, [value("f32", 0.5), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1377
+assert_return(
+ () => invoke($0, `div`, [value("f32", 0.5), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1378
+assert_return(
+ () => invoke($0, `div`, [value("f32", 0.5), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1379
+assert_return(() => invoke($0, `div`, [value("f32", -1), value("f32", -0)]), [value("f32", Infinity)]);
+
+// ./test/core/f32.wast:1380
+assert_return(() => invoke($0, `div`, [value("f32", -1), value("f32", 0)]), [value("f32", -Infinity)]);
+
+// ./test/core/f32.wast:1381
+assert_return(() => invoke($0, `div`, [value("f32", 1), value("f32", -0)]), [value("f32", -Infinity)]);
+
+// ./test/core/f32.wast:1382
+assert_return(() => invoke($0, `div`, [value("f32", 1), value("f32", 0)]), [value("f32", Infinity)]);
+
+// ./test/core/f32.wast:1383
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -1),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1384
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -1),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1385
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 1),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1386
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 1),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1387
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -1),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 85070590000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1388
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -1),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -85070590000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1389
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 1),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -85070590000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1390
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 1),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 85070590000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1391
+assert_return(() => invoke($0, `div`, [value("f32", -1), value("f32", -0.5)]), [value("f32", 2)]);
+
+// ./test/core/f32.wast:1392
+assert_return(() => invoke($0, `div`, [value("f32", -1), value("f32", 0.5)]), [value("f32", -2)]);
+
+// ./test/core/f32.wast:1393
+assert_return(() => invoke($0, `div`, [value("f32", 1), value("f32", -0.5)]), [value("f32", -2)]);
+
+// ./test/core/f32.wast:1394
+assert_return(() => invoke($0, `div`, [value("f32", 1), value("f32", 0.5)]), [value("f32", 2)]);
+
+// ./test/core/f32.wast:1395
+assert_return(() => invoke($0, `div`, [value("f32", -1), value("f32", -1)]), [value("f32", 1)]);
+
+// ./test/core/f32.wast:1396
+assert_return(() => invoke($0, `div`, [value("f32", -1), value("f32", 1)]), [value("f32", -1)]);
+
+// ./test/core/f32.wast:1397
+assert_return(() => invoke($0, `div`, [value("f32", 1), value("f32", -1)]), [value("f32", -1)]);
+
+// ./test/core/f32.wast:1398
+assert_return(() => invoke($0, `div`, [value("f32", 1), value("f32", 1)]), [value("f32", 1)]);
+
+// ./test/core/f32.wast:1399
+assert_return(
+ () => invoke($0, `div`, [value("f32", -1), value("f32", -6.2831855)]),
+ [value("f32", 0.15915494)],
+);
+
+// ./test/core/f32.wast:1400
+assert_return(
+ () => invoke($0, `div`, [value("f32", -1), value("f32", 6.2831855)]),
+ [value("f32", -0.15915494)],
+);
+
+// ./test/core/f32.wast:1401
+assert_return(
+ () => invoke($0, `div`, [value("f32", 1), value("f32", -6.2831855)]),
+ [value("f32", -0.15915494)],
+);
+
+// ./test/core/f32.wast:1402
+assert_return(
+ () => invoke($0, `div`, [value("f32", 1), value("f32", 6.2831855)]),
+ [value("f32", 0.15915494)],
+);
+
+// ./test/core/f32.wast:1403
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -1),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000002938736)],
+);
+
+// ./test/core/f32.wast:1404
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -1),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000002938736)],
+);
+
+// ./test/core/f32.wast:1405
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 1),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000002938736)],
+);
+
+// ./test/core/f32.wast:1406
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 1),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000002938736)],
+);
+
+// ./test/core/f32.wast:1407
+assert_return(() => invoke($0, `div`, [value("f32", -1), value("f32", -Infinity)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:1408
+assert_return(() => invoke($0, `div`, [value("f32", -1), value("f32", Infinity)]), [value("f32", -0)]);
+
+// ./test/core/f32.wast:1409
+assert_return(() => invoke($0, `div`, [value("f32", 1), value("f32", -Infinity)]), [value("f32", -0)]);
+
+// ./test/core/f32.wast:1410
+assert_return(() => invoke($0, `div`, [value("f32", 1), value("f32", Infinity)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:1411
+assert_return(
+ () => invoke($0, `div`, [value("f32", -1), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1412
+assert_return(
+ () => invoke($0, `div`, [value("f32", -1), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1413
+assert_return(
+ () => invoke($0, `div`, [value("f32", -1), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1414
+assert_return(
+ () => invoke($0, `div`, [value("f32", -1), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1415
+assert_return(
+ () => invoke($0, `div`, [value("f32", 1), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1416
+assert_return(
+ () => invoke($0, `div`, [value("f32", 1), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1417
+assert_return(
+ () => invoke($0, `div`, [value("f32", 1), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1418
+assert_return(
+ () => invoke($0, `div`, [value("f32", 1), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1419
+assert_return(
+ () => invoke($0, `div`, [value("f32", -6.2831855), value("f32", -0)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1420
+assert_return(
+ () => invoke($0, `div`, [value("f32", -6.2831855), value("f32", 0)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1421
+assert_return(
+ () => invoke($0, `div`, [value("f32", 6.2831855), value("f32", -0)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1422
+assert_return(
+ () => invoke($0, `div`, [value("f32", 6.2831855), value("f32", 0)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1423
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -6.2831855),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1424
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -6.2831855),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1425
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 6.2831855),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1426
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 6.2831855),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1427
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -6.2831855),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1428
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -6.2831855),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1429
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 6.2831855),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1430
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 6.2831855),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1431
+assert_return(
+ () => invoke($0, `div`, [value("f32", -6.2831855), value("f32", -0.5)]),
+ [value("f32", 12.566371)],
+);
+
+// ./test/core/f32.wast:1432
+assert_return(
+ () => invoke($0, `div`, [value("f32", -6.2831855), value("f32", 0.5)]),
+ [value("f32", -12.566371)],
+);
+
+// ./test/core/f32.wast:1433
+assert_return(
+ () => invoke($0, `div`, [value("f32", 6.2831855), value("f32", -0.5)]),
+ [value("f32", -12.566371)],
+);
+
+// ./test/core/f32.wast:1434
+assert_return(
+ () => invoke($0, `div`, [value("f32", 6.2831855), value("f32", 0.5)]),
+ [value("f32", 12.566371)],
+);
+
+// ./test/core/f32.wast:1435
+assert_return(
+ () => invoke($0, `div`, [value("f32", -6.2831855), value("f32", -1)]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:1436
+assert_return(
+ () => invoke($0, `div`, [value("f32", -6.2831855), value("f32", 1)]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:1437
+assert_return(
+ () => invoke($0, `div`, [value("f32", 6.2831855), value("f32", -1)]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:1438
+assert_return(
+ () => invoke($0, `div`, [value("f32", 6.2831855), value("f32", 1)]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:1439
+assert_return(
+ () => invoke($0, `div`, [value("f32", -6.2831855), value("f32", -6.2831855)]),
+ [value("f32", 1)],
+);
+
+// ./test/core/f32.wast:1440
+assert_return(
+ () => invoke($0, `div`, [value("f32", -6.2831855), value("f32", 6.2831855)]),
+ [value("f32", -1)],
+);
+
+// ./test/core/f32.wast:1441
+assert_return(
+ () => invoke($0, `div`, [value("f32", 6.2831855), value("f32", -6.2831855)]),
+ [value("f32", -1)],
+);
+
+// ./test/core/f32.wast:1442
+assert_return(
+ () => invoke($0, `div`, [value("f32", 6.2831855), value("f32", 6.2831855)]),
+ [value("f32", 1)],
+);
+
+// ./test/core/f32.wast:1443
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -6.2831855),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000018464624)],
+);
+
+// ./test/core/f32.wast:1444
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -6.2831855),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000018464624)],
+);
+
+// ./test/core/f32.wast:1445
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 6.2831855),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000018464624)],
+);
+
+// ./test/core/f32.wast:1446
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 6.2831855),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000018464624)],
+);
+
+// ./test/core/f32.wast:1447
+assert_return(
+ () => invoke($0, `div`, [value("f32", -6.2831855), value("f32", -Infinity)]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:1448
+assert_return(
+ () => invoke($0, `div`, [value("f32", -6.2831855), value("f32", Infinity)]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:1449
+assert_return(
+ () => invoke($0, `div`, [value("f32", 6.2831855), value("f32", -Infinity)]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:1450
+assert_return(
+ () => invoke($0, `div`, [value("f32", 6.2831855), value("f32", Infinity)]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:1451
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -6.2831855),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1452
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -6.2831855),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1453
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -6.2831855),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1454
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -6.2831855),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1455
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 6.2831855),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1456
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 6.2831855),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1457
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 6.2831855),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1458
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 6.2831855),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1459
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -0),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1460
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 0),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1461
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -0),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1462
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 0),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1463
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1464
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1465
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1466
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1467
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1468
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1469
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1470
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1471
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -0.5),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1472
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 0.5),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1473
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -0.5),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1474
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 0.5),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1475
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -1),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1476
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 1),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1477
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -1),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1478
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 1),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1479
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -6.2831855),
+ ]),
+ [value("f32", 54157613000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1480
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 6.2831855),
+ ]),
+ [value("f32", -54157613000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1481
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -6.2831855),
+ ]),
+ [value("f32", -54157613000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1482
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 6.2831855),
+ ]),
+ [value("f32", 54157613000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1483
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 1)],
+);
+
+// ./test/core/f32.wast:1484
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -1)],
+);
+
+// ./test/core/f32.wast:1485
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -1)],
+);
+
+// ./test/core/f32.wast:1486
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 1)],
+);
+
+// ./test/core/f32.wast:1487
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -Infinity),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:1488
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", Infinity),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:1489
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -Infinity),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:1490
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", Infinity),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:1491
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1492
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1493
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1494
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1495
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1496
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1497
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1498
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", 340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1499
+assert_return(
+ () => invoke($0, `div`, [value("f32", -Infinity), value("f32", -0)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1500
+assert_return(
+ () => invoke($0, `div`, [value("f32", -Infinity), value("f32", 0)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1501
+assert_return(
+ () => invoke($0, `div`, [value("f32", Infinity), value("f32", -0)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1502
+assert_return(
+ () => invoke($0, `div`, [value("f32", Infinity), value("f32", 0)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1503
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -Infinity),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1504
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -Infinity),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1505
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", Infinity),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1506
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", Infinity),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1507
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -Infinity),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1508
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -Infinity),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1509
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", Infinity),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1510
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", Infinity),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1511
+assert_return(
+ () => invoke($0, `div`, [value("f32", -Infinity), value("f32", -0.5)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1512
+assert_return(
+ () => invoke($0, `div`, [value("f32", -Infinity), value("f32", 0.5)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1513
+assert_return(
+ () => invoke($0, `div`, [value("f32", Infinity), value("f32", -0.5)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1514
+assert_return(
+ () => invoke($0, `div`, [value("f32", Infinity), value("f32", 0.5)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1515
+assert_return(
+ () => invoke($0, `div`, [value("f32", -Infinity), value("f32", -1)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1516
+assert_return(
+ () => invoke($0, `div`, [value("f32", -Infinity), value("f32", 1)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1517
+assert_return(
+ () => invoke($0, `div`, [value("f32", Infinity), value("f32", -1)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1518
+assert_return(
+ () => invoke($0, `div`, [value("f32", Infinity), value("f32", 1)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1519
+assert_return(
+ () => invoke($0, `div`, [value("f32", -Infinity), value("f32", -6.2831855)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1520
+assert_return(
+ () => invoke($0, `div`, [value("f32", -Infinity), value("f32", 6.2831855)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1521
+assert_return(
+ () => invoke($0, `div`, [value("f32", Infinity), value("f32", -6.2831855)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1522
+assert_return(
+ () => invoke($0, `div`, [value("f32", Infinity), value("f32", 6.2831855)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1523
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -Infinity),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1524
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -Infinity),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1525
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", Infinity),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1526
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", Infinity),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1527
+assert_return(
+ () => invoke($0, `div`, [value("f32", -Infinity), value("f32", -Infinity)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1528
+assert_return(
+ () => invoke($0, `div`, [value("f32", -Infinity), value("f32", Infinity)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1529
+assert_return(
+ () => invoke($0, `div`, [value("f32", Infinity), value("f32", -Infinity)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1530
+assert_return(
+ () => invoke($0, `div`, [value("f32", Infinity), value("f32", Infinity)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1531
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -Infinity),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1532
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -Infinity),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1533
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -Infinity),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1534
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", -Infinity),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1535
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", Infinity),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1536
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", Infinity),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1537
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", Infinity),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1538
+assert_return(
+ () => invoke($0, `div`, [
+ value("f32", Infinity),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1539
+assert_return(
+ () => invoke($0, `div`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", -0)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1540
+assert_return(
+ () => invoke($0, `div`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", -0)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1541
+assert_return(
+ () => invoke($0, `div`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", 0)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1542
+assert_return(
+ () => invoke($0, `div`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", 0)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1543
+assert_return(
+ () => invoke($0, `div`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", -0)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1544
+assert_return(
+ () => invoke($0, `div`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", -0)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1545
+assert_return(
+ () => invoke($0, `div`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", 0)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1546
+assert_return(
+ () => invoke($0, `div`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", 0)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1547
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1548
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1549
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1550
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1551
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1552
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1553
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1554
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1555
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1556
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1557
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1558
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1559
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1560
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1561
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1562
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1563
+assert_return(
+ () => invoke($0, `div`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", -0.5)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1564
+assert_return(
+ () => invoke($0, `div`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", -0.5)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1565
+assert_return(
+ () => invoke($0, `div`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", 0.5)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1566
+assert_return(
+ () => invoke($0, `div`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", 0.5)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1567
+assert_return(
+ () => invoke($0, `div`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", -0.5)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1568
+assert_return(
+ () => invoke($0, `div`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", -0.5)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1569
+assert_return(
+ () => invoke($0, `div`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", 0.5)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1570
+assert_return(
+ () => invoke($0, `div`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", 0.5)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1571
+assert_return(
+ () => invoke($0, `div`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", -1)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1572
+assert_return(
+ () => invoke($0, `div`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", -1)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1573
+assert_return(
+ () => invoke($0, `div`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", 1)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1574
+assert_return(
+ () => invoke($0, `div`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", 1)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1575
+assert_return(
+ () => invoke($0, `div`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", -1)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1576
+assert_return(
+ () => invoke($0, `div`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", -1)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1577
+assert_return(
+ () => invoke($0, `div`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", 1)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1578
+assert_return(
+ () => invoke($0, `div`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", 1)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1579
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -6.2831855),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1580
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -6.2831855),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1581
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", 6.2831855),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1582
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", 6.2831855),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1583
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -6.2831855),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1584
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -6.2831855),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1585
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 6.2831855),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1586
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", 6.2831855),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1587
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1588
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1589
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1590
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1591
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1592
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1593
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1594
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1595
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -Infinity),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1596
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -Infinity),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1597
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", Infinity),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1598
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", Infinity),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1599
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -Infinity),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1600
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -Infinity),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1601
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", Infinity),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1602
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", Infinity),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1603
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1604
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1605
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1606
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1607
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1608
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1609
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1610
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1611
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1612
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1613
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1614
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1615
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1616
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1617
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1618
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1619
+assert_return(() => invoke($0, `min`, [value("f32", -0), value("f32", -0)]), [value("f32", -0)]);
+
+// ./test/core/f32.wast:1620
+assert_return(() => invoke($0, `min`, [value("f32", -0), value("f32", 0)]), [value("f32", -0)]);
+
+// ./test/core/f32.wast:1621
+assert_return(() => invoke($0, `min`, [value("f32", 0), value("f32", -0)]), [value("f32", -0)]);
+
+// ./test/core/f32.wast:1622
+assert_return(() => invoke($0, `min`, [value("f32", 0), value("f32", 0)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:1623
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -0),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:1624
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -0),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:1625
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 0),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:1626
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 0),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:1627
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -0),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:1628
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -0),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:1629
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 0),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:1630
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 0),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:1631
+assert_return(() => invoke($0, `min`, [value("f32", -0), value("f32", -0.5)]), [value("f32", -0.5)]);
+
+// ./test/core/f32.wast:1632
+assert_return(() => invoke($0, `min`, [value("f32", -0), value("f32", 0.5)]), [value("f32", -0)]);
+
+// ./test/core/f32.wast:1633
+assert_return(() => invoke($0, `min`, [value("f32", 0), value("f32", -0.5)]), [value("f32", -0.5)]);
+
+// ./test/core/f32.wast:1634
+assert_return(() => invoke($0, `min`, [value("f32", 0), value("f32", 0.5)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:1635
+assert_return(() => invoke($0, `min`, [value("f32", -0), value("f32", -1)]), [value("f32", -1)]);
+
+// ./test/core/f32.wast:1636
+assert_return(() => invoke($0, `min`, [value("f32", -0), value("f32", 1)]), [value("f32", -0)]);
+
+// ./test/core/f32.wast:1637
+assert_return(() => invoke($0, `min`, [value("f32", 0), value("f32", -1)]), [value("f32", -1)]);
+
+// ./test/core/f32.wast:1638
+assert_return(() => invoke($0, `min`, [value("f32", 0), value("f32", 1)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:1639
+assert_return(
+ () => invoke($0, `min`, [value("f32", -0), value("f32", -6.2831855)]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:1640
+assert_return(() => invoke($0, `min`, [value("f32", -0), value("f32", 6.2831855)]), [value("f32", -0)]);
+
+// ./test/core/f32.wast:1641
+assert_return(
+ () => invoke($0, `min`, [value("f32", 0), value("f32", -6.2831855)]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:1642
+assert_return(() => invoke($0, `min`, [value("f32", 0), value("f32", 6.2831855)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:1643
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -0),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1644
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -0),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:1645
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 0),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1646
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 0),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:1647
+assert_return(
+ () => invoke($0, `min`, [value("f32", -0), value("f32", -Infinity)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1648
+assert_return(() => invoke($0, `min`, [value("f32", -0), value("f32", Infinity)]), [value("f32", -0)]);
+
+// ./test/core/f32.wast:1649
+assert_return(
+ () => invoke($0, `min`, [value("f32", 0), value("f32", -Infinity)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1650
+assert_return(() => invoke($0, `min`, [value("f32", 0), value("f32", Infinity)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:1651
+assert_return(
+ () => invoke($0, `min`, [value("f32", -0), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1652
+assert_return(
+ () => invoke($0, `min`, [value("f32", -0), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1653
+assert_return(
+ () => invoke($0, `min`, [value("f32", -0), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1654
+assert_return(
+ () => invoke($0, `min`, [value("f32", -0), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1655
+assert_return(
+ () => invoke($0, `min`, [value("f32", 0), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1656
+assert_return(
+ () => invoke($0, `min`, [value("f32", 0), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1657
+assert_return(
+ () => invoke($0, `min`, [value("f32", 0), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1658
+assert_return(
+ () => invoke($0, `min`, [value("f32", 0), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1659
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:1660
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 0),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:1661
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -0),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:1662
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:1663
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:1664
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:1665
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:1666
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:1667
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:1668
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:1669
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:1670
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:1671
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.5),
+ ]),
+ [value("f32", -0.5)],
+);
+
+// ./test/core/f32.wast:1672
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 0.5),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:1673
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -0.5),
+ ]),
+ [value("f32", -0.5)],
+);
+
+// ./test/core/f32.wast:1674
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.5),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:1675
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -1),
+ ]),
+ [value("f32", -1)],
+);
+
+// ./test/core/f32.wast:1676
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 1),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:1677
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -1),
+ ]),
+ [value("f32", -1)],
+);
+
+// ./test/core/f32.wast:1678
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 1),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:1679
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -6.2831855),
+ ]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:1680
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 6.2831855),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:1681
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -6.2831855),
+ ]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:1682
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 6.2831855),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:1683
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1684
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:1685
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1686
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:1687
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -Infinity),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1688
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", Infinity),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:1689
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -Infinity),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1690
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", Infinity),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:1691
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1692
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1693
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1694
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1695
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1696
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1697
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1698
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1699
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:1700
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 0),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:1701
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -0),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:1702
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:1703
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:1704
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:1705
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:1706
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:1707
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:1708
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:1709
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:1710
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:1711
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.5),
+ ]),
+ [value("f32", -0.5)],
+);
+
+// ./test/core/f32.wast:1712
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 0.5),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:1713
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -0.5),
+ ]),
+ [value("f32", -0.5)],
+);
+
+// ./test/core/f32.wast:1714
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.5),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:1715
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -1),
+ ]),
+ [value("f32", -1)],
+);
+
+// ./test/core/f32.wast:1716
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 1),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:1717
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -1),
+ ]),
+ [value("f32", -1)],
+);
+
+// ./test/core/f32.wast:1718
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 1),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:1719
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -6.2831855),
+ ]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:1720
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 6.2831855),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:1721
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -6.2831855),
+ ]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:1722
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 6.2831855),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:1723
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1724
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:1725
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1726
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:1727
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -Infinity),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1728
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", Infinity),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:1729
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -Infinity),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1730
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", Infinity),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:1731
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1732
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1733
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1734
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1735
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1736
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1737
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1738
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1739
+assert_return(() => invoke($0, `min`, [value("f32", -0.5), value("f32", -0)]), [value("f32", -0.5)]);
+
+// ./test/core/f32.wast:1740
+assert_return(() => invoke($0, `min`, [value("f32", -0.5), value("f32", 0)]), [value("f32", -0.5)]);
+
+// ./test/core/f32.wast:1741
+assert_return(() => invoke($0, `min`, [value("f32", 0.5), value("f32", -0)]), [value("f32", -0)]);
+
+// ./test/core/f32.wast:1742
+assert_return(() => invoke($0, `min`, [value("f32", 0.5), value("f32", 0)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:1743
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -0.5),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0.5)],
+);
+
+// ./test/core/f32.wast:1744
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -0.5),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0.5)],
+);
+
+// ./test/core/f32.wast:1745
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 0.5),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:1746
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 0.5),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:1747
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -0.5),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0.5)],
+);
+
+// ./test/core/f32.wast:1748
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -0.5),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0.5)],
+);
+
+// ./test/core/f32.wast:1749
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 0.5),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:1750
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 0.5),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:1751
+assert_return(() => invoke($0, `min`, [value("f32", -0.5), value("f32", -0.5)]), [value("f32", -0.5)]);
+
+// ./test/core/f32.wast:1752
+assert_return(() => invoke($0, `min`, [value("f32", -0.5), value("f32", 0.5)]), [value("f32", -0.5)]);
+
+// ./test/core/f32.wast:1753
+assert_return(() => invoke($0, `min`, [value("f32", 0.5), value("f32", -0.5)]), [value("f32", -0.5)]);
+
+// ./test/core/f32.wast:1754
+assert_return(() => invoke($0, `min`, [value("f32", 0.5), value("f32", 0.5)]), [value("f32", 0.5)]);
+
+// ./test/core/f32.wast:1755
+assert_return(() => invoke($0, `min`, [value("f32", -0.5), value("f32", -1)]), [value("f32", -1)]);
+
+// ./test/core/f32.wast:1756
+assert_return(() => invoke($0, `min`, [value("f32", -0.5), value("f32", 1)]), [value("f32", -0.5)]);
+
+// ./test/core/f32.wast:1757
+assert_return(() => invoke($0, `min`, [value("f32", 0.5), value("f32", -1)]), [value("f32", -1)]);
+
+// ./test/core/f32.wast:1758
+assert_return(() => invoke($0, `min`, [value("f32", 0.5), value("f32", 1)]), [value("f32", 0.5)]);
+
+// ./test/core/f32.wast:1759
+assert_return(
+ () => invoke($0, `min`, [value("f32", -0.5), value("f32", -6.2831855)]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:1760
+assert_return(
+ () => invoke($0, `min`, [value("f32", -0.5), value("f32", 6.2831855)]),
+ [value("f32", -0.5)],
+);
+
+// ./test/core/f32.wast:1761
+assert_return(
+ () => invoke($0, `min`, [value("f32", 0.5), value("f32", -6.2831855)]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:1762
+assert_return(
+ () => invoke($0, `min`, [value("f32", 0.5), value("f32", 6.2831855)]),
+ [value("f32", 0.5)],
+);
+
+// ./test/core/f32.wast:1763
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -0.5),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1764
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -0.5),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -0.5)],
+);
+
+// ./test/core/f32.wast:1765
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 0.5),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1766
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 0.5),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 0.5)],
+);
+
+// ./test/core/f32.wast:1767
+assert_return(
+ () => invoke($0, `min`, [value("f32", -0.5), value("f32", -Infinity)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1768
+assert_return(
+ () => invoke($0, `min`, [value("f32", -0.5), value("f32", Infinity)]),
+ [value("f32", -0.5)],
+);
+
+// ./test/core/f32.wast:1769
+assert_return(
+ () => invoke($0, `min`, [value("f32", 0.5), value("f32", -Infinity)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1770
+assert_return(() => invoke($0, `min`, [value("f32", 0.5), value("f32", Infinity)]), [value("f32", 0.5)]);
+
+// ./test/core/f32.wast:1771
+assert_return(
+ () => invoke($0, `min`, [value("f32", -0.5), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1772
+assert_return(
+ () => invoke($0, `min`, [value("f32", -0.5), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1773
+assert_return(
+ () => invoke($0, `min`, [value("f32", -0.5), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1774
+assert_return(
+ () => invoke($0, `min`, [value("f32", -0.5), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1775
+assert_return(
+ () => invoke($0, `min`, [value("f32", 0.5), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1776
+assert_return(
+ () => invoke($0, `min`, [value("f32", 0.5), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1777
+assert_return(
+ () => invoke($0, `min`, [value("f32", 0.5), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1778
+assert_return(
+ () => invoke($0, `min`, [value("f32", 0.5), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1779
+assert_return(() => invoke($0, `min`, [value("f32", -1), value("f32", -0)]), [value("f32", -1)]);
+
+// ./test/core/f32.wast:1780
+assert_return(() => invoke($0, `min`, [value("f32", -1), value("f32", 0)]), [value("f32", -1)]);
+
+// ./test/core/f32.wast:1781
+assert_return(() => invoke($0, `min`, [value("f32", 1), value("f32", -0)]), [value("f32", -0)]);
+
+// ./test/core/f32.wast:1782
+assert_return(() => invoke($0, `min`, [value("f32", 1), value("f32", 0)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:1783
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -1),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -1)],
+);
+
+// ./test/core/f32.wast:1784
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -1),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -1)],
+);
+
+// ./test/core/f32.wast:1785
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 1),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:1786
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 1),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:1787
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -1),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -1)],
+);
+
+// ./test/core/f32.wast:1788
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -1),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -1)],
+);
+
+// ./test/core/f32.wast:1789
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 1),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:1790
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 1),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:1791
+assert_return(() => invoke($0, `min`, [value("f32", -1), value("f32", -0.5)]), [value("f32", -1)]);
+
+// ./test/core/f32.wast:1792
+assert_return(() => invoke($0, `min`, [value("f32", -1), value("f32", 0.5)]), [value("f32", -1)]);
+
+// ./test/core/f32.wast:1793
+assert_return(() => invoke($0, `min`, [value("f32", 1), value("f32", -0.5)]), [value("f32", -0.5)]);
+
+// ./test/core/f32.wast:1794
+assert_return(() => invoke($0, `min`, [value("f32", 1), value("f32", 0.5)]), [value("f32", 0.5)]);
+
+// ./test/core/f32.wast:1795
+assert_return(() => invoke($0, `min`, [value("f32", -1), value("f32", -1)]), [value("f32", -1)]);
+
+// ./test/core/f32.wast:1796
+assert_return(() => invoke($0, `min`, [value("f32", -1), value("f32", 1)]), [value("f32", -1)]);
+
+// ./test/core/f32.wast:1797
+assert_return(() => invoke($0, `min`, [value("f32", 1), value("f32", -1)]), [value("f32", -1)]);
+
+// ./test/core/f32.wast:1798
+assert_return(() => invoke($0, `min`, [value("f32", 1), value("f32", 1)]), [value("f32", 1)]);
+
+// ./test/core/f32.wast:1799
+assert_return(
+ () => invoke($0, `min`, [value("f32", -1), value("f32", -6.2831855)]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:1800
+assert_return(() => invoke($0, `min`, [value("f32", -1), value("f32", 6.2831855)]), [value("f32", -1)]);
+
+// ./test/core/f32.wast:1801
+assert_return(
+ () => invoke($0, `min`, [value("f32", 1), value("f32", -6.2831855)]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:1802
+assert_return(() => invoke($0, `min`, [value("f32", 1), value("f32", 6.2831855)]), [value("f32", 1)]);
+
+// ./test/core/f32.wast:1803
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -1),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1804
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -1),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -1)],
+);
+
+// ./test/core/f32.wast:1805
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 1),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1806
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 1),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 1)],
+);
+
+// ./test/core/f32.wast:1807
+assert_return(
+ () => invoke($0, `min`, [value("f32", -1), value("f32", -Infinity)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1808
+assert_return(() => invoke($0, `min`, [value("f32", -1), value("f32", Infinity)]), [value("f32", -1)]);
+
+// ./test/core/f32.wast:1809
+assert_return(
+ () => invoke($0, `min`, [value("f32", 1), value("f32", -Infinity)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1810
+assert_return(() => invoke($0, `min`, [value("f32", 1), value("f32", Infinity)]), [value("f32", 1)]);
+
+// ./test/core/f32.wast:1811
+assert_return(
+ () => invoke($0, `min`, [value("f32", -1), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1812
+assert_return(
+ () => invoke($0, `min`, [value("f32", -1), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1813
+assert_return(
+ () => invoke($0, `min`, [value("f32", -1), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1814
+assert_return(
+ () => invoke($0, `min`, [value("f32", -1), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1815
+assert_return(
+ () => invoke($0, `min`, [value("f32", 1), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1816
+assert_return(
+ () => invoke($0, `min`, [value("f32", 1), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1817
+assert_return(
+ () => invoke($0, `min`, [value("f32", 1), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1818
+assert_return(
+ () => invoke($0, `min`, [value("f32", 1), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1819
+assert_return(
+ () => invoke($0, `min`, [value("f32", -6.2831855), value("f32", -0)]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:1820
+assert_return(
+ () => invoke($0, `min`, [value("f32", -6.2831855), value("f32", 0)]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:1821
+assert_return(() => invoke($0, `min`, [value("f32", 6.2831855), value("f32", -0)]), [value("f32", -0)]);
+
+// ./test/core/f32.wast:1822
+assert_return(() => invoke($0, `min`, [value("f32", 6.2831855), value("f32", 0)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:1823
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -6.2831855),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:1824
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -6.2831855),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:1825
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 6.2831855),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:1826
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 6.2831855),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:1827
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -6.2831855),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:1828
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -6.2831855),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:1829
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 6.2831855),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:1830
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 6.2831855),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:1831
+assert_return(
+ () => invoke($0, `min`, [value("f32", -6.2831855), value("f32", -0.5)]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:1832
+assert_return(
+ () => invoke($0, `min`, [value("f32", -6.2831855), value("f32", 0.5)]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:1833
+assert_return(
+ () => invoke($0, `min`, [value("f32", 6.2831855), value("f32", -0.5)]),
+ [value("f32", -0.5)],
+);
+
+// ./test/core/f32.wast:1834
+assert_return(
+ () => invoke($0, `min`, [value("f32", 6.2831855), value("f32", 0.5)]),
+ [value("f32", 0.5)],
+);
+
+// ./test/core/f32.wast:1835
+assert_return(
+ () => invoke($0, `min`, [value("f32", -6.2831855), value("f32", -1)]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:1836
+assert_return(
+ () => invoke($0, `min`, [value("f32", -6.2831855), value("f32", 1)]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:1837
+assert_return(() => invoke($0, `min`, [value("f32", 6.2831855), value("f32", -1)]), [value("f32", -1)]);
+
+// ./test/core/f32.wast:1838
+assert_return(() => invoke($0, `min`, [value("f32", 6.2831855), value("f32", 1)]), [value("f32", 1)]);
+
+// ./test/core/f32.wast:1839
+assert_return(
+ () => invoke($0, `min`, [value("f32", -6.2831855), value("f32", -6.2831855)]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:1840
+assert_return(
+ () => invoke($0, `min`, [value("f32", -6.2831855), value("f32", 6.2831855)]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:1841
+assert_return(
+ () => invoke($0, `min`, [value("f32", 6.2831855), value("f32", -6.2831855)]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:1842
+assert_return(
+ () => invoke($0, `min`, [value("f32", 6.2831855), value("f32", 6.2831855)]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:1843
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -6.2831855),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1844
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -6.2831855),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:1845
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 6.2831855),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1846
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 6.2831855),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:1847
+assert_return(
+ () => invoke($0, `min`, [value("f32", -6.2831855), value("f32", -Infinity)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1848
+assert_return(
+ () => invoke($0, `min`, [value("f32", -6.2831855), value("f32", Infinity)]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:1849
+assert_return(
+ () => invoke($0, `min`, [value("f32", 6.2831855), value("f32", -Infinity)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1850
+assert_return(
+ () => invoke($0, `min`, [value("f32", 6.2831855), value("f32", Infinity)]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:1851
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -6.2831855),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1852
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -6.2831855),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1853
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -6.2831855),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1854
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -6.2831855),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1855
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 6.2831855),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1856
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 6.2831855),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1857
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 6.2831855),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1858
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 6.2831855),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1859
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -0),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1860
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 0),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1861
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -0),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:1862
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 0),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:1863
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1864
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1865
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:1866
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:1867
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1868
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1869
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:1870
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:1871
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -0.5),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1872
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 0.5),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1873
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -0.5),
+ ]),
+ [value("f32", -0.5)],
+);
+
+// ./test/core/f32.wast:1874
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 0.5),
+ ]),
+ [value("f32", 0.5)],
+);
+
+// ./test/core/f32.wast:1875
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -1),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1876
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 1),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1877
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -1),
+ ]),
+ [value("f32", -1)],
+);
+
+// ./test/core/f32.wast:1878
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 1),
+ ]),
+ [value("f32", 1)],
+);
+
+// ./test/core/f32.wast:1879
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -6.2831855),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1880
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 6.2831855),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1881
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -6.2831855),
+ ]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:1882
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 6.2831855),
+ ]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:1883
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1884
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1885
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1886
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1887
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -Infinity),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1888
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", Infinity),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1889
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -Infinity),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1890
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", Infinity),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1891
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1892
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1893
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1894
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1895
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1896
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1897
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1898
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", 340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1899
+assert_return(
+ () => invoke($0, `min`, [value("f32", -Infinity), value("f32", -0)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1900
+assert_return(
+ () => invoke($0, `min`, [value("f32", -Infinity), value("f32", 0)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1901
+assert_return(() => invoke($0, `min`, [value("f32", Infinity), value("f32", -0)]), [value("f32", -0)]);
+
+// ./test/core/f32.wast:1902
+assert_return(() => invoke($0, `min`, [value("f32", Infinity), value("f32", 0)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:1903
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -Infinity),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1904
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -Infinity),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1905
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", Infinity),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:1906
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", Infinity),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:1907
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -Infinity),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1908
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -Infinity),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1909
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", Infinity),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:1910
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", Infinity),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:1911
+assert_return(
+ () => invoke($0, `min`, [value("f32", -Infinity), value("f32", -0.5)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1912
+assert_return(
+ () => invoke($0, `min`, [value("f32", -Infinity), value("f32", 0.5)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1913
+assert_return(
+ () => invoke($0, `min`, [value("f32", Infinity), value("f32", -0.5)]),
+ [value("f32", -0.5)],
+);
+
+// ./test/core/f32.wast:1914
+assert_return(() => invoke($0, `min`, [value("f32", Infinity), value("f32", 0.5)]), [value("f32", 0.5)]);
+
+// ./test/core/f32.wast:1915
+assert_return(
+ () => invoke($0, `min`, [value("f32", -Infinity), value("f32", -1)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1916
+assert_return(
+ () => invoke($0, `min`, [value("f32", -Infinity), value("f32", 1)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1917
+assert_return(() => invoke($0, `min`, [value("f32", Infinity), value("f32", -1)]), [value("f32", -1)]);
+
+// ./test/core/f32.wast:1918
+assert_return(() => invoke($0, `min`, [value("f32", Infinity), value("f32", 1)]), [value("f32", 1)]);
+
+// ./test/core/f32.wast:1919
+assert_return(
+ () => invoke($0, `min`, [value("f32", -Infinity), value("f32", -6.2831855)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1920
+assert_return(
+ () => invoke($0, `min`, [value("f32", -Infinity), value("f32", 6.2831855)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1921
+assert_return(
+ () => invoke($0, `min`, [value("f32", Infinity), value("f32", -6.2831855)]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:1922
+assert_return(
+ () => invoke($0, `min`, [value("f32", Infinity), value("f32", 6.2831855)]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:1923
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -Infinity),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1924
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -Infinity),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1925
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", Infinity),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1926
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", Infinity),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:1927
+assert_return(
+ () => invoke($0, `min`, [value("f32", -Infinity), value("f32", -Infinity)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1928
+assert_return(
+ () => invoke($0, `min`, [value("f32", -Infinity), value("f32", Infinity)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1929
+assert_return(
+ () => invoke($0, `min`, [value("f32", Infinity), value("f32", -Infinity)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:1930
+assert_return(
+ () => invoke($0, `min`, [value("f32", Infinity), value("f32", Infinity)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:1931
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -Infinity),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1932
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -Infinity),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1933
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -Infinity),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1934
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", -Infinity),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1935
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", Infinity),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1936
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", Infinity),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1937
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", Infinity),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1938
+assert_return(
+ () => invoke($0, `min`, [
+ value("f32", Infinity),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1939
+assert_return(
+ () => invoke($0, `min`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", -0)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1940
+assert_return(
+ () => invoke($0, `min`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", -0)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1941
+assert_return(
+ () => invoke($0, `min`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", 0)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1942
+assert_return(
+ () => invoke($0, `min`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", 0)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1943
+assert_return(
+ () => invoke($0, `min`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", -0)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1944
+assert_return(
+ () => invoke($0, `min`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", -0)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1945
+assert_return(
+ () => invoke($0, `min`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", 0)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1946
+assert_return(
+ () => invoke($0, `min`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", 0)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1947
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1948
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1949
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1950
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1951
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1952
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1953
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1954
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1955
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1956
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1957
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1958
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1959
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1960
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1961
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1962
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1963
+assert_return(
+ () => invoke($0, `min`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", -0.5)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1964
+assert_return(
+ () => invoke($0, `min`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", -0.5)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1965
+assert_return(
+ () => invoke($0, `min`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", 0.5)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1966
+assert_return(
+ () => invoke($0, `min`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", 0.5)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1967
+assert_return(
+ () => invoke($0, `min`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", -0.5)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1968
+assert_return(
+ () => invoke($0, `min`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", -0.5)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1969
+assert_return(
+ () => invoke($0, `min`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", 0.5)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1970
+assert_return(
+ () => invoke($0, `min`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", 0.5)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1971
+assert_return(
+ () => invoke($0, `min`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", -1)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1972
+assert_return(
+ () => invoke($0, `min`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", -1)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1973
+assert_return(
+ () => invoke($0, `min`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", 1)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1974
+assert_return(
+ () => invoke($0, `min`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", 1)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1975
+assert_return(
+ () => invoke($0, `min`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", -1)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1976
+assert_return(
+ () => invoke($0, `min`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", -1)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1977
+assert_return(
+ () => invoke($0, `min`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", 1)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1978
+assert_return(
+ () => invoke($0, `min`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", 1)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1979
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -6.2831855),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1980
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -6.2831855),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1981
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", 6.2831855),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1982
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", 6.2831855),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1983
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -6.2831855),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1984
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -6.2831855),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1985
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 6.2831855),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1986
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", 6.2831855),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1987
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1988
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1989
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1990
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1991
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1992
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1993
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1994
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1995
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -Infinity),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1996
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -Infinity),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1997
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", Infinity),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:1998
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", Infinity),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:1999
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -Infinity),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2000
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -Infinity),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2001
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", Infinity),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2002
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", Infinity),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2003
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2004
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2005
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2006
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2007
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2008
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2009
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2010
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2011
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2012
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2013
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2014
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2015
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2016
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2017
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2018
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2019
+assert_return(() => invoke($0, `max`, [value("f32", -0), value("f32", -0)]), [value("f32", -0)]);
+
+// ./test/core/f32.wast:2020
+assert_return(() => invoke($0, `max`, [value("f32", -0), value("f32", 0)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:2021
+assert_return(() => invoke($0, `max`, [value("f32", 0), value("f32", -0)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:2022
+assert_return(() => invoke($0, `max`, [value("f32", 0), value("f32", 0)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:2023
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -0),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:2024
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -0),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:2025
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 0),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:2026
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 0),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:2027
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -0),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:2028
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -0),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:2029
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 0),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:2030
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 0),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:2031
+assert_return(() => invoke($0, `max`, [value("f32", -0), value("f32", -0.5)]), [value("f32", -0)]);
+
+// ./test/core/f32.wast:2032
+assert_return(() => invoke($0, `max`, [value("f32", -0), value("f32", 0.5)]), [value("f32", 0.5)]);
+
+// ./test/core/f32.wast:2033
+assert_return(() => invoke($0, `max`, [value("f32", 0), value("f32", -0.5)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:2034
+assert_return(() => invoke($0, `max`, [value("f32", 0), value("f32", 0.5)]), [value("f32", 0.5)]);
+
+// ./test/core/f32.wast:2035
+assert_return(() => invoke($0, `max`, [value("f32", -0), value("f32", -1)]), [value("f32", -0)]);
+
+// ./test/core/f32.wast:2036
+assert_return(() => invoke($0, `max`, [value("f32", -0), value("f32", 1)]), [value("f32", 1)]);
+
+// ./test/core/f32.wast:2037
+assert_return(() => invoke($0, `max`, [value("f32", 0), value("f32", -1)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:2038
+assert_return(() => invoke($0, `max`, [value("f32", 0), value("f32", 1)]), [value("f32", 1)]);
+
+// ./test/core/f32.wast:2039
+assert_return(() => invoke($0, `max`, [value("f32", -0), value("f32", -6.2831855)]), [value("f32", -0)]);
+
+// ./test/core/f32.wast:2040
+assert_return(
+ () => invoke($0, `max`, [value("f32", -0), value("f32", 6.2831855)]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:2041
+assert_return(() => invoke($0, `max`, [value("f32", 0), value("f32", -6.2831855)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:2042
+assert_return(
+ () => invoke($0, `max`, [value("f32", 0), value("f32", 6.2831855)]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:2043
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -0),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:2044
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -0),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:2045
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 0),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:2046
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 0),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:2047
+assert_return(() => invoke($0, `max`, [value("f32", -0), value("f32", -Infinity)]), [value("f32", -0)]);
+
+// ./test/core/f32.wast:2048
+assert_return(
+ () => invoke($0, `max`, [value("f32", -0), value("f32", Infinity)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:2049
+assert_return(() => invoke($0, `max`, [value("f32", 0), value("f32", -Infinity)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:2050
+assert_return(
+ () => invoke($0, `max`, [value("f32", 0), value("f32", Infinity)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:2051
+assert_return(
+ () => invoke($0, `max`, [value("f32", -0), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2052
+assert_return(
+ () => invoke($0, `max`, [value("f32", -0), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2053
+assert_return(
+ () => invoke($0, `max`, [value("f32", -0), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2054
+assert_return(
+ () => invoke($0, `max`, [value("f32", -0), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2055
+assert_return(
+ () => invoke($0, `max`, [value("f32", 0), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2056
+assert_return(
+ () => invoke($0, `max`, [value("f32", 0), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2057
+assert_return(
+ () => invoke($0, `max`, [value("f32", 0), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2058
+assert_return(
+ () => invoke($0, `max`, [value("f32", 0), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2059
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:2060
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 0),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:2061
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -0),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:2062
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:2063
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:2064
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:2065
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:2066
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:2067
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:2068
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:2069
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:2070
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:2071
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.5),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:2072
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 0.5),
+ ]),
+ [value("f32", 0.5)],
+);
+
+// ./test/core/f32.wast:2073
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -0.5),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:2074
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.5),
+ ]),
+ [value("f32", 0.5)],
+);
+
+// ./test/core/f32.wast:2075
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -1),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:2076
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 1),
+ ]),
+ [value("f32", 1)],
+);
+
+// ./test/core/f32.wast:2077
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -1),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:2078
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 1),
+ ]),
+ [value("f32", 1)],
+);
+
+// ./test/core/f32.wast:2079
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -6.2831855),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:2080
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 6.2831855),
+ ]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:2081
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -6.2831855),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:2082
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 6.2831855),
+ ]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:2083
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:2084
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:2085
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:2086
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:2087
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -Infinity),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:2088
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", Infinity),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:2089
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -Infinity),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:2090
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", Infinity),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:2091
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2092
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2093
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2094
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2095
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2096
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2097
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2098
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2099
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:2100
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 0),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:2101
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -0),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:2102
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:2103
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:2104
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:2105
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:2106
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:2107
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:2108
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:2109
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:2110
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:2111
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.5),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:2112
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 0.5),
+ ]),
+ [value("f32", 0.5)],
+);
+
+// ./test/core/f32.wast:2113
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -0.5),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:2114
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.5),
+ ]),
+ [value("f32", 0.5)],
+);
+
+// ./test/core/f32.wast:2115
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -1),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:2116
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 1),
+ ]),
+ [value("f32", 1)],
+);
+
+// ./test/core/f32.wast:2117
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -1),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:2118
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 1),
+ ]),
+ [value("f32", 1)],
+);
+
+// ./test/core/f32.wast:2119
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -6.2831855),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:2120
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 6.2831855),
+ ]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:2121
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -6.2831855),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:2122
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 6.2831855),
+ ]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:2123
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:2124
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:2125
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:2126
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:2127
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -Infinity),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:2128
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", Infinity),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:2129
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -Infinity),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:2130
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", Infinity),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:2131
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2132
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2133
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2134
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2135
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2136
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2137
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2138
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2139
+assert_return(() => invoke($0, `max`, [value("f32", -0.5), value("f32", -0)]), [value("f32", -0)]);
+
+// ./test/core/f32.wast:2140
+assert_return(() => invoke($0, `max`, [value("f32", -0.5), value("f32", 0)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:2141
+assert_return(() => invoke($0, `max`, [value("f32", 0.5), value("f32", -0)]), [value("f32", 0.5)]);
+
+// ./test/core/f32.wast:2142
+assert_return(() => invoke($0, `max`, [value("f32", 0.5), value("f32", 0)]), [value("f32", 0.5)]);
+
+// ./test/core/f32.wast:2143
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -0.5),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:2144
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -0.5),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:2145
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 0.5),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0.5)],
+);
+
+// ./test/core/f32.wast:2146
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 0.5),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0.5)],
+);
+
+// ./test/core/f32.wast:2147
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -0.5),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:2148
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -0.5),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:2149
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 0.5),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0.5)],
+);
+
+// ./test/core/f32.wast:2150
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 0.5),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0.5)],
+);
+
+// ./test/core/f32.wast:2151
+assert_return(() => invoke($0, `max`, [value("f32", -0.5), value("f32", -0.5)]), [value("f32", -0.5)]);
+
+// ./test/core/f32.wast:2152
+assert_return(() => invoke($0, `max`, [value("f32", -0.5), value("f32", 0.5)]), [value("f32", 0.5)]);
+
+// ./test/core/f32.wast:2153
+assert_return(() => invoke($0, `max`, [value("f32", 0.5), value("f32", -0.5)]), [value("f32", 0.5)]);
+
+// ./test/core/f32.wast:2154
+assert_return(() => invoke($0, `max`, [value("f32", 0.5), value("f32", 0.5)]), [value("f32", 0.5)]);
+
+// ./test/core/f32.wast:2155
+assert_return(() => invoke($0, `max`, [value("f32", -0.5), value("f32", -1)]), [value("f32", -0.5)]);
+
+// ./test/core/f32.wast:2156
+assert_return(() => invoke($0, `max`, [value("f32", -0.5), value("f32", 1)]), [value("f32", 1)]);
+
+// ./test/core/f32.wast:2157
+assert_return(() => invoke($0, `max`, [value("f32", 0.5), value("f32", -1)]), [value("f32", 0.5)]);
+
+// ./test/core/f32.wast:2158
+assert_return(() => invoke($0, `max`, [value("f32", 0.5), value("f32", 1)]), [value("f32", 1)]);
+
+// ./test/core/f32.wast:2159
+assert_return(
+ () => invoke($0, `max`, [value("f32", -0.5), value("f32", -6.2831855)]),
+ [value("f32", -0.5)],
+);
+
+// ./test/core/f32.wast:2160
+assert_return(
+ () => invoke($0, `max`, [value("f32", -0.5), value("f32", 6.2831855)]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:2161
+assert_return(
+ () => invoke($0, `max`, [value("f32", 0.5), value("f32", -6.2831855)]),
+ [value("f32", 0.5)],
+);
+
+// ./test/core/f32.wast:2162
+assert_return(
+ () => invoke($0, `max`, [value("f32", 0.5), value("f32", 6.2831855)]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:2163
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -0.5),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -0.5)],
+);
+
+// ./test/core/f32.wast:2164
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -0.5),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:2165
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 0.5),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 0.5)],
+);
+
+// ./test/core/f32.wast:2166
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 0.5),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:2167
+assert_return(
+ () => invoke($0, `max`, [value("f32", -0.5), value("f32", -Infinity)]),
+ [value("f32", -0.5)],
+);
+
+// ./test/core/f32.wast:2168
+assert_return(
+ () => invoke($0, `max`, [value("f32", -0.5), value("f32", Infinity)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:2169
+assert_return(
+ () => invoke($0, `max`, [value("f32", 0.5), value("f32", -Infinity)]),
+ [value("f32", 0.5)],
+);
+
+// ./test/core/f32.wast:2170
+assert_return(
+ () => invoke($0, `max`, [value("f32", 0.5), value("f32", Infinity)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:2171
+assert_return(
+ () => invoke($0, `max`, [value("f32", -0.5), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2172
+assert_return(
+ () => invoke($0, `max`, [value("f32", -0.5), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2173
+assert_return(
+ () => invoke($0, `max`, [value("f32", -0.5), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2174
+assert_return(
+ () => invoke($0, `max`, [value("f32", -0.5), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2175
+assert_return(
+ () => invoke($0, `max`, [value("f32", 0.5), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2176
+assert_return(
+ () => invoke($0, `max`, [value("f32", 0.5), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2177
+assert_return(
+ () => invoke($0, `max`, [value("f32", 0.5), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2178
+assert_return(
+ () => invoke($0, `max`, [value("f32", 0.5), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2179
+assert_return(() => invoke($0, `max`, [value("f32", -1), value("f32", -0)]), [value("f32", -0)]);
+
+// ./test/core/f32.wast:2180
+assert_return(() => invoke($0, `max`, [value("f32", -1), value("f32", 0)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:2181
+assert_return(() => invoke($0, `max`, [value("f32", 1), value("f32", -0)]), [value("f32", 1)]);
+
+// ./test/core/f32.wast:2182
+assert_return(() => invoke($0, `max`, [value("f32", 1), value("f32", 0)]), [value("f32", 1)]);
+
+// ./test/core/f32.wast:2183
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -1),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:2184
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -1),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:2185
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 1),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 1)],
+);
+
+// ./test/core/f32.wast:2186
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 1),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 1)],
+);
+
+// ./test/core/f32.wast:2187
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -1),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:2188
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -1),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:2189
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 1),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 1)],
+);
+
+// ./test/core/f32.wast:2190
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 1),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 1)],
+);
+
+// ./test/core/f32.wast:2191
+assert_return(() => invoke($0, `max`, [value("f32", -1), value("f32", -0.5)]), [value("f32", -0.5)]);
+
+// ./test/core/f32.wast:2192
+assert_return(() => invoke($0, `max`, [value("f32", -1), value("f32", 0.5)]), [value("f32", 0.5)]);
+
+// ./test/core/f32.wast:2193
+assert_return(() => invoke($0, `max`, [value("f32", 1), value("f32", -0.5)]), [value("f32", 1)]);
+
+// ./test/core/f32.wast:2194
+assert_return(() => invoke($0, `max`, [value("f32", 1), value("f32", 0.5)]), [value("f32", 1)]);
+
+// ./test/core/f32.wast:2195
+assert_return(() => invoke($0, `max`, [value("f32", -1), value("f32", -1)]), [value("f32", -1)]);
+
+// ./test/core/f32.wast:2196
+assert_return(() => invoke($0, `max`, [value("f32", -1), value("f32", 1)]), [value("f32", 1)]);
+
+// ./test/core/f32.wast:2197
+assert_return(() => invoke($0, `max`, [value("f32", 1), value("f32", -1)]), [value("f32", 1)]);
+
+// ./test/core/f32.wast:2198
+assert_return(() => invoke($0, `max`, [value("f32", 1), value("f32", 1)]), [value("f32", 1)]);
+
+// ./test/core/f32.wast:2199
+assert_return(() => invoke($0, `max`, [value("f32", -1), value("f32", -6.2831855)]), [value("f32", -1)]);
+
+// ./test/core/f32.wast:2200
+assert_return(
+ () => invoke($0, `max`, [value("f32", -1), value("f32", 6.2831855)]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:2201
+assert_return(() => invoke($0, `max`, [value("f32", 1), value("f32", -6.2831855)]), [value("f32", 1)]);
+
+// ./test/core/f32.wast:2202
+assert_return(
+ () => invoke($0, `max`, [value("f32", 1), value("f32", 6.2831855)]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:2203
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -1),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -1)],
+);
+
+// ./test/core/f32.wast:2204
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -1),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:2205
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 1),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 1)],
+);
+
+// ./test/core/f32.wast:2206
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 1),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:2207
+assert_return(() => invoke($0, `max`, [value("f32", -1), value("f32", -Infinity)]), [value("f32", -1)]);
+
+// ./test/core/f32.wast:2208
+assert_return(
+ () => invoke($0, `max`, [value("f32", -1), value("f32", Infinity)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:2209
+assert_return(() => invoke($0, `max`, [value("f32", 1), value("f32", -Infinity)]), [value("f32", 1)]);
+
+// ./test/core/f32.wast:2210
+assert_return(
+ () => invoke($0, `max`, [value("f32", 1), value("f32", Infinity)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:2211
+assert_return(
+ () => invoke($0, `max`, [value("f32", -1), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2212
+assert_return(
+ () => invoke($0, `max`, [value("f32", -1), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2213
+assert_return(
+ () => invoke($0, `max`, [value("f32", -1), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2214
+assert_return(
+ () => invoke($0, `max`, [value("f32", -1), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2215
+assert_return(
+ () => invoke($0, `max`, [value("f32", 1), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2216
+assert_return(
+ () => invoke($0, `max`, [value("f32", 1), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2217
+assert_return(
+ () => invoke($0, `max`, [value("f32", 1), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2218
+assert_return(
+ () => invoke($0, `max`, [value("f32", 1), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2219
+assert_return(() => invoke($0, `max`, [value("f32", -6.2831855), value("f32", -0)]), [value("f32", -0)]);
+
+// ./test/core/f32.wast:2220
+assert_return(() => invoke($0, `max`, [value("f32", -6.2831855), value("f32", 0)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:2221
+assert_return(
+ () => invoke($0, `max`, [value("f32", 6.2831855), value("f32", -0)]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:2222
+assert_return(
+ () => invoke($0, `max`, [value("f32", 6.2831855), value("f32", 0)]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:2223
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -6.2831855),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:2224
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -6.2831855),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:2225
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 6.2831855),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:2226
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 6.2831855),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:2227
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -6.2831855),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:2228
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -6.2831855),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:2229
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 6.2831855),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:2230
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 6.2831855),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:2231
+assert_return(
+ () => invoke($0, `max`, [value("f32", -6.2831855), value("f32", -0.5)]),
+ [value("f32", -0.5)],
+);
+
+// ./test/core/f32.wast:2232
+assert_return(
+ () => invoke($0, `max`, [value("f32", -6.2831855), value("f32", 0.5)]),
+ [value("f32", 0.5)],
+);
+
+// ./test/core/f32.wast:2233
+assert_return(
+ () => invoke($0, `max`, [value("f32", 6.2831855), value("f32", -0.5)]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:2234
+assert_return(
+ () => invoke($0, `max`, [value("f32", 6.2831855), value("f32", 0.5)]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:2235
+assert_return(() => invoke($0, `max`, [value("f32", -6.2831855), value("f32", -1)]), [value("f32", -1)]);
+
+// ./test/core/f32.wast:2236
+assert_return(() => invoke($0, `max`, [value("f32", -6.2831855), value("f32", 1)]), [value("f32", 1)]);
+
+// ./test/core/f32.wast:2237
+assert_return(
+ () => invoke($0, `max`, [value("f32", 6.2831855), value("f32", -1)]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:2238
+assert_return(
+ () => invoke($0, `max`, [value("f32", 6.2831855), value("f32", 1)]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:2239
+assert_return(
+ () => invoke($0, `max`, [value("f32", -6.2831855), value("f32", -6.2831855)]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:2240
+assert_return(
+ () => invoke($0, `max`, [value("f32", -6.2831855), value("f32", 6.2831855)]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:2241
+assert_return(
+ () => invoke($0, `max`, [value("f32", 6.2831855), value("f32", -6.2831855)]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:2242
+assert_return(
+ () => invoke($0, `max`, [value("f32", 6.2831855), value("f32", 6.2831855)]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:2243
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -6.2831855),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:2244
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -6.2831855),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:2245
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 6.2831855),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:2246
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 6.2831855),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:2247
+assert_return(
+ () => invoke($0, `max`, [value("f32", -6.2831855), value("f32", -Infinity)]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:2248
+assert_return(
+ () => invoke($0, `max`, [value("f32", -6.2831855), value("f32", Infinity)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:2249
+assert_return(
+ () => invoke($0, `max`, [value("f32", 6.2831855), value("f32", -Infinity)]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:2250
+assert_return(
+ () => invoke($0, `max`, [value("f32", 6.2831855), value("f32", Infinity)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:2251
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -6.2831855),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2252
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -6.2831855),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2253
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -6.2831855),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2254
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -6.2831855),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2255
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 6.2831855),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2256
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 6.2831855),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2257
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 6.2831855),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2258
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 6.2831855),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2259
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -0),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:2260
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 0),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:2261
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -0),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:2262
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 0),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:2263
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:2264
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:2265
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:2266
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:2267
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:2268
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:2269
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:2270
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:2271
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -0.5),
+ ]),
+ [value("f32", -0.5)],
+);
+
+// ./test/core/f32.wast:2272
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 0.5),
+ ]),
+ [value("f32", 0.5)],
+);
+
+// ./test/core/f32.wast:2273
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -0.5),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:2274
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 0.5),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:2275
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -1),
+ ]),
+ [value("f32", -1)],
+);
+
+// ./test/core/f32.wast:2276
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 1),
+ ]),
+ [value("f32", 1)],
+);
+
+// ./test/core/f32.wast:2277
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -1),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:2278
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 1),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:2279
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -6.2831855),
+ ]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:2280
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 6.2831855),
+ ]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:2281
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -6.2831855),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:2282
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 6.2831855),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:2283
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:2284
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:2285
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:2286
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:2287
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -Infinity),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:2288
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", Infinity),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:2289
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -Infinity),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:2290
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", Infinity),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:2291
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2292
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2293
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2294
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2295
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2296
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2297
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2298
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", 340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2299
+assert_return(() => invoke($0, `max`, [value("f32", -Infinity), value("f32", -0)]), [value("f32", -0)]);
+
+// ./test/core/f32.wast:2300
+assert_return(() => invoke($0, `max`, [value("f32", -Infinity), value("f32", 0)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:2301
+assert_return(
+ () => invoke($0, `max`, [value("f32", Infinity), value("f32", -0)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:2302
+assert_return(
+ () => invoke($0, `max`, [value("f32", Infinity), value("f32", 0)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:2303
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -Infinity),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:2304
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -Infinity),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32.wast:2305
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", Infinity),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:2306
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", Infinity),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:2307
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -Infinity),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:2308
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -Infinity),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32.wast:2309
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", Infinity),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:2310
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", Infinity),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:2311
+assert_return(
+ () => invoke($0, `max`, [value("f32", -Infinity), value("f32", -0.5)]),
+ [value("f32", -0.5)],
+);
+
+// ./test/core/f32.wast:2312
+assert_return(
+ () => invoke($0, `max`, [value("f32", -Infinity), value("f32", 0.5)]),
+ [value("f32", 0.5)],
+);
+
+// ./test/core/f32.wast:2313
+assert_return(
+ () => invoke($0, `max`, [value("f32", Infinity), value("f32", -0.5)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:2314
+assert_return(
+ () => invoke($0, `max`, [value("f32", Infinity), value("f32", 0.5)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:2315
+assert_return(() => invoke($0, `max`, [value("f32", -Infinity), value("f32", -1)]), [value("f32", -1)]);
+
+// ./test/core/f32.wast:2316
+assert_return(() => invoke($0, `max`, [value("f32", -Infinity), value("f32", 1)]), [value("f32", 1)]);
+
+// ./test/core/f32.wast:2317
+assert_return(
+ () => invoke($0, `max`, [value("f32", Infinity), value("f32", -1)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:2318
+assert_return(
+ () => invoke($0, `max`, [value("f32", Infinity), value("f32", 1)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:2319
+assert_return(
+ () => invoke($0, `max`, [value("f32", -Infinity), value("f32", -6.2831855)]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32.wast:2320
+assert_return(
+ () => invoke($0, `max`, [value("f32", -Infinity), value("f32", 6.2831855)]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32.wast:2321
+assert_return(
+ () => invoke($0, `max`, [value("f32", Infinity), value("f32", -6.2831855)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:2322
+assert_return(
+ () => invoke($0, `max`, [value("f32", Infinity), value("f32", 6.2831855)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:2323
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -Infinity),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:2324
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -Infinity),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:2325
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", Infinity),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:2326
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", Infinity),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:2327
+assert_return(
+ () => invoke($0, `max`, [value("f32", -Infinity), value("f32", -Infinity)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32.wast:2328
+assert_return(
+ () => invoke($0, `max`, [value("f32", -Infinity), value("f32", Infinity)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:2329
+assert_return(
+ () => invoke($0, `max`, [value("f32", Infinity), value("f32", -Infinity)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:2330
+assert_return(
+ () => invoke($0, `max`, [value("f32", Infinity), value("f32", Infinity)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32.wast:2331
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -Infinity),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2332
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -Infinity),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2333
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -Infinity),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2334
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", -Infinity),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2335
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", Infinity),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2336
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", Infinity),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2337
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", Infinity),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2338
+assert_return(
+ () => invoke($0, `max`, [
+ value("f32", Infinity),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2339
+assert_return(
+ () => invoke($0, `max`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", -0)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2340
+assert_return(
+ () => invoke($0, `max`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", -0)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2341
+assert_return(
+ () => invoke($0, `max`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", 0)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2342
+assert_return(
+ () => invoke($0, `max`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", 0)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2343
+assert_return(
+ () => invoke($0, `max`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", -0)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2344
+assert_return(
+ () => invoke($0, `max`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", -0)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2345
+assert_return(
+ () => invoke($0, `max`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", 0)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2346
+assert_return(
+ () => invoke($0, `max`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", 0)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2347
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2348
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2349
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2350
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2351
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2352
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2353
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2354
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2355
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2356
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2357
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2358
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2359
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2360
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2361
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2362
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2363
+assert_return(
+ () => invoke($0, `max`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", -0.5)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2364
+assert_return(
+ () => invoke($0, `max`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", -0.5)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2365
+assert_return(
+ () => invoke($0, `max`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", 0.5)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2366
+assert_return(
+ () => invoke($0, `max`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", 0.5)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2367
+assert_return(
+ () => invoke($0, `max`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", -0.5)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2368
+assert_return(
+ () => invoke($0, `max`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", -0.5)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2369
+assert_return(
+ () => invoke($0, `max`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", 0.5)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2370
+assert_return(
+ () => invoke($0, `max`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", 0.5)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2371
+assert_return(
+ () => invoke($0, `max`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", -1)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2372
+assert_return(
+ () => invoke($0, `max`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", -1)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2373
+assert_return(
+ () => invoke($0, `max`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", 1)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2374
+assert_return(
+ () => invoke($0, `max`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", 1)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2375
+assert_return(
+ () => invoke($0, `max`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", -1)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2376
+assert_return(
+ () => invoke($0, `max`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", -1)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2377
+assert_return(
+ () => invoke($0, `max`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", 1)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2378
+assert_return(
+ () => invoke($0, `max`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", 1)]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2379
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -6.2831855),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2380
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -6.2831855),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2381
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", 6.2831855),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2382
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", 6.2831855),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2383
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -6.2831855),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2384
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -6.2831855),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2385
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 6.2831855),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2386
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", 6.2831855),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2387
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2388
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2389
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2390
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2391
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2392
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2393
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2394
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2395
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -Infinity),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2396
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -Infinity),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2397
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", Infinity),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2398
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", Infinity),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2399
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -Infinity),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2400
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -Infinity),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2401
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", Infinity),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2402
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", Infinity),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2403
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2404
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2405
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2406
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2407
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2408
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2409
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2410
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2411
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2412
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2413
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2414
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2415
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2416
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2417
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2418
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f32.wast:2419
+assert_return(() => invoke($0, `sqrt`, [value("f32", -0)]), [value("f32", -0)]);
+
+// ./test/core/f32.wast:2420
+assert_return(() => invoke($0, `sqrt`, [value("f32", 0)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:2421
+assert_return(
+ () => invoke($0, `sqrt`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2422
+assert_return(
+ () => invoke($0, `sqrt`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0.00000000000000000000003743392)],
+);
+
+// ./test/core/f32.wast:2423
+assert_return(
+ () => invoke($0, `sqrt`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2424
+assert_return(
+ () => invoke($0, `sqrt`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0.00000000000000000010842022)],
+);
+
+// ./test/core/f32.wast:2425
+assert_return(() => invoke($0, `sqrt`, [value("f32", -0.5)]), [`canonical_nan`]);
+
+// ./test/core/f32.wast:2426
+assert_return(() => invoke($0, `sqrt`, [value("f32", 0.5)]), [value("f32", 0.70710677)]);
+
+// ./test/core/f32.wast:2427
+assert_return(() => invoke($0, `sqrt`, [value("f32", -1)]), [`canonical_nan`]);
+
+// ./test/core/f32.wast:2428
+assert_return(() => invoke($0, `sqrt`, [value("f32", 1)]), [value("f32", 1)]);
+
+// ./test/core/f32.wast:2429
+assert_return(() => invoke($0, `sqrt`, [value("f32", -6.2831855)]), [`canonical_nan`]);
+
+// ./test/core/f32.wast:2430
+assert_return(() => invoke($0, `sqrt`, [value("f32", 6.2831855)]), [value("f32", 2.5066283)]);
+
+// ./test/core/f32.wast:2431
+assert_return(
+ () => invoke($0, `sqrt`, [value("f32", -340282350000000000000000000000000000000)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f32.wast:2432
+assert_return(
+ () => invoke($0, `sqrt`, [value("f32", 340282350000000000000000000000000000000)]),
+ [value("f32", 18446743000000000000)],
+);
+
+// ./test/core/f32.wast:2433
+assert_return(() => invoke($0, `sqrt`, [value("f32", -Infinity)]), [`canonical_nan`]);
+
+// ./test/core/f32.wast:2434
+assert_return(() => invoke($0, `sqrt`, [value("f32", Infinity)]), [value("f32", Infinity)]);
+
+// ./test/core/f32.wast:2435
+assert_return(() => invoke($0, `sqrt`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff])]), [`canonical_nan`]);
+
+// ./test/core/f32.wast:2436
+assert_return(() => invoke($0, `sqrt`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff])]), [`arithmetic_nan`]);
+
+// ./test/core/f32.wast:2437
+assert_return(() => invoke($0, `sqrt`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]), [`canonical_nan`]);
+
+// ./test/core/f32.wast:2438
+assert_return(() => invoke($0, `sqrt`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]), [`arithmetic_nan`]);
+
+// ./test/core/f32.wast:2439
+assert_return(() => invoke($0, `floor`, [value("f32", -0)]), [value("f32", -0)]);
+
+// ./test/core/f32.wast:2440
+assert_return(() => invoke($0, `floor`, [value("f32", 0)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:2441
+assert_return(
+ () => invoke($0, `floor`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -1)],
+);
+
+// ./test/core/f32.wast:2442
+assert_return(
+ () => invoke($0, `floor`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:2443
+assert_return(
+ () => invoke($0, `floor`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -1)],
+);
+
+// ./test/core/f32.wast:2444
+assert_return(
+ () => invoke($0, `floor`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:2445
+assert_return(() => invoke($0, `floor`, [value("f32", -0.5)]), [value("f32", -1)]);
+
+// ./test/core/f32.wast:2446
+assert_return(() => invoke($0, `floor`, [value("f32", 0.5)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:2447
+assert_return(() => invoke($0, `floor`, [value("f32", -1)]), [value("f32", -1)]);
+
+// ./test/core/f32.wast:2448
+assert_return(() => invoke($0, `floor`, [value("f32", 1)]), [value("f32", 1)]);
+
+// ./test/core/f32.wast:2449
+assert_return(() => invoke($0, `floor`, [value("f32", -6.2831855)]), [value("f32", -7)]);
+
+// ./test/core/f32.wast:2450
+assert_return(() => invoke($0, `floor`, [value("f32", 6.2831855)]), [value("f32", 6)]);
+
+// ./test/core/f32.wast:2451
+assert_return(
+ () => invoke($0, `floor`, [value("f32", -340282350000000000000000000000000000000)]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:2452
+assert_return(
+ () => invoke($0, `floor`, [value("f32", 340282350000000000000000000000000000000)]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:2453
+assert_return(() => invoke($0, `floor`, [value("f32", -Infinity)]), [value("f32", -Infinity)]);
+
+// ./test/core/f32.wast:2454
+assert_return(() => invoke($0, `floor`, [value("f32", Infinity)]), [value("f32", Infinity)]);
+
+// ./test/core/f32.wast:2455
+assert_return(() => invoke($0, `floor`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff])]), [`canonical_nan`]);
+
+// ./test/core/f32.wast:2456
+assert_return(() => invoke($0, `floor`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff])]), [`arithmetic_nan`]);
+
+// ./test/core/f32.wast:2457
+assert_return(() => invoke($0, `floor`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]), [`canonical_nan`]);
+
+// ./test/core/f32.wast:2458
+assert_return(() => invoke($0, `floor`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]), [`arithmetic_nan`]);
+
+// ./test/core/f32.wast:2459
+assert_return(() => invoke($0, `ceil`, [value("f32", -0)]), [value("f32", -0)]);
+
+// ./test/core/f32.wast:2460
+assert_return(() => invoke($0, `ceil`, [value("f32", 0)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:2461
+assert_return(
+ () => invoke($0, `ceil`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:2462
+assert_return(
+ () => invoke($0, `ceil`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 1)],
+);
+
+// ./test/core/f32.wast:2463
+assert_return(
+ () => invoke($0, `ceil`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:2464
+assert_return(
+ () => invoke($0, `ceil`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 1)],
+);
+
+// ./test/core/f32.wast:2465
+assert_return(() => invoke($0, `ceil`, [value("f32", -0.5)]), [value("f32", -0)]);
+
+// ./test/core/f32.wast:2466
+assert_return(() => invoke($0, `ceil`, [value("f32", 0.5)]), [value("f32", 1)]);
+
+// ./test/core/f32.wast:2467
+assert_return(() => invoke($0, `ceil`, [value("f32", -1)]), [value("f32", -1)]);
+
+// ./test/core/f32.wast:2468
+assert_return(() => invoke($0, `ceil`, [value("f32", 1)]), [value("f32", 1)]);
+
+// ./test/core/f32.wast:2469
+assert_return(() => invoke($0, `ceil`, [value("f32", -6.2831855)]), [value("f32", -6)]);
+
+// ./test/core/f32.wast:2470
+assert_return(() => invoke($0, `ceil`, [value("f32", 6.2831855)]), [value("f32", 7)]);
+
+// ./test/core/f32.wast:2471
+assert_return(
+ () => invoke($0, `ceil`, [value("f32", -340282350000000000000000000000000000000)]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:2472
+assert_return(
+ () => invoke($0, `ceil`, [value("f32", 340282350000000000000000000000000000000)]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:2473
+assert_return(() => invoke($0, `ceil`, [value("f32", -Infinity)]), [value("f32", -Infinity)]);
+
+// ./test/core/f32.wast:2474
+assert_return(() => invoke($0, `ceil`, [value("f32", Infinity)]), [value("f32", Infinity)]);
+
+// ./test/core/f32.wast:2475
+assert_return(() => invoke($0, `ceil`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff])]), [`canonical_nan`]);
+
+// ./test/core/f32.wast:2476
+assert_return(() => invoke($0, `ceil`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff])]), [`arithmetic_nan`]);
+
+// ./test/core/f32.wast:2477
+assert_return(() => invoke($0, `ceil`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]), [`canonical_nan`]);
+
+// ./test/core/f32.wast:2478
+assert_return(() => invoke($0, `ceil`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]), [`arithmetic_nan`]);
+
+// ./test/core/f32.wast:2479
+assert_return(() => invoke($0, `trunc`, [value("f32", -0)]), [value("f32", -0)]);
+
+// ./test/core/f32.wast:2480
+assert_return(() => invoke($0, `trunc`, [value("f32", 0)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:2481
+assert_return(
+ () => invoke($0, `trunc`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:2482
+assert_return(
+ () => invoke($0, `trunc`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:2483
+assert_return(
+ () => invoke($0, `trunc`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:2484
+assert_return(
+ () => invoke($0, `trunc`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:2485
+assert_return(() => invoke($0, `trunc`, [value("f32", -0.5)]), [value("f32", -0)]);
+
+// ./test/core/f32.wast:2486
+assert_return(() => invoke($0, `trunc`, [value("f32", 0.5)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:2487
+assert_return(() => invoke($0, `trunc`, [value("f32", -1)]), [value("f32", -1)]);
+
+// ./test/core/f32.wast:2488
+assert_return(() => invoke($0, `trunc`, [value("f32", 1)]), [value("f32", 1)]);
+
+// ./test/core/f32.wast:2489
+assert_return(() => invoke($0, `trunc`, [value("f32", -6.2831855)]), [value("f32", -6)]);
+
+// ./test/core/f32.wast:2490
+assert_return(() => invoke($0, `trunc`, [value("f32", 6.2831855)]), [value("f32", 6)]);
+
+// ./test/core/f32.wast:2491
+assert_return(
+ () => invoke($0, `trunc`, [value("f32", -340282350000000000000000000000000000000)]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:2492
+assert_return(
+ () => invoke($0, `trunc`, [value("f32", 340282350000000000000000000000000000000)]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:2493
+assert_return(() => invoke($0, `trunc`, [value("f32", -Infinity)]), [value("f32", -Infinity)]);
+
+// ./test/core/f32.wast:2494
+assert_return(() => invoke($0, `trunc`, [value("f32", Infinity)]), [value("f32", Infinity)]);
+
+// ./test/core/f32.wast:2495
+assert_return(() => invoke($0, `trunc`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff])]), [`canonical_nan`]);
+
+// ./test/core/f32.wast:2496
+assert_return(() => invoke($0, `trunc`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff])]), [`arithmetic_nan`]);
+
+// ./test/core/f32.wast:2497
+assert_return(() => invoke($0, `trunc`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]), [`canonical_nan`]);
+
+// ./test/core/f32.wast:2498
+assert_return(() => invoke($0, `trunc`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]), [`arithmetic_nan`]);
+
+// ./test/core/f32.wast:2499
+assert_return(() => invoke($0, `nearest`, [value("f32", -0)]), [value("f32", -0)]);
+
+// ./test/core/f32.wast:2500
+assert_return(() => invoke($0, `nearest`, [value("f32", 0)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:2501
+assert_return(
+ () => invoke($0, `nearest`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:2502
+assert_return(
+ () => invoke($0, `nearest`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:2503
+assert_return(
+ () => invoke($0, `nearest`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32.wast:2504
+assert_return(
+ () => invoke($0, `nearest`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32.wast:2505
+assert_return(() => invoke($0, `nearest`, [value("f32", -0.5)]), [value("f32", -0)]);
+
+// ./test/core/f32.wast:2506
+assert_return(() => invoke($0, `nearest`, [value("f32", 0.5)]), [value("f32", 0)]);
+
+// ./test/core/f32.wast:2507
+assert_return(() => invoke($0, `nearest`, [value("f32", -1)]), [value("f32", -1)]);
+
+// ./test/core/f32.wast:2508
+assert_return(() => invoke($0, `nearest`, [value("f32", 1)]), [value("f32", 1)]);
+
+// ./test/core/f32.wast:2509
+assert_return(() => invoke($0, `nearest`, [value("f32", -6.2831855)]), [value("f32", -6)]);
+
+// ./test/core/f32.wast:2510
+assert_return(() => invoke($0, `nearest`, [value("f32", 6.2831855)]), [value("f32", 6)]);
+
+// ./test/core/f32.wast:2511
+assert_return(
+ () => invoke($0, `nearest`, [value("f32", -340282350000000000000000000000000000000)]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:2512
+assert_return(
+ () => invoke($0, `nearest`, [value("f32", 340282350000000000000000000000000000000)]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32.wast:2513
+assert_return(() => invoke($0, `nearest`, [value("f32", -Infinity)]), [value("f32", -Infinity)]);
+
+// ./test/core/f32.wast:2514
+assert_return(() => invoke($0, `nearest`, [value("f32", Infinity)]), [value("f32", Infinity)]);
+
+// ./test/core/f32.wast:2515
+assert_return(() => invoke($0, `nearest`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff])]), [`canonical_nan`]);
+
+// ./test/core/f32.wast:2516
+assert_return(() => invoke($0, `nearest`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff])]), [`arithmetic_nan`]);
+
+// ./test/core/f32.wast:2517
+assert_return(() => invoke($0, `nearest`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]), [`canonical_nan`]);
+
+// ./test/core/f32.wast:2518
+assert_return(() => invoke($0, `nearest`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]), [`arithmetic_nan`]);
+
+// ./test/core/f32.wast:2523
+assert_invalid(
+ () => instantiate(`(module (func (result f32) (f32.add (i64.const 0) (f64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/f32.wast:2524
+assert_invalid(
+ () => instantiate(`(module (func (result f32) (f32.div (i64.const 0) (f64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/f32.wast:2525
+assert_invalid(
+ () => instantiate(`(module (func (result f32) (f32.max (i64.const 0) (f64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/f32.wast:2526
+assert_invalid(
+ () => instantiate(`(module (func (result f32) (f32.min (i64.const 0) (f64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/f32.wast:2527
+assert_invalid(
+ () => instantiate(`(module (func (result f32) (f32.mul (i64.const 0) (f64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/f32.wast:2528
+assert_invalid(
+ () => instantiate(`(module (func (result f32) (f32.sub (i64.const 0) (f64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/f32.wast:2529
+assert_invalid(
+ () => instantiate(`(module (func (result f32) (f32.ceil (i64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/f32.wast:2530
+assert_invalid(
+ () => instantiate(`(module (func (result f32) (f32.floor (i64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/f32.wast:2531
+assert_invalid(
+ () => instantiate(`(module (func (result f32) (f32.nearest (i64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/f32.wast:2532
+assert_invalid(
+ () => instantiate(`(module (func (result f32) (f32.sqrt (i64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/f32.wast:2533
+assert_invalid(
+ () => instantiate(`(module (func (result f32) (f32.trunc (i64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/f32.wast:2536
+assert_malformed(
+ () => instantiate(`(func (result f32) (f32.const nan:arithmetic)) `),
+ `unexpected token`,
+);
+
+// ./test/core/f32.wast:2540
+assert_malformed(
+ () => instantiate(`(func (result f32) (f32.const nan:canonical)) `),
+ `unexpected token`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/f32_bitwise.wast.js b/js/src/jit-test/tests/wasm/spec/spec/f32_bitwise.wast.js
new file mode 100644
index 0000000000..7a27263671
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/f32_bitwise.wast.js
@@ -0,0 +1,2688 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/f32_bitwise.wast
+
+// ./test/core/f32_bitwise.wast:4
+let $0 = instantiate(`(module
+ (func (export "abs") (param $$x f32) (result f32) (f32.abs (local.get $$x)))
+ (func (export "neg") (param $$x f32) (result f32) (f32.neg (local.get $$x)))
+ (func (export "copysign") (param $$x f32) (param $$y f32) (result f32) (f32.copysign (local.get $$x) (local.get $$y)))
+)`);
+
+// ./test/core/f32_bitwise.wast:10
+assert_return(() => invoke($0, `copysign`, [value("f32", -0), value("f32", -0)]), [value("f32", -0)]);
+
+// ./test/core/f32_bitwise.wast:11
+assert_return(() => invoke($0, `copysign`, [value("f32", -0), value("f32", 0)]), [value("f32", 0)]);
+
+// ./test/core/f32_bitwise.wast:12
+assert_return(() => invoke($0, `copysign`, [value("f32", 0), value("f32", -0)]), [value("f32", -0)]);
+
+// ./test/core/f32_bitwise.wast:13
+assert_return(() => invoke($0, `copysign`, [value("f32", 0), value("f32", 0)]), [value("f32", 0)]);
+
+// ./test/core/f32_bitwise.wast:14
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -0),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32_bitwise.wast:15
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -0),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32_bitwise.wast:16
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 0),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32_bitwise.wast:17
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 0),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32_bitwise.wast:18
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -0),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32_bitwise.wast:19
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -0),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32_bitwise.wast:20
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 0),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32_bitwise.wast:21
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 0),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32_bitwise.wast:22
+assert_return(() => invoke($0, `copysign`, [value("f32", -0), value("f32", -0.5)]), [value("f32", -0)]);
+
+// ./test/core/f32_bitwise.wast:23
+assert_return(() => invoke($0, `copysign`, [value("f32", -0), value("f32", 0.5)]), [value("f32", 0)]);
+
+// ./test/core/f32_bitwise.wast:24
+assert_return(() => invoke($0, `copysign`, [value("f32", 0), value("f32", -0.5)]), [value("f32", -0)]);
+
+// ./test/core/f32_bitwise.wast:25
+assert_return(() => invoke($0, `copysign`, [value("f32", 0), value("f32", 0.5)]), [value("f32", 0)]);
+
+// ./test/core/f32_bitwise.wast:26
+assert_return(() => invoke($0, `copysign`, [value("f32", -0), value("f32", -1)]), [value("f32", -0)]);
+
+// ./test/core/f32_bitwise.wast:27
+assert_return(() => invoke($0, `copysign`, [value("f32", -0), value("f32", 1)]), [value("f32", 0)]);
+
+// ./test/core/f32_bitwise.wast:28
+assert_return(() => invoke($0, `copysign`, [value("f32", 0), value("f32", -1)]), [value("f32", -0)]);
+
+// ./test/core/f32_bitwise.wast:29
+assert_return(() => invoke($0, `copysign`, [value("f32", 0), value("f32", 1)]), [value("f32", 0)]);
+
+// ./test/core/f32_bitwise.wast:30
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", -0), value("f32", -6.2831855)]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32_bitwise.wast:31
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", -0), value("f32", 6.2831855)]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32_bitwise.wast:32
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", 0), value("f32", -6.2831855)]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32_bitwise.wast:33
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", 0), value("f32", 6.2831855)]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32_bitwise.wast:34
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -0),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32_bitwise.wast:35
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -0),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32_bitwise.wast:36
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 0),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32_bitwise.wast:37
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 0),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32_bitwise.wast:38
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", -0), value("f32", -Infinity)]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32_bitwise.wast:39
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", -0), value("f32", Infinity)]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32_bitwise.wast:40
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", 0), value("f32", -Infinity)]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32_bitwise.wast:41
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", 0), value("f32", Infinity)]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32_bitwise.wast:42
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", -0), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32_bitwise.wast:43
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", -0), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32_bitwise.wast:44
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", 0), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [value("f32", -0)],
+);
+
+// ./test/core/f32_bitwise.wast:45
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", 0), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [value("f32", 0)],
+);
+
+// ./test/core/f32_bitwise.wast:46
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32_bitwise.wast:47
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 0),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32_bitwise.wast:48
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -0),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32_bitwise.wast:49
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32_bitwise.wast:50
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32_bitwise.wast:51
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32_bitwise.wast:52
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32_bitwise.wast:53
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32_bitwise.wast:54
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32_bitwise.wast:55
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32_bitwise.wast:56
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32_bitwise.wast:57
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32_bitwise.wast:58
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.5),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32_bitwise.wast:59
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 0.5),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32_bitwise.wast:60
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -0.5),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32_bitwise.wast:61
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.5),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32_bitwise.wast:62
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -1),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32_bitwise.wast:63
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 1),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32_bitwise.wast:64
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -1),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32_bitwise.wast:65
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 1),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32_bitwise.wast:66
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -6.2831855),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32_bitwise.wast:67
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 6.2831855),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32_bitwise.wast:68
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -6.2831855),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32_bitwise.wast:69
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 6.2831855),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32_bitwise.wast:70
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32_bitwise.wast:71
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32_bitwise.wast:72
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32_bitwise.wast:73
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32_bitwise.wast:74
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -Infinity),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32_bitwise.wast:75
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", Infinity),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32_bitwise.wast:76
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -Infinity),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32_bitwise.wast:77
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", Infinity),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32_bitwise.wast:78
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32_bitwise.wast:79
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32_bitwise.wast:80
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32_bitwise.wast:81
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32_bitwise.wast:82
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32_bitwise.wast:83
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 0),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32_bitwise.wast:84
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -0),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32_bitwise.wast:85
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32_bitwise.wast:86
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32_bitwise.wast:87
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32_bitwise.wast:88
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32_bitwise.wast:89
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32_bitwise.wast:90
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32_bitwise.wast:91
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32_bitwise.wast:92
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32_bitwise.wast:93
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32_bitwise.wast:94
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.5),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32_bitwise.wast:95
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 0.5),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32_bitwise.wast:96
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -0.5),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32_bitwise.wast:97
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.5),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32_bitwise.wast:98
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -1),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32_bitwise.wast:99
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 1),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32_bitwise.wast:100
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -1),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32_bitwise.wast:101
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 1),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32_bitwise.wast:102
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -6.2831855),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32_bitwise.wast:103
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 6.2831855),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32_bitwise.wast:104
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -6.2831855),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32_bitwise.wast:105
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 6.2831855),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32_bitwise.wast:106
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32_bitwise.wast:107
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32_bitwise.wast:108
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32_bitwise.wast:109
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32_bitwise.wast:110
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -Infinity),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32_bitwise.wast:111
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", Infinity),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32_bitwise.wast:112
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -Infinity),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32_bitwise.wast:113
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", Infinity),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32_bitwise.wast:114
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32_bitwise.wast:115
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32_bitwise.wast:116
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32_bitwise.wast:117
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32_bitwise.wast:118
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", -0.5), value("f32", -0)]),
+ [value("f32", -0.5)],
+);
+
+// ./test/core/f32_bitwise.wast:119
+assert_return(() => invoke($0, `copysign`, [value("f32", -0.5), value("f32", 0)]), [value("f32", 0.5)]);
+
+// ./test/core/f32_bitwise.wast:120
+assert_return(() => invoke($0, `copysign`, [value("f32", 0.5), value("f32", -0)]), [value("f32", -0.5)]);
+
+// ./test/core/f32_bitwise.wast:121
+assert_return(() => invoke($0, `copysign`, [value("f32", 0.5), value("f32", 0)]), [value("f32", 0.5)]);
+
+// ./test/core/f32_bitwise.wast:122
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -0.5),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0.5)],
+);
+
+// ./test/core/f32_bitwise.wast:123
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -0.5),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0.5)],
+);
+
+// ./test/core/f32_bitwise.wast:124
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 0.5),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0.5)],
+);
+
+// ./test/core/f32_bitwise.wast:125
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 0.5),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0.5)],
+);
+
+// ./test/core/f32_bitwise.wast:126
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -0.5),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0.5)],
+);
+
+// ./test/core/f32_bitwise.wast:127
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -0.5),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0.5)],
+);
+
+// ./test/core/f32_bitwise.wast:128
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 0.5),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0.5)],
+);
+
+// ./test/core/f32_bitwise.wast:129
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 0.5),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0.5)],
+);
+
+// ./test/core/f32_bitwise.wast:130
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", -0.5), value("f32", -0.5)]),
+ [value("f32", -0.5)],
+);
+
+// ./test/core/f32_bitwise.wast:131
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", -0.5), value("f32", 0.5)]),
+ [value("f32", 0.5)],
+);
+
+// ./test/core/f32_bitwise.wast:132
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", 0.5), value("f32", -0.5)]),
+ [value("f32", -0.5)],
+);
+
+// ./test/core/f32_bitwise.wast:133
+assert_return(() => invoke($0, `copysign`, [value("f32", 0.5), value("f32", 0.5)]), [value("f32", 0.5)]);
+
+// ./test/core/f32_bitwise.wast:134
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", -0.5), value("f32", -1)]),
+ [value("f32", -0.5)],
+);
+
+// ./test/core/f32_bitwise.wast:135
+assert_return(() => invoke($0, `copysign`, [value("f32", -0.5), value("f32", 1)]), [value("f32", 0.5)]);
+
+// ./test/core/f32_bitwise.wast:136
+assert_return(() => invoke($0, `copysign`, [value("f32", 0.5), value("f32", -1)]), [value("f32", -0.5)]);
+
+// ./test/core/f32_bitwise.wast:137
+assert_return(() => invoke($0, `copysign`, [value("f32", 0.5), value("f32", 1)]), [value("f32", 0.5)]);
+
+// ./test/core/f32_bitwise.wast:138
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", -0.5), value("f32", -6.2831855)]),
+ [value("f32", -0.5)],
+);
+
+// ./test/core/f32_bitwise.wast:139
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", -0.5), value("f32", 6.2831855)]),
+ [value("f32", 0.5)],
+);
+
+// ./test/core/f32_bitwise.wast:140
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", 0.5), value("f32", -6.2831855)]),
+ [value("f32", -0.5)],
+);
+
+// ./test/core/f32_bitwise.wast:141
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", 0.5), value("f32", 6.2831855)]),
+ [value("f32", 0.5)],
+);
+
+// ./test/core/f32_bitwise.wast:142
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -0.5),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -0.5)],
+);
+
+// ./test/core/f32_bitwise.wast:143
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -0.5),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 0.5)],
+);
+
+// ./test/core/f32_bitwise.wast:144
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 0.5),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -0.5)],
+);
+
+// ./test/core/f32_bitwise.wast:145
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 0.5),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 0.5)],
+);
+
+// ./test/core/f32_bitwise.wast:146
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", -0.5), value("f32", -Infinity)]),
+ [value("f32", -0.5)],
+);
+
+// ./test/core/f32_bitwise.wast:147
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", -0.5), value("f32", Infinity)]),
+ [value("f32", 0.5)],
+);
+
+// ./test/core/f32_bitwise.wast:148
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", 0.5), value("f32", -Infinity)]),
+ [value("f32", -0.5)],
+);
+
+// ./test/core/f32_bitwise.wast:149
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", 0.5), value("f32", Infinity)]),
+ [value("f32", 0.5)],
+);
+
+// ./test/core/f32_bitwise.wast:150
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -0.5),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("f32", -0.5)],
+);
+
+// ./test/core/f32_bitwise.wast:151
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -0.5),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("f32", 0.5)],
+);
+
+// ./test/core/f32_bitwise.wast:152
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 0.5),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("f32", -0.5)],
+);
+
+// ./test/core/f32_bitwise.wast:153
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 0.5),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("f32", 0.5)],
+);
+
+// ./test/core/f32_bitwise.wast:154
+assert_return(() => invoke($0, `copysign`, [value("f32", -1), value("f32", -0)]), [value("f32", -1)]);
+
+// ./test/core/f32_bitwise.wast:155
+assert_return(() => invoke($0, `copysign`, [value("f32", -1), value("f32", 0)]), [value("f32", 1)]);
+
+// ./test/core/f32_bitwise.wast:156
+assert_return(() => invoke($0, `copysign`, [value("f32", 1), value("f32", -0)]), [value("f32", -1)]);
+
+// ./test/core/f32_bitwise.wast:157
+assert_return(() => invoke($0, `copysign`, [value("f32", 1), value("f32", 0)]), [value("f32", 1)]);
+
+// ./test/core/f32_bitwise.wast:158
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -1),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -1)],
+);
+
+// ./test/core/f32_bitwise.wast:159
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -1),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 1)],
+);
+
+// ./test/core/f32_bitwise.wast:160
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 1),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -1)],
+);
+
+// ./test/core/f32_bitwise.wast:161
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 1),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 1)],
+);
+
+// ./test/core/f32_bitwise.wast:162
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -1),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -1)],
+);
+
+// ./test/core/f32_bitwise.wast:163
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -1),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 1)],
+);
+
+// ./test/core/f32_bitwise.wast:164
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 1),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -1)],
+);
+
+// ./test/core/f32_bitwise.wast:165
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 1),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 1)],
+);
+
+// ./test/core/f32_bitwise.wast:166
+assert_return(() => invoke($0, `copysign`, [value("f32", -1), value("f32", -0.5)]), [value("f32", -1)]);
+
+// ./test/core/f32_bitwise.wast:167
+assert_return(() => invoke($0, `copysign`, [value("f32", -1), value("f32", 0.5)]), [value("f32", 1)]);
+
+// ./test/core/f32_bitwise.wast:168
+assert_return(() => invoke($0, `copysign`, [value("f32", 1), value("f32", -0.5)]), [value("f32", -1)]);
+
+// ./test/core/f32_bitwise.wast:169
+assert_return(() => invoke($0, `copysign`, [value("f32", 1), value("f32", 0.5)]), [value("f32", 1)]);
+
+// ./test/core/f32_bitwise.wast:170
+assert_return(() => invoke($0, `copysign`, [value("f32", -1), value("f32", -1)]), [value("f32", -1)]);
+
+// ./test/core/f32_bitwise.wast:171
+assert_return(() => invoke($0, `copysign`, [value("f32", -1), value("f32", 1)]), [value("f32", 1)]);
+
+// ./test/core/f32_bitwise.wast:172
+assert_return(() => invoke($0, `copysign`, [value("f32", 1), value("f32", -1)]), [value("f32", -1)]);
+
+// ./test/core/f32_bitwise.wast:173
+assert_return(() => invoke($0, `copysign`, [value("f32", 1), value("f32", 1)]), [value("f32", 1)]);
+
+// ./test/core/f32_bitwise.wast:174
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", -1), value("f32", -6.2831855)]),
+ [value("f32", -1)],
+);
+
+// ./test/core/f32_bitwise.wast:175
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", -1), value("f32", 6.2831855)]),
+ [value("f32", 1)],
+);
+
+// ./test/core/f32_bitwise.wast:176
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", 1), value("f32", -6.2831855)]),
+ [value("f32", -1)],
+);
+
+// ./test/core/f32_bitwise.wast:177
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", 1), value("f32", 6.2831855)]),
+ [value("f32", 1)],
+);
+
+// ./test/core/f32_bitwise.wast:178
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -1),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -1)],
+);
+
+// ./test/core/f32_bitwise.wast:179
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -1),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 1)],
+);
+
+// ./test/core/f32_bitwise.wast:180
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 1),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -1)],
+);
+
+// ./test/core/f32_bitwise.wast:181
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 1),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 1)],
+);
+
+// ./test/core/f32_bitwise.wast:182
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", -1), value("f32", -Infinity)]),
+ [value("f32", -1)],
+);
+
+// ./test/core/f32_bitwise.wast:183
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", -1), value("f32", Infinity)]),
+ [value("f32", 1)],
+);
+
+// ./test/core/f32_bitwise.wast:184
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", 1), value("f32", -Infinity)]),
+ [value("f32", -1)],
+);
+
+// ./test/core/f32_bitwise.wast:185
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", 1), value("f32", Infinity)]),
+ [value("f32", 1)],
+);
+
+// ./test/core/f32_bitwise.wast:186
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", -1), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [value("f32", -1)],
+);
+
+// ./test/core/f32_bitwise.wast:187
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", -1), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [value("f32", 1)],
+);
+
+// ./test/core/f32_bitwise.wast:188
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", 1), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [value("f32", -1)],
+);
+
+// ./test/core/f32_bitwise.wast:189
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", 1), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [value("f32", 1)],
+);
+
+// ./test/core/f32_bitwise.wast:190
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", -6.2831855), value("f32", -0)]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32_bitwise.wast:191
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", -6.2831855), value("f32", 0)]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32_bitwise.wast:192
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", 6.2831855), value("f32", -0)]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32_bitwise.wast:193
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", 6.2831855), value("f32", 0)]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32_bitwise.wast:194
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -6.2831855),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32_bitwise.wast:195
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -6.2831855),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32_bitwise.wast:196
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 6.2831855),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32_bitwise.wast:197
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 6.2831855),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32_bitwise.wast:198
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -6.2831855),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32_bitwise.wast:199
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -6.2831855),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32_bitwise.wast:200
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 6.2831855),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32_bitwise.wast:201
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 6.2831855),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32_bitwise.wast:202
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", -6.2831855), value("f32", -0.5)]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32_bitwise.wast:203
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", -6.2831855), value("f32", 0.5)]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32_bitwise.wast:204
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", 6.2831855), value("f32", -0.5)]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32_bitwise.wast:205
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", 6.2831855), value("f32", 0.5)]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32_bitwise.wast:206
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", -6.2831855), value("f32", -1)]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32_bitwise.wast:207
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", -6.2831855), value("f32", 1)]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32_bitwise.wast:208
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", 6.2831855), value("f32", -1)]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32_bitwise.wast:209
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", 6.2831855), value("f32", 1)]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32_bitwise.wast:210
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", -6.2831855), value("f32", -6.2831855)]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32_bitwise.wast:211
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", -6.2831855), value("f32", 6.2831855)]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32_bitwise.wast:212
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", 6.2831855), value("f32", -6.2831855)]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32_bitwise.wast:213
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", 6.2831855), value("f32", 6.2831855)]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32_bitwise.wast:214
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -6.2831855),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32_bitwise.wast:215
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -6.2831855),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32_bitwise.wast:216
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 6.2831855),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32_bitwise.wast:217
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 6.2831855),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32_bitwise.wast:218
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", -6.2831855), value("f32", -Infinity)]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32_bitwise.wast:219
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", -6.2831855), value("f32", Infinity)]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32_bitwise.wast:220
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", 6.2831855), value("f32", -Infinity)]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32_bitwise.wast:221
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", 6.2831855), value("f32", Infinity)]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32_bitwise.wast:222
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -6.2831855),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32_bitwise.wast:223
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -6.2831855),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32_bitwise.wast:224
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 6.2831855),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("f32", -6.2831855)],
+);
+
+// ./test/core/f32_bitwise.wast:225
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 6.2831855),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("f32", 6.2831855)],
+);
+
+// ./test/core/f32_bitwise.wast:226
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -0),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32_bitwise.wast:227
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 0),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32_bitwise.wast:228
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -0),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32_bitwise.wast:229
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 0),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32_bitwise.wast:230
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32_bitwise.wast:231
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32_bitwise.wast:232
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32_bitwise.wast:233
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32_bitwise.wast:234
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32_bitwise.wast:235
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32_bitwise.wast:236
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32_bitwise.wast:237
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32_bitwise.wast:238
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -0.5),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32_bitwise.wast:239
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 0.5),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32_bitwise.wast:240
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -0.5),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32_bitwise.wast:241
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 0.5),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32_bitwise.wast:242
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -1),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32_bitwise.wast:243
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 1),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32_bitwise.wast:244
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -1),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32_bitwise.wast:245
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 1),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32_bitwise.wast:246
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -6.2831855),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32_bitwise.wast:247
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 6.2831855),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32_bitwise.wast:248
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -6.2831855),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32_bitwise.wast:249
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 6.2831855),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32_bitwise.wast:250
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32_bitwise.wast:251
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32_bitwise.wast:252
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32_bitwise.wast:253
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32_bitwise.wast:254
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -Infinity),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32_bitwise.wast:255
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", Infinity),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32_bitwise.wast:256
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -Infinity),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32_bitwise.wast:257
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", Infinity),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32_bitwise.wast:258
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32_bitwise.wast:259
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32_bitwise.wast:260
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32_bitwise.wast:261
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", 340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32_bitwise.wast:262
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", -Infinity), value("f32", -0)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32_bitwise.wast:263
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", -Infinity), value("f32", 0)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32_bitwise.wast:264
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", Infinity), value("f32", -0)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32_bitwise.wast:265
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", Infinity), value("f32", 0)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32_bitwise.wast:266
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -Infinity),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32_bitwise.wast:267
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -Infinity),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32_bitwise.wast:268
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", Infinity),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32_bitwise.wast:269
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", Infinity),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32_bitwise.wast:270
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -Infinity),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32_bitwise.wast:271
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -Infinity),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32_bitwise.wast:272
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", Infinity),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32_bitwise.wast:273
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", Infinity),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32_bitwise.wast:274
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", -Infinity), value("f32", -0.5)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32_bitwise.wast:275
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", -Infinity), value("f32", 0.5)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32_bitwise.wast:276
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", Infinity), value("f32", -0.5)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32_bitwise.wast:277
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", Infinity), value("f32", 0.5)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32_bitwise.wast:278
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", -Infinity), value("f32", -1)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32_bitwise.wast:279
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", -Infinity), value("f32", 1)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32_bitwise.wast:280
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", Infinity), value("f32", -1)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32_bitwise.wast:281
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", Infinity), value("f32", 1)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32_bitwise.wast:282
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", -Infinity), value("f32", -6.2831855)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32_bitwise.wast:283
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", -Infinity), value("f32", 6.2831855)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32_bitwise.wast:284
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", Infinity), value("f32", -6.2831855)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32_bitwise.wast:285
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", Infinity), value("f32", 6.2831855)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32_bitwise.wast:286
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -Infinity),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32_bitwise.wast:287
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -Infinity),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32_bitwise.wast:288
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", Infinity),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32_bitwise.wast:289
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", Infinity),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32_bitwise.wast:290
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", -Infinity), value("f32", -Infinity)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32_bitwise.wast:291
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", -Infinity), value("f32", Infinity)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32_bitwise.wast:292
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", Infinity), value("f32", -Infinity)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32_bitwise.wast:293
+assert_return(
+ () => invoke($0, `copysign`, [value("f32", Infinity), value("f32", Infinity)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32_bitwise.wast:294
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -Infinity),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32_bitwise.wast:295
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", -Infinity),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32_bitwise.wast:296
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", Infinity),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/f32_bitwise.wast:297
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f32", Infinity),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/f32_bitwise.wast:298
+assert_return(
+ () => invoke($0, `copysign`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", -0)]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0xff])],
+);
+
+// ./test/core/f32_bitwise.wast:299
+assert_return(
+ () => invoke($0, `copysign`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", 0)]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])],
+);
+
+// ./test/core/f32_bitwise.wast:300
+assert_return(
+ () => invoke($0, `copysign`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", -0)]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0xff])],
+);
+
+// ./test/core/f32_bitwise.wast:301
+assert_return(
+ () => invoke($0, `copysign`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", 0)]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])],
+);
+
+// ./test/core/f32_bitwise.wast:302
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0xff])],
+);
+
+// ./test/core/f32_bitwise.wast:303
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])],
+);
+
+// ./test/core/f32_bitwise.wast:304
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0xff])],
+);
+
+// ./test/core/f32_bitwise.wast:305
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])],
+);
+
+// ./test/core/f32_bitwise.wast:306
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0xff])],
+);
+
+// ./test/core/f32_bitwise.wast:307
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])],
+);
+
+// ./test/core/f32_bitwise.wast:308
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0xff])],
+);
+
+// ./test/core/f32_bitwise.wast:309
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])],
+);
+
+// ./test/core/f32_bitwise.wast:310
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -0.5),
+ ]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0xff])],
+);
+
+// ./test/core/f32_bitwise.wast:311
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", 0.5),
+ ]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])],
+);
+
+// ./test/core/f32_bitwise.wast:312
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -0.5),
+ ]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0xff])],
+);
+
+// ./test/core/f32_bitwise.wast:313
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 0.5),
+ ]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])],
+);
+
+// ./test/core/f32_bitwise.wast:314
+assert_return(
+ () => invoke($0, `copysign`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", -1)]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0xff])],
+);
+
+// ./test/core/f32_bitwise.wast:315
+assert_return(
+ () => invoke($0, `copysign`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", 1)]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])],
+);
+
+// ./test/core/f32_bitwise.wast:316
+assert_return(
+ () => invoke($0, `copysign`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", -1)]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0xff])],
+);
+
+// ./test/core/f32_bitwise.wast:317
+assert_return(
+ () => invoke($0, `copysign`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", 1)]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])],
+);
+
+// ./test/core/f32_bitwise.wast:318
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -6.2831855),
+ ]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0xff])],
+);
+
+// ./test/core/f32_bitwise.wast:319
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", 6.2831855),
+ ]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])],
+);
+
+// ./test/core/f32_bitwise.wast:320
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -6.2831855),
+ ]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0xff])],
+);
+
+// ./test/core/f32_bitwise.wast:321
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 6.2831855),
+ ]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])],
+);
+
+// ./test/core/f32_bitwise.wast:322
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0xff])],
+);
+
+// ./test/core/f32_bitwise.wast:323
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])],
+);
+
+// ./test/core/f32_bitwise.wast:324
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0xff])],
+);
+
+// ./test/core/f32_bitwise.wast:325
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])],
+);
+
+// ./test/core/f32_bitwise.wast:326
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -Infinity),
+ ]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0xff])],
+);
+
+// ./test/core/f32_bitwise.wast:327
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", Infinity),
+ ]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])],
+);
+
+// ./test/core/f32_bitwise.wast:328
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -Infinity),
+ ]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0xff])],
+);
+
+// ./test/core/f32_bitwise.wast:329
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", Infinity),
+ ]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])],
+);
+
+// ./test/core/f32_bitwise.wast:330
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0xff])],
+);
+
+// ./test/core/f32_bitwise.wast:331
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])],
+);
+
+// ./test/core/f32_bitwise.wast:332
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0xff])],
+);
+
+// ./test/core/f32_bitwise.wast:333
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])],
+);
+
+// ./test/core/f32_bitwise.wast:334
+assert_return(() => invoke($0, `abs`, [value("f32", -0)]), [value("f32", 0)]);
+
+// ./test/core/f32_bitwise.wast:335
+assert_return(() => invoke($0, `abs`, [value("f32", 0)]), [value("f32", 0)]);
+
+// ./test/core/f32_bitwise.wast:336
+assert_return(
+ () => invoke($0, `abs`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32_bitwise.wast:337
+assert_return(
+ () => invoke($0, `abs`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32_bitwise.wast:338
+assert_return(
+ () => invoke($0, `abs`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32_bitwise.wast:339
+assert_return(
+ () => invoke($0, `abs`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32_bitwise.wast:340
+assert_return(() => invoke($0, `abs`, [value("f32", -0.5)]), [value("f32", 0.5)]);
+
+// ./test/core/f32_bitwise.wast:341
+assert_return(() => invoke($0, `abs`, [value("f32", 0.5)]), [value("f32", 0.5)]);
+
+// ./test/core/f32_bitwise.wast:342
+assert_return(() => invoke($0, `abs`, [value("f32", -1)]), [value("f32", 1)]);
+
+// ./test/core/f32_bitwise.wast:343
+assert_return(() => invoke($0, `abs`, [value("f32", 1)]), [value("f32", 1)]);
+
+// ./test/core/f32_bitwise.wast:344
+assert_return(() => invoke($0, `abs`, [value("f32", -6.2831855)]), [value("f32", 6.2831855)]);
+
+// ./test/core/f32_bitwise.wast:345
+assert_return(() => invoke($0, `abs`, [value("f32", 6.2831855)]), [value("f32", 6.2831855)]);
+
+// ./test/core/f32_bitwise.wast:346
+assert_return(
+ () => invoke($0, `abs`, [value("f32", -340282350000000000000000000000000000000)]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32_bitwise.wast:347
+assert_return(
+ () => invoke($0, `abs`, [value("f32", 340282350000000000000000000000000000000)]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32_bitwise.wast:348
+assert_return(() => invoke($0, `abs`, [value("f32", -Infinity)]), [value("f32", Infinity)]);
+
+// ./test/core/f32_bitwise.wast:349
+assert_return(() => invoke($0, `abs`, [value("f32", Infinity)]), [value("f32", Infinity)]);
+
+// ./test/core/f32_bitwise.wast:350
+assert_return(
+ () => invoke($0, `abs`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])],
+);
+
+// ./test/core/f32_bitwise.wast:351
+assert_return(
+ () => invoke($0, `abs`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])],
+);
+
+// ./test/core/f32_bitwise.wast:352
+assert_return(() => invoke($0, `neg`, [value("f32", -0)]), [value("f32", 0)]);
+
+// ./test/core/f32_bitwise.wast:353
+assert_return(() => invoke($0, `neg`, [value("f32", 0)]), [value("f32", -0)]);
+
+// ./test/core/f32_bitwise.wast:354
+assert_return(
+ () => invoke($0, `neg`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32_bitwise.wast:355
+assert_return(
+ () => invoke($0, `neg`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/f32_bitwise.wast:356
+assert_return(
+ () => invoke($0, `neg`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32_bitwise.wast:357
+assert_return(
+ () => invoke($0, `neg`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/f32_bitwise.wast:358
+assert_return(() => invoke($0, `neg`, [value("f32", -0.5)]), [value("f32", 0.5)]);
+
+// ./test/core/f32_bitwise.wast:359
+assert_return(() => invoke($0, `neg`, [value("f32", 0.5)]), [value("f32", -0.5)]);
+
+// ./test/core/f32_bitwise.wast:360
+assert_return(() => invoke($0, `neg`, [value("f32", -1)]), [value("f32", 1)]);
+
+// ./test/core/f32_bitwise.wast:361
+assert_return(() => invoke($0, `neg`, [value("f32", 1)]), [value("f32", -1)]);
+
+// ./test/core/f32_bitwise.wast:362
+assert_return(() => invoke($0, `neg`, [value("f32", -6.2831855)]), [value("f32", 6.2831855)]);
+
+// ./test/core/f32_bitwise.wast:363
+assert_return(() => invoke($0, `neg`, [value("f32", 6.2831855)]), [value("f32", -6.2831855)]);
+
+// ./test/core/f32_bitwise.wast:364
+assert_return(
+ () => invoke($0, `neg`, [value("f32", -340282350000000000000000000000000000000)]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32_bitwise.wast:365
+assert_return(
+ () => invoke($0, `neg`, [value("f32", 340282350000000000000000000000000000000)]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/f32_bitwise.wast:366
+assert_return(() => invoke($0, `neg`, [value("f32", -Infinity)]), [value("f32", Infinity)]);
+
+// ./test/core/f32_bitwise.wast:367
+assert_return(() => invoke($0, `neg`, [value("f32", Infinity)]), [value("f32", -Infinity)]);
+
+// ./test/core/f32_bitwise.wast:368
+assert_return(
+ () => invoke($0, `neg`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])],
+);
+
+// ./test/core/f32_bitwise.wast:369
+assert_return(
+ () => invoke($0, `neg`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0xff])],
+);
+
+// ./test/core/f32_bitwise.wast:374
+assert_invalid(
+ () => instantiate(`(module (func (result f32) (f32.copysign (i64.const 0) (f64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/f32_bitwise.wast:375
+assert_invalid(
+ () => instantiate(`(module (func (result f32) (f32.abs (i64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/f32_bitwise.wast:376
+assert_invalid(
+ () => instantiate(`(module (func (result f32) (f32.neg (i64.const 0))))`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/f32_cmp.wast.js b/js/src/jit-test/tests/wasm/spec/spec/f32_cmp.wast.js
new file mode 100644
index 0000000000..290c82783a
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/f32_cmp.wast.js
@@ -0,0 +1,17342 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/f32_cmp.wast
+
+// ./test/core/f32_cmp.wast:4
+let $0 = instantiate(`(module
+ (func (export "eq") (param $$x f32) (param $$y f32) (result i32) (f32.eq (local.get $$x) (local.get $$y)))
+ (func (export "ne") (param $$x f32) (param $$y f32) (result i32) (f32.ne (local.get $$x) (local.get $$y)))
+ (func (export "lt") (param $$x f32) (param $$y f32) (result i32) (f32.lt (local.get $$x) (local.get $$y)))
+ (func (export "le") (param $$x f32) (param $$y f32) (result i32) (f32.le (local.get $$x) (local.get $$y)))
+ (func (export "gt") (param $$x f32) (param $$y f32) (result i32) (f32.gt (local.get $$x) (local.get $$y)))
+ (func (export "ge") (param $$x f32) (param $$y f32) (result i32) (f32.ge (local.get $$x) (local.get $$y)))
+)`);
+
+// ./test/core/f32_cmp.wast:13
+assert_return(() => invoke($0, `eq`, [value("f32", -0), value("f32", -0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:14
+assert_return(() => invoke($0, `eq`, [value("f32", -0), value("f32", 0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:15
+assert_return(() => invoke($0, `eq`, [value("f32", 0), value("f32", -0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:16
+assert_return(() => invoke($0, `eq`, [value("f32", 0), value("f32", 0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:17
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -0),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:18
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -0),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:19
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 0),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:20
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 0),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:21
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -0),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:22
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -0),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:23
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 0),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:24
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 0),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:25
+assert_return(() => invoke($0, `eq`, [value("f32", -0), value("f32", -0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:26
+assert_return(() => invoke($0, `eq`, [value("f32", -0), value("f32", 0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:27
+assert_return(() => invoke($0, `eq`, [value("f32", 0), value("f32", -0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:28
+assert_return(() => invoke($0, `eq`, [value("f32", 0), value("f32", 0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:29
+assert_return(() => invoke($0, `eq`, [value("f32", -0), value("f32", -1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:30
+assert_return(() => invoke($0, `eq`, [value("f32", -0), value("f32", 1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:31
+assert_return(() => invoke($0, `eq`, [value("f32", 0), value("f32", -1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:32
+assert_return(() => invoke($0, `eq`, [value("f32", 0), value("f32", 1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:33
+assert_return(() => invoke($0, `eq`, [value("f32", -0), value("f32", -6.2831855)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:34
+assert_return(() => invoke($0, `eq`, [value("f32", -0), value("f32", 6.2831855)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:35
+assert_return(() => invoke($0, `eq`, [value("f32", 0), value("f32", -6.2831855)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:36
+assert_return(() => invoke($0, `eq`, [value("f32", 0), value("f32", 6.2831855)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:37
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -0),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:38
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -0),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:39
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 0),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:40
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 0),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:41
+assert_return(() => invoke($0, `eq`, [value("f32", -0), value("f32", -Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:42
+assert_return(() => invoke($0, `eq`, [value("f32", -0), value("f32", Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:43
+assert_return(() => invoke($0, `eq`, [value("f32", 0), value("f32", -Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:44
+assert_return(() => invoke($0, `eq`, [value("f32", 0), value("f32", Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:45
+assert_return(
+ () => invoke($0, `eq`, [value("f32", -0), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:46
+assert_return(
+ () => invoke($0, `eq`, [value("f32", -0), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:47
+assert_return(
+ () => invoke($0, `eq`, [value("f32", -0), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:48
+assert_return(
+ () => invoke($0, `eq`, [value("f32", -0), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:49
+assert_return(
+ () => invoke($0, `eq`, [value("f32", 0), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:50
+assert_return(
+ () => invoke($0, `eq`, [value("f32", 0), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:51
+assert_return(
+ () => invoke($0, `eq`, [value("f32", 0), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:52
+assert_return(
+ () => invoke($0, `eq`, [value("f32", 0), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:53
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:54
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:55
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:56
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:57
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:58
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:59
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:60
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:61
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:62
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:63
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:64
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:65
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:66
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:67
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:68
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:69
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:70
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:71
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:72
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:73
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:74
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:75
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:76
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:77
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:78
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:79
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:80
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:81
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:82
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:83
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:84
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:85
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:86
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:87
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:88
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:89
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:90
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:91
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:92
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:93
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:94
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:95
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:96
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:97
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:98
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:99
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:100
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:101
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:102
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:103
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:104
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:105
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:106
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:107
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:108
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:109
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:110
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:111
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:112
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:113
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:114
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:115
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:116
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:117
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:118
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:119
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:120
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:121
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:122
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:123
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:124
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:125
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:126
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:127
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:128
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:129
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:130
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:131
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:132
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:133
+assert_return(() => invoke($0, `eq`, [value("f32", -0.5), value("f32", -0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:134
+assert_return(() => invoke($0, `eq`, [value("f32", -0.5), value("f32", 0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:135
+assert_return(() => invoke($0, `eq`, [value("f32", 0.5), value("f32", -0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:136
+assert_return(() => invoke($0, `eq`, [value("f32", 0.5), value("f32", 0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:137
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -0.5),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:138
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -0.5),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:139
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 0.5),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:140
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 0.5),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:141
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -0.5),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:142
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -0.5),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:143
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 0.5),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:144
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 0.5),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:145
+assert_return(() => invoke($0, `eq`, [value("f32", -0.5), value("f32", -0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:146
+assert_return(() => invoke($0, `eq`, [value("f32", -0.5), value("f32", 0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:147
+assert_return(() => invoke($0, `eq`, [value("f32", 0.5), value("f32", -0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:148
+assert_return(() => invoke($0, `eq`, [value("f32", 0.5), value("f32", 0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:149
+assert_return(() => invoke($0, `eq`, [value("f32", -0.5), value("f32", -1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:150
+assert_return(() => invoke($0, `eq`, [value("f32", -0.5), value("f32", 1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:151
+assert_return(() => invoke($0, `eq`, [value("f32", 0.5), value("f32", -1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:152
+assert_return(() => invoke($0, `eq`, [value("f32", 0.5), value("f32", 1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:153
+assert_return(() => invoke($0, `eq`, [value("f32", -0.5), value("f32", -6.2831855)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:154
+assert_return(() => invoke($0, `eq`, [value("f32", -0.5), value("f32", 6.2831855)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:155
+assert_return(() => invoke($0, `eq`, [value("f32", 0.5), value("f32", -6.2831855)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:156
+assert_return(() => invoke($0, `eq`, [value("f32", 0.5), value("f32", 6.2831855)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:157
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -0.5),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:158
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -0.5),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:159
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 0.5),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:160
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 0.5),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:161
+assert_return(() => invoke($0, `eq`, [value("f32", -0.5), value("f32", -Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:162
+assert_return(() => invoke($0, `eq`, [value("f32", -0.5), value("f32", Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:163
+assert_return(() => invoke($0, `eq`, [value("f32", 0.5), value("f32", -Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:164
+assert_return(() => invoke($0, `eq`, [value("f32", 0.5), value("f32", Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:165
+assert_return(
+ () => invoke($0, `eq`, [value("f32", -0.5), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:166
+assert_return(
+ () => invoke($0, `eq`, [value("f32", -0.5), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:167
+assert_return(
+ () => invoke($0, `eq`, [value("f32", -0.5), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:168
+assert_return(
+ () => invoke($0, `eq`, [value("f32", -0.5), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:169
+assert_return(
+ () => invoke($0, `eq`, [value("f32", 0.5), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:170
+assert_return(
+ () => invoke($0, `eq`, [value("f32", 0.5), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:171
+assert_return(
+ () => invoke($0, `eq`, [value("f32", 0.5), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:172
+assert_return(
+ () => invoke($0, `eq`, [value("f32", 0.5), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:173
+assert_return(() => invoke($0, `eq`, [value("f32", -1), value("f32", -0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:174
+assert_return(() => invoke($0, `eq`, [value("f32", -1), value("f32", 0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:175
+assert_return(() => invoke($0, `eq`, [value("f32", 1), value("f32", -0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:176
+assert_return(() => invoke($0, `eq`, [value("f32", 1), value("f32", 0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:177
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -1),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:178
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -1),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:179
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 1),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:180
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 1),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:181
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -1),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:182
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -1),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:183
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 1),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:184
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 1),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:185
+assert_return(() => invoke($0, `eq`, [value("f32", -1), value("f32", -0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:186
+assert_return(() => invoke($0, `eq`, [value("f32", -1), value("f32", 0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:187
+assert_return(() => invoke($0, `eq`, [value("f32", 1), value("f32", -0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:188
+assert_return(() => invoke($0, `eq`, [value("f32", 1), value("f32", 0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:189
+assert_return(() => invoke($0, `eq`, [value("f32", -1), value("f32", -1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:190
+assert_return(() => invoke($0, `eq`, [value("f32", -1), value("f32", 1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:191
+assert_return(() => invoke($0, `eq`, [value("f32", 1), value("f32", -1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:192
+assert_return(() => invoke($0, `eq`, [value("f32", 1), value("f32", 1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:193
+assert_return(() => invoke($0, `eq`, [value("f32", -1), value("f32", -6.2831855)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:194
+assert_return(() => invoke($0, `eq`, [value("f32", -1), value("f32", 6.2831855)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:195
+assert_return(() => invoke($0, `eq`, [value("f32", 1), value("f32", -6.2831855)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:196
+assert_return(() => invoke($0, `eq`, [value("f32", 1), value("f32", 6.2831855)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:197
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -1),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:198
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -1),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:199
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 1),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:200
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 1),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:201
+assert_return(() => invoke($0, `eq`, [value("f32", -1), value("f32", -Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:202
+assert_return(() => invoke($0, `eq`, [value("f32", -1), value("f32", Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:203
+assert_return(() => invoke($0, `eq`, [value("f32", 1), value("f32", -Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:204
+assert_return(() => invoke($0, `eq`, [value("f32", 1), value("f32", Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:205
+assert_return(
+ () => invoke($0, `eq`, [value("f32", -1), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:206
+assert_return(
+ () => invoke($0, `eq`, [value("f32", -1), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:207
+assert_return(
+ () => invoke($0, `eq`, [value("f32", -1), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:208
+assert_return(
+ () => invoke($0, `eq`, [value("f32", -1), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:209
+assert_return(
+ () => invoke($0, `eq`, [value("f32", 1), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:210
+assert_return(
+ () => invoke($0, `eq`, [value("f32", 1), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:211
+assert_return(
+ () => invoke($0, `eq`, [value("f32", 1), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:212
+assert_return(
+ () => invoke($0, `eq`, [value("f32", 1), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:213
+assert_return(() => invoke($0, `eq`, [value("f32", -6.2831855), value("f32", -0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:214
+assert_return(() => invoke($0, `eq`, [value("f32", -6.2831855), value("f32", 0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:215
+assert_return(() => invoke($0, `eq`, [value("f32", 6.2831855), value("f32", -0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:216
+assert_return(() => invoke($0, `eq`, [value("f32", 6.2831855), value("f32", 0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:217
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -6.2831855),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:218
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -6.2831855),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:219
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 6.2831855),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:220
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 6.2831855),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:221
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -6.2831855),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:222
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -6.2831855),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:223
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 6.2831855),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:224
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 6.2831855),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:225
+assert_return(() => invoke($0, `eq`, [value("f32", -6.2831855), value("f32", -0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:226
+assert_return(() => invoke($0, `eq`, [value("f32", -6.2831855), value("f32", 0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:227
+assert_return(() => invoke($0, `eq`, [value("f32", 6.2831855), value("f32", -0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:228
+assert_return(() => invoke($0, `eq`, [value("f32", 6.2831855), value("f32", 0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:229
+assert_return(() => invoke($0, `eq`, [value("f32", -6.2831855), value("f32", -1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:230
+assert_return(() => invoke($0, `eq`, [value("f32", -6.2831855), value("f32", 1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:231
+assert_return(() => invoke($0, `eq`, [value("f32", 6.2831855), value("f32", -1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:232
+assert_return(() => invoke($0, `eq`, [value("f32", 6.2831855), value("f32", 1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:233
+assert_return(
+ () => invoke($0, `eq`, [value("f32", -6.2831855), value("f32", -6.2831855)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:234
+assert_return(
+ () => invoke($0, `eq`, [value("f32", -6.2831855), value("f32", 6.2831855)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:235
+assert_return(
+ () => invoke($0, `eq`, [value("f32", 6.2831855), value("f32", -6.2831855)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:236
+assert_return(
+ () => invoke($0, `eq`, [value("f32", 6.2831855), value("f32", 6.2831855)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:237
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -6.2831855),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:238
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -6.2831855),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:239
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 6.2831855),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:240
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 6.2831855),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:241
+assert_return(
+ () => invoke($0, `eq`, [value("f32", -6.2831855), value("f32", -Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:242
+assert_return(
+ () => invoke($0, `eq`, [value("f32", -6.2831855), value("f32", Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:243
+assert_return(
+ () => invoke($0, `eq`, [value("f32", 6.2831855), value("f32", -Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:244
+assert_return(
+ () => invoke($0, `eq`, [value("f32", 6.2831855), value("f32", Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:245
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -6.2831855),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:246
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -6.2831855),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:247
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -6.2831855),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:248
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -6.2831855),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:249
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 6.2831855),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:250
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 6.2831855),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:251
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 6.2831855),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:252
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 6.2831855),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:253
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:254
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:255
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:256
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:257
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:258
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:259
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:260
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:261
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:262
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:263
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:264
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:265
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:266
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:267
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:268
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:269
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:270
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:271
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:272
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:273
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:274
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:275
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:276
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:277
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:278
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:279
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:280
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:281
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:282
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:283
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:284
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:285
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:286
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:287
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:288
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:289
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:290
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:291
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:292
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", 340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:293
+assert_return(() => invoke($0, `eq`, [value("f32", -Infinity), value("f32", -0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:294
+assert_return(() => invoke($0, `eq`, [value("f32", -Infinity), value("f32", 0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:295
+assert_return(() => invoke($0, `eq`, [value("f32", Infinity), value("f32", -0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:296
+assert_return(() => invoke($0, `eq`, [value("f32", Infinity), value("f32", 0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:297
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -Infinity),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:298
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -Infinity),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:299
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", Infinity),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:300
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", Infinity),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:301
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -Infinity),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:302
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -Infinity),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:303
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", Infinity),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:304
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", Infinity),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:305
+assert_return(() => invoke($0, `eq`, [value("f32", -Infinity), value("f32", -0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:306
+assert_return(() => invoke($0, `eq`, [value("f32", -Infinity), value("f32", 0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:307
+assert_return(() => invoke($0, `eq`, [value("f32", Infinity), value("f32", -0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:308
+assert_return(() => invoke($0, `eq`, [value("f32", Infinity), value("f32", 0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:309
+assert_return(() => invoke($0, `eq`, [value("f32", -Infinity), value("f32", -1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:310
+assert_return(() => invoke($0, `eq`, [value("f32", -Infinity), value("f32", 1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:311
+assert_return(() => invoke($0, `eq`, [value("f32", Infinity), value("f32", -1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:312
+assert_return(() => invoke($0, `eq`, [value("f32", Infinity), value("f32", 1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:313
+assert_return(
+ () => invoke($0, `eq`, [value("f32", -Infinity), value("f32", -6.2831855)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:314
+assert_return(
+ () => invoke($0, `eq`, [value("f32", -Infinity), value("f32", 6.2831855)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:315
+assert_return(
+ () => invoke($0, `eq`, [value("f32", Infinity), value("f32", -6.2831855)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:316
+assert_return(
+ () => invoke($0, `eq`, [value("f32", Infinity), value("f32", 6.2831855)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:317
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -Infinity),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:318
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -Infinity),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:319
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", Infinity),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:320
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", Infinity),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:321
+assert_return(
+ () => invoke($0, `eq`, [value("f32", -Infinity), value("f32", -Infinity)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:322
+assert_return(
+ () => invoke($0, `eq`, [value("f32", -Infinity), value("f32", Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:323
+assert_return(
+ () => invoke($0, `eq`, [value("f32", Infinity), value("f32", -Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:324
+assert_return(
+ () => invoke($0, `eq`, [value("f32", Infinity), value("f32", Infinity)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:325
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -Infinity),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:326
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -Infinity),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:327
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -Infinity),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:328
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f32", -Infinity),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:329
+assert_return(
+ () => invoke($0, `eq`, [value("f32", Infinity), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:330
+assert_return(
+ () => invoke($0, `eq`, [value("f32", Infinity), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:331
+assert_return(
+ () => invoke($0, `eq`, [value("f32", Infinity), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:332
+assert_return(
+ () => invoke($0, `eq`, [value("f32", Infinity), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:333
+assert_return(
+ () => invoke($0, `eq`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", -0)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:334
+assert_return(
+ () => invoke($0, `eq`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", -0)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:335
+assert_return(
+ () => invoke($0, `eq`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", 0)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:336
+assert_return(
+ () => invoke($0, `eq`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", 0)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:337
+assert_return(
+ () => invoke($0, `eq`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", -0)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:338
+assert_return(
+ () => invoke($0, `eq`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", -0)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:339
+assert_return(
+ () => invoke($0, `eq`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", 0)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:340
+assert_return(
+ () => invoke($0, `eq`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", 0)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:341
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:342
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:343
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:344
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:345
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:346
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:347
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:348
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:349
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:350
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:351
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:352
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:353
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:354
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:355
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:356
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:357
+assert_return(
+ () => invoke($0, `eq`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", -0.5)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:358
+assert_return(
+ () => invoke($0, `eq`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", -0.5)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:359
+assert_return(
+ () => invoke($0, `eq`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", 0.5)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:360
+assert_return(
+ () => invoke($0, `eq`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", 0.5)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:361
+assert_return(
+ () => invoke($0, `eq`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", -0.5)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:362
+assert_return(
+ () => invoke($0, `eq`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", -0.5)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:363
+assert_return(
+ () => invoke($0, `eq`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", 0.5)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:364
+assert_return(
+ () => invoke($0, `eq`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", 0.5)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:365
+assert_return(
+ () => invoke($0, `eq`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", -1)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:366
+assert_return(
+ () => invoke($0, `eq`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", -1)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:367
+assert_return(
+ () => invoke($0, `eq`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", 1)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:368
+assert_return(
+ () => invoke($0, `eq`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", 1)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:369
+assert_return(
+ () => invoke($0, `eq`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", -1)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:370
+assert_return(
+ () => invoke($0, `eq`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", -1)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:371
+assert_return(
+ () => invoke($0, `eq`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", 1)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:372
+assert_return(
+ () => invoke($0, `eq`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", 1)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:373
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:374
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:375
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:376
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:377
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:378
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:379
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:380
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:381
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:382
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:383
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:384
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:385
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:386
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:387
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:388
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:389
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:390
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:391
+assert_return(
+ () => invoke($0, `eq`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:392
+assert_return(
+ () => invoke($0, `eq`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:393
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:394
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:395
+assert_return(
+ () => invoke($0, `eq`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:396
+assert_return(
+ () => invoke($0, `eq`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:397
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:398
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:399
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:400
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:401
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:402
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:403
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:404
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:405
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:406
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:407
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:408
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:409
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:410
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:411
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:412
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:413
+assert_return(() => invoke($0, `ne`, [value("f32", -0), value("f32", -0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:414
+assert_return(() => invoke($0, `ne`, [value("f32", -0), value("f32", 0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:415
+assert_return(() => invoke($0, `ne`, [value("f32", 0), value("f32", -0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:416
+assert_return(() => invoke($0, `ne`, [value("f32", 0), value("f32", 0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:417
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -0),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:418
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -0),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:419
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 0),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:420
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 0),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:421
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -0),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:422
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -0),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:423
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 0),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:424
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 0),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:425
+assert_return(() => invoke($0, `ne`, [value("f32", -0), value("f32", -0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:426
+assert_return(() => invoke($0, `ne`, [value("f32", -0), value("f32", 0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:427
+assert_return(() => invoke($0, `ne`, [value("f32", 0), value("f32", -0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:428
+assert_return(() => invoke($0, `ne`, [value("f32", 0), value("f32", 0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:429
+assert_return(() => invoke($0, `ne`, [value("f32", -0), value("f32", -1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:430
+assert_return(() => invoke($0, `ne`, [value("f32", -0), value("f32", 1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:431
+assert_return(() => invoke($0, `ne`, [value("f32", 0), value("f32", -1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:432
+assert_return(() => invoke($0, `ne`, [value("f32", 0), value("f32", 1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:433
+assert_return(() => invoke($0, `ne`, [value("f32", -0), value("f32", -6.2831855)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:434
+assert_return(() => invoke($0, `ne`, [value("f32", -0), value("f32", 6.2831855)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:435
+assert_return(() => invoke($0, `ne`, [value("f32", 0), value("f32", -6.2831855)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:436
+assert_return(() => invoke($0, `ne`, [value("f32", 0), value("f32", 6.2831855)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:437
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -0),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:438
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -0),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:439
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 0),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:440
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 0),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:441
+assert_return(() => invoke($0, `ne`, [value("f32", -0), value("f32", -Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:442
+assert_return(() => invoke($0, `ne`, [value("f32", -0), value("f32", Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:443
+assert_return(() => invoke($0, `ne`, [value("f32", 0), value("f32", -Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:444
+assert_return(() => invoke($0, `ne`, [value("f32", 0), value("f32", Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:445
+assert_return(
+ () => invoke($0, `ne`, [value("f32", -0), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:446
+assert_return(
+ () => invoke($0, `ne`, [value("f32", -0), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:447
+assert_return(
+ () => invoke($0, `ne`, [value("f32", -0), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:448
+assert_return(
+ () => invoke($0, `ne`, [value("f32", -0), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:449
+assert_return(
+ () => invoke($0, `ne`, [value("f32", 0), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:450
+assert_return(
+ () => invoke($0, `ne`, [value("f32", 0), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:451
+assert_return(
+ () => invoke($0, `ne`, [value("f32", 0), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:452
+assert_return(
+ () => invoke($0, `ne`, [value("f32", 0), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:453
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:454
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:455
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:456
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:457
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:458
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:459
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:460
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:461
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:462
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:463
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:464
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:465
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:466
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:467
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:468
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:469
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:470
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:471
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:472
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:473
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:474
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:475
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:476
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:477
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:478
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:479
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:480
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:481
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:482
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:483
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:484
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:485
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:486
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:487
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:488
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:489
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:490
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:491
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:492
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:493
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:494
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:495
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:496
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:497
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:498
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:499
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:500
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:501
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:502
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:503
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:504
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:505
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:506
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:507
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:508
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:509
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:510
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:511
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:512
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:513
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:514
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:515
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:516
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:517
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:518
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:519
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:520
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:521
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:522
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:523
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:524
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:525
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:526
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:527
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:528
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:529
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:530
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:531
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:532
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:533
+assert_return(() => invoke($0, `ne`, [value("f32", -0.5), value("f32", -0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:534
+assert_return(() => invoke($0, `ne`, [value("f32", -0.5), value("f32", 0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:535
+assert_return(() => invoke($0, `ne`, [value("f32", 0.5), value("f32", -0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:536
+assert_return(() => invoke($0, `ne`, [value("f32", 0.5), value("f32", 0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:537
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -0.5),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:538
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -0.5),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:539
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 0.5),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:540
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 0.5),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:541
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -0.5),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:542
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -0.5),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:543
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 0.5),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:544
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 0.5),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:545
+assert_return(() => invoke($0, `ne`, [value("f32", -0.5), value("f32", -0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:546
+assert_return(() => invoke($0, `ne`, [value("f32", -0.5), value("f32", 0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:547
+assert_return(() => invoke($0, `ne`, [value("f32", 0.5), value("f32", -0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:548
+assert_return(() => invoke($0, `ne`, [value("f32", 0.5), value("f32", 0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:549
+assert_return(() => invoke($0, `ne`, [value("f32", -0.5), value("f32", -1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:550
+assert_return(() => invoke($0, `ne`, [value("f32", -0.5), value("f32", 1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:551
+assert_return(() => invoke($0, `ne`, [value("f32", 0.5), value("f32", -1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:552
+assert_return(() => invoke($0, `ne`, [value("f32", 0.5), value("f32", 1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:553
+assert_return(() => invoke($0, `ne`, [value("f32", -0.5), value("f32", -6.2831855)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:554
+assert_return(() => invoke($0, `ne`, [value("f32", -0.5), value("f32", 6.2831855)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:555
+assert_return(() => invoke($0, `ne`, [value("f32", 0.5), value("f32", -6.2831855)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:556
+assert_return(() => invoke($0, `ne`, [value("f32", 0.5), value("f32", 6.2831855)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:557
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -0.5),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:558
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -0.5),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:559
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 0.5),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:560
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 0.5),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:561
+assert_return(() => invoke($0, `ne`, [value("f32", -0.5), value("f32", -Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:562
+assert_return(() => invoke($0, `ne`, [value("f32", -0.5), value("f32", Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:563
+assert_return(() => invoke($0, `ne`, [value("f32", 0.5), value("f32", -Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:564
+assert_return(() => invoke($0, `ne`, [value("f32", 0.5), value("f32", Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:565
+assert_return(
+ () => invoke($0, `ne`, [value("f32", -0.5), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:566
+assert_return(
+ () => invoke($0, `ne`, [value("f32", -0.5), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:567
+assert_return(
+ () => invoke($0, `ne`, [value("f32", -0.5), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:568
+assert_return(
+ () => invoke($0, `ne`, [value("f32", -0.5), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:569
+assert_return(
+ () => invoke($0, `ne`, [value("f32", 0.5), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:570
+assert_return(
+ () => invoke($0, `ne`, [value("f32", 0.5), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:571
+assert_return(
+ () => invoke($0, `ne`, [value("f32", 0.5), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:572
+assert_return(
+ () => invoke($0, `ne`, [value("f32", 0.5), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:573
+assert_return(() => invoke($0, `ne`, [value("f32", -1), value("f32", -0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:574
+assert_return(() => invoke($0, `ne`, [value("f32", -1), value("f32", 0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:575
+assert_return(() => invoke($0, `ne`, [value("f32", 1), value("f32", -0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:576
+assert_return(() => invoke($0, `ne`, [value("f32", 1), value("f32", 0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:577
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -1),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:578
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -1),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:579
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 1),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:580
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 1),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:581
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -1),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:582
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -1),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:583
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 1),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:584
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 1),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:585
+assert_return(() => invoke($0, `ne`, [value("f32", -1), value("f32", -0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:586
+assert_return(() => invoke($0, `ne`, [value("f32", -1), value("f32", 0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:587
+assert_return(() => invoke($0, `ne`, [value("f32", 1), value("f32", -0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:588
+assert_return(() => invoke($0, `ne`, [value("f32", 1), value("f32", 0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:589
+assert_return(() => invoke($0, `ne`, [value("f32", -1), value("f32", -1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:590
+assert_return(() => invoke($0, `ne`, [value("f32", -1), value("f32", 1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:591
+assert_return(() => invoke($0, `ne`, [value("f32", 1), value("f32", -1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:592
+assert_return(() => invoke($0, `ne`, [value("f32", 1), value("f32", 1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:593
+assert_return(() => invoke($0, `ne`, [value("f32", -1), value("f32", -6.2831855)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:594
+assert_return(() => invoke($0, `ne`, [value("f32", -1), value("f32", 6.2831855)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:595
+assert_return(() => invoke($0, `ne`, [value("f32", 1), value("f32", -6.2831855)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:596
+assert_return(() => invoke($0, `ne`, [value("f32", 1), value("f32", 6.2831855)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:597
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -1),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:598
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -1),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:599
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 1),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:600
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 1),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:601
+assert_return(() => invoke($0, `ne`, [value("f32", -1), value("f32", -Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:602
+assert_return(() => invoke($0, `ne`, [value("f32", -1), value("f32", Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:603
+assert_return(() => invoke($0, `ne`, [value("f32", 1), value("f32", -Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:604
+assert_return(() => invoke($0, `ne`, [value("f32", 1), value("f32", Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:605
+assert_return(
+ () => invoke($0, `ne`, [value("f32", -1), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:606
+assert_return(
+ () => invoke($0, `ne`, [value("f32", -1), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:607
+assert_return(
+ () => invoke($0, `ne`, [value("f32", -1), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:608
+assert_return(
+ () => invoke($0, `ne`, [value("f32", -1), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:609
+assert_return(
+ () => invoke($0, `ne`, [value("f32", 1), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:610
+assert_return(
+ () => invoke($0, `ne`, [value("f32", 1), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:611
+assert_return(
+ () => invoke($0, `ne`, [value("f32", 1), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:612
+assert_return(
+ () => invoke($0, `ne`, [value("f32", 1), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:613
+assert_return(() => invoke($0, `ne`, [value("f32", -6.2831855), value("f32", -0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:614
+assert_return(() => invoke($0, `ne`, [value("f32", -6.2831855), value("f32", 0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:615
+assert_return(() => invoke($0, `ne`, [value("f32", 6.2831855), value("f32", -0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:616
+assert_return(() => invoke($0, `ne`, [value("f32", 6.2831855), value("f32", 0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:617
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -6.2831855),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:618
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -6.2831855),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:619
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 6.2831855),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:620
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 6.2831855),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:621
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -6.2831855),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:622
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -6.2831855),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:623
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 6.2831855),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:624
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 6.2831855),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:625
+assert_return(() => invoke($0, `ne`, [value("f32", -6.2831855), value("f32", -0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:626
+assert_return(() => invoke($0, `ne`, [value("f32", -6.2831855), value("f32", 0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:627
+assert_return(() => invoke($0, `ne`, [value("f32", 6.2831855), value("f32", -0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:628
+assert_return(() => invoke($0, `ne`, [value("f32", 6.2831855), value("f32", 0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:629
+assert_return(() => invoke($0, `ne`, [value("f32", -6.2831855), value("f32", -1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:630
+assert_return(() => invoke($0, `ne`, [value("f32", -6.2831855), value("f32", 1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:631
+assert_return(() => invoke($0, `ne`, [value("f32", 6.2831855), value("f32", -1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:632
+assert_return(() => invoke($0, `ne`, [value("f32", 6.2831855), value("f32", 1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:633
+assert_return(
+ () => invoke($0, `ne`, [value("f32", -6.2831855), value("f32", -6.2831855)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:634
+assert_return(
+ () => invoke($0, `ne`, [value("f32", -6.2831855), value("f32", 6.2831855)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:635
+assert_return(
+ () => invoke($0, `ne`, [value("f32", 6.2831855), value("f32", -6.2831855)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:636
+assert_return(
+ () => invoke($0, `ne`, [value("f32", 6.2831855), value("f32", 6.2831855)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:637
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -6.2831855),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:638
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -6.2831855),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:639
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 6.2831855),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:640
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 6.2831855),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:641
+assert_return(
+ () => invoke($0, `ne`, [value("f32", -6.2831855), value("f32", -Infinity)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:642
+assert_return(
+ () => invoke($0, `ne`, [value("f32", -6.2831855), value("f32", Infinity)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:643
+assert_return(
+ () => invoke($0, `ne`, [value("f32", 6.2831855), value("f32", -Infinity)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:644
+assert_return(
+ () => invoke($0, `ne`, [value("f32", 6.2831855), value("f32", Infinity)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:645
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -6.2831855),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:646
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -6.2831855),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:647
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -6.2831855),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:648
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -6.2831855),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:649
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 6.2831855),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:650
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 6.2831855),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:651
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 6.2831855),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:652
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 6.2831855),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:653
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:654
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:655
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:656
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:657
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:658
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:659
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:660
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:661
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:662
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:663
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:664
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:665
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:666
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:667
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:668
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:669
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:670
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:671
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:672
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:673
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:674
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:675
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:676
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:677
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:678
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:679
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:680
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:681
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:682
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:683
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:684
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:685
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:686
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:687
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:688
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:689
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:690
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:691
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:692
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", 340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:693
+assert_return(() => invoke($0, `ne`, [value("f32", -Infinity), value("f32", -0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:694
+assert_return(() => invoke($0, `ne`, [value("f32", -Infinity), value("f32", 0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:695
+assert_return(() => invoke($0, `ne`, [value("f32", Infinity), value("f32", -0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:696
+assert_return(() => invoke($0, `ne`, [value("f32", Infinity), value("f32", 0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:697
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -Infinity),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:698
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -Infinity),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:699
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", Infinity),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:700
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", Infinity),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:701
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -Infinity),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:702
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -Infinity),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:703
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", Infinity),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:704
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", Infinity),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:705
+assert_return(() => invoke($0, `ne`, [value("f32", -Infinity), value("f32", -0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:706
+assert_return(() => invoke($0, `ne`, [value("f32", -Infinity), value("f32", 0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:707
+assert_return(() => invoke($0, `ne`, [value("f32", Infinity), value("f32", -0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:708
+assert_return(() => invoke($0, `ne`, [value("f32", Infinity), value("f32", 0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:709
+assert_return(() => invoke($0, `ne`, [value("f32", -Infinity), value("f32", -1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:710
+assert_return(() => invoke($0, `ne`, [value("f32", -Infinity), value("f32", 1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:711
+assert_return(() => invoke($0, `ne`, [value("f32", Infinity), value("f32", -1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:712
+assert_return(() => invoke($0, `ne`, [value("f32", Infinity), value("f32", 1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:713
+assert_return(
+ () => invoke($0, `ne`, [value("f32", -Infinity), value("f32", -6.2831855)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:714
+assert_return(
+ () => invoke($0, `ne`, [value("f32", -Infinity), value("f32", 6.2831855)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:715
+assert_return(
+ () => invoke($0, `ne`, [value("f32", Infinity), value("f32", -6.2831855)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:716
+assert_return(
+ () => invoke($0, `ne`, [value("f32", Infinity), value("f32", 6.2831855)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:717
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -Infinity),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:718
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -Infinity),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:719
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", Infinity),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:720
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", Infinity),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:721
+assert_return(
+ () => invoke($0, `ne`, [value("f32", -Infinity), value("f32", -Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:722
+assert_return(
+ () => invoke($0, `ne`, [value("f32", -Infinity), value("f32", Infinity)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:723
+assert_return(
+ () => invoke($0, `ne`, [value("f32", Infinity), value("f32", -Infinity)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:724
+assert_return(
+ () => invoke($0, `ne`, [value("f32", Infinity), value("f32", Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:725
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -Infinity),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:726
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -Infinity),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:727
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -Infinity),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:728
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f32", -Infinity),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:729
+assert_return(
+ () => invoke($0, `ne`, [value("f32", Infinity), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:730
+assert_return(
+ () => invoke($0, `ne`, [value("f32", Infinity), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:731
+assert_return(
+ () => invoke($0, `ne`, [value("f32", Infinity), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:732
+assert_return(
+ () => invoke($0, `ne`, [value("f32", Infinity), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:733
+assert_return(
+ () => invoke($0, `ne`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", -0)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:734
+assert_return(
+ () => invoke($0, `ne`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", -0)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:735
+assert_return(
+ () => invoke($0, `ne`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", 0)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:736
+assert_return(
+ () => invoke($0, `ne`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", 0)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:737
+assert_return(
+ () => invoke($0, `ne`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", -0)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:738
+assert_return(
+ () => invoke($0, `ne`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", -0)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:739
+assert_return(
+ () => invoke($0, `ne`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", 0)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:740
+assert_return(
+ () => invoke($0, `ne`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", 0)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:741
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:742
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:743
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:744
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:745
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:746
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:747
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:748
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:749
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:750
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:751
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:752
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:753
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:754
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:755
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:756
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:757
+assert_return(
+ () => invoke($0, `ne`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", -0.5)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:758
+assert_return(
+ () => invoke($0, `ne`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", -0.5)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:759
+assert_return(
+ () => invoke($0, `ne`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", 0.5)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:760
+assert_return(
+ () => invoke($0, `ne`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", 0.5)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:761
+assert_return(
+ () => invoke($0, `ne`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", -0.5)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:762
+assert_return(
+ () => invoke($0, `ne`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", -0.5)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:763
+assert_return(
+ () => invoke($0, `ne`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", 0.5)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:764
+assert_return(
+ () => invoke($0, `ne`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", 0.5)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:765
+assert_return(
+ () => invoke($0, `ne`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", -1)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:766
+assert_return(
+ () => invoke($0, `ne`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", -1)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:767
+assert_return(
+ () => invoke($0, `ne`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", 1)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:768
+assert_return(
+ () => invoke($0, `ne`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", 1)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:769
+assert_return(
+ () => invoke($0, `ne`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", -1)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:770
+assert_return(
+ () => invoke($0, `ne`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", -1)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:771
+assert_return(
+ () => invoke($0, `ne`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", 1)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:772
+assert_return(
+ () => invoke($0, `ne`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", 1)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:773
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:774
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:775
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:776
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:777
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:778
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:779
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:780
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:781
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:782
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:783
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:784
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:785
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:786
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:787
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:788
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:789
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:790
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:791
+assert_return(
+ () => invoke($0, `ne`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", Infinity)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:792
+assert_return(
+ () => invoke($0, `ne`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", Infinity)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:793
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:794
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:795
+assert_return(
+ () => invoke($0, `ne`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", Infinity)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:796
+assert_return(
+ () => invoke($0, `ne`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", Infinity)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:797
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:798
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:799
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:800
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:801
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:802
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:803
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:804
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:805
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:806
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:807
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:808
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:809
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:810
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:811
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:812
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:813
+assert_return(() => invoke($0, `lt`, [value("f32", -0), value("f32", -0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:814
+assert_return(() => invoke($0, `lt`, [value("f32", -0), value("f32", 0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:815
+assert_return(() => invoke($0, `lt`, [value("f32", 0), value("f32", -0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:816
+assert_return(() => invoke($0, `lt`, [value("f32", 0), value("f32", 0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:817
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -0),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:818
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -0),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:819
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 0),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:820
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 0),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:821
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -0),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:822
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -0),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:823
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 0),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:824
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 0),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:825
+assert_return(() => invoke($0, `lt`, [value("f32", -0), value("f32", -0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:826
+assert_return(() => invoke($0, `lt`, [value("f32", -0), value("f32", 0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:827
+assert_return(() => invoke($0, `lt`, [value("f32", 0), value("f32", -0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:828
+assert_return(() => invoke($0, `lt`, [value("f32", 0), value("f32", 0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:829
+assert_return(() => invoke($0, `lt`, [value("f32", -0), value("f32", -1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:830
+assert_return(() => invoke($0, `lt`, [value("f32", -0), value("f32", 1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:831
+assert_return(() => invoke($0, `lt`, [value("f32", 0), value("f32", -1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:832
+assert_return(() => invoke($0, `lt`, [value("f32", 0), value("f32", 1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:833
+assert_return(() => invoke($0, `lt`, [value("f32", -0), value("f32", -6.2831855)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:834
+assert_return(() => invoke($0, `lt`, [value("f32", -0), value("f32", 6.2831855)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:835
+assert_return(() => invoke($0, `lt`, [value("f32", 0), value("f32", -6.2831855)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:836
+assert_return(() => invoke($0, `lt`, [value("f32", 0), value("f32", 6.2831855)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:837
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -0),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:838
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -0),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:839
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 0),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:840
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 0),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:841
+assert_return(() => invoke($0, `lt`, [value("f32", -0), value("f32", -Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:842
+assert_return(() => invoke($0, `lt`, [value("f32", -0), value("f32", Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:843
+assert_return(() => invoke($0, `lt`, [value("f32", 0), value("f32", -Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:844
+assert_return(() => invoke($0, `lt`, [value("f32", 0), value("f32", Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:845
+assert_return(
+ () => invoke($0, `lt`, [value("f32", -0), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:846
+assert_return(
+ () => invoke($0, `lt`, [value("f32", -0), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:847
+assert_return(
+ () => invoke($0, `lt`, [value("f32", -0), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:848
+assert_return(
+ () => invoke($0, `lt`, [value("f32", -0), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:849
+assert_return(
+ () => invoke($0, `lt`, [value("f32", 0), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:850
+assert_return(
+ () => invoke($0, `lt`, [value("f32", 0), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:851
+assert_return(
+ () => invoke($0, `lt`, [value("f32", 0), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:852
+assert_return(
+ () => invoke($0, `lt`, [value("f32", 0), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:853
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:854
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:855
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:856
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:857
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:858
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:859
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:860
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:861
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:862
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:863
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:864
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:865
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:866
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:867
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:868
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:869
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:870
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:871
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:872
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:873
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:874
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:875
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:876
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:877
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:878
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:879
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:880
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:881
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:882
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:883
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:884
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:885
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:886
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:887
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:888
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:889
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:890
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:891
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:892
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:893
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:894
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:895
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:896
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:897
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:898
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:899
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:900
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:901
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:902
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:903
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:904
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:905
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:906
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:907
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:908
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:909
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:910
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:911
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:912
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:913
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:914
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:915
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:916
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:917
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:918
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:919
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:920
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:921
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:922
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:923
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:924
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:925
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:926
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:927
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:928
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:929
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:930
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:931
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:932
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:933
+assert_return(() => invoke($0, `lt`, [value("f32", -0.5), value("f32", -0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:934
+assert_return(() => invoke($0, `lt`, [value("f32", -0.5), value("f32", 0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:935
+assert_return(() => invoke($0, `lt`, [value("f32", 0.5), value("f32", -0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:936
+assert_return(() => invoke($0, `lt`, [value("f32", 0.5), value("f32", 0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:937
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -0.5),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:938
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -0.5),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:939
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 0.5),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:940
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 0.5),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:941
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -0.5),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:942
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -0.5),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:943
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 0.5),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:944
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 0.5),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:945
+assert_return(() => invoke($0, `lt`, [value("f32", -0.5), value("f32", -0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:946
+assert_return(() => invoke($0, `lt`, [value("f32", -0.5), value("f32", 0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:947
+assert_return(() => invoke($0, `lt`, [value("f32", 0.5), value("f32", -0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:948
+assert_return(() => invoke($0, `lt`, [value("f32", 0.5), value("f32", 0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:949
+assert_return(() => invoke($0, `lt`, [value("f32", -0.5), value("f32", -1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:950
+assert_return(() => invoke($0, `lt`, [value("f32", -0.5), value("f32", 1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:951
+assert_return(() => invoke($0, `lt`, [value("f32", 0.5), value("f32", -1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:952
+assert_return(() => invoke($0, `lt`, [value("f32", 0.5), value("f32", 1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:953
+assert_return(() => invoke($0, `lt`, [value("f32", -0.5), value("f32", -6.2831855)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:954
+assert_return(() => invoke($0, `lt`, [value("f32", -0.5), value("f32", 6.2831855)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:955
+assert_return(() => invoke($0, `lt`, [value("f32", 0.5), value("f32", -6.2831855)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:956
+assert_return(() => invoke($0, `lt`, [value("f32", 0.5), value("f32", 6.2831855)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:957
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -0.5),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:958
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -0.5),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:959
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 0.5),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:960
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 0.5),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:961
+assert_return(() => invoke($0, `lt`, [value("f32", -0.5), value("f32", -Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:962
+assert_return(() => invoke($0, `lt`, [value("f32", -0.5), value("f32", Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:963
+assert_return(() => invoke($0, `lt`, [value("f32", 0.5), value("f32", -Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:964
+assert_return(() => invoke($0, `lt`, [value("f32", 0.5), value("f32", Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:965
+assert_return(
+ () => invoke($0, `lt`, [value("f32", -0.5), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:966
+assert_return(
+ () => invoke($0, `lt`, [value("f32", -0.5), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:967
+assert_return(
+ () => invoke($0, `lt`, [value("f32", -0.5), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:968
+assert_return(
+ () => invoke($0, `lt`, [value("f32", -0.5), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:969
+assert_return(
+ () => invoke($0, `lt`, [value("f32", 0.5), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:970
+assert_return(
+ () => invoke($0, `lt`, [value("f32", 0.5), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:971
+assert_return(
+ () => invoke($0, `lt`, [value("f32", 0.5), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:972
+assert_return(
+ () => invoke($0, `lt`, [value("f32", 0.5), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:973
+assert_return(() => invoke($0, `lt`, [value("f32", -1), value("f32", -0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:974
+assert_return(() => invoke($0, `lt`, [value("f32", -1), value("f32", 0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:975
+assert_return(() => invoke($0, `lt`, [value("f32", 1), value("f32", -0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:976
+assert_return(() => invoke($0, `lt`, [value("f32", 1), value("f32", 0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:977
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -1),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:978
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -1),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:979
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 1),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:980
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 1),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:981
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -1),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:982
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -1),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:983
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 1),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:984
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 1),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:985
+assert_return(() => invoke($0, `lt`, [value("f32", -1), value("f32", -0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:986
+assert_return(() => invoke($0, `lt`, [value("f32", -1), value("f32", 0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:987
+assert_return(() => invoke($0, `lt`, [value("f32", 1), value("f32", -0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:988
+assert_return(() => invoke($0, `lt`, [value("f32", 1), value("f32", 0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:989
+assert_return(() => invoke($0, `lt`, [value("f32", -1), value("f32", -1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:990
+assert_return(() => invoke($0, `lt`, [value("f32", -1), value("f32", 1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:991
+assert_return(() => invoke($0, `lt`, [value("f32", 1), value("f32", -1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:992
+assert_return(() => invoke($0, `lt`, [value("f32", 1), value("f32", 1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:993
+assert_return(() => invoke($0, `lt`, [value("f32", -1), value("f32", -6.2831855)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:994
+assert_return(() => invoke($0, `lt`, [value("f32", -1), value("f32", 6.2831855)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:995
+assert_return(() => invoke($0, `lt`, [value("f32", 1), value("f32", -6.2831855)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:996
+assert_return(() => invoke($0, `lt`, [value("f32", 1), value("f32", 6.2831855)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:997
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -1),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:998
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -1),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:999
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 1),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1000
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 1),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1001
+assert_return(() => invoke($0, `lt`, [value("f32", -1), value("f32", -Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1002
+assert_return(() => invoke($0, `lt`, [value("f32", -1), value("f32", Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1003
+assert_return(() => invoke($0, `lt`, [value("f32", 1), value("f32", -Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1004
+assert_return(() => invoke($0, `lt`, [value("f32", 1), value("f32", Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1005
+assert_return(
+ () => invoke($0, `lt`, [value("f32", -1), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1006
+assert_return(
+ () => invoke($0, `lt`, [value("f32", -1), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1007
+assert_return(
+ () => invoke($0, `lt`, [value("f32", -1), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1008
+assert_return(
+ () => invoke($0, `lt`, [value("f32", -1), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1009
+assert_return(
+ () => invoke($0, `lt`, [value("f32", 1), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1010
+assert_return(
+ () => invoke($0, `lt`, [value("f32", 1), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1011
+assert_return(
+ () => invoke($0, `lt`, [value("f32", 1), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1012
+assert_return(
+ () => invoke($0, `lt`, [value("f32", 1), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1013
+assert_return(() => invoke($0, `lt`, [value("f32", -6.2831855), value("f32", -0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1014
+assert_return(() => invoke($0, `lt`, [value("f32", -6.2831855), value("f32", 0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1015
+assert_return(() => invoke($0, `lt`, [value("f32", 6.2831855), value("f32", -0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1016
+assert_return(() => invoke($0, `lt`, [value("f32", 6.2831855), value("f32", 0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1017
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -6.2831855),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1018
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -6.2831855),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1019
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 6.2831855),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1020
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 6.2831855),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1021
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -6.2831855),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1022
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -6.2831855),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1023
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 6.2831855),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1024
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 6.2831855),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1025
+assert_return(() => invoke($0, `lt`, [value("f32", -6.2831855), value("f32", -0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1026
+assert_return(() => invoke($0, `lt`, [value("f32", -6.2831855), value("f32", 0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1027
+assert_return(() => invoke($0, `lt`, [value("f32", 6.2831855), value("f32", -0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1028
+assert_return(() => invoke($0, `lt`, [value("f32", 6.2831855), value("f32", 0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1029
+assert_return(() => invoke($0, `lt`, [value("f32", -6.2831855), value("f32", -1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1030
+assert_return(() => invoke($0, `lt`, [value("f32", -6.2831855), value("f32", 1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1031
+assert_return(() => invoke($0, `lt`, [value("f32", 6.2831855), value("f32", -1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1032
+assert_return(() => invoke($0, `lt`, [value("f32", 6.2831855), value("f32", 1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1033
+assert_return(
+ () => invoke($0, `lt`, [value("f32", -6.2831855), value("f32", -6.2831855)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1034
+assert_return(
+ () => invoke($0, `lt`, [value("f32", -6.2831855), value("f32", 6.2831855)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1035
+assert_return(
+ () => invoke($0, `lt`, [value("f32", 6.2831855), value("f32", -6.2831855)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1036
+assert_return(
+ () => invoke($0, `lt`, [value("f32", 6.2831855), value("f32", 6.2831855)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1037
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -6.2831855),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1038
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -6.2831855),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1039
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 6.2831855),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1040
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 6.2831855),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1041
+assert_return(
+ () => invoke($0, `lt`, [value("f32", -6.2831855), value("f32", -Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1042
+assert_return(
+ () => invoke($0, `lt`, [value("f32", -6.2831855), value("f32", Infinity)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1043
+assert_return(
+ () => invoke($0, `lt`, [value("f32", 6.2831855), value("f32", -Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1044
+assert_return(
+ () => invoke($0, `lt`, [value("f32", 6.2831855), value("f32", Infinity)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1045
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -6.2831855),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1046
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -6.2831855),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1047
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -6.2831855),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1048
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -6.2831855),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1049
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 6.2831855),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1050
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 6.2831855),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1051
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 6.2831855),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1052
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 6.2831855),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1053
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1054
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1055
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1056
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1057
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1058
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1059
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1060
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1061
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1062
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1063
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1064
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1065
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1066
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1067
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1068
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1069
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1070
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1071
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1072
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1073
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1074
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1075
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1076
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1077
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1078
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1079
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1080
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1081
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1082
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1083
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1084
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1085
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1086
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1087
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1088
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1089
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1090
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1091
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1092
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", 340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1093
+assert_return(() => invoke($0, `lt`, [value("f32", -Infinity), value("f32", -0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1094
+assert_return(() => invoke($0, `lt`, [value("f32", -Infinity), value("f32", 0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1095
+assert_return(() => invoke($0, `lt`, [value("f32", Infinity), value("f32", -0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1096
+assert_return(() => invoke($0, `lt`, [value("f32", Infinity), value("f32", 0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1097
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -Infinity),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1098
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -Infinity),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1099
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", Infinity),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1100
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", Infinity),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1101
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -Infinity),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1102
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -Infinity),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1103
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", Infinity),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1104
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", Infinity),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1105
+assert_return(() => invoke($0, `lt`, [value("f32", -Infinity), value("f32", -0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1106
+assert_return(() => invoke($0, `lt`, [value("f32", -Infinity), value("f32", 0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1107
+assert_return(() => invoke($0, `lt`, [value("f32", Infinity), value("f32", -0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1108
+assert_return(() => invoke($0, `lt`, [value("f32", Infinity), value("f32", 0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1109
+assert_return(() => invoke($0, `lt`, [value("f32", -Infinity), value("f32", -1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1110
+assert_return(() => invoke($0, `lt`, [value("f32", -Infinity), value("f32", 1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1111
+assert_return(() => invoke($0, `lt`, [value("f32", Infinity), value("f32", -1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1112
+assert_return(() => invoke($0, `lt`, [value("f32", Infinity), value("f32", 1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1113
+assert_return(
+ () => invoke($0, `lt`, [value("f32", -Infinity), value("f32", -6.2831855)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1114
+assert_return(
+ () => invoke($0, `lt`, [value("f32", -Infinity), value("f32", 6.2831855)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1115
+assert_return(
+ () => invoke($0, `lt`, [value("f32", Infinity), value("f32", -6.2831855)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1116
+assert_return(
+ () => invoke($0, `lt`, [value("f32", Infinity), value("f32", 6.2831855)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1117
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -Infinity),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1118
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -Infinity),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1119
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", Infinity),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1120
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", Infinity),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1121
+assert_return(
+ () => invoke($0, `lt`, [value("f32", -Infinity), value("f32", -Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1122
+assert_return(
+ () => invoke($0, `lt`, [value("f32", -Infinity), value("f32", Infinity)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1123
+assert_return(
+ () => invoke($0, `lt`, [value("f32", Infinity), value("f32", -Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1124
+assert_return(
+ () => invoke($0, `lt`, [value("f32", Infinity), value("f32", Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1125
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -Infinity),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1126
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -Infinity),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1127
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -Infinity),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1128
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f32", -Infinity),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1129
+assert_return(
+ () => invoke($0, `lt`, [value("f32", Infinity), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1130
+assert_return(
+ () => invoke($0, `lt`, [value("f32", Infinity), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1131
+assert_return(
+ () => invoke($0, `lt`, [value("f32", Infinity), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1132
+assert_return(
+ () => invoke($0, `lt`, [value("f32", Infinity), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1133
+assert_return(
+ () => invoke($0, `lt`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", -0)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1134
+assert_return(
+ () => invoke($0, `lt`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", -0)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1135
+assert_return(
+ () => invoke($0, `lt`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", 0)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1136
+assert_return(
+ () => invoke($0, `lt`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", 0)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1137
+assert_return(
+ () => invoke($0, `lt`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", -0)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1138
+assert_return(
+ () => invoke($0, `lt`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", -0)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1139
+assert_return(
+ () => invoke($0, `lt`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", 0)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1140
+assert_return(
+ () => invoke($0, `lt`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", 0)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1141
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1142
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1143
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1144
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1145
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1146
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1147
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1148
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1149
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1150
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1151
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1152
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1153
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1154
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1155
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1156
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1157
+assert_return(
+ () => invoke($0, `lt`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", -0.5)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1158
+assert_return(
+ () => invoke($0, `lt`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", -0.5)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1159
+assert_return(
+ () => invoke($0, `lt`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", 0.5)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1160
+assert_return(
+ () => invoke($0, `lt`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", 0.5)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1161
+assert_return(
+ () => invoke($0, `lt`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", -0.5)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1162
+assert_return(
+ () => invoke($0, `lt`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", -0.5)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1163
+assert_return(
+ () => invoke($0, `lt`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", 0.5)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1164
+assert_return(
+ () => invoke($0, `lt`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", 0.5)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1165
+assert_return(
+ () => invoke($0, `lt`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", -1)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1166
+assert_return(
+ () => invoke($0, `lt`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", -1)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1167
+assert_return(
+ () => invoke($0, `lt`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", 1)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1168
+assert_return(
+ () => invoke($0, `lt`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", 1)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1169
+assert_return(
+ () => invoke($0, `lt`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", -1)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1170
+assert_return(
+ () => invoke($0, `lt`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", -1)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1171
+assert_return(
+ () => invoke($0, `lt`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", 1)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1172
+assert_return(
+ () => invoke($0, `lt`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", 1)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1173
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1174
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1175
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1176
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1177
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1178
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1179
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1180
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1181
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1182
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1183
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1184
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1185
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1186
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1187
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1188
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1189
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1190
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1191
+assert_return(
+ () => invoke($0, `lt`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1192
+assert_return(
+ () => invoke($0, `lt`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1193
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1194
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1195
+assert_return(
+ () => invoke($0, `lt`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1196
+assert_return(
+ () => invoke($0, `lt`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1197
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1198
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1199
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1200
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1201
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1202
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1203
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1204
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1205
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1206
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1207
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1208
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1209
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1210
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1211
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1212
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1213
+assert_return(() => invoke($0, `le`, [value("f32", -0), value("f32", -0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1214
+assert_return(() => invoke($0, `le`, [value("f32", -0), value("f32", 0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1215
+assert_return(() => invoke($0, `le`, [value("f32", 0), value("f32", -0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1216
+assert_return(() => invoke($0, `le`, [value("f32", 0), value("f32", 0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1217
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -0),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1218
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -0),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1219
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 0),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1220
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 0),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1221
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -0),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1222
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -0),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1223
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 0),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1224
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 0),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1225
+assert_return(() => invoke($0, `le`, [value("f32", -0), value("f32", -0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1226
+assert_return(() => invoke($0, `le`, [value("f32", -0), value("f32", 0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1227
+assert_return(() => invoke($0, `le`, [value("f32", 0), value("f32", -0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1228
+assert_return(() => invoke($0, `le`, [value("f32", 0), value("f32", 0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1229
+assert_return(() => invoke($0, `le`, [value("f32", -0), value("f32", -1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1230
+assert_return(() => invoke($0, `le`, [value("f32", -0), value("f32", 1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1231
+assert_return(() => invoke($0, `le`, [value("f32", 0), value("f32", -1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1232
+assert_return(() => invoke($0, `le`, [value("f32", 0), value("f32", 1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1233
+assert_return(() => invoke($0, `le`, [value("f32", -0), value("f32", -6.2831855)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1234
+assert_return(() => invoke($0, `le`, [value("f32", -0), value("f32", 6.2831855)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1235
+assert_return(() => invoke($0, `le`, [value("f32", 0), value("f32", -6.2831855)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1236
+assert_return(() => invoke($0, `le`, [value("f32", 0), value("f32", 6.2831855)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1237
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -0),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1238
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -0),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1239
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 0),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1240
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 0),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1241
+assert_return(() => invoke($0, `le`, [value("f32", -0), value("f32", -Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1242
+assert_return(() => invoke($0, `le`, [value("f32", -0), value("f32", Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1243
+assert_return(() => invoke($0, `le`, [value("f32", 0), value("f32", -Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1244
+assert_return(() => invoke($0, `le`, [value("f32", 0), value("f32", Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1245
+assert_return(
+ () => invoke($0, `le`, [value("f32", -0), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1246
+assert_return(
+ () => invoke($0, `le`, [value("f32", -0), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1247
+assert_return(
+ () => invoke($0, `le`, [value("f32", -0), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1248
+assert_return(
+ () => invoke($0, `le`, [value("f32", -0), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1249
+assert_return(
+ () => invoke($0, `le`, [value("f32", 0), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1250
+assert_return(
+ () => invoke($0, `le`, [value("f32", 0), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1251
+assert_return(
+ () => invoke($0, `le`, [value("f32", 0), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1252
+assert_return(
+ () => invoke($0, `le`, [value("f32", 0), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1253
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1254
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1255
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1256
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1257
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1258
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1259
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1260
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1261
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1262
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1263
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1264
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1265
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1266
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1267
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1268
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1269
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1270
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1271
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1272
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1273
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1274
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1275
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1276
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1277
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1278
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1279
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1280
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1281
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1282
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1283
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1284
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1285
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1286
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1287
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1288
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1289
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1290
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1291
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1292
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1293
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1294
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1295
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1296
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1297
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1298
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1299
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1300
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1301
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1302
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1303
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1304
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1305
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1306
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1307
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1308
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1309
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1310
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1311
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1312
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1313
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1314
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1315
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1316
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1317
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1318
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1319
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1320
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1321
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1322
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1323
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1324
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1325
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1326
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1327
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1328
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1329
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1330
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1331
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1332
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1333
+assert_return(() => invoke($0, `le`, [value("f32", -0.5), value("f32", -0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1334
+assert_return(() => invoke($0, `le`, [value("f32", -0.5), value("f32", 0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1335
+assert_return(() => invoke($0, `le`, [value("f32", 0.5), value("f32", -0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1336
+assert_return(() => invoke($0, `le`, [value("f32", 0.5), value("f32", 0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1337
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -0.5),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1338
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -0.5),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1339
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 0.5),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1340
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 0.5),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1341
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -0.5),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1342
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -0.5),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1343
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 0.5),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1344
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 0.5),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1345
+assert_return(() => invoke($0, `le`, [value("f32", -0.5), value("f32", -0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1346
+assert_return(() => invoke($0, `le`, [value("f32", -0.5), value("f32", 0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1347
+assert_return(() => invoke($0, `le`, [value("f32", 0.5), value("f32", -0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1348
+assert_return(() => invoke($0, `le`, [value("f32", 0.5), value("f32", 0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1349
+assert_return(() => invoke($0, `le`, [value("f32", -0.5), value("f32", -1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1350
+assert_return(() => invoke($0, `le`, [value("f32", -0.5), value("f32", 1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1351
+assert_return(() => invoke($0, `le`, [value("f32", 0.5), value("f32", -1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1352
+assert_return(() => invoke($0, `le`, [value("f32", 0.5), value("f32", 1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1353
+assert_return(() => invoke($0, `le`, [value("f32", -0.5), value("f32", -6.2831855)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1354
+assert_return(() => invoke($0, `le`, [value("f32", -0.5), value("f32", 6.2831855)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1355
+assert_return(() => invoke($0, `le`, [value("f32", 0.5), value("f32", -6.2831855)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1356
+assert_return(() => invoke($0, `le`, [value("f32", 0.5), value("f32", 6.2831855)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1357
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -0.5),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1358
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -0.5),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1359
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 0.5),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1360
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 0.5),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1361
+assert_return(() => invoke($0, `le`, [value("f32", -0.5), value("f32", -Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1362
+assert_return(() => invoke($0, `le`, [value("f32", -0.5), value("f32", Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1363
+assert_return(() => invoke($0, `le`, [value("f32", 0.5), value("f32", -Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1364
+assert_return(() => invoke($0, `le`, [value("f32", 0.5), value("f32", Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1365
+assert_return(
+ () => invoke($0, `le`, [value("f32", -0.5), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1366
+assert_return(
+ () => invoke($0, `le`, [value("f32", -0.5), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1367
+assert_return(
+ () => invoke($0, `le`, [value("f32", -0.5), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1368
+assert_return(
+ () => invoke($0, `le`, [value("f32", -0.5), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1369
+assert_return(
+ () => invoke($0, `le`, [value("f32", 0.5), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1370
+assert_return(
+ () => invoke($0, `le`, [value("f32", 0.5), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1371
+assert_return(
+ () => invoke($0, `le`, [value("f32", 0.5), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1372
+assert_return(
+ () => invoke($0, `le`, [value("f32", 0.5), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1373
+assert_return(() => invoke($0, `le`, [value("f32", -1), value("f32", -0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1374
+assert_return(() => invoke($0, `le`, [value("f32", -1), value("f32", 0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1375
+assert_return(() => invoke($0, `le`, [value("f32", 1), value("f32", -0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1376
+assert_return(() => invoke($0, `le`, [value("f32", 1), value("f32", 0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1377
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -1),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1378
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -1),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1379
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 1),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1380
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 1),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1381
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -1),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1382
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -1),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1383
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 1),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1384
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 1),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1385
+assert_return(() => invoke($0, `le`, [value("f32", -1), value("f32", -0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1386
+assert_return(() => invoke($0, `le`, [value("f32", -1), value("f32", 0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1387
+assert_return(() => invoke($0, `le`, [value("f32", 1), value("f32", -0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1388
+assert_return(() => invoke($0, `le`, [value("f32", 1), value("f32", 0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1389
+assert_return(() => invoke($0, `le`, [value("f32", -1), value("f32", -1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1390
+assert_return(() => invoke($0, `le`, [value("f32", -1), value("f32", 1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1391
+assert_return(() => invoke($0, `le`, [value("f32", 1), value("f32", -1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1392
+assert_return(() => invoke($0, `le`, [value("f32", 1), value("f32", 1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1393
+assert_return(() => invoke($0, `le`, [value("f32", -1), value("f32", -6.2831855)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1394
+assert_return(() => invoke($0, `le`, [value("f32", -1), value("f32", 6.2831855)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1395
+assert_return(() => invoke($0, `le`, [value("f32", 1), value("f32", -6.2831855)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1396
+assert_return(() => invoke($0, `le`, [value("f32", 1), value("f32", 6.2831855)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1397
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -1),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1398
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -1),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1399
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 1),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1400
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 1),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1401
+assert_return(() => invoke($0, `le`, [value("f32", -1), value("f32", -Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1402
+assert_return(() => invoke($0, `le`, [value("f32", -1), value("f32", Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1403
+assert_return(() => invoke($0, `le`, [value("f32", 1), value("f32", -Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1404
+assert_return(() => invoke($0, `le`, [value("f32", 1), value("f32", Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1405
+assert_return(
+ () => invoke($0, `le`, [value("f32", -1), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1406
+assert_return(
+ () => invoke($0, `le`, [value("f32", -1), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1407
+assert_return(
+ () => invoke($0, `le`, [value("f32", -1), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1408
+assert_return(
+ () => invoke($0, `le`, [value("f32", -1), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1409
+assert_return(
+ () => invoke($0, `le`, [value("f32", 1), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1410
+assert_return(
+ () => invoke($0, `le`, [value("f32", 1), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1411
+assert_return(
+ () => invoke($0, `le`, [value("f32", 1), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1412
+assert_return(
+ () => invoke($0, `le`, [value("f32", 1), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1413
+assert_return(() => invoke($0, `le`, [value("f32", -6.2831855), value("f32", -0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1414
+assert_return(() => invoke($0, `le`, [value("f32", -6.2831855), value("f32", 0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1415
+assert_return(() => invoke($0, `le`, [value("f32", 6.2831855), value("f32", -0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1416
+assert_return(() => invoke($0, `le`, [value("f32", 6.2831855), value("f32", 0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1417
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -6.2831855),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1418
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -6.2831855),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1419
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 6.2831855),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1420
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 6.2831855),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1421
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -6.2831855),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1422
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -6.2831855),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1423
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 6.2831855),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1424
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 6.2831855),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1425
+assert_return(() => invoke($0, `le`, [value("f32", -6.2831855), value("f32", -0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1426
+assert_return(() => invoke($0, `le`, [value("f32", -6.2831855), value("f32", 0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1427
+assert_return(() => invoke($0, `le`, [value("f32", 6.2831855), value("f32", -0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1428
+assert_return(() => invoke($0, `le`, [value("f32", 6.2831855), value("f32", 0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1429
+assert_return(() => invoke($0, `le`, [value("f32", -6.2831855), value("f32", -1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1430
+assert_return(() => invoke($0, `le`, [value("f32", -6.2831855), value("f32", 1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1431
+assert_return(() => invoke($0, `le`, [value("f32", 6.2831855), value("f32", -1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1432
+assert_return(() => invoke($0, `le`, [value("f32", 6.2831855), value("f32", 1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1433
+assert_return(
+ () => invoke($0, `le`, [value("f32", -6.2831855), value("f32", -6.2831855)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1434
+assert_return(
+ () => invoke($0, `le`, [value("f32", -6.2831855), value("f32", 6.2831855)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1435
+assert_return(
+ () => invoke($0, `le`, [value("f32", 6.2831855), value("f32", -6.2831855)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1436
+assert_return(
+ () => invoke($0, `le`, [value("f32", 6.2831855), value("f32", 6.2831855)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1437
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -6.2831855),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1438
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -6.2831855),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1439
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 6.2831855),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1440
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 6.2831855),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1441
+assert_return(
+ () => invoke($0, `le`, [value("f32", -6.2831855), value("f32", -Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1442
+assert_return(
+ () => invoke($0, `le`, [value("f32", -6.2831855), value("f32", Infinity)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1443
+assert_return(
+ () => invoke($0, `le`, [value("f32", 6.2831855), value("f32", -Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1444
+assert_return(
+ () => invoke($0, `le`, [value("f32", 6.2831855), value("f32", Infinity)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1445
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -6.2831855),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1446
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -6.2831855),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1447
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -6.2831855),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1448
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -6.2831855),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1449
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 6.2831855),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1450
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 6.2831855),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1451
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 6.2831855),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1452
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 6.2831855),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1453
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1454
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1455
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1456
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1457
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1458
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1459
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1460
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1461
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1462
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1463
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1464
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1465
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1466
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1467
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1468
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1469
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1470
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1471
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1472
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1473
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1474
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1475
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1476
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1477
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1478
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1479
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1480
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1481
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1482
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1483
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1484
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1485
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1486
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1487
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1488
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1489
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1490
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1491
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1492
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", 340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1493
+assert_return(() => invoke($0, `le`, [value("f32", -Infinity), value("f32", -0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1494
+assert_return(() => invoke($0, `le`, [value("f32", -Infinity), value("f32", 0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1495
+assert_return(() => invoke($0, `le`, [value("f32", Infinity), value("f32", -0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1496
+assert_return(() => invoke($0, `le`, [value("f32", Infinity), value("f32", 0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1497
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -Infinity),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1498
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -Infinity),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1499
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", Infinity),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1500
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", Infinity),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1501
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -Infinity),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1502
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -Infinity),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1503
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", Infinity),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1504
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", Infinity),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1505
+assert_return(() => invoke($0, `le`, [value("f32", -Infinity), value("f32", -0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1506
+assert_return(() => invoke($0, `le`, [value("f32", -Infinity), value("f32", 0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1507
+assert_return(() => invoke($0, `le`, [value("f32", Infinity), value("f32", -0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1508
+assert_return(() => invoke($0, `le`, [value("f32", Infinity), value("f32", 0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1509
+assert_return(() => invoke($0, `le`, [value("f32", -Infinity), value("f32", -1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1510
+assert_return(() => invoke($0, `le`, [value("f32", -Infinity), value("f32", 1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1511
+assert_return(() => invoke($0, `le`, [value("f32", Infinity), value("f32", -1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1512
+assert_return(() => invoke($0, `le`, [value("f32", Infinity), value("f32", 1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1513
+assert_return(
+ () => invoke($0, `le`, [value("f32", -Infinity), value("f32", -6.2831855)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1514
+assert_return(
+ () => invoke($0, `le`, [value("f32", -Infinity), value("f32", 6.2831855)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1515
+assert_return(
+ () => invoke($0, `le`, [value("f32", Infinity), value("f32", -6.2831855)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1516
+assert_return(
+ () => invoke($0, `le`, [value("f32", Infinity), value("f32", 6.2831855)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1517
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -Infinity),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1518
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -Infinity),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1519
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", Infinity),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1520
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", Infinity),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1521
+assert_return(
+ () => invoke($0, `le`, [value("f32", -Infinity), value("f32", -Infinity)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1522
+assert_return(
+ () => invoke($0, `le`, [value("f32", -Infinity), value("f32", Infinity)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1523
+assert_return(
+ () => invoke($0, `le`, [value("f32", Infinity), value("f32", -Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1524
+assert_return(
+ () => invoke($0, `le`, [value("f32", Infinity), value("f32", Infinity)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1525
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -Infinity),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1526
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -Infinity),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1527
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -Infinity),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1528
+assert_return(
+ () => invoke($0, `le`, [
+ value("f32", -Infinity),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1529
+assert_return(
+ () => invoke($0, `le`, [value("f32", Infinity), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1530
+assert_return(
+ () => invoke($0, `le`, [value("f32", Infinity), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1531
+assert_return(
+ () => invoke($0, `le`, [value("f32", Infinity), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1532
+assert_return(
+ () => invoke($0, `le`, [value("f32", Infinity), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1533
+assert_return(
+ () => invoke($0, `le`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", -0)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1534
+assert_return(
+ () => invoke($0, `le`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", -0)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1535
+assert_return(
+ () => invoke($0, `le`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", 0)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1536
+assert_return(
+ () => invoke($0, `le`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", 0)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1537
+assert_return(
+ () => invoke($0, `le`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", -0)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1538
+assert_return(
+ () => invoke($0, `le`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", -0)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1539
+assert_return(
+ () => invoke($0, `le`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", 0)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1540
+assert_return(
+ () => invoke($0, `le`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", 0)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1541
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1542
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1543
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1544
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1545
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1546
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1547
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1548
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1549
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1550
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1551
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1552
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1553
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1554
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1555
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1556
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1557
+assert_return(
+ () => invoke($0, `le`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", -0.5)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1558
+assert_return(
+ () => invoke($0, `le`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", -0.5)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1559
+assert_return(
+ () => invoke($0, `le`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", 0.5)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1560
+assert_return(
+ () => invoke($0, `le`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", 0.5)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1561
+assert_return(
+ () => invoke($0, `le`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", -0.5)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1562
+assert_return(
+ () => invoke($0, `le`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", -0.5)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1563
+assert_return(
+ () => invoke($0, `le`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", 0.5)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1564
+assert_return(
+ () => invoke($0, `le`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", 0.5)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1565
+assert_return(
+ () => invoke($0, `le`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", -1)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1566
+assert_return(
+ () => invoke($0, `le`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", -1)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1567
+assert_return(
+ () => invoke($0, `le`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", 1)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1568
+assert_return(
+ () => invoke($0, `le`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", 1)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1569
+assert_return(
+ () => invoke($0, `le`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", -1)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1570
+assert_return(
+ () => invoke($0, `le`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", -1)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1571
+assert_return(
+ () => invoke($0, `le`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", 1)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1572
+assert_return(
+ () => invoke($0, `le`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", 1)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1573
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1574
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1575
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1576
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1577
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1578
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1579
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1580
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1581
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1582
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1583
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1584
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1585
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1586
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1587
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1588
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1589
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1590
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1591
+assert_return(
+ () => invoke($0, `le`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1592
+assert_return(
+ () => invoke($0, `le`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1593
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1594
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1595
+assert_return(
+ () => invoke($0, `le`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1596
+assert_return(
+ () => invoke($0, `le`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1597
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1598
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1599
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1600
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1601
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1602
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1603
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1604
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1605
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1606
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1607
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1608
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1609
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1610
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1611
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1612
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1613
+assert_return(() => invoke($0, `gt`, [value("f32", -0), value("f32", -0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1614
+assert_return(() => invoke($0, `gt`, [value("f32", -0), value("f32", 0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1615
+assert_return(() => invoke($0, `gt`, [value("f32", 0), value("f32", -0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1616
+assert_return(() => invoke($0, `gt`, [value("f32", 0), value("f32", 0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1617
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -0),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1618
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -0),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1619
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 0),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1620
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 0),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1621
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -0),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1622
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -0),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1623
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 0),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1624
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 0),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1625
+assert_return(() => invoke($0, `gt`, [value("f32", -0), value("f32", -0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1626
+assert_return(() => invoke($0, `gt`, [value("f32", -0), value("f32", 0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1627
+assert_return(() => invoke($0, `gt`, [value("f32", 0), value("f32", -0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1628
+assert_return(() => invoke($0, `gt`, [value("f32", 0), value("f32", 0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1629
+assert_return(() => invoke($0, `gt`, [value("f32", -0), value("f32", -1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1630
+assert_return(() => invoke($0, `gt`, [value("f32", -0), value("f32", 1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1631
+assert_return(() => invoke($0, `gt`, [value("f32", 0), value("f32", -1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1632
+assert_return(() => invoke($0, `gt`, [value("f32", 0), value("f32", 1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1633
+assert_return(() => invoke($0, `gt`, [value("f32", -0), value("f32", -6.2831855)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1634
+assert_return(() => invoke($0, `gt`, [value("f32", -0), value("f32", 6.2831855)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1635
+assert_return(() => invoke($0, `gt`, [value("f32", 0), value("f32", -6.2831855)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1636
+assert_return(() => invoke($0, `gt`, [value("f32", 0), value("f32", 6.2831855)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1637
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -0),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1638
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -0),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1639
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 0),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1640
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 0),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1641
+assert_return(() => invoke($0, `gt`, [value("f32", -0), value("f32", -Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1642
+assert_return(() => invoke($0, `gt`, [value("f32", -0), value("f32", Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1643
+assert_return(() => invoke($0, `gt`, [value("f32", 0), value("f32", -Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1644
+assert_return(() => invoke($0, `gt`, [value("f32", 0), value("f32", Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1645
+assert_return(
+ () => invoke($0, `gt`, [value("f32", -0), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1646
+assert_return(
+ () => invoke($0, `gt`, [value("f32", -0), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1647
+assert_return(
+ () => invoke($0, `gt`, [value("f32", -0), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1648
+assert_return(
+ () => invoke($0, `gt`, [value("f32", -0), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1649
+assert_return(
+ () => invoke($0, `gt`, [value("f32", 0), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1650
+assert_return(
+ () => invoke($0, `gt`, [value("f32", 0), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1651
+assert_return(
+ () => invoke($0, `gt`, [value("f32", 0), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1652
+assert_return(
+ () => invoke($0, `gt`, [value("f32", 0), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1653
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1654
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1655
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1656
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1657
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1658
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1659
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1660
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1661
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1662
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1663
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1664
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1665
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1666
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1667
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1668
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1669
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1670
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1671
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1672
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1673
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1674
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1675
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1676
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1677
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1678
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1679
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1680
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1681
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1682
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1683
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1684
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1685
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1686
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1687
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1688
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1689
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1690
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1691
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1692
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1693
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1694
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1695
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1696
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1697
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1698
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1699
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1700
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1701
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1702
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1703
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1704
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1705
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1706
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1707
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1708
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1709
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1710
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1711
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1712
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1713
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1714
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1715
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1716
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1717
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1718
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1719
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1720
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1721
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1722
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1723
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1724
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1725
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1726
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1727
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1728
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1729
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1730
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1731
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1732
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1733
+assert_return(() => invoke($0, `gt`, [value("f32", -0.5), value("f32", -0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1734
+assert_return(() => invoke($0, `gt`, [value("f32", -0.5), value("f32", 0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1735
+assert_return(() => invoke($0, `gt`, [value("f32", 0.5), value("f32", -0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1736
+assert_return(() => invoke($0, `gt`, [value("f32", 0.5), value("f32", 0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1737
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -0.5),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1738
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -0.5),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1739
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 0.5),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1740
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 0.5),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1741
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -0.5),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1742
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -0.5),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1743
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 0.5),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1744
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 0.5),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1745
+assert_return(() => invoke($0, `gt`, [value("f32", -0.5), value("f32", -0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1746
+assert_return(() => invoke($0, `gt`, [value("f32", -0.5), value("f32", 0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1747
+assert_return(() => invoke($0, `gt`, [value("f32", 0.5), value("f32", -0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1748
+assert_return(() => invoke($0, `gt`, [value("f32", 0.5), value("f32", 0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1749
+assert_return(() => invoke($0, `gt`, [value("f32", -0.5), value("f32", -1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1750
+assert_return(() => invoke($0, `gt`, [value("f32", -0.5), value("f32", 1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1751
+assert_return(() => invoke($0, `gt`, [value("f32", 0.5), value("f32", -1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1752
+assert_return(() => invoke($0, `gt`, [value("f32", 0.5), value("f32", 1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1753
+assert_return(() => invoke($0, `gt`, [value("f32", -0.5), value("f32", -6.2831855)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1754
+assert_return(() => invoke($0, `gt`, [value("f32", -0.5), value("f32", 6.2831855)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1755
+assert_return(() => invoke($0, `gt`, [value("f32", 0.5), value("f32", -6.2831855)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1756
+assert_return(() => invoke($0, `gt`, [value("f32", 0.5), value("f32", 6.2831855)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1757
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -0.5),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1758
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -0.5),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1759
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 0.5),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1760
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 0.5),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1761
+assert_return(() => invoke($0, `gt`, [value("f32", -0.5), value("f32", -Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1762
+assert_return(() => invoke($0, `gt`, [value("f32", -0.5), value("f32", Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1763
+assert_return(() => invoke($0, `gt`, [value("f32", 0.5), value("f32", -Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1764
+assert_return(() => invoke($0, `gt`, [value("f32", 0.5), value("f32", Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1765
+assert_return(
+ () => invoke($0, `gt`, [value("f32", -0.5), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1766
+assert_return(
+ () => invoke($0, `gt`, [value("f32", -0.5), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1767
+assert_return(
+ () => invoke($0, `gt`, [value("f32", -0.5), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1768
+assert_return(
+ () => invoke($0, `gt`, [value("f32", -0.5), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1769
+assert_return(
+ () => invoke($0, `gt`, [value("f32", 0.5), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1770
+assert_return(
+ () => invoke($0, `gt`, [value("f32", 0.5), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1771
+assert_return(
+ () => invoke($0, `gt`, [value("f32", 0.5), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1772
+assert_return(
+ () => invoke($0, `gt`, [value("f32", 0.5), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1773
+assert_return(() => invoke($0, `gt`, [value("f32", -1), value("f32", -0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1774
+assert_return(() => invoke($0, `gt`, [value("f32", -1), value("f32", 0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1775
+assert_return(() => invoke($0, `gt`, [value("f32", 1), value("f32", -0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1776
+assert_return(() => invoke($0, `gt`, [value("f32", 1), value("f32", 0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1777
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -1),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1778
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -1),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1779
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 1),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1780
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 1),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1781
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -1),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1782
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -1),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1783
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 1),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1784
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 1),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1785
+assert_return(() => invoke($0, `gt`, [value("f32", -1), value("f32", -0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1786
+assert_return(() => invoke($0, `gt`, [value("f32", -1), value("f32", 0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1787
+assert_return(() => invoke($0, `gt`, [value("f32", 1), value("f32", -0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1788
+assert_return(() => invoke($0, `gt`, [value("f32", 1), value("f32", 0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1789
+assert_return(() => invoke($0, `gt`, [value("f32", -1), value("f32", -1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1790
+assert_return(() => invoke($0, `gt`, [value("f32", -1), value("f32", 1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1791
+assert_return(() => invoke($0, `gt`, [value("f32", 1), value("f32", -1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1792
+assert_return(() => invoke($0, `gt`, [value("f32", 1), value("f32", 1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1793
+assert_return(() => invoke($0, `gt`, [value("f32", -1), value("f32", -6.2831855)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1794
+assert_return(() => invoke($0, `gt`, [value("f32", -1), value("f32", 6.2831855)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1795
+assert_return(() => invoke($0, `gt`, [value("f32", 1), value("f32", -6.2831855)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1796
+assert_return(() => invoke($0, `gt`, [value("f32", 1), value("f32", 6.2831855)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1797
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -1),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1798
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -1),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1799
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 1),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1800
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 1),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1801
+assert_return(() => invoke($0, `gt`, [value("f32", -1), value("f32", -Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1802
+assert_return(() => invoke($0, `gt`, [value("f32", -1), value("f32", Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1803
+assert_return(() => invoke($0, `gt`, [value("f32", 1), value("f32", -Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1804
+assert_return(() => invoke($0, `gt`, [value("f32", 1), value("f32", Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1805
+assert_return(
+ () => invoke($0, `gt`, [value("f32", -1), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1806
+assert_return(
+ () => invoke($0, `gt`, [value("f32", -1), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1807
+assert_return(
+ () => invoke($0, `gt`, [value("f32", -1), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1808
+assert_return(
+ () => invoke($0, `gt`, [value("f32", -1), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1809
+assert_return(
+ () => invoke($0, `gt`, [value("f32", 1), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1810
+assert_return(
+ () => invoke($0, `gt`, [value("f32", 1), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1811
+assert_return(
+ () => invoke($0, `gt`, [value("f32", 1), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1812
+assert_return(
+ () => invoke($0, `gt`, [value("f32", 1), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1813
+assert_return(() => invoke($0, `gt`, [value("f32", -6.2831855), value("f32", -0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1814
+assert_return(() => invoke($0, `gt`, [value("f32", -6.2831855), value("f32", 0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1815
+assert_return(() => invoke($0, `gt`, [value("f32", 6.2831855), value("f32", -0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1816
+assert_return(() => invoke($0, `gt`, [value("f32", 6.2831855), value("f32", 0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1817
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -6.2831855),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1818
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -6.2831855),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1819
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 6.2831855),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1820
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 6.2831855),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1821
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -6.2831855),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1822
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -6.2831855),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1823
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 6.2831855),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1824
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 6.2831855),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1825
+assert_return(() => invoke($0, `gt`, [value("f32", -6.2831855), value("f32", -0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1826
+assert_return(() => invoke($0, `gt`, [value("f32", -6.2831855), value("f32", 0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1827
+assert_return(() => invoke($0, `gt`, [value("f32", 6.2831855), value("f32", -0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1828
+assert_return(() => invoke($0, `gt`, [value("f32", 6.2831855), value("f32", 0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1829
+assert_return(() => invoke($0, `gt`, [value("f32", -6.2831855), value("f32", -1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1830
+assert_return(() => invoke($0, `gt`, [value("f32", -6.2831855), value("f32", 1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1831
+assert_return(() => invoke($0, `gt`, [value("f32", 6.2831855), value("f32", -1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1832
+assert_return(() => invoke($0, `gt`, [value("f32", 6.2831855), value("f32", 1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1833
+assert_return(
+ () => invoke($0, `gt`, [value("f32", -6.2831855), value("f32", -6.2831855)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1834
+assert_return(
+ () => invoke($0, `gt`, [value("f32", -6.2831855), value("f32", 6.2831855)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1835
+assert_return(
+ () => invoke($0, `gt`, [value("f32", 6.2831855), value("f32", -6.2831855)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1836
+assert_return(
+ () => invoke($0, `gt`, [value("f32", 6.2831855), value("f32", 6.2831855)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1837
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -6.2831855),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1838
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -6.2831855),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1839
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 6.2831855),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1840
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 6.2831855),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1841
+assert_return(
+ () => invoke($0, `gt`, [value("f32", -6.2831855), value("f32", -Infinity)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1842
+assert_return(
+ () => invoke($0, `gt`, [value("f32", -6.2831855), value("f32", Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1843
+assert_return(
+ () => invoke($0, `gt`, [value("f32", 6.2831855), value("f32", -Infinity)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1844
+assert_return(
+ () => invoke($0, `gt`, [value("f32", 6.2831855), value("f32", Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1845
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -6.2831855),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1846
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -6.2831855),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1847
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -6.2831855),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1848
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -6.2831855),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1849
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 6.2831855),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1850
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 6.2831855),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1851
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 6.2831855),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1852
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 6.2831855),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1853
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1854
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1855
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1856
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1857
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1858
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1859
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1860
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1861
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1862
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1863
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1864
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1865
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1866
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1867
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1868
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1869
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1870
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1871
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1872
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1873
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1874
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1875
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1876
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1877
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1878
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1879
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1880
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1881
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1882
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1883
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1884
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1885
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1886
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1887
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1888
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1889
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1890
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1891
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1892
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", 340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1893
+assert_return(() => invoke($0, `gt`, [value("f32", -Infinity), value("f32", -0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1894
+assert_return(() => invoke($0, `gt`, [value("f32", -Infinity), value("f32", 0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1895
+assert_return(() => invoke($0, `gt`, [value("f32", Infinity), value("f32", -0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1896
+assert_return(() => invoke($0, `gt`, [value("f32", Infinity), value("f32", 0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1897
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -Infinity),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1898
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -Infinity),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1899
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", Infinity),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1900
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", Infinity),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1901
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -Infinity),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1902
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -Infinity),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1903
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", Infinity),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1904
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", Infinity),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1905
+assert_return(() => invoke($0, `gt`, [value("f32", -Infinity), value("f32", -0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1906
+assert_return(() => invoke($0, `gt`, [value("f32", -Infinity), value("f32", 0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1907
+assert_return(() => invoke($0, `gt`, [value("f32", Infinity), value("f32", -0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1908
+assert_return(() => invoke($0, `gt`, [value("f32", Infinity), value("f32", 0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1909
+assert_return(() => invoke($0, `gt`, [value("f32", -Infinity), value("f32", -1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1910
+assert_return(() => invoke($0, `gt`, [value("f32", -Infinity), value("f32", 1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:1911
+assert_return(() => invoke($0, `gt`, [value("f32", Infinity), value("f32", -1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1912
+assert_return(() => invoke($0, `gt`, [value("f32", Infinity), value("f32", 1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:1913
+assert_return(
+ () => invoke($0, `gt`, [value("f32", -Infinity), value("f32", -6.2831855)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1914
+assert_return(
+ () => invoke($0, `gt`, [value("f32", -Infinity), value("f32", 6.2831855)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1915
+assert_return(
+ () => invoke($0, `gt`, [value("f32", Infinity), value("f32", -6.2831855)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1916
+assert_return(
+ () => invoke($0, `gt`, [value("f32", Infinity), value("f32", 6.2831855)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1917
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -Infinity),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1918
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -Infinity),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1919
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", Infinity),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1920
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", Infinity),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1921
+assert_return(
+ () => invoke($0, `gt`, [value("f32", -Infinity), value("f32", -Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1922
+assert_return(
+ () => invoke($0, `gt`, [value("f32", -Infinity), value("f32", Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1923
+assert_return(
+ () => invoke($0, `gt`, [value("f32", Infinity), value("f32", -Infinity)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:1924
+assert_return(
+ () => invoke($0, `gt`, [value("f32", Infinity), value("f32", Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1925
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -Infinity),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1926
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -Infinity),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1927
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -Infinity),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1928
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f32", -Infinity),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1929
+assert_return(
+ () => invoke($0, `gt`, [value("f32", Infinity), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1930
+assert_return(
+ () => invoke($0, `gt`, [value("f32", Infinity), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1931
+assert_return(
+ () => invoke($0, `gt`, [value("f32", Infinity), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1932
+assert_return(
+ () => invoke($0, `gt`, [value("f32", Infinity), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1933
+assert_return(
+ () => invoke($0, `gt`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", -0)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1934
+assert_return(
+ () => invoke($0, `gt`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", -0)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1935
+assert_return(
+ () => invoke($0, `gt`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", 0)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1936
+assert_return(
+ () => invoke($0, `gt`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", 0)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1937
+assert_return(
+ () => invoke($0, `gt`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", -0)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1938
+assert_return(
+ () => invoke($0, `gt`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", -0)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1939
+assert_return(
+ () => invoke($0, `gt`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", 0)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1940
+assert_return(
+ () => invoke($0, `gt`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", 0)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1941
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1942
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1943
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1944
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1945
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1946
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1947
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1948
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1949
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1950
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1951
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1952
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1953
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1954
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1955
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1956
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1957
+assert_return(
+ () => invoke($0, `gt`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", -0.5)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1958
+assert_return(
+ () => invoke($0, `gt`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", -0.5)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1959
+assert_return(
+ () => invoke($0, `gt`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", 0.5)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1960
+assert_return(
+ () => invoke($0, `gt`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", 0.5)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1961
+assert_return(
+ () => invoke($0, `gt`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", -0.5)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1962
+assert_return(
+ () => invoke($0, `gt`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", -0.5)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1963
+assert_return(
+ () => invoke($0, `gt`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", 0.5)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1964
+assert_return(
+ () => invoke($0, `gt`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", 0.5)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1965
+assert_return(
+ () => invoke($0, `gt`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", -1)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1966
+assert_return(
+ () => invoke($0, `gt`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", -1)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1967
+assert_return(
+ () => invoke($0, `gt`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", 1)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1968
+assert_return(
+ () => invoke($0, `gt`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", 1)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1969
+assert_return(
+ () => invoke($0, `gt`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", -1)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1970
+assert_return(
+ () => invoke($0, `gt`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", -1)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1971
+assert_return(
+ () => invoke($0, `gt`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", 1)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1972
+assert_return(
+ () => invoke($0, `gt`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", 1)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1973
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1974
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1975
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1976
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1977
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1978
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1979
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1980
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1981
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1982
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1983
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1984
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1985
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1986
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1987
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1988
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1989
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1990
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1991
+assert_return(
+ () => invoke($0, `gt`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1992
+assert_return(
+ () => invoke($0, `gt`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1993
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1994
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1995
+assert_return(
+ () => invoke($0, `gt`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1996
+assert_return(
+ () => invoke($0, `gt`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1997
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1998
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:1999
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2000
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2001
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2002
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2003
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2004
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2005
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2006
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2007
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2008
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2009
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2010
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2011
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2012
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2013
+assert_return(() => invoke($0, `ge`, [value("f32", -0), value("f32", -0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:2014
+assert_return(() => invoke($0, `ge`, [value("f32", -0), value("f32", 0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:2015
+assert_return(() => invoke($0, `ge`, [value("f32", 0), value("f32", -0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:2016
+assert_return(() => invoke($0, `ge`, [value("f32", 0), value("f32", 0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:2017
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -0),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2018
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -0),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2019
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 0),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2020
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 0),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2021
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -0),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2022
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -0),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2023
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 0),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2024
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 0),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2025
+assert_return(() => invoke($0, `ge`, [value("f32", -0), value("f32", -0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:2026
+assert_return(() => invoke($0, `ge`, [value("f32", -0), value("f32", 0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:2027
+assert_return(() => invoke($0, `ge`, [value("f32", 0), value("f32", -0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:2028
+assert_return(() => invoke($0, `ge`, [value("f32", 0), value("f32", 0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:2029
+assert_return(() => invoke($0, `ge`, [value("f32", -0), value("f32", -1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:2030
+assert_return(() => invoke($0, `ge`, [value("f32", -0), value("f32", 1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:2031
+assert_return(() => invoke($0, `ge`, [value("f32", 0), value("f32", -1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:2032
+assert_return(() => invoke($0, `ge`, [value("f32", 0), value("f32", 1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:2033
+assert_return(() => invoke($0, `ge`, [value("f32", -0), value("f32", -6.2831855)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:2034
+assert_return(() => invoke($0, `ge`, [value("f32", -0), value("f32", 6.2831855)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:2035
+assert_return(() => invoke($0, `ge`, [value("f32", 0), value("f32", -6.2831855)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:2036
+assert_return(() => invoke($0, `ge`, [value("f32", 0), value("f32", 6.2831855)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:2037
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -0),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2038
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -0),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2039
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 0),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2040
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 0),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2041
+assert_return(() => invoke($0, `ge`, [value("f32", -0), value("f32", -Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:2042
+assert_return(() => invoke($0, `ge`, [value("f32", -0), value("f32", Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:2043
+assert_return(() => invoke($0, `ge`, [value("f32", 0), value("f32", -Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:2044
+assert_return(() => invoke($0, `ge`, [value("f32", 0), value("f32", Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:2045
+assert_return(
+ () => invoke($0, `ge`, [value("f32", -0), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2046
+assert_return(
+ () => invoke($0, `ge`, [value("f32", -0), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2047
+assert_return(
+ () => invoke($0, `ge`, [value("f32", -0), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2048
+assert_return(
+ () => invoke($0, `ge`, [value("f32", -0), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2049
+assert_return(
+ () => invoke($0, `ge`, [value("f32", 0), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2050
+assert_return(
+ () => invoke($0, `ge`, [value("f32", 0), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2051
+assert_return(
+ () => invoke($0, `ge`, [value("f32", 0), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2052
+assert_return(
+ () => invoke($0, `ge`, [value("f32", 0), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2053
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2054
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2055
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2056
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2057
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2058
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2059
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2060
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2061
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2062
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2063
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2064
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2065
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2066
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2067
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2068
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2069
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2070
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2071
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2072
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2073
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2074
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2075
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2076
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2077
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2078
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2079
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2080
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2081
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2082
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2083
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2084
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2085
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2086
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2087
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2088
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2089
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2090
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2091
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2092
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2093
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2094
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2095
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2096
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2097
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2098
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2099
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2100
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2101
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2102
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2103
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2104
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2105
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2106
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2107
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2108
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2109
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2110
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2111
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2112
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2113
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2114
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2115
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2116
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2117
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2118
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2119
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2120
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2121
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2122
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2123
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2124
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2125
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2126
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2127
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2128
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2129
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2130
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2131
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2132
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2133
+assert_return(() => invoke($0, `ge`, [value("f32", -0.5), value("f32", -0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:2134
+assert_return(() => invoke($0, `ge`, [value("f32", -0.5), value("f32", 0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:2135
+assert_return(() => invoke($0, `ge`, [value("f32", 0.5), value("f32", -0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:2136
+assert_return(() => invoke($0, `ge`, [value("f32", 0.5), value("f32", 0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:2137
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -0.5),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2138
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -0.5),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2139
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 0.5),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2140
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 0.5),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2141
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -0.5),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2142
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -0.5),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2143
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 0.5),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2144
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 0.5),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2145
+assert_return(() => invoke($0, `ge`, [value("f32", -0.5), value("f32", -0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:2146
+assert_return(() => invoke($0, `ge`, [value("f32", -0.5), value("f32", 0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:2147
+assert_return(() => invoke($0, `ge`, [value("f32", 0.5), value("f32", -0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:2148
+assert_return(() => invoke($0, `ge`, [value("f32", 0.5), value("f32", 0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:2149
+assert_return(() => invoke($0, `ge`, [value("f32", -0.5), value("f32", -1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:2150
+assert_return(() => invoke($0, `ge`, [value("f32", -0.5), value("f32", 1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:2151
+assert_return(() => invoke($0, `ge`, [value("f32", 0.5), value("f32", -1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:2152
+assert_return(() => invoke($0, `ge`, [value("f32", 0.5), value("f32", 1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:2153
+assert_return(() => invoke($0, `ge`, [value("f32", -0.5), value("f32", -6.2831855)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:2154
+assert_return(() => invoke($0, `ge`, [value("f32", -0.5), value("f32", 6.2831855)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:2155
+assert_return(() => invoke($0, `ge`, [value("f32", 0.5), value("f32", -6.2831855)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:2156
+assert_return(() => invoke($0, `ge`, [value("f32", 0.5), value("f32", 6.2831855)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:2157
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -0.5),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2158
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -0.5),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2159
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 0.5),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2160
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 0.5),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2161
+assert_return(() => invoke($0, `ge`, [value("f32", -0.5), value("f32", -Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:2162
+assert_return(() => invoke($0, `ge`, [value("f32", -0.5), value("f32", Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:2163
+assert_return(() => invoke($0, `ge`, [value("f32", 0.5), value("f32", -Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:2164
+assert_return(() => invoke($0, `ge`, [value("f32", 0.5), value("f32", Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:2165
+assert_return(
+ () => invoke($0, `ge`, [value("f32", -0.5), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2166
+assert_return(
+ () => invoke($0, `ge`, [value("f32", -0.5), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2167
+assert_return(
+ () => invoke($0, `ge`, [value("f32", -0.5), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2168
+assert_return(
+ () => invoke($0, `ge`, [value("f32", -0.5), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2169
+assert_return(
+ () => invoke($0, `ge`, [value("f32", 0.5), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2170
+assert_return(
+ () => invoke($0, `ge`, [value("f32", 0.5), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2171
+assert_return(
+ () => invoke($0, `ge`, [value("f32", 0.5), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2172
+assert_return(
+ () => invoke($0, `ge`, [value("f32", 0.5), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2173
+assert_return(() => invoke($0, `ge`, [value("f32", -1), value("f32", -0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:2174
+assert_return(() => invoke($0, `ge`, [value("f32", -1), value("f32", 0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:2175
+assert_return(() => invoke($0, `ge`, [value("f32", 1), value("f32", -0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:2176
+assert_return(() => invoke($0, `ge`, [value("f32", 1), value("f32", 0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:2177
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -1),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2178
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -1),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2179
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 1),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2180
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 1),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2181
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -1),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2182
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -1),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2183
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 1),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2184
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 1),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2185
+assert_return(() => invoke($0, `ge`, [value("f32", -1), value("f32", -0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:2186
+assert_return(() => invoke($0, `ge`, [value("f32", -1), value("f32", 0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:2187
+assert_return(() => invoke($0, `ge`, [value("f32", 1), value("f32", -0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:2188
+assert_return(() => invoke($0, `ge`, [value("f32", 1), value("f32", 0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:2189
+assert_return(() => invoke($0, `ge`, [value("f32", -1), value("f32", -1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:2190
+assert_return(() => invoke($0, `ge`, [value("f32", -1), value("f32", 1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:2191
+assert_return(() => invoke($0, `ge`, [value("f32", 1), value("f32", -1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:2192
+assert_return(() => invoke($0, `ge`, [value("f32", 1), value("f32", 1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:2193
+assert_return(() => invoke($0, `ge`, [value("f32", -1), value("f32", -6.2831855)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:2194
+assert_return(() => invoke($0, `ge`, [value("f32", -1), value("f32", 6.2831855)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:2195
+assert_return(() => invoke($0, `ge`, [value("f32", 1), value("f32", -6.2831855)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:2196
+assert_return(() => invoke($0, `ge`, [value("f32", 1), value("f32", 6.2831855)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:2197
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -1),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2198
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -1),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2199
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 1),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2200
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 1),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2201
+assert_return(() => invoke($0, `ge`, [value("f32", -1), value("f32", -Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:2202
+assert_return(() => invoke($0, `ge`, [value("f32", -1), value("f32", Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:2203
+assert_return(() => invoke($0, `ge`, [value("f32", 1), value("f32", -Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:2204
+assert_return(() => invoke($0, `ge`, [value("f32", 1), value("f32", Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:2205
+assert_return(
+ () => invoke($0, `ge`, [value("f32", -1), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2206
+assert_return(
+ () => invoke($0, `ge`, [value("f32", -1), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2207
+assert_return(
+ () => invoke($0, `ge`, [value("f32", -1), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2208
+assert_return(
+ () => invoke($0, `ge`, [value("f32", -1), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2209
+assert_return(
+ () => invoke($0, `ge`, [value("f32", 1), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2210
+assert_return(
+ () => invoke($0, `ge`, [value("f32", 1), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2211
+assert_return(
+ () => invoke($0, `ge`, [value("f32", 1), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2212
+assert_return(
+ () => invoke($0, `ge`, [value("f32", 1), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2213
+assert_return(() => invoke($0, `ge`, [value("f32", -6.2831855), value("f32", -0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:2214
+assert_return(() => invoke($0, `ge`, [value("f32", -6.2831855), value("f32", 0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:2215
+assert_return(() => invoke($0, `ge`, [value("f32", 6.2831855), value("f32", -0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:2216
+assert_return(() => invoke($0, `ge`, [value("f32", 6.2831855), value("f32", 0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:2217
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -6.2831855),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2218
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -6.2831855),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2219
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 6.2831855),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2220
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 6.2831855),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2221
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -6.2831855),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2222
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -6.2831855),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2223
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 6.2831855),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2224
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 6.2831855),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2225
+assert_return(() => invoke($0, `ge`, [value("f32", -6.2831855), value("f32", -0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:2226
+assert_return(() => invoke($0, `ge`, [value("f32", -6.2831855), value("f32", 0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:2227
+assert_return(() => invoke($0, `ge`, [value("f32", 6.2831855), value("f32", -0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:2228
+assert_return(() => invoke($0, `ge`, [value("f32", 6.2831855), value("f32", 0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:2229
+assert_return(() => invoke($0, `ge`, [value("f32", -6.2831855), value("f32", -1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:2230
+assert_return(() => invoke($0, `ge`, [value("f32", -6.2831855), value("f32", 1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:2231
+assert_return(() => invoke($0, `ge`, [value("f32", 6.2831855), value("f32", -1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:2232
+assert_return(() => invoke($0, `ge`, [value("f32", 6.2831855), value("f32", 1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:2233
+assert_return(
+ () => invoke($0, `ge`, [value("f32", -6.2831855), value("f32", -6.2831855)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2234
+assert_return(
+ () => invoke($0, `ge`, [value("f32", -6.2831855), value("f32", 6.2831855)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2235
+assert_return(
+ () => invoke($0, `ge`, [value("f32", 6.2831855), value("f32", -6.2831855)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2236
+assert_return(
+ () => invoke($0, `ge`, [value("f32", 6.2831855), value("f32", 6.2831855)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2237
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -6.2831855),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2238
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -6.2831855),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2239
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 6.2831855),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2240
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 6.2831855),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2241
+assert_return(
+ () => invoke($0, `ge`, [value("f32", -6.2831855), value("f32", -Infinity)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2242
+assert_return(
+ () => invoke($0, `ge`, [value("f32", -6.2831855), value("f32", Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2243
+assert_return(
+ () => invoke($0, `ge`, [value("f32", 6.2831855), value("f32", -Infinity)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2244
+assert_return(
+ () => invoke($0, `ge`, [value("f32", 6.2831855), value("f32", Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2245
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -6.2831855),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2246
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -6.2831855),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2247
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -6.2831855),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2248
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -6.2831855),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2249
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 6.2831855),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2250
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 6.2831855),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2251
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 6.2831855),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2252
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 6.2831855),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2253
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2254
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2255
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2256
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2257
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2258
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2259
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2260
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2261
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2262
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2263
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2264
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2265
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2266
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2267
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2268
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2269
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2270
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2271
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2272
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2273
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2274
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2275
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2276
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2277
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2278
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2279
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2280
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2281
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2282
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2283
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2284
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2285
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2286
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2287
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2288
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2289
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2290
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2291
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2292
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", 340282350000000000000000000000000000000),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2293
+assert_return(() => invoke($0, `ge`, [value("f32", -Infinity), value("f32", -0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:2294
+assert_return(() => invoke($0, `ge`, [value("f32", -Infinity), value("f32", 0)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:2295
+assert_return(() => invoke($0, `ge`, [value("f32", Infinity), value("f32", -0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:2296
+assert_return(() => invoke($0, `ge`, [value("f32", Infinity), value("f32", 0)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:2297
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -Infinity),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2298
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -Infinity),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2299
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", Infinity),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2300
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", Infinity),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2301
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -Infinity),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2302
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -Infinity),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2303
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", Infinity),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2304
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", Infinity),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2305
+assert_return(() => invoke($0, `ge`, [value("f32", -Infinity), value("f32", -0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:2306
+assert_return(() => invoke($0, `ge`, [value("f32", -Infinity), value("f32", 0.5)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:2307
+assert_return(() => invoke($0, `ge`, [value("f32", Infinity), value("f32", -0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:2308
+assert_return(() => invoke($0, `ge`, [value("f32", Infinity), value("f32", 0.5)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:2309
+assert_return(() => invoke($0, `ge`, [value("f32", -Infinity), value("f32", -1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:2310
+assert_return(() => invoke($0, `ge`, [value("f32", -Infinity), value("f32", 1)]), [value("i32", 0)]);
+
+// ./test/core/f32_cmp.wast:2311
+assert_return(() => invoke($0, `ge`, [value("f32", Infinity), value("f32", -1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:2312
+assert_return(() => invoke($0, `ge`, [value("f32", Infinity), value("f32", 1)]), [value("i32", 1)]);
+
+// ./test/core/f32_cmp.wast:2313
+assert_return(
+ () => invoke($0, `ge`, [value("f32", -Infinity), value("f32", -6.2831855)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2314
+assert_return(
+ () => invoke($0, `ge`, [value("f32", -Infinity), value("f32", 6.2831855)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2315
+assert_return(
+ () => invoke($0, `ge`, [value("f32", Infinity), value("f32", -6.2831855)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2316
+assert_return(
+ () => invoke($0, `ge`, [value("f32", Infinity), value("f32", 6.2831855)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2317
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -Infinity),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2318
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -Infinity),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2319
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", Infinity),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2320
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", Infinity),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2321
+assert_return(
+ () => invoke($0, `ge`, [value("f32", -Infinity), value("f32", -Infinity)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2322
+assert_return(
+ () => invoke($0, `ge`, [value("f32", -Infinity), value("f32", Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2323
+assert_return(
+ () => invoke($0, `ge`, [value("f32", Infinity), value("f32", -Infinity)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2324
+assert_return(
+ () => invoke($0, `ge`, [value("f32", Infinity), value("f32", Infinity)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f32_cmp.wast:2325
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -Infinity),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2326
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -Infinity),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2327
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -Infinity),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2328
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f32", -Infinity),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2329
+assert_return(
+ () => invoke($0, `ge`, [value("f32", Infinity), bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2330
+assert_return(
+ () => invoke($0, `ge`, [value("f32", Infinity), bytes("f32", [0x0, 0x0, 0xa0, 0xff])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2331
+assert_return(
+ () => invoke($0, `ge`, [value("f32", Infinity), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2332
+assert_return(
+ () => invoke($0, `ge`, [value("f32", Infinity), bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2333
+assert_return(
+ () => invoke($0, `ge`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", -0)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2334
+assert_return(
+ () => invoke($0, `ge`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", -0)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2335
+assert_return(
+ () => invoke($0, `ge`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", 0)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2336
+assert_return(
+ () => invoke($0, `ge`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", 0)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2337
+assert_return(
+ () => invoke($0, `ge`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", -0)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2338
+assert_return(
+ () => invoke($0, `ge`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", -0)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2339
+assert_return(
+ () => invoke($0, `ge`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", 0)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2340
+assert_return(
+ () => invoke($0, `ge`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", 0)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2341
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2342
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2343
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2344
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2345
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2346
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2347
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2348
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2349
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2350
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2351
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2352
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2353
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2354
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2355
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2356
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2357
+assert_return(
+ () => invoke($0, `ge`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", -0.5)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2358
+assert_return(
+ () => invoke($0, `ge`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", -0.5)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2359
+assert_return(
+ () => invoke($0, `ge`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", 0.5)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2360
+assert_return(
+ () => invoke($0, `ge`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", 0.5)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2361
+assert_return(
+ () => invoke($0, `ge`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", -0.5)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2362
+assert_return(
+ () => invoke($0, `ge`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", -0.5)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2363
+assert_return(
+ () => invoke($0, `ge`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", 0.5)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2364
+assert_return(
+ () => invoke($0, `ge`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", 0.5)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2365
+assert_return(
+ () => invoke($0, `ge`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", -1)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2366
+assert_return(
+ () => invoke($0, `ge`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", -1)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2367
+assert_return(
+ () => invoke($0, `ge`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", 1)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2368
+assert_return(
+ () => invoke($0, `ge`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", 1)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2369
+assert_return(
+ () => invoke($0, `ge`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", -1)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2370
+assert_return(
+ () => invoke($0, `ge`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", -1)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2371
+assert_return(
+ () => invoke($0, `ge`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", 1)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2372
+assert_return(
+ () => invoke($0, `ge`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", 1)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2373
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2374
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2375
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2376
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2377
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2378
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2379
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2380
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", 6.2831855),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2381
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2382
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2383
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2384
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2385
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2386
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2387
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2388
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2389
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2390
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2391
+assert_return(
+ () => invoke($0, `ge`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff]), value("f32", Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2392
+assert_return(
+ () => invoke($0, `ge`, [bytes("f32", [0x0, 0x0, 0xa0, 0xff]), value("f32", Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2393
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2394
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ value("f32", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2395
+assert_return(
+ () => invoke($0, `ge`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f]), value("f32", Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2396
+assert_return(
+ () => invoke($0, `ge`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f]), value("f32", Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2397
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2398
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2399
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2400
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2401
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2402
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2403
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2404
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2405
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2406
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2407
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2408
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2409
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2410
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2411
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2412
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f32_cmp.wast:2417
+assert_invalid(
+ () => instantiate(`(module (func (result f32) (f32.eq (i64.const 0) (f64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/f32_cmp.wast:2418
+assert_invalid(
+ () => instantiate(`(module (func (result f32) (f32.ge (i64.const 0) (f64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/f32_cmp.wast:2419
+assert_invalid(
+ () => instantiate(`(module (func (result f32) (f32.gt (i64.const 0) (f64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/f32_cmp.wast:2420
+assert_invalid(
+ () => instantiate(`(module (func (result f32) (f32.le (i64.const 0) (f64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/f32_cmp.wast:2421
+assert_invalid(
+ () => instantiate(`(module (func (result f32) (f32.lt (i64.const 0) (f64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/f32_cmp.wast:2422
+assert_invalid(
+ () => instantiate(`(module (func (result f32) (f32.ne (i64.const 0) (f64.const 0))))`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/f64.wast.js b/js/src/jit-test/tests/wasm/spec/spec/f64.wast.js
new file mode 100644
index 0000000000..6bce2a366e
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/f64.wast.js
@@ -0,0 +1,20658 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/f64.wast
+
+// ./test/core/f64.wast:5
+let $0 = instantiate(`(module
+ (func (export "add") (param $$x f64) (param $$y f64) (result f64) (f64.add (local.get $$x) (local.get $$y)))
+ (func (export "sub") (param $$x f64) (param $$y f64) (result f64) (f64.sub (local.get $$x) (local.get $$y)))
+ (func (export "mul") (param $$x f64) (param $$y f64) (result f64) (f64.mul (local.get $$x) (local.get $$y)))
+ (func (export "div") (param $$x f64) (param $$y f64) (result f64) (f64.div (local.get $$x) (local.get $$y)))
+ (func (export "sqrt") (param $$x f64) (result f64) (f64.sqrt (local.get $$x)))
+ (func (export "min") (param $$x f64) (param $$y f64) (result f64) (f64.min (local.get $$x) (local.get $$y)))
+ (func (export "max") (param $$x f64) (param $$y f64) (result f64) (f64.max (local.get $$x) (local.get $$y)))
+ (func (export "ceil") (param $$x f64) (result f64) (f64.ceil (local.get $$x)))
+ (func (export "floor") (param $$x f64) (result f64) (f64.floor (local.get $$x)))
+ (func (export "trunc") (param $$x f64) (result f64) (f64.trunc (local.get $$x)))
+ (func (export "nearest") (param $$x f64) (result f64) (f64.nearest (local.get $$x)))
+)`);
+
+// ./test/core/f64.wast:19
+assert_return(() => invoke($0, `add`, [value("f64", -0), value("f64", -0)]), [value("f64", -0)]);
+
+// ./test/core/f64.wast:20
+assert_return(() => invoke($0, `add`, [value("f64", -0), value("f64", 0)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:21
+assert_return(() => invoke($0, `add`, [value("f64", 0), value("f64", -0)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:22
+assert_return(() => invoke($0, `add`, [value("f64", 0), value("f64", 0)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:23
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:24
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:25
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:26
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:27
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:28
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:29
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:30
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:31
+assert_return(() => invoke($0, `add`, [value("f64", -0), value("f64", -0.5)]), [value("f64", -0.5)]);
+
+// ./test/core/f64.wast:32
+assert_return(() => invoke($0, `add`, [value("f64", -0), value("f64", 0.5)]), [value("f64", 0.5)]);
+
+// ./test/core/f64.wast:33
+assert_return(() => invoke($0, `add`, [value("f64", 0), value("f64", -0.5)]), [value("f64", -0.5)]);
+
+// ./test/core/f64.wast:34
+assert_return(() => invoke($0, `add`, [value("f64", 0), value("f64", 0.5)]), [value("f64", 0.5)]);
+
+// ./test/core/f64.wast:35
+assert_return(() => invoke($0, `add`, [value("f64", -0), value("f64", -1)]), [value("f64", -1)]);
+
+// ./test/core/f64.wast:36
+assert_return(() => invoke($0, `add`, [value("f64", -0), value("f64", 1)]), [value("f64", 1)]);
+
+// ./test/core/f64.wast:37
+assert_return(() => invoke($0, `add`, [value("f64", 0), value("f64", -1)]), [value("f64", -1)]);
+
+// ./test/core/f64.wast:38
+assert_return(() => invoke($0, `add`, [value("f64", 0), value("f64", 1)]), [value("f64", 1)]);
+
+// ./test/core/f64.wast:39
+assert_return(
+ () => invoke($0, `add`, [value("f64", -0), value("f64", -6.283185307179586)]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:40
+assert_return(
+ () => invoke($0, `add`, [value("f64", -0), value("f64", 6.283185307179586)]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:41
+assert_return(
+ () => invoke($0, `add`, [value("f64", 0), value("f64", -6.283185307179586)]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:42
+assert_return(
+ () => invoke($0, `add`, [value("f64", 0), value("f64", 6.283185307179586)]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:43
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:44
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:45
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:46
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:47
+assert_return(
+ () => invoke($0, `add`, [value("f64", -0), value("f64", -Infinity)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:48
+assert_return(
+ () => invoke($0, `add`, [value("f64", -0), value("f64", Infinity)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:49
+assert_return(
+ () => invoke($0, `add`, [value("f64", 0), value("f64", -Infinity)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:50
+assert_return(
+ () => invoke($0, `add`, [value("f64", 0), value("f64", Infinity)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:51
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:52
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:53
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:54
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:55
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:56
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:57
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:58
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:59
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:60
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:61
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:62
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:63
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ ],
+);
+
+// ./test/core/f64.wast:64
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:65
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:66
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ ],
+);
+
+// ./test/core/f64.wast:67
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507202),
+ ],
+);
+
+// ./test/core/f64.wast:68
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507201),
+ ],
+);
+
+// ./test/core/f64.wast:69
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507201),
+ ],
+);
+
+// ./test/core/f64.wast:70
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507202),
+ ],
+);
+
+// ./test/core/f64.wast:71
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.5),
+ ]),
+ [value("f64", -0.5)],
+);
+
+// ./test/core/f64.wast:72
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.5),
+ ]),
+ [value("f64", 0.5)],
+);
+
+// ./test/core/f64.wast:73
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.5),
+ ]),
+ [value("f64", -0.5)],
+);
+
+// ./test/core/f64.wast:74
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.5),
+ ]),
+ [value("f64", 0.5)],
+);
+
+// ./test/core/f64.wast:75
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -1),
+ ]),
+ [value("f64", -1)],
+);
+
+// ./test/core/f64.wast:76
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 1),
+ ]),
+ [value("f64", 1)],
+);
+
+// ./test/core/f64.wast:77
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -1),
+ ]),
+ [value("f64", -1)],
+);
+
+// ./test/core/f64.wast:78
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 1),
+ ]),
+ [value("f64", 1)],
+);
+
+// ./test/core/f64.wast:79
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:80
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:81
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:82
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:83
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:84
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:85
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:86
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:87
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -Infinity),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:88
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", Infinity),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:89
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -Infinity),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:90
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", Infinity),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:91
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:92
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:93
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:94
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:95
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:96
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:97
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:98
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:99
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:100
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:101
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:102
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:103
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507202),
+ ],
+);
+
+// ./test/core/f64.wast:104
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507201),
+ ],
+);
+
+// ./test/core/f64.wast:105
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507201),
+ ],
+);
+
+// ./test/core/f64.wast:106
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507202),
+ ],
+);
+
+// ./test/core/f64.wast:107
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004450147717014403),
+ ],
+);
+
+// ./test/core/f64.wast:108
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:109
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:110
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004450147717014403),
+ ],
+);
+
+// ./test/core/f64.wast:111
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.5),
+ ]),
+ [value("f64", -0.5)],
+);
+
+// ./test/core/f64.wast:112
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.5),
+ ]),
+ [value("f64", 0.5)],
+);
+
+// ./test/core/f64.wast:113
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.5),
+ ]),
+ [value("f64", -0.5)],
+);
+
+// ./test/core/f64.wast:114
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.5),
+ ]),
+ [value("f64", 0.5)],
+);
+
+// ./test/core/f64.wast:115
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -1),
+ ]),
+ [value("f64", -1)],
+);
+
+// ./test/core/f64.wast:116
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 1),
+ ]),
+ [value("f64", 1)],
+);
+
+// ./test/core/f64.wast:117
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -1),
+ ]),
+ [value("f64", -1)],
+);
+
+// ./test/core/f64.wast:118
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 1),
+ ]),
+ [value("f64", 1)],
+);
+
+// ./test/core/f64.wast:119
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:120
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:121
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:122
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:123
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:124
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:125
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:126
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:127
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -Infinity),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:128
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", Infinity),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:129
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -Infinity),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:130
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", Infinity),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:131
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:132
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:133
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:134
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:135
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:136
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:137
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:138
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:139
+assert_return(() => invoke($0, `add`, [value("f64", -0.5), value("f64", -0)]), [value("f64", -0.5)]);
+
+// ./test/core/f64.wast:140
+assert_return(() => invoke($0, `add`, [value("f64", -0.5), value("f64", 0)]), [value("f64", -0.5)]);
+
+// ./test/core/f64.wast:141
+assert_return(() => invoke($0, `add`, [value("f64", 0.5), value("f64", -0)]), [value("f64", 0.5)]);
+
+// ./test/core/f64.wast:142
+assert_return(() => invoke($0, `add`, [value("f64", 0.5), value("f64", 0)]), [value("f64", 0.5)]);
+
+// ./test/core/f64.wast:143
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0.5),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -0.5)],
+);
+
+// ./test/core/f64.wast:144
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0.5),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -0.5)],
+);
+
+// ./test/core/f64.wast:145
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0.5),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", 0.5)],
+);
+
+// ./test/core/f64.wast:146
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0.5),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", 0.5)],
+);
+
+// ./test/core/f64.wast:147
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0.5),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -0.5)],
+);
+
+// ./test/core/f64.wast:148
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0.5),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -0.5)],
+);
+
+// ./test/core/f64.wast:149
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0.5),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", 0.5)],
+);
+
+// ./test/core/f64.wast:150
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0.5),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", 0.5)],
+);
+
+// ./test/core/f64.wast:151
+assert_return(() => invoke($0, `add`, [value("f64", -0.5), value("f64", -0.5)]), [value("f64", -1)]);
+
+// ./test/core/f64.wast:152
+assert_return(() => invoke($0, `add`, [value("f64", -0.5), value("f64", 0.5)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:153
+assert_return(() => invoke($0, `add`, [value("f64", 0.5), value("f64", -0.5)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:154
+assert_return(() => invoke($0, `add`, [value("f64", 0.5), value("f64", 0.5)]), [value("f64", 1)]);
+
+// ./test/core/f64.wast:155
+assert_return(() => invoke($0, `add`, [value("f64", -0.5), value("f64", -1)]), [value("f64", -1.5)]);
+
+// ./test/core/f64.wast:156
+assert_return(() => invoke($0, `add`, [value("f64", -0.5), value("f64", 1)]), [value("f64", 0.5)]);
+
+// ./test/core/f64.wast:157
+assert_return(() => invoke($0, `add`, [value("f64", 0.5), value("f64", -1)]), [value("f64", -0.5)]);
+
+// ./test/core/f64.wast:158
+assert_return(() => invoke($0, `add`, [value("f64", 0.5), value("f64", 1)]), [value("f64", 1.5)]);
+
+// ./test/core/f64.wast:159
+assert_return(
+ () => invoke($0, `add`, [value("f64", -0.5), value("f64", -6.283185307179586)]),
+ [value("f64", -6.783185307179586)],
+);
+
+// ./test/core/f64.wast:160
+assert_return(
+ () => invoke($0, `add`, [value("f64", -0.5), value("f64", 6.283185307179586)]),
+ [value("f64", 5.783185307179586)],
+);
+
+// ./test/core/f64.wast:161
+assert_return(
+ () => invoke($0, `add`, [value("f64", 0.5), value("f64", -6.283185307179586)]),
+ [value("f64", -5.783185307179586)],
+);
+
+// ./test/core/f64.wast:162
+assert_return(
+ () => invoke($0, `add`, [value("f64", 0.5), value("f64", 6.283185307179586)]),
+ [value("f64", 6.783185307179586)],
+);
+
+// ./test/core/f64.wast:163
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0.5),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:164
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0.5),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:165
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0.5),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:166
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0.5),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:167
+assert_return(
+ () => invoke($0, `add`, [value("f64", -0.5), value("f64", -Infinity)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:168
+assert_return(
+ () => invoke($0, `add`, [value("f64", -0.5), value("f64", Infinity)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:169
+assert_return(
+ () => invoke($0, `add`, [value("f64", 0.5), value("f64", -Infinity)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:170
+assert_return(
+ () => invoke($0, `add`, [value("f64", 0.5), value("f64", Infinity)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:171
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:172
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:173
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:174
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:175
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:176
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:177
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:178
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:179
+assert_return(() => invoke($0, `add`, [value("f64", -1), value("f64", -0)]), [value("f64", -1)]);
+
+// ./test/core/f64.wast:180
+assert_return(() => invoke($0, `add`, [value("f64", -1), value("f64", 0)]), [value("f64", -1)]);
+
+// ./test/core/f64.wast:181
+assert_return(() => invoke($0, `add`, [value("f64", 1), value("f64", -0)]), [value("f64", 1)]);
+
+// ./test/core/f64.wast:182
+assert_return(() => invoke($0, `add`, [value("f64", 1), value("f64", 0)]), [value("f64", 1)]);
+
+// ./test/core/f64.wast:183
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -1),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -1)],
+);
+
+// ./test/core/f64.wast:184
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -1),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -1)],
+);
+
+// ./test/core/f64.wast:185
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 1),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", 1)],
+);
+
+// ./test/core/f64.wast:186
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 1),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", 1)],
+);
+
+// ./test/core/f64.wast:187
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -1),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -1)],
+);
+
+// ./test/core/f64.wast:188
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -1),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -1)],
+);
+
+// ./test/core/f64.wast:189
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 1),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", 1)],
+);
+
+// ./test/core/f64.wast:190
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 1),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", 1)],
+);
+
+// ./test/core/f64.wast:191
+assert_return(() => invoke($0, `add`, [value("f64", -1), value("f64", -0.5)]), [value("f64", -1.5)]);
+
+// ./test/core/f64.wast:192
+assert_return(() => invoke($0, `add`, [value("f64", -1), value("f64", 0.5)]), [value("f64", -0.5)]);
+
+// ./test/core/f64.wast:193
+assert_return(() => invoke($0, `add`, [value("f64", 1), value("f64", -0.5)]), [value("f64", 0.5)]);
+
+// ./test/core/f64.wast:194
+assert_return(() => invoke($0, `add`, [value("f64", 1), value("f64", 0.5)]), [value("f64", 1.5)]);
+
+// ./test/core/f64.wast:195
+assert_return(() => invoke($0, `add`, [value("f64", -1), value("f64", -1)]), [value("f64", -2)]);
+
+// ./test/core/f64.wast:196
+assert_return(() => invoke($0, `add`, [value("f64", -1), value("f64", 1)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:197
+assert_return(() => invoke($0, `add`, [value("f64", 1), value("f64", -1)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:198
+assert_return(() => invoke($0, `add`, [value("f64", 1), value("f64", 1)]), [value("f64", 2)]);
+
+// ./test/core/f64.wast:199
+assert_return(
+ () => invoke($0, `add`, [value("f64", -1), value("f64", -6.283185307179586)]),
+ [value("f64", -7.283185307179586)],
+);
+
+// ./test/core/f64.wast:200
+assert_return(
+ () => invoke($0, `add`, [value("f64", -1), value("f64", 6.283185307179586)]),
+ [value("f64", 5.283185307179586)],
+);
+
+// ./test/core/f64.wast:201
+assert_return(
+ () => invoke($0, `add`, [value("f64", 1), value("f64", -6.283185307179586)]),
+ [value("f64", -5.283185307179586)],
+);
+
+// ./test/core/f64.wast:202
+assert_return(
+ () => invoke($0, `add`, [value("f64", 1), value("f64", 6.283185307179586)]),
+ [value("f64", 7.283185307179586)],
+);
+
+// ./test/core/f64.wast:203
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -1),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:204
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -1),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:205
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 1),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:206
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 1),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:207
+assert_return(
+ () => invoke($0, `add`, [value("f64", -1), value("f64", -Infinity)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:208
+assert_return(
+ () => invoke($0, `add`, [value("f64", -1), value("f64", Infinity)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:209
+assert_return(
+ () => invoke($0, `add`, [value("f64", 1), value("f64", -Infinity)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:210
+assert_return(
+ () => invoke($0, `add`, [value("f64", 1), value("f64", Infinity)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:211
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:212
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:213
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:214
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:215
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:216
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:217
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:218
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:219
+assert_return(
+ () => invoke($0, `add`, [value("f64", -6.283185307179586), value("f64", -0)]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:220
+assert_return(
+ () => invoke($0, `add`, [value("f64", -6.283185307179586), value("f64", 0)]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:221
+assert_return(
+ () => invoke($0, `add`, [value("f64", 6.283185307179586), value("f64", -0)]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:222
+assert_return(
+ () => invoke($0, `add`, [value("f64", 6.283185307179586), value("f64", 0)]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:223
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -6.283185307179586),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:224
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -6.283185307179586),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:225
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 6.283185307179586),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:226
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 6.283185307179586),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:227
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -6.283185307179586),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:228
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -6.283185307179586),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:229
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 6.283185307179586),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:230
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 6.283185307179586),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:231
+assert_return(
+ () => invoke($0, `add`, [value("f64", -6.283185307179586), value("f64", -0.5)]),
+ [value("f64", -6.783185307179586)],
+);
+
+// ./test/core/f64.wast:232
+assert_return(
+ () => invoke($0, `add`, [value("f64", -6.283185307179586), value("f64", 0.5)]),
+ [value("f64", -5.783185307179586)],
+);
+
+// ./test/core/f64.wast:233
+assert_return(
+ () => invoke($0, `add`, [value("f64", 6.283185307179586), value("f64", -0.5)]),
+ [value("f64", 5.783185307179586)],
+);
+
+// ./test/core/f64.wast:234
+assert_return(
+ () => invoke($0, `add`, [value("f64", 6.283185307179586), value("f64", 0.5)]),
+ [value("f64", 6.783185307179586)],
+);
+
+// ./test/core/f64.wast:235
+assert_return(
+ () => invoke($0, `add`, [value("f64", -6.283185307179586), value("f64", -1)]),
+ [value("f64", -7.283185307179586)],
+);
+
+// ./test/core/f64.wast:236
+assert_return(
+ () => invoke($0, `add`, [value("f64", -6.283185307179586), value("f64", 1)]),
+ [value("f64", -5.283185307179586)],
+);
+
+// ./test/core/f64.wast:237
+assert_return(
+ () => invoke($0, `add`, [value("f64", 6.283185307179586), value("f64", -1)]),
+ [value("f64", 5.283185307179586)],
+);
+
+// ./test/core/f64.wast:238
+assert_return(
+ () => invoke($0, `add`, [value("f64", 6.283185307179586), value("f64", 1)]),
+ [value("f64", 7.283185307179586)],
+);
+
+// ./test/core/f64.wast:239
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("f64", -12.566370614359172)],
+);
+
+// ./test/core/f64.wast:240
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -6.283185307179586),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:241
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 6.283185307179586),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:242
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("f64", 12.566370614359172)],
+);
+
+// ./test/core/f64.wast:243
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -6.283185307179586),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:244
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -6.283185307179586),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:245
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 6.283185307179586),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:246
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 6.283185307179586),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:247
+assert_return(
+ () => invoke($0, `add`, [value("f64", -6.283185307179586), value("f64", -Infinity)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:248
+assert_return(
+ () => invoke($0, `add`, [value("f64", -6.283185307179586), value("f64", Infinity)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:249
+assert_return(
+ () => invoke($0, `add`, [value("f64", 6.283185307179586), value("f64", -Infinity)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:250
+assert_return(
+ () => invoke($0, `add`, [value("f64", 6.283185307179586), value("f64", Infinity)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:251
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:252
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:253
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:254
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:255
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:256
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:257
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:258
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:259
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:260
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:261
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:262
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:263
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:264
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:265
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:266
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:267
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:268
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:269
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:270
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:271
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.5),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:272
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.5),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:273
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.5),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:274
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.5),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:275
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -1),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:276
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 1),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:277
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -1),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:278
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 1),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:279
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -6.283185307179586),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:280
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 6.283185307179586),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:281
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -6.283185307179586),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:282
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 6.283185307179586),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:283
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:284
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:285
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:286
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:287
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -Infinity),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:288
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", Infinity),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:289
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -Infinity),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:290
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", Infinity),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:291
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:292
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:293
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:294
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:295
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:296
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:297
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:298
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:299
+assert_return(
+ () => invoke($0, `add`, [value("f64", -Infinity), value("f64", -0)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:300
+assert_return(
+ () => invoke($0, `add`, [value("f64", -Infinity), value("f64", 0)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:301
+assert_return(
+ () => invoke($0, `add`, [value("f64", Infinity), value("f64", -0)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:302
+assert_return(
+ () => invoke($0, `add`, [value("f64", Infinity), value("f64", 0)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:303
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -Infinity),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:304
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -Infinity),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:305
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", Infinity),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:306
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", Infinity),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:307
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -Infinity),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:308
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -Infinity),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:309
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", Infinity),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:310
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", Infinity),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:311
+assert_return(
+ () => invoke($0, `add`, [value("f64", -Infinity), value("f64", -0.5)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:312
+assert_return(
+ () => invoke($0, `add`, [value("f64", -Infinity), value("f64", 0.5)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:313
+assert_return(
+ () => invoke($0, `add`, [value("f64", Infinity), value("f64", -0.5)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:314
+assert_return(
+ () => invoke($0, `add`, [value("f64", Infinity), value("f64", 0.5)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:315
+assert_return(
+ () => invoke($0, `add`, [value("f64", -Infinity), value("f64", -1)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:316
+assert_return(
+ () => invoke($0, `add`, [value("f64", -Infinity), value("f64", 1)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:317
+assert_return(
+ () => invoke($0, `add`, [value("f64", Infinity), value("f64", -1)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:318
+assert_return(
+ () => invoke($0, `add`, [value("f64", Infinity), value("f64", 1)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:319
+assert_return(
+ () => invoke($0, `add`, [value("f64", -Infinity), value("f64", -6.283185307179586)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:320
+assert_return(
+ () => invoke($0, `add`, [value("f64", -Infinity), value("f64", 6.283185307179586)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:321
+assert_return(
+ () => invoke($0, `add`, [value("f64", Infinity), value("f64", -6.283185307179586)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:322
+assert_return(
+ () => invoke($0, `add`, [value("f64", Infinity), value("f64", 6.283185307179586)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:323
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -Infinity),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:324
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -Infinity),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:325
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", Infinity),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:326
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", Infinity),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:327
+assert_return(
+ () => invoke($0, `add`, [value("f64", -Infinity), value("f64", -Infinity)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:328
+assert_return(
+ () => invoke($0, `add`, [value("f64", -Infinity), value("f64", Infinity)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:329
+assert_return(
+ () => invoke($0, `add`, [value("f64", Infinity), value("f64", -Infinity)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:330
+assert_return(
+ () => invoke($0, `add`, [value("f64", Infinity), value("f64", Infinity)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:331
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:332
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:333
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:334
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", -Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:335
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:336
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:337
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:338
+assert_return(
+ () => invoke($0, `add`, [
+ value("f64", Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:339
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -0),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:340
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -0),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:341
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 0),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:342
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 0),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:343
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -0),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:344
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -0),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:345
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:346
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 0),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:347
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:348
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:349
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:350
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:351
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:352
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:353
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:354
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:355
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:356
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:357
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:358
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:359
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:360
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:361
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:362
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:363
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -0.5),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:364
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -0.5),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:365
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 0.5),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:366
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 0.5),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:367
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -0.5),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:368
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -0.5),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:369
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0.5),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:370
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 0.5),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:371
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -1),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:372
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -1),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:373
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 1),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:374
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 1),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:375
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -1),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:376
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -1),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:377
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 1),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:378
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 1),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:379
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -6.283185307179586),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:380
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -6.283185307179586),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:381
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 6.283185307179586),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:382
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 6.283185307179586),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:383
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -6.283185307179586),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:384
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -6.283185307179586),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:385
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 6.283185307179586),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:386
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 6.283185307179586),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:387
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:388
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:389
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:390
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:391
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:392
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:393
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:394
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:395
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -Infinity),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:396
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -Infinity),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:397
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", Infinity),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:398
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", Infinity),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:399
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -Infinity),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:400
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -Infinity),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:401
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", Infinity),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:402
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", Infinity),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:403
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:404
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:405
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:406
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:407
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:408
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:409
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:410
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:411
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:412
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:413
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:414
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:415
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:416
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:417
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:418
+assert_return(
+ () => invoke($0, `add`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:419
+assert_return(() => invoke($0, `sub`, [value("f64", -0), value("f64", -0)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:420
+assert_return(() => invoke($0, `sub`, [value("f64", -0), value("f64", 0)]), [value("f64", -0)]);
+
+// ./test/core/f64.wast:421
+assert_return(() => invoke($0, `sub`, [value("f64", 0), value("f64", -0)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:422
+assert_return(() => invoke($0, `sub`, [value("f64", 0), value("f64", 0)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:423
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:424
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:425
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:426
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:427
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:428
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:429
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:430
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:431
+assert_return(() => invoke($0, `sub`, [value("f64", -0), value("f64", -0.5)]), [value("f64", 0.5)]);
+
+// ./test/core/f64.wast:432
+assert_return(() => invoke($0, `sub`, [value("f64", -0), value("f64", 0.5)]), [value("f64", -0.5)]);
+
+// ./test/core/f64.wast:433
+assert_return(() => invoke($0, `sub`, [value("f64", 0), value("f64", -0.5)]), [value("f64", 0.5)]);
+
+// ./test/core/f64.wast:434
+assert_return(() => invoke($0, `sub`, [value("f64", 0), value("f64", 0.5)]), [value("f64", -0.5)]);
+
+// ./test/core/f64.wast:435
+assert_return(() => invoke($0, `sub`, [value("f64", -0), value("f64", -1)]), [value("f64", 1)]);
+
+// ./test/core/f64.wast:436
+assert_return(() => invoke($0, `sub`, [value("f64", -0), value("f64", 1)]), [value("f64", -1)]);
+
+// ./test/core/f64.wast:437
+assert_return(() => invoke($0, `sub`, [value("f64", 0), value("f64", -1)]), [value("f64", 1)]);
+
+// ./test/core/f64.wast:438
+assert_return(() => invoke($0, `sub`, [value("f64", 0), value("f64", 1)]), [value("f64", -1)]);
+
+// ./test/core/f64.wast:439
+assert_return(
+ () => invoke($0, `sub`, [value("f64", -0), value("f64", -6.283185307179586)]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:440
+assert_return(
+ () => invoke($0, `sub`, [value("f64", -0), value("f64", 6.283185307179586)]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:441
+assert_return(
+ () => invoke($0, `sub`, [value("f64", 0), value("f64", -6.283185307179586)]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:442
+assert_return(
+ () => invoke($0, `sub`, [value("f64", 0), value("f64", 6.283185307179586)]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:443
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:444
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:445
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:446
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:447
+assert_return(
+ () => invoke($0, `sub`, [value("f64", -0), value("f64", -Infinity)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:448
+assert_return(
+ () => invoke($0, `sub`, [value("f64", -0), value("f64", Infinity)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:449
+assert_return(
+ () => invoke($0, `sub`, [value("f64", 0), value("f64", -Infinity)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:450
+assert_return(
+ () => invoke($0, `sub`, [value("f64", 0), value("f64", Infinity)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:451
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:452
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:453
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:454
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:455
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:456
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:457
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:458
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:459
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:460
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:461
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:462
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:463
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:464
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ ],
+);
+
+// ./test/core/f64.wast:465
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ ],
+);
+
+// ./test/core/f64.wast:466
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:467
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507201),
+ ],
+);
+
+// ./test/core/f64.wast:468
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507202),
+ ],
+);
+
+// ./test/core/f64.wast:469
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507202),
+ ],
+);
+
+// ./test/core/f64.wast:470
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507201),
+ ],
+);
+
+// ./test/core/f64.wast:471
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.5),
+ ]),
+ [value("f64", 0.5)],
+);
+
+// ./test/core/f64.wast:472
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.5),
+ ]),
+ [value("f64", -0.5)],
+);
+
+// ./test/core/f64.wast:473
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.5),
+ ]),
+ [value("f64", 0.5)],
+);
+
+// ./test/core/f64.wast:474
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.5),
+ ]),
+ [value("f64", -0.5)],
+);
+
+// ./test/core/f64.wast:475
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -1),
+ ]),
+ [value("f64", 1)],
+);
+
+// ./test/core/f64.wast:476
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 1),
+ ]),
+ [value("f64", -1)],
+);
+
+// ./test/core/f64.wast:477
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -1),
+ ]),
+ [value("f64", 1)],
+);
+
+// ./test/core/f64.wast:478
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 1),
+ ]),
+ [value("f64", -1)],
+);
+
+// ./test/core/f64.wast:479
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:480
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:481
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:482
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:483
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:484
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:485
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:486
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:487
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -Infinity),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:488
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", Infinity),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:489
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -Infinity),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:490
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", Infinity),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:491
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:492
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:493
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:494
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:495
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:496
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:497
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:498
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:499
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:500
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:501
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:502
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:503
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507201),
+ ],
+);
+
+// ./test/core/f64.wast:504
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507202),
+ ],
+);
+
+// ./test/core/f64.wast:505
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507202),
+ ],
+);
+
+// ./test/core/f64.wast:506
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507201),
+ ],
+);
+
+// ./test/core/f64.wast:507
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:508
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004450147717014403),
+ ],
+);
+
+// ./test/core/f64.wast:509
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004450147717014403),
+ ],
+);
+
+// ./test/core/f64.wast:510
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:511
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.5),
+ ]),
+ [value("f64", 0.5)],
+);
+
+// ./test/core/f64.wast:512
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.5),
+ ]),
+ [value("f64", -0.5)],
+);
+
+// ./test/core/f64.wast:513
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.5),
+ ]),
+ [value("f64", 0.5)],
+);
+
+// ./test/core/f64.wast:514
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.5),
+ ]),
+ [value("f64", -0.5)],
+);
+
+// ./test/core/f64.wast:515
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -1),
+ ]),
+ [value("f64", 1)],
+);
+
+// ./test/core/f64.wast:516
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 1),
+ ]),
+ [value("f64", -1)],
+);
+
+// ./test/core/f64.wast:517
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -1),
+ ]),
+ [value("f64", 1)],
+);
+
+// ./test/core/f64.wast:518
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 1),
+ ]),
+ [value("f64", -1)],
+);
+
+// ./test/core/f64.wast:519
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:520
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:521
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:522
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:523
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:524
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:525
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:526
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:527
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -Infinity),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:528
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", Infinity),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:529
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -Infinity),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:530
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", Infinity),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:531
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:532
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:533
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:534
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:535
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:536
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:537
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:538
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:539
+assert_return(() => invoke($0, `sub`, [value("f64", -0.5), value("f64", -0)]), [value("f64", -0.5)]);
+
+// ./test/core/f64.wast:540
+assert_return(() => invoke($0, `sub`, [value("f64", -0.5), value("f64", 0)]), [value("f64", -0.5)]);
+
+// ./test/core/f64.wast:541
+assert_return(() => invoke($0, `sub`, [value("f64", 0.5), value("f64", -0)]), [value("f64", 0.5)]);
+
+// ./test/core/f64.wast:542
+assert_return(() => invoke($0, `sub`, [value("f64", 0.5), value("f64", 0)]), [value("f64", 0.5)]);
+
+// ./test/core/f64.wast:543
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0.5),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -0.5)],
+);
+
+// ./test/core/f64.wast:544
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0.5),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -0.5)],
+);
+
+// ./test/core/f64.wast:545
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0.5),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", 0.5)],
+);
+
+// ./test/core/f64.wast:546
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0.5),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", 0.5)],
+);
+
+// ./test/core/f64.wast:547
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0.5),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -0.5)],
+);
+
+// ./test/core/f64.wast:548
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0.5),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -0.5)],
+);
+
+// ./test/core/f64.wast:549
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0.5),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", 0.5)],
+);
+
+// ./test/core/f64.wast:550
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0.5),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", 0.5)],
+);
+
+// ./test/core/f64.wast:551
+assert_return(() => invoke($0, `sub`, [value("f64", -0.5), value("f64", -0.5)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:552
+assert_return(() => invoke($0, `sub`, [value("f64", -0.5), value("f64", 0.5)]), [value("f64", -1)]);
+
+// ./test/core/f64.wast:553
+assert_return(() => invoke($0, `sub`, [value("f64", 0.5), value("f64", -0.5)]), [value("f64", 1)]);
+
+// ./test/core/f64.wast:554
+assert_return(() => invoke($0, `sub`, [value("f64", 0.5), value("f64", 0.5)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:555
+assert_return(() => invoke($0, `sub`, [value("f64", -0.5), value("f64", -1)]), [value("f64", 0.5)]);
+
+// ./test/core/f64.wast:556
+assert_return(() => invoke($0, `sub`, [value("f64", -0.5), value("f64", 1)]), [value("f64", -1.5)]);
+
+// ./test/core/f64.wast:557
+assert_return(() => invoke($0, `sub`, [value("f64", 0.5), value("f64", -1)]), [value("f64", 1.5)]);
+
+// ./test/core/f64.wast:558
+assert_return(() => invoke($0, `sub`, [value("f64", 0.5), value("f64", 1)]), [value("f64", -0.5)]);
+
+// ./test/core/f64.wast:559
+assert_return(
+ () => invoke($0, `sub`, [value("f64", -0.5), value("f64", -6.283185307179586)]),
+ [value("f64", 5.783185307179586)],
+);
+
+// ./test/core/f64.wast:560
+assert_return(
+ () => invoke($0, `sub`, [value("f64", -0.5), value("f64", 6.283185307179586)]),
+ [value("f64", -6.783185307179586)],
+);
+
+// ./test/core/f64.wast:561
+assert_return(
+ () => invoke($0, `sub`, [value("f64", 0.5), value("f64", -6.283185307179586)]),
+ [value("f64", 6.783185307179586)],
+);
+
+// ./test/core/f64.wast:562
+assert_return(
+ () => invoke($0, `sub`, [value("f64", 0.5), value("f64", 6.283185307179586)]),
+ [value("f64", -5.783185307179586)],
+);
+
+// ./test/core/f64.wast:563
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0.5),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:564
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0.5),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:565
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0.5),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:566
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0.5),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:567
+assert_return(
+ () => invoke($0, `sub`, [value("f64", -0.5), value("f64", -Infinity)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:568
+assert_return(
+ () => invoke($0, `sub`, [value("f64", -0.5), value("f64", Infinity)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:569
+assert_return(
+ () => invoke($0, `sub`, [value("f64", 0.5), value("f64", -Infinity)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:570
+assert_return(
+ () => invoke($0, `sub`, [value("f64", 0.5), value("f64", Infinity)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:571
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:572
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:573
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:574
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:575
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:576
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:577
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:578
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:579
+assert_return(() => invoke($0, `sub`, [value("f64", -1), value("f64", -0)]), [value("f64", -1)]);
+
+// ./test/core/f64.wast:580
+assert_return(() => invoke($0, `sub`, [value("f64", -1), value("f64", 0)]), [value("f64", -1)]);
+
+// ./test/core/f64.wast:581
+assert_return(() => invoke($0, `sub`, [value("f64", 1), value("f64", -0)]), [value("f64", 1)]);
+
+// ./test/core/f64.wast:582
+assert_return(() => invoke($0, `sub`, [value("f64", 1), value("f64", 0)]), [value("f64", 1)]);
+
+// ./test/core/f64.wast:583
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -1),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -1)],
+);
+
+// ./test/core/f64.wast:584
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -1),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -1)],
+);
+
+// ./test/core/f64.wast:585
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 1),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", 1)],
+);
+
+// ./test/core/f64.wast:586
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 1),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", 1)],
+);
+
+// ./test/core/f64.wast:587
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -1),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -1)],
+);
+
+// ./test/core/f64.wast:588
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -1),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -1)],
+);
+
+// ./test/core/f64.wast:589
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 1),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", 1)],
+);
+
+// ./test/core/f64.wast:590
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 1),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", 1)],
+);
+
+// ./test/core/f64.wast:591
+assert_return(() => invoke($0, `sub`, [value("f64", -1), value("f64", -0.5)]), [value("f64", -0.5)]);
+
+// ./test/core/f64.wast:592
+assert_return(() => invoke($0, `sub`, [value("f64", -1), value("f64", 0.5)]), [value("f64", -1.5)]);
+
+// ./test/core/f64.wast:593
+assert_return(() => invoke($0, `sub`, [value("f64", 1), value("f64", -0.5)]), [value("f64", 1.5)]);
+
+// ./test/core/f64.wast:594
+assert_return(() => invoke($0, `sub`, [value("f64", 1), value("f64", 0.5)]), [value("f64", 0.5)]);
+
+// ./test/core/f64.wast:595
+assert_return(() => invoke($0, `sub`, [value("f64", -1), value("f64", -1)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:596
+assert_return(() => invoke($0, `sub`, [value("f64", -1), value("f64", 1)]), [value("f64", -2)]);
+
+// ./test/core/f64.wast:597
+assert_return(() => invoke($0, `sub`, [value("f64", 1), value("f64", -1)]), [value("f64", 2)]);
+
+// ./test/core/f64.wast:598
+assert_return(() => invoke($0, `sub`, [value("f64", 1), value("f64", 1)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:599
+assert_return(
+ () => invoke($0, `sub`, [value("f64", -1), value("f64", -6.283185307179586)]),
+ [value("f64", 5.283185307179586)],
+);
+
+// ./test/core/f64.wast:600
+assert_return(
+ () => invoke($0, `sub`, [value("f64", -1), value("f64", 6.283185307179586)]),
+ [value("f64", -7.283185307179586)],
+);
+
+// ./test/core/f64.wast:601
+assert_return(
+ () => invoke($0, `sub`, [value("f64", 1), value("f64", -6.283185307179586)]),
+ [value("f64", 7.283185307179586)],
+);
+
+// ./test/core/f64.wast:602
+assert_return(
+ () => invoke($0, `sub`, [value("f64", 1), value("f64", 6.283185307179586)]),
+ [value("f64", -5.283185307179586)],
+);
+
+// ./test/core/f64.wast:603
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -1),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:604
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -1),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:605
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 1),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:606
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 1),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:607
+assert_return(
+ () => invoke($0, `sub`, [value("f64", -1), value("f64", -Infinity)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:608
+assert_return(
+ () => invoke($0, `sub`, [value("f64", -1), value("f64", Infinity)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:609
+assert_return(
+ () => invoke($0, `sub`, [value("f64", 1), value("f64", -Infinity)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:610
+assert_return(
+ () => invoke($0, `sub`, [value("f64", 1), value("f64", Infinity)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:611
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:612
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:613
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:614
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:615
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:616
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:617
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:618
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:619
+assert_return(
+ () => invoke($0, `sub`, [value("f64", -6.283185307179586), value("f64", -0)]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:620
+assert_return(
+ () => invoke($0, `sub`, [value("f64", -6.283185307179586), value("f64", 0)]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:621
+assert_return(
+ () => invoke($0, `sub`, [value("f64", 6.283185307179586), value("f64", -0)]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:622
+assert_return(
+ () => invoke($0, `sub`, [value("f64", 6.283185307179586), value("f64", 0)]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:623
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -6.283185307179586),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:624
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -6.283185307179586),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:625
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 6.283185307179586),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:626
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 6.283185307179586),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:627
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -6.283185307179586),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:628
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -6.283185307179586),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:629
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 6.283185307179586),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:630
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 6.283185307179586),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:631
+assert_return(
+ () => invoke($0, `sub`, [value("f64", -6.283185307179586), value("f64", -0.5)]),
+ [value("f64", -5.783185307179586)],
+);
+
+// ./test/core/f64.wast:632
+assert_return(
+ () => invoke($0, `sub`, [value("f64", -6.283185307179586), value("f64", 0.5)]),
+ [value("f64", -6.783185307179586)],
+);
+
+// ./test/core/f64.wast:633
+assert_return(
+ () => invoke($0, `sub`, [value("f64", 6.283185307179586), value("f64", -0.5)]),
+ [value("f64", 6.783185307179586)],
+);
+
+// ./test/core/f64.wast:634
+assert_return(
+ () => invoke($0, `sub`, [value("f64", 6.283185307179586), value("f64", 0.5)]),
+ [value("f64", 5.783185307179586)],
+);
+
+// ./test/core/f64.wast:635
+assert_return(
+ () => invoke($0, `sub`, [value("f64", -6.283185307179586), value("f64", -1)]),
+ [value("f64", -5.283185307179586)],
+);
+
+// ./test/core/f64.wast:636
+assert_return(
+ () => invoke($0, `sub`, [value("f64", -6.283185307179586), value("f64", 1)]),
+ [value("f64", -7.283185307179586)],
+);
+
+// ./test/core/f64.wast:637
+assert_return(
+ () => invoke($0, `sub`, [value("f64", 6.283185307179586), value("f64", -1)]),
+ [value("f64", 7.283185307179586)],
+);
+
+// ./test/core/f64.wast:638
+assert_return(
+ () => invoke($0, `sub`, [value("f64", 6.283185307179586), value("f64", 1)]),
+ [value("f64", 5.283185307179586)],
+);
+
+// ./test/core/f64.wast:639
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:640
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -6.283185307179586),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("f64", -12.566370614359172)],
+);
+
+// ./test/core/f64.wast:641
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 6.283185307179586),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("f64", 12.566370614359172)],
+);
+
+// ./test/core/f64.wast:642
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:643
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -6.283185307179586),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:644
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -6.283185307179586),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:645
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 6.283185307179586),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:646
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 6.283185307179586),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:647
+assert_return(
+ () => invoke($0, `sub`, [value("f64", -6.283185307179586), value("f64", -Infinity)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:648
+assert_return(
+ () => invoke($0, `sub`, [value("f64", -6.283185307179586), value("f64", Infinity)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:649
+assert_return(
+ () => invoke($0, `sub`, [value("f64", 6.283185307179586), value("f64", -Infinity)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:650
+assert_return(
+ () => invoke($0, `sub`, [value("f64", 6.283185307179586), value("f64", Infinity)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:651
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:652
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:653
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:654
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:655
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:656
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:657
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:658
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:659
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:660
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:661
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:662
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:663
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:664
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:665
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:666
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:667
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:668
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:669
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:670
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:671
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.5),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:672
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.5),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:673
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.5),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:674
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.5),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:675
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -1),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:676
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 1),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:677
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -1),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:678
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 1),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:679
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -6.283185307179586),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:680
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 6.283185307179586),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:681
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -6.283185307179586),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:682
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 6.283185307179586),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:683
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:684
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:685
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:686
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:687
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -Infinity),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:688
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", Infinity),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:689
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -Infinity),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:690
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", Infinity),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:691
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:692
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:693
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:694
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:695
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:696
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:697
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:698
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:699
+assert_return(
+ () => invoke($0, `sub`, [value("f64", -Infinity), value("f64", -0)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:700
+assert_return(
+ () => invoke($0, `sub`, [value("f64", -Infinity), value("f64", 0)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:701
+assert_return(
+ () => invoke($0, `sub`, [value("f64", Infinity), value("f64", -0)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:702
+assert_return(
+ () => invoke($0, `sub`, [value("f64", Infinity), value("f64", 0)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:703
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -Infinity),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:704
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -Infinity),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:705
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", Infinity),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:706
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", Infinity),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:707
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -Infinity),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:708
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -Infinity),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:709
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", Infinity),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:710
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", Infinity),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:711
+assert_return(
+ () => invoke($0, `sub`, [value("f64", -Infinity), value("f64", -0.5)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:712
+assert_return(
+ () => invoke($0, `sub`, [value("f64", -Infinity), value("f64", 0.5)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:713
+assert_return(
+ () => invoke($0, `sub`, [value("f64", Infinity), value("f64", -0.5)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:714
+assert_return(
+ () => invoke($0, `sub`, [value("f64", Infinity), value("f64", 0.5)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:715
+assert_return(
+ () => invoke($0, `sub`, [value("f64", -Infinity), value("f64", -1)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:716
+assert_return(
+ () => invoke($0, `sub`, [value("f64", -Infinity), value("f64", 1)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:717
+assert_return(
+ () => invoke($0, `sub`, [value("f64", Infinity), value("f64", -1)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:718
+assert_return(
+ () => invoke($0, `sub`, [value("f64", Infinity), value("f64", 1)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:719
+assert_return(
+ () => invoke($0, `sub`, [value("f64", -Infinity), value("f64", -6.283185307179586)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:720
+assert_return(
+ () => invoke($0, `sub`, [value("f64", -Infinity), value("f64", 6.283185307179586)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:721
+assert_return(
+ () => invoke($0, `sub`, [value("f64", Infinity), value("f64", -6.283185307179586)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:722
+assert_return(
+ () => invoke($0, `sub`, [value("f64", Infinity), value("f64", 6.283185307179586)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:723
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -Infinity),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:724
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -Infinity),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:725
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", Infinity),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:726
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", Infinity),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:727
+assert_return(
+ () => invoke($0, `sub`, [value("f64", -Infinity), value("f64", -Infinity)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:728
+assert_return(
+ () => invoke($0, `sub`, [value("f64", -Infinity), value("f64", Infinity)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:729
+assert_return(
+ () => invoke($0, `sub`, [value("f64", Infinity), value("f64", -Infinity)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:730
+assert_return(
+ () => invoke($0, `sub`, [value("f64", Infinity), value("f64", Infinity)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:731
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:732
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:733
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:734
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", -Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:735
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:736
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:737
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:738
+assert_return(
+ () => invoke($0, `sub`, [
+ value("f64", Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:739
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -0),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:740
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -0),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:741
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 0),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:742
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 0),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:743
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -0),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:744
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -0),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:745
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:746
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 0),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:747
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:748
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:749
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:750
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:751
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:752
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:753
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:754
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:755
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:756
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:757
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:758
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:759
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:760
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:761
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:762
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:763
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -0.5),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:764
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -0.5),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:765
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 0.5),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:766
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 0.5),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:767
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -0.5),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:768
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -0.5),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:769
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0.5),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:770
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 0.5),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:771
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -1),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:772
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -1),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:773
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 1),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:774
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 1),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:775
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -1),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:776
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -1),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:777
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 1),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:778
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 1),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:779
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -6.283185307179586),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:780
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -6.283185307179586),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:781
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 6.283185307179586),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:782
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 6.283185307179586),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:783
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -6.283185307179586),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:784
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -6.283185307179586),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:785
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 6.283185307179586),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:786
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 6.283185307179586),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:787
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:788
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:789
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:790
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:791
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:792
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:793
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:794
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:795
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -Infinity),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:796
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -Infinity),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:797
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", Infinity),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:798
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", Infinity),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:799
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -Infinity),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:800
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -Infinity),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:801
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", Infinity),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:802
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", Infinity),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:803
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:804
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:805
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:806
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:807
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:808
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:809
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:810
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:811
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:812
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:813
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:814
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:815
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:816
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:817
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:818
+assert_return(
+ () => invoke($0, `sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:819
+assert_return(() => invoke($0, `mul`, [value("f64", -0), value("f64", -0)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:820
+assert_return(() => invoke($0, `mul`, [value("f64", -0), value("f64", 0)]), [value("f64", -0)]);
+
+// ./test/core/f64.wast:821
+assert_return(() => invoke($0, `mul`, [value("f64", 0), value("f64", -0)]), [value("f64", -0)]);
+
+// ./test/core/f64.wast:822
+assert_return(() => invoke($0, `mul`, [value("f64", 0), value("f64", 0)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:823
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:824
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:825
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:826
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:827
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:828
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:829
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:830
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:831
+assert_return(() => invoke($0, `mul`, [value("f64", -0), value("f64", -0.5)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:832
+assert_return(() => invoke($0, `mul`, [value("f64", -0), value("f64", 0.5)]), [value("f64", -0)]);
+
+// ./test/core/f64.wast:833
+assert_return(() => invoke($0, `mul`, [value("f64", 0), value("f64", -0.5)]), [value("f64", -0)]);
+
+// ./test/core/f64.wast:834
+assert_return(() => invoke($0, `mul`, [value("f64", 0), value("f64", 0.5)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:835
+assert_return(() => invoke($0, `mul`, [value("f64", -0), value("f64", -1)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:836
+assert_return(() => invoke($0, `mul`, [value("f64", -0), value("f64", 1)]), [value("f64", -0)]);
+
+// ./test/core/f64.wast:837
+assert_return(() => invoke($0, `mul`, [value("f64", 0), value("f64", -1)]), [value("f64", -0)]);
+
+// ./test/core/f64.wast:838
+assert_return(() => invoke($0, `mul`, [value("f64", 0), value("f64", 1)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:839
+assert_return(
+ () => invoke($0, `mul`, [value("f64", -0), value("f64", -6.283185307179586)]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:840
+assert_return(
+ () => invoke($0, `mul`, [value("f64", -0), value("f64", 6.283185307179586)]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:841
+assert_return(
+ () => invoke($0, `mul`, [value("f64", 0), value("f64", -6.283185307179586)]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:842
+assert_return(
+ () => invoke($0, `mul`, [value("f64", 0), value("f64", 6.283185307179586)]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:843
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:844
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:845
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:846
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:847
+assert_return(() => invoke($0, `mul`, [value("f64", -0), value("f64", -Infinity)]), [`canonical_nan`]);
+
+// ./test/core/f64.wast:848
+assert_return(() => invoke($0, `mul`, [value("f64", -0), value("f64", Infinity)]), [`canonical_nan`]);
+
+// ./test/core/f64.wast:849
+assert_return(() => invoke($0, `mul`, [value("f64", 0), value("f64", -Infinity)]), [`canonical_nan`]);
+
+// ./test/core/f64.wast:850
+assert_return(() => invoke($0, `mul`, [value("f64", 0), value("f64", Infinity)]), [`canonical_nan`]);
+
+// ./test/core/f64.wast:851
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:852
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:853
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:854
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:855
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:856
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:857
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:858
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:859
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:860
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:861
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:862
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:863
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:864
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:865
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:866
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:867
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:868
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:869
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:870
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:871
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.5),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:872
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.5),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:873
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.5),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:874
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.5),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:875
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -1),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:876
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 1),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:877
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -1),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:878
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 1),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:879
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -6.283185307179586),
+ ]),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003),
+ ],
+);
+
+// ./test/core/f64.wast:880
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 6.283185307179586),
+ ]),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003),
+ ],
+);
+
+// ./test/core/f64.wast:881
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -6.283185307179586),
+ ]),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003),
+ ],
+);
+
+// ./test/core/f64.wast:882
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 6.283185307179586),
+ ]),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003),
+ ],
+);
+
+// ./test/core/f64.wast:883
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", 0.0000000000000008881784197001251)],
+);
+
+// ./test/core/f64.wast:884
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -0.0000000000000008881784197001251)],
+);
+
+// ./test/core/f64.wast:885
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -0.0000000000000008881784197001251)],
+);
+
+// ./test/core/f64.wast:886
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", 0.0000000000000008881784197001251)],
+);
+
+// ./test/core/f64.wast:887
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -Infinity),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:888
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", Infinity),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:889
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -Infinity),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:890
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", Infinity),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:891
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:892
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:893
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:894
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:895
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:896
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:897
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:898
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:899
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:900
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:901
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:902
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:903
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:904
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:905
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:906
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:907
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:908
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:909
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:910
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:911
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.5),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011125369292536007),
+ ],
+);
+
+// ./test/core/f64.wast:912
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.5),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011125369292536007),
+ ],
+);
+
+// ./test/core/f64.wast:913
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.5),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011125369292536007),
+ ],
+);
+
+// ./test/core/f64.wast:914
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.5),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011125369292536007),
+ ],
+);
+
+// ./test/core/f64.wast:915
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -1),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:916
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 1),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:917
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -1),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:918
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 1),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:919
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -6.283185307179586),
+ ]),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013980551375161837),
+ ],
+);
+
+// ./test/core/f64.wast:920
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 6.283185307179586),
+ ]),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013980551375161837),
+ ],
+);
+
+// ./test/core/f64.wast:921
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -6.283185307179586),
+ ]),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013980551375161837),
+ ],
+);
+
+// ./test/core/f64.wast:922
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 6.283185307179586),
+ ]),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013980551375161837),
+ ],
+);
+
+// ./test/core/f64.wast:923
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", 3.9999999999999996)],
+);
+
+// ./test/core/f64.wast:924
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -3.9999999999999996)],
+);
+
+// ./test/core/f64.wast:925
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -3.9999999999999996)],
+);
+
+// ./test/core/f64.wast:926
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", 3.9999999999999996)],
+);
+
+// ./test/core/f64.wast:927
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -Infinity),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:928
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", Infinity),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:929
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -Infinity),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:930
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", Infinity),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:931
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:932
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:933
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:934
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:935
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:936
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:937
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:938
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:939
+assert_return(() => invoke($0, `mul`, [value("f64", -0.5), value("f64", -0)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:940
+assert_return(() => invoke($0, `mul`, [value("f64", -0.5), value("f64", 0)]), [value("f64", -0)]);
+
+// ./test/core/f64.wast:941
+assert_return(() => invoke($0, `mul`, [value("f64", 0.5), value("f64", -0)]), [value("f64", -0)]);
+
+// ./test/core/f64.wast:942
+assert_return(() => invoke($0, `mul`, [value("f64", 0.5), value("f64", 0)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:943
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0.5),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:944
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0.5),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:945
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0.5),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:946
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0.5),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:947
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0.5),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011125369292536007),
+ ],
+);
+
+// ./test/core/f64.wast:948
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0.5),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011125369292536007),
+ ],
+);
+
+// ./test/core/f64.wast:949
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0.5),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011125369292536007),
+ ],
+);
+
+// ./test/core/f64.wast:950
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0.5),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011125369292536007),
+ ],
+);
+
+// ./test/core/f64.wast:951
+assert_return(() => invoke($0, `mul`, [value("f64", -0.5), value("f64", -0.5)]), [value("f64", 0.25)]);
+
+// ./test/core/f64.wast:952
+assert_return(() => invoke($0, `mul`, [value("f64", -0.5), value("f64", 0.5)]), [value("f64", -0.25)]);
+
+// ./test/core/f64.wast:953
+assert_return(() => invoke($0, `mul`, [value("f64", 0.5), value("f64", -0.5)]), [value("f64", -0.25)]);
+
+// ./test/core/f64.wast:954
+assert_return(() => invoke($0, `mul`, [value("f64", 0.5), value("f64", 0.5)]), [value("f64", 0.25)]);
+
+// ./test/core/f64.wast:955
+assert_return(() => invoke($0, `mul`, [value("f64", -0.5), value("f64", -1)]), [value("f64", 0.5)]);
+
+// ./test/core/f64.wast:956
+assert_return(() => invoke($0, `mul`, [value("f64", -0.5), value("f64", 1)]), [value("f64", -0.5)]);
+
+// ./test/core/f64.wast:957
+assert_return(() => invoke($0, `mul`, [value("f64", 0.5), value("f64", -1)]), [value("f64", -0.5)]);
+
+// ./test/core/f64.wast:958
+assert_return(() => invoke($0, `mul`, [value("f64", 0.5), value("f64", 1)]), [value("f64", 0.5)]);
+
+// ./test/core/f64.wast:959
+assert_return(
+ () => invoke($0, `mul`, [value("f64", -0.5), value("f64", -6.283185307179586)]),
+ [value("f64", 3.141592653589793)],
+);
+
+// ./test/core/f64.wast:960
+assert_return(
+ () => invoke($0, `mul`, [value("f64", -0.5), value("f64", 6.283185307179586)]),
+ [value("f64", -3.141592653589793)],
+);
+
+// ./test/core/f64.wast:961
+assert_return(
+ () => invoke($0, `mul`, [value("f64", 0.5), value("f64", -6.283185307179586)]),
+ [value("f64", -3.141592653589793)],
+);
+
+// ./test/core/f64.wast:962
+assert_return(
+ () => invoke($0, `mul`, [value("f64", 0.5), value("f64", 6.283185307179586)]),
+ [value("f64", 3.141592653589793)],
+);
+
+// ./test/core/f64.wast:963
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0.5),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 89884656743115790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:964
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0.5),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -89884656743115790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:965
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0.5),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -89884656743115790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:966
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0.5),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 89884656743115790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:967
+assert_return(
+ () => invoke($0, `mul`, [value("f64", -0.5), value("f64", -Infinity)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:968
+assert_return(
+ () => invoke($0, `mul`, [value("f64", -0.5), value("f64", Infinity)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:969
+assert_return(
+ () => invoke($0, `mul`, [value("f64", 0.5), value("f64", -Infinity)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:970
+assert_return(
+ () => invoke($0, `mul`, [value("f64", 0.5), value("f64", Infinity)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:971
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:972
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:973
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:974
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:975
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:976
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:977
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:978
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:979
+assert_return(() => invoke($0, `mul`, [value("f64", -1), value("f64", -0)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:980
+assert_return(() => invoke($0, `mul`, [value("f64", -1), value("f64", 0)]), [value("f64", -0)]);
+
+// ./test/core/f64.wast:981
+assert_return(() => invoke($0, `mul`, [value("f64", 1), value("f64", -0)]), [value("f64", -0)]);
+
+// ./test/core/f64.wast:982
+assert_return(() => invoke($0, `mul`, [value("f64", 1), value("f64", 0)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:983
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -1),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:984
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -1),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:985
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 1),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:986
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 1),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:987
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -1),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:988
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -1),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:989
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 1),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:990
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 1),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:991
+assert_return(() => invoke($0, `mul`, [value("f64", -1), value("f64", -0.5)]), [value("f64", 0.5)]);
+
+// ./test/core/f64.wast:992
+assert_return(() => invoke($0, `mul`, [value("f64", -1), value("f64", 0.5)]), [value("f64", -0.5)]);
+
+// ./test/core/f64.wast:993
+assert_return(() => invoke($0, `mul`, [value("f64", 1), value("f64", -0.5)]), [value("f64", -0.5)]);
+
+// ./test/core/f64.wast:994
+assert_return(() => invoke($0, `mul`, [value("f64", 1), value("f64", 0.5)]), [value("f64", 0.5)]);
+
+// ./test/core/f64.wast:995
+assert_return(() => invoke($0, `mul`, [value("f64", -1), value("f64", -1)]), [value("f64", 1)]);
+
+// ./test/core/f64.wast:996
+assert_return(() => invoke($0, `mul`, [value("f64", -1), value("f64", 1)]), [value("f64", -1)]);
+
+// ./test/core/f64.wast:997
+assert_return(() => invoke($0, `mul`, [value("f64", 1), value("f64", -1)]), [value("f64", -1)]);
+
+// ./test/core/f64.wast:998
+assert_return(() => invoke($0, `mul`, [value("f64", 1), value("f64", 1)]), [value("f64", 1)]);
+
+// ./test/core/f64.wast:999
+assert_return(
+ () => invoke($0, `mul`, [value("f64", -1), value("f64", -6.283185307179586)]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:1000
+assert_return(
+ () => invoke($0, `mul`, [value("f64", -1), value("f64", 6.283185307179586)]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:1001
+assert_return(
+ () => invoke($0, `mul`, [value("f64", 1), value("f64", -6.283185307179586)]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:1002
+assert_return(
+ () => invoke($0, `mul`, [value("f64", 1), value("f64", 6.283185307179586)]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:1003
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -1),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1004
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -1),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1005
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 1),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1006
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 1),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1007
+assert_return(
+ () => invoke($0, `mul`, [value("f64", -1), value("f64", -Infinity)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1008
+assert_return(
+ () => invoke($0, `mul`, [value("f64", -1), value("f64", Infinity)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1009
+assert_return(
+ () => invoke($0, `mul`, [value("f64", 1), value("f64", -Infinity)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1010
+assert_return(
+ () => invoke($0, `mul`, [value("f64", 1), value("f64", Infinity)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1011
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1012
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1013
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1014
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1015
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1016
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1017
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1018
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1019
+assert_return(
+ () => invoke($0, `mul`, [value("f64", -6.283185307179586), value("f64", -0)]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:1020
+assert_return(
+ () => invoke($0, `mul`, [value("f64", -6.283185307179586), value("f64", 0)]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:1021
+assert_return(
+ () => invoke($0, `mul`, [value("f64", 6.283185307179586), value("f64", -0)]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:1022
+assert_return(
+ () => invoke($0, `mul`, [value("f64", 6.283185307179586), value("f64", 0)]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:1023
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -6.283185307179586),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003),
+ ],
+);
+
+// ./test/core/f64.wast:1024
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -6.283185307179586),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003),
+ ],
+);
+
+// ./test/core/f64.wast:1025
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 6.283185307179586),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003),
+ ],
+);
+
+// ./test/core/f64.wast:1026
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 6.283185307179586),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003),
+ ],
+);
+
+// ./test/core/f64.wast:1027
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -6.283185307179586),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013980551375161837),
+ ],
+);
+
+// ./test/core/f64.wast:1028
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -6.283185307179586),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013980551375161837),
+ ],
+);
+
+// ./test/core/f64.wast:1029
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 6.283185307179586),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013980551375161837),
+ ],
+);
+
+// ./test/core/f64.wast:1030
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 6.283185307179586),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013980551375161837),
+ ],
+);
+
+// ./test/core/f64.wast:1031
+assert_return(
+ () => invoke($0, `mul`, [value("f64", -6.283185307179586), value("f64", -0.5)]),
+ [value("f64", 3.141592653589793)],
+);
+
+// ./test/core/f64.wast:1032
+assert_return(
+ () => invoke($0, `mul`, [value("f64", -6.283185307179586), value("f64", 0.5)]),
+ [value("f64", -3.141592653589793)],
+);
+
+// ./test/core/f64.wast:1033
+assert_return(
+ () => invoke($0, `mul`, [value("f64", 6.283185307179586), value("f64", -0.5)]),
+ [value("f64", -3.141592653589793)],
+);
+
+// ./test/core/f64.wast:1034
+assert_return(
+ () => invoke($0, `mul`, [value("f64", 6.283185307179586), value("f64", 0.5)]),
+ [value("f64", 3.141592653589793)],
+);
+
+// ./test/core/f64.wast:1035
+assert_return(
+ () => invoke($0, `mul`, [value("f64", -6.283185307179586), value("f64", -1)]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:1036
+assert_return(
+ () => invoke($0, `mul`, [value("f64", -6.283185307179586), value("f64", 1)]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:1037
+assert_return(
+ () => invoke($0, `mul`, [value("f64", 6.283185307179586), value("f64", -1)]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:1038
+assert_return(
+ () => invoke($0, `mul`, [value("f64", 6.283185307179586), value("f64", 1)]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:1039
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("f64", 39.47841760435743)],
+);
+
+// ./test/core/f64.wast:1040
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -6.283185307179586),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("f64", -39.47841760435743)],
+);
+
+// ./test/core/f64.wast:1041
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 6.283185307179586),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("f64", -39.47841760435743)],
+);
+
+// ./test/core/f64.wast:1042
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("f64", 39.47841760435743)],
+);
+
+// ./test/core/f64.wast:1043
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -6.283185307179586),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1044
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -6.283185307179586),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1045
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 6.283185307179586),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1046
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 6.283185307179586),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1047
+assert_return(
+ () => invoke($0, `mul`, [value("f64", -6.283185307179586), value("f64", -Infinity)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1048
+assert_return(
+ () => invoke($0, `mul`, [value("f64", -6.283185307179586), value("f64", Infinity)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1049
+assert_return(
+ () => invoke($0, `mul`, [value("f64", 6.283185307179586), value("f64", -Infinity)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1050
+assert_return(
+ () => invoke($0, `mul`, [value("f64", 6.283185307179586), value("f64", Infinity)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1051
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1052
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1053
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1054
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1055
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1056
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1057
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1058
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1059
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:1060
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:1061
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:1062
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:1063
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", 0.0000000000000008881784197001251)],
+);
+
+// ./test/core/f64.wast:1064
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -0.0000000000000008881784197001251)],
+);
+
+// ./test/core/f64.wast:1065
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -0.0000000000000008881784197001251)],
+);
+
+// ./test/core/f64.wast:1066
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", 0.0000000000000008881784197001251)],
+);
+
+// ./test/core/f64.wast:1067
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", 3.9999999999999996)],
+);
+
+// ./test/core/f64.wast:1068
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -3.9999999999999996)],
+);
+
+// ./test/core/f64.wast:1069
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -3.9999999999999996)],
+);
+
+// ./test/core/f64.wast:1070
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", 3.9999999999999996)],
+);
+
+// ./test/core/f64.wast:1071
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.5),
+ ]),
+ [
+ value("f64", 89884656743115790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1072
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.5),
+ ]),
+ [
+ value("f64", -89884656743115790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1073
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.5),
+ ]),
+ [
+ value("f64", -89884656743115790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1074
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.5),
+ ]),
+ [
+ value("f64", 89884656743115790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1075
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -1),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1076
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 1),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1077
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -1),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1078
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 1),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1079
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1080
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1081
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1082
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1083
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1084
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1085
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1086
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1087
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -Infinity),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1088
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", Infinity),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1089
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -Infinity),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1090
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", Infinity),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1091
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1092
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1093
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1094
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1095
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1096
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1097
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1098
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1099
+assert_return(() => invoke($0, `mul`, [value("f64", -Infinity), value("f64", -0)]), [`canonical_nan`]);
+
+// ./test/core/f64.wast:1100
+assert_return(() => invoke($0, `mul`, [value("f64", -Infinity), value("f64", 0)]), [`canonical_nan`]);
+
+// ./test/core/f64.wast:1101
+assert_return(() => invoke($0, `mul`, [value("f64", Infinity), value("f64", -0)]), [`canonical_nan`]);
+
+// ./test/core/f64.wast:1102
+assert_return(() => invoke($0, `mul`, [value("f64", Infinity), value("f64", 0)]), [`canonical_nan`]);
+
+// ./test/core/f64.wast:1103
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -Infinity),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1104
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -Infinity),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1105
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", Infinity),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1106
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", Infinity),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1107
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -Infinity),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1108
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -Infinity),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1109
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", Infinity),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1110
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", Infinity),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1111
+assert_return(
+ () => invoke($0, `mul`, [value("f64", -Infinity), value("f64", -0.5)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1112
+assert_return(
+ () => invoke($0, `mul`, [value("f64", -Infinity), value("f64", 0.5)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1113
+assert_return(
+ () => invoke($0, `mul`, [value("f64", Infinity), value("f64", -0.5)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1114
+assert_return(
+ () => invoke($0, `mul`, [value("f64", Infinity), value("f64", 0.5)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1115
+assert_return(
+ () => invoke($0, `mul`, [value("f64", -Infinity), value("f64", -1)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1116
+assert_return(
+ () => invoke($0, `mul`, [value("f64", -Infinity), value("f64", 1)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1117
+assert_return(
+ () => invoke($0, `mul`, [value("f64", Infinity), value("f64", -1)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1118
+assert_return(
+ () => invoke($0, `mul`, [value("f64", Infinity), value("f64", 1)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1119
+assert_return(
+ () => invoke($0, `mul`, [value("f64", -Infinity), value("f64", -6.283185307179586)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1120
+assert_return(
+ () => invoke($0, `mul`, [value("f64", -Infinity), value("f64", 6.283185307179586)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1121
+assert_return(
+ () => invoke($0, `mul`, [value("f64", Infinity), value("f64", -6.283185307179586)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1122
+assert_return(
+ () => invoke($0, `mul`, [value("f64", Infinity), value("f64", 6.283185307179586)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1123
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -Infinity),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1124
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -Infinity),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1125
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", Infinity),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1126
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", Infinity),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1127
+assert_return(
+ () => invoke($0, `mul`, [value("f64", -Infinity), value("f64", -Infinity)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1128
+assert_return(
+ () => invoke($0, `mul`, [value("f64", -Infinity), value("f64", Infinity)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1129
+assert_return(
+ () => invoke($0, `mul`, [value("f64", Infinity), value("f64", -Infinity)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1130
+assert_return(
+ () => invoke($0, `mul`, [value("f64", Infinity), value("f64", Infinity)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1131
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1132
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1133
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1134
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", -Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1135
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1136
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1137
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1138
+assert_return(
+ () => invoke($0, `mul`, [
+ value("f64", Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1139
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -0),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1140
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -0),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1141
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 0),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1142
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 0),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1143
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -0),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1144
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -0),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1145
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1146
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 0),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1147
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1148
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1149
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1150
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1151
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1152
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1153
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1154
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1155
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1156
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1157
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1158
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1159
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1160
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1161
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1162
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1163
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -0.5),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1164
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -0.5),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1165
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 0.5),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1166
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 0.5),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1167
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -0.5),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1168
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -0.5),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1169
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0.5),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1170
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 0.5),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1171
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -1),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1172
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -1),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1173
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 1),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1174
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 1),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1175
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -1),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1176
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -1),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1177
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 1),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1178
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 1),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1179
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -6.283185307179586),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1180
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -6.283185307179586),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1181
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 6.283185307179586),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1182
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 6.283185307179586),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1183
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -6.283185307179586),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1184
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -6.283185307179586),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1185
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 6.283185307179586),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1186
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 6.283185307179586),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1187
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1188
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1189
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1190
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1191
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1192
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1193
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1194
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1195
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -Infinity),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1196
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -Infinity),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1197
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", Infinity),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1198
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", Infinity),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1199
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -Infinity),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1200
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -Infinity),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1201
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", Infinity),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1202
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", Infinity),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1203
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1204
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1205
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1206
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1207
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1208
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1209
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1210
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1211
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1212
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1213
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1214
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1215
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1216
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1217
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1218
+assert_return(
+ () => invoke($0, `mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1219
+assert_return(() => invoke($0, `div`, [value("f64", -0), value("f64", -0)]), [`canonical_nan`]);
+
+// ./test/core/f64.wast:1220
+assert_return(() => invoke($0, `div`, [value("f64", -0), value("f64", 0)]), [`canonical_nan`]);
+
+// ./test/core/f64.wast:1221
+assert_return(() => invoke($0, `div`, [value("f64", 0), value("f64", -0)]), [`canonical_nan`]);
+
+// ./test/core/f64.wast:1222
+assert_return(() => invoke($0, `div`, [value("f64", 0), value("f64", 0)]), [`canonical_nan`]);
+
+// ./test/core/f64.wast:1223
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:1224
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:1225
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:1226
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:1227
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:1228
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:1229
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:1230
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:1231
+assert_return(() => invoke($0, `div`, [value("f64", -0), value("f64", -0.5)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:1232
+assert_return(() => invoke($0, `div`, [value("f64", -0), value("f64", 0.5)]), [value("f64", -0)]);
+
+// ./test/core/f64.wast:1233
+assert_return(() => invoke($0, `div`, [value("f64", 0), value("f64", -0.5)]), [value("f64", -0)]);
+
+// ./test/core/f64.wast:1234
+assert_return(() => invoke($0, `div`, [value("f64", 0), value("f64", 0.5)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:1235
+assert_return(() => invoke($0, `div`, [value("f64", -0), value("f64", -1)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:1236
+assert_return(() => invoke($0, `div`, [value("f64", -0), value("f64", 1)]), [value("f64", -0)]);
+
+// ./test/core/f64.wast:1237
+assert_return(() => invoke($0, `div`, [value("f64", 0), value("f64", -1)]), [value("f64", -0)]);
+
+// ./test/core/f64.wast:1238
+assert_return(() => invoke($0, `div`, [value("f64", 0), value("f64", 1)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:1239
+assert_return(
+ () => invoke($0, `div`, [value("f64", -0), value("f64", -6.283185307179586)]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:1240
+assert_return(
+ () => invoke($0, `div`, [value("f64", -0), value("f64", 6.283185307179586)]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:1241
+assert_return(
+ () => invoke($0, `div`, [value("f64", 0), value("f64", -6.283185307179586)]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:1242
+assert_return(
+ () => invoke($0, `div`, [value("f64", 0), value("f64", 6.283185307179586)]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:1243
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:1244
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:1245
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:1246
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:1247
+assert_return(() => invoke($0, `div`, [value("f64", -0), value("f64", -Infinity)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:1248
+assert_return(() => invoke($0, `div`, [value("f64", -0), value("f64", Infinity)]), [value("f64", -0)]);
+
+// ./test/core/f64.wast:1249
+assert_return(() => invoke($0, `div`, [value("f64", 0), value("f64", -Infinity)]), [value("f64", -0)]);
+
+// ./test/core/f64.wast:1250
+assert_return(() => invoke($0, `div`, [value("f64", 0), value("f64", Infinity)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:1251
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1252
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1253
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1254
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1255
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1256
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1257
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1258
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1259
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1260
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1261
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1262
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1263
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", 1)],
+);
+
+// ./test/core/f64.wast:1264
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -1)],
+);
+
+// ./test/core/f64.wast:1265
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -1)],
+);
+
+// ./test/core/f64.wast:1266
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", 1)],
+);
+
+// ./test/core/f64.wast:1267
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", 0.0000000000000002220446049250313)],
+);
+
+// ./test/core/f64.wast:1268
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -0.0000000000000002220446049250313)],
+);
+
+// ./test/core/f64.wast:1269
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -0.0000000000000002220446049250313)],
+);
+
+// ./test/core/f64.wast:1270
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", 0.0000000000000002220446049250313)],
+);
+
+// ./test/core/f64.wast:1271
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.5),
+ ]),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ ],
+);
+
+// ./test/core/f64.wast:1272
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.5),
+ ]),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ ],
+);
+
+// ./test/core/f64.wast:1273
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.5),
+ ]),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ ],
+);
+
+// ./test/core/f64.wast:1274
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.5),
+ ]),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ ],
+);
+
+// ./test/core/f64.wast:1275
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -1),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:1276
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 1),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:1277
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -1),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:1278
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 1),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:1279
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:1280
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:1281
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:1282
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:1283
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:1284
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:1285
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:1286
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:1287
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -Infinity),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:1288
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", Infinity),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:1289
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -Infinity),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:1290
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", Infinity),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:1291
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1292
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1293
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1294
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1295
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1296
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1297
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1298
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1299
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1300
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1301
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1302
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1303
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", 4503599627370496)],
+);
+
+// ./test/core/f64.wast:1304
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -4503599627370496)],
+);
+
+// ./test/core/f64.wast:1305
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -4503599627370496)],
+);
+
+// ./test/core/f64.wast:1306
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", 4503599627370496)],
+);
+
+// ./test/core/f64.wast:1307
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", 1)],
+);
+
+// ./test/core/f64.wast:1308
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -1)],
+);
+
+// ./test/core/f64.wast:1309
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -1)],
+);
+
+// ./test/core/f64.wast:1310
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", 1)],
+);
+
+// ./test/core/f64.wast:1311
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.5),
+ ]),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004450147717014403),
+ ],
+);
+
+// ./test/core/f64.wast:1312
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.5),
+ ]),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004450147717014403),
+ ],
+);
+
+// ./test/core/f64.wast:1313
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.5),
+ ]),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004450147717014403),
+ ],
+);
+
+// ./test/core/f64.wast:1314
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.5),
+ ]),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004450147717014403),
+ ],
+);
+
+// ./test/core/f64.wast:1315
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -1),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:1316
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 1),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:1317
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -1),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:1318
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 1),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:1319
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -6.283185307179586),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003541315033259774),
+ ],
+);
+
+// ./test/core/f64.wast:1320
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 6.283185307179586),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003541315033259774),
+ ],
+);
+
+// ./test/core/f64.wast:1321
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -6.283185307179586),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003541315033259774),
+ ],
+);
+
+// ./test/core/f64.wast:1322
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 6.283185307179586),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003541315033259774),
+ ],
+);
+
+// ./test/core/f64.wast:1323
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:1324
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:1325
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:1326
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:1327
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -Infinity),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:1328
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", Infinity),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:1329
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -Infinity),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:1330
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", Infinity),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:1331
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1332
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1333
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1334
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1335
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1336
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1337
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1338
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1339
+assert_return(() => invoke($0, `div`, [value("f64", -0.5), value("f64", -0)]), [value("f64", Infinity)]);
+
+// ./test/core/f64.wast:1340
+assert_return(() => invoke($0, `div`, [value("f64", -0.5), value("f64", 0)]), [value("f64", -Infinity)]);
+
+// ./test/core/f64.wast:1341
+assert_return(() => invoke($0, `div`, [value("f64", 0.5), value("f64", -0)]), [value("f64", -Infinity)]);
+
+// ./test/core/f64.wast:1342
+assert_return(() => invoke($0, `div`, [value("f64", 0.5), value("f64", 0)]), [value("f64", Infinity)]);
+
+// ./test/core/f64.wast:1343
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0.5),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1344
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0.5),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1345
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0.5),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1346
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0.5),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1347
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0.5),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", 22471164185778950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1348
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0.5),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", -22471164185778950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1349
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0.5),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", -22471164185778950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1350
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0.5),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", 22471164185778950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1351
+assert_return(() => invoke($0, `div`, [value("f64", -0.5), value("f64", -0.5)]), [value("f64", 1)]);
+
+// ./test/core/f64.wast:1352
+assert_return(() => invoke($0, `div`, [value("f64", -0.5), value("f64", 0.5)]), [value("f64", -1)]);
+
+// ./test/core/f64.wast:1353
+assert_return(() => invoke($0, `div`, [value("f64", 0.5), value("f64", -0.5)]), [value("f64", -1)]);
+
+// ./test/core/f64.wast:1354
+assert_return(() => invoke($0, `div`, [value("f64", 0.5), value("f64", 0.5)]), [value("f64", 1)]);
+
+// ./test/core/f64.wast:1355
+assert_return(() => invoke($0, `div`, [value("f64", -0.5), value("f64", -1)]), [value("f64", 0.5)]);
+
+// ./test/core/f64.wast:1356
+assert_return(() => invoke($0, `div`, [value("f64", -0.5), value("f64", 1)]), [value("f64", -0.5)]);
+
+// ./test/core/f64.wast:1357
+assert_return(() => invoke($0, `div`, [value("f64", 0.5), value("f64", -1)]), [value("f64", -0.5)]);
+
+// ./test/core/f64.wast:1358
+assert_return(() => invoke($0, `div`, [value("f64", 0.5), value("f64", 1)]), [value("f64", 0.5)]);
+
+// ./test/core/f64.wast:1359
+assert_return(
+ () => invoke($0, `div`, [value("f64", -0.5), value("f64", -6.283185307179586)]),
+ [value("f64", 0.07957747154594767)],
+);
+
+// ./test/core/f64.wast:1360
+assert_return(
+ () => invoke($0, `div`, [value("f64", -0.5), value("f64", 6.283185307179586)]),
+ [value("f64", -0.07957747154594767)],
+);
+
+// ./test/core/f64.wast:1361
+assert_return(
+ () => invoke($0, `div`, [value("f64", 0.5), value("f64", -6.283185307179586)]),
+ [value("f64", -0.07957747154594767)],
+);
+
+// ./test/core/f64.wast:1362
+assert_return(
+ () => invoke($0, `div`, [value("f64", 0.5), value("f64", 6.283185307179586)]),
+ [value("f64", 0.07957747154594767)],
+);
+
+// ./test/core/f64.wast:1363
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0.5),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002781342323134),
+ ],
+);
+
+// ./test/core/f64.wast:1364
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0.5),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002781342323134),
+ ],
+);
+
+// ./test/core/f64.wast:1365
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0.5),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002781342323134),
+ ],
+);
+
+// ./test/core/f64.wast:1366
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0.5),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002781342323134),
+ ],
+);
+
+// ./test/core/f64.wast:1367
+assert_return(() => invoke($0, `div`, [value("f64", -0.5), value("f64", -Infinity)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:1368
+assert_return(() => invoke($0, `div`, [value("f64", -0.5), value("f64", Infinity)]), [value("f64", -0)]);
+
+// ./test/core/f64.wast:1369
+assert_return(() => invoke($0, `div`, [value("f64", 0.5), value("f64", -Infinity)]), [value("f64", -0)]);
+
+// ./test/core/f64.wast:1370
+assert_return(() => invoke($0, `div`, [value("f64", 0.5), value("f64", Infinity)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:1371
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1372
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1373
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1374
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1375
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1376
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1377
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1378
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1379
+assert_return(() => invoke($0, `div`, [value("f64", -1), value("f64", -0)]), [value("f64", Infinity)]);
+
+// ./test/core/f64.wast:1380
+assert_return(() => invoke($0, `div`, [value("f64", -1), value("f64", 0)]), [value("f64", -Infinity)]);
+
+// ./test/core/f64.wast:1381
+assert_return(() => invoke($0, `div`, [value("f64", 1), value("f64", -0)]), [value("f64", -Infinity)]);
+
+// ./test/core/f64.wast:1382
+assert_return(() => invoke($0, `div`, [value("f64", 1), value("f64", 0)]), [value("f64", Infinity)]);
+
+// ./test/core/f64.wast:1383
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -1),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1384
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -1),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1385
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 1),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1386
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 1),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1387
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -1),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", 44942328371557900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1388
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -1),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", -44942328371557900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1389
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 1),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", -44942328371557900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1390
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 1),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", 44942328371557900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1391
+assert_return(() => invoke($0, `div`, [value("f64", -1), value("f64", -0.5)]), [value("f64", 2)]);
+
+// ./test/core/f64.wast:1392
+assert_return(() => invoke($0, `div`, [value("f64", -1), value("f64", 0.5)]), [value("f64", -2)]);
+
+// ./test/core/f64.wast:1393
+assert_return(() => invoke($0, `div`, [value("f64", 1), value("f64", -0.5)]), [value("f64", -2)]);
+
+// ./test/core/f64.wast:1394
+assert_return(() => invoke($0, `div`, [value("f64", 1), value("f64", 0.5)]), [value("f64", 2)]);
+
+// ./test/core/f64.wast:1395
+assert_return(() => invoke($0, `div`, [value("f64", -1), value("f64", -1)]), [value("f64", 1)]);
+
+// ./test/core/f64.wast:1396
+assert_return(() => invoke($0, `div`, [value("f64", -1), value("f64", 1)]), [value("f64", -1)]);
+
+// ./test/core/f64.wast:1397
+assert_return(() => invoke($0, `div`, [value("f64", 1), value("f64", -1)]), [value("f64", -1)]);
+
+// ./test/core/f64.wast:1398
+assert_return(() => invoke($0, `div`, [value("f64", 1), value("f64", 1)]), [value("f64", 1)]);
+
+// ./test/core/f64.wast:1399
+assert_return(
+ () => invoke($0, `div`, [value("f64", -1), value("f64", -6.283185307179586)]),
+ [value("f64", 0.15915494309189535)],
+);
+
+// ./test/core/f64.wast:1400
+assert_return(
+ () => invoke($0, `div`, [value("f64", -1), value("f64", 6.283185307179586)]),
+ [value("f64", -0.15915494309189535)],
+);
+
+// ./test/core/f64.wast:1401
+assert_return(
+ () => invoke($0, `div`, [value("f64", 1), value("f64", -6.283185307179586)]),
+ [value("f64", -0.15915494309189535)],
+);
+
+// ./test/core/f64.wast:1402
+assert_return(
+ () => invoke($0, `div`, [value("f64", 1), value("f64", 6.283185307179586)]),
+ [value("f64", 0.15915494309189535)],
+);
+
+// ./test/core/f64.wast:1403
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -1),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005562684646268003),
+ ],
+);
+
+// ./test/core/f64.wast:1404
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -1),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005562684646268003),
+ ],
+);
+
+// ./test/core/f64.wast:1405
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 1),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005562684646268003),
+ ],
+);
+
+// ./test/core/f64.wast:1406
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 1),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005562684646268003),
+ ],
+);
+
+// ./test/core/f64.wast:1407
+assert_return(() => invoke($0, `div`, [value("f64", -1), value("f64", -Infinity)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:1408
+assert_return(() => invoke($0, `div`, [value("f64", -1), value("f64", Infinity)]), [value("f64", -0)]);
+
+// ./test/core/f64.wast:1409
+assert_return(() => invoke($0, `div`, [value("f64", 1), value("f64", -Infinity)]), [value("f64", -0)]);
+
+// ./test/core/f64.wast:1410
+assert_return(() => invoke($0, `div`, [value("f64", 1), value("f64", Infinity)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:1411
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1412
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1413
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1414
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1415
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1416
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1417
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1418
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1419
+assert_return(
+ () => invoke($0, `div`, [value("f64", -6.283185307179586), value("f64", -0)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1420
+assert_return(
+ () => invoke($0, `div`, [value("f64", -6.283185307179586), value("f64", 0)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1421
+assert_return(
+ () => invoke($0, `div`, [value("f64", 6.283185307179586), value("f64", -0)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1422
+assert_return(
+ () => invoke($0, `div`, [value("f64", 6.283185307179586), value("f64", 0)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1423
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -6.283185307179586),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1424
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -6.283185307179586),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1425
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 6.283185307179586),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1426
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 6.283185307179586),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1427
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -6.283185307179586),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1428
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -6.283185307179586),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1429
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 6.283185307179586),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1430
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 6.283185307179586),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1431
+assert_return(
+ () => invoke($0, `div`, [value("f64", -6.283185307179586), value("f64", -0.5)]),
+ [value("f64", 12.566370614359172)],
+);
+
+// ./test/core/f64.wast:1432
+assert_return(
+ () => invoke($0, `div`, [value("f64", -6.283185307179586), value("f64", 0.5)]),
+ [value("f64", -12.566370614359172)],
+);
+
+// ./test/core/f64.wast:1433
+assert_return(
+ () => invoke($0, `div`, [value("f64", 6.283185307179586), value("f64", -0.5)]),
+ [value("f64", -12.566370614359172)],
+);
+
+// ./test/core/f64.wast:1434
+assert_return(
+ () => invoke($0, `div`, [value("f64", 6.283185307179586), value("f64", 0.5)]),
+ [value("f64", 12.566370614359172)],
+);
+
+// ./test/core/f64.wast:1435
+assert_return(
+ () => invoke($0, `div`, [value("f64", -6.283185307179586), value("f64", -1)]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:1436
+assert_return(
+ () => invoke($0, `div`, [value("f64", -6.283185307179586), value("f64", 1)]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:1437
+assert_return(
+ () => invoke($0, `div`, [value("f64", 6.283185307179586), value("f64", -1)]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:1438
+assert_return(
+ () => invoke($0, `div`, [value("f64", 6.283185307179586), value("f64", 1)]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:1439
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("f64", 1)],
+);
+
+// ./test/core/f64.wast:1440
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -6.283185307179586),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("f64", -1)],
+);
+
+// ./test/core/f64.wast:1441
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 6.283185307179586),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("f64", -1)],
+);
+
+// ./test/core/f64.wast:1442
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("f64", 1)],
+);
+
+// ./test/core/f64.wast:1443
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -6.283185307179586),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000349513784379046),
+ ],
+);
+
+// ./test/core/f64.wast:1444
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -6.283185307179586),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000349513784379046),
+ ],
+);
+
+// ./test/core/f64.wast:1445
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 6.283185307179586),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000349513784379046),
+ ],
+);
+
+// ./test/core/f64.wast:1446
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 6.283185307179586),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000349513784379046),
+ ],
+);
+
+// ./test/core/f64.wast:1447
+assert_return(
+ () => invoke($0, `div`, [value("f64", -6.283185307179586), value("f64", -Infinity)]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:1448
+assert_return(
+ () => invoke($0, `div`, [value("f64", -6.283185307179586), value("f64", Infinity)]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:1449
+assert_return(
+ () => invoke($0, `div`, [value("f64", 6.283185307179586), value("f64", -Infinity)]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:1450
+assert_return(
+ () => invoke($0, `div`, [value("f64", 6.283185307179586), value("f64", Infinity)]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:1451
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1452
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1453
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1454
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1455
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1456
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1457
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1458
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1459
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1460
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1461
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1462
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1463
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1464
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1465
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1466
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1467
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1468
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1469
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1470
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1471
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.5),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1472
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.5),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1473
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.5),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1474
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.5),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1475
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -1),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1476
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 1),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1477
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -1),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1478
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 1),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1479
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -6.283185307179586),
+ ]),
+ [
+ value("f64", 28611174857570280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1480
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 6.283185307179586),
+ ]),
+ [
+ value("f64", -28611174857570280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1481
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -6.283185307179586),
+ ]),
+ [
+ value("f64", -28611174857570280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1482
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 6.283185307179586),
+ ]),
+ [
+ value("f64", 28611174857570280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1483
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", 1)],
+);
+
+// ./test/core/f64.wast:1484
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -1)],
+);
+
+// ./test/core/f64.wast:1485
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -1)],
+);
+
+// ./test/core/f64.wast:1486
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", 1)],
+);
+
+// ./test/core/f64.wast:1487
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -Infinity),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:1488
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", Infinity),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:1489
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -Infinity),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:1490
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", Infinity),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:1491
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1492
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1493
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1494
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1495
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1496
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1497
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1498
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1499
+assert_return(
+ () => invoke($0, `div`, [value("f64", -Infinity), value("f64", -0)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1500
+assert_return(
+ () => invoke($0, `div`, [value("f64", -Infinity), value("f64", 0)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1501
+assert_return(
+ () => invoke($0, `div`, [value("f64", Infinity), value("f64", -0)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1502
+assert_return(
+ () => invoke($0, `div`, [value("f64", Infinity), value("f64", 0)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1503
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -Infinity),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1504
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -Infinity),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1505
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", Infinity),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1506
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", Infinity),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1507
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -Infinity),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1508
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -Infinity),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1509
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", Infinity),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1510
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", Infinity),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1511
+assert_return(
+ () => invoke($0, `div`, [value("f64", -Infinity), value("f64", -0.5)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1512
+assert_return(
+ () => invoke($0, `div`, [value("f64", -Infinity), value("f64", 0.5)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1513
+assert_return(
+ () => invoke($0, `div`, [value("f64", Infinity), value("f64", -0.5)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1514
+assert_return(
+ () => invoke($0, `div`, [value("f64", Infinity), value("f64", 0.5)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1515
+assert_return(
+ () => invoke($0, `div`, [value("f64", -Infinity), value("f64", -1)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1516
+assert_return(
+ () => invoke($0, `div`, [value("f64", -Infinity), value("f64", 1)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1517
+assert_return(
+ () => invoke($0, `div`, [value("f64", Infinity), value("f64", -1)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1518
+assert_return(
+ () => invoke($0, `div`, [value("f64", Infinity), value("f64", 1)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1519
+assert_return(
+ () => invoke($0, `div`, [value("f64", -Infinity), value("f64", -6.283185307179586)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1520
+assert_return(
+ () => invoke($0, `div`, [value("f64", -Infinity), value("f64", 6.283185307179586)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1521
+assert_return(
+ () => invoke($0, `div`, [value("f64", Infinity), value("f64", -6.283185307179586)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1522
+assert_return(
+ () => invoke($0, `div`, [value("f64", Infinity), value("f64", 6.283185307179586)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1523
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -Infinity),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1524
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -Infinity),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1525
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", Infinity),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1526
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", Infinity),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1527
+assert_return(
+ () => invoke($0, `div`, [value("f64", -Infinity), value("f64", -Infinity)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1528
+assert_return(
+ () => invoke($0, `div`, [value("f64", -Infinity), value("f64", Infinity)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1529
+assert_return(
+ () => invoke($0, `div`, [value("f64", Infinity), value("f64", -Infinity)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1530
+assert_return(
+ () => invoke($0, `div`, [value("f64", Infinity), value("f64", Infinity)]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1531
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1532
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1533
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1534
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", -Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1535
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1536
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1537
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1538
+assert_return(
+ () => invoke($0, `div`, [
+ value("f64", Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1539
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -0),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1540
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -0),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1541
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 0),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1542
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 0),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1543
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -0),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1544
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -0),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1545
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1546
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 0),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1547
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1548
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1549
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1550
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1551
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1552
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1553
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1554
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1555
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1556
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1557
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1558
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1559
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1560
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1561
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1562
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1563
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -0.5),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1564
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -0.5),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1565
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 0.5),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1566
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 0.5),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1567
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -0.5),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1568
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -0.5),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1569
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0.5),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1570
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 0.5),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1571
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -1),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1572
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -1),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1573
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 1),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1574
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 1),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1575
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -1),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1576
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -1),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1577
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 1),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1578
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 1),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1579
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -6.283185307179586),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1580
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -6.283185307179586),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1581
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 6.283185307179586),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1582
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 6.283185307179586),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1583
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -6.283185307179586),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1584
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -6.283185307179586),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1585
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 6.283185307179586),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1586
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 6.283185307179586),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1587
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1588
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1589
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1590
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1591
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1592
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1593
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1594
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1595
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -Infinity),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1596
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -Infinity),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1597
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", Infinity),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1598
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", Infinity),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1599
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -Infinity),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1600
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -Infinity),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1601
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", Infinity),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1602
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", Infinity),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1603
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1604
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1605
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1606
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1607
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1608
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1609
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1610
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1611
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1612
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1613
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1614
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1615
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1616
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1617
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1618
+assert_return(
+ () => invoke($0, `div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1619
+assert_return(() => invoke($0, `min`, [value("f64", -0), value("f64", -0)]), [value("f64", -0)]);
+
+// ./test/core/f64.wast:1620
+assert_return(() => invoke($0, `min`, [value("f64", -0), value("f64", 0)]), [value("f64", -0)]);
+
+// ./test/core/f64.wast:1621
+assert_return(() => invoke($0, `min`, [value("f64", 0), value("f64", -0)]), [value("f64", -0)]);
+
+// ./test/core/f64.wast:1622
+assert_return(() => invoke($0, `min`, [value("f64", 0), value("f64", 0)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:1623
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:1624
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:1625
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:1626
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:1627
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:1628
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:1629
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:1630
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:1631
+assert_return(() => invoke($0, `min`, [value("f64", -0), value("f64", -0.5)]), [value("f64", -0.5)]);
+
+// ./test/core/f64.wast:1632
+assert_return(() => invoke($0, `min`, [value("f64", -0), value("f64", 0.5)]), [value("f64", -0)]);
+
+// ./test/core/f64.wast:1633
+assert_return(() => invoke($0, `min`, [value("f64", 0), value("f64", -0.5)]), [value("f64", -0.5)]);
+
+// ./test/core/f64.wast:1634
+assert_return(() => invoke($0, `min`, [value("f64", 0), value("f64", 0.5)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:1635
+assert_return(() => invoke($0, `min`, [value("f64", -0), value("f64", -1)]), [value("f64", -1)]);
+
+// ./test/core/f64.wast:1636
+assert_return(() => invoke($0, `min`, [value("f64", -0), value("f64", 1)]), [value("f64", -0)]);
+
+// ./test/core/f64.wast:1637
+assert_return(() => invoke($0, `min`, [value("f64", 0), value("f64", -1)]), [value("f64", -1)]);
+
+// ./test/core/f64.wast:1638
+assert_return(() => invoke($0, `min`, [value("f64", 0), value("f64", 1)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:1639
+assert_return(
+ () => invoke($0, `min`, [value("f64", -0), value("f64", -6.283185307179586)]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:1640
+assert_return(
+ () => invoke($0, `min`, [value("f64", -0), value("f64", 6.283185307179586)]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:1641
+assert_return(
+ () => invoke($0, `min`, [value("f64", 0), value("f64", -6.283185307179586)]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:1642
+assert_return(
+ () => invoke($0, `min`, [value("f64", 0), value("f64", 6.283185307179586)]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:1643
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1644
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:1645
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1646
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:1647
+assert_return(
+ () => invoke($0, `min`, [value("f64", -0), value("f64", -Infinity)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1648
+assert_return(() => invoke($0, `min`, [value("f64", -0), value("f64", Infinity)]), [value("f64", -0)]);
+
+// ./test/core/f64.wast:1649
+assert_return(
+ () => invoke($0, `min`, [value("f64", 0), value("f64", -Infinity)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1650
+assert_return(() => invoke($0, `min`, [value("f64", 0), value("f64", Infinity)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:1651
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1652
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1653
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1654
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1655
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1656
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1657
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1658
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1659
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:1660
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:1661
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:1662
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:1663
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:1664
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:1665
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:1666
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:1667
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:1668
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:1669
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:1670
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:1671
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.5),
+ ]),
+ [value("f64", -0.5)],
+);
+
+// ./test/core/f64.wast:1672
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.5),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:1673
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.5),
+ ]),
+ [value("f64", -0.5)],
+);
+
+// ./test/core/f64.wast:1674
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.5),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:1675
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -1),
+ ]),
+ [value("f64", -1)],
+);
+
+// ./test/core/f64.wast:1676
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 1),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:1677
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -1),
+ ]),
+ [value("f64", -1)],
+);
+
+// ./test/core/f64.wast:1678
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 1),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:1679
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:1680
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 6.283185307179586),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:1681
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:1682
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 6.283185307179586),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:1683
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1684
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:1685
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1686
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:1687
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -Infinity),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1688
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", Infinity),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:1689
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -Infinity),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1690
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", Infinity),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:1691
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1692
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1693
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1694
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1695
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1696
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1697
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1698
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1699
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:1700
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:1701
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:1702
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:1703
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:1704
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:1705
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:1706
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:1707
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:1708
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:1709
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:1710
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:1711
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.5),
+ ]),
+ [value("f64", -0.5)],
+);
+
+// ./test/core/f64.wast:1712
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.5),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:1713
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.5),
+ ]),
+ [value("f64", -0.5)],
+);
+
+// ./test/core/f64.wast:1714
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.5),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:1715
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -1),
+ ]),
+ [value("f64", -1)],
+);
+
+// ./test/core/f64.wast:1716
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 1),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:1717
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -1),
+ ]),
+ [value("f64", -1)],
+);
+
+// ./test/core/f64.wast:1718
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 1),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:1719
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:1720
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 6.283185307179586),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:1721
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:1722
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 6.283185307179586),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:1723
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1724
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:1725
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1726
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:1727
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -Infinity),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1728
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", Infinity),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:1729
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -Infinity),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1730
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", Infinity),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:1731
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1732
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1733
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1734
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1735
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1736
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1737
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1738
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1739
+assert_return(() => invoke($0, `min`, [value("f64", -0.5), value("f64", -0)]), [value("f64", -0.5)]);
+
+// ./test/core/f64.wast:1740
+assert_return(() => invoke($0, `min`, [value("f64", -0.5), value("f64", 0)]), [value("f64", -0.5)]);
+
+// ./test/core/f64.wast:1741
+assert_return(() => invoke($0, `min`, [value("f64", 0.5), value("f64", -0)]), [value("f64", -0)]);
+
+// ./test/core/f64.wast:1742
+assert_return(() => invoke($0, `min`, [value("f64", 0.5), value("f64", 0)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:1743
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0.5),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -0.5)],
+);
+
+// ./test/core/f64.wast:1744
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0.5),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -0.5)],
+);
+
+// ./test/core/f64.wast:1745
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0.5),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:1746
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0.5),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:1747
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0.5),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -0.5)],
+);
+
+// ./test/core/f64.wast:1748
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0.5),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -0.5)],
+);
+
+// ./test/core/f64.wast:1749
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0.5),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:1750
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0.5),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:1751
+assert_return(() => invoke($0, `min`, [value("f64", -0.5), value("f64", -0.5)]), [value("f64", -0.5)]);
+
+// ./test/core/f64.wast:1752
+assert_return(() => invoke($0, `min`, [value("f64", -0.5), value("f64", 0.5)]), [value("f64", -0.5)]);
+
+// ./test/core/f64.wast:1753
+assert_return(() => invoke($0, `min`, [value("f64", 0.5), value("f64", -0.5)]), [value("f64", -0.5)]);
+
+// ./test/core/f64.wast:1754
+assert_return(() => invoke($0, `min`, [value("f64", 0.5), value("f64", 0.5)]), [value("f64", 0.5)]);
+
+// ./test/core/f64.wast:1755
+assert_return(() => invoke($0, `min`, [value("f64", -0.5), value("f64", -1)]), [value("f64", -1)]);
+
+// ./test/core/f64.wast:1756
+assert_return(() => invoke($0, `min`, [value("f64", -0.5), value("f64", 1)]), [value("f64", -0.5)]);
+
+// ./test/core/f64.wast:1757
+assert_return(() => invoke($0, `min`, [value("f64", 0.5), value("f64", -1)]), [value("f64", -1)]);
+
+// ./test/core/f64.wast:1758
+assert_return(() => invoke($0, `min`, [value("f64", 0.5), value("f64", 1)]), [value("f64", 0.5)]);
+
+// ./test/core/f64.wast:1759
+assert_return(
+ () => invoke($0, `min`, [value("f64", -0.5), value("f64", -6.283185307179586)]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:1760
+assert_return(
+ () => invoke($0, `min`, [value("f64", -0.5), value("f64", 6.283185307179586)]),
+ [value("f64", -0.5)],
+);
+
+// ./test/core/f64.wast:1761
+assert_return(
+ () => invoke($0, `min`, [value("f64", 0.5), value("f64", -6.283185307179586)]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:1762
+assert_return(
+ () => invoke($0, `min`, [value("f64", 0.5), value("f64", 6.283185307179586)]),
+ [value("f64", 0.5)],
+);
+
+// ./test/core/f64.wast:1763
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0.5),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1764
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0.5),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -0.5)],
+);
+
+// ./test/core/f64.wast:1765
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0.5),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1766
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0.5),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", 0.5)],
+);
+
+// ./test/core/f64.wast:1767
+assert_return(
+ () => invoke($0, `min`, [value("f64", -0.5), value("f64", -Infinity)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1768
+assert_return(
+ () => invoke($0, `min`, [value("f64", -0.5), value("f64", Infinity)]),
+ [value("f64", -0.5)],
+);
+
+// ./test/core/f64.wast:1769
+assert_return(
+ () => invoke($0, `min`, [value("f64", 0.5), value("f64", -Infinity)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1770
+assert_return(() => invoke($0, `min`, [value("f64", 0.5), value("f64", Infinity)]), [value("f64", 0.5)]);
+
+// ./test/core/f64.wast:1771
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1772
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1773
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1774
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1775
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1776
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1777
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1778
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1779
+assert_return(() => invoke($0, `min`, [value("f64", -1), value("f64", -0)]), [value("f64", -1)]);
+
+// ./test/core/f64.wast:1780
+assert_return(() => invoke($0, `min`, [value("f64", -1), value("f64", 0)]), [value("f64", -1)]);
+
+// ./test/core/f64.wast:1781
+assert_return(() => invoke($0, `min`, [value("f64", 1), value("f64", -0)]), [value("f64", -0)]);
+
+// ./test/core/f64.wast:1782
+assert_return(() => invoke($0, `min`, [value("f64", 1), value("f64", 0)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:1783
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -1),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -1)],
+);
+
+// ./test/core/f64.wast:1784
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -1),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -1)],
+);
+
+// ./test/core/f64.wast:1785
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 1),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:1786
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 1),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:1787
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -1),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -1)],
+);
+
+// ./test/core/f64.wast:1788
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -1),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -1)],
+);
+
+// ./test/core/f64.wast:1789
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 1),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:1790
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 1),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:1791
+assert_return(() => invoke($0, `min`, [value("f64", -1), value("f64", -0.5)]), [value("f64", -1)]);
+
+// ./test/core/f64.wast:1792
+assert_return(() => invoke($0, `min`, [value("f64", -1), value("f64", 0.5)]), [value("f64", -1)]);
+
+// ./test/core/f64.wast:1793
+assert_return(() => invoke($0, `min`, [value("f64", 1), value("f64", -0.5)]), [value("f64", -0.5)]);
+
+// ./test/core/f64.wast:1794
+assert_return(() => invoke($0, `min`, [value("f64", 1), value("f64", 0.5)]), [value("f64", 0.5)]);
+
+// ./test/core/f64.wast:1795
+assert_return(() => invoke($0, `min`, [value("f64", -1), value("f64", -1)]), [value("f64", -1)]);
+
+// ./test/core/f64.wast:1796
+assert_return(() => invoke($0, `min`, [value("f64", -1), value("f64", 1)]), [value("f64", -1)]);
+
+// ./test/core/f64.wast:1797
+assert_return(() => invoke($0, `min`, [value("f64", 1), value("f64", -1)]), [value("f64", -1)]);
+
+// ./test/core/f64.wast:1798
+assert_return(() => invoke($0, `min`, [value("f64", 1), value("f64", 1)]), [value("f64", 1)]);
+
+// ./test/core/f64.wast:1799
+assert_return(
+ () => invoke($0, `min`, [value("f64", -1), value("f64", -6.283185307179586)]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:1800
+assert_return(
+ () => invoke($0, `min`, [value("f64", -1), value("f64", 6.283185307179586)]),
+ [value("f64", -1)],
+);
+
+// ./test/core/f64.wast:1801
+assert_return(
+ () => invoke($0, `min`, [value("f64", 1), value("f64", -6.283185307179586)]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:1802
+assert_return(
+ () => invoke($0, `min`, [value("f64", 1), value("f64", 6.283185307179586)]),
+ [value("f64", 1)],
+);
+
+// ./test/core/f64.wast:1803
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -1),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1804
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -1),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -1)],
+);
+
+// ./test/core/f64.wast:1805
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 1),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1806
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 1),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", 1)],
+);
+
+// ./test/core/f64.wast:1807
+assert_return(
+ () => invoke($0, `min`, [value("f64", -1), value("f64", -Infinity)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1808
+assert_return(() => invoke($0, `min`, [value("f64", -1), value("f64", Infinity)]), [value("f64", -1)]);
+
+// ./test/core/f64.wast:1809
+assert_return(
+ () => invoke($0, `min`, [value("f64", 1), value("f64", -Infinity)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1810
+assert_return(() => invoke($0, `min`, [value("f64", 1), value("f64", Infinity)]), [value("f64", 1)]);
+
+// ./test/core/f64.wast:1811
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1812
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1813
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1814
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1815
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1816
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1817
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1818
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1819
+assert_return(
+ () => invoke($0, `min`, [value("f64", -6.283185307179586), value("f64", -0)]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:1820
+assert_return(
+ () => invoke($0, `min`, [value("f64", -6.283185307179586), value("f64", 0)]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:1821
+assert_return(
+ () => invoke($0, `min`, [value("f64", 6.283185307179586), value("f64", -0)]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:1822
+assert_return(
+ () => invoke($0, `min`, [value("f64", 6.283185307179586), value("f64", 0)]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:1823
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -6.283185307179586),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:1824
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -6.283185307179586),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:1825
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 6.283185307179586),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:1826
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 6.283185307179586),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:1827
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -6.283185307179586),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:1828
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -6.283185307179586),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:1829
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 6.283185307179586),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:1830
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 6.283185307179586),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:1831
+assert_return(
+ () => invoke($0, `min`, [value("f64", -6.283185307179586), value("f64", -0.5)]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:1832
+assert_return(
+ () => invoke($0, `min`, [value("f64", -6.283185307179586), value("f64", 0.5)]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:1833
+assert_return(
+ () => invoke($0, `min`, [value("f64", 6.283185307179586), value("f64", -0.5)]),
+ [value("f64", -0.5)],
+);
+
+// ./test/core/f64.wast:1834
+assert_return(
+ () => invoke($0, `min`, [value("f64", 6.283185307179586), value("f64", 0.5)]),
+ [value("f64", 0.5)],
+);
+
+// ./test/core/f64.wast:1835
+assert_return(
+ () => invoke($0, `min`, [value("f64", -6.283185307179586), value("f64", -1)]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:1836
+assert_return(
+ () => invoke($0, `min`, [value("f64", -6.283185307179586), value("f64", 1)]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:1837
+assert_return(
+ () => invoke($0, `min`, [value("f64", 6.283185307179586), value("f64", -1)]),
+ [value("f64", -1)],
+);
+
+// ./test/core/f64.wast:1838
+assert_return(
+ () => invoke($0, `min`, [value("f64", 6.283185307179586), value("f64", 1)]),
+ [value("f64", 1)],
+);
+
+// ./test/core/f64.wast:1839
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:1840
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -6.283185307179586),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:1841
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 6.283185307179586),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:1842
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:1843
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -6.283185307179586),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1844
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -6.283185307179586),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:1845
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 6.283185307179586),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1846
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 6.283185307179586),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:1847
+assert_return(
+ () => invoke($0, `min`, [value("f64", -6.283185307179586), value("f64", -Infinity)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1848
+assert_return(
+ () => invoke($0, `min`, [value("f64", -6.283185307179586), value("f64", Infinity)]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:1849
+assert_return(
+ () => invoke($0, `min`, [value("f64", 6.283185307179586), value("f64", -Infinity)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1850
+assert_return(
+ () => invoke($0, `min`, [value("f64", 6.283185307179586), value("f64", Infinity)]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:1851
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1852
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1853
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1854
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1855
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1856
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1857
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1858
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1859
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1860
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1861
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:1862
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:1863
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1864
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1865
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:1866
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:1867
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1868
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1869
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:1870
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:1871
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.5),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1872
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.5),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1873
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.5),
+ ]),
+ [value("f64", -0.5)],
+);
+
+// ./test/core/f64.wast:1874
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.5),
+ ]),
+ [value("f64", 0.5)],
+);
+
+// ./test/core/f64.wast:1875
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -1),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1876
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 1),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1877
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -1),
+ ]),
+ [value("f64", -1)],
+);
+
+// ./test/core/f64.wast:1878
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 1),
+ ]),
+ [value("f64", 1)],
+);
+
+// ./test/core/f64.wast:1879
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -6.283185307179586),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1880
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 6.283185307179586),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1881
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:1882
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:1883
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1884
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1885
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1886
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1887
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -Infinity),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1888
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", Infinity),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1889
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -Infinity),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1890
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", Infinity),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1891
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1892
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1893
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1894
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1895
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1896
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1897
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1898
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1899
+assert_return(
+ () => invoke($0, `min`, [value("f64", -Infinity), value("f64", -0)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1900
+assert_return(
+ () => invoke($0, `min`, [value("f64", -Infinity), value("f64", 0)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1901
+assert_return(() => invoke($0, `min`, [value("f64", Infinity), value("f64", -0)]), [value("f64", -0)]);
+
+// ./test/core/f64.wast:1902
+assert_return(() => invoke($0, `min`, [value("f64", Infinity), value("f64", 0)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:1903
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -Infinity),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1904
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -Infinity),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1905
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", Infinity),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:1906
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", Infinity),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:1907
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -Infinity),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1908
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -Infinity),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1909
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", Infinity),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:1910
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", Infinity),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:1911
+assert_return(
+ () => invoke($0, `min`, [value("f64", -Infinity), value("f64", -0.5)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1912
+assert_return(
+ () => invoke($0, `min`, [value("f64", -Infinity), value("f64", 0.5)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1913
+assert_return(
+ () => invoke($0, `min`, [value("f64", Infinity), value("f64", -0.5)]),
+ [value("f64", -0.5)],
+);
+
+// ./test/core/f64.wast:1914
+assert_return(() => invoke($0, `min`, [value("f64", Infinity), value("f64", 0.5)]), [value("f64", 0.5)]);
+
+// ./test/core/f64.wast:1915
+assert_return(
+ () => invoke($0, `min`, [value("f64", -Infinity), value("f64", -1)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1916
+assert_return(
+ () => invoke($0, `min`, [value("f64", -Infinity), value("f64", 1)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1917
+assert_return(() => invoke($0, `min`, [value("f64", Infinity), value("f64", -1)]), [value("f64", -1)]);
+
+// ./test/core/f64.wast:1918
+assert_return(() => invoke($0, `min`, [value("f64", Infinity), value("f64", 1)]), [value("f64", 1)]);
+
+// ./test/core/f64.wast:1919
+assert_return(
+ () => invoke($0, `min`, [value("f64", -Infinity), value("f64", -6.283185307179586)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1920
+assert_return(
+ () => invoke($0, `min`, [value("f64", -Infinity), value("f64", 6.283185307179586)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1921
+assert_return(
+ () => invoke($0, `min`, [value("f64", Infinity), value("f64", -6.283185307179586)]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:1922
+assert_return(
+ () => invoke($0, `min`, [value("f64", Infinity), value("f64", 6.283185307179586)]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:1923
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -Infinity),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1924
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -Infinity),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1925
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", Infinity),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1926
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", Infinity),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:1927
+assert_return(
+ () => invoke($0, `min`, [value("f64", -Infinity), value("f64", -Infinity)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1928
+assert_return(
+ () => invoke($0, `min`, [value("f64", -Infinity), value("f64", Infinity)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1929
+assert_return(
+ () => invoke($0, `min`, [value("f64", Infinity), value("f64", -Infinity)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:1930
+assert_return(
+ () => invoke($0, `min`, [value("f64", Infinity), value("f64", Infinity)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:1931
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1932
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1933
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1934
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", -Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1935
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1936
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1937
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1938
+assert_return(
+ () => invoke($0, `min`, [
+ value("f64", Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1939
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -0),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1940
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -0),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1941
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 0),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1942
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 0),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1943
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -0),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1944
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -0),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1945
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1946
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 0),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1947
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1948
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1949
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1950
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1951
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1952
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1953
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1954
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1955
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1956
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1957
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1958
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1959
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1960
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1961
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1962
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1963
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -0.5),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1964
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -0.5),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1965
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 0.5),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1966
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 0.5),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1967
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -0.5),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1968
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -0.5),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1969
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0.5),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1970
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 0.5),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1971
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -1),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1972
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -1),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1973
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 1),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1974
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 1),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1975
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -1),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1976
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -1),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1977
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 1),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1978
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 1),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1979
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -6.283185307179586),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1980
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -6.283185307179586),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1981
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 6.283185307179586),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1982
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 6.283185307179586),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1983
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -6.283185307179586),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1984
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -6.283185307179586),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1985
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 6.283185307179586),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1986
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 6.283185307179586),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1987
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1988
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1989
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1990
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1991
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1992
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1993
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1994
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1995
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -Infinity),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1996
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -Infinity),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1997
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", Infinity),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:1998
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", Infinity),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:1999
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -Infinity),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2000
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -Infinity),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2001
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", Infinity),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2002
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", Infinity),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2003
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2004
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2005
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2006
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2007
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2008
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2009
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2010
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2011
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2012
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2013
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2014
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2015
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2016
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2017
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2018
+assert_return(
+ () => invoke($0, `min`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2019
+assert_return(() => invoke($0, `max`, [value("f64", -0), value("f64", -0)]), [value("f64", -0)]);
+
+// ./test/core/f64.wast:2020
+assert_return(() => invoke($0, `max`, [value("f64", -0), value("f64", 0)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:2021
+assert_return(() => invoke($0, `max`, [value("f64", 0), value("f64", -0)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:2022
+assert_return(() => invoke($0, `max`, [value("f64", 0), value("f64", 0)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:2023
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:2024
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:2025
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:2026
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:2027
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:2028
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:2029
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:2030
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:2031
+assert_return(() => invoke($0, `max`, [value("f64", -0), value("f64", -0.5)]), [value("f64", -0)]);
+
+// ./test/core/f64.wast:2032
+assert_return(() => invoke($0, `max`, [value("f64", -0), value("f64", 0.5)]), [value("f64", 0.5)]);
+
+// ./test/core/f64.wast:2033
+assert_return(() => invoke($0, `max`, [value("f64", 0), value("f64", -0.5)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:2034
+assert_return(() => invoke($0, `max`, [value("f64", 0), value("f64", 0.5)]), [value("f64", 0.5)]);
+
+// ./test/core/f64.wast:2035
+assert_return(() => invoke($0, `max`, [value("f64", -0), value("f64", -1)]), [value("f64", -0)]);
+
+// ./test/core/f64.wast:2036
+assert_return(() => invoke($0, `max`, [value("f64", -0), value("f64", 1)]), [value("f64", 1)]);
+
+// ./test/core/f64.wast:2037
+assert_return(() => invoke($0, `max`, [value("f64", 0), value("f64", -1)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:2038
+assert_return(() => invoke($0, `max`, [value("f64", 0), value("f64", 1)]), [value("f64", 1)]);
+
+// ./test/core/f64.wast:2039
+assert_return(
+ () => invoke($0, `max`, [value("f64", -0), value("f64", -6.283185307179586)]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:2040
+assert_return(
+ () => invoke($0, `max`, [value("f64", -0), value("f64", 6.283185307179586)]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:2041
+assert_return(
+ () => invoke($0, `max`, [value("f64", 0), value("f64", -6.283185307179586)]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:2042
+assert_return(
+ () => invoke($0, `max`, [value("f64", 0), value("f64", 6.283185307179586)]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:2043
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:2044
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:2045
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:2046
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:2047
+assert_return(() => invoke($0, `max`, [value("f64", -0), value("f64", -Infinity)]), [value("f64", -0)]);
+
+// ./test/core/f64.wast:2048
+assert_return(
+ () => invoke($0, `max`, [value("f64", -0), value("f64", Infinity)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:2049
+assert_return(() => invoke($0, `max`, [value("f64", 0), value("f64", -Infinity)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:2050
+assert_return(
+ () => invoke($0, `max`, [value("f64", 0), value("f64", Infinity)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:2051
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2052
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2053
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2054
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2055
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2056
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2057
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2058
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2059
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:2060
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:2061
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:2062
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:2063
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:2064
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:2065
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:2066
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:2067
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:2068
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:2069
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:2070
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:2071
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.5),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:2072
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.5),
+ ]),
+ [value("f64", 0.5)],
+);
+
+// ./test/core/f64.wast:2073
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.5),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:2074
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.5),
+ ]),
+ [value("f64", 0.5)],
+);
+
+// ./test/core/f64.wast:2075
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -1),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:2076
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 1),
+ ]),
+ [value("f64", 1)],
+);
+
+// ./test/core/f64.wast:2077
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -1),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:2078
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 1),
+ ]),
+ [value("f64", 1)],
+);
+
+// ./test/core/f64.wast:2079
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -6.283185307179586),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:2080
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:2081
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -6.283185307179586),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:2082
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:2083
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:2084
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:2085
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:2086
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:2087
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -Infinity),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:2088
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", Infinity),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:2089
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -Infinity),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:2090
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", Infinity),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:2091
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2092
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2093
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2094
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2095
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2096
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2097
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2098
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2099
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:2100
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:2101
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:2102
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:2103
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:2104
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:2105
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:2106
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:2107
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:2108
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:2109
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:2110
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:2111
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.5),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:2112
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.5),
+ ]),
+ [value("f64", 0.5)],
+);
+
+// ./test/core/f64.wast:2113
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.5),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:2114
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.5),
+ ]),
+ [value("f64", 0.5)],
+);
+
+// ./test/core/f64.wast:2115
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -1),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:2116
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 1),
+ ]),
+ [value("f64", 1)],
+);
+
+// ./test/core/f64.wast:2117
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -1),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:2118
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 1),
+ ]),
+ [value("f64", 1)],
+);
+
+// ./test/core/f64.wast:2119
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -6.283185307179586),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:2120
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:2121
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -6.283185307179586),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:2122
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:2123
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:2124
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:2125
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:2126
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:2127
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -Infinity),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:2128
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", Infinity),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:2129
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -Infinity),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:2130
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", Infinity),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:2131
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2132
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2133
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2134
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2135
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2136
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2137
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2138
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2139
+assert_return(() => invoke($0, `max`, [value("f64", -0.5), value("f64", -0)]), [value("f64", -0)]);
+
+// ./test/core/f64.wast:2140
+assert_return(() => invoke($0, `max`, [value("f64", -0.5), value("f64", 0)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:2141
+assert_return(() => invoke($0, `max`, [value("f64", 0.5), value("f64", -0)]), [value("f64", 0.5)]);
+
+// ./test/core/f64.wast:2142
+assert_return(() => invoke($0, `max`, [value("f64", 0.5), value("f64", 0)]), [value("f64", 0.5)]);
+
+// ./test/core/f64.wast:2143
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0.5),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:2144
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0.5),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:2145
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0.5),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", 0.5)],
+);
+
+// ./test/core/f64.wast:2146
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0.5),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", 0.5)],
+);
+
+// ./test/core/f64.wast:2147
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0.5),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:2148
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0.5),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:2149
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0.5),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", 0.5)],
+);
+
+// ./test/core/f64.wast:2150
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0.5),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", 0.5)],
+);
+
+// ./test/core/f64.wast:2151
+assert_return(() => invoke($0, `max`, [value("f64", -0.5), value("f64", -0.5)]), [value("f64", -0.5)]);
+
+// ./test/core/f64.wast:2152
+assert_return(() => invoke($0, `max`, [value("f64", -0.5), value("f64", 0.5)]), [value("f64", 0.5)]);
+
+// ./test/core/f64.wast:2153
+assert_return(() => invoke($0, `max`, [value("f64", 0.5), value("f64", -0.5)]), [value("f64", 0.5)]);
+
+// ./test/core/f64.wast:2154
+assert_return(() => invoke($0, `max`, [value("f64", 0.5), value("f64", 0.5)]), [value("f64", 0.5)]);
+
+// ./test/core/f64.wast:2155
+assert_return(() => invoke($0, `max`, [value("f64", -0.5), value("f64", -1)]), [value("f64", -0.5)]);
+
+// ./test/core/f64.wast:2156
+assert_return(() => invoke($0, `max`, [value("f64", -0.5), value("f64", 1)]), [value("f64", 1)]);
+
+// ./test/core/f64.wast:2157
+assert_return(() => invoke($0, `max`, [value("f64", 0.5), value("f64", -1)]), [value("f64", 0.5)]);
+
+// ./test/core/f64.wast:2158
+assert_return(() => invoke($0, `max`, [value("f64", 0.5), value("f64", 1)]), [value("f64", 1)]);
+
+// ./test/core/f64.wast:2159
+assert_return(
+ () => invoke($0, `max`, [value("f64", -0.5), value("f64", -6.283185307179586)]),
+ [value("f64", -0.5)],
+);
+
+// ./test/core/f64.wast:2160
+assert_return(
+ () => invoke($0, `max`, [value("f64", -0.5), value("f64", 6.283185307179586)]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:2161
+assert_return(
+ () => invoke($0, `max`, [value("f64", 0.5), value("f64", -6.283185307179586)]),
+ [value("f64", 0.5)],
+);
+
+// ./test/core/f64.wast:2162
+assert_return(
+ () => invoke($0, `max`, [value("f64", 0.5), value("f64", 6.283185307179586)]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:2163
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0.5),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -0.5)],
+);
+
+// ./test/core/f64.wast:2164
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0.5),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:2165
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0.5),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", 0.5)],
+);
+
+// ./test/core/f64.wast:2166
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0.5),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:2167
+assert_return(
+ () => invoke($0, `max`, [value("f64", -0.5), value("f64", -Infinity)]),
+ [value("f64", -0.5)],
+);
+
+// ./test/core/f64.wast:2168
+assert_return(
+ () => invoke($0, `max`, [value("f64", -0.5), value("f64", Infinity)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:2169
+assert_return(
+ () => invoke($0, `max`, [value("f64", 0.5), value("f64", -Infinity)]),
+ [value("f64", 0.5)],
+);
+
+// ./test/core/f64.wast:2170
+assert_return(
+ () => invoke($0, `max`, [value("f64", 0.5), value("f64", Infinity)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:2171
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2172
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2173
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2174
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2175
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2176
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2177
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2178
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2179
+assert_return(() => invoke($0, `max`, [value("f64", -1), value("f64", -0)]), [value("f64", -0)]);
+
+// ./test/core/f64.wast:2180
+assert_return(() => invoke($0, `max`, [value("f64", -1), value("f64", 0)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:2181
+assert_return(() => invoke($0, `max`, [value("f64", 1), value("f64", -0)]), [value("f64", 1)]);
+
+// ./test/core/f64.wast:2182
+assert_return(() => invoke($0, `max`, [value("f64", 1), value("f64", 0)]), [value("f64", 1)]);
+
+// ./test/core/f64.wast:2183
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -1),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:2184
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -1),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:2185
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 1),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", 1)],
+);
+
+// ./test/core/f64.wast:2186
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 1),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", 1)],
+);
+
+// ./test/core/f64.wast:2187
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -1),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:2188
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -1),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:2189
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 1),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", 1)],
+);
+
+// ./test/core/f64.wast:2190
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 1),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", 1)],
+);
+
+// ./test/core/f64.wast:2191
+assert_return(() => invoke($0, `max`, [value("f64", -1), value("f64", -0.5)]), [value("f64", -0.5)]);
+
+// ./test/core/f64.wast:2192
+assert_return(() => invoke($0, `max`, [value("f64", -1), value("f64", 0.5)]), [value("f64", 0.5)]);
+
+// ./test/core/f64.wast:2193
+assert_return(() => invoke($0, `max`, [value("f64", 1), value("f64", -0.5)]), [value("f64", 1)]);
+
+// ./test/core/f64.wast:2194
+assert_return(() => invoke($0, `max`, [value("f64", 1), value("f64", 0.5)]), [value("f64", 1)]);
+
+// ./test/core/f64.wast:2195
+assert_return(() => invoke($0, `max`, [value("f64", -1), value("f64", -1)]), [value("f64", -1)]);
+
+// ./test/core/f64.wast:2196
+assert_return(() => invoke($0, `max`, [value("f64", -1), value("f64", 1)]), [value("f64", 1)]);
+
+// ./test/core/f64.wast:2197
+assert_return(() => invoke($0, `max`, [value("f64", 1), value("f64", -1)]), [value("f64", 1)]);
+
+// ./test/core/f64.wast:2198
+assert_return(() => invoke($0, `max`, [value("f64", 1), value("f64", 1)]), [value("f64", 1)]);
+
+// ./test/core/f64.wast:2199
+assert_return(
+ () => invoke($0, `max`, [value("f64", -1), value("f64", -6.283185307179586)]),
+ [value("f64", -1)],
+);
+
+// ./test/core/f64.wast:2200
+assert_return(
+ () => invoke($0, `max`, [value("f64", -1), value("f64", 6.283185307179586)]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:2201
+assert_return(
+ () => invoke($0, `max`, [value("f64", 1), value("f64", -6.283185307179586)]),
+ [value("f64", 1)],
+);
+
+// ./test/core/f64.wast:2202
+assert_return(
+ () => invoke($0, `max`, [value("f64", 1), value("f64", 6.283185307179586)]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:2203
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -1),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -1)],
+);
+
+// ./test/core/f64.wast:2204
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -1),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:2205
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 1),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", 1)],
+);
+
+// ./test/core/f64.wast:2206
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 1),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:2207
+assert_return(() => invoke($0, `max`, [value("f64", -1), value("f64", -Infinity)]), [value("f64", -1)]);
+
+// ./test/core/f64.wast:2208
+assert_return(
+ () => invoke($0, `max`, [value("f64", -1), value("f64", Infinity)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:2209
+assert_return(() => invoke($0, `max`, [value("f64", 1), value("f64", -Infinity)]), [value("f64", 1)]);
+
+// ./test/core/f64.wast:2210
+assert_return(
+ () => invoke($0, `max`, [value("f64", 1), value("f64", Infinity)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:2211
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2212
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2213
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2214
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2215
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2216
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2217
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2218
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2219
+assert_return(
+ () => invoke($0, `max`, [value("f64", -6.283185307179586), value("f64", -0)]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:2220
+assert_return(
+ () => invoke($0, `max`, [value("f64", -6.283185307179586), value("f64", 0)]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:2221
+assert_return(
+ () => invoke($0, `max`, [value("f64", 6.283185307179586), value("f64", -0)]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:2222
+assert_return(
+ () => invoke($0, `max`, [value("f64", 6.283185307179586), value("f64", 0)]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:2223
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -6.283185307179586),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:2224
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -6.283185307179586),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:2225
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 6.283185307179586),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:2226
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 6.283185307179586),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:2227
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -6.283185307179586),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:2228
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -6.283185307179586),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:2229
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 6.283185307179586),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:2230
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 6.283185307179586),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:2231
+assert_return(
+ () => invoke($0, `max`, [value("f64", -6.283185307179586), value("f64", -0.5)]),
+ [value("f64", -0.5)],
+);
+
+// ./test/core/f64.wast:2232
+assert_return(
+ () => invoke($0, `max`, [value("f64", -6.283185307179586), value("f64", 0.5)]),
+ [value("f64", 0.5)],
+);
+
+// ./test/core/f64.wast:2233
+assert_return(
+ () => invoke($0, `max`, [value("f64", 6.283185307179586), value("f64", -0.5)]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:2234
+assert_return(
+ () => invoke($0, `max`, [value("f64", 6.283185307179586), value("f64", 0.5)]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:2235
+assert_return(
+ () => invoke($0, `max`, [value("f64", -6.283185307179586), value("f64", -1)]),
+ [value("f64", -1)],
+);
+
+// ./test/core/f64.wast:2236
+assert_return(
+ () => invoke($0, `max`, [value("f64", -6.283185307179586), value("f64", 1)]),
+ [value("f64", 1)],
+);
+
+// ./test/core/f64.wast:2237
+assert_return(
+ () => invoke($0, `max`, [value("f64", 6.283185307179586), value("f64", -1)]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:2238
+assert_return(
+ () => invoke($0, `max`, [value("f64", 6.283185307179586), value("f64", 1)]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:2239
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:2240
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -6.283185307179586),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:2241
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 6.283185307179586),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:2242
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:2243
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -6.283185307179586),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:2244
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -6.283185307179586),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:2245
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 6.283185307179586),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:2246
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 6.283185307179586),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:2247
+assert_return(
+ () => invoke($0, `max`, [value("f64", -6.283185307179586), value("f64", -Infinity)]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:2248
+assert_return(
+ () => invoke($0, `max`, [value("f64", -6.283185307179586), value("f64", Infinity)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:2249
+assert_return(
+ () => invoke($0, `max`, [value("f64", 6.283185307179586), value("f64", -Infinity)]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:2250
+assert_return(
+ () => invoke($0, `max`, [value("f64", 6.283185307179586), value("f64", Infinity)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:2251
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2252
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2253
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2254
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2255
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2256
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2257
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2258
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2259
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:2260
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:2261
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:2262
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:2263
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:2264
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:2265
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:2266
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:2267
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:2268
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:2269
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:2270
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:2271
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.5),
+ ]),
+ [value("f64", -0.5)],
+);
+
+// ./test/core/f64.wast:2272
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.5),
+ ]),
+ [value("f64", 0.5)],
+);
+
+// ./test/core/f64.wast:2273
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.5),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:2274
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.5),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:2275
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -1),
+ ]),
+ [value("f64", -1)],
+);
+
+// ./test/core/f64.wast:2276
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 1),
+ ]),
+ [value("f64", 1)],
+);
+
+// ./test/core/f64.wast:2277
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -1),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:2278
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 1),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:2279
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:2280
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:2281
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -6.283185307179586),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:2282
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 6.283185307179586),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:2283
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:2284
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:2285
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:2286
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:2287
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -Infinity),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:2288
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", Infinity),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:2289
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -Infinity),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:2290
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", Infinity),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:2291
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2292
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2293
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2294
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2295
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2296
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2297
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2298
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2299
+assert_return(() => invoke($0, `max`, [value("f64", -Infinity), value("f64", -0)]), [value("f64", -0)]);
+
+// ./test/core/f64.wast:2300
+assert_return(() => invoke($0, `max`, [value("f64", -Infinity), value("f64", 0)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:2301
+assert_return(
+ () => invoke($0, `max`, [value("f64", Infinity), value("f64", -0)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:2302
+assert_return(
+ () => invoke($0, `max`, [value("f64", Infinity), value("f64", 0)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:2303
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -Infinity),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:2304
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -Infinity),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64.wast:2305
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", Infinity),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:2306
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", Infinity),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:2307
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -Infinity),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:2308
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -Infinity),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64.wast:2309
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", Infinity),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:2310
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", Infinity),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:2311
+assert_return(
+ () => invoke($0, `max`, [value("f64", -Infinity), value("f64", -0.5)]),
+ [value("f64", -0.5)],
+);
+
+// ./test/core/f64.wast:2312
+assert_return(
+ () => invoke($0, `max`, [value("f64", -Infinity), value("f64", 0.5)]),
+ [value("f64", 0.5)],
+);
+
+// ./test/core/f64.wast:2313
+assert_return(
+ () => invoke($0, `max`, [value("f64", Infinity), value("f64", -0.5)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:2314
+assert_return(
+ () => invoke($0, `max`, [value("f64", Infinity), value("f64", 0.5)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:2315
+assert_return(() => invoke($0, `max`, [value("f64", -Infinity), value("f64", -1)]), [value("f64", -1)]);
+
+// ./test/core/f64.wast:2316
+assert_return(() => invoke($0, `max`, [value("f64", -Infinity), value("f64", 1)]), [value("f64", 1)]);
+
+// ./test/core/f64.wast:2317
+assert_return(
+ () => invoke($0, `max`, [value("f64", Infinity), value("f64", -1)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:2318
+assert_return(
+ () => invoke($0, `max`, [value("f64", Infinity), value("f64", 1)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:2319
+assert_return(
+ () => invoke($0, `max`, [value("f64", -Infinity), value("f64", -6.283185307179586)]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64.wast:2320
+assert_return(
+ () => invoke($0, `max`, [value("f64", -Infinity), value("f64", 6.283185307179586)]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64.wast:2321
+assert_return(
+ () => invoke($0, `max`, [value("f64", Infinity), value("f64", -6.283185307179586)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:2322
+assert_return(
+ () => invoke($0, `max`, [value("f64", Infinity), value("f64", 6.283185307179586)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:2323
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -Infinity),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:2324
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -Infinity),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:2325
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", Infinity),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:2326
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", Infinity),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:2327
+assert_return(
+ () => invoke($0, `max`, [value("f64", -Infinity), value("f64", -Infinity)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64.wast:2328
+assert_return(
+ () => invoke($0, `max`, [value("f64", -Infinity), value("f64", Infinity)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:2329
+assert_return(
+ () => invoke($0, `max`, [value("f64", Infinity), value("f64", -Infinity)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:2330
+assert_return(
+ () => invoke($0, `max`, [value("f64", Infinity), value("f64", Infinity)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64.wast:2331
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2332
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2333
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2334
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", -Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2335
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2336
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2337
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2338
+assert_return(
+ () => invoke($0, `max`, [
+ value("f64", Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2339
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -0),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2340
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -0),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2341
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 0),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2342
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 0),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2343
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -0),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2344
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -0),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2345
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2346
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 0),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2347
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2348
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2349
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2350
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2351
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2352
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2353
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2354
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2355
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2356
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2357
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2358
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2359
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2360
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2361
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2362
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2363
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -0.5),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2364
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -0.5),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2365
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 0.5),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2366
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 0.5),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2367
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -0.5),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2368
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -0.5),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2369
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0.5),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2370
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 0.5),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2371
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -1),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2372
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -1),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2373
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 1),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2374
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 1),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2375
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -1),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2376
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -1),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2377
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 1),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2378
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 1),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2379
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -6.283185307179586),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2380
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -6.283185307179586),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2381
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 6.283185307179586),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2382
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 6.283185307179586),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2383
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -6.283185307179586),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2384
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -6.283185307179586),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2385
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 6.283185307179586),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2386
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 6.283185307179586),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2387
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2388
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2389
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2390
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2391
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2392
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2393
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2394
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2395
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -Infinity),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2396
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -Infinity),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2397
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", Infinity),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2398
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", Infinity),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2399
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -Infinity),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2400
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -Infinity),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2401
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", Infinity),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2402
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", Infinity),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2403
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2404
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2405
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2406
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2407
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2408
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2409
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2410
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2411
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2412
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2413
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2414
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2415
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2416
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2417
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2418
+assert_return(
+ () => invoke($0, `max`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2419
+assert_return(() => invoke($0, `sqrt`, [value("f64", -0)]), [value("f64", -0)]);
+
+// ./test/core/f64.wast:2420
+assert_return(() => invoke($0, `sqrt`, [value("f64", 0)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:2421
+assert_return(
+ () => invoke($0, `sqrt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2422
+assert_return(
+ () => invoke($0, `sqrt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022227587494850775),
+ ],
+);
+
+// ./test/core/f64.wast:2423
+assert_return(
+ () => invoke($0, `sqrt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2424
+assert_return(
+ () => invoke($0, `sqrt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014916681462400413),
+ ],
+);
+
+// ./test/core/f64.wast:2425
+assert_return(() => invoke($0, `sqrt`, [value("f64", -0.5)]), [`canonical_nan`]);
+
+// ./test/core/f64.wast:2426
+assert_return(() => invoke($0, `sqrt`, [value("f64", 0.5)]), [value("f64", 0.7071067811865476)]);
+
+// ./test/core/f64.wast:2427
+assert_return(() => invoke($0, `sqrt`, [value("f64", -1)]), [`canonical_nan`]);
+
+// ./test/core/f64.wast:2428
+assert_return(() => invoke($0, `sqrt`, [value("f64", 1)]), [value("f64", 1)]);
+
+// ./test/core/f64.wast:2429
+assert_return(() => invoke($0, `sqrt`, [value("f64", -6.283185307179586)]), [`canonical_nan`]);
+
+// ./test/core/f64.wast:2430
+assert_return(
+ () => invoke($0, `sqrt`, [value("f64", 6.283185307179586)]),
+ [value("f64", 2.5066282746310002)],
+);
+
+// ./test/core/f64.wast:2431
+assert_return(
+ () => invoke($0, `sqrt`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2432
+assert_return(
+ () => invoke($0, `sqrt`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 13407807929942596000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:2433
+assert_return(() => invoke($0, `sqrt`, [value("f64", -Infinity)]), [`canonical_nan`]);
+
+// ./test/core/f64.wast:2434
+assert_return(() => invoke($0, `sqrt`, [value("f64", Infinity)]), [value("f64", Infinity)]);
+
+// ./test/core/f64.wast:2435
+assert_return(
+ () => invoke($0, `sqrt`, [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2436
+assert_return(
+ () => invoke($0, `sqrt`, [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2437
+assert_return(
+ () => invoke($0, `sqrt`, [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2438
+assert_return(
+ () => invoke($0, `sqrt`, [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2439
+assert_return(() => invoke($0, `floor`, [value("f64", -0)]), [value("f64", -0)]);
+
+// ./test/core/f64.wast:2440
+assert_return(() => invoke($0, `floor`, [value("f64", 0)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:2441
+assert_return(
+ () => invoke($0, `floor`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -1)],
+);
+
+// ./test/core/f64.wast:2442
+assert_return(
+ () => invoke($0, `floor`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:2443
+assert_return(
+ () => invoke($0, `floor`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -1)],
+);
+
+// ./test/core/f64.wast:2444
+assert_return(
+ () => invoke($0, `floor`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:2445
+assert_return(() => invoke($0, `floor`, [value("f64", -0.5)]), [value("f64", -1)]);
+
+// ./test/core/f64.wast:2446
+assert_return(() => invoke($0, `floor`, [value("f64", 0.5)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:2447
+assert_return(() => invoke($0, `floor`, [value("f64", -1)]), [value("f64", -1)]);
+
+// ./test/core/f64.wast:2448
+assert_return(() => invoke($0, `floor`, [value("f64", 1)]), [value("f64", 1)]);
+
+// ./test/core/f64.wast:2449
+assert_return(() => invoke($0, `floor`, [value("f64", -6.283185307179586)]), [value("f64", -7)]);
+
+// ./test/core/f64.wast:2450
+assert_return(() => invoke($0, `floor`, [value("f64", 6.283185307179586)]), [value("f64", 6)]);
+
+// ./test/core/f64.wast:2451
+assert_return(
+ () => invoke($0, `floor`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:2452
+assert_return(
+ () => invoke($0, `floor`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:2453
+assert_return(() => invoke($0, `floor`, [value("f64", -Infinity)]), [value("f64", -Infinity)]);
+
+// ./test/core/f64.wast:2454
+assert_return(() => invoke($0, `floor`, [value("f64", Infinity)]), [value("f64", Infinity)]);
+
+// ./test/core/f64.wast:2455
+assert_return(
+ () => invoke($0, `floor`, [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2456
+assert_return(
+ () => invoke($0, `floor`, [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2457
+assert_return(
+ () => invoke($0, `floor`, [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2458
+assert_return(
+ () => invoke($0, `floor`, [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2459
+assert_return(() => invoke($0, `ceil`, [value("f64", -0)]), [value("f64", -0)]);
+
+// ./test/core/f64.wast:2460
+assert_return(() => invoke($0, `ceil`, [value("f64", 0)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:2461
+assert_return(
+ () => invoke($0, `ceil`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:2462
+assert_return(
+ () => invoke($0, `ceil`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", 1)],
+);
+
+// ./test/core/f64.wast:2463
+assert_return(
+ () => invoke($0, `ceil`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:2464
+assert_return(
+ () => invoke($0, `ceil`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", 1)],
+);
+
+// ./test/core/f64.wast:2465
+assert_return(() => invoke($0, `ceil`, [value("f64", -0.5)]), [value("f64", -0)]);
+
+// ./test/core/f64.wast:2466
+assert_return(() => invoke($0, `ceil`, [value("f64", 0.5)]), [value("f64", 1)]);
+
+// ./test/core/f64.wast:2467
+assert_return(() => invoke($0, `ceil`, [value("f64", -1)]), [value("f64", -1)]);
+
+// ./test/core/f64.wast:2468
+assert_return(() => invoke($0, `ceil`, [value("f64", 1)]), [value("f64", 1)]);
+
+// ./test/core/f64.wast:2469
+assert_return(() => invoke($0, `ceil`, [value("f64", -6.283185307179586)]), [value("f64", -6)]);
+
+// ./test/core/f64.wast:2470
+assert_return(() => invoke($0, `ceil`, [value("f64", 6.283185307179586)]), [value("f64", 7)]);
+
+// ./test/core/f64.wast:2471
+assert_return(
+ () => invoke($0, `ceil`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:2472
+assert_return(
+ () => invoke($0, `ceil`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:2473
+assert_return(() => invoke($0, `ceil`, [value("f64", -Infinity)]), [value("f64", -Infinity)]);
+
+// ./test/core/f64.wast:2474
+assert_return(() => invoke($0, `ceil`, [value("f64", Infinity)]), [value("f64", Infinity)]);
+
+// ./test/core/f64.wast:2475
+assert_return(
+ () => invoke($0, `ceil`, [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2476
+assert_return(
+ () => invoke($0, `ceil`, [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2477
+assert_return(
+ () => invoke($0, `ceil`, [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2478
+assert_return(
+ () => invoke($0, `ceil`, [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2479
+assert_return(() => invoke($0, `trunc`, [value("f64", -0)]), [value("f64", -0)]);
+
+// ./test/core/f64.wast:2480
+assert_return(() => invoke($0, `trunc`, [value("f64", 0)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:2481
+assert_return(
+ () => invoke($0, `trunc`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:2482
+assert_return(
+ () => invoke($0, `trunc`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:2483
+assert_return(
+ () => invoke($0, `trunc`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:2484
+assert_return(
+ () => invoke($0, `trunc`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:2485
+assert_return(() => invoke($0, `trunc`, [value("f64", -0.5)]), [value("f64", -0)]);
+
+// ./test/core/f64.wast:2486
+assert_return(() => invoke($0, `trunc`, [value("f64", 0.5)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:2487
+assert_return(() => invoke($0, `trunc`, [value("f64", -1)]), [value("f64", -1)]);
+
+// ./test/core/f64.wast:2488
+assert_return(() => invoke($0, `trunc`, [value("f64", 1)]), [value("f64", 1)]);
+
+// ./test/core/f64.wast:2489
+assert_return(() => invoke($0, `trunc`, [value("f64", -6.283185307179586)]), [value("f64", -6)]);
+
+// ./test/core/f64.wast:2490
+assert_return(() => invoke($0, `trunc`, [value("f64", 6.283185307179586)]), [value("f64", 6)]);
+
+// ./test/core/f64.wast:2491
+assert_return(
+ () => invoke($0, `trunc`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:2492
+assert_return(
+ () => invoke($0, `trunc`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:2493
+assert_return(() => invoke($0, `trunc`, [value("f64", -Infinity)]), [value("f64", -Infinity)]);
+
+// ./test/core/f64.wast:2494
+assert_return(() => invoke($0, `trunc`, [value("f64", Infinity)]), [value("f64", Infinity)]);
+
+// ./test/core/f64.wast:2495
+assert_return(
+ () => invoke($0, `trunc`, [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2496
+assert_return(
+ () => invoke($0, `trunc`, [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2497
+assert_return(
+ () => invoke($0, `trunc`, [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2498
+assert_return(
+ () => invoke($0, `trunc`, [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2499
+assert_return(() => invoke($0, `nearest`, [value("f64", -0)]), [value("f64", -0)]);
+
+// ./test/core/f64.wast:2500
+assert_return(() => invoke($0, `nearest`, [value("f64", 0)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:2501
+assert_return(
+ () => invoke($0, `nearest`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:2502
+assert_return(
+ () => invoke($0, `nearest`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:2503
+assert_return(
+ () => invoke($0, `nearest`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64.wast:2504
+assert_return(
+ () => invoke($0, `nearest`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64.wast:2505
+assert_return(() => invoke($0, `nearest`, [value("f64", -0.5)]), [value("f64", -0)]);
+
+// ./test/core/f64.wast:2506
+assert_return(() => invoke($0, `nearest`, [value("f64", 0.5)]), [value("f64", 0)]);
+
+// ./test/core/f64.wast:2507
+assert_return(() => invoke($0, `nearest`, [value("f64", -1)]), [value("f64", -1)]);
+
+// ./test/core/f64.wast:2508
+assert_return(() => invoke($0, `nearest`, [value("f64", 1)]), [value("f64", 1)]);
+
+// ./test/core/f64.wast:2509
+assert_return(() => invoke($0, `nearest`, [value("f64", -6.283185307179586)]), [value("f64", -6)]);
+
+// ./test/core/f64.wast:2510
+assert_return(() => invoke($0, `nearest`, [value("f64", 6.283185307179586)]), [value("f64", 6)]);
+
+// ./test/core/f64.wast:2511
+assert_return(
+ () => invoke($0, `nearest`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:2512
+assert_return(
+ () => invoke($0, `nearest`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64.wast:2513
+assert_return(() => invoke($0, `nearest`, [value("f64", -Infinity)]), [value("f64", -Infinity)]);
+
+// ./test/core/f64.wast:2514
+assert_return(() => invoke($0, `nearest`, [value("f64", Infinity)]), [value("f64", Infinity)]);
+
+// ./test/core/f64.wast:2515
+assert_return(
+ () => invoke($0, `nearest`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2516
+assert_return(
+ () => invoke($0, `nearest`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2517
+assert_return(
+ () => invoke($0, `nearest`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/f64.wast:2518
+assert_return(
+ () => invoke($0, `nearest`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/f64.wast:2523
+assert_invalid(
+ () => instantiate(`(module (func (result f64) (f64.add (i64.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/f64.wast:2524
+assert_invalid(
+ () => instantiate(`(module (func (result f64) (f64.div (i64.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/f64.wast:2525
+assert_invalid(
+ () => instantiate(`(module (func (result f64) (f64.max (i64.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/f64.wast:2526
+assert_invalid(
+ () => instantiate(`(module (func (result f64) (f64.min (i64.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/f64.wast:2527
+assert_invalid(
+ () => instantiate(`(module (func (result f64) (f64.mul (i64.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/f64.wast:2528
+assert_invalid(
+ () => instantiate(`(module (func (result f64) (f64.sub (i64.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/f64.wast:2529
+assert_invalid(
+ () => instantiate(`(module (func (result f64) (f64.ceil (i64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/f64.wast:2530
+assert_invalid(
+ () => instantiate(`(module (func (result f64) (f64.floor (i64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/f64.wast:2531
+assert_invalid(
+ () => instantiate(`(module (func (result f64) (f64.nearest (i64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/f64.wast:2532
+assert_invalid(
+ () => instantiate(`(module (func (result f64) (f64.sqrt (i64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/f64.wast:2533
+assert_invalid(
+ () => instantiate(`(module (func (result f64) (f64.trunc (i64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/f64.wast:2536
+assert_malformed(
+ () => instantiate(`(func (result f64) (f64.const nan:arithmetic)) `),
+ `unexpected token`,
+);
+
+// ./test/core/f64.wast:2540
+assert_malformed(
+ () => instantiate(`(func (result f64) (f64.const nan:canonical)) `),
+ `unexpected token`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/f64_bitwise.wast.js b/js/src/jit-test/tests/wasm/spec/spec/f64_bitwise.wast.js
new file mode 100644
index 0000000000..3fc6e365b9
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/f64_bitwise.wast.js
@@ -0,0 +1,3032 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/f64_bitwise.wast
+
+// ./test/core/f64_bitwise.wast:4
+let $0 = instantiate(`(module
+ (func (export "abs") (param $$x f64) (result f64) (f64.abs (local.get $$x)))
+ (func (export "neg") (param $$x f64) (result f64) (f64.neg (local.get $$x)))
+ (func (export "copysign") (param $$x f64) (param $$y f64) (result f64) (f64.copysign (local.get $$x) (local.get $$y)))
+)`);
+
+// ./test/core/f64_bitwise.wast:10
+assert_return(() => invoke($0, `copysign`, [value("f64", -0), value("f64", -0)]), [value("f64", -0)]);
+
+// ./test/core/f64_bitwise.wast:11
+assert_return(() => invoke($0, `copysign`, [value("f64", -0), value("f64", 0)]), [value("f64", 0)]);
+
+// ./test/core/f64_bitwise.wast:12
+assert_return(() => invoke($0, `copysign`, [value("f64", 0), value("f64", -0)]), [value("f64", -0)]);
+
+// ./test/core/f64_bitwise.wast:13
+assert_return(() => invoke($0, `copysign`, [value("f64", 0), value("f64", 0)]), [value("f64", 0)]);
+
+// ./test/core/f64_bitwise.wast:14
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -0),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64_bitwise.wast:15
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -0),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64_bitwise.wast:16
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 0),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64_bitwise.wast:17
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 0),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64_bitwise.wast:18
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -0),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64_bitwise.wast:19
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -0),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64_bitwise.wast:20
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 0),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64_bitwise.wast:21
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 0),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64_bitwise.wast:22
+assert_return(() => invoke($0, `copysign`, [value("f64", -0), value("f64", -0.5)]), [value("f64", -0)]);
+
+// ./test/core/f64_bitwise.wast:23
+assert_return(() => invoke($0, `copysign`, [value("f64", -0), value("f64", 0.5)]), [value("f64", 0)]);
+
+// ./test/core/f64_bitwise.wast:24
+assert_return(() => invoke($0, `copysign`, [value("f64", 0), value("f64", -0.5)]), [value("f64", -0)]);
+
+// ./test/core/f64_bitwise.wast:25
+assert_return(() => invoke($0, `copysign`, [value("f64", 0), value("f64", 0.5)]), [value("f64", 0)]);
+
+// ./test/core/f64_bitwise.wast:26
+assert_return(() => invoke($0, `copysign`, [value("f64", -0), value("f64", -1)]), [value("f64", -0)]);
+
+// ./test/core/f64_bitwise.wast:27
+assert_return(() => invoke($0, `copysign`, [value("f64", -0), value("f64", 1)]), [value("f64", 0)]);
+
+// ./test/core/f64_bitwise.wast:28
+assert_return(() => invoke($0, `copysign`, [value("f64", 0), value("f64", -1)]), [value("f64", -0)]);
+
+// ./test/core/f64_bitwise.wast:29
+assert_return(() => invoke($0, `copysign`, [value("f64", 0), value("f64", 1)]), [value("f64", 0)]);
+
+// ./test/core/f64_bitwise.wast:30
+assert_return(
+ () => invoke($0, `copysign`, [value("f64", -0), value("f64", -6.283185307179586)]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64_bitwise.wast:31
+assert_return(
+ () => invoke($0, `copysign`, [value("f64", -0), value("f64", 6.283185307179586)]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64_bitwise.wast:32
+assert_return(
+ () => invoke($0, `copysign`, [value("f64", 0), value("f64", -6.283185307179586)]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64_bitwise.wast:33
+assert_return(
+ () => invoke($0, `copysign`, [value("f64", 0), value("f64", 6.283185307179586)]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64_bitwise.wast:34
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -0),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64_bitwise.wast:35
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -0),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64_bitwise.wast:36
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 0),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64_bitwise.wast:37
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 0),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64_bitwise.wast:38
+assert_return(
+ () => invoke($0, `copysign`, [value("f64", -0), value("f64", -Infinity)]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64_bitwise.wast:39
+assert_return(
+ () => invoke($0, `copysign`, [value("f64", -0), value("f64", Infinity)]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64_bitwise.wast:40
+assert_return(
+ () => invoke($0, `copysign`, [value("f64", 0), value("f64", -Infinity)]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64_bitwise.wast:41
+assert_return(
+ () => invoke($0, `copysign`, [value("f64", 0), value("f64", Infinity)]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64_bitwise.wast:42
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64_bitwise.wast:43
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64_bitwise.wast:44
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/f64_bitwise.wast:45
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/f64_bitwise.wast:46
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:47
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:48
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:49
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:50
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:51
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:52
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:53
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:54
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:55
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:56
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:57
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:58
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.5),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:59
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.5),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:60
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.5),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:61
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.5),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:62
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -1),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:63
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 1),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:64
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -1),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:65
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 1),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:66
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -6.283185307179586),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:67
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 6.283185307179586),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:68
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -6.283185307179586),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:69
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 6.283185307179586),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:70
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:71
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:72
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:73
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:74
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -Infinity),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:75
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", Infinity),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:76
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -Infinity),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:77
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", Infinity),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:78
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:79
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:80
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:81
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:82
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:83
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:84
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:85
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:86
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:87
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:88
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:89
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:90
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:91
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:92
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:93
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:94
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.5),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:95
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.5),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:96
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.5),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:97
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.5),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:98
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -1),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:99
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 1),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:100
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -1),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:101
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 1),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:102
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -6.283185307179586),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:103
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 6.283185307179586),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:104
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -6.283185307179586),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:105
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 6.283185307179586),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:106
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:107
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:108
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:109
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:110
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -Infinity),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:111
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", Infinity),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:112
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -Infinity),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:113
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", Infinity),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:114
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:115
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:116
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:117
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:118
+assert_return(
+ () => invoke($0, `copysign`, [value("f64", -0.5), value("f64", -0)]),
+ [value("f64", -0.5)],
+);
+
+// ./test/core/f64_bitwise.wast:119
+assert_return(() => invoke($0, `copysign`, [value("f64", -0.5), value("f64", 0)]), [value("f64", 0.5)]);
+
+// ./test/core/f64_bitwise.wast:120
+assert_return(() => invoke($0, `copysign`, [value("f64", 0.5), value("f64", -0)]), [value("f64", -0.5)]);
+
+// ./test/core/f64_bitwise.wast:121
+assert_return(() => invoke($0, `copysign`, [value("f64", 0.5), value("f64", 0)]), [value("f64", 0.5)]);
+
+// ./test/core/f64_bitwise.wast:122
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -0.5),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -0.5)],
+);
+
+// ./test/core/f64_bitwise.wast:123
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -0.5),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", 0.5)],
+);
+
+// ./test/core/f64_bitwise.wast:124
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 0.5),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -0.5)],
+);
+
+// ./test/core/f64_bitwise.wast:125
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 0.5),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", 0.5)],
+);
+
+// ./test/core/f64_bitwise.wast:126
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -0.5),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -0.5)],
+);
+
+// ./test/core/f64_bitwise.wast:127
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -0.5),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", 0.5)],
+);
+
+// ./test/core/f64_bitwise.wast:128
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 0.5),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -0.5)],
+);
+
+// ./test/core/f64_bitwise.wast:129
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 0.5),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", 0.5)],
+);
+
+// ./test/core/f64_bitwise.wast:130
+assert_return(
+ () => invoke($0, `copysign`, [value("f64", -0.5), value("f64", -0.5)]),
+ [value("f64", -0.5)],
+);
+
+// ./test/core/f64_bitwise.wast:131
+assert_return(
+ () => invoke($0, `copysign`, [value("f64", -0.5), value("f64", 0.5)]),
+ [value("f64", 0.5)],
+);
+
+// ./test/core/f64_bitwise.wast:132
+assert_return(
+ () => invoke($0, `copysign`, [value("f64", 0.5), value("f64", -0.5)]),
+ [value("f64", -0.5)],
+);
+
+// ./test/core/f64_bitwise.wast:133
+assert_return(() => invoke($0, `copysign`, [value("f64", 0.5), value("f64", 0.5)]), [value("f64", 0.5)]);
+
+// ./test/core/f64_bitwise.wast:134
+assert_return(
+ () => invoke($0, `copysign`, [value("f64", -0.5), value("f64", -1)]),
+ [value("f64", -0.5)],
+);
+
+// ./test/core/f64_bitwise.wast:135
+assert_return(() => invoke($0, `copysign`, [value("f64", -0.5), value("f64", 1)]), [value("f64", 0.5)]);
+
+// ./test/core/f64_bitwise.wast:136
+assert_return(() => invoke($0, `copysign`, [value("f64", 0.5), value("f64", -1)]), [value("f64", -0.5)]);
+
+// ./test/core/f64_bitwise.wast:137
+assert_return(() => invoke($0, `copysign`, [value("f64", 0.5), value("f64", 1)]), [value("f64", 0.5)]);
+
+// ./test/core/f64_bitwise.wast:138
+assert_return(
+ () => invoke($0, `copysign`, [value("f64", -0.5), value("f64", -6.283185307179586)]),
+ [value("f64", -0.5)],
+);
+
+// ./test/core/f64_bitwise.wast:139
+assert_return(
+ () => invoke($0, `copysign`, [value("f64", -0.5), value("f64", 6.283185307179586)]),
+ [value("f64", 0.5)],
+);
+
+// ./test/core/f64_bitwise.wast:140
+assert_return(
+ () => invoke($0, `copysign`, [value("f64", 0.5), value("f64", -6.283185307179586)]),
+ [value("f64", -0.5)],
+);
+
+// ./test/core/f64_bitwise.wast:141
+assert_return(
+ () => invoke($0, `copysign`, [value("f64", 0.5), value("f64", 6.283185307179586)]),
+ [value("f64", 0.5)],
+);
+
+// ./test/core/f64_bitwise.wast:142
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -0.5),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -0.5)],
+);
+
+// ./test/core/f64_bitwise.wast:143
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -0.5),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", 0.5)],
+);
+
+// ./test/core/f64_bitwise.wast:144
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 0.5),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -0.5)],
+);
+
+// ./test/core/f64_bitwise.wast:145
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 0.5),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", 0.5)],
+);
+
+// ./test/core/f64_bitwise.wast:146
+assert_return(
+ () => invoke($0, `copysign`, [value("f64", -0.5), value("f64", -Infinity)]),
+ [value("f64", -0.5)],
+);
+
+// ./test/core/f64_bitwise.wast:147
+assert_return(
+ () => invoke($0, `copysign`, [value("f64", -0.5), value("f64", Infinity)]),
+ [value("f64", 0.5)],
+);
+
+// ./test/core/f64_bitwise.wast:148
+assert_return(
+ () => invoke($0, `copysign`, [value("f64", 0.5), value("f64", -Infinity)]),
+ [value("f64", -0.5)],
+);
+
+// ./test/core/f64_bitwise.wast:149
+assert_return(
+ () => invoke($0, `copysign`, [value("f64", 0.5), value("f64", Infinity)]),
+ [value("f64", 0.5)],
+);
+
+// ./test/core/f64_bitwise.wast:150
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("f64", -0.5)],
+);
+
+// ./test/core/f64_bitwise.wast:151
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("f64", 0.5)],
+);
+
+// ./test/core/f64_bitwise.wast:152
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("f64", -0.5)],
+);
+
+// ./test/core/f64_bitwise.wast:153
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("f64", 0.5)],
+);
+
+// ./test/core/f64_bitwise.wast:154
+assert_return(() => invoke($0, `copysign`, [value("f64", -1), value("f64", -0)]), [value("f64", -1)]);
+
+// ./test/core/f64_bitwise.wast:155
+assert_return(() => invoke($0, `copysign`, [value("f64", -1), value("f64", 0)]), [value("f64", 1)]);
+
+// ./test/core/f64_bitwise.wast:156
+assert_return(() => invoke($0, `copysign`, [value("f64", 1), value("f64", -0)]), [value("f64", -1)]);
+
+// ./test/core/f64_bitwise.wast:157
+assert_return(() => invoke($0, `copysign`, [value("f64", 1), value("f64", 0)]), [value("f64", 1)]);
+
+// ./test/core/f64_bitwise.wast:158
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -1),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -1)],
+);
+
+// ./test/core/f64_bitwise.wast:159
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -1),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", 1)],
+);
+
+// ./test/core/f64_bitwise.wast:160
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 1),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -1)],
+);
+
+// ./test/core/f64_bitwise.wast:161
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 1),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", 1)],
+);
+
+// ./test/core/f64_bitwise.wast:162
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -1),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -1)],
+);
+
+// ./test/core/f64_bitwise.wast:163
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -1),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", 1)],
+);
+
+// ./test/core/f64_bitwise.wast:164
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 1),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -1)],
+);
+
+// ./test/core/f64_bitwise.wast:165
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 1),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", 1)],
+);
+
+// ./test/core/f64_bitwise.wast:166
+assert_return(() => invoke($0, `copysign`, [value("f64", -1), value("f64", -0.5)]), [value("f64", -1)]);
+
+// ./test/core/f64_bitwise.wast:167
+assert_return(() => invoke($0, `copysign`, [value("f64", -1), value("f64", 0.5)]), [value("f64", 1)]);
+
+// ./test/core/f64_bitwise.wast:168
+assert_return(() => invoke($0, `copysign`, [value("f64", 1), value("f64", -0.5)]), [value("f64", -1)]);
+
+// ./test/core/f64_bitwise.wast:169
+assert_return(() => invoke($0, `copysign`, [value("f64", 1), value("f64", 0.5)]), [value("f64", 1)]);
+
+// ./test/core/f64_bitwise.wast:170
+assert_return(() => invoke($0, `copysign`, [value("f64", -1), value("f64", -1)]), [value("f64", -1)]);
+
+// ./test/core/f64_bitwise.wast:171
+assert_return(() => invoke($0, `copysign`, [value("f64", -1), value("f64", 1)]), [value("f64", 1)]);
+
+// ./test/core/f64_bitwise.wast:172
+assert_return(() => invoke($0, `copysign`, [value("f64", 1), value("f64", -1)]), [value("f64", -1)]);
+
+// ./test/core/f64_bitwise.wast:173
+assert_return(() => invoke($0, `copysign`, [value("f64", 1), value("f64", 1)]), [value("f64", 1)]);
+
+// ./test/core/f64_bitwise.wast:174
+assert_return(
+ () => invoke($0, `copysign`, [value("f64", -1), value("f64", -6.283185307179586)]),
+ [value("f64", -1)],
+);
+
+// ./test/core/f64_bitwise.wast:175
+assert_return(
+ () => invoke($0, `copysign`, [value("f64", -1), value("f64", 6.283185307179586)]),
+ [value("f64", 1)],
+);
+
+// ./test/core/f64_bitwise.wast:176
+assert_return(
+ () => invoke($0, `copysign`, [value("f64", 1), value("f64", -6.283185307179586)]),
+ [value("f64", -1)],
+);
+
+// ./test/core/f64_bitwise.wast:177
+assert_return(
+ () => invoke($0, `copysign`, [value("f64", 1), value("f64", 6.283185307179586)]),
+ [value("f64", 1)],
+);
+
+// ./test/core/f64_bitwise.wast:178
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -1),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -1)],
+);
+
+// ./test/core/f64_bitwise.wast:179
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -1),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", 1)],
+);
+
+// ./test/core/f64_bitwise.wast:180
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 1),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -1)],
+);
+
+// ./test/core/f64_bitwise.wast:181
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 1),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", 1)],
+);
+
+// ./test/core/f64_bitwise.wast:182
+assert_return(
+ () => invoke($0, `copysign`, [value("f64", -1), value("f64", -Infinity)]),
+ [value("f64", -1)],
+);
+
+// ./test/core/f64_bitwise.wast:183
+assert_return(
+ () => invoke($0, `copysign`, [value("f64", -1), value("f64", Infinity)]),
+ [value("f64", 1)],
+);
+
+// ./test/core/f64_bitwise.wast:184
+assert_return(
+ () => invoke($0, `copysign`, [value("f64", 1), value("f64", -Infinity)]),
+ [value("f64", -1)],
+);
+
+// ./test/core/f64_bitwise.wast:185
+assert_return(
+ () => invoke($0, `copysign`, [value("f64", 1), value("f64", Infinity)]),
+ [value("f64", 1)],
+);
+
+// ./test/core/f64_bitwise.wast:186
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("f64", -1)],
+);
+
+// ./test/core/f64_bitwise.wast:187
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("f64", 1)],
+);
+
+// ./test/core/f64_bitwise.wast:188
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("f64", -1)],
+);
+
+// ./test/core/f64_bitwise.wast:189
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("f64", 1)],
+);
+
+// ./test/core/f64_bitwise.wast:190
+assert_return(
+ () => invoke($0, `copysign`, [value("f64", -6.283185307179586), value("f64", -0)]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64_bitwise.wast:191
+assert_return(
+ () => invoke($0, `copysign`, [value("f64", -6.283185307179586), value("f64", 0)]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64_bitwise.wast:192
+assert_return(
+ () => invoke($0, `copysign`, [value("f64", 6.283185307179586), value("f64", -0)]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64_bitwise.wast:193
+assert_return(
+ () => invoke($0, `copysign`, [value("f64", 6.283185307179586), value("f64", 0)]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64_bitwise.wast:194
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -6.283185307179586),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64_bitwise.wast:195
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -6.283185307179586),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64_bitwise.wast:196
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 6.283185307179586),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64_bitwise.wast:197
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 6.283185307179586),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64_bitwise.wast:198
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -6.283185307179586),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64_bitwise.wast:199
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -6.283185307179586),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64_bitwise.wast:200
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 6.283185307179586),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64_bitwise.wast:201
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 6.283185307179586),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64_bitwise.wast:202
+assert_return(
+ () => invoke($0, `copysign`, [value("f64", -6.283185307179586), value("f64", -0.5)]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64_bitwise.wast:203
+assert_return(
+ () => invoke($0, `copysign`, [value("f64", -6.283185307179586), value("f64", 0.5)]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64_bitwise.wast:204
+assert_return(
+ () => invoke($0, `copysign`, [value("f64", 6.283185307179586), value("f64", -0.5)]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64_bitwise.wast:205
+assert_return(
+ () => invoke($0, `copysign`, [value("f64", 6.283185307179586), value("f64", 0.5)]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64_bitwise.wast:206
+assert_return(
+ () => invoke($0, `copysign`, [value("f64", -6.283185307179586), value("f64", -1)]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64_bitwise.wast:207
+assert_return(
+ () => invoke($0, `copysign`, [value("f64", -6.283185307179586), value("f64", 1)]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64_bitwise.wast:208
+assert_return(
+ () => invoke($0, `copysign`, [value("f64", 6.283185307179586), value("f64", -1)]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64_bitwise.wast:209
+assert_return(
+ () => invoke($0, `copysign`, [value("f64", 6.283185307179586), value("f64", 1)]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64_bitwise.wast:210
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64_bitwise.wast:211
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -6.283185307179586),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64_bitwise.wast:212
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 6.283185307179586),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64_bitwise.wast:213
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64_bitwise.wast:214
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -6.283185307179586),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64_bitwise.wast:215
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -6.283185307179586),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64_bitwise.wast:216
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 6.283185307179586),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64_bitwise.wast:217
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 6.283185307179586),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64_bitwise.wast:218
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -6.283185307179586),
+ value("f64", -Infinity),
+ ]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64_bitwise.wast:219
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -6.283185307179586),
+ value("f64", Infinity),
+ ]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64_bitwise.wast:220
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 6.283185307179586),
+ value("f64", -Infinity),
+ ]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64_bitwise.wast:221
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 6.283185307179586),
+ value("f64", Infinity),
+ ]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64_bitwise.wast:222
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64_bitwise.wast:223
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64_bitwise.wast:224
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64_bitwise.wast:225
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64_bitwise.wast:226
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:227
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:228
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:229
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:230
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:231
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:232
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:233
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:234
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:235
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:236
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:237
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:238
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.5),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:239
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.5),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:240
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.5),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:241
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.5),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:242
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -1),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:243
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 1),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:244
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -1),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:245
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 1),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:246
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -6.283185307179586),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:247
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 6.283185307179586),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:248
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -6.283185307179586),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:249
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 6.283185307179586),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:250
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:251
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:252
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:253
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:254
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -Infinity),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:255
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", Infinity),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:256
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -Infinity),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:257
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", Infinity),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:258
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:259
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:260
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:261
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:262
+assert_return(
+ () => invoke($0, `copysign`, [value("f64", -Infinity), value("f64", -0)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64_bitwise.wast:263
+assert_return(
+ () => invoke($0, `copysign`, [value("f64", -Infinity), value("f64", 0)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64_bitwise.wast:264
+assert_return(
+ () => invoke($0, `copysign`, [value("f64", Infinity), value("f64", -0)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64_bitwise.wast:265
+assert_return(
+ () => invoke($0, `copysign`, [value("f64", Infinity), value("f64", 0)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64_bitwise.wast:266
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -Infinity),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64_bitwise.wast:267
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -Infinity),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64_bitwise.wast:268
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", Infinity),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64_bitwise.wast:269
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", Infinity),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64_bitwise.wast:270
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -Infinity),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64_bitwise.wast:271
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -Infinity),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64_bitwise.wast:272
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", Infinity),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64_bitwise.wast:273
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", Infinity),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64_bitwise.wast:274
+assert_return(
+ () => invoke($0, `copysign`, [value("f64", -Infinity), value("f64", -0.5)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64_bitwise.wast:275
+assert_return(
+ () => invoke($0, `copysign`, [value("f64", -Infinity), value("f64", 0.5)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64_bitwise.wast:276
+assert_return(
+ () => invoke($0, `copysign`, [value("f64", Infinity), value("f64", -0.5)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64_bitwise.wast:277
+assert_return(
+ () => invoke($0, `copysign`, [value("f64", Infinity), value("f64", 0.5)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64_bitwise.wast:278
+assert_return(
+ () => invoke($0, `copysign`, [value("f64", -Infinity), value("f64", -1)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64_bitwise.wast:279
+assert_return(
+ () => invoke($0, `copysign`, [value("f64", -Infinity), value("f64", 1)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64_bitwise.wast:280
+assert_return(
+ () => invoke($0, `copysign`, [value("f64", Infinity), value("f64", -1)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64_bitwise.wast:281
+assert_return(
+ () => invoke($0, `copysign`, [value("f64", Infinity), value("f64", 1)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64_bitwise.wast:282
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -Infinity),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64_bitwise.wast:283
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -Infinity),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64_bitwise.wast:284
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", Infinity),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64_bitwise.wast:285
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", Infinity),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64_bitwise.wast:286
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -Infinity),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64_bitwise.wast:287
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -Infinity),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64_bitwise.wast:288
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", Infinity),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64_bitwise.wast:289
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", Infinity),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64_bitwise.wast:290
+assert_return(
+ () => invoke($0, `copysign`, [value("f64", -Infinity), value("f64", -Infinity)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64_bitwise.wast:291
+assert_return(
+ () => invoke($0, `copysign`, [value("f64", -Infinity), value("f64", Infinity)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64_bitwise.wast:292
+assert_return(
+ () => invoke($0, `copysign`, [value("f64", Infinity), value("f64", -Infinity)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64_bitwise.wast:293
+assert_return(
+ () => invoke($0, `copysign`, [value("f64", Infinity), value("f64", Infinity)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64_bitwise.wast:294
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64_bitwise.wast:295
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", -Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64_bitwise.wast:296
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/f64_bitwise.wast:297
+assert_return(
+ () => invoke($0, `copysign`, [
+ value("f64", Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/f64_bitwise.wast:298
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -0),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff])],
+);
+
+// ./test/core/f64_bitwise.wast:299
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 0),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f])],
+);
+
+// ./test/core/f64_bitwise.wast:300
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -0),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff])],
+);
+
+// ./test/core/f64_bitwise.wast:301
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f])],
+);
+
+// ./test/core/f64_bitwise.wast:302
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff])],
+);
+
+// ./test/core/f64_bitwise.wast:303
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f])],
+);
+
+// ./test/core/f64_bitwise.wast:304
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff])],
+);
+
+// ./test/core/f64_bitwise.wast:305
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f])],
+);
+
+// ./test/core/f64_bitwise.wast:306
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff])],
+);
+
+// ./test/core/f64_bitwise.wast:307
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f])],
+);
+
+// ./test/core/f64_bitwise.wast:308
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff])],
+);
+
+// ./test/core/f64_bitwise.wast:309
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f])],
+);
+
+// ./test/core/f64_bitwise.wast:310
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -0.5),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff])],
+);
+
+// ./test/core/f64_bitwise.wast:311
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 0.5),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f])],
+);
+
+// ./test/core/f64_bitwise.wast:312
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -0.5),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff])],
+);
+
+// ./test/core/f64_bitwise.wast:313
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0.5),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f])],
+);
+
+// ./test/core/f64_bitwise.wast:314
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -1),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff])],
+);
+
+// ./test/core/f64_bitwise.wast:315
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 1),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f])],
+);
+
+// ./test/core/f64_bitwise.wast:316
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -1),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff])],
+);
+
+// ./test/core/f64_bitwise.wast:317
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 1),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f])],
+);
+
+// ./test/core/f64_bitwise.wast:318
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -6.283185307179586),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff])],
+);
+
+// ./test/core/f64_bitwise.wast:319
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 6.283185307179586),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f])],
+);
+
+// ./test/core/f64_bitwise.wast:320
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -6.283185307179586),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff])],
+);
+
+// ./test/core/f64_bitwise.wast:321
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 6.283185307179586),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f])],
+);
+
+// ./test/core/f64_bitwise.wast:322
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff])],
+);
+
+// ./test/core/f64_bitwise.wast:323
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f])],
+);
+
+// ./test/core/f64_bitwise.wast:324
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff])],
+);
+
+// ./test/core/f64_bitwise.wast:325
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f])],
+);
+
+// ./test/core/f64_bitwise.wast:326
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -Infinity),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff])],
+);
+
+// ./test/core/f64_bitwise.wast:327
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", Infinity),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f])],
+);
+
+// ./test/core/f64_bitwise.wast:328
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -Infinity),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff])],
+);
+
+// ./test/core/f64_bitwise.wast:329
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", Infinity),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f])],
+);
+
+// ./test/core/f64_bitwise.wast:330
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff])],
+);
+
+// ./test/core/f64_bitwise.wast:331
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f])],
+);
+
+// ./test/core/f64_bitwise.wast:332
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff])],
+);
+
+// ./test/core/f64_bitwise.wast:333
+assert_return(
+ () => invoke($0, `copysign`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f])],
+);
+
+// ./test/core/f64_bitwise.wast:334
+assert_return(() => invoke($0, `abs`, [value("f64", -0)]), [value("f64", 0)]);
+
+// ./test/core/f64_bitwise.wast:335
+assert_return(() => invoke($0, `abs`, [value("f64", 0)]), [value("f64", 0)]);
+
+// ./test/core/f64_bitwise.wast:336
+assert_return(
+ () => invoke($0, `abs`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:337
+assert_return(
+ () => invoke($0, `abs`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:338
+assert_return(
+ () => invoke($0, `abs`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:339
+assert_return(
+ () => invoke($0, `abs`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:340
+assert_return(() => invoke($0, `abs`, [value("f64", -0.5)]), [value("f64", 0.5)]);
+
+// ./test/core/f64_bitwise.wast:341
+assert_return(() => invoke($0, `abs`, [value("f64", 0.5)]), [value("f64", 0.5)]);
+
+// ./test/core/f64_bitwise.wast:342
+assert_return(() => invoke($0, `abs`, [value("f64", -1)]), [value("f64", 1)]);
+
+// ./test/core/f64_bitwise.wast:343
+assert_return(() => invoke($0, `abs`, [value("f64", 1)]), [value("f64", 1)]);
+
+// ./test/core/f64_bitwise.wast:344
+assert_return(
+ () => invoke($0, `abs`, [value("f64", -6.283185307179586)]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64_bitwise.wast:345
+assert_return(
+ () => invoke($0, `abs`, [value("f64", 6.283185307179586)]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64_bitwise.wast:346
+assert_return(
+ () => invoke($0, `abs`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:347
+assert_return(
+ () => invoke($0, `abs`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:348
+assert_return(() => invoke($0, `abs`, [value("f64", -Infinity)]), [value("f64", Infinity)]);
+
+// ./test/core/f64_bitwise.wast:349
+assert_return(() => invoke($0, `abs`, [value("f64", Infinity)]), [value("f64", Infinity)]);
+
+// ./test/core/f64_bitwise.wast:350
+assert_return(
+ () => invoke($0, `abs`, [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff])]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f])],
+);
+
+// ./test/core/f64_bitwise.wast:351
+assert_return(
+ () => invoke($0, `abs`, [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f])]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f])],
+);
+
+// ./test/core/f64_bitwise.wast:352
+assert_return(() => invoke($0, `neg`, [value("f64", -0)]), [value("f64", 0)]);
+
+// ./test/core/f64_bitwise.wast:353
+assert_return(() => invoke($0, `neg`, [value("f64", 0)]), [value("f64", -0)]);
+
+// ./test/core/f64_bitwise.wast:354
+assert_return(
+ () => invoke($0, `neg`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:355
+assert_return(
+ () => invoke($0, `neg`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:356
+assert_return(
+ () => invoke($0, `neg`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:357
+assert_return(
+ () => invoke($0, `neg`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:358
+assert_return(() => invoke($0, `neg`, [value("f64", -0.5)]), [value("f64", 0.5)]);
+
+// ./test/core/f64_bitwise.wast:359
+assert_return(() => invoke($0, `neg`, [value("f64", 0.5)]), [value("f64", -0.5)]);
+
+// ./test/core/f64_bitwise.wast:360
+assert_return(() => invoke($0, `neg`, [value("f64", -1)]), [value("f64", 1)]);
+
+// ./test/core/f64_bitwise.wast:361
+assert_return(() => invoke($0, `neg`, [value("f64", 1)]), [value("f64", -1)]);
+
+// ./test/core/f64_bitwise.wast:362
+assert_return(
+ () => invoke($0, `neg`, [value("f64", -6.283185307179586)]),
+ [value("f64", 6.283185307179586)],
+);
+
+// ./test/core/f64_bitwise.wast:363
+assert_return(
+ () => invoke($0, `neg`, [value("f64", 6.283185307179586)]),
+ [value("f64", -6.283185307179586)],
+);
+
+// ./test/core/f64_bitwise.wast:364
+assert_return(
+ () => invoke($0, `neg`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:365
+assert_return(
+ () => invoke($0, `neg`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/f64_bitwise.wast:366
+assert_return(() => invoke($0, `neg`, [value("f64", -Infinity)]), [value("f64", Infinity)]);
+
+// ./test/core/f64_bitwise.wast:367
+assert_return(() => invoke($0, `neg`, [value("f64", Infinity)]), [value("f64", -Infinity)]);
+
+// ./test/core/f64_bitwise.wast:368
+assert_return(
+ () => invoke($0, `neg`, [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff])]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f])],
+);
+
+// ./test/core/f64_bitwise.wast:369
+assert_return(
+ () => invoke($0, `neg`, [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f])]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff])],
+);
+
+// ./test/core/f64_bitwise.wast:374
+assert_invalid(
+ () => instantiate(`(module (func (result f64) (f64.copysign (i64.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/f64_bitwise.wast:375
+assert_invalid(
+ () => instantiate(`(module (func (result f64) (f64.abs (i64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/f64_bitwise.wast:376
+assert_invalid(
+ () => instantiate(`(module (func (result f64) (f64.neg (i64.const 0))))`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/f64_cmp.wast.js b/js/src/jit-test/tests/wasm/spec/spec/f64_cmp.wast.js
new file mode 100644
index 0000000000..45ea523bcd
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/f64_cmp.wast.js
@@ -0,0 +1,18854 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/f64_cmp.wast
+
+// ./test/core/f64_cmp.wast:4
+let $0 = instantiate(`(module
+ (func (export "eq") (param $$x f64) (param $$y f64) (result i32) (f64.eq (local.get $$x) (local.get $$y)))
+ (func (export "ne") (param $$x f64) (param $$y f64) (result i32) (f64.ne (local.get $$x) (local.get $$y)))
+ (func (export "lt") (param $$x f64) (param $$y f64) (result i32) (f64.lt (local.get $$x) (local.get $$y)))
+ (func (export "le") (param $$x f64) (param $$y f64) (result i32) (f64.le (local.get $$x) (local.get $$y)))
+ (func (export "gt") (param $$x f64) (param $$y f64) (result i32) (f64.gt (local.get $$x) (local.get $$y)))
+ (func (export "ge") (param $$x f64) (param $$y f64) (result i32) (f64.ge (local.get $$x) (local.get $$y)))
+)`);
+
+// ./test/core/f64_cmp.wast:13
+assert_return(() => invoke($0, `eq`, [value("f64", -0), value("f64", -0)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:14
+assert_return(() => invoke($0, `eq`, [value("f64", -0), value("f64", 0)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:15
+assert_return(() => invoke($0, `eq`, [value("f64", 0), value("f64", -0)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:16
+assert_return(() => invoke($0, `eq`, [value("f64", 0), value("f64", 0)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:17
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:18
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:19
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:20
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:21
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:22
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:23
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:24
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:25
+assert_return(() => invoke($0, `eq`, [value("f64", -0), value("f64", -0.5)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:26
+assert_return(() => invoke($0, `eq`, [value("f64", -0), value("f64", 0.5)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:27
+assert_return(() => invoke($0, `eq`, [value("f64", 0), value("f64", -0.5)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:28
+assert_return(() => invoke($0, `eq`, [value("f64", 0), value("f64", 0.5)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:29
+assert_return(() => invoke($0, `eq`, [value("f64", -0), value("f64", -1)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:30
+assert_return(() => invoke($0, `eq`, [value("f64", -0), value("f64", 1)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:31
+assert_return(() => invoke($0, `eq`, [value("f64", 0), value("f64", -1)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:32
+assert_return(() => invoke($0, `eq`, [value("f64", 0), value("f64", 1)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:33
+assert_return(
+ () => invoke($0, `eq`, [value("f64", -0), value("f64", -6.283185307179586)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:34
+assert_return(
+ () => invoke($0, `eq`, [value("f64", -0), value("f64", 6.283185307179586)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:35
+assert_return(
+ () => invoke($0, `eq`, [value("f64", 0), value("f64", -6.283185307179586)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:36
+assert_return(
+ () => invoke($0, `eq`, [value("f64", 0), value("f64", 6.283185307179586)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:37
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:38
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:39
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:40
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:41
+assert_return(() => invoke($0, `eq`, [value("f64", -0), value("f64", -Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:42
+assert_return(() => invoke($0, `eq`, [value("f64", -0), value("f64", Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:43
+assert_return(() => invoke($0, `eq`, [value("f64", 0), value("f64", -Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:44
+assert_return(() => invoke($0, `eq`, [value("f64", 0), value("f64", Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:45
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:46
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:47
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:48
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:49
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:50
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:51
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:52
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:53
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:54
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:55
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:56
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:57
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:58
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:59
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:60
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:61
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:62
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:63
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:64
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:65
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:66
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:67
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:68
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:69
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:70
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:71
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:72
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:73
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:74
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:75
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:76
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:77
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:78
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:79
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:80
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:81
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:82
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:83
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:84
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:85
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:86
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:87
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:88
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:89
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:90
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:91
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:92
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:93
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:94
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:95
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:96
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:97
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:98
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:99
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:100
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:101
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:102
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:103
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:104
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:105
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:106
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:107
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:108
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:109
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:110
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:111
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:112
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:113
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:114
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:115
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:116
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:117
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:118
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:119
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:120
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:121
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:122
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:123
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:124
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:125
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:126
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:127
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:128
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:129
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:130
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:131
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:132
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:133
+assert_return(() => invoke($0, `eq`, [value("f64", -0.5), value("f64", -0)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:134
+assert_return(() => invoke($0, `eq`, [value("f64", -0.5), value("f64", 0)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:135
+assert_return(() => invoke($0, `eq`, [value("f64", 0.5), value("f64", -0)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:136
+assert_return(() => invoke($0, `eq`, [value("f64", 0.5), value("f64", 0)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:137
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0.5),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:138
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0.5),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:139
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0.5),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:140
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0.5),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:141
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0.5),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:142
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0.5),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:143
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0.5),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:144
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0.5),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:145
+assert_return(() => invoke($0, `eq`, [value("f64", -0.5), value("f64", -0.5)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:146
+assert_return(() => invoke($0, `eq`, [value("f64", -0.5), value("f64", 0.5)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:147
+assert_return(() => invoke($0, `eq`, [value("f64", 0.5), value("f64", -0.5)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:148
+assert_return(() => invoke($0, `eq`, [value("f64", 0.5), value("f64", 0.5)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:149
+assert_return(() => invoke($0, `eq`, [value("f64", -0.5), value("f64", -1)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:150
+assert_return(() => invoke($0, `eq`, [value("f64", -0.5), value("f64", 1)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:151
+assert_return(() => invoke($0, `eq`, [value("f64", 0.5), value("f64", -1)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:152
+assert_return(() => invoke($0, `eq`, [value("f64", 0.5), value("f64", 1)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:153
+assert_return(
+ () => invoke($0, `eq`, [value("f64", -0.5), value("f64", -6.283185307179586)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:154
+assert_return(
+ () => invoke($0, `eq`, [value("f64", -0.5), value("f64", 6.283185307179586)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:155
+assert_return(
+ () => invoke($0, `eq`, [value("f64", 0.5), value("f64", -6.283185307179586)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:156
+assert_return(
+ () => invoke($0, `eq`, [value("f64", 0.5), value("f64", 6.283185307179586)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:157
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0.5),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:158
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0.5),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:159
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0.5),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:160
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0.5),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:161
+assert_return(() => invoke($0, `eq`, [value("f64", -0.5), value("f64", -Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:162
+assert_return(() => invoke($0, `eq`, [value("f64", -0.5), value("f64", Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:163
+assert_return(() => invoke($0, `eq`, [value("f64", 0.5), value("f64", -Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:164
+assert_return(() => invoke($0, `eq`, [value("f64", 0.5), value("f64", Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:165
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:166
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:167
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:168
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:169
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:170
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:171
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:172
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:173
+assert_return(() => invoke($0, `eq`, [value("f64", -1), value("f64", -0)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:174
+assert_return(() => invoke($0, `eq`, [value("f64", -1), value("f64", 0)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:175
+assert_return(() => invoke($0, `eq`, [value("f64", 1), value("f64", -0)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:176
+assert_return(() => invoke($0, `eq`, [value("f64", 1), value("f64", 0)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:177
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -1),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:178
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -1),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:179
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 1),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:180
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 1),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:181
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -1),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:182
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -1),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:183
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 1),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:184
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 1),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:185
+assert_return(() => invoke($0, `eq`, [value("f64", -1), value("f64", -0.5)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:186
+assert_return(() => invoke($0, `eq`, [value("f64", -1), value("f64", 0.5)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:187
+assert_return(() => invoke($0, `eq`, [value("f64", 1), value("f64", -0.5)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:188
+assert_return(() => invoke($0, `eq`, [value("f64", 1), value("f64", 0.5)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:189
+assert_return(() => invoke($0, `eq`, [value("f64", -1), value("f64", -1)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:190
+assert_return(() => invoke($0, `eq`, [value("f64", -1), value("f64", 1)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:191
+assert_return(() => invoke($0, `eq`, [value("f64", 1), value("f64", -1)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:192
+assert_return(() => invoke($0, `eq`, [value("f64", 1), value("f64", 1)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:193
+assert_return(
+ () => invoke($0, `eq`, [value("f64", -1), value("f64", -6.283185307179586)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:194
+assert_return(
+ () => invoke($0, `eq`, [value("f64", -1), value("f64", 6.283185307179586)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:195
+assert_return(
+ () => invoke($0, `eq`, [value("f64", 1), value("f64", -6.283185307179586)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:196
+assert_return(
+ () => invoke($0, `eq`, [value("f64", 1), value("f64", 6.283185307179586)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:197
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -1),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:198
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -1),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:199
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 1),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:200
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 1),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:201
+assert_return(() => invoke($0, `eq`, [value("f64", -1), value("f64", -Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:202
+assert_return(() => invoke($0, `eq`, [value("f64", -1), value("f64", Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:203
+assert_return(() => invoke($0, `eq`, [value("f64", 1), value("f64", -Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:204
+assert_return(() => invoke($0, `eq`, [value("f64", 1), value("f64", Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:205
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:206
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:207
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:208
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:209
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:210
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:211
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:212
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:213
+assert_return(
+ () => invoke($0, `eq`, [value("f64", -6.283185307179586), value("f64", -0)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:214
+assert_return(
+ () => invoke($0, `eq`, [value("f64", -6.283185307179586), value("f64", 0)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:215
+assert_return(
+ () => invoke($0, `eq`, [value("f64", 6.283185307179586), value("f64", -0)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:216
+assert_return(
+ () => invoke($0, `eq`, [value("f64", 6.283185307179586), value("f64", 0)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:217
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -6.283185307179586),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:218
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -6.283185307179586),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:219
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 6.283185307179586),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:220
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 6.283185307179586),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:221
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -6.283185307179586),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:222
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -6.283185307179586),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:223
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 6.283185307179586),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:224
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 6.283185307179586),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:225
+assert_return(
+ () => invoke($0, `eq`, [value("f64", -6.283185307179586), value("f64", -0.5)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:226
+assert_return(
+ () => invoke($0, `eq`, [value("f64", -6.283185307179586), value("f64", 0.5)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:227
+assert_return(
+ () => invoke($0, `eq`, [value("f64", 6.283185307179586), value("f64", -0.5)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:228
+assert_return(
+ () => invoke($0, `eq`, [value("f64", 6.283185307179586), value("f64", 0.5)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:229
+assert_return(
+ () => invoke($0, `eq`, [value("f64", -6.283185307179586), value("f64", -1)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:230
+assert_return(
+ () => invoke($0, `eq`, [value("f64", -6.283185307179586), value("f64", 1)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:231
+assert_return(
+ () => invoke($0, `eq`, [value("f64", 6.283185307179586), value("f64", -1)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:232
+assert_return(
+ () => invoke($0, `eq`, [value("f64", 6.283185307179586), value("f64", 1)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:233
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:234
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -6.283185307179586),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:235
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 6.283185307179586),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:236
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:237
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -6.283185307179586),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:238
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -6.283185307179586),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:239
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 6.283185307179586),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:240
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 6.283185307179586),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:241
+assert_return(
+ () => invoke($0, `eq`, [value("f64", -6.283185307179586), value("f64", -Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:242
+assert_return(
+ () => invoke($0, `eq`, [value("f64", -6.283185307179586), value("f64", Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:243
+assert_return(
+ () => invoke($0, `eq`, [value("f64", 6.283185307179586), value("f64", -Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:244
+assert_return(
+ () => invoke($0, `eq`, [value("f64", 6.283185307179586), value("f64", Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:245
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:246
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:247
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:248
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:249
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:250
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:251
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:252
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:253
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:254
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:255
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:256
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:257
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:258
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:259
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:260
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:261
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:262
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:263
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:264
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:265
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:266
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:267
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:268
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:269
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:270
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:271
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:272
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:273
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:274
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:275
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:276
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:277
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:278
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:279
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:280
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:281
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:282
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:283
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:284
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:285
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:286
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:287
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:288
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:289
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:290
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:291
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:292
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:293
+assert_return(() => invoke($0, `eq`, [value("f64", -Infinity), value("f64", -0)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:294
+assert_return(() => invoke($0, `eq`, [value("f64", -Infinity), value("f64", 0)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:295
+assert_return(() => invoke($0, `eq`, [value("f64", Infinity), value("f64", -0)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:296
+assert_return(() => invoke($0, `eq`, [value("f64", Infinity), value("f64", 0)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:297
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -Infinity),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:298
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -Infinity),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:299
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", Infinity),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:300
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", Infinity),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:301
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -Infinity),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:302
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -Infinity),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:303
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", Infinity),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:304
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", Infinity),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:305
+assert_return(() => invoke($0, `eq`, [value("f64", -Infinity), value("f64", -0.5)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:306
+assert_return(() => invoke($0, `eq`, [value("f64", -Infinity), value("f64", 0.5)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:307
+assert_return(() => invoke($0, `eq`, [value("f64", Infinity), value("f64", -0.5)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:308
+assert_return(() => invoke($0, `eq`, [value("f64", Infinity), value("f64", 0.5)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:309
+assert_return(() => invoke($0, `eq`, [value("f64", -Infinity), value("f64", -1)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:310
+assert_return(() => invoke($0, `eq`, [value("f64", -Infinity), value("f64", 1)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:311
+assert_return(() => invoke($0, `eq`, [value("f64", Infinity), value("f64", -1)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:312
+assert_return(() => invoke($0, `eq`, [value("f64", Infinity), value("f64", 1)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:313
+assert_return(
+ () => invoke($0, `eq`, [value("f64", -Infinity), value("f64", -6.283185307179586)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:314
+assert_return(
+ () => invoke($0, `eq`, [value("f64", -Infinity), value("f64", 6.283185307179586)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:315
+assert_return(
+ () => invoke($0, `eq`, [value("f64", Infinity), value("f64", -6.283185307179586)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:316
+assert_return(
+ () => invoke($0, `eq`, [value("f64", Infinity), value("f64", 6.283185307179586)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:317
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -Infinity),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:318
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -Infinity),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:319
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", Infinity),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:320
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", Infinity),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:321
+assert_return(
+ () => invoke($0, `eq`, [value("f64", -Infinity), value("f64", -Infinity)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:322
+assert_return(
+ () => invoke($0, `eq`, [value("f64", -Infinity), value("f64", Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:323
+assert_return(
+ () => invoke($0, `eq`, [value("f64", Infinity), value("f64", -Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:324
+assert_return(
+ () => invoke($0, `eq`, [value("f64", Infinity), value("f64", Infinity)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:325
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:326
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:327
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:328
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", -Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:329
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:330
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:331
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:332
+assert_return(
+ () => invoke($0, `eq`, [
+ value("f64", Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:333
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:334
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:335
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:336
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:337
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:338
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:339
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:340
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:341
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:342
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:343
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:344
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:345
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:346
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:347
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:348
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:349
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:350
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:351
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:352
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:353
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:354
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:355
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:356
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:357
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:358
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:359
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:360
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:361
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:362
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:363
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:364
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:365
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:366
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:367
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:368
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:369
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:370
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:371
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:372
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:373
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:374
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:375
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:376
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:377
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:378
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:379
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:380
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:381
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:382
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:383
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:384
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:385
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:386
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:387
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:388
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:389
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:390
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:391
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:392
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:393
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:394
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:395
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:396
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:397
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:398
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:399
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:400
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:401
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:402
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:403
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:404
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:405
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:406
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:407
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:408
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:409
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:410
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:411
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:412
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:413
+assert_return(() => invoke($0, `ne`, [value("f64", -0), value("f64", -0)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:414
+assert_return(() => invoke($0, `ne`, [value("f64", -0), value("f64", 0)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:415
+assert_return(() => invoke($0, `ne`, [value("f64", 0), value("f64", -0)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:416
+assert_return(() => invoke($0, `ne`, [value("f64", 0), value("f64", 0)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:417
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:418
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:419
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:420
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:421
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:422
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:423
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:424
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:425
+assert_return(() => invoke($0, `ne`, [value("f64", -0), value("f64", -0.5)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:426
+assert_return(() => invoke($0, `ne`, [value("f64", -0), value("f64", 0.5)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:427
+assert_return(() => invoke($0, `ne`, [value("f64", 0), value("f64", -0.5)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:428
+assert_return(() => invoke($0, `ne`, [value("f64", 0), value("f64", 0.5)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:429
+assert_return(() => invoke($0, `ne`, [value("f64", -0), value("f64", -1)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:430
+assert_return(() => invoke($0, `ne`, [value("f64", -0), value("f64", 1)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:431
+assert_return(() => invoke($0, `ne`, [value("f64", 0), value("f64", -1)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:432
+assert_return(() => invoke($0, `ne`, [value("f64", 0), value("f64", 1)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:433
+assert_return(
+ () => invoke($0, `ne`, [value("f64", -0), value("f64", -6.283185307179586)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:434
+assert_return(
+ () => invoke($0, `ne`, [value("f64", -0), value("f64", 6.283185307179586)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:435
+assert_return(
+ () => invoke($0, `ne`, [value("f64", 0), value("f64", -6.283185307179586)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:436
+assert_return(
+ () => invoke($0, `ne`, [value("f64", 0), value("f64", 6.283185307179586)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:437
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:438
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:439
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:440
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:441
+assert_return(() => invoke($0, `ne`, [value("f64", -0), value("f64", -Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:442
+assert_return(() => invoke($0, `ne`, [value("f64", -0), value("f64", Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:443
+assert_return(() => invoke($0, `ne`, [value("f64", 0), value("f64", -Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:444
+assert_return(() => invoke($0, `ne`, [value("f64", 0), value("f64", Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:445
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:446
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:447
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:448
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:449
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:450
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:451
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:452
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:453
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:454
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:455
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:456
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:457
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:458
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:459
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:460
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:461
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:462
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:463
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:464
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:465
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:466
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:467
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:468
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:469
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:470
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:471
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:472
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:473
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:474
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:475
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:476
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:477
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:478
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:479
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:480
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:481
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:482
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:483
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:484
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:485
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:486
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:487
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:488
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:489
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:490
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:491
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:492
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:493
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:494
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:495
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:496
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:497
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:498
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:499
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:500
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:501
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:502
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:503
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:504
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:505
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:506
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:507
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:508
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:509
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:510
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:511
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:512
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:513
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:514
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:515
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:516
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:517
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:518
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:519
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:520
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:521
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:522
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:523
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:524
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:525
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:526
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:527
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:528
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:529
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:530
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:531
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:532
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:533
+assert_return(() => invoke($0, `ne`, [value("f64", -0.5), value("f64", -0)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:534
+assert_return(() => invoke($0, `ne`, [value("f64", -0.5), value("f64", 0)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:535
+assert_return(() => invoke($0, `ne`, [value("f64", 0.5), value("f64", -0)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:536
+assert_return(() => invoke($0, `ne`, [value("f64", 0.5), value("f64", 0)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:537
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0.5),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:538
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0.5),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:539
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0.5),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:540
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0.5),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:541
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0.5),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:542
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0.5),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:543
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0.5),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:544
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0.5),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:545
+assert_return(() => invoke($0, `ne`, [value("f64", -0.5), value("f64", -0.5)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:546
+assert_return(() => invoke($0, `ne`, [value("f64", -0.5), value("f64", 0.5)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:547
+assert_return(() => invoke($0, `ne`, [value("f64", 0.5), value("f64", -0.5)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:548
+assert_return(() => invoke($0, `ne`, [value("f64", 0.5), value("f64", 0.5)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:549
+assert_return(() => invoke($0, `ne`, [value("f64", -0.5), value("f64", -1)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:550
+assert_return(() => invoke($0, `ne`, [value("f64", -0.5), value("f64", 1)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:551
+assert_return(() => invoke($0, `ne`, [value("f64", 0.5), value("f64", -1)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:552
+assert_return(() => invoke($0, `ne`, [value("f64", 0.5), value("f64", 1)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:553
+assert_return(
+ () => invoke($0, `ne`, [value("f64", -0.5), value("f64", -6.283185307179586)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:554
+assert_return(
+ () => invoke($0, `ne`, [value("f64", -0.5), value("f64", 6.283185307179586)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:555
+assert_return(
+ () => invoke($0, `ne`, [value("f64", 0.5), value("f64", -6.283185307179586)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:556
+assert_return(
+ () => invoke($0, `ne`, [value("f64", 0.5), value("f64", 6.283185307179586)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:557
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0.5),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:558
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0.5),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:559
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0.5),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:560
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0.5),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:561
+assert_return(() => invoke($0, `ne`, [value("f64", -0.5), value("f64", -Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:562
+assert_return(() => invoke($0, `ne`, [value("f64", -0.5), value("f64", Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:563
+assert_return(() => invoke($0, `ne`, [value("f64", 0.5), value("f64", -Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:564
+assert_return(() => invoke($0, `ne`, [value("f64", 0.5), value("f64", Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:565
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:566
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:567
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:568
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:569
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:570
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:571
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:572
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:573
+assert_return(() => invoke($0, `ne`, [value("f64", -1), value("f64", -0)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:574
+assert_return(() => invoke($0, `ne`, [value("f64", -1), value("f64", 0)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:575
+assert_return(() => invoke($0, `ne`, [value("f64", 1), value("f64", -0)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:576
+assert_return(() => invoke($0, `ne`, [value("f64", 1), value("f64", 0)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:577
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -1),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:578
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -1),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:579
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 1),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:580
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 1),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:581
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -1),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:582
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -1),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:583
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 1),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:584
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 1),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:585
+assert_return(() => invoke($0, `ne`, [value("f64", -1), value("f64", -0.5)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:586
+assert_return(() => invoke($0, `ne`, [value("f64", -1), value("f64", 0.5)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:587
+assert_return(() => invoke($0, `ne`, [value("f64", 1), value("f64", -0.5)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:588
+assert_return(() => invoke($0, `ne`, [value("f64", 1), value("f64", 0.5)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:589
+assert_return(() => invoke($0, `ne`, [value("f64", -1), value("f64", -1)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:590
+assert_return(() => invoke($0, `ne`, [value("f64", -1), value("f64", 1)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:591
+assert_return(() => invoke($0, `ne`, [value("f64", 1), value("f64", -1)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:592
+assert_return(() => invoke($0, `ne`, [value("f64", 1), value("f64", 1)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:593
+assert_return(
+ () => invoke($0, `ne`, [value("f64", -1), value("f64", -6.283185307179586)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:594
+assert_return(
+ () => invoke($0, `ne`, [value("f64", -1), value("f64", 6.283185307179586)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:595
+assert_return(
+ () => invoke($0, `ne`, [value("f64", 1), value("f64", -6.283185307179586)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:596
+assert_return(
+ () => invoke($0, `ne`, [value("f64", 1), value("f64", 6.283185307179586)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:597
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -1),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:598
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -1),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:599
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 1),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:600
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 1),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:601
+assert_return(() => invoke($0, `ne`, [value("f64", -1), value("f64", -Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:602
+assert_return(() => invoke($0, `ne`, [value("f64", -1), value("f64", Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:603
+assert_return(() => invoke($0, `ne`, [value("f64", 1), value("f64", -Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:604
+assert_return(() => invoke($0, `ne`, [value("f64", 1), value("f64", Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:605
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:606
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:607
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:608
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:609
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:610
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:611
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:612
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:613
+assert_return(
+ () => invoke($0, `ne`, [value("f64", -6.283185307179586), value("f64", -0)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:614
+assert_return(
+ () => invoke($0, `ne`, [value("f64", -6.283185307179586), value("f64", 0)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:615
+assert_return(
+ () => invoke($0, `ne`, [value("f64", 6.283185307179586), value("f64", -0)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:616
+assert_return(
+ () => invoke($0, `ne`, [value("f64", 6.283185307179586), value("f64", 0)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:617
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -6.283185307179586),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:618
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -6.283185307179586),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:619
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 6.283185307179586),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:620
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 6.283185307179586),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:621
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -6.283185307179586),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:622
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -6.283185307179586),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:623
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 6.283185307179586),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:624
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 6.283185307179586),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:625
+assert_return(
+ () => invoke($0, `ne`, [value("f64", -6.283185307179586), value("f64", -0.5)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:626
+assert_return(
+ () => invoke($0, `ne`, [value("f64", -6.283185307179586), value("f64", 0.5)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:627
+assert_return(
+ () => invoke($0, `ne`, [value("f64", 6.283185307179586), value("f64", -0.5)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:628
+assert_return(
+ () => invoke($0, `ne`, [value("f64", 6.283185307179586), value("f64", 0.5)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:629
+assert_return(
+ () => invoke($0, `ne`, [value("f64", -6.283185307179586), value("f64", -1)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:630
+assert_return(
+ () => invoke($0, `ne`, [value("f64", -6.283185307179586), value("f64", 1)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:631
+assert_return(
+ () => invoke($0, `ne`, [value("f64", 6.283185307179586), value("f64", -1)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:632
+assert_return(
+ () => invoke($0, `ne`, [value("f64", 6.283185307179586), value("f64", 1)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:633
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:634
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -6.283185307179586),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:635
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 6.283185307179586),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:636
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:637
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -6.283185307179586),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:638
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -6.283185307179586),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:639
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 6.283185307179586),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:640
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 6.283185307179586),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:641
+assert_return(
+ () => invoke($0, `ne`, [value("f64", -6.283185307179586), value("f64", -Infinity)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:642
+assert_return(
+ () => invoke($0, `ne`, [value("f64", -6.283185307179586), value("f64", Infinity)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:643
+assert_return(
+ () => invoke($0, `ne`, [value("f64", 6.283185307179586), value("f64", -Infinity)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:644
+assert_return(
+ () => invoke($0, `ne`, [value("f64", 6.283185307179586), value("f64", Infinity)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:645
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:646
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:647
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:648
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:649
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:650
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:651
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:652
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:653
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:654
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:655
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:656
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:657
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:658
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:659
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:660
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:661
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:662
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:663
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:664
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:665
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:666
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:667
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:668
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:669
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:670
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:671
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:672
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:673
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:674
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:675
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:676
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:677
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:678
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:679
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:680
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:681
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:682
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:683
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:684
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:685
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:686
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:687
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:688
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:689
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:690
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:691
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:692
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:693
+assert_return(() => invoke($0, `ne`, [value("f64", -Infinity), value("f64", -0)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:694
+assert_return(() => invoke($0, `ne`, [value("f64", -Infinity), value("f64", 0)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:695
+assert_return(() => invoke($0, `ne`, [value("f64", Infinity), value("f64", -0)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:696
+assert_return(() => invoke($0, `ne`, [value("f64", Infinity), value("f64", 0)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:697
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -Infinity),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:698
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -Infinity),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:699
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", Infinity),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:700
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", Infinity),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:701
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -Infinity),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:702
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -Infinity),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:703
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", Infinity),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:704
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", Infinity),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:705
+assert_return(() => invoke($0, `ne`, [value("f64", -Infinity), value("f64", -0.5)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:706
+assert_return(() => invoke($0, `ne`, [value("f64", -Infinity), value("f64", 0.5)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:707
+assert_return(() => invoke($0, `ne`, [value("f64", Infinity), value("f64", -0.5)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:708
+assert_return(() => invoke($0, `ne`, [value("f64", Infinity), value("f64", 0.5)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:709
+assert_return(() => invoke($0, `ne`, [value("f64", -Infinity), value("f64", -1)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:710
+assert_return(() => invoke($0, `ne`, [value("f64", -Infinity), value("f64", 1)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:711
+assert_return(() => invoke($0, `ne`, [value("f64", Infinity), value("f64", -1)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:712
+assert_return(() => invoke($0, `ne`, [value("f64", Infinity), value("f64", 1)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:713
+assert_return(
+ () => invoke($0, `ne`, [value("f64", -Infinity), value("f64", -6.283185307179586)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:714
+assert_return(
+ () => invoke($0, `ne`, [value("f64", -Infinity), value("f64", 6.283185307179586)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:715
+assert_return(
+ () => invoke($0, `ne`, [value("f64", Infinity), value("f64", -6.283185307179586)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:716
+assert_return(
+ () => invoke($0, `ne`, [value("f64", Infinity), value("f64", 6.283185307179586)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:717
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -Infinity),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:718
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -Infinity),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:719
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", Infinity),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:720
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", Infinity),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:721
+assert_return(
+ () => invoke($0, `ne`, [value("f64", -Infinity), value("f64", -Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:722
+assert_return(
+ () => invoke($0, `ne`, [value("f64", -Infinity), value("f64", Infinity)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:723
+assert_return(
+ () => invoke($0, `ne`, [value("f64", Infinity), value("f64", -Infinity)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:724
+assert_return(
+ () => invoke($0, `ne`, [value("f64", Infinity), value("f64", Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:725
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:726
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:727
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:728
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", -Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:729
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:730
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:731
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:732
+assert_return(
+ () => invoke($0, `ne`, [
+ value("f64", Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:733
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:734
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:735
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:736
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:737
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:738
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:739
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:740
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:741
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:742
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:743
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:744
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:745
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:746
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:747
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:748
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:749
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:750
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:751
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:752
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:753
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:754
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:755
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:756
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:757
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:758
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:759
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:760
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:761
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:762
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:763
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:764
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:765
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:766
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:767
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:768
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:769
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:770
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:771
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:772
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:773
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:774
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:775
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:776
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:777
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:778
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:779
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:780
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:781
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:782
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:783
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:784
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:785
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:786
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:787
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:788
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:789
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:790
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:791
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:792
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:793
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:794
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:795
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:796
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:797
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:798
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:799
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:800
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:801
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:802
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:803
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:804
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:805
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:806
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:807
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:808
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:809
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:810
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:811
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:812
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:813
+assert_return(() => invoke($0, `lt`, [value("f64", -0), value("f64", -0)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:814
+assert_return(() => invoke($0, `lt`, [value("f64", -0), value("f64", 0)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:815
+assert_return(() => invoke($0, `lt`, [value("f64", 0), value("f64", -0)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:816
+assert_return(() => invoke($0, `lt`, [value("f64", 0), value("f64", 0)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:817
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:818
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:819
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:820
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:821
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:822
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:823
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:824
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:825
+assert_return(() => invoke($0, `lt`, [value("f64", -0), value("f64", -0.5)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:826
+assert_return(() => invoke($0, `lt`, [value("f64", -0), value("f64", 0.5)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:827
+assert_return(() => invoke($0, `lt`, [value("f64", 0), value("f64", -0.5)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:828
+assert_return(() => invoke($0, `lt`, [value("f64", 0), value("f64", 0.5)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:829
+assert_return(() => invoke($0, `lt`, [value("f64", -0), value("f64", -1)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:830
+assert_return(() => invoke($0, `lt`, [value("f64", -0), value("f64", 1)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:831
+assert_return(() => invoke($0, `lt`, [value("f64", 0), value("f64", -1)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:832
+assert_return(() => invoke($0, `lt`, [value("f64", 0), value("f64", 1)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:833
+assert_return(
+ () => invoke($0, `lt`, [value("f64", -0), value("f64", -6.283185307179586)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:834
+assert_return(
+ () => invoke($0, `lt`, [value("f64", -0), value("f64", 6.283185307179586)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:835
+assert_return(
+ () => invoke($0, `lt`, [value("f64", 0), value("f64", -6.283185307179586)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:836
+assert_return(
+ () => invoke($0, `lt`, [value("f64", 0), value("f64", 6.283185307179586)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:837
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:838
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:839
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:840
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:841
+assert_return(() => invoke($0, `lt`, [value("f64", -0), value("f64", -Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:842
+assert_return(() => invoke($0, `lt`, [value("f64", -0), value("f64", Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:843
+assert_return(() => invoke($0, `lt`, [value("f64", 0), value("f64", -Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:844
+assert_return(() => invoke($0, `lt`, [value("f64", 0), value("f64", Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:845
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:846
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:847
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:848
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:849
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:850
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:851
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:852
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:853
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:854
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:855
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:856
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:857
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:858
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:859
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:860
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:861
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:862
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:863
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:864
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:865
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:866
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:867
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:868
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:869
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:870
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:871
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:872
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:873
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:874
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:875
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:876
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:877
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:878
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:879
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:880
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:881
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:882
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:883
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:884
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:885
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:886
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:887
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:888
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:889
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:890
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:891
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:892
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:893
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:894
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:895
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:896
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:897
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:898
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:899
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:900
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:901
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:902
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:903
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:904
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:905
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:906
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:907
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:908
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:909
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:910
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:911
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:912
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:913
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:914
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:915
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:916
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:917
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:918
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:919
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:920
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:921
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:922
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:923
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:924
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:925
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:926
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:927
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:928
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:929
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:930
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:931
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:932
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:933
+assert_return(() => invoke($0, `lt`, [value("f64", -0.5), value("f64", -0)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:934
+assert_return(() => invoke($0, `lt`, [value("f64", -0.5), value("f64", 0)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:935
+assert_return(() => invoke($0, `lt`, [value("f64", 0.5), value("f64", -0)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:936
+assert_return(() => invoke($0, `lt`, [value("f64", 0.5), value("f64", 0)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:937
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0.5),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:938
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0.5),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:939
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0.5),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:940
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0.5),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:941
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0.5),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:942
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0.5),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:943
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0.5),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:944
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0.5),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:945
+assert_return(() => invoke($0, `lt`, [value("f64", -0.5), value("f64", -0.5)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:946
+assert_return(() => invoke($0, `lt`, [value("f64", -0.5), value("f64", 0.5)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:947
+assert_return(() => invoke($0, `lt`, [value("f64", 0.5), value("f64", -0.5)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:948
+assert_return(() => invoke($0, `lt`, [value("f64", 0.5), value("f64", 0.5)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:949
+assert_return(() => invoke($0, `lt`, [value("f64", -0.5), value("f64", -1)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:950
+assert_return(() => invoke($0, `lt`, [value("f64", -0.5), value("f64", 1)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:951
+assert_return(() => invoke($0, `lt`, [value("f64", 0.5), value("f64", -1)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:952
+assert_return(() => invoke($0, `lt`, [value("f64", 0.5), value("f64", 1)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:953
+assert_return(
+ () => invoke($0, `lt`, [value("f64", -0.5), value("f64", -6.283185307179586)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:954
+assert_return(
+ () => invoke($0, `lt`, [value("f64", -0.5), value("f64", 6.283185307179586)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:955
+assert_return(
+ () => invoke($0, `lt`, [value("f64", 0.5), value("f64", -6.283185307179586)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:956
+assert_return(
+ () => invoke($0, `lt`, [value("f64", 0.5), value("f64", 6.283185307179586)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:957
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0.5),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:958
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0.5),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:959
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0.5),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:960
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0.5),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:961
+assert_return(() => invoke($0, `lt`, [value("f64", -0.5), value("f64", -Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:962
+assert_return(() => invoke($0, `lt`, [value("f64", -0.5), value("f64", Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:963
+assert_return(() => invoke($0, `lt`, [value("f64", 0.5), value("f64", -Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:964
+assert_return(() => invoke($0, `lt`, [value("f64", 0.5), value("f64", Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:965
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:966
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:967
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:968
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:969
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:970
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:971
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:972
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:973
+assert_return(() => invoke($0, `lt`, [value("f64", -1), value("f64", -0)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:974
+assert_return(() => invoke($0, `lt`, [value("f64", -1), value("f64", 0)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:975
+assert_return(() => invoke($0, `lt`, [value("f64", 1), value("f64", -0)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:976
+assert_return(() => invoke($0, `lt`, [value("f64", 1), value("f64", 0)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:977
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -1),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:978
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -1),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:979
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 1),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:980
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 1),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:981
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -1),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:982
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -1),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:983
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 1),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:984
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 1),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:985
+assert_return(() => invoke($0, `lt`, [value("f64", -1), value("f64", -0.5)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:986
+assert_return(() => invoke($0, `lt`, [value("f64", -1), value("f64", 0.5)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:987
+assert_return(() => invoke($0, `lt`, [value("f64", 1), value("f64", -0.5)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:988
+assert_return(() => invoke($0, `lt`, [value("f64", 1), value("f64", 0.5)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:989
+assert_return(() => invoke($0, `lt`, [value("f64", -1), value("f64", -1)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:990
+assert_return(() => invoke($0, `lt`, [value("f64", -1), value("f64", 1)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:991
+assert_return(() => invoke($0, `lt`, [value("f64", 1), value("f64", -1)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:992
+assert_return(() => invoke($0, `lt`, [value("f64", 1), value("f64", 1)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:993
+assert_return(
+ () => invoke($0, `lt`, [value("f64", -1), value("f64", -6.283185307179586)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:994
+assert_return(
+ () => invoke($0, `lt`, [value("f64", -1), value("f64", 6.283185307179586)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:995
+assert_return(
+ () => invoke($0, `lt`, [value("f64", 1), value("f64", -6.283185307179586)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:996
+assert_return(
+ () => invoke($0, `lt`, [value("f64", 1), value("f64", 6.283185307179586)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:997
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -1),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:998
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -1),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:999
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 1),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1000
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 1),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1001
+assert_return(() => invoke($0, `lt`, [value("f64", -1), value("f64", -Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1002
+assert_return(() => invoke($0, `lt`, [value("f64", -1), value("f64", Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1003
+assert_return(() => invoke($0, `lt`, [value("f64", 1), value("f64", -Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1004
+assert_return(() => invoke($0, `lt`, [value("f64", 1), value("f64", Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1005
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1006
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1007
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1008
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1009
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1010
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1011
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1012
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1013
+assert_return(
+ () => invoke($0, `lt`, [value("f64", -6.283185307179586), value("f64", -0)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1014
+assert_return(
+ () => invoke($0, `lt`, [value("f64", -6.283185307179586), value("f64", 0)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1015
+assert_return(
+ () => invoke($0, `lt`, [value("f64", 6.283185307179586), value("f64", -0)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1016
+assert_return(
+ () => invoke($0, `lt`, [value("f64", 6.283185307179586), value("f64", 0)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1017
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -6.283185307179586),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1018
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -6.283185307179586),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1019
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 6.283185307179586),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1020
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 6.283185307179586),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1021
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -6.283185307179586),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1022
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -6.283185307179586),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1023
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 6.283185307179586),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1024
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 6.283185307179586),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1025
+assert_return(
+ () => invoke($0, `lt`, [value("f64", -6.283185307179586), value("f64", -0.5)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1026
+assert_return(
+ () => invoke($0, `lt`, [value("f64", -6.283185307179586), value("f64", 0.5)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1027
+assert_return(
+ () => invoke($0, `lt`, [value("f64", 6.283185307179586), value("f64", -0.5)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1028
+assert_return(
+ () => invoke($0, `lt`, [value("f64", 6.283185307179586), value("f64", 0.5)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1029
+assert_return(
+ () => invoke($0, `lt`, [value("f64", -6.283185307179586), value("f64", -1)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1030
+assert_return(
+ () => invoke($0, `lt`, [value("f64", -6.283185307179586), value("f64", 1)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1031
+assert_return(
+ () => invoke($0, `lt`, [value("f64", 6.283185307179586), value("f64", -1)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1032
+assert_return(
+ () => invoke($0, `lt`, [value("f64", 6.283185307179586), value("f64", 1)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1033
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1034
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -6.283185307179586),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1035
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 6.283185307179586),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1036
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1037
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -6.283185307179586),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1038
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -6.283185307179586),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1039
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 6.283185307179586),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1040
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 6.283185307179586),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1041
+assert_return(
+ () => invoke($0, `lt`, [value("f64", -6.283185307179586), value("f64", -Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1042
+assert_return(
+ () => invoke($0, `lt`, [value("f64", -6.283185307179586), value("f64", Infinity)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1043
+assert_return(
+ () => invoke($0, `lt`, [value("f64", 6.283185307179586), value("f64", -Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1044
+assert_return(
+ () => invoke($0, `lt`, [value("f64", 6.283185307179586), value("f64", Infinity)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1045
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1046
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1047
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1048
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1049
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1050
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1051
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1052
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1053
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1054
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1055
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1056
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1057
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1058
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1059
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1060
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1061
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1062
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1063
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1064
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1065
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1066
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1067
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1068
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1069
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1070
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1071
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1072
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1073
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1074
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1075
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1076
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1077
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1078
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1079
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1080
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1081
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1082
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1083
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1084
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1085
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1086
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1087
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1088
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1089
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1090
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1091
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1092
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1093
+assert_return(() => invoke($0, `lt`, [value("f64", -Infinity), value("f64", -0)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1094
+assert_return(() => invoke($0, `lt`, [value("f64", -Infinity), value("f64", 0)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1095
+assert_return(() => invoke($0, `lt`, [value("f64", Infinity), value("f64", -0)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1096
+assert_return(() => invoke($0, `lt`, [value("f64", Infinity), value("f64", 0)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1097
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -Infinity),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1098
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -Infinity),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1099
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", Infinity),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1100
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", Infinity),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1101
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -Infinity),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1102
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -Infinity),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1103
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", Infinity),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1104
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", Infinity),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1105
+assert_return(() => invoke($0, `lt`, [value("f64", -Infinity), value("f64", -0.5)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1106
+assert_return(() => invoke($0, `lt`, [value("f64", -Infinity), value("f64", 0.5)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1107
+assert_return(() => invoke($0, `lt`, [value("f64", Infinity), value("f64", -0.5)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1108
+assert_return(() => invoke($0, `lt`, [value("f64", Infinity), value("f64", 0.5)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1109
+assert_return(() => invoke($0, `lt`, [value("f64", -Infinity), value("f64", -1)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1110
+assert_return(() => invoke($0, `lt`, [value("f64", -Infinity), value("f64", 1)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1111
+assert_return(() => invoke($0, `lt`, [value("f64", Infinity), value("f64", -1)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1112
+assert_return(() => invoke($0, `lt`, [value("f64", Infinity), value("f64", 1)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1113
+assert_return(
+ () => invoke($0, `lt`, [value("f64", -Infinity), value("f64", -6.283185307179586)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1114
+assert_return(
+ () => invoke($0, `lt`, [value("f64", -Infinity), value("f64", 6.283185307179586)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1115
+assert_return(
+ () => invoke($0, `lt`, [value("f64", Infinity), value("f64", -6.283185307179586)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1116
+assert_return(
+ () => invoke($0, `lt`, [value("f64", Infinity), value("f64", 6.283185307179586)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1117
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -Infinity),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1118
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -Infinity),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1119
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", Infinity),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1120
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", Infinity),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1121
+assert_return(
+ () => invoke($0, `lt`, [value("f64", -Infinity), value("f64", -Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1122
+assert_return(
+ () => invoke($0, `lt`, [value("f64", -Infinity), value("f64", Infinity)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1123
+assert_return(
+ () => invoke($0, `lt`, [value("f64", Infinity), value("f64", -Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1124
+assert_return(
+ () => invoke($0, `lt`, [value("f64", Infinity), value("f64", Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1125
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1126
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1127
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1128
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", -Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1129
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1130
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1131
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1132
+assert_return(
+ () => invoke($0, `lt`, [
+ value("f64", Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1133
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1134
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1135
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1136
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1137
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1138
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1139
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1140
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1141
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1142
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1143
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1144
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1145
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1146
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1147
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1148
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1149
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1150
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1151
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1152
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1153
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1154
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1155
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1156
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1157
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1158
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1159
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1160
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1161
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1162
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1163
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1164
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1165
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1166
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1167
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1168
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1169
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1170
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1171
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1172
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1173
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1174
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1175
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1176
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1177
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1178
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1179
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1180
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1181
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1182
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1183
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1184
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1185
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1186
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1187
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1188
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1189
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1190
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1191
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1192
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1193
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1194
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1195
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1196
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1197
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1198
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1199
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1200
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1201
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1202
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1203
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1204
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1205
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1206
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1207
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1208
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1209
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1210
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1211
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1212
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1213
+assert_return(() => invoke($0, `le`, [value("f64", -0), value("f64", -0)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1214
+assert_return(() => invoke($0, `le`, [value("f64", -0), value("f64", 0)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1215
+assert_return(() => invoke($0, `le`, [value("f64", 0), value("f64", -0)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1216
+assert_return(() => invoke($0, `le`, [value("f64", 0), value("f64", 0)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1217
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1218
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1219
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1220
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1221
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1222
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1223
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1224
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1225
+assert_return(() => invoke($0, `le`, [value("f64", -0), value("f64", -0.5)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1226
+assert_return(() => invoke($0, `le`, [value("f64", -0), value("f64", 0.5)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1227
+assert_return(() => invoke($0, `le`, [value("f64", 0), value("f64", -0.5)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1228
+assert_return(() => invoke($0, `le`, [value("f64", 0), value("f64", 0.5)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1229
+assert_return(() => invoke($0, `le`, [value("f64", -0), value("f64", -1)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1230
+assert_return(() => invoke($0, `le`, [value("f64", -0), value("f64", 1)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1231
+assert_return(() => invoke($0, `le`, [value("f64", 0), value("f64", -1)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1232
+assert_return(() => invoke($0, `le`, [value("f64", 0), value("f64", 1)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1233
+assert_return(
+ () => invoke($0, `le`, [value("f64", -0), value("f64", -6.283185307179586)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1234
+assert_return(
+ () => invoke($0, `le`, [value("f64", -0), value("f64", 6.283185307179586)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1235
+assert_return(
+ () => invoke($0, `le`, [value("f64", 0), value("f64", -6.283185307179586)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1236
+assert_return(
+ () => invoke($0, `le`, [value("f64", 0), value("f64", 6.283185307179586)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1237
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1238
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1239
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1240
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1241
+assert_return(() => invoke($0, `le`, [value("f64", -0), value("f64", -Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1242
+assert_return(() => invoke($0, `le`, [value("f64", -0), value("f64", Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1243
+assert_return(() => invoke($0, `le`, [value("f64", 0), value("f64", -Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1244
+assert_return(() => invoke($0, `le`, [value("f64", 0), value("f64", Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1245
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1246
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1247
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1248
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1249
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1250
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1251
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1252
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1253
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1254
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1255
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1256
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1257
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1258
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1259
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1260
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1261
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1262
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1263
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1264
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1265
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1266
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1267
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1268
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1269
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1270
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1271
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1272
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1273
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1274
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1275
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1276
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1277
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1278
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1279
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1280
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1281
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1282
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1283
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1284
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1285
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1286
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1287
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1288
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1289
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1290
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1291
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1292
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1293
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1294
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1295
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1296
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1297
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1298
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1299
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1300
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1301
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1302
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1303
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1304
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1305
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1306
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1307
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1308
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1309
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1310
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1311
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1312
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1313
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1314
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1315
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1316
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1317
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1318
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1319
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1320
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1321
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1322
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1323
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1324
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1325
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1326
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1327
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1328
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1329
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1330
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1331
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1332
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1333
+assert_return(() => invoke($0, `le`, [value("f64", -0.5), value("f64", -0)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1334
+assert_return(() => invoke($0, `le`, [value("f64", -0.5), value("f64", 0)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1335
+assert_return(() => invoke($0, `le`, [value("f64", 0.5), value("f64", -0)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1336
+assert_return(() => invoke($0, `le`, [value("f64", 0.5), value("f64", 0)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1337
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0.5),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1338
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0.5),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1339
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0.5),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1340
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0.5),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1341
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0.5),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1342
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0.5),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1343
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0.5),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1344
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0.5),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1345
+assert_return(() => invoke($0, `le`, [value("f64", -0.5), value("f64", -0.5)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1346
+assert_return(() => invoke($0, `le`, [value("f64", -0.5), value("f64", 0.5)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1347
+assert_return(() => invoke($0, `le`, [value("f64", 0.5), value("f64", -0.5)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1348
+assert_return(() => invoke($0, `le`, [value("f64", 0.5), value("f64", 0.5)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1349
+assert_return(() => invoke($0, `le`, [value("f64", -0.5), value("f64", -1)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1350
+assert_return(() => invoke($0, `le`, [value("f64", -0.5), value("f64", 1)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1351
+assert_return(() => invoke($0, `le`, [value("f64", 0.5), value("f64", -1)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1352
+assert_return(() => invoke($0, `le`, [value("f64", 0.5), value("f64", 1)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1353
+assert_return(
+ () => invoke($0, `le`, [value("f64", -0.5), value("f64", -6.283185307179586)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1354
+assert_return(
+ () => invoke($0, `le`, [value("f64", -0.5), value("f64", 6.283185307179586)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1355
+assert_return(
+ () => invoke($0, `le`, [value("f64", 0.5), value("f64", -6.283185307179586)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1356
+assert_return(
+ () => invoke($0, `le`, [value("f64", 0.5), value("f64", 6.283185307179586)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1357
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0.5),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1358
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0.5),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1359
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0.5),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1360
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0.5),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1361
+assert_return(() => invoke($0, `le`, [value("f64", -0.5), value("f64", -Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1362
+assert_return(() => invoke($0, `le`, [value("f64", -0.5), value("f64", Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1363
+assert_return(() => invoke($0, `le`, [value("f64", 0.5), value("f64", -Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1364
+assert_return(() => invoke($0, `le`, [value("f64", 0.5), value("f64", Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1365
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1366
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1367
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1368
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1369
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1370
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1371
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1372
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1373
+assert_return(() => invoke($0, `le`, [value("f64", -1), value("f64", -0)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1374
+assert_return(() => invoke($0, `le`, [value("f64", -1), value("f64", 0)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1375
+assert_return(() => invoke($0, `le`, [value("f64", 1), value("f64", -0)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1376
+assert_return(() => invoke($0, `le`, [value("f64", 1), value("f64", 0)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1377
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -1),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1378
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -1),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1379
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 1),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1380
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 1),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1381
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -1),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1382
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -1),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1383
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 1),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1384
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 1),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1385
+assert_return(() => invoke($0, `le`, [value("f64", -1), value("f64", -0.5)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1386
+assert_return(() => invoke($0, `le`, [value("f64", -1), value("f64", 0.5)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1387
+assert_return(() => invoke($0, `le`, [value("f64", 1), value("f64", -0.5)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1388
+assert_return(() => invoke($0, `le`, [value("f64", 1), value("f64", 0.5)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1389
+assert_return(() => invoke($0, `le`, [value("f64", -1), value("f64", -1)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1390
+assert_return(() => invoke($0, `le`, [value("f64", -1), value("f64", 1)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1391
+assert_return(() => invoke($0, `le`, [value("f64", 1), value("f64", -1)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1392
+assert_return(() => invoke($0, `le`, [value("f64", 1), value("f64", 1)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1393
+assert_return(
+ () => invoke($0, `le`, [value("f64", -1), value("f64", -6.283185307179586)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1394
+assert_return(
+ () => invoke($0, `le`, [value("f64", -1), value("f64", 6.283185307179586)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1395
+assert_return(
+ () => invoke($0, `le`, [value("f64", 1), value("f64", -6.283185307179586)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1396
+assert_return(
+ () => invoke($0, `le`, [value("f64", 1), value("f64", 6.283185307179586)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1397
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -1),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1398
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -1),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1399
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 1),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1400
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 1),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1401
+assert_return(() => invoke($0, `le`, [value("f64", -1), value("f64", -Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1402
+assert_return(() => invoke($0, `le`, [value("f64", -1), value("f64", Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1403
+assert_return(() => invoke($0, `le`, [value("f64", 1), value("f64", -Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1404
+assert_return(() => invoke($0, `le`, [value("f64", 1), value("f64", Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1405
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1406
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1407
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1408
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1409
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1410
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1411
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1412
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1413
+assert_return(
+ () => invoke($0, `le`, [value("f64", -6.283185307179586), value("f64", -0)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1414
+assert_return(
+ () => invoke($0, `le`, [value("f64", -6.283185307179586), value("f64", 0)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1415
+assert_return(
+ () => invoke($0, `le`, [value("f64", 6.283185307179586), value("f64", -0)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1416
+assert_return(
+ () => invoke($0, `le`, [value("f64", 6.283185307179586), value("f64", 0)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1417
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -6.283185307179586),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1418
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -6.283185307179586),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1419
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 6.283185307179586),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1420
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 6.283185307179586),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1421
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -6.283185307179586),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1422
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -6.283185307179586),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1423
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 6.283185307179586),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1424
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 6.283185307179586),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1425
+assert_return(
+ () => invoke($0, `le`, [value("f64", -6.283185307179586), value("f64", -0.5)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1426
+assert_return(
+ () => invoke($0, `le`, [value("f64", -6.283185307179586), value("f64", 0.5)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1427
+assert_return(
+ () => invoke($0, `le`, [value("f64", 6.283185307179586), value("f64", -0.5)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1428
+assert_return(
+ () => invoke($0, `le`, [value("f64", 6.283185307179586), value("f64", 0.5)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1429
+assert_return(
+ () => invoke($0, `le`, [value("f64", -6.283185307179586), value("f64", -1)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1430
+assert_return(
+ () => invoke($0, `le`, [value("f64", -6.283185307179586), value("f64", 1)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1431
+assert_return(
+ () => invoke($0, `le`, [value("f64", 6.283185307179586), value("f64", -1)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1432
+assert_return(
+ () => invoke($0, `le`, [value("f64", 6.283185307179586), value("f64", 1)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1433
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1434
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -6.283185307179586),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1435
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 6.283185307179586),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1436
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1437
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -6.283185307179586),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1438
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -6.283185307179586),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1439
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 6.283185307179586),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1440
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 6.283185307179586),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1441
+assert_return(
+ () => invoke($0, `le`, [value("f64", -6.283185307179586), value("f64", -Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1442
+assert_return(
+ () => invoke($0, `le`, [value("f64", -6.283185307179586), value("f64", Infinity)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1443
+assert_return(
+ () => invoke($0, `le`, [value("f64", 6.283185307179586), value("f64", -Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1444
+assert_return(
+ () => invoke($0, `le`, [value("f64", 6.283185307179586), value("f64", Infinity)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1445
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1446
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1447
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1448
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1449
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1450
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1451
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1452
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1453
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1454
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1455
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1456
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1457
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1458
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1459
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1460
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1461
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1462
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1463
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1464
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1465
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1466
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1467
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1468
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1469
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1470
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1471
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1472
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1473
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1474
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1475
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1476
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1477
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1478
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1479
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1480
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1481
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1482
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1483
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1484
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1485
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1486
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1487
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1488
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1489
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1490
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1491
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1492
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1493
+assert_return(() => invoke($0, `le`, [value("f64", -Infinity), value("f64", -0)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1494
+assert_return(() => invoke($0, `le`, [value("f64", -Infinity), value("f64", 0)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1495
+assert_return(() => invoke($0, `le`, [value("f64", Infinity), value("f64", -0)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1496
+assert_return(() => invoke($0, `le`, [value("f64", Infinity), value("f64", 0)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1497
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -Infinity),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1498
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -Infinity),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1499
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", Infinity),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1500
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", Infinity),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1501
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -Infinity),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1502
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -Infinity),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1503
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", Infinity),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1504
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", Infinity),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1505
+assert_return(() => invoke($0, `le`, [value("f64", -Infinity), value("f64", -0.5)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1506
+assert_return(() => invoke($0, `le`, [value("f64", -Infinity), value("f64", 0.5)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1507
+assert_return(() => invoke($0, `le`, [value("f64", Infinity), value("f64", -0.5)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1508
+assert_return(() => invoke($0, `le`, [value("f64", Infinity), value("f64", 0.5)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1509
+assert_return(() => invoke($0, `le`, [value("f64", -Infinity), value("f64", -1)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1510
+assert_return(() => invoke($0, `le`, [value("f64", -Infinity), value("f64", 1)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1511
+assert_return(() => invoke($0, `le`, [value("f64", Infinity), value("f64", -1)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1512
+assert_return(() => invoke($0, `le`, [value("f64", Infinity), value("f64", 1)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1513
+assert_return(
+ () => invoke($0, `le`, [value("f64", -Infinity), value("f64", -6.283185307179586)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1514
+assert_return(
+ () => invoke($0, `le`, [value("f64", -Infinity), value("f64", 6.283185307179586)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1515
+assert_return(
+ () => invoke($0, `le`, [value("f64", Infinity), value("f64", -6.283185307179586)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1516
+assert_return(
+ () => invoke($0, `le`, [value("f64", Infinity), value("f64", 6.283185307179586)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1517
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -Infinity),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1518
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -Infinity),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1519
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", Infinity),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1520
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", Infinity),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1521
+assert_return(
+ () => invoke($0, `le`, [value("f64", -Infinity), value("f64", -Infinity)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1522
+assert_return(
+ () => invoke($0, `le`, [value("f64", -Infinity), value("f64", Infinity)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1523
+assert_return(
+ () => invoke($0, `le`, [value("f64", Infinity), value("f64", -Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1524
+assert_return(
+ () => invoke($0, `le`, [value("f64", Infinity), value("f64", Infinity)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1525
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1526
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1527
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1528
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", -Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1529
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1530
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1531
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1532
+assert_return(
+ () => invoke($0, `le`, [
+ value("f64", Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1533
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1534
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1535
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1536
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1537
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1538
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1539
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1540
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1541
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1542
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1543
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1544
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1545
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1546
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1547
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1548
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1549
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1550
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1551
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1552
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1553
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1554
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1555
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1556
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1557
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1558
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1559
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1560
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1561
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1562
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1563
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1564
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1565
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1566
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1567
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1568
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1569
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1570
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1571
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1572
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1573
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1574
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1575
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1576
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1577
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1578
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1579
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1580
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1581
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1582
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1583
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1584
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1585
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1586
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1587
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1588
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1589
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1590
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1591
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1592
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1593
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1594
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1595
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1596
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1597
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1598
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1599
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1600
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1601
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1602
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1603
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1604
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1605
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1606
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1607
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1608
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1609
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1610
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1611
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1612
+assert_return(
+ () => invoke($0, `le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1613
+assert_return(() => invoke($0, `gt`, [value("f64", -0), value("f64", -0)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1614
+assert_return(() => invoke($0, `gt`, [value("f64", -0), value("f64", 0)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1615
+assert_return(() => invoke($0, `gt`, [value("f64", 0), value("f64", -0)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1616
+assert_return(() => invoke($0, `gt`, [value("f64", 0), value("f64", 0)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1617
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1618
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1619
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1620
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1621
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1622
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1623
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1624
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1625
+assert_return(() => invoke($0, `gt`, [value("f64", -0), value("f64", -0.5)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1626
+assert_return(() => invoke($0, `gt`, [value("f64", -0), value("f64", 0.5)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1627
+assert_return(() => invoke($0, `gt`, [value("f64", 0), value("f64", -0.5)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1628
+assert_return(() => invoke($0, `gt`, [value("f64", 0), value("f64", 0.5)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1629
+assert_return(() => invoke($0, `gt`, [value("f64", -0), value("f64", -1)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1630
+assert_return(() => invoke($0, `gt`, [value("f64", -0), value("f64", 1)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1631
+assert_return(() => invoke($0, `gt`, [value("f64", 0), value("f64", -1)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1632
+assert_return(() => invoke($0, `gt`, [value("f64", 0), value("f64", 1)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1633
+assert_return(
+ () => invoke($0, `gt`, [value("f64", -0), value("f64", -6.283185307179586)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1634
+assert_return(
+ () => invoke($0, `gt`, [value("f64", -0), value("f64", 6.283185307179586)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1635
+assert_return(
+ () => invoke($0, `gt`, [value("f64", 0), value("f64", -6.283185307179586)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1636
+assert_return(
+ () => invoke($0, `gt`, [value("f64", 0), value("f64", 6.283185307179586)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1637
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1638
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1639
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1640
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1641
+assert_return(() => invoke($0, `gt`, [value("f64", -0), value("f64", -Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1642
+assert_return(() => invoke($0, `gt`, [value("f64", -0), value("f64", Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1643
+assert_return(() => invoke($0, `gt`, [value("f64", 0), value("f64", -Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1644
+assert_return(() => invoke($0, `gt`, [value("f64", 0), value("f64", Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1645
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1646
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1647
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1648
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1649
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1650
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1651
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1652
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1653
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1654
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1655
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1656
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1657
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1658
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1659
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1660
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1661
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1662
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1663
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1664
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1665
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1666
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1667
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1668
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1669
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1670
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1671
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1672
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1673
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1674
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1675
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1676
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1677
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1678
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1679
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1680
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1681
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1682
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1683
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1684
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1685
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1686
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1687
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1688
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1689
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1690
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1691
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1692
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1693
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1694
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1695
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1696
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1697
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1698
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1699
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1700
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1701
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1702
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1703
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1704
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1705
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1706
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1707
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1708
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1709
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1710
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1711
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1712
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1713
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1714
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1715
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1716
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1717
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1718
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1719
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1720
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1721
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1722
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1723
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1724
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1725
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1726
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1727
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1728
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1729
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1730
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1731
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1732
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1733
+assert_return(() => invoke($0, `gt`, [value("f64", -0.5), value("f64", -0)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1734
+assert_return(() => invoke($0, `gt`, [value("f64", -0.5), value("f64", 0)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1735
+assert_return(() => invoke($0, `gt`, [value("f64", 0.5), value("f64", -0)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1736
+assert_return(() => invoke($0, `gt`, [value("f64", 0.5), value("f64", 0)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1737
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0.5),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1738
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0.5),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1739
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0.5),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1740
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0.5),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1741
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0.5),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1742
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0.5),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1743
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0.5),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1744
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0.5),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1745
+assert_return(() => invoke($0, `gt`, [value("f64", -0.5), value("f64", -0.5)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1746
+assert_return(() => invoke($0, `gt`, [value("f64", -0.5), value("f64", 0.5)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1747
+assert_return(() => invoke($0, `gt`, [value("f64", 0.5), value("f64", -0.5)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1748
+assert_return(() => invoke($0, `gt`, [value("f64", 0.5), value("f64", 0.5)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1749
+assert_return(() => invoke($0, `gt`, [value("f64", -0.5), value("f64", -1)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1750
+assert_return(() => invoke($0, `gt`, [value("f64", -0.5), value("f64", 1)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1751
+assert_return(() => invoke($0, `gt`, [value("f64", 0.5), value("f64", -1)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1752
+assert_return(() => invoke($0, `gt`, [value("f64", 0.5), value("f64", 1)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1753
+assert_return(
+ () => invoke($0, `gt`, [value("f64", -0.5), value("f64", -6.283185307179586)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1754
+assert_return(
+ () => invoke($0, `gt`, [value("f64", -0.5), value("f64", 6.283185307179586)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1755
+assert_return(
+ () => invoke($0, `gt`, [value("f64", 0.5), value("f64", -6.283185307179586)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1756
+assert_return(
+ () => invoke($0, `gt`, [value("f64", 0.5), value("f64", 6.283185307179586)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1757
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0.5),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1758
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0.5),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1759
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0.5),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1760
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0.5),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1761
+assert_return(() => invoke($0, `gt`, [value("f64", -0.5), value("f64", -Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1762
+assert_return(() => invoke($0, `gt`, [value("f64", -0.5), value("f64", Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1763
+assert_return(() => invoke($0, `gt`, [value("f64", 0.5), value("f64", -Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1764
+assert_return(() => invoke($0, `gt`, [value("f64", 0.5), value("f64", Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1765
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1766
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1767
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1768
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1769
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1770
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1771
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1772
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1773
+assert_return(() => invoke($0, `gt`, [value("f64", -1), value("f64", -0)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1774
+assert_return(() => invoke($0, `gt`, [value("f64", -1), value("f64", 0)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1775
+assert_return(() => invoke($0, `gt`, [value("f64", 1), value("f64", -0)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1776
+assert_return(() => invoke($0, `gt`, [value("f64", 1), value("f64", 0)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1777
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -1),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1778
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -1),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1779
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 1),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1780
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 1),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1781
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -1),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1782
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -1),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1783
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 1),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1784
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 1),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1785
+assert_return(() => invoke($0, `gt`, [value("f64", -1), value("f64", -0.5)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1786
+assert_return(() => invoke($0, `gt`, [value("f64", -1), value("f64", 0.5)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1787
+assert_return(() => invoke($0, `gt`, [value("f64", 1), value("f64", -0.5)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1788
+assert_return(() => invoke($0, `gt`, [value("f64", 1), value("f64", 0.5)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1789
+assert_return(() => invoke($0, `gt`, [value("f64", -1), value("f64", -1)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1790
+assert_return(() => invoke($0, `gt`, [value("f64", -1), value("f64", 1)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1791
+assert_return(() => invoke($0, `gt`, [value("f64", 1), value("f64", -1)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1792
+assert_return(() => invoke($0, `gt`, [value("f64", 1), value("f64", 1)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1793
+assert_return(
+ () => invoke($0, `gt`, [value("f64", -1), value("f64", -6.283185307179586)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1794
+assert_return(
+ () => invoke($0, `gt`, [value("f64", -1), value("f64", 6.283185307179586)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1795
+assert_return(
+ () => invoke($0, `gt`, [value("f64", 1), value("f64", -6.283185307179586)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1796
+assert_return(
+ () => invoke($0, `gt`, [value("f64", 1), value("f64", 6.283185307179586)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1797
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -1),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1798
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -1),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1799
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 1),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1800
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 1),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1801
+assert_return(() => invoke($0, `gt`, [value("f64", -1), value("f64", -Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1802
+assert_return(() => invoke($0, `gt`, [value("f64", -1), value("f64", Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1803
+assert_return(() => invoke($0, `gt`, [value("f64", 1), value("f64", -Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1804
+assert_return(() => invoke($0, `gt`, [value("f64", 1), value("f64", Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1805
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1806
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1807
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1808
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1809
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1810
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1811
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1812
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1813
+assert_return(
+ () => invoke($0, `gt`, [value("f64", -6.283185307179586), value("f64", -0)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1814
+assert_return(
+ () => invoke($0, `gt`, [value("f64", -6.283185307179586), value("f64", 0)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1815
+assert_return(
+ () => invoke($0, `gt`, [value("f64", 6.283185307179586), value("f64", -0)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1816
+assert_return(
+ () => invoke($0, `gt`, [value("f64", 6.283185307179586), value("f64", 0)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1817
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -6.283185307179586),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1818
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -6.283185307179586),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1819
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 6.283185307179586),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1820
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 6.283185307179586),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1821
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -6.283185307179586),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1822
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -6.283185307179586),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1823
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 6.283185307179586),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1824
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 6.283185307179586),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1825
+assert_return(
+ () => invoke($0, `gt`, [value("f64", -6.283185307179586), value("f64", -0.5)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1826
+assert_return(
+ () => invoke($0, `gt`, [value("f64", -6.283185307179586), value("f64", 0.5)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1827
+assert_return(
+ () => invoke($0, `gt`, [value("f64", 6.283185307179586), value("f64", -0.5)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1828
+assert_return(
+ () => invoke($0, `gt`, [value("f64", 6.283185307179586), value("f64", 0.5)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1829
+assert_return(
+ () => invoke($0, `gt`, [value("f64", -6.283185307179586), value("f64", -1)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1830
+assert_return(
+ () => invoke($0, `gt`, [value("f64", -6.283185307179586), value("f64", 1)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1831
+assert_return(
+ () => invoke($0, `gt`, [value("f64", 6.283185307179586), value("f64", -1)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1832
+assert_return(
+ () => invoke($0, `gt`, [value("f64", 6.283185307179586), value("f64", 1)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1833
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1834
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -6.283185307179586),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1835
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 6.283185307179586),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1836
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1837
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -6.283185307179586),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1838
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -6.283185307179586),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1839
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 6.283185307179586),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1840
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 6.283185307179586),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1841
+assert_return(
+ () => invoke($0, `gt`, [value("f64", -6.283185307179586), value("f64", -Infinity)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1842
+assert_return(
+ () => invoke($0, `gt`, [value("f64", -6.283185307179586), value("f64", Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1843
+assert_return(
+ () => invoke($0, `gt`, [value("f64", 6.283185307179586), value("f64", -Infinity)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1844
+assert_return(
+ () => invoke($0, `gt`, [value("f64", 6.283185307179586), value("f64", Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1845
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1846
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1847
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1848
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1849
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1850
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1851
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1852
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1853
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1854
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1855
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1856
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1857
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1858
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1859
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1860
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1861
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1862
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1863
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1864
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1865
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1866
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1867
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1868
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1869
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1870
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1871
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1872
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1873
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1874
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1875
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1876
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1877
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1878
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1879
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1880
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1881
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1882
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1883
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1884
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1885
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1886
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1887
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1888
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1889
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1890
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1891
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1892
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1893
+assert_return(() => invoke($0, `gt`, [value("f64", -Infinity), value("f64", -0)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1894
+assert_return(() => invoke($0, `gt`, [value("f64", -Infinity), value("f64", 0)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1895
+assert_return(() => invoke($0, `gt`, [value("f64", Infinity), value("f64", -0)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1896
+assert_return(() => invoke($0, `gt`, [value("f64", Infinity), value("f64", 0)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1897
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -Infinity),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1898
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -Infinity),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1899
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", Infinity),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1900
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", Infinity),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1901
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -Infinity),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1902
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -Infinity),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1903
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", Infinity),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1904
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", Infinity),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1905
+assert_return(() => invoke($0, `gt`, [value("f64", -Infinity), value("f64", -0.5)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1906
+assert_return(() => invoke($0, `gt`, [value("f64", -Infinity), value("f64", 0.5)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1907
+assert_return(() => invoke($0, `gt`, [value("f64", Infinity), value("f64", -0.5)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1908
+assert_return(() => invoke($0, `gt`, [value("f64", Infinity), value("f64", 0.5)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1909
+assert_return(() => invoke($0, `gt`, [value("f64", -Infinity), value("f64", -1)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1910
+assert_return(() => invoke($0, `gt`, [value("f64", -Infinity), value("f64", 1)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:1911
+assert_return(() => invoke($0, `gt`, [value("f64", Infinity), value("f64", -1)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1912
+assert_return(() => invoke($0, `gt`, [value("f64", Infinity), value("f64", 1)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:1913
+assert_return(
+ () => invoke($0, `gt`, [value("f64", -Infinity), value("f64", -6.283185307179586)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1914
+assert_return(
+ () => invoke($0, `gt`, [value("f64", -Infinity), value("f64", 6.283185307179586)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1915
+assert_return(
+ () => invoke($0, `gt`, [value("f64", Infinity), value("f64", -6.283185307179586)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1916
+assert_return(
+ () => invoke($0, `gt`, [value("f64", Infinity), value("f64", 6.283185307179586)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1917
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -Infinity),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1918
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -Infinity),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1919
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", Infinity),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1920
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", Infinity),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1921
+assert_return(
+ () => invoke($0, `gt`, [value("f64", -Infinity), value("f64", -Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1922
+assert_return(
+ () => invoke($0, `gt`, [value("f64", -Infinity), value("f64", Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1923
+assert_return(
+ () => invoke($0, `gt`, [value("f64", Infinity), value("f64", -Infinity)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:1924
+assert_return(
+ () => invoke($0, `gt`, [value("f64", Infinity), value("f64", Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1925
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1926
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1927
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1928
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", -Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1929
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1930
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1931
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1932
+assert_return(
+ () => invoke($0, `gt`, [
+ value("f64", Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1933
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1934
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1935
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1936
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1937
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1938
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1939
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1940
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1941
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1942
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1943
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1944
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1945
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1946
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1947
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1948
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1949
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1950
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1951
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1952
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1953
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1954
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1955
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1956
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1957
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1958
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1959
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1960
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1961
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1962
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1963
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1964
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1965
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1966
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1967
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1968
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1969
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1970
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1971
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1972
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1973
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1974
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1975
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1976
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1977
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1978
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1979
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1980
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1981
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1982
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1983
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1984
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1985
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1986
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1987
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1988
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1989
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1990
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1991
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1992
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1993
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1994
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1995
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1996
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1997
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1998
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:1999
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2000
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2001
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2002
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2003
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2004
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2005
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2006
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2007
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2008
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2009
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2010
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2011
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2012
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2013
+assert_return(() => invoke($0, `ge`, [value("f64", -0), value("f64", -0)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:2014
+assert_return(() => invoke($0, `ge`, [value("f64", -0), value("f64", 0)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:2015
+assert_return(() => invoke($0, `ge`, [value("f64", 0), value("f64", -0)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:2016
+assert_return(() => invoke($0, `ge`, [value("f64", 0), value("f64", 0)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:2017
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2018
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2019
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2020
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2021
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2022
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2023
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2024
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2025
+assert_return(() => invoke($0, `ge`, [value("f64", -0), value("f64", -0.5)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:2026
+assert_return(() => invoke($0, `ge`, [value("f64", -0), value("f64", 0.5)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:2027
+assert_return(() => invoke($0, `ge`, [value("f64", 0), value("f64", -0.5)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:2028
+assert_return(() => invoke($0, `ge`, [value("f64", 0), value("f64", 0.5)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:2029
+assert_return(() => invoke($0, `ge`, [value("f64", -0), value("f64", -1)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:2030
+assert_return(() => invoke($0, `ge`, [value("f64", -0), value("f64", 1)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:2031
+assert_return(() => invoke($0, `ge`, [value("f64", 0), value("f64", -1)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:2032
+assert_return(() => invoke($0, `ge`, [value("f64", 0), value("f64", 1)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:2033
+assert_return(
+ () => invoke($0, `ge`, [value("f64", -0), value("f64", -6.283185307179586)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2034
+assert_return(
+ () => invoke($0, `ge`, [value("f64", -0), value("f64", 6.283185307179586)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2035
+assert_return(
+ () => invoke($0, `ge`, [value("f64", 0), value("f64", -6.283185307179586)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2036
+assert_return(
+ () => invoke($0, `ge`, [value("f64", 0), value("f64", 6.283185307179586)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2037
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2038
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2039
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2040
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2041
+assert_return(() => invoke($0, `ge`, [value("f64", -0), value("f64", -Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:2042
+assert_return(() => invoke($0, `ge`, [value("f64", -0), value("f64", Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:2043
+assert_return(() => invoke($0, `ge`, [value("f64", 0), value("f64", -Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:2044
+assert_return(() => invoke($0, `ge`, [value("f64", 0), value("f64", Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:2045
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2046
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2047
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2048
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2049
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2050
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2051
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2052
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2053
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2054
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2055
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2056
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2057
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2058
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2059
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2060
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2061
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2062
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2063
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2064
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2065
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2066
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2067
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2068
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2069
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2070
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2071
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2072
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2073
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2074
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2075
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2076
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2077
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2078
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2079
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2080
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2081
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2082
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2083
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2084
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2085
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2086
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2087
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2088
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2089
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2090
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2091
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2092
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2093
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2094
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2095
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2096
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2097
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2098
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2099
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2100
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2101
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2102
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2103
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2104
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2105
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2106
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2107
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2108
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2109
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2110
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2111
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2112
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2113
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2114
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2115
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2116
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2117
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2118
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2119
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2120
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2121
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2122
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2123
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2124
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2125
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2126
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2127
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2128
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2129
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2130
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2131
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2132
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2133
+assert_return(() => invoke($0, `ge`, [value("f64", -0.5), value("f64", -0)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:2134
+assert_return(() => invoke($0, `ge`, [value("f64", -0.5), value("f64", 0)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:2135
+assert_return(() => invoke($0, `ge`, [value("f64", 0.5), value("f64", -0)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:2136
+assert_return(() => invoke($0, `ge`, [value("f64", 0.5), value("f64", 0)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:2137
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0.5),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2138
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0.5),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2139
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0.5),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2140
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0.5),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2141
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0.5),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2142
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0.5),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2143
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0.5),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2144
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0.5),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2145
+assert_return(() => invoke($0, `ge`, [value("f64", -0.5), value("f64", -0.5)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:2146
+assert_return(() => invoke($0, `ge`, [value("f64", -0.5), value("f64", 0.5)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:2147
+assert_return(() => invoke($0, `ge`, [value("f64", 0.5), value("f64", -0.5)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:2148
+assert_return(() => invoke($0, `ge`, [value("f64", 0.5), value("f64", 0.5)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:2149
+assert_return(() => invoke($0, `ge`, [value("f64", -0.5), value("f64", -1)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:2150
+assert_return(() => invoke($0, `ge`, [value("f64", -0.5), value("f64", 1)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:2151
+assert_return(() => invoke($0, `ge`, [value("f64", 0.5), value("f64", -1)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:2152
+assert_return(() => invoke($0, `ge`, [value("f64", 0.5), value("f64", 1)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:2153
+assert_return(
+ () => invoke($0, `ge`, [value("f64", -0.5), value("f64", -6.283185307179586)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2154
+assert_return(
+ () => invoke($0, `ge`, [value("f64", -0.5), value("f64", 6.283185307179586)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2155
+assert_return(
+ () => invoke($0, `ge`, [value("f64", 0.5), value("f64", -6.283185307179586)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2156
+assert_return(
+ () => invoke($0, `ge`, [value("f64", 0.5), value("f64", 6.283185307179586)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2157
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0.5),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2158
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0.5),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2159
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0.5),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2160
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0.5),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2161
+assert_return(() => invoke($0, `ge`, [value("f64", -0.5), value("f64", -Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:2162
+assert_return(() => invoke($0, `ge`, [value("f64", -0.5), value("f64", Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:2163
+assert_return(() => invoke($0, `ge`, [value("f64", 0.5), value("f64", -Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:2164
+assert_return(() => invoke($0, `ge`, [value("f64", 0.5), value("f64", Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:2165
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2166
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2167
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2168
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2169
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2170
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2171
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2172
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 0.5),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2173
+assert_return(() => invoke($0, `ge`, [value("f64", -1), value("f64", -0)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:2174
+assert_return(() => invoke($0, `ge`, [value("f64", -1), value("f64", 0)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:2175
+assert_return(() => invoke($0, `ge`, [value("f64", 1), value("f64", -0)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:2176
+assert_return(() => invoke($0, `ge`, [value("f64", 1), value("f64", 0)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:2177
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -1),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2178
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -1),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2179
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 1),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2180
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 1),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2181
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -1),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2182
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -1),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2183
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 1),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2184
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 1),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2185
+assert_return(() => invoke($0, `ge`, [value("f64", -1), value("f64", -0.5)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:2186
+assert_return(() => invoke($0, `ge`, [value("f64", -1), value("f64", 0.5)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:2187
+assert_return(() => invoke($0, `ge`, [value("f64", 1), value("f64", -0.5)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:2188
+assert_return(() => invoke($0, `ge`, [value("f64", 1), value("f64", 0.5)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:2189
+assert_return(() => invoke($0, `ge`, [value("f64", -1), value("f64", -1)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:2190
+assert_return(() => invoke($0, `ge`, [value("f64", -1), value("f64", 1)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:2191
+assert_return(() => invoke($0, `ge`, [value("f64", 1), value("f64", -1)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:2192
+assert_return(() => invoke($0, `ge`, [value("f64", 1), value("f64", 1)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:2193
+assert_return(
+ () => invoke($0, `ge`, [value("f64", -1), value("f64", -6.283185307179586)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2194
+assert_return(
+ () => invoke($0, `ge`, [value("f64", -1), value("f64", 6.283185307179586)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2195
+assert_return(
+ () => invoke($0, `ge`, [value("f64", 1), value("f64", -6.283185307179586)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2196
+assert_return(
+ () => invoke($0, `ge`, [value("f64", 1), value("f64", 6.283185307179586)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2197
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -1),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2198
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -1),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2199
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 1),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2200
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 1),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2201
+assert_return(() => invoke($0, `ge`, [value("f64", -1), value("f64", -Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:2202
+assert_return(() => invoke($0, `ge`, [value("f64", -1), value("f64", Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:2203
+assert_return(() => invoke($0, `ge`, [value("f64", 1), value("f64", -Infinity)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:2204
+assert_return(() => invoke($0, `ge`, [value("f64", 1), value("f64", Infinity)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:2205
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2206
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2207
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2208
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2209
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2210
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2211
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2212
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 1),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2213
+assert_return(
+ () => invoke($0, `ge`, [value("f64", -6.283185307179586), value("f64", -0)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2214
+assert_return(
+ () => invoke($0, `ge`, [value("f64", -6.283185307179586), value("f64", 0)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2215
+assert_return(
+ () => invoke($0, `ge`, [value("f64", 6.283185307179586), value("f64", -0)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2216
+assert_return(
+ () => invoke($0, `ge`, [value("f64", 6.283185307179586), value("f64", 0)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2217
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -6.283185307179586),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2218
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -6.283185307179586),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2219
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 6.283185307179586),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2220
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 6.283185307179586),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2221
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -6.283185307179586),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2222
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -6.283185307179586),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2223
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 6.283185307179586),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2224
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 6.283185307179586),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2225
+assert_return(
+ () => invoke($0, `ge`, [value("f64", -6.283185307179586), value("f64", -0.5)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2226
+assert_return(
+ () => invoke($0, `ge`, [value("f64", -6.283185307179586), value("f64", 0.5)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2227
+assert_return(
+ () => invoke($0, `ge`, [value("f64", 6.283185307179586), value("f64", -0.5)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2228
+assert_return(
+ () => invoke($0, `ge`, [value("f64", 6.283185307179586), value("f64", 0.5)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2229
+assert_return(
+ () => invoke($0, `ge`, [value("f64", -6.283185307179586), value("f64", -1)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2230
+assert_return(
+ () => invoke($0, `ge`, [value("f64", -6.283185307179586), value("f64", 1)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2231
+assert_return(
+ () => invoke($0, `ge`, [value("f64", 6.283185307179586), value("f64", -1)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2232
+assert_return(
+ () => invoke($0, `ge`, [value("f64", 6.283185307179586), value("f64", 1)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2233
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2234
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -6.283185307179586),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2235
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 6.283185307179586),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2236
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2237
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -6.283185307179586),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2238
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -6.283185307179586),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2239
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 6.283185307179586),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2240
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 6.283185307179586),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2241
+assert_return(
+ () => invoke($0, `ge`, [value("f64", -6.283185307179586), value("f64", -Infinity)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2242
+assert_return(
+ () => invoke($0, `ge`, [value("f64", -6.283185307179586), value("f64", Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2243
+assert_return(
+ () => invoke($0, `ge`, [value("f64", 6.283185307179586), value("f64", -Infinity)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2244
+assert_return(
+ () => invoke($0, `ge`, [value("f64", 6.283185307179586), value("f64", Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2245
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2246
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2247
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2248
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2249
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2250
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2251
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2252
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 6.283185307179586),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2253
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2254
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2255
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2256
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2257
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2258
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2259
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2260
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2261
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2262
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2263
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2264
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2265
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2266
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2267
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2268
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2269
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2270
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2271
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2272
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 1),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2273
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2274
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2275
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2276
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2277
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2278
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2279
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2280
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2281
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2282
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2283
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2284
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2285
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2286
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2287
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2288
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2289
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2290
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2291
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2292
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2293
+assert_return(() => invoke($0, `ge`, [value("f64", -Infinity), value("f64", -0)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:2294
+assert_return(() => invoke($0, `ge`, [value("f64", -Infinity), value("f64", 0)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:2295
+assert_return(() => invoke($0, `ge`, [value("f64", Infinity), value("f64", -0)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:2296
+assert_return(() => invoke($0, `ge`, [value("f64", Infinity), value("f64", 0)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:2297
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -Infinity),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2298
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -Infinity),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2299
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", Infinity),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2300
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", Infinity),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2301
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -Infinity),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2302
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -Infinity),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2303
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", Infinity),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2304
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", Infinity),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2305
+assert_return(() => invoke($0, `ge`, [value("f64", -Infinity), value("f64", -0.5)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:2306
+assert_return(() => invoke($0, `ge`, [value("f64", -Infinity), value("f64", 0.5)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:2307
+assert_return(() => invoke($0, `ge`, [value("f64", Infinity), value("f64", -0.5)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:2308
+assert_return(() => invoke($0, `ge`, [value("f64", Infinity), value("f64", 0.5)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:2309
+assert_return(() => invoke($0, `ge`, [value("f64", -Infinity), value("f64", -1)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:2310
+assert_return(() => invoke($0, `ge`, [value("f64", -Infinity), value("f64", 1)]), [value("i32", 0)]);
+
+// ./test/core/f64_cmp.wast:2311
+assert_return(() => invoke($0, `ge`, [value("f64", Infinity), value("f64", -1)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:2312
+assert_return(() => invoke($0, `ge`, [value("f64", Infinity), value("f64", 1)]), [value("i32", 1)]);
+
+// ./test/core/f64_cmp.wast:2313
+assert_return(
+ () => invoke($0, `ge`, [value("f64", -Infinity), value("f64", -6.283185307179586)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2314
+assert_return(
+ () => invoke($0, `ge`, [value("f64", -Infinity), value("f64", 6.283185307179586)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2315
+assert_return(
+ () => invoke($0, `ge`, [value("f64", Infinity), value("f64", -6.283185307179586)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2316
+assert_return(
+ () => invoke($0, `ge`, [value("f64", Infinity), value("f64", 6.283185307179586)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2317
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -Infinity),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2318
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -Infinity),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2319
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", Infinity),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2320
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", Infinity),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2321
+assert_return(
+ () => invoke($0, `ge`, [value("f64", -Infinity), value("f64", -Infinity)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2322
+assert_return(
+ () => invoke($0, `ge`, [value("f64", -Infinity), value("f64", Infinity)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2323
+assert_return(
+ () => invoke($0, `ge`, [value("f64", Infinity), value("f64", -Infinity)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2324
+assert_return(
+ () => invoke($0, `ge`, [value("f64", Infinity), value("f64", Infinity)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/f64_cmp.wast:2325
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2326
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2327
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2328
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", -Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2329
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2330
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2331
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2332
+assert_return(
+ () => invoke($0, `ge`, [
+ value("f64", Infinity),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2333
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2334
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2335
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2336
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2337
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2338
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2339
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2340
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 0),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2341
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2342
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2343
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2344
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2345
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2346
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2347
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2348
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2349
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2350
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2351
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2352
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2353
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2354
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2355
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2356
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2357
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2358
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2359
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2360
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2361
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2362
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2363
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2364
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 0.5),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2365
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2366
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2367
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2368
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2369
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2370
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2371
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2372
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 1),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2373
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2374
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2375
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2376
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2377
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2378
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2379
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2380
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 6.283185307179586),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2381
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2382
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2383
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2384
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2385
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2386
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2387
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2388
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2389
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2390
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2391
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2392
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2393
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2394
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", -Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2395
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2396
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2397
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2398
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2399
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2400
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2401
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2402
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2403
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2404
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2405
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2406
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2407
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2408
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2409
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2410
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2411
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2412
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/f64_cmp.wast:2417
+assert_invalid(
+ () => instantiate(`(module (func (result f64) (f64.eq (i64.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/f64_cmp.wast:2418
+assert_invalid(
+ () => instantiate(`(module (func (result f64) (f64.ge (i64.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/f64_cmp.wast:2419
+assert_invalid(
+ () => instantiate(`(module (func (result f64) (f64.gt (i64.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/f64_cmp.wast:2420
+assert_invalid(
+ () => instantiate(`(module (func (result f64) (f64.le (i64.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/f64_cmp.wast:2421
+assert_invalid(
+ () => instantiate(`(module (func (result f64) (f64.lt (i64.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/f64_cmp.wast:2422
+assert_invalid(
+ () => instantiate(`(module (func (result f64) (f64.ne (i64.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/fac.wast.js b/js/src/jit-test/tests/wasm/spec/spec/fac.wast.js
new file mode 100644
index 0000000000..f356881230
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/fac.wast.js
@@ -0,0 +1,139 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/fac.wast
+
+// ./test/core/fac.wast:1
+let $0 = instantiate(`(module
+ ;; Recursive factorial
+ (func (export "fac-rec") (param i64) (result i64)
+ (if (result i64) (i64.eq (local.get 0) (i64.const 0))
+ (then (i64.const 1))
+ (else
+ (i64.mul (local.get 0) (call 0 (i64.sub (local.get 0) (i64.const 1))))
+ )
+ )
+ )
+
+ ;; Recursive factorial named
+ (func $$fac-rec-named (export "fac-rec-named") (param $$n i64) (result i64)
+ (if (result i64) (i64.eq (local.get $$n) (i64.const 0))
+ (then (i64.const 1))
+ (else
+ (i64.mul
+ (local.get $$n)
+ (call $$fac-rec-named (i64.sub (local.get $$n) (i64.const 1)))
+ )
+ )
+ )
+ )
+
+ ;; Iterative factorial
+ (func (export "fac-iter") (param i64) (result i64)
+ (local i64 i64)
+ (local.set 1 (local.get 0))
+ (local.set 2 (i64.const 1))
+ (block
+ (loop
+ (if
+ (i64.eq (local.get 1) (i64.const 0))
+ (then (br 2))
+ (else
+ (local.set 2 (i64.mul (local.get 1) (local.get 2)))
+ (local.set 1 (i64.sub (local.get 1) (i64.const 1)))
+ )
+ )
+ (br 0)
+ )
+ )
+ (local.get 2)
+ )
+
+ ;; Iterative factorial named
+ (func (export "fac-iter-named") (param $$n i64) (result i64)
+ (local $$i i64)
+ (local $$res i64)
+ (local.set $$i (local.get $$n))
+ (local.set $$res (i64.const 1))
+ (block $$done
+ (loop $$loop
+ (if
+ (i64.eq (local.get $$i) (i64.const 0))
+ (then (br $$done))
+ (else
+ (local.set $$res (i64.mul (local.get $$i) (local.get $$res)))
+ (local.set $$i (i64.sub (local.get $$i) (i64.const 1)))
+ )
+ )
+ (br $$loop)
+ )
+ )
+ (local.get $$res)
+ )
+
+ ;; Optimized factorial.
+ (func (export "fac-opt") (param i64) (result i64)
+ (local i64)
+ (local.set 1 (i64.const 1))
+ (block
+ (br_if 0 (i64.lt_s (local.get 0) (i64.const 2)))
+ (loop
+ (local.set 1 (i64.mul (local.get 1) (local.get 0)))
+ (local.set 0 (i64.add (local.get 0) (i64.const -1)))
+ (br_if 0 (i64.gt_s (local.get 0) (i64.const 1)))
+ )
+ )
+ (local.get 1)
+ )
+
+ ;; Iterative factorial without locals.
+ (func $$pick0 (param i64) (result i64 i64)
+ (local.get 0) (local.get 0)
+ )
+ (func $$pick1 (param i64 i64) (result i64 i64 i64)
+ (local.get 0) (local.get 1) (local.get 0)
+ )
+ (func (export "fac-ssa") (param i64) (result i64)
+ (i64.const 1) (local.get 0)
+ (loop $$l (param i64 i64) (result i64)
+ (call $$pick1) (call $$pick1) (i64.mul)
+ (call $$pick1) (i64.const 1) (i64.sub)
+ (call $$pick0) (i64.const 0) (i64.gt_u)
+ (br_if $$l)
+ (drop) (return)
+ )
+ )
+)`);
+
+// ./test/core/fac.wast:102
+assert_return(() => invoke($0, `fac-rec`, [25n]), [value("i64", 7034535277573963776n)]);
+
+// ./test/core/fac.wast:103
+assert_return(() => invoke($0, `fac-iter`, [25n]), [value("i64", 7034535277573963776n)]);
+
+// ./test/core/fac.wast:104
+assert_return(() => invoke($0, `fac-rec-named`, [25n]), [value("i64", 7034535277573963776n)]);
+
+// ./test/core/fac.wast:105
+assert_return(() => invoke($0, `fac-iter-named`, [25n]), [value("i64", 7034535277573963776n)]);
+
+// ./test/core/fac.wast:106
+assert_return(() => invoke($0, `fac-opt`, [25n]), [value("i64", 7034535277573963776n)]);
+
+// ./test/core/fac.wast:107
+assert_return(() => invoke($0, `fac-ssa`, [25n]), [value("i64", 7034535277573963776n)]);
+
+// ./test/core/fac.wast:109
+assert_exhaustion(() => invoke($0, `fac-rec`, [1073741824n]), `call stack exhausted`);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/float_exprs.wast.js b/js/src/jit-test/tests/wasm/spec/spec/float_exprs.wast.js
new file mode 100644
index 0000000000..120b1402c4
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/float_exprs.wast.js
@@ -0,0 +1,7295 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/float_exprs.wast
+
+// ./test/core/float_exprs.wast:6
+let $0 = instantiate(`(module
+ (func (export "f64.no_contraction") (param $$x f64) (param $$y f64) (param $$z f64) (result f64)
+ (f64.add (f64.mul (local.get $$x) (local.get $$y)) (local.get $$z)))
+)`);
+
+// ./test/core/float_exprs.wast:11
+assert_return(
+ () => invoke($0, `f64.no_contraction`, [
+ value("f64", -0.00000000000000000000000000000015967133604096234),
+ value("f64", 87633521608271230000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 42896576204898460000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -13992561434270632000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_exprs.wast:12
+assert_return(
+ () => invoke($0, `f64.no_contraction`, [
+ value("f64", 8341016642481988),
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003223424965918293),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023310835741659086),
+ ]),
+ [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000026886641288847496),
+ ],
+);
+
+// ./test/core/float_exprs.wast:13
+assert_return(
+ () => invoke($0, `f64.no_contraction`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030119045290520013),
+ value("f64", 52699336439236750000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.00000000000000000000000000000006654454781339856),
+ ]),
+ [value("f64", -0.0000000000000000015872537009936566)],
+);
+
+// ./test/core/float_exprs.wast:14
+assert_return(
+ () => invoke($0, `f64.no_contraction`, [
+ value("f64", 0.0000000000000000000031413936116780743),
+ value("f64", -0.0000000000000000000000000000007262766035707377),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000004619684894228461),
+ ]),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000228152068276836),
+ ],
+);
+
+// ./test/core/float_exprs.wast:15
+assert_return(
+ () => invoke($0, `f64.no_contraction`, [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016080464217402378),
+ value("f64", -382103410226833000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.00000000000000010541980504151345),
+ ]),
+ [value("f64", 0.00006144400215510552)],
+);
+
+// ./test/core/float_exprs.wast:19
+let $1 = instantiate(`(module
+ (func (export "f32.no_fma") (param $$x f32) (param $$y f32) (param $$z f32) (result f32)
+ (f32.add (f32.mul (local.get $$x) (local.get $$y)) (local.get $$z)))
+ (func (export "f64.no_fma") (param $$x f64) (param $$y f64) (param $$z f64) (result f64)
+ (f64.add (f64.mul (local.get $$x) (local.get $$y)) (local.get $$z)))
+)`);
+
+// ./test/core/float_exprs.wast:26
+assert_return(
+ () => invoke($1, `f32.no_fma`, [
+ value("f32", 35184304000000000000000000000000000000),
+ value("f32", 0.00000021584361),
+ value("f32", 259340640000000000000000000000000),
+ ]),
+ [value("f32", 266934960000000000000000000000000)],
+);
+
+// ./test/core/float_exprs.wast:27
+assert_return(
+ () => invoke($1, `f32.no_fma`, [
+ value("f32", 0.0000000071753243),
+ value("f32", -0.000000000000001225534),
+ value("f32", 0.0000000000000000000000000041316436),
+ ]),
+ [value("f32", -0.0000000000000000000000087894724)],
+);
+
+// ./test/core/float_exprs.wast:28
+assert_return(
+ () => invoke($1, `f32.no_fma`, [
+ value("f32", 231063440000),
+ value("f32", 0.00020773262),
+ value("f32", 1797.6421),
+ ]),
+ [value("f32", 48001210)],
+);
+
+// ./test/core/float_exprs.wast:29
+assert_return(
+ () => invoke($1, `f32.no_fma`, [
+ value("f32", 0.0045542703),
+ value("f32", -7265493.5),
+ value("f32", -2.3964283),
+ ]),
+ [value("f32", -33091.414)],
+);
+
+// ./test/core/float_exprs.wast:30
+assert_return(
+ () => invoke($1, `f32.no_fma`, [
+ value("f32", 98881730000000000000000000000000000000),
+ value("f32", -0.0000000000000000000008570631),
+ value("f32", -21579143000),
+ ]),
+ [value("f32", -84747910000000000)],
+);
+
+// ./test/core/float_exprs.wast:31
+assert_return(
+ () => invoke($1, `f64.no_fma`, [
+ value("f64", 789084284375179200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 4215020052117360000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -1336601081131744700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 1989405000320312800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_exprs.wast:32
+assert_return(
+ () => invoke($1, `f64.no_fma`, [
+ value("f64", 5586822348009285500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.0000000000000000000000000000000000000007397302005677334),
+ value("f64", 36567834172040920000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 4132741216029240700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_exprs.wast:33
+assert_return(
+ () => invoke($1, `f64.no_fma`, [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014260477822274587),
+ value("f64", -31087632036599860000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 343269235523777630000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -4433244872049653000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_exprs.wast:34
+assert_return(
+ () => invoke($1, `f64.no_fma`, [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000809034701735478),
+ value("f64", -24874417850667450000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 49484765138510810),
+ ]),
+ [value("f64", 250727437405094720)],
+);
+
+// ./test/core/float_exprs.wast:35
+assert_return(
+ () => invoke($1, `f64.no_fma`, [
+ value("f64", 6723256985364377),
+ value("f64", 285456566692879460000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -5593839470050757000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 1919197856036028600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_exprs.wast:40
+let $2 = instantiate(`(module
+ (func (export "f32.no_fold_add_zero") (param $$x f32) (result f32)
+ (f32.add (local.get $$x) (f32.const 0.0)))
+ (func (export "f64.no_fold_add_zero") (param $$x f64) (result f64)
+ (f64.add (local.get $$x) (f64.const 0.0)))
+)`);
+
+// ./test/core/float_exprs.wast:47
+assert_return(() => invoke($2, `f32.no_fold_add_zero`, [value("f32", -0)]), [value("f32", 0)]);
+
+// ./test/core/float_exprs.wast:48
+assert_return(() => invoke($2, `f64.no_fold_add_zero`, [value("f64", -0)]), [value("f64", 0)]);
+
+// ./test/core/float_exprs.wast:49
+assert_return(
+ () => invoke($2, `f32.no_fold_add_zero`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/float_exprs.wast:50
+assert_return(
+ () => invoke($2, `f64.no_fold_add_zero`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/float_exprs.wast:54
+let $3 = instantiate(`(module
+ (func (export "f32.no_fold_zero_sub") (param $$x f32) (result f32)
+ (f32.sub (f32.const 0.0) (local.get $$x)))
+ (func (export "f64.no_fold_zero_sub") (param $$x f64) (result f64)
+ (f64.sub (f64.const 0.0) (local.get $$x)))
+)`);
+
+// ./test/core/float_exprs.wast:61
+assert_return(() => invoke($3, `f32.no_fold_zero_sub`, [value("f32", 0)]), [value("f32", 0)]);
+
+// ./test/core/float_exprs.wast:62
+assert_return(() => invoke($3, `f64.no_fold_zero_sub`, [value("f64", 0)]), [value("f64", 0)]);
+
+// ./test/core/float_exprs.wast:63
+assert_return(
+ () => invoke($3, `f32.no_fold_zero_sub`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/float_exprs.wast:64
+assert_return(
+ () => invoke($3, `f64.no_fold_zero_sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/float_exprs.wast:68
+let $4 = instantiate(`(module
+ (func (export "f32.no_fold_sub_zero") (param $$x f32) (result f32)
+ (f32.sub (local.get $$x) (f32.const 0.0)))
+ (func (export "f64.no_fold_sub_zero") (param $$x f64) (result f64)
+ (f64.sub (local.get $$x) (f64.const 0.0)))
+)`);
+
+// ./test/core/float_exprs.wast:75
+assert_return(
+ () => invoke($4, `f32.no_fold_sub_zero`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/float_exprs.wast:76
+assert_return(
+ () => invoke($4, `f64.no_fold_sub_zero`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/float_exprs.wast:80
+let $5 = instantiate(`(module
+ (func (export "f32.no_fold_mul_zero") (param $$x f32) (result f32)
+ (f32.mul (local.get $$x) (f32.const 0.0)))
+ (func (export "f64.no_fold_mul_zero") (param $$x f64) (result f64)
+ (f64.mul (local.get $$x) (f64.const 0.0)))
+)`);
+
+// ./test/core/float_exprs.wast:87
+assert_return(() => invoke($5, `f32.no_fold_mul_zero`, [value("f32", -0)]), [value("f32", -0)]);
+
+// ./test/core/float_exprs.wast:88
+assert_return(() => invoke($5, `f32.no_fold_mul_zero`, [value("f32", -1)]), [value("f32", -0)]);
+
+// ./test/core/float_exprs.wast:89
+assert_return(() => invoke($5, `f32.no_fold_mul_zero`, [value("f32", -2)]), [value("f32", -0)]);
+
+// ./test/core/float_exprs.wast:90
+assert_return(
+ () => invoke($5, `f32.no_fold_mul_zero`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/float_exprs.wast:91
+assert_return(() => invoke($5, `f64.no_fold_mul_zero`, [value("f64", -0)]), [value("f64", -0)]);
+
+// ./test/core/float_exprs.wast:92
+assert_return(() => invoke($5, `f64.no_fold_mul_zero`, [value("f64", -1)]), [value("f64", -0)]);
+
+// ./test/core/float_exprs.wast:93
+assert_return(() => invoke($5, `f64.no_fold_mul_zero`, [value("f64", -2)]), [value("f64", -0)]);
+
+// ./test/core/float_exprs.wast:94
+assert_return(
+ () => invoke($5, `f64.no_fold_mul_zero`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/float_exprs.wast:99
+let $6 = instantiate(`(module
+ (func (export "f32.no_fold_mul_one") (param $$x f32) (result f32)
+ (f32.mul (local.get $$x) (f32.const 1.0)))
+ (func (export "f64.no_fold_mul_one") (param $$x f64) (result f64)
+ (f64.mul (local.get $$x) (f64.const 1.0)))
+)`);
+
+// ./test/core/float_exprs.wast:106
+assert_return(
+ () => invoke($6, `f32.no_fold_mul_one`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/float_exprs.wast:107
+assert_return(
+ () => invoke($6, `f64.no_fold_mul_one`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/float_exprs.wast:111
+let $7 = instantiate(`(module
+ (func (export "f32.no_fold_zero_div") (param $$x f32) (result f32)
+ (f32.div (f32.const 0.0) (local.get $$x)))
+ (func (export "f64.no_fold_zero_div") (param $$x f64) (result f64)
+ (f64.div (f64.const 0.0) (local.get $$x)))
+)`);
+
+// ./test/core/float_exprs.wast:118
+assert_return(() => invoke($7, `f32.no_fold_zero_div`, [value("f32", 0)]), [`canonical_nan`]);
+
+// ./test/core/float_exprs.wast:119
+assert_return(() => invoke($7, `f32.no_fold_zero_div`, [value("f32", -0)]), [`canonical_nan`]);
+
+// ./test/core/float_exprs.wast:120
+assert_return(
+ () => invoke($7, `f32.no_fold_zero_div`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/float_exprs.wast:121
+assert_return(
+ () => invoke($7, `f32.no_fold_zero_div`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/float_exprs.wast:122
+assert_return(() => invoke($7, `f64.no_fold_zero_div`, [value("f64", 0)]), [`canonical_nan`]);
+
+// ./test/core/float_exprs.wast:123
+assert_return(() => invoke($7, `f64.no_fold_zero_div`, [value("f64", -0)]), [`canonical_nan`]);
+
+// ./test/core/float_exprs.wast:124
+assert_return(
+ () => invoke($7, `f64.no_fold_zero_div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/float_exprs.wast:125
+assert_return(
+ () => invoke($7, `f64.no_fold_zero_div`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/float_exprs.wast:129
+let $8 = instantiate(`(module
+ (func (export "f32.no_fold_div_one") (param $$x f32) (result f32)
+ (f32.div (local.get $$x) (f32.const 1.0)))
+ (func (export "f64.no_fold_div_one") (param $$x f64) (result f64)
+ (f64.div (local.get $$x) (f64.const 1.0)))
+)`);
+
+// ./test/core/float_exprs.wast:136
+assert_return(
+ () => invoke($8, `f32.no_fold_div_one`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/float_exprs.wast:137
+assert_return(
+ () => invoke($8, `f64.no_fold_div_one`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/float_exprs.wast:141
+let $9 = instantiate(`(module
+ (func (export "f32.no_fold_div_neg1") (param $$x f32) (result f32)
+ (f32.div (local.get $$x) (f32.const -1.0)))
+ (func (export "f64.no_fold_div_neg1") (param $$x f64) (result f64)
+ (f64.div (local.get $$x) (f64.const -1.0)))
+)`);
+
+// ./test/core/float_exprs.wast:148
+assert_return(
+ () => invoke($9, `f32.no_fold_div_neg1`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/float_exprs.wast:149
+assert_return(
+ () => invoke($9, `f64.no_fold_div_neg1`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/float_exprs.wast:153
+let $10 = instantiate(`(module
+ (func (export "f32.no_fold_neg0_sub") (param $$x f32) (result f32)
+ (f32.sub (f32.const -0.0) (local.get $$x)))
+ (func (export "f64.no_fold_neg0_sub") (param $$x f64) (result f64)
+ (f64.sub (f64.const -0.0) (local.get $$x)))
+)`);
+
+// ./test/core/float_exprs.wast:160
+assert_return(
+ () => invoke($10, `f32.no_fold_neg0_sub`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/float_exprs.wast:161
+assert_return(
+ () => invoke($10, `f64.no_fold_neg0_sub`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/float_exprs.wast:165
+let $11 = instantiate(`(module
+ (func (export "f32.no_fold_neg1_mul") (param $$x f32) (result f32)
+ (f32.mul (f32.const -1.0) (local.get $$x)))
+ (func (export "f64.no_fold_neg1_mul") (param $$x f64) (result f64)
+ (f64.mul (f64.const -1.0) (local.get $$x)))
+)`);
+
+// ./test/core/float_exprs.wast:172
+assert_return(
+ () => invoke($11, `f32.no_fold_neg1_mul`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/float_exprs.wast:173
+assert_return(
+ () => invoke($11, `f64.no_fold_neg1_mul`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/float_exprs.wast:177
+let $12 = instantiate(`(module
+ (func (export "f32.no_fold_eq_self") (param $$x f32) (result i32)
+ (f32.eq (local.get $$x) (local.get $$x)))
+ (func (export "f64.no_fold_eq_self") (param $$x f64) (result i32)
+ (f64.eq (local.get $$x) (local.get $$x)))
+)`);
+
+// ./test/core/float_exprs.wast:184
+assert_return(
+ () => invoke($12, `f32.no_fold_eq_self`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/float_exprs.wast:185
+assert_return(
+ () => invoke($12, `f64.no_fold_eq_self`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/float_exprs.wast:189
+let $13 = instantiate(`(module
+ (func (export "f32.no_fold_ne_self") (param $$x f32) (result i32)
+ (f32.ne (local.get $$x) (local.get $$x)))
+ (func (export "f64.no_fold_ne_self") (param $$x f64) (result i32)
+ (f64.ne (local.get $$x) (local.get $$x)))
+)`);
+
+// ./test/core/float_exprs.wast:196
+assert_return(
+ () => invoke($13, `f32.no_fold_ne_self`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [value("i32", 1)],
+);
+
+// ./test/core/float_exprs.wast:197
+assert_return(
+ () => invoke($13, `f64.no_fold_ne_self`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/float_exprs.wast:201
+let $14 = instantiate(`(module
+ (func (export "f32.no_fold_sub_self") (param $$x f32) (result f32)
+ (f32.sub (local.get $$x) (local.get $$x)))
+ (func (export "f64.no_fold_sub_self") (param $$x f64) (result f64)
+ (f64.sub (local.get $$x) (local.get $$x)))
+)`);
+
+// ./test/core/float_exprs.wast:208
+assert_return(() => invoke($14, `f32.no_fold_sub_self`, [value("f32", Infinity)]), [`canonical_nan`]);
+
+// ./test/core/float_exprs.wast:209
+assert_return(
+ () => invoke($14, `f32.no_fold_sub_self`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/float_exprs.wast:210
+assert_return(() => invoke($14, `f64.no_fold_sub_self`, [value("f64", Infinity)]), [`canonical_nan`]);
+
+// ./test/core/float_exprs.wast:211
+assert_return(
+ () => invoke($14, `f64.no_fold_sub_self`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/float_exprs.wast:215
+let $15 = instantiate(`(module
+ (func (export "f32.no_fold_div_self") (param $$x f32) (result f32)
+ (f32.div (local.get $$x) (local.get $$x)))
+ (func (export "f64.no_fold_div_self") (param $$x f64) (result f64)
+ (f64.div (local.get $$x) (local.get $$x)))
+)`);
+
+// ./test/core/float_exprs.wast:222
+assert_return(() => invoke($15, `f32.no_fold_div_self`, [value("f32", Infinity)]), [`canonical_nan`]);
+
+// ./test/core/float_exprs.wast:223
+assert_return(
+ () => invoke($15, `f32.no_fold_div_self`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/float_exprs.wast:224
+assert_return(() => invoke($15, `f32.no_fold_div_self`, [value("f32", 0)]), [`canonical_nan`]);
+
+// ./test/core/float_exprs.wast:225
+assert_return(() => invoke($15, `f32.no_fold_div_self`, [value("f32", -0)]), [`canonical_nan`]);
+
+// ./test/core/float_exprs.wast:226
+assert_return(() => invoke($15, `f64.no_fold_div_self`, [value("f64", Infinity)]), [`canonical_nan`]);
+
+// ./test/core/float_exprs.wast:227
+assert_return(
+ () => invoke($15, `f64.no_fold_div_self`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/float_exprs.wast:228
+assert_return(() => invoke($15, `f64.no_fold_div_self`, [value("f64", 0)]), [`canonical_nan`]);
+
+// ./test/core/float_exprs.wast:229
+assert_return(() => invoke($15, `f64.no_fold_div_self`, [value("f64", -0)]), [`canonical_nan`]);
+
+// ./test/core/float_exprs.wast:233
+let $16 = instantiate(`(module
+ (func (export "f32.no_fold_div_3") (param $$x f32) (result f32)
+ (f32.div (local.get $$x) (f32.const 3.0)))
+ (func (export "f64.no_fold_div_3") (param $$x f64) (result f64)
+ (f64.div (local.get $$x) (f64.const 3.0)))
+)`);
+
+// ./test/core/float_exprs.wast:240
+assert_return(
+ () => invoke($16, `f32.no_fold_div_3`, [value("f32", -1361679000000000)]),
+ [value("f32", -453892980000000)],
+);
+
+// ./test/core/float_exprs.wast:241
+assert_return(
+ () => invoke($16, `f32.no_fold_div_3`, [value("f32", -18736880000000000000000000000)]),
+ [value("f32", -6245626600000000000000000000)],
+);
+
+// ./test/core/float_exprs.wast:242
+assert_return(
+ () => invoke($16, `f32.no_fold_div_3`, [
+ value("f32", -0.00000000000000000000000012045131),
+ ]),
+ [value("f32", -0.000000000000000000000000040150435)],
+);
+
+// ./test/core/float_exprs.wast:243
+assert_return(
+ () => invoke($16, `f32.no_fold_div_3`, [
+ value("f32", -0.00000000000000000000000000000000000005281346),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000017604486)],
+);
+
+// ./test/core/float_exprs.wast:244
+assert_return(
+ () => invoke($16, `f32.no_fold_div_3`, [value("f32", -0.000000000000000025495563)]),
+ [value("f32", -0.000000000000000008498521)],
+);
+
+// ./test/core/float_exprs.wast:245
+assert_return(
+ () => invoke($16, `f64.no_fold_div_3`, [
+ value("f64", -29563579573969634000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -9854526524656545000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_exprs.wast:246
+assert_return(
+ () => invoke($16, `f64.no_fold_div_3`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000009291150921449772),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000003097050307149924),
+ ],
+);
+
+// ./test/core/float_exprs.wast:247
+assert_return(
+ () => invoke($16, `f64.no_fold_div_3`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013808061543557006),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004602687181185669),
+ ],
+);
+
+// ./test/core/float_exprs.wast:248
+assert_return(
+ () => invoke($16, `f64.no_fold_div_3`, [
+ value("f64", -1378076163468349000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -459358721156116300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_exprs.wast:249
+assert_return(
+ () => invoke($16, `f64.no_fold_div_3`, [
+ value("f64", 86324008088313660000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 28774669362771220000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_exprs.wast:253
+let $17 = instantiate(`(module
+ (func (export "f32.no_factor") (param $$x f32) (param $$y f32) (param $$z f32) (result f32)
+ (f32.add (f32.mul (local.get $$x) (local.get $$z)) (f32.mul (local.get $$y) (local.get $$z))))
+ (func (export "f64.no_factor") (param $$x f64) (param $$y f64) (param $$z f64) (result f64)
+ (f64.add (f64.mul (local.get $$x) (local.get $$z)) (f64.mul (local.get $$y) (local.get $$z))))
+)`);
+
+// ./test/core/float_exprs.wast:260
+assert_return(
+ () => invoke($17, `f32.no_factor`, [
+ value("f32", -1435111700000),
+ value("f32", -853617640000000),
+ value("f32", 1113849300000000000),
+ ]),
+ [value("f32", -952399900000000000000000000000000)],
+);
+
+// ./test/core/float_exprs.wast:261
+assert_return(
+ () => invoke($17, `f32.no_factor`, [
+ value("f32", -0.026666632),
+ value("f32", 0.048412822),
+ value("f32", -0.002813697),
+ ]),
+ [value("f32", -0.0000611872)],
+);
+
+// ./test/core/float_exprs.wast:262
+assert_return(
+ () => invoke($17, `f32.no_factor`, [
+ value("f32", -0.00000000000046619777),
+ value("f32", 0.00000000000000000010478377),
+ value("f32", 14469202000000000000000000000000000000),
+ ]),
+ [value("f32", -6745508000000000000000000)],
+);
+
+// ./test/core/float_exprs.wast:263
+assert_return(
+ () => invoke($17, `f32.no_factor`, [
+ value("f32", -0.00000000000000000010689046),
+ value("f32", 0.00000000000000000000000010694433),
+ value("f32", 568307000000000000000000000000000000),
+ ]),
+ [value("f32", -60746540000000000)],
+);
+
+// ./test/core/float_exprs.wast:264
+assert_return(
+ () => invoke($17, `f32.no_factor`, [
+ value("f32", -0.000000000000000000000000063545994),
+ value("f32", 0.0000000000000000000007524625),
+ value("f32", 1626770.3),
+ ]),
+ [value("f32", 0.0000000000000012239803)],
+);
+
+// ./test/core/float_exprs.wast:265
+assert_return(
+ () => invoke($17, `f64.no_factor`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028390554709988774),
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001473981250649641),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000029001229846550766),
+ ]),
+ [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008233610026197336),
+ ],
+);
+
+// ./test/core/float_exprs.wast:266
+assert_return(
+ () => invoke($17, `f64.no_factor`, [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006461015505916123),
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023923242802975938),
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000015300738798561604),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/float_exprs.wast:267
+assert_return(
+ () => invoke($17, `f64.no_factor`, [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002939056292080733),
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000002146156743463356),
+ value("f64", -2510967223130241600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", 538892923853642600000000000000000000000000000000000000000000)],
+);
+
+// ./test/core/float_exprs.wast:268
+assert_return(
+ () => invoke($17, `f64.no_factor`, [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000017785466771708878),
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000009328516775403213),
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000012121009044876735),
+ ]),
+ [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001130710359943689),
+ ],
+);
+
+// ./test/core/float_exprs.wast:269
+assert_return(
+ () => invoke($17, `f64.no_factor`, [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000015194859063177362),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000883589921438065),
+ value("f64", -1735830019469195800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -0.0000000000000000000000000015337619131701908)],
+);
+
+// ./test/core/float_exprs.wast:273
+let $18 = instantiate(`(module
+ (func (export "f32.no_distribute") (param $$x f32) (param $$y f32) (param $$z f32) (result f32)
+ (f32.mul (f32.add (local.get $$x) (local.get $$y)) (local.get $$z)))
+ (func (export "f64.no_distribute") (param $$x f64) (param $$y f64) (param $$z f64) (result f64)
+ (f64.mul (f64.add (local.get $$x) (local.get $$y)) (local.get $$z)))
+)`);
+
+// ./test/core/float_exprs.wast:280
+assert_return(
+ () => invoke($18, `f32.no_distribute`, [
+ value("f32", -1435111700000),
+ value("f32", -853617640000000),
+ value("f32", 1113849300000000000),
+ ]),
+ [value("f32", -952400000000000000000000000000000)],
+);
+
+// ./test/core/float_exprs.wast:281
+assert_return(
+ () => invoke($18, `f32.no_distribute`, [
+ value("f32", -0.026666632),
+ value("f32", 0.048412822),
+ value("f32", -0.002813697),
+ ]),
+ [value("f32", -0.000061187195)],
+);
+
+// ./test/core/float_exprs.wast:282
+assert_return(
+ () => invoke($18, `f32.no_distribute`, [
+ value("f32", -0.00000000000046619777),
+ value("f32", 0.00000000000000000010478377),
+ value("f32", 14469202000000000000000000000000000000),
+ ]),
+ [value("f32", -6745508500000000000000000)],
+);
+
+// ./test/core/float_exprs.wast:283
+assert_return(
+ () => invoke($18, `f32.no_distribute`, [
+ value("f32", -0.00000000000000000010689046),
+ value("f32", 0.00000000000000000000000010694433),
+ value("f32", 568307000000000000000000000000000000),
+ ]),
+ [value("f32", -60746536000000000)],
+);
+
+// ./test/core/float_exprs.wast:284
+assert_return(
+ () => invoke($18, `f32.no_distribute`, [
+ value("f32", -0.000000000000000000000000063545994),
+ value("f32", 0.0000000000000000000007524625),
+ value("f32", 1626770.3),
+ ]),
+ [value("f32", 0.0000000000000012239802)],
+);
+
+// ./test/core/float_exprs.wast:285
+assert_return(
+ () => invoke($18, `f64.no_distribute`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028390554709988774),
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001473981250649641),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000029001229846550766),
+ ]),
+ [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008233610026197337),
+ ],
+);
+
+// ./test/core/float_exprs.wast:286
+assert_return(
+ () => invoke($18, `f64.no_distribute`, [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006461015505916123),
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023923242802975938),
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000015300738798561604),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/float_exprs.wast:287
+assert_return(
+ () => invoke($18, `f64.no_distribute`, [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002939056292080733),
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000002146156743463356),
+ value("f64", -2510967223130241600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", 538892923853642500000000000000000000000000000000000000000000)],
+);
+
+// ./test/core/float_exprs.wast:288
+assert_return(
+ () => invoke($18, `f64.no_distribute`, [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000017785466771708878),
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000009328516775403213),
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000012121009044876735),
+ ]),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011307103599436889),
+ ],
+);
+
+// ./test/core/float_exprs.wast:289
+assert_return(
+ () => invoke($18, `f64.no_distribute`, [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000015194859063177362),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000883589921438065),
+ value("f64", -1735830019469195800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -0.0000000000000000000000000015337619131701907)],
+);
+
+// ./test/core/float_exprs.wast:293
+let $19 = instantiate(`(module
+ (func (export "f32.no_regroup_div_mul") (param $$x f32) (param $$y f32) (param $$z f32) (result f32)
+ (f32.mul (local.get $$x) (f32.div (local.get $$y) (local.get $$z))))
+ (func (export "f64.no_regroup_div_mul") (param $$x f64) (param $$y f64) (param $$z f64) (result f64)
+ (f64.mul (local.get $$x) (f64.div (local.get $$y) (local.get $$z))))
+)`);
+
+// ./test/core/float_exprs.wast:300
+assert_return(
+ () => invoke($19, `f32.no_regroup_div_mul`, [
+ value("f32", -0.00000000000000000000000000000000002831349),
+ value("f32", -0.00000000000000000007270787),
+ value("f32", 0.000000000000000000000000000000000016406605),
+ ]),
+ [value("f32", 0.00000000000000000012547468)],
+);
+
+// ./test/core/float_exprs.wast:301
+assert_return(
+ () => invoke($19, `f32.no_regroup_div_mul`, [
+ value("f32", -3145897700000000000000000000),
+ value("f32", -0.000000000000000000000000000000000040864003),
+ value("f32", -9245928300000000000000),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/float_exprs.wast:302
+assert_return(
+ () => invoke($19, `f32.no_regroup_div_mul`, [
+ value("f32", -93157.43),
+ value("f32", -0.00000081292654),
+ value("f32", -0.00000000000000000000000000000000000015469397),
+ ]),
+ [value("f32", -489548120000000000000000000000000000)],
+);
+
+// ./test/core/float_exprs.wast:303
+assert_return(
+ () => invoke($19, `f32.no_regroup_div_mul`, [
+ value("f32", -0.00000000000000000000000000008899643),
+ value("f32", 17887725000000000000000),
+ value("f32", 514680230000000000000),
+ ]),
+ [value("f32", -0.000000000000000000000000003093073)],
+);
+
+// ./test/core/float_exprs.wast:304
+assert_return(
+ () => invoke($19, `f32.no_regroup_div_mul`, [
+ value("f32", 9222036000000000000000000000000000),
+ value("f32", 33330492),
+ value("f32", -3253108800000000000000),
+ ]),
+ [value("f32", -94486550000000000000)],
+);
+
+// ./test/core/float_exprs.wast:305
+assert_return(
+ () => invoke($19, `f64.no_regroup_div_mul`, [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005698811412550059),
+ value("f64", -0.0000000000000000000000000000000000018313439132919336),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009543270551003098),
+ ]),
+ [value("f64", -1093596114413331000000000000000)],
+);
+
+// ./test/core/float_exprs.wast:306
+assert_return(
+ () => invoke($19, `f64.no_regroup_div_mul`, [
+ value("f64", 357289288425507550000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003952760844538651),
+ value("f64", -1450781241254900800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/float_exprs.wast:307
+assert_return(
+ () => invoke($19, `f64.no_regroup_div_mul`, [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009124278383497107),
+ value("f64", 55561345277147970000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000025090826940306507),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/float_exprs.wast:308
+assert_return(
+ () => invoke($19, `f64.no_regroup_div_mul`, [
+ value("f64", -4492093000352015000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -12087878984017852000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -596613380626062300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -91013507803376260000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_exprs.wast:309
+assert_return(
+ () => invoke($19, `f64.no_regroup_div_mul`, [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007470269158630455),
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007568026329781282),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001055389683973521),
+ ]),
+ [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005356807494101561),
+ ],
+);
+
+// ./test/core/float_exprs.wast:313
+let $20 = instantiate(`(module
+ (func (export "f32.no_regroup_mul_div") (param $$x f32) (param $$y f32) (param $$z f32) (result f32)
+ (f32.div (f32.mul (local.get $$x) (local.get $$y)) (local.get $$z)))
+ (func (export "f64.no_regroup_mul_div") (param $$x f64) (param $$y f64) (param $$z f64) (result f64)
+ (f64.div (f64.mul (local.get $$x) (local.get $$y)) (local.get $$z)))
+)`);
+
+// ./test/core/float_exprs.wast:320
+assert_return(
+ () => invoke($20, `f32.no_regroup_mul_div`, [
+ value("f32", -0.00000000000000000000000000000000002831349),
+ value("f32", -0.00000000000000000007270787),
+ value("f32", 0.000000000000000000000000000000000016406605),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/float_exprs.wast:321
+assert_return(
+ () => invoke($20, `f32.no_regroup_mul_div`, [
+ value("f32", -3145897700000000000000000000),
+ value("f32", -0.000000000000000000000000000000000040864003),
+ value("f32", -9245928300000000000000),
+ ]),
+ [value("f32", -0.000000000000000000000000000013903848)],
+);
+
+// ./test/core/float_exprs.wast:322
+assert_return(
+ () => invoke($20, `f32.no_regroup_mul_div`, [
+ value("f32", -93157.43),
+ value("f32", -0.00000081292654),
+ value("f32", -0.00000000000000000000000000000000000015469397),
+ ]),
+ [value("f32", -489548160000000000000000000000000000)],
+);
+
+// ./test/core/float_exprs.wast:323
+assert_return(
+ () => invoke($20, `f32.no_regroup_mul_div`, [
+ value("f32", -0.00000000000000000000000000008899643),
+ value("f32", 17887725000000000000000),
+ value("f32", 514680230000000000000),
+ ]),
+ [value("f32", -0.0000000000000000000000000030930732)],
+);
+
+// ./test/core/float_exprs.wast:324
+assert_return(
+ () => invoke($20, `f32.no_regroup_mul_div`, [
+ value("f32", 9222036000000000000000000000000000),
+ value("f32", 33330492),
+ value("f32", -3253108800000000000000),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/float_exprs.wast:325
+assert_return(
+ () => invoke($20, `f64.no_regroup_mul_div`, [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005698811412550059),
+ value("f64", -0.0000000000000000000000000000000000018313439132919336),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009543270551003098),
+ ]),
+ [value("f64", -1093596114413331100000000000000)],
+);
+
+// ./test/core/float_exprs.wast:326
+assert_return(
+ () => invoke($20, `f64.no_regroup_mul_div`, [
+ value("f64", 357289288425507550000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003952760844538651),
+ value("f64", -1450781241254900800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009734611044734945),
+ ],
+);
+
+// ./test/core/float_exprs.wast:327
+assert_return(
+ () => invoke($20, `f64.no_regroup_mul_div`, [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009124278383497107),
+ value("f64", 55561345277147970000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000025090826940306507),
+ ]),
+ [
+ value("f64", 20204881364667663000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_exprs.wast:328
+assert_return(
+ () => invoke($20, `f64.no_regroup_mul_div`, [
+ value("f64", -4492093000352015000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -12087878984017852000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -596613380626062300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/float_exprs.wast:329
+assert_return(
+ () => invoke($20, `f64.no_regroup_mul_div`, [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007470269158630455),
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007568026329781282),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001055389683973521),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/float_exprs.wast:333
+let $21 = instantiate(`(module
+ (func (export "f32.no_reassociate_add") (param $$x f32) (param $$y f32) (param $$z f32) (param $$w f32) (result f32)
+ (f32.add (f32.add (f32.add (local.get $$x) (local.get $$y)) (local.get $$z)) (local.get $$w)))
+ (func (export "f64.no_reassociate_add") (param $$x f64) (param $$y f64) (param $$z f64) (param $$w f64) (result f64)
+ (f64.add (f64.add (f64.add (local.get $$x) (local.get $$y)) (local.get $$z)) (local.get $$w)))
+)`);
+
+// ./test/core/float_exprs.wast:340
+assert_return(
+ () => invoke($21, `f32.no_reassociate_add`, [
+ value("f32", -24154321000000),
+ value("f32", 26125812000),
+ value("f32", -238608080000000),
+ value("f32", -2478953500000),
+ ]),
+ [value("f32", -265215220000000)],
+);
+
+// ./test/core/float_exprs.wast:341
+assert_return(
+ () => invoke($21, `f32.no_reassociate_add`, [
+ value("f32", 0.0036181053),
+ value("f32", -0.00985944),
+ value("f32", 0.063375376),
+ value("f32", -0.011150199),
+ ]),
+ [value("f32", 0.04598384)],
+);
+
+// ./test/core/float_exprs.wast:342
+assert_return(
+ () => invoke($21, `f32.no_reassociate_add`, [
+ value("f32", -34206968000),
+ value("f32", -3770877200000),
+ value("f32", 30868425000000),
+ value("f32", 421132080000),
+ ]),
+ [value("f32", 27484470000000)],
+);
+
+// ./test/core/float_exprs.wast:343
+assert_return(
+ () => invoke($21, `f32.no_reassociate_add`, [
+ value("f32", 153506400000000),
+ value("f32", 925114700000000),
+ value("f32", -36021854000),
+ value("f32", 2450846000000000),
+ ]),
+ [value("f32", 3529431000000000)],
+);
+
+// ./test/core/float_exprs.wast:344
+assert_return(
+ () => invoke($21, `f32.no_reassociate_add`, [
+ value("f32", 470600300000000000000000000000000),
+ value("f32", -396552040000000000000000000000000),
+ value("f32", 48066940000000000000000000000000),
+ value("f32", -35644073000000000000000000000),
+ ]),
+ [value("f32", 122079560000000000000000000000000)],
+);
+
+// ./test/core/float_exprs.wast:345
+assert_return(
+ () => invoke($21, `f64.no_reassociate_add`, [
+ value("f64", -20704652927717020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 1594689704376369700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 451106636559416130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -1374333509186863300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -921652887575998600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_exprs.wast:346
+assert_return(
+ () => invoke($21, `f64.no_reassociate_add`, [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003485747658213531),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000031210957391311754),
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000683008546431621),
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002617177347131095),
+ ]),
+ [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022324206697150536),
+ ],
+);
+
+// ./test/core/float_exprs.wast:347
+assert_return(
+ () => invoke($21, `f64.no_reassociate_add`, [
+ value("f64", -5412584921122726300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 597603656170379500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -355830077793396300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 373627259957625440000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -5768414998318146000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_exprs.wast:348
+assert_return(
+ () => invoke($21, `f64.no_reassociate_add`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006469047714189599),
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064286584974746),
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000021277698072285604),
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000008768287273189493),
+ ]),
+ [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000006640517465960996),
+ ],
+);
+
+// ./test/core/float_exprs.wast:349
+assert_return(
+ () => invoke($21, `f64.no_reassociate_add`, [
+ value("f64", -16422137086414828000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -88032137939790710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 449957059782857850000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -114091267166274390000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 319443655442136560000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_exprs.wast:353
+let $22 = instantiate(`(module
+ (func (export "f32.no_reassociate_mul") (param $$x f32) (param $$y f32) (param $$z f32) (param $$w f32) (result f32)
+ (f32.mul (f32.mul (f32.mul (local.get $$x) (local.get $$y)) (local.get $$z)) (local.get $$w)))
+ (func (export "f64.no_reassociate_mul") (param $$x f64) (param $$y f64) (param $$z f64) (param $$w f64) (result f64)
+ (f64.mul (f64.mul (f64.mul (local.get $$x) (local.get $$y)) (local.get $$z)) (local.get $$w)))
+)`);
+
+// ./test/core/float_exprs.wast:360
+assert_return(
+ () => invoke($22, `f32.no_reassociate_mul`, [
+ value("f32", 0.00000000000000000000000000000000001904515),
+ value("f32", 0.00000000022548861),
+ value("f32", -6964322000000000000000000000000),
+ value("f32", 0.000000000000000026902832),
+ ]),
+ [value("f32", -0.00000000000000000000000000000078764173)],
+);
+
+// ./test/core/float_exprs.wast:361
+assert_return(
+ () => invoke($22, `f32.no_reassociate_mul`, [
+ value("f32", 0.000000000000000018733125),
+ value("f32", -7565904000000000000000000000000),
+ value("f32", -0.000000000000000000000000000000000000030807684),
+ value("f32", -1592759200000000000000),
+ ]),
+ [value("f32", -0.0069547286)],
+);
+
+// ./test/core/float_exprs.wast:362
+assert_return(
+ () => invoke($22, `f32.no_reassociate_mul`, [
+ value("f32", 0.0000000000000050355575),
+ value("f32", -56466884000000000),
+ value("f32", -0.0000000000011740512),
+ value("f32", 84984730000000000000000),
+ ]),
+ [value("f32", 28370654000000)],
+);
+
+// ./test/core/float_exprs.wast:363
+assert_return(
+ () => invoke($22, `f32.no_reassociate_mul`, [
+ value("f32", 0.000000000000000000000000000000046394946),
+ value("f32", 254449360000000000000000),
+ value("f32", -72460980000000000),
+ value("f32", -962511040000000000),
+ ]),
+ [value("f32", 823345100000000000000000000)],
+);
+
+// ./test/core/float_exprs.wast:364
+assert_return(
+ () => invoke($22, `f32.no_reassociate_mul`, [
+ value("f32", -0.0000000000000000000000000000019420536),
+ value("f32", 0.0000000000000023200355),
+ value("f32", -9.772748),
+ value("f32", 864066000000000000),
+ ]),
+ [value("f32", 0.000000000000000000000000035113616)],
+);
+
+// ./test/core/float_exprs.wast:365
+assert_return(
+ () => invoke($22, `f64.no_reassociate_mul`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003109868654414946),
+ value("f64", -20713190487745434000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007162612845524978),
+ value("f64", -88478253295969090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 40822261813278614000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_exprs.wast:366
+assert_return(
+ () => invoke($22, `f64.no_reassociate_mul`, [
+ value("f64", 60442716412956810000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006700545015107397),
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000031469664275798185),
+ value("f64", -6401677295640561500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008159057447560471),
+ ],
+);
+
+// ./test/core/float_exprs.wast:367
+assert_return(
+ () => invoke($22, `f64.no_reassociate_mul`, [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002216807720454268),
+ value("f64", -1802234186536721600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007500283778521931),
+ value("f64", -414412152433956900000000000),
+ ]),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001241793627299937),
+ ],
+);
+
+// ./test/core/float_exprs.wast:368
+assert_return(
+ () => invoke($22, `f64.no_reassociate_mul`, [
+ value("f64", 24318065966298720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006508014075793436),
+ value("f64", 17596421287233897000000000000000000000000000000000000000000000000000),
+ value("f64", -0.0000001416141401305358),
+ ]),
+ [
+ value("f64", -3943741918531223000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_exprs.wast:369
+assert_return(
+ () => invoke($22, `f64.no_reassociate_mul`, [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000003849767156964772),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070008754943224875),
+ value("f64", -2536887825218386500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101114518858449),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004171548126376117),
+ ],
+);
+
+// ./test/core/float_exprs.wast:373
+let $23 = instantiate(`(module
+ (func (export "f32.no_fold_div_0") (param $$x f32) (result f32)
+ (f32.div (local.get $$x) (f32.const 0.0)))
+ (func (export "f64.no_fold_div_0") (param $$x f64) (result f64)
+ (f64.div (local.get $$x) (f64.const 0.0)))
+)`);
+
+// ./test/core/float_exprs.wast:380
+assert_return(() => invoke($23, `f32.no_fold_div_0`, [value("f32", 1)]), [value("f32", Infinity)]);
+
+// ./test/core/float_exprs.wast:381
+assert_return(() => invoke($23, `f32.no_fold_div_0`, [value("f32", -1)]), [value("f32", -Infinity)]);
+
+// ./test/core/float_exprs.wast:382
+assert_return(
+ () => invoke($23, `f32.no_fold_div_0`, [value("f32", Infinity)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/float_exprs.wast:383
+assert_return(
+ () => invoke($23, `f32.no_fold_div_0`, [value("f32", -Infinity)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/float_exprs.wast:384
+assert_return(() => invoke($23, `f32.no_fold_div_0`, [value("f32", 0)]), [`canonical_nan`]);
+
+// ./test/core/float_exprs.wast:385
+assert_return(() => invoke($23, `f32.no_fold_div_0`, [value("f32", -0)]), [`canonical_nan`]);
+
+// ./test/core/float_exprs.wast:386
+assert_return(
+ () => invoke($23, `f32.no_fold_div_0`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/float_exprs.wast:387
+assert_return(
+ () => invoke($23, `f32.no_fold_div_0`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/float_exprs.wast:388
+assert_return(() => invoke($23, `f64.no_fold_div_0`, [value("f64", 1)]), [value("f64", Infinity)]);
+
+// ./test/core/float_exprs.wast:389
+assert_return(() => invoke($23, `f64.no_fold_div_0`, [value("f64", -1)]), [value("f64", -Infinity)]);
+
+// ./test/core/float_exprs.wast:390
+assert_return(
+ () => invoke($23, `f64.no_fold_div_0`, [value("f64", Infinity)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/float_exprs.wast:391
+assert_return(
+ () => invoke($23, `f64.no_fold_div_0`, [value("f64", -Infinity)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/float_exprs.wast:392
+assert_return(() => invoke($23, `f64.no_fold_div_0`, [value("f64", 0)]), [`canonical_nan`]);
+
+// ./test/core/float_exprs.wast:393
+assert_return(() => invoke($23, `f64.no_fold_div_0`, [value("f64", -0)]), [`canonical_nan`]);
+
+// ./test/core/float_exprs.wast:394
+assert_return(
+ () => invoke($23, `f64.no_fold_div_0`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/float_exprs.wast:395
+assert_return(
+ () => invoke($23, `f64.no_fold_div_0`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/float_exprs.wast:399
+let $24 = instantiate(`(module
+ (func (export "f32.no_fold_div_neg0") (param $$x f32) (result f32)
+ (f32.div (local.get $$x) (f32.const -0.0)))
+ (func (export "f64.no_fold_div_neg0") (param $$x f64) (result f64)
+ (f64.div (local.get $$x) (f64.const -0.0)))
+)`);
+
+// ./test/core/float_exprs.wast:406
+assert_return(() => invoke($24, `f32.no_fold_div_neg0`, [value("f32", 1)]), [value("f32", -Infinity)]);
+
+// ./test/core/float_exprs.wast:407
+assert_return(() => invoke($24, `f32.no_fold_div_neg0`, [value("f32", -1)]), [value("f32", Infinity)]);
+
+// ./test/core/float_exprs.wast:408
+assert_return(
+ () => invoke($24, `f32.no_fold_div_neg0`, [value("f32", Infinity)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/float_exprs.wast:409
+assert_return(
+ () => invoke($24, `f32.no_fold_div_neg0`, [value("f32", -Infinity)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/float_exprs.wast:410
+assert_return(() => invoke($24, `f32.no_fold_div_neg0`, [value("f32", 0)]), [`canonical_nan`]);
+
+// ./test/core/float_exprs.wast:411
+assert_return(() => invoke($24, `f32.no_fold_div_neg0`, [value("f32", -0)]), [`canonical_nan`]);
+
+// ./test/core/float_exprs.wast:412
+assert_return(
+ () => invoke($24, `f32.no_fold_div_neg0`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/float_exprs.wast:413
+assert_return(
+ () => invoke($24, `f32.no_fold_div_neg0`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [`canonical_nan`],
+);
+
+// ./test/core/float_exprs.wast:414
+assert_return(() => invoke($24, `f64.no_fold_div_neg0`, [value("f64", 1)]), [value("f64", -Infinity)]);
+
+// ./test/core/float_exprs.wast:415
+assert_return(() => invoke($24, `f64.no_fold_div_neg0`, [value("f64", -1)]), [value("f64", Infinity)]);
+
+// ./test/core/float_exprs.wast:416
+assert_return(
+ () => invoke($24, `f64.no_fold_div_neg0`, [value("f64", Infinity)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/float_exprs.wast:417
+assert_return(
+ () => invoke($24, `f64.no_fold_div_neg0`, [value("f64", -Infinity)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/float_exprs.wast:418
+assert_return(() => invoke($24, `f64.no_fold_div_neg0`, [value("f64", 0)]), [`canonical_nan`]);
+
+// ./test/core/float_exprs.wast:419
+assert_return(() => invoke($24, `f64.no_fold_div_neg0`, [value("f64", -0)]), [`canonical_nan`]);
+
+// ./test/core/float_exprs.wast:420
+assert_return(
+ () => invoke($24, `f64.no_fold_div_neg0`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/float_exprs.wast:421
+assert_return(
+ () => invoke($24, `f64.no_fold_div_neg0`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/float_exprs.wast:425
+let $25 = instantiate(`(module
+ (func (export "f32.no_fold_to_hypot") (param $$x f32) (param $$y f32) (result f32)
+ (f32.sqrt (f32.add (f32.mul (local.get $$x) (local.get $$x))
+ (f32.mul (local.get $$y) (local.get $$y)))))
+ (func (export "f64.no_fold_to_hypot") (param $$x f64) (param $$y f64) (result f64)
+ (f64.sqrt (f64.add (f64.mul (local.get $$x) (local.get $$x))
+ (f64.mul (local.get $$y) (local.get $$y)))))
+)`);
+
+// ./test/core/float_exprs.wast:434
+assert_return(
+ () => invoke($25, `f32.no_fold_to_hypot`, [
+ value("f32", 0.00000000000000000000000072854914),
+ value("f32", 0.0000000000000000000042365796),
+ ]),
+ [value("f32", 0.0000000000000000000042366535)],
+);
+
+// ./test/core/float_exprs.wast:435
+assert_return(
+ () => invoke($25, `f32.no_fold_to_hypot`, [
+ value("f32", -0.0000000000000000000007470285),
+ value("f32", -0.000000000000000000000000000000007453745),
+ ]),
+ [value("f32", 0.0000000000000000000007468044)],
+);
+
+// ./test/core/float_exprs.wast:436
+assert_return(
+ () => invoke($25, `f32.no_fold_to_hypot`, [
+ value("f32", -0.0000000000000000000000000000000000770895),
+ value("f32", -0.0000000000000000000032627214),
+ ]),
+ [value("f32", 0.0000000000000000000032627695)],
+);
+
+// ./test/core/float_exprs.wast:437
+assert_return(
+ () => invoke($25, `f32.no_fold_to_hypot`, [
+ value("f32", -35.42818),
+ value("f32", 174209.48),
+ ]),
+ [value("f32", 174209.5)],
+);
+
+// ./test/core/float_exprs.wast:438
+assert_return(
+ () => invoke($25, `f32.no_fold_to_hypot`, [
+ value("f32", 0.000000000000000000000020628143),
+ value("f32", -0.00000000000000000000046344753),
+ ]),
+ [value("f32", 0.000000000000000000000463032)],
+);
+
+// ./test/core/float_exprs.wast:439
+assert_return(
+ () => invoke($25, `f64.no_fold_to_hypot`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003863640258986321),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000019133014752624014),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000019120893753235554),
+ ],
+);
+
+// ./test/core/float_exprs.wast:440
+assert_return(
+ () => invoke($25, `f64.no_fold_to_hypot`, [
+ value("f64", 138561238950329770000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -2828038515930043000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 2828038519324483400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_exprs.wast:441
+assert_return(
+ () => invoke($25, `f64.no_fold_to_hypot`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006502729096641792),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004544399933151275),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006668276248455232),
+ ],
+);
+
+// ./test/core/float_exprs.wast:442
+assert_return(
+ () => invoke($25, `f64.no_fold_to_hypot`, [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022340232024202604),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003435929714143315),
+ ]),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022340232023799234),
+ ],
+);
+
+// ./test/core/float_exprs.wast:443
+assert_return(
+ () => invoke($25, `f64.no_fold_to_hypot`, [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002797963998630554),
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001906867996862016),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000019068679968620105),
+ ],
+);
+
+// ./test/core/float_exprs.wast:447
+let $26 = instantiate(`(module
+ (func (export "f32.no_approximate_reciprocal") (param $$x f32) (result f32)
+ (f32.div (f32.const 1.0) (local.get $$x)))
+)`);
+
+// ./test/core/float_exprs.wast:452
+assert_return(
+ () => invoke($26, `f32.no_approximate_reciprocal`, [value("f32", -0.0011329757)]),
+ [value("f32", -882.6315)],
+);
+
+// ./test/core/float_exprs.wast:453
+assert_return(
+ () => invoke($26, `f32.no_approximate_reciprocal`, [
+ value("f32", 323753010000000000000000000000000000000),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000003088774)],
+);
+
+// ./test/core/float_exprs.wast:454
+assert_return(
+ () => invoke($26, `f32.no_approximate_reciprocal`, [
+ value("f32", -0.0000000000000000000000000001272599),
+ ]),
+ [value("f32", -7857934600000000000000000000)],
+);
+
+// ./test/core/float_exprs.wast:455
+assert_return(
+ () => invoke($26, `f32.no_approximate_reciprocal`, [
+ value("f32", 103020680000000000000000),
+ ]),
+ [value("f32", 0.000000000000000000000009706789)],
+);
+
+// ./test/core/float_exprs.wast:456
+assert_return(
+ () => invoke($26, `f32.no_approximate_reciprocal`, [
+ value("f32", -0.00000000000000000000000028443763),
+ ]),
+ [value("f32", -3515709300000000000000000)],
+);
+
+// ./test/core/float_exprs.wast:460
+let $27 = instantiate(`(module
+ (func (export "f32.no_approximate_reciprocal_sqrt") (param $$x f32) (result f32)
+ (f32.div (f32.const 1.0) (f32.sqrt (local.get $$x))))
+ (func (export "f64.no_fuse_reciprocal_sqrt") (param $$x f64) (result f64)
+ (f64.div (f64.const 1.0) (f64.sqrt (local.get $$x))))
+)`);
+
+// ./test/core/float_exprs.wast:467
+assert_return(
+ () => invoke($27, `f32.no_approximate_reciprocal_sqrt`, [
+ value("f32", 0.00000000000016117865),
+ ]),
+ [value("f32", 2490842.5)],
+);
+
+// ./test/core/float_exprs.wast:468
+assert_return(
+ () => invoke($27, `f32.no_approximate_reciprocal_sqrt`, [value("f32", 0.0074491366)]),
+ [value("f32", 11.58636)],
+);
+
+// ./test/core/float_exprs.wast:469
+assert_return(
+ () => invoke($27, `f32.no_approximate_reciprocal_sqrt`, [
+ value("f32", 0.00000000000000000002339817),
+ ]),
+ [value("f32", 6537460000)],
+);
+
+// ./test/core/float_exprs.wast:470
+assert_return(
+ () => invoke($27, `f32.no_approximate_reciprocal_sqrt`, [
+ value("f32", 0.00000000000011123504),
+ ]),
+ [value("f32", 2998328.3)],
+);
+
+// ./test/core/float_exprs.wast:471
+assert_return(
+ () => invoke($27, `f32.no_approximate_reciprocal_sqrt`, [
+ value("f32", 0.000000000000000000000000017653063),
+ ]),
+ [value("f32", 7526446300000)],
+);
+
+// ./test/core/float_exprs.wast:473
+assert_return(
+ () => invoke($27, `f64.no_fuse_reciprocal_sqrt`, [
+ value("f64", 4472459252766337000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014952947335898096),
+ ],
+);
+
+// ./test/core/float_exprs.wast:474
+assert_return(
+ () => invoke($27, `f64.no_fuse_reciprocal_sqrt`, [
+ value("f64", 4752392260007119000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000014505872638954843),
+ ],
+);
+
+// ./test/core/float_exprs.wast:475
+assert_return(
+ () => invoke($27, `f64.no_fuse_reciprocal_sqrt`, [
+ value("f64", 29014415885392436000000000000000),
+ ]),
+ [value("f64", 0.00000000000000018564920084793608)],
+);
+
+// ./test/core/float_exprs.wast:476
+assert_return(
+ () => invoke($27, `f64.no_fuse_reciprocal_sqrt`, [
+ value("f64", 1396612507697477800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000026758516751072132),
+ ],
+);
+
+// ./test/core/float_exprs.wast:477
+assert_return(
+ () => invoke($27, `f64.no_fuse_reciprocal_sqrt`, [
+ value("f64", 151596415440704430000000000000000000000000000),
+ ]),
+ [value("f64", 0.00000000000000000000008121860649480894)],
+);
+
+// ./test/core/float_exprs.wast:481
+let $28 = instantiate(`(module
+ (func (export "f32.no_approximate_sqrt_reciprocal") (param $$x f32) (result f32)
+ (f32.sqrt (f32.div (f32.const 1.0) (local.get $$x))))
+)`);
+
+// ./test/core/float_exprs.wast:486
+assert_return(
+ () => invoke($28, `f32.no_approximate_sqrt_reciprocal`, [
+ value("f32", 1895057100000000000),
+ ]),
+ [value("f32", 0.00000000072642176)],
+);
+
+// ./test/core/float_exprs.wast:487
+assert_return(
+ () => invoke($28, `f32.no_approximate_sqrt_reciprocal`, [value("f32", 0.002565894)]),
+ [value("f32", 19.741522)],
+);
+
+// ./test/core/float_exprs.wast:488
+assert_return(
+ () => invoke($28, `f32.no_approximate_sqrt_reciprocal`, [
+ value("f32", 632654500000000000000),
+ ]),
+ [value("f32", 0.000000000039757284)],
+);
+
+// ./test/core/float_exprs.wast:489
+assert_return(
+ () => invoke($28, `f32.no_approximate_sqrt_reciprocal`, [value("f32", 14153.539)]),
+ [value("f32", 0.008405576)],
+);
+
+// ./test/core/float_exprs.wast:490
+assert_return(
+ () => invoke($28, `f32.no_approximate_sqrt_reciprocal`, [
+ value("f32", 26173730000000000000000000000000),
+ ]),
+ [value("f32", 0.00000000000000019546418)],
+);
+
+// ./test/core/float_exprs.wast:494
+let $29 = instantiate(`(module
+ (func (export "i32.no_fold_f32_s") (param i32) (result i32)
+ (i32.trunc_f32_s (f32.convert_i32_s (local.get 0))))
+ (func (export "i32.no_fold_f32_u") (param i32) (result i32)
+ (i32.trunc_f32_u (f32.convert_i32_u (local.get 0))))
+ (func (export "i64.no_fold_f64_s") (param i64) (result i64)
+ (i64.trunc_f64_s (f64.convert_i64_s (local.get 0))))
+ (func (export "i64.no_fold_f64_u") (param i64) (result i64)
+ (i64.trunc_f64_u (f64.convert_i64_u (local.get 0))))
+)`);
+
+// ./test/core/float_exprs.wast:505
+assert_return(() => invoke($29, `i32.no_fold_f32_s`, [16777216]), [value("i32", 16777216)]);
+
+// ./test/core/float_exprs.wast:506
+assert_return(() => invoke($29, `i32.no_fold_f32_s`, [16777217]), [value("i32", 16777216)]);
+
+// ./test/core/float_exprs.wast:507
+assert_return(() => invoke($29, `i32.no_fold_f32_s`, [-268435440]), [value("i32", -268435440)]);
+
+// ./test/core/float_exprs.wast:509
+assert_return(() => invoke($29, `i32.no_fold_f32_u`, [16777216]), [value("i32", 16777216)]);
+
+// ./test/core/float_exprs.wast:510
+assert_return(() => invoke($29, `i32.no_fold_f32_u`, [16777217]), [value("i32", 16777216)]);
+
+// ./test/core/float_exprs.wast:511
+assert_return(() => invoke($29, `i32.no_fold_f32_u`, [-268435440]), [value("i32", -268435456)]);
+
+// ./test/core/float_exprs.wast:513
+assert_return(
+ () => invoke($29, `i64.no_fold_f64_s`, [9007199254740992n]),
+ [value("i64", 9007199254740992n)],
+);
+
+// ./test/core/float_exprs.wast:514
+assert_return(
+ () => invoke($29, `i64.no_fold_f64_s`, [9007199254740993n]),
+ [value("i64", 9007199254740992n)],
+);
+
+// ./test/core/float_exprs.wast:515
+assert_return(
+ () => invoke($29, `i64.no_fold_f64_s`, [-1152921504606845952n]),
+ [value("i64", -1152921504606845952n)],
+);
+
+// ./test/core/float_exprs.wast:517
+assert_return(
+ () => invoke($29, `i64.no_fold_f64_u`, [9007199254740992n]),
+ [value("i64", 9007199254740992n)],
+);
+
+// ./test/core/float_exprs.wast:518
+assert_return(
+ () => invoke($29, `i64.no_fold_f64_u`, [9007199254740993n]),
+ [value("i64", 9007199254740992n)],
+);
+
+// ./test/core/float_exprs.wast:519
+assert_return(
+ () => invoke($29, `i64.no_fold_f64_u`, [-1152921504606845952n]),
+ [value("i64", -1152921504606846976n)],
+);
+
+// ./test/core/float_exprs.wast:523
+let $30 = instantiate(`(module
+ (func (export "f32.no_fold_add_sub") (param $$x f32) (param $$y f32) (result f32)
+ (f32.sub (f32.add (local.get $$x) (local.get $$y)) (local.get $$y)))
+ (func (export "f64.no_fold_add_sub") (param $$x f64) (param $$y f64) (result f64)
+ (f64.sub (f64.add (local.get $$x) (local.get $$y)) (local.get $$y)))
+)`);
+
+// ./test/core/float_exprs.wast:530
+assert_return(
+ () => invoke($30, `f32.no_fold_add_sub`, [
+ value("f32", 0.000000000000012138282),
+ value("f32", -0.000000020946384),
+ ]),
+ [value("f32", 0.000000000000012434498)],
+);
+
+// ./test/core/float_exprs.wast:531
+assert_return(
+ () => invoke($30, `f32.no_fold_add_sub`, [
+ value("f32", -0.00000019768197),
+ value("f32", 0.0000037154566),
+ ]),
+ [value("f32", -0.00000019768208)],
+);
+
+// ./test/core/float_exprs.wast:532
+assert_return(
+ () => invoke($30, `f32.no_fold_add_sub`, [
+ value("f32", -9596213000000000000000000),
+ value("f32", -3538041400000000000000000000000),
+ ]),
+ [value("f32", -9671407000000000000000000)],
+);
+
+// ./test/core/float_exprs.wast:533
+assert_return(
+ () => invoke($30, `f32.no_fold_add_sub`, [
+ value("f32", 0.000000000000000000000005054346),
+ value("f32", 0.000000000000000024572656),
+ ]),
+ [value("f32", 0.0000000000000000000000049630837)],
+);
+
+// ./test/core/float_exprs.wast:534
+assert_return(
+ () => invoke($30, `f32.no_fold_add_sub`, [
+ value("f32", -0.0000000000000000000000000000000033693147),
+ value("f32", -0.000000000000000000000000071014917),
+ ]),
+ [value("f32", -0.000000000000000000000000000000006162976)],
+);
+
+// ./test/core/float_exprs.wast:536
+assert_return(
+ () => invoke($30, `f64.no_fold_add_sub`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008445702651973109),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001110684389828854),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008445702651873978),
+ ],
+);
+
+// ./test/core/float_exprs.wast:537
+assert_return(
+ () => invoke($30, `f64.no_fold_add_sub`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008198798715927055),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004624035606110903),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008198798715897085),
+ ],
+);
+
+// ./test/core/float_exprs.wast:538
+assert_return(
+ () => invoke($30, `f64.no_fold_add_sub`, [
+ value("f64", -0.0000000013604511322066714),
+ value("f64", -0.1751431740707098),
+ ]),
+ [value("f64", -0.0000000013604511406306585)],
+);
+
+// ./test/core/float_exprs.wast:539
+assert_return(
+ () => invoke($30, `f64.no_fold_add_sub`, [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003944335437865966),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001663809741322667),
+ ]),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000039443355500325104),
+ ],
+);
+
+// ./test/core/float_exprs.wast:540
+assert_return(
+ () => invoke($30, `f64.no_fold_add_sub`, [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005078309818866),
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010790431644461104),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000507831047937567),
+ ],
+);
+
+// ./test/core/float_exprs.wast:544
+let $31 = instantiate(`(module
+ (func (export "f32.no_fold_sub_add") (param $$x f32) (param $$y f32) (result f32)
+ (f32.add (f32.sub (local.get $$x) (local.get $$y)) (local.get $$y)))
+ (func (export "f64.no_fold_sub_add") (param $$x f64) (param $$y f64) (result f64)
+ (f64.add (f64.sub (local.get $$x) (local.get $$y)) (local.get $$y)))
+)`);
+
+// ./test/core/float_exprs.wast:551
+assert_return(
+ () => invoke($31, `f32.no_fold_sub_add`, [
+ value("f32", -676.47437),
+ value("f32", 403.0368),
+ ]),
+ [value("f32", -676.4744)],
+);
+
+// ./test/core/float_exprs.wast:552
+assert_return(
+ () => invoke($31, `f32.no_fold_sub_add`, [
+ value("f32", -0.0000000000000000000000000000000006305943),
+ value("f32", 0.0000000000000000000000000000367186),
+ ]),
+ [value("f32", -0.00000000000000000000000000000000063194576)],
+);
+
+// ./test/core/float_exprs.wast:553
+assert_return(
+ () => invoke($31, `f32.no_fold_sub_add`, [
+ value("f32", 83184800),
+ value("f32", 46216217000),
+ ]),
+ [value("f32", 83185660)],
+);
+
+// ./test/core/float_exprs.wast:554
+assert_return(
+ () => invoke($31, `f32.no_fold_sub_add`, [
+ value("f32", 0.000000000002211957),
+ value("f32", -0.00000001043793),
+ ]),
+ [value("f32", 0.0000000000022115643)],
+);
+
+// ./test/core/float_exprs.wast:555
+assert_return(
+ () => invoke($31, `f32.no_fold_sub_add`, [
+ value("f32", 0.14944395),
+ value("f32", -27393.65),
+ ]),
+ [value("f32", 0.15039063)],
+);
+
+// ./test/core/float_exprs.wast:557
+assert_return(
+ () => invoke($31, `f64.no_fold_sub_add`, [
+ value("f64", 90365982617946240000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -958186427535552000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 90365982617946280000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_exprs.wast:558
+assert_return(
+ () => invoke($31, `f64.no_fold_sub_add`, [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044230403564658815),
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000026713491049366576),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004423040356647721),
+ ],
+);
+
+// ./test/core/float_exprs.wast:559
+assert_return(
+ () => invoke($31, `f64.no_fold_sub_add`, [
+ value("f64", 4095348452776429000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -4050190019576568700000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 4070815637249397500000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_exprs.wast:560
+assert_return(
+ () => invoke($31, `f64.no_fold_sub_add`, [
+ value("f64", 0.000000024008889207554433),
+ value("f64", -0.00017253797929188484),
+ ]),
+ [value("f64", 0.00000002400888920756506)],
+);
+
+// ./test/core/float_exprs.wast:561
+assert_return(
+ () => invoke($31, `f64.no_fold_sub_add`, [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000043367542918305866),
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000039597706708227122),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004336754291830597),
+ ],
+);
+
+// ./test/core/float_exprs.wast:565
+let $32 = instantiate(`(module
+ (func (export "f32.no_fold_mul_div") (param $$x f32) (param $$y f32) (result f32)
+ (f32.div (f32.mul (local.get $$x) (local.get $$y)) (local.get $$y)))
+ (func (export "f64.no_fold_mul_div") (param $$x f64) (param $$y f64) (result f64)
+ (f64.div (f64.mul (local.get $$x) (local.get $$y)) (local.get $$y)))
+)`);
+
+// ./test/core/float_exprs.wast:572
+assert_return(
+ () => invoke($32, `f32.no_fold_mul_div`, [
+ value("f32", -32476715000000000),
+ value("f32", 0.000000000000010121375),
+ ]),
+ [value("f32", -32476713000000000)],
+);
+
+// ./test/core/float_exprs.wast:573
+assert_return(
+ () => invoke($32, `f32.no_fold_mul_div`, [
+ value("f32", -0.000000015561163),
+ value("f32", 0.000000000000000000000000000000015799828),
+ ]),
+ [value("f32", -0.000000015561145)],
+);
+
+// ./test/core/float_exprs.wast:574
+assert_return(
+ () => invoke($32, `f32.no_fold_mul_div`, [
+ value("f32", -0.00000000000000676311),
+ value("f32", -441324000000000),
+ ]),
+ [value("f32", -0.0000000000000067631096)],
+);
+
+// ./test/core/float_exprs.wast:575
+assert_return(
+ () => invoke($32, `f32.no_fold_mul_div`, [
+ value("f32", 7505613700000000),
+ value("f32", -2160384100000000000),
+ ]),
+ [value("f32", 7505613000000000)],
+);
+
+// ./test/core/float_exprs.wast:576
+assert_return(
+ () => invoke($32, `f32.no_fold_mul_div`, [
+ value("f32", -0.0000000000000000000000000002362576),
+ value("f32", -0.000000000010808759),
+ ]),
+ [value("f32", -0.00000000000000000000000000023625765)],
+);
+
+// ./test/core/float_exprs.wast:578
+assert_return(
+ () => invoke($32, `f64.no_fold_mul_div`, [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013532103713575586),
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000003347836467564916),
+ ]),
+ [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013532103713672434),
+ ],
+);
+
+// ./test/core/float_exprs.wast:579
+assert_return(
+ () => invoke($32, `f64.no_fold_mul_div`, [
+ value("f64", 77662174313180845000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 195959155606939530000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 77662174313180850000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_exprs.wast:580
+assert_return(
+ () => invoke($32, `f64.no_fold_mul_div`, [
+ value("f64", -718011781190294800000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009320036042623636),
+ ]),
+ [
+ value("f64", -718011781190294750000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_exprs.wast:581
+assert_return(
+ () => invoke($32, `f64.no_fold_mul_div`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000017260010724693063),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003568792428129926),
+ ]),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000001661286799244216),
+ ],
+);
+
+// ./test/core/float_exprs.wast:582
+assert_return(
+ () => invoke($32, `f64.no_fold_mul_div`, [
+ value("f64", -9145223045828962000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005562094034342845),
+ ]),
+ [
+ value("f64", -9145223045828963000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_exprs.wast:586
+let $33 = instantiate(`(module
+ (func (export "f32.no_fold_div_mul") (param $$x f32) (param $$y f32) (result f32)
+ (f32.mul (f32.div (local.get $$x) (local.get $$y)) (local.get $$y)))
+ (func (export "f64.no_fold_div_mul") (param $$x f64) (param $$y f64) (result f64)
+ (f64.mul (f64.div (local.get $$x) (local.get $$y)) (local.get $$y)))
+)`);
+
+// ./test/core/float_exprs.wast:593
+assert_return(
+ () => invoke($33, `f32.no_fold_div_mul`, [
+ value("f32", -511517980000),
+ value("f32", 986062200),
+ ]),
+ [value("f32", -511517950000)],
+);
+
+// ./test/core/float_exprs.wast:594
+assert_return(
+ () => invoke($33, `f32.no_fold_div_mul`, [
+ value("f32", -0.00000000000000024944853),
+ value("f32", -0.0000041539834),
+ ]),
+ [value("f32", -0.00000000000000024944856)],
+);
+
+// ./test/core/float_exprs.wast:595
+assert_return(
+ () => invoke($33, `f32.no_fold_div_mul`, [
+ value("f32", 0.000000000000000000000000000000000000020827855),
+ value("f32", -235.19847),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000020828013)],
+);
+
+// ./test/core/float_exprs.wast:596
+assert_return(
+ () => invoke($33, `f32.no_fold_div_mul`, [
+ value("f32", -0.000000000000000000000062499487),
+ value("f32", -696312600000000000),
+ ]),
+ [value("f32", -0.00000000000000000000006249919)],
+);
+
+// ./test/core/float_exprs.wast:597
+assert_return(
+ () => invoke($33, `f32.no_fold_div_mul`, [
+ value("f32", 0.0000000000000000000000000000058353514),
+ value("f32", 212781120),
+ ]),
+ [value("f32", 0.000000000000000000000000000005835352)],
+);
+
+// ./test/core/float_exprs.wast:599
+assert_return(
+ () => invoke($33, `f64.no_fold_div_mul`, [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035984644259935362),
+ value("f64", -28812263298033320000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035985034356565485),
+ ],
+);
+
+// ./test/core/float_exprs.wast:600
+assert_return(
+ () => invoke($33, `f64.no_fold_div_mul`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000017486367047479447),
+ value("f64", 0.00000000000000016508738454798636),
+ ]),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001748636704747945),
+ ],
+);
+
+// ./test/core/float_exprs.wast:601
+assert_return(
+ () => invoke($33, `f64.no_fold_div_mul`, [
+ value("f64", -0.00000000000000000000000000000000000000000003140341989542684),
+ value("f64", 942829809081919600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000031403419895426836),
+ ],
+);
+
+// ./test/core/float_exprs.wast:602
+assert_return(
+ () => invoke($33, `f64.no_fold_div_mul`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000003919745428533519),
+ value("f64", -21314747179654705000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000039197454285335185),
+ ],
+);
+
+// ./test/core/float_exprs.wast:603
+assert_return(
+ () => invoke($33, `f64.no_fold_div_mul`, [
+ value("f64", -5734160003788982000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 6350805843612229000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -5734160003788981000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_exprs.wast:607
+let $34 = instantiate(`(module
+ (func (export "f32.no_fold_div2_mul2") (param $$x f32) (result f32)
+ (f32.mul (f32.div (local.get $$x) (f32.const 2.0)) (f32.const 2.0)))
+ (func (export "f64.no_fold_div2_mul2") (param $$x f64) (result f64)
+ (f64.mul (f64.div (local.get $$x) (f64.const 2.0)) (f64.const 2.0)))
+)`);
+
+// ./test/core/float_exprs.wast:614
+assert_return(
+ () => invoke($34, `f32.no_fold_div2_mul2`, [
+ value("f32", 0.000000000000000000000000000000000000023509886),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000023509887)],
+);
+
+// ./test/core/float_exprs.wast:615
+assert_return(
+ () => invoke($34, `f64.no_fold_div2_mul2`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044501477170144023),
+ ]),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004450147717014403),
+ ],
+);
+
+// ./test/core/float_exprs.wast:619
+let $35 = instantiate(`(module
+ (func (export "no_fold_demote_promote") (param $$x f64) (result f64)
+ (f64.promote_f32 (f32.demote_f64 (local.get $$x))))
+)`);
+
+// ./test/core/float_exprs.wast:624
+assert_return(
+ () => invoke($35, `no_fold_demote_promote`, [
+ value("f64", -0.00000000000000000000000000000000000000017176297220569481),
+ ]),
+ [value("f64", -0.00000000000000000000000000000000000000017176275796615013)],
+);
+
+// ./test/core/float_exprs.wast:625
+assert_return(
+ () => invoke($35, `no_fold_demote_promote`, [
+ value("f64", -0.000000000000000000000000028464775573304055),
+ ]),
+ [value("f64", -0.00000000000000000000000002846477619188087)],
+);
+
+// ./test/core/float_exprs.wast:626
+assert_return(
+ () => invoke($35, `no_fold_demote_promote`, [
+ value("f64", 208970699699909230000000000000000),
+ ]),
+ [value("f64", 208970700445326000000000000000000)],
+);
+
+// ./test/core/float_exprs.wast:627
+assert_return(
+ () => invoke($35, `no_fold_demote_promote`, [
+ value("f64", -0.0000000000000000000000000047074160416121775),
+ ]),
+ [value("f64", -0.0000000000000000000000000047074161331556024)],
+);
+
+// ./test/core/float_exprs.wast:628
+assert_return(
+ () => invoke($35, `no_fold_demote_promote`, [
+ value("f64", 23359451497950880000000000000000),
+ ]),
+ [value("f64", 23359452224542198000000000000000)],
+);
+
+// ./test/core/float_exprs.wast:633
+let $36 = instantiate(`(module
+ (func (export "no_fold_promote_demote") (param $$x f32) (result f32)
+ (f32.demote_f64 (f64.promote_f32 (local.get $$x))))
+)`);
+
+// ./test/core/float_exprs.wast:638
+assert_return(
+ () => invoke($36, `no_fold_promote_demote`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [`arithmetic_nan`],
+);
+
+// ./test/core/float_exprs.wast:639
+assert_return(() => invoke($36, `no_fold_promote_demote`, [value("f32", 0)]), [value("f32", 0)]);
+
+// ./test/core/float_exprs.wast:640
+assert_return(() => invoke($36, `no_fold_promote_demote`, [value("f32", -0)]), [value("f32", -0)]);
+
+// ./test/core/float_exprs.wast:641
+assert_return(
+ () => invoke($36, `no_fold_promote_demote`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/float_exprs.wast:642
+assert_return(
+ () => invoke($36, `no_fold_promote_demote`, [
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/float_exprs.wast:643
+assert_return(
+ () => invoke($36, `no_fold_promote_demote`, [
+ value("f32", 0.000000000000000000000000000000000000011754942),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754942)],
+);
+
+// ./test/core/float_exprs.wast:644
+assert_return(
+ () => invoke($36, `no_fold_promote_demote`, [
+ value("f32", -0.000000000000000000000000000000000000011754942),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754942)],
+);
+
+// ./test/core/float_exprs.wast:645
+assert_return(
+ () => invoke($36, `no_fold_promote_demote`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/float_exprs.wast:646
+assert_return(
+ () => invoke($36, `no_fold_promote_demote`, [
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/float_exprs.wast:647
+assert_return(
+ () => invoke($36, `no_fold_promote_demote`, [
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/float_exprs.wast:648
+assert_return(
+ () => invoke($36, `no_fold_promote_demote`, [
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/float_exprs.wast:649
+assert_return(
+ () => invoke($36, `no_fold_promote_demote`, [value("f32", Infinity)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/float_exprs.wast:650
+assert_return(
+ () => invoke($36, `no_fold_promote_demote`, [value("f32", -Infinity)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/float_exprs.wast:654
+let $37 = instantiate(`(module
+ (func (export "no_demote_mixed_add") (param $$x f64) (param $$y f32) (result f32)
+ (f32.demote_f64 (f64.add (local.get $$x) (f64.promote_f32 (local.get $$y)))))
+ (func (export "no_demote_mixed_add_commuted") (param $$y f32) (param $$x f64) (result f32)
+ (f32.demote_f64 (f64.add (f64.promote_f32 (local.get $$y)) (local.get $$x))))
+)`);
+
+// ./test/core/float_exprs.wast:661
+assert_return(
+ () => invoke($37, `no_demote_mixed_add`, [
+ value("f64", 0.00000000000000000000000000004941266527909197),
+ value("f32", 0.0000000000000000000000000000000000018767183),
+ ]),
+ [value("f32", 0.000000000000000000000000000049412667)],
+);
+
+// ./test/core/float_exprs.wast:662
+assert_return(
+ () => invoke($37, `no_demote_mixed_add`, [
+ value("f64", 140851523637.69385),
+ value("f32", 401096440000),
+ ]),
+ [value("f32", 541947950000)],
+);
+
+// ./test/core/float_exprs.wast:663
+assert_return(
+ () => invoke($37, `no_demote_mixed_add`, [
+ value("f64", 0.0000000000000000000000000000000000020831160914192852),
+ value("f32", -0.0000000000000000000000000000000000006050095),
+ ]),
+ [value("f32", 0.0000000000000000000000000000000000014781066)],
+);
+
+// ./test/core/float_exprs.wast:664
+assert_return(
+ () => invoke($37, `no_demote_mixed_add`, [
+ value("f64", -0.0000010032827553674626),
+ value("f32", 0.0000000019312918),
+ ]),
+ [value("f32", -0.0000010013515)],
+);
+
+// ./test/core/float_exprs.wast:665
+assert_return(
+ () => invoke($37, `no_demote_mixed_add`, [
+ value("f64", -0.0000013840207035752711),
+ value("f32", -0.0000000000005202814),
+ ]),
+ [value("f32", -0.0000013840212)],
+);
+
+// ./test/core/float_exprs.wast:667
+assert_return(
+ () => invoke($37, `no_demote_mixed_add_commuted`, [
+ value("f32", 0.0000000000000000000000000000000000018767183),
+ value("f64", 0.00000000000000000000000000004941266527909197),
+ ]),
+ [value("f32", 0.000000000000000000000000000049412667)],
+);
+
+// ./test/core/float_exprs.wast:668
+assert_return(
+ () => invoke($37, `no_demote_mixed_add_commuted`, [
+ value("f32", 401096440000),
+ value("f64", 140851523637.69385),
+ ]),
+ [value("f32", 541947950000)],
+);
+
+// ./test/core/float_exprs.wast:669
+assert_return(
+ () => invoke($37, `no_demote_mixed_add_commuted`, [
+ value("f32", -0.0000000000000000000000000000000000006050095),
+ value("f64", 0.0000000000000000000000000000000000020831160914192852),
+ ]),
+ [value("f32", 0.0000000000000000000000000000000000014781066)],
+);
+
+// ./test/core/float_exprs.wast:670
+assert_return(
+ () => invoke($37, `no_demote_mixed_add_commuted`, [
+ value("f32", 0.0000000019312918),
+ value("f64", -0.0000010032827553674626),
+ ]),
+ [value("f32", -0.0000010013515)],
+);
+
+// ./test/core/float_exprs.wast:671
+assert_return(
+ () => invoke($37, `no_demote_mixed_add_commuted`, [
+ value("f32", -0.0000000000005202814),
+ value("f64", -0.0000013840207035752711),
+ ]),
+ [value("f32", -0.0000013840212)],
+);
+
+// ./test/core/float_exprs.wast:675
+let $38 = instantiate(`(module
+ (func (export "no_demote_mixed_sub") (param $$x f64) (param $$y f32) (result f32)
+ (f32.demote_f64 (f64.sub (local.get $$x) (f64.promote_f32 (local.get $$y)))))
+)`);
+
+// ./test/core/float_exprs.wast:680
+assert_return(
+ () => invoke($38, `no_demote_mixed_sub`, [
+ value("f64", 7869935327202668000000000),
+ value("f32", 4086347000000000000),
+ ]),
+ [value("f32", 7869931000000000000000000)],
+);
+
+// ./test/core/float_exprs.wast:681
+assert_return(
+ () => invoke($38, `no_demote_mixed_sub`, [
+ value("f64", -1535841968.9056544),
+ value("f32", 239897.28),
+ ]),
+ [value("f32", -1536081900)],
+);
+
+// ./test/core/float_exprs.wast:682
+assert_return(
+ () => invoke($38, `no_demote_mixed_sub`, [
+ value("f64", -102.19459272722602),
+ value("f32", 0.00039426138),
+ ]),
+ [value("f32", -102.194984)],
+);
+
+// ./test/core/float_exprs.wast:683
+assert_return(
+ () => invoke($38, `no_demote_mixed_sub`, [
+ value("f64", 0.00000000000000005645470375565188),
+ value("f32", 0.0000000000000000000005851077),
+ ]),
+ [value("f32", 0.00000000000000005645412)],
+);
+
+// ./test/core/float_exprs.wast:684
+assert_return(
+ () => invoke($38, `no_demote_mixed_sub`, [
+ value("f64", 27090.388466832894),
+ value("f32", 63120.89),
+ ]),
+ [value("f32", -36030.504)],
+);
+
+// ./test/core/float_exprs.wast:688
+let $39 = instantiate(`(module
+ (func (export "f32.i32.no_fold_trunc_s_convert_s") (param $$x f32) (result f32)
+ (f32.convert_i32_s (i32.trunc_f32_s (local.get $$x))))
+ (func (export "f32.i32.no_fold_trunc_u_convert_s") (param $$x f32) (result f32)
+ (f32.convert_i32_s (i32.trunc_f32_u (local.get $$x))))
+ (func (export "f32.i32.no_fold_trunc_s_convert_u") (param $$x f32) (result f32)
+ (f32.convert_i32_u (i32.trunc_f32_s (local.get $$x))))
+ (func (export "f32.i32.no_fold_trunc_u_convert_u") (param $$x f32) (result f32)
+ (f32.convert_i32_u (i32.trunc_f32_u (local.get $$x))))
+ (func (export "f64.i32.no_fold_trunc_s_convert_s") (param $$x f64) (result f64)
+ (f64.convert_i32_s (i32.trunc_f64_s (local.get $$x))))
+ (func (export "f64.i32.no_fold_trunc_u_convert_s") (param $$x f64) (result f64)
+ (f64.convert_i32_s (i32.trunc_f64_u (local.get $$x))))
+ (func (export "f64.i32.no_fold_trunc_s_convert_u") (param $$x f64) (result f64)
+ (f64.convert_i32_u (i32.trunc_f64_s (local.get $$x))))
+ (func (export "f64.i32.no_fold_trunc_u_convert_u") (param $$x f64) (result f64)
+ (f64.convert_i32_u (i32.trunc_f64_u (local.get $$x))))
+ (func (export "f32.i64.no_fold_trunc_s_convert_s") (param $$x f32) (result f32)
+ (f32.convert_i64_s (i64.trunc_f32_s (local.get $$x))))
+ (func (export "f32.i64.no_fold_trunc_u_convert_s") (param $$x f32) (result f32)
+ (f32.convert_i64_s (i64.trunc_f32_u (local.get $$x))))
+ (func (export "f32.i64.no_fold_trunc_s_convert_u") (param $$x f32) (result f32)
+ (f32.convert_i64_u (i64.trunc_f32_s (local.get $$x))))
+ (func (export "f32.i64.no_fold_trunc_u_convert_u") (param $$x f32) (result f32)
+ (f32.convert_i64_u (i64.trunc_f32_u (local.get $$x))))
+ (func (export "f64.i64.no_fold_trunc_s_convert_s") (param $$x f64) (result f64)
+ (f64.convert_i64_s (i64.trunc_f64_s (local.get $$x))))
+ (func (export "f64.i64.no_fold_trunc_u_convert_s") (param $$x f64) (result f64)
+ (f64.convert_i64_s (i64.trunc_f64_u (local.get $$x))))
+ (func (export "f64.i64.no_fold_trunc_s_convert_u") (param $$x f64) (result f64)
+ (f64.convert_i64_u (i64.trunc_f64_s (local.get $$x))))
+ (func (export "f64.i64.no_fold_trunc_u_convert_u") (param $$x f64) (result f64)
+ (f64.convert_i64_u (i64.trunc_f64_u (local.get $$x))))
+)`);
+
+// ./test/core/float_exprs.wast:723
+assert_return(
+ () => invoke($39, `f32.i32.no_fold_trunc_s_convert_s`, [value("f32", 1.5)]),
+ [value("f32", 1)],
+);
+
+// ./test/core/float_exprs.wast:724
+assert_return(
+ () => invoke($39, `f32.i32.no_fold_trunc_s_convert_s`, [value("f32", -1.5)]),
+ [value("f32", -1)],
+);
+
+// ./test/core/float_exprs.wast:725
+assert_return(
+ () => invoke($39, `f32.i32.no_fold_trunc_u_convert_s`, [value("f32", 1.5)]),
+ [value("f32", 1)],
+);
+
+// ./test/core/float_exprs.wast:726
+assert_return(
+ () => invoke($39, `f32.i32.no_fold_trunc_u_convert_s`, [value("f32", -0.5)]),
+ [value("f32", 0)],
+);
+
+// ./test/core/float_exprs.wast:727
+assert_return(
+ () => invoke($39, `f32.i32.no_fold_trunc_s_convert_u`, [value("f32", 1.5)]),
+ [value("f32", 1)],
+);
+
+// ./test/core/float_exprs.wast:728
+assert_return(
+ () => invoke($39, `f32.i32.no_fold_trunc_s_convert_u`, [value("f32", -1.5)]),
+ [value("f32", 4294967300)],
+);
+
+// ./test/core/float_exprs.wast:729
+assert_return(
+ () => invoke($39, `f32.i32.no_fold_trunc_u_convert_u`, [value("f32", 1.5)]),
+ [value("f32", 1)],
+);
+
+// ./test/core/float_exprs.wast:730
+assert_return(
+ () => invoke($39, `f32.i32.no_fold_trunc_u_convert_u`, [value("f32", -0.5)]),
+ [value("f32", 0)],
+);
+
+// ./test/core/float_exprs.wast:732
+assert_return(
+ () => invoke($39, `f64.i32.no_fold_trunc_s_convert_s`, [value("f64", 1.5)]),
+ [value("f64", 1)],
+);
+
+// ./test/core/float_exprs.wast:733
+assert_return(
+ () => invoke($39, `f64.i32.no_fold_trunc_s_convert_s`, [value("f64", -1.5)]),
+ [value("f64", -1)],
+);
+
+// ./test/core/float_exprs.wast:734
+assert_return(
+ () => invoke($39, `f64.i32.no_fold_trunc_u_convert_s`, [value("f64", 1.5)]),
+ [value("f64", 1)],
+);
+
+// ./test/core/float_exprs.wast:735
+assert_return(
+ () => invoke($39, `f64.i32.no_fold_trunc_u_convert_s`, [value("f64", -0.5)]),
+ [value("f64", 0)],
+);
+
+// ./test/core/float_exprs.wast:736
+assert_return(
+ () => invoke($39, `f64.i32.no_fold_trunc_s_convert_u`, [value("f64", 1.5)]),
+ [value("f64", 1)],
+);
+
+// ./test/core/float_exprs.wast:737
+assert_return(
+ () => invoke($39, `f64.i32.no_fold_trunc_s_convert_u`, [value("f64", -1.5)]),
+ [value("f64", 4294967295)],
+);
+
+// ./test/core/float_exprs.wast:738
+assert_return(
+ () => invoke($39, `f64.i32.no_fold_trunc_u_convert_u`, [value("f64", 1.5)]),
+ [value("f64", 1)],
+);
+
+// ./test/core/float_exprs.wast:739
+assert_return(
+ () => invoke($39, `f64.i32.no_fold_trunc_u_convert_u`, [value("f64", -0.5)]),
+ [value("f64", 0)],
+);
+
+// ./test/core/float_exprs.wast:741
+assert_return(
+ () => invoke($39, `f32.i64.no_fold_trunc_s_convert_s`, [value("f32", 1.5)]),
+ [value("f32", 1)],
+);
+
+// ./test/core/float_exprs.wast:742
+assert_return(
+ () => invoke($39, `f32.i64.no_fold_trunc_s_convert_s`, [value("f32", -1.5)]),
+ [value("f32", -1)],
+);
+
+// ./test/core/float_exprs.wast:743
+assert_return(
+ () => invoke($39, `f32.i64.no_fold_trunc_u_convert_s`, [value("f32", 1.5)]),
+ [value("f32", 1)],
+);
+
+// ./test/core/float_exprs.wast:744
+assert_return(
+ () => invoke($39, `f32.i64.no_fold_trunc_u_convert_s`, [value("f32", -0.5)]),
+ [value("f32", 0)],
+);
+
+// ./test/core/float_exprs.wast:745
+assert_return(
+ () => invoke($39, `f32.i64.no_fold_trunc_s_convert_u`, [value("f32", 1.5)]),
+ [value("f32", 1)],
+);
+
+// ./test/core/float_exprs.wast:746
+assert_return(
+ () => invoke($39, `f32.i64.no_fold_trunc_s_convert_u`, [value("f32", -1.5)]),
+ [value("f32", 18446744000000000000)],
+);
+
+// ./test/core/float_exprs.wast:747
+assert_return(
+ () => invoke($39, `f32.i64.no_fold_trunc_u_convert_u`, [value("f32", 1.5)]),
+ [value("f32", 1)],
+);
+
+// ./test/core/float_exprs.wast:748
+assert_return(
+ () => invoke($39, `f32.i64.no_fold_trunc_u_convert_u`, [value("f32", -0.5)]),
+ [value("f32", 0)],
+);
+
+// ./test/core/float_exprs.wast:750
+assert_return(
+ () => invoke($39, `f64.i64.no_fold_trunc_s_convert_s`, [value("f64", 1.5)]),
+ [value("f64", 1)],
+);
+
+// ./test/core/float_exprs.wast:751
+assert_return(
+ () => invoke($39, `f64.i64.no_fold_trunc_s_convert_s`, [value("f64", -1.5)]),
+ [value("f64", -1)],
+);
+
+// ./test/core/float_exprs.wast:752
+assert_return(
+ () => invoke($39, `f64.i64.no_fold_trunc_u_convert_s`, [value("f64", 1.5)]),
+ [value("f64", 1)],
+);
+
+// ./test/core/float_exprs.wast:753
+assert_return(
+ () => invoke($39, `f64.i64.no_fold_trunc_u_convert_s`, [value("f64", -0.5)]),
+ [value("f64", 0)],
+);
+
+// ./test/core/float_exprs.wast:754
+assert_return(
+ () => invoke($39, `f64.i64.no_fold_trunc_s_convert_u`, [value("f64", 1.5)]),
+ [value("f64", 1)],
+);
+
+// ./test/core/float_exprs.wast:755
+assert_return(
+ () => invoke($39, `f64.i64.no_fold_trunc_s_convert_u`, [value("f64", -1.5)]),
+ [value("f64", 18446744073709552000)],
+);
+
+// ./test/core/float_exprs.wast:756
+assert_return(
+ () => invoke($39, `f64.i64.no_fold_trunc_u_convert_u`, [value("f64", 1.5)]),
+ [value("f64", 1)],
+);
+
+// ./test/core/float_exprs.wast:757
+assert_return(
+ () => invoke($39, `f64.i64.no_fold_trunc_u_convert_u`, [value("f64", -0.5)]),
+ [value("f64", 0)],
+);
+
+// ./test/core/float_exprs.wast:763
+let $40 = instantiate(`(module
+ (memory 1 1)
+ (func (export "init") (param $$i i32) (param $$x f32) (f32.store (local.get $$i) (local.get $$x)))
+
+ (func (export "run") (param $$n i32) (param $$z f32)
+ (local $$i i32)
+ (block $$exit
+ (loop $$cont
+ (f32.store
+ (local.get $$i)
+ (f32.div (f32.load (local.get $$i)) (local.get $$z))
+ )
+ (local.set $$i (i32.add (local.get $$i) (i32.const 4)))
+ (br_if $$cont (i32.lt_u (local.get $$i) (local.get $$n)))
+ )
+ )
+ )
+
+ (func (export "check") (param $$i i32) (result f32) (f32.load (local.get $$i)))
+)`);
+
+// ./test/core/float_exprs.wast:784
+invoke($40, `init`, [0, value("f32", 15.1)]);
+
+// ./test/core/float_exprs.wast:785
+invoke($40, `init`, [4, value("f32", 15.2)]);
+
+// ./test/core/float_exprs.wast:786
+invoke($40, `init`, [8, value("f32", 15.3)]);
+
+// ./test/core/float_exprs.wast:787
+invoke($40, `init`, [12, value("f32", 15.4)]);
+
+// ./test/core/float_exprs.wast:788
+assert_return(() => invoke($40, `check`, [0]), [value("f32", 15.1)]);
+
+// ./test/core/float_exprs.wast:789
+assert_return(() => invoke($40, `check`, [4]), [value("f32", 15.2)]);
+
+// ./test/core/float_exprs.wast:790
+assert_return(() => invoke($40, `check`, [8]), [value("f32", 15.3)]);
+
+// ./test/core/float_exprs.wast:791
+assert_return(() => invoke($40, `check`, [12]), [value("f32", 15.4)]);
+
+// ./test/core/float_exprs.wast:792
+invoke($40, `run`, [16, value("f32", 3)]);
+
+// ./test/core/float_exprs.wast:793
+assert_return(() => invoke($40, `check`, [0]), [value("f32", 5.0333333)]);
+
+// ./test/core/float_exprs.wast:794
+assert_return(() => invoke($40, `check`, [4]), [value("f32", 5.0666666)]);
+
+// ./test/core/float_exprs.wast:795
+assert_return(() => invoke($40, `check`, [8]), [value("f32", 5.1)]);
+
+// ./test/core/float_exprs.wast:796
+assert_return(() => invoke($40, `check`, [12]), [value("f32", 5.133333)]);
+
+// ./test/core/float_exprs.wast:798
+let $41 = instantiate(`(module
+ (memory 1 1)
+ (func (export "init") (param $$i i32) (param $$x f64) (f64.store (local.get $$i) (local.get $$x)))
+
+ (func (export "run") (param $$n i32) (param $$z f64)
+ (local $$i i32)
+ (block $$exit
+ (loop $$cont
+ (f64.store
+ (local.get $$i)
+ (f64.div (f64.load (local.get $$i)) (local.get $$z))
+ )
+ (local.set $$i (i32.add (local.get $$i) (i32.const 8)))
+ (br_if $$cont (i32.lt_u (local.get $$i) (local.get $$n)))
+ )
+ )
+ )
+
+ (func (export "check") (param $$i i32) (result f64) (f64.load (local.get $$i)))
+)`);
+
+// ./test/core/float_exprs.wast:819
+invoke($41, `init`, [0, value("f64", 15.1)]);
+
+// ./test/core/float_exprs.wast:820
+invoke($41, `init`, [8, value("f64", 15.2)]);
+
+// ./test/core/float_exprs.wast:821
+invoke($41, `init`, [16, value("f64", 15.3)]);
+
+// ./test/core/float_exprs.wast:822
+invoke($41, `init`, [24, value("f64", 15.4)]);
+
+// ./test/core/float_exprs.wast:823
+assert_return(() => invoke($41, `check`, [0]), [value("f64", 15.1)]);
+
+// ./test/core/float_exprs.wast:824
+assert_return(() => invoke($41, `check`, [8]), [value("f64", 15.2)]);
+
+// ./test/core/float_exprs.wast:825
+assert_return(() => invoke($41, `check`, [16]), [value("f64", 15.3)]);
+
+// ./test/core/float_exprs.wast:826
+assert_return(() => invoke($41, `check`, [24]), [value("f64", 15.4)]);
+
+// ./test/core/float_exprs.wast:827
+invoke($41, `run`, [32, value("f64", 3)]);
+
+// ./test/core/float_exprs.wast:828
+assert_return(() => invoke($41, `check`, [0]), [value("f64", 5.033333333333333)]);
+
+// ./test/core/float_exprs.wast:829
+assert_return(() => invoke($41, `check`, [8]), [value("f64", 5.066666666666666)]);
+
+// ./test/core/float_exprs.wast:830
+assert_return(() => invoke($41, `check`, [16]), [value("f64", 5.1000000000000005)]);
+
+// ./test/core/float_exprs.wast:831
+assert_return(() => invoke($41, `check`, [24]), [value("f64", 5.133333333333334)]);
+
+// ./test/core/float_exprs.wast:835
+let $42 = instantiate(`(module
+ (func (export "f32.ult") (param $$x f32) (param $$y f32) (result i32) (i32.eqz (f32.ge (local.get $$x) (local.get $$y))))
+ (func (export "f32.ule") (param $$x f32) (param $$y f32) (result i32) (i32.eqz (f32.gt (local.get $$x) (local.get $$y))))
+ (func (export "f32.ugt") (param $$x f32) (param $$y f32) (result i32) (i32.eqz (f32.le (local.get $$x) (local.get $$y))))
+ (func (export "f32.uge") (param $$x f32) (param $$y f32) (result i32) (i32.eqz (f32.lt (local.get $$x) (local.get $$y))))
+
+ (func (export "f64.ult") (param $$x f64) (param $$y f64) (result i32) (i32.eqz (f64.ge (local.get $$x) (local.get $$y))))
+ (func (export "f64.ule") (param $$x f64) (param $$y f64) (result i32) (i32.eqz (f64.gt (local.get $$x) (local.get $$y))))
+ (func (export "f64.ugt") (param $$x f64) (param $$y f64) (result i32) (i32.eqz (f64.le (local.get $$x) (local.get $$y))))
+ (func (export "f64.uge") (param $$x f64) (param $$y f64) (result i32) (i32.eqz (f64.lt (local.get $$x) (local.get $$y))))
+)`);
+
+// ./test/core/float_exprs.wast:847
+assert_return(() => invoke($42, `f32.ult`, [value("f32", 3), value("f32", 2)]), [value("i32", 0)]);
+
+// ./test/core/float_exprs.wast:848
+assert_return(() => invoke($42, `f32.ult`, [value("f32", 2), value("f32", 2)]), [value("i32", 0)]);
+
+// ./test/core/float_exprs.wast:849
+assert_return(() => invoke($42, `f32.ult`, [value("f32", 2), value("f32", 3)]), [value("i32", 1)]);
+
+// ./test/core/float_exprs.wast:850
+assert_return(
+ () => invoke($42, `f32.ult`, [value("f32", 2), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [value("i32", 1)],
+);
+
+// ./test/core/float_exprs.wast:851
+assert_return(() => invoke($42, `f32.ule`, [value("f32", 3), value("f32", 2)]), [value("i32", 0)]);
+
+// ./test/core/float_exprs.wast:852
+assert_return(() => invoke($42, `f32.ule`, [value("f32", 2), value("f32", 2)]), [value("i32", 1)]);
+
+// ./test/core/float_exprs.wast:853
+assert_return(() => invoke($42, `f32.ule`, [value("f32", 2), value("f32", 3)]), [value("i32", 1)]);
+
+// ./test/core/float_exprs.wast:854
+assert_return(
+ () => invoke($42, `f32.ule`, [value("f32", 2), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [value("i32", 1)],
+);
+
+// ./test/core/float_exprs.wast:855
+assert_return(() => invoke($42, `f32.ugt`, [value("f32", 3), value("f32", 2)]), [value("i32", 1)]);
+
+// ./test/core/float_exprs.wast:856
+assert_return(() => invoke($42, `f32.ugt`, [value("f32", 2), value("f32", 2)]), [value("i32", 0)]);
+
+// ./test/core/float_exprs.wast:857
+assert_return(() => invoke($42, `f32.ugt`, [value("f32", 2), value("f32", 3)]), [value("i32", 0)]);
+
+// ./test/core/float_exprs.wast:858
+assert_return(
+ () => invoke($42, `f32.ugt`, [value("f32", 2), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [value("i32", 1)],
+);
+
+// ./test/core/float_exprs.wast:859
+assert_return(() => invoke($42, `f32.uge`, [value("f32", 3), value("f32", 2)]), [value("i32", 1)]);
+
+// ./test/core/float_exprs.wast:860
+assert_return(() => invoke($42, `f32.uge`, [value("f32", 2), value("f32", 2)]), [value("i32", 1)]);
+
+// ./test/core/float_exprs.wast:861
+assert_return(() => invoke($42, `f32.uge`, [value("f32", 2), value("f32", 3)]), [value("i32", 0)]);
+
+// ./test/core/float_exprs.wast:862
+assert_return(
+ () => invoke($42, `f32.uge`, [value("f32", 2), bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [value("i32", 1)],
+);
+
+// ./test/core/float_exprs.wast:863
+assert_return(() => invoke($42, `f64.ult`, [value("f64", 3), value("f64", 2)]), [value("i32", 0)]);
+
+// ./test/core/float_exprs.wast:864
+assert_return(() => invoke($42, `f64.ult`, [value("f64", 2), value("f64", 2)]), [value("i32", 0)]);
+
+// ./test/core/float_exprs.wast:865
+assert_return(() => invoke($42, `f64.ult`, [value("f64", 2), value("f64", 3)]), [value("i32", 1)]);
+
+// ./test/core/float_exprs.wast:866
+assert_return(
+ () => invoke($42, `f64.ult`, [
+ value("f64", 2),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/float_exprs.wast:867
+assert_return(() => invoke($42, `f64.ule`, [value("f64", 3), value("f64", 2)]), [value("i32", 0)]);
+
+// ./test/core/float_exprs.wast:868
+assert_return(() => invoke($42, `f64.ule`, [value("f64", 2), value("f64", 2)]), [value("i32", 1)]);
+
+// ./test/core/float_exprs.wast:869
+assert_return(() => invoke($42, `f64.ule`, [value("f64", 2), value("f64", 3)]), [value("i32", 1)]);
+
+// ./test/core/float_exprs.wast:870
+assert_return(
+ () => invoke($42, `f64.ule`, [
+ value("f64", 2),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/float_exprs.wast:871
+assert_return(() => invoke($42, `f64.ugt`, [value("f64", 3), value("f64", 2)]), [value("i32", 1)]);
+
+// ./test/core/float_exprs.wast:872
+assert_return(() => invoke($42, `f64.ugt`, [value("f64", 2), value("f64", 2)]), [value("i32", 0)]);
+
+// ./test/core/float_exprs.wast:873
+assert_return(() => invoke($42, `f64.ugt`, [value("f64", 2), value("f64", 3)]), [value("i32", 0)]);
+
+// ./test/core/float_exprs.wast:874
+assert_return(
+ () => invoke($42, `f64.ugt`, [
+ value("f64", 2),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/float_exprs.wast:875
+assert_return(() => invoke($42, `f64.uge`, [value("f64", 3), value("f64", 2)]), [value("i32", 1)]);
+
+// ./test/core/float_exprs.wast:876
+assert_return(() => invoke($42, `f64.uge`, [value("f64", 2), value("f64", 2)]), [value("i32", 1)]);
+
+// ./test/core/float_exprs.wast:877
+assert_return(() => invoke($42, `f64.uge`, [value("f64", 2), value("f64", 3)]), [value("i32", 0)]);
+
+// ./test/core/float_exprs.wast:878
+assert_return(
+ () => invoke($42, `f64.uge`, [
+ value("f64", 2),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/float_exprs.wast:882
+let $43 = instantiate(`(module
+ (func (export "f32.no_fold_lt_select") (param $$x f32) (param $$y f32) (result f32) (select (local.get $$x) (local.get $$y) (f32.lt (local.get $$x) (local.get $$y))))
+ (func (export "f32.no_fold_le_select") (param $$x f32) (param $$y f32) (result f32) (select (local.get $$x) (local.get $$y) (f32.le (local.get $$x) (local.get $$y))))
+ (func (export "f32.no_fold_gt_select") (param $$x f32) (param $$y f32) (result f32) (select (local.get $$x) (local.get $$y) (f32.gt (local.get $$x) (local.get $$y))))
+ (func (export "f32.no_fold_ge_select") (param $$x f32) (param $$y f32) (result f32) (select (local.get $$x) (local.get $$y) (f32.ge (local.get $$x) (local.get $$y))))
+
+ (func (export "f64.no_fold_lt_select") (param $$x f64) (param $$y f64) (result f64) (select (local.get $$x) (local.get $$y) (f64.lt (local.get $$x) (local.get $$y))))
+ (func (export "f64.no_fold_le_select") (param $$x f64) (param $$y f64) (result f64) (select (local.get $$x) (local.get $$y) (f64.le (local.get $$x) (local.get $$y))))
+ (func (export "f64.no_fold_gt_select") (param $$x f64) (param $$y f64) (result f64) (select (local.get $$x) (local.get $$y) (f64.gt (local.get $$x) (local.get $$y))))
+ (func (export "f64.no_fold_ge_select") (param $$x f64) (param $$y f64) (result f64) (select (local.get $$x) (local.get $$y) (f64.ge (local.get $$x) (local.get $$y))))
+)`);
+
+// ./test/core/float_exprs.wast:894
+assert_return(
+ () => invoke($43, `f32.no_fold_lt_select`, [
+ value("f32", 0),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])],
+);
+
+// ./test/core/float_exprs.wast:895
+assert_return(
+ () => invoke($43, `f32.no_fold_lt_select`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 0),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/float_exprs.wast:896
+assert_return(
+ () => invoke($43, `f32.no_fold_lt_select`, [value("f32", 0), value("f32", -0)]),
+ [value("f32", -0)],
+);
+
+// ./test/core/float_exprs.wast:897
+assert_return(
+ () => invoke($43, `f32.no_fold_lt_select`, [value("f32", -0), value("f32", 0)]),
+ [value("f32", 0)],
+);
+
+// ./test/core/float_exprs.wast:898
+assert_return(
+ () => invoke($43, `f32.no_fold_le_select`, [
+ value("f32", 0),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])],
+);
+
+// ./test/core/float_exprs.wast:899
+assert_return(
+ () => invoke($43, `f32.no_fold_le_select`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 0),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/float_exprs.wast:900
+assert_return(
+ () => invoke($43, `f32.no_fold_le_select`, [value("f32", 0), value("f32", -0)]),
+ [value("f32", 0)],
+);
+
+// ./test/core/float_exprs.wast:901
+assert_return(
+ () => invoke($43, `f32.no_fold_le_select`, [value("f32", -0), value("f32", 0)]),
+ [value("f32", -0)],
+);
+
+// ./test/core/float_exprs.wast:902
+assert_return(
+ () => invoke($43, `f32.no_fold_gt_select`, [
+ value("f32", 0),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])],
+);
+
+// ./test/core/float_exprs.wast:903
+assert_return(
+ () => invoke($43, `f32.no_fold_gt_select`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 0),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/float_exprs.wast:904
+assert_return(
+ () => invoke($43, `f32.no_fold_gt_select`, [value("f32", 0), value("f32", -0)]),
+ [value("f32", -0)],
+);
+
+// ./test/core/float_exprs.wast:905
+assert_return(
+ () => invoke($43, `f32.no_fold_gt_select`, [value("f32", -0), value("f32", 0)]),
+ [value("f32", 0)],
+);
+
+// ./test/core/float_exprs.wast:906
+assert_return(
+ () => invoke($43, `f32.no_fold_ge_select`, [
+ value("f32", 0),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])],
+);
+
+// ./test/core/float_exprs.wast:907
+assert_return(
+ () => invoke($43, `f32.no_fold_ge_select`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 0),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/float_exprs.wast:908
+assert_return(
+ () => invoke($43, `f32.no_fold_ge_select`, [value("f32", 0), value("f32", -0)]),
+ [value("f32", 0)],
+);
+
+// ./test/core/float_exprs.wast:909
+assert_return(
+ () => invoke($43, `f32.no_fold_ge_select`, [value("f32", -0), value("f32", 0)]),
+ [value("f32", -0)],
+);
+
+// ./test/core/float_exprs.wast:910
+assert_return(
+ () => invoke($43, `f64.no_fold_lt_select`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f])],
+);
+
+// ./test/core/float_exprs.wast:911
+assert_return(
+ () => invoke($43, `f64.no_fold_lt_select`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/float_exprs.wast:912
+assert_return(
+ () => invoke($43, `f64.no_fold_lt_select`, [value("f64", 0), value("f64", -0)]),
+ [value("f64", -0)],
+);
+
+// ./test/core/float_exprs.wast:913
+assert_return(
+ () => invoke($43, `f64.no_fold_lt_select`, [value("f64", -0), value("f64", 0)]),
+ [value("f64", 0)],
+);
+
+// ./test/core/float_exprs.wast:914
+assert_return(
+ () => invoke($43, `f64.no_fold_le_select`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f])],
+);
+
+// ./test/core/float_exprs.wast:915
+assert_return(
+ () => invoke($43, `f64.no_fold_le_select`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/float_exprs.wast:916
+assert_return(
+ () => invoke($43, `f64.no_fold_le_select`, [value("f64", 0), value("f64", -0)]),
+ [value("f64", 0)],
+);
+
+// ./test/core/float_exprs.wast:917
+assert_return(
+ () => invoke($43, `f64.no_fold_le_select`, [value("f64", -0), value("f64", 0)]),
+ [value("f64", -0)],
+);
+
+// ./test/core/float_exprs.wast:918
+assert_return(
+ () => invoke($43, `f64.no_fold_gt_select`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f])],
+);
+
+// ./test/core/float_exprs.wast:919
+assert_return(
+ () => invoke($43, `f64.no_fold_gt_select`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/float_exprs.wast:920
+assert_return(
+ () => invoke($43, `f64.no_fold_gt_select`, [value("f64", 0), value("f64", -0)]),
+ [value("f64", -0)],
+);
+
+// ./test/core/float_exprs.wast:921
+assert_return(
+ () => invoke($43, `f64.no_fold_gt_select`, [value("f64", -0), value("f64", 0)]),
+ [value("f64", 0)],
+);
+
+// ./test/core/float_exprs.wast:922
+assert_return(
+ () => invoke($43, `f64.no_fold_ge_select`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f])],
+);
+
+// ./test/core/float_exprs.wast:923
+assert_return(
+ () => invoke($43, `f64.no_fold_ge_select`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/float_exprs.wast:924
+assert_return(
+ () => invoke($43, `f64.no_fold_ge_select`, [value("f64", 0), value("f64", -0)]),
+ [value("f64", 0)],
+);
+
+// ./test/core/float_exprs.wast:925
+assert_return(
+ () => invoke($43, `f64.no_fold_ge_select`, [value("f64", -0), value("f64", 0)]),
+ [value("f64", -0)],
+);
+
+// ./test/core/float_exprs.wast:929
+let $44 = instantiate(`(module
+ (func (export "f32.no_fold_lt_if") (param $$x f32) (param $$y f32) (result f32)
+ (if (result f32) (f32.lt (local.get $$x) (local.get $$y))
+ (then (local.get $$x)) (else (local.get $$y))
+ )
+ )
+ (func (export "f32.no_fold_le_if") (param $$x f32) (param $$y f32) (result f32)
+ (if (result f32) (f32.le (local.get $$x) (local.get $$y))
+ (then (local.get $$x)) (else (local.get $$y))
+ )
+ )
+ (func (export "f32.no_fold_gt_if") (param $$x f32) (param $$y f32) (result f32)
+ (if (result f32) (f32.gt (local.get $$x) (local.get $$y))
+ (then (local.get $$x)) (else (local.get $$y))
+ )
+ )
+ (func (export "f32.no_fold_ge_if") (param $$x f32) (param $$y f32) (result f32)
+ (if (result f32) (f32.ge (local.get $$x) (local.get $$y))
+ (then (local.get $$x)) (else (local.get $$y))
+ )
+ )
+
+ (func (export "f64.no_fold_lt_if") (param $$x f64) (param $$y f64) (result f64)
+ (if (result f64) (f64.lt (local.get $$x) (local.get $$y))
+ (then (local.get $$x)) (else (local.get $$y))
+ )
+ )
+ (func (export "f64.no_fold_le_if") (param $$x f64) (param $$y f64) (result f64)
+ (if (result f64) (f64.le (local.get $$x) (local.get $$y))
+ (then (local.get $$x)) (else (local.get $$y))
+ )
+ )
+ (func (export "f64.no_fold_gt_if") (param $$x f64) (param $$y f64) (result f64)
+ (if (result f64) (f64.gt (local.get $$x) (local.get $$y))
+ (then (local.get $$x)) (else (local.get $$y))
+ )
+ )
+ (func (export "f64.no_fold_ge_if") (param $$x f64) (param $$y f64) (result f64)
+ (if (result f64) (f64.ge (local.get $$x) (local.get $$y))
+ (then (local.get $$x)) (else (local.get $$y))
+ )
+ )
+)`);
+
+// ./test/core/float_exprs.wast:973
+assert_return(
+ () => invoke($44, `f32.no_fold_lt_if`, [
+ value("f32", 0),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])],
+);
+
+// ./test/core/float_exprs.wast:974
+assert_return(
+ () => invoke($44, `f32.no_fold_lt_if`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 0),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/float_exprs.wast:975
+assert_return(
+ () => invoke($44, `f32.no_fold_lt_if`, [value("f32", 0), value("f32", -0)]),
+ [value("f32", -0)],
+);
+
+// ./test/core/float_exprs.wast:976
+assert_return(
+ () => invoke($44, `f32.no_fold_lt_if`, [value("f32", -0), value("f32", 0)]),
+ [value("f32", 0)],
+);
+
+// ./test/core/float_exprs.wast:977
+assert_return(
+ () => invoke($44, `f32.no_fold_le_if`, [
+ value("f32", 0),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])],
+);
+
+// ./test/core/float_exprs.wast:978
+assert_return(
+ () => invoke($44, `f32.no_fold_le_if`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 0),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/float_exprs.wast:979
+assert_return(
+ () => invoke($44, `f32.no_fold_le_if`, [value("f32", 0), value("f32", -0)]),
+ [value("f32", 0)],
+);
+
+// ./test/core/float_exprs.wast:980
+assert_return(
+ () => invoke($44, `f32.no_fold_le_if`, [value("f32", -0), value("f32", 0)]),
+ [value("f32", -0)],
+);
+
+// ./test/core/float_exprs.wast:981
+assert_return(
+ () => invoke($44, `f32.no_fold_gt_if`, [
+ value("f32", 0),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])],
+);
+
+// ./test/core/float_exprs.wast:982
+assert_return(
+ () => invoke($44, `f32.no_fold_gt_if`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 0),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/float_exprs.wast:983
+assert_return(
+ () => invoke($44, `f32.no_fold_gt_if`, [value("f32", 0), value("f32", -0)]),
+ [value("f32", -0)],
+);
+
+// ./test/core/float_exprs.wast:984
+assert_return(
+ () => invoke($44, `f32.no_fold_gt_if`, [value("f32", -0), value("f32", 0)]),
+ [value("f32", 0)],
+);
+
+// ./test/core/float_exprs.wast:985
+assert_return(
+ () => invoke($44, `f32.no_fold_ge_if`, [
+ value("f32", 0),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])],
+);
+
+// ./test/core/float_exprs.wast:986
+assert_return(
+ () => invoke($44, `f32.no_fold_ge_if`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 0),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/float_exprs.wast:987
+assert_return(
+ () => invoke($44, `f32.no_fold_ge_if`, [value("f32", 0), value("f32", -0)]),
+ [value("f32", 0)],
+);
+
+// ./test/core/float_exprs.wast:988
+assert_return(
+ () => invoke($44, `f32.no_fold_ge_if`, [value("f32", -0), value("f32", 0)]),
+ [value("f32", -0)],
+);
+
+// ./test/core/float_exprs.wast:989
+assert_return(
+ () => invoke($44, `f64.no_fold_lt_if`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f])],
+);
+
+// ./test/core/float_exprs.wast:990
+assert_return(
+ () => invoke($44, `f64.no_fold_lt_if`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/float_exprs.wast:991
+assert_return(
+ () => invoke($44, `f64.no_fold_lt_if`, [value("f64", 0), value("f64", -0)]),
+ [value("f64", -0)],
+);
+
+// ./test/core/float_exprs.wast:992
+assert_return(
+ () => invoke($44, `f64.no_fold_lt_if`, [value("f64", -0), value("f64", 0)]),
+ [value("f64", 0)],
+);
+
+// ./test/core/float_exprs.wast:993
+assert_return(
+ () => invoke($44, `f64.no_fold_le_if`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f])],
+);
+
+// ./test/core/float_exprs.wast:994
+assert_return(
+ () => invoke($44, `f64.no_fold_le_if`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/float_exprs.wast:995
+assert_return(
+ () => invoke($44, `f64.no_fold_le_if`, [value("f64", 0), value("f64", -0)]),
+ [value("f64", 0)],
+);
+
+// ./test/core/float_exprs.wast:996
+assert_return(
+ () => invoke($44, `f64.no_fold_le_if`, [value("f64", -0), value("f64", 0)]),
+ [value("f64", -0)],
+);
+
+// ./test/core/float_exprs.wast:997
+assert_return(
+ () => invoke($44, `f64.no_fold_gt_if`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f])],
+);
+
+// ./test/core/float_exprs.wast:998
+assert_return(
+ () => invoke($44, `f64.no_fold_gt_if`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/float_exprs.wast:999
+assert_return(
+ () => invoke($44, `f64.no_fold_gt_if`, [value("f64", 0), value("f64", -0)]),
+ [value("f64", -0)],
+);
+
+// ./test/core/float_exprs.wast:1000
+assert_return(
+ () => invoke($44, `f64.no_fold_gt_if`, [value("f64", -0), value("f64", 0)]),
+ [value("f64", 0)],
+);
+
+// ./test/core/float_exprs.wast:1001
+assert_return(
+ () => invoke($44, `f64.no_fold_ge_if`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f])],
+);
+
+// ./test/core/float_exprs.wast:1002
+assert_return(
+ () => invoke($44, `f64.no_fold_ge_if`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/float_exprs.wast:1003
+assert_return(
+ () => invoke($44, `f64.no_fold_ge_if`, [value("f64", 0), value("f64", -0)]),
+ [value("f64", 0)],
+);
+
+// ./test/core/float_exprs.wast:1004
+assert_return(
+ () => invoke($44, `f64.no_fold_ge_if`, [value("f64", -0), value("f64", 0)]),
+ [value("f64", -0)],
+);
+
+// ./test/core/float_exprs.wast:1008
+let $45 = instantiate(`(module
+ (func (export "f32.no_fold_lt_select_to_abs") (param $$x f32) (result f32) (select (f32.neg (local.get $$x)) (local.get $$x) (f32.lt (local.get $$x) (f32.const 0.0))))
+ (func (export "f32.no_fold_le_select_to_abs") (param $$x f32) (result f32) (select (f32.neg (local.get $$x)) (local.get $$x) (f32.le (local.get $$x) (f32.const -0.0))))
+ (func (export "f32.no_fold_gt_select_to_abs") (param $$x f32) (result f32) (select (local.get $$x) (f32.neg (local.get $$x)) (f32.gt (local.get $$x) (f32.const -0.0))))
+ (func (export "f32.no_fold_ge_select_to_abs") (param $$x f32) (result f32) (select (local.get $$x) (f32.neg (local.get $$x)) (f32.ge (local.get $$x) (f32.const 0.0))))
+
+ (func (export "f64.no_fold_lt_select_to_abs") (param $$x f64) (result f64) (select (f64.neg (local.get $$x)) (local.get $$x) (f64.lt (local.get $$x) (f64.const 0.0))))
+ (func (export "f64.no_fold_le_select_to_abs") (param $$x f64) (result f64) (select (f64.neg (local.get $$x)) (local.get $$x) (f64.le (local.get $$x) (f64.const -0.0))))
+ (func (export "f64.no_fold_gt_select_to_abs") (param $$x f64) (result f64) (select (local.get $$x) (f64.neg (local.get $$x)) (f64.gt (local.get $$x) (f64.const -0.0))))
+ (func (export "f64.no_fold_ge_select_to_abs") (param $$x f64) (result f64) (select (local.get $$x) (f64.neg (local.get $$x)) (f64.ge (local.get $$x) (f64.const 0.0))))
+)`);
+
+// ./test/core/float_exprs.wast:1020
+assert_return(
+ () => invoke($45, `f32.no_fold_lt_select_to_abs`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])],
+);
+
+// ./test/core/float_exprs.wast:1021
+assert_return(
+ () => invoke($45, `f32.no_fold_lt_select_to_abs`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0xff])],
+);
+
+// ./test/core/float_exprs.wast:1022
+assert_return(() => invoke($45, `f32.no_fold_lt_select_to_abs`, [value("f32", 0)]), [value("f32", 0)]);
+
+// ./test/core/float_exprs.wast:1023
+assert_return(() => invoke($45, `f32.no_fold_lt_select_to_abs`, [value("f32", -0)]), [value("f32", -0)]);
+
+// ./test/core/float_exprs.wast:1024
+assert_return(
+ () => invoke($45, `f32.no_fold_le_select_to_abs`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])],
+);
+
+// ./test/core/float_exprs.wast:1025
+assert_return(
+ () => invoke($45, `f32.no_fold_le_select_to_abs`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0xff])],
+);
+
+// ./test/core/float_exprs.wast:1026
+assert_return(() => invoke($45, `f32.no_fold_le_select_to_abs`, [value("f32", 0)]), [value("f32", -0)]);
+
+// ./test/core/float_exprs.wast:1027
+assert_return(() => invoke($45, `f32.no_fold_le_select_to_abs`, [value("f32", -0)]), [value("f32", 0)]);
+
+// ./test/core/float_exprs.wast:1028
+assert_return(
+ () => invoke($45, `f32.no_fold_gt_select_to_abs`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [bytes("f32", [0x0, 0x0, 0xa0, 0xff])],
+);
+
+// ./test/core/float_exprs.wast:1029
+assert_return(
+ () => invoke($45, `f32.no_fold_gt_select_to_abs`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])],
+);
+
+// ./test/core/float_exprs.wast:1030
+assert_return(() => invoke($45, `f32.no_fold_gt_select_to_abs`, [value("f32", 0)]), [value("f32", -0)]);
+
+// ./test/core/float_exprs.wast:1031
+assert_return(() => invoke($45, `f32.no_fold_gt_select_to_abs`, [value("f32", -0)]), [value("f32", 0)]);
+
+// ./test/core/float_exprs.wast:1032
+assert_return(
+ () => invoke($45, `f32.no_fold_ge_select_to_abs`, [
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ]),
+ [bytes("f32", [0x0, 0x0, 0xa0, 0xff])],
+);
+
+// ./test/core/float_exprs.wast:1033
+assert_return(
+ () => invoke($45, `f32.no_fold_ge_select_to_abs`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])],
+);
+
+// ./test/core/float_exprs.wast:1034
+assert_return(() => invoke($45, `f32.no_fold_ge_select_to_abs`, [value("f32", 0)]), [value("f32", 0)]);
+
+// ./test/core/float_exprs.wast:1035
+assert_return(() => invoke($45, `f32.no_fold_ge_select_to_abs`, [value("f32", -0)]), [value("f32", -0)]);
+
+// ./test/core/float_exprs.wast:1036
+assert_return(
+ () => invoke($45, `f64.no_fold_lt_select_to_abs`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f])],
+);
+
+// ./test/core/float_exprs.wast:1037
+assert_return(
+ () => invoke($45, `f64.no_fold_lt_select_to_abs`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff])],
+);
+
+// ./test/core/float_exprs.wast:1038
+assert_return(() => invoke($45, `f64.no_fold_lt_select_to_abs`, [value("f64", 0)]), [value("f64", 0)]);
+
+// ./test/core/float_exprs.wast:1039
+assert_return(() => invoke($45, `f64.no_fold_lt_select_to_abs`, [value("f64", -0)]), [value("f64", -0)]);
+
+// ./test/core/float_exprs.wast:1040
+assert_return(
+ () => invoke($45, `f64.no_fold_le_select_to_abs`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f])],
+);
+
+// ./test/core/float_exprs.wast:1041
+assert_return(
+ () => invoke($45, `f64.no_fold_le_select_to_abs`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff])],
+);
+
+// ./test/core/float_exprs.wast:1042
+assert_return(() => invoke($45, `f64.no_fold_le_select_to_abs`, [value("f64", 0)]), [value("f64", -0)]);
+
+// ./test/core/float_exprs.wast:1043
+assert_return(() => invoke($45, `f64.no_fold_le_select_to_abs`, [value("f64", -0)]), [value("f64", 0)]);
+
+// ./test/core/float_exprs.wast:1044
+assert_return(
+ () => invoke($45, `f64.no_fold_gt_select_to_abs`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff])],
+);
+
+// ./test/core/float_exprs.wast:1045
+assert_return(
+ () => invoke($45, `f64.no_fold_gt_select_to_abs`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f])],
+);
+
+// ./test/core/float_exprs.wast:1046
+assert_return(() => invoke($45, `f64.no_fold_gt_select_to_abs`, [value("f64", 0)]), [value("f64", -0)]);
+
+// ./test/core/float_exprs.wast:1047
+assert_return(() => invoke($45, `f64.no_fold_gt_select_to_abs`, [value("f64", -0)]), [value("f64", 0)]);
+
+// ./test/core/float_exprs.wast:1048
+assert_return(
+ () => invoke($45, `f64.no_fold_ge_select_to_abs`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff])],
+);
+
+// ./test/core/float_exprs.wast:1049
+assert_return(
+ () => invoke($45, `f64.no_fold_ge_select_to_abs`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f])],
+);
+
+// ./test/core/float_exprs.wast:1050
+assert_return(() => invoke($45, `f64.no_fold_ge_select_to_abs`, [value("f64", 0)]), [value("f64", 0)]);
+
+// ./test/core/float_exprs.wast:1051
+assert_return(() => invoke($45, `f64.no_fold_ge_select_to_abs`, [value("f64", -0)]), [value("f64", -0)]);
+
+// ./test/core/float_exprs.wast:1055
+let $46 = instantiate(`(module
+ (func (export "f32.no_fold_lt_if_to_abs") (param $$x f32) (result f32)
+ (if (result f32) (f32.lt (local.get $$x) (f32.const 0.0))
+ (then (f32.neg (local.get $$x))) (else (local.get $$x))
+ )
+ )
+ (func (export "f32.no_fold_le_if_to_abs") (param $$x f32) (result f32)
+ (if (result f32) (f32.le (local.get $$x) (f32.const -0.0))
+ (then (f32.neg (local.get $$x))) (else (local.get $$x))
+ )
+ )
+ (func (export "f32.no_fold_gt_if_to_abs") (param $$x f32) (result f32)
+ (if (result f32) (f32.gt (local.get $$x) (f32.const -0.0))
+ (then (local.get $$x)) (else (f32.neg (local.get $$x)))
+ )
+ )
+ (func (export "f32.no_fold_ge_if_to_abs") (param $$x f32) (result f32)
+ (if (result f32) (f32.ge (local.get $$x) (f32.const 0.0))
+ (then (local.get $$x)) (else (f32.neg (local.get $$x)))
+ )
+ )
+
+ (func (export "f64.no_fold_lt_if_to_abs") (param $$x f64) (result f64)
+ (if (result f64) (f64.lt (local.get $$x) (f64.const 0.0))
+ (then (f64.neg (local.get $$x))) (else (local.get $$x))
+ )
+ )
+ (func (export "f64.no_fold_le_if_to_abs") (param $$x f64) (result f64)
+ (if (result f64) (f64.le (local.get $$x) (f64.const -0.0))
+ (then (f64.neg (local.get $$x))) (else (local.get $$x))
+ )
+ )
+ (func (export "f64.no_fold_gt_if_to_abs") (param $$x f64) (result f64)
+ (if (result f64) (f64.gt (local.get $$x) (f64.const -0.0))
+ (then (local.get $$x)) (else (f64.neg (local.get $$x)))
+ )
+ )
+ (func (export "f64.no_fold_ge_if_to_abs") (param $$x f64) (result f64)
+ (if (result f64) (f64.ge (local.get $$x) (f64.const 0.0))
+ (then (local.get $$x)) (else (f64.neg (local.get $$x)))
+ )
+ )
+)`);
+
+// ./test/core/float_exprs.wast:1099
+assert_return(
+ () => invoke($46, `f32.no_fold_lt_if_to_abs`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])],
+);
+
+// ./test/core/float_exprs.wast:1100
+assert_return(
+ () => invoke($46, `f32.no_fold_lt_if_to_abs`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0xff])],
+);
+
+// ./test/core/float_exprs.wast:1101
+assert_return(() => invoke($46, `f32.no_fold_lt_if_to_abs`, [value("f32", 0)]), [value("f32", 0)]);
+
+// ./test/core/float_exprs.wast:1102
+assert_return(() => invoke($46, `f32.no_fold_lt_if_to_abs`, [value("f32", -0)]), [value("f32", -0)]);
+
+// ./test/core/float_exprs.wast:1103
+assert_return(
+ () => invoke($46, `f32.no_fold_le_if_to_abs`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])],
+);
+
+// ./test/core/float_exprs.wast:1104
+assert_return(
+ () => invoke($46, `f32.no_fold_le_if_to_abs`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0xff])],
+);
+
+// ./test/core/float_exprs.wast:1105
+assert_return(() => invoke($46, `f32.no_fold_le_if_to_abs`, [value("f32", 0)]), [value("f32", -0)]);
+
+// ./test/core/float_exprs.wast:1106
+assert_return(() => invoke($46, `f32.no_fold_le_if_to_abs`, [value("f32", -0)]), [value("f32", 0)]);
+
+// ./test/core/float_exprs.wast:1107
+assert_return(
+ () => invoke($46, `f32.no_fold_gt_if_to_abs`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [bytes("f32", [0x0, 0x0, 0xa0, 0xff])],
+);
+
+// ./test/core/float_exprs.wast:1108
+assert_return(
+ () => invoke($46, `f32.no_fold_gt_if_to_abs`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])],
+);
+
+// ./test/core/float_exprs.wast:1109
+assert_return(() => invoke($46, `f32.no_fold_gt_if_to_abs`, [value("f32", 0)]), [value("f32", -0)]);
+
+// ./test/core/float_exprs.wast:1110
+assert_return(() => invoke($46, `f32.no_fold_gt_if_to_abs`, [value("f32", -0)]), [value("f32", 0)]);
+
+// ./test/core/float_exprs.wast:1111
+assert_return(
+ () => invoke($46, `f32.no_fold_ge_if_to_abs`, [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]),
+ [bytes("f32", [0x0, 0x0, 0xa0, 0xff])],
+);
+
+// ./test/core/float_exprs.wast:1112
+assert_return(
+ () => invoke($46, `f32.no_fold_ge_if_to_abs`, [bytes("f32", [0x0, 0x0, 0xc0, 0xff])]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])],
+);
+
+// ./test/core/float_exprs.wast:1113
+assert_return(() => invoke($46, `f32.no_fold_ge_if_to_abs`, [value("f32", 0)]), [value("f32", 0)]);
+
+// ./test/core/float_exprs.wast:1114
+assert_return(() => invoke($46, `f32.no_fold_ge_if_to_abs`, [value("f32", -0)]), [value("f32", -0)]);
+
+// ./test/core/float_exprs.wast:1115
+assert_return(
+ () => invoke($46, `f64.no_fold_lt_if_to_abs`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f])],
+);
+
+// ./test/core/float_exprs.wast:1116
+assert_return(
+ () => invoke($46, `f64.no_fold_lt_if_to_abs`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff])],
+);
+
+// ./test/core/float_exprs.wast:1117
+assert_return(() => invoke($46, `f64.no_fold_lt_if_to_abs`, [value("f64", 0)]), [value("f64", 0)]);
+
+// ./test/core/float_exprs.wast:1118
+assert_return(() => invoke($46, `f64.no_fold_lt_if_to_abs`, [value("f64", -0)]), [value("f64", -0)]);
+
+// ./test/core/float_exprs.wast:1119
+assert_return(
+ () => invoke($46, `f64.no_fold_le_if_to_abs`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f])],
+);
+
+// ./test/core/float_exprs.wast:1120
+assert_return(
+ () => invoke($46, `f64.no_fold_le_if_to_abs`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff])],
+);
+
+// ./test/core/float_exprs.wast:1121
+assert_return(() => invoke($46, `f64.no_fold_le_if_to_abs`, [value("f64", 0)]), [value("f64", -0)]);
+
+// ./test/core/float_exprs.wast:1122
+assert_return(() => invoke($46, `f64.no_fold_le_if_to_abs`, [value("f64", -0)]), [value("f64", 0)]);
+
+// ./test/core/float_exprs.wast:1123
+assert_return(
+ () => invoke($46, `f64.no_fold_gt_if_to_abs`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff])],
+);
+
+// ./test/core/float_exprs.wast:1124
+assert_return(
+ () => invoke($46, `f64.no_fold_gt_if_to_abs`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f])],
+);
+
+// ./test/core/float_exprs.wast:1125
+assert_return(() => invoke($46, `f64.no_fold_gt_if_to_abs`, [value("f64", 0)]), [value("f64", -0)]);
+
+// ./test/core/float_exprs.wast:1126
+assert_return(() => invoke($46, `f64.no_fold_gt_if_to_abs`, [value("f64", -0)]), [value("f64", 0)]);
+
+// ./test/core/float_exprs.wast:1127
+assert_return(
+ () => invoke($46, `f64.no_fold_ge_if_to_abs`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff])],
+);
+
+// ./test/core/float_exprs.wast:1128
+assert_return(
+ () => invoke($46, `f64.no_fold_ge_if_to_abs`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f])],
+);
+
+// ./test/core/float_exprs.wast:1129
+assert_return(() => invoke($46, `f64.no_fold_ge_if_to_abs`, [value("f64", 0)]), [value("f64", 0)]);
+
+// ./test/core/float_exprs.wast:1130
+assert_return(() => invoke($46, `f64.no_fold_ge_if_to_abs`, [value("f64", -0)]), [value("f64", -0)]);
+
+// ./test/core/float_exprs.wast:1135
+let $47 = instantiate(`(module
+ (func (export "f32.incorrect_correction") (result f32)
+ (f32.sub (f32.sub (f32.add (f32.const 1.333) (f32.const 1.225)) (f32.const 1.333)) (f32.const 1.225))
+ )
+ (func (export "f64.incorrect_correction") (result f64)
+ (f64.sub (f64.sub (f64.add (f64.const 1.333) (f64.const 1.225)) (f64.const 1.333)) (f64.const 1.225))
+ )
+)`);
+
+// ./test/core/float_exprs.wast:1144
+assert_return(() => invoke($47, `f32.incorrect_correction`, []), [value("f32", 0.00000011920929)]);
+
+// ./test/core/float_exprs.wast:1145
+assert_return(
+ () => invoke($47, `f64.incorrect_correction`, []),
+ [value("f64", -0.0000000000000002220446049250313)],
+);
+
+// ./test/core/float_exprs.wast:1150
+let $48 = instantiate(`(module
+ (func (export "calculate") (result f32)
+ (local $$x f32)
+ (local $$r f32)
+ (local $$q f32)
+ (local $$z0 f32)
+ (local $$z1 f32)
+ (local.set $$x (f32.const 156.25))
+ (local.set $$r (f32.const 208.333333334))
+ (local.set $$q (f32.const 1.77951304201))
+ (local.set $$z0 (f32.div (f32.mul (f32.neg (local.get $$r)) (local.get $$x)) (f32.sub (f32.mul (local.get $$x) (local.get $$q)) (local.get $$r))))
+ (local.set $$z1 (f32.div (f32.mul (f32.neg (local.get $$r)) (local.get $$x)) (f32.sub (f32.mul (local.get $$x) (local.get $$q)) (local.get $$r))))
+ (block (br_if 0 (f32.eq (local.get $$z0) (local.get $$z1))) (unreachable))
+ (local.get $$z1)
+ )
+)`);
+
+// ./test/core/float_exprs.wast:1167
+assert_return(() => invoke($48, `calculate`, []), [value("f32", -466.92685)]);
+
+// ./test/core/float_exprs.wast:1169
+let $49 = instantiate(`(module
+ (func (export "calculate") (result f64)
+ (local $$x f64)
+ (local $$r f64)
+ (local $$q f64)
+ (local $$z0 f64)
+ (local $$z1 f64)
+ (local.set $$x (f64.const 156.25))
+ (local.set $$r (f64.const 208.333333334))
+ (local.set $$q (f64.const 1.77951304201))
+ (local.set $$z0 (f64.div (f64.mul (f64.neg (local.get $$r)) (local.get $$x)) (f64.sub (f64.mul (local.get $$x) (local.get $$q)) (local.get $$r))))
+ (local.set $$z1 (f64.div (f64.mul (f64.neg (local.get $$r)) (local.get $$x)) (f64.sub (f64.mul (local.get $$x) (local.get $$q)) (local.get $$r))))
+ (block (br_if 0 (f64.eq (local.get $$z0) (local.get $$z1))) (unreachable))
+ (local.get $$z1)
+ )
+)`);
+
+// ./test/core/float_exprs.wast:1186
+assert_return(() => invoke($49, `calculate`, []), [value("f64", -466.926956301738)]);
+
+// ./test/core/float_exprs.wast:1191
+let $50 = instantiate(`(module
+ (func (export "llvm_pr26746") (param $$x f32) (result f32)
+ (f32.sub (f32.const 0.0) (f32.sub (f32.const -0.0) (local.get $$x)))
+ )
+)`);
+
+// ./test/core/float_exprs.wast:1197
+assert_return(() => invoke($50, `llvm_pr26746`, [value("f32", -0)]), [value("f32", 0)]);
+
+// ./test/core/float_exprs.wast:1202
+let $51 = instantiate(`(module
+ (func (export "llvm_pr27153") (param $$x i32) (result f32)
+ (f32.add (f32.convert_i32_s (i32.and (local.get $$x) (i32.const 268435455))) (f32.const -8388608.0))
+ )
+)`);
+
+// ./test/core/float_exprs.wast:1208
+assert_return(() => invoke($51, `llvm_pr27153`, [33554434]), [value("f32", 25165824)]);
+
+// ./test/core/float_exprs.wast:1213
+let $52 = instantiate(`(module
+ (func (export "llvm_pr27036") (param $$x i32) (param $$y i32) (result f32)
+ (f32.add (f32.convert_i32_s (i32.or (local.get $$x) (i32.const -25034805)))
+ (f32.convert_i32_s (i32.and (local.get $$y) (i32.const 14942208))))
+ )
+)`);
+
+// ./test/core/float_exprs.wast:1220
+assert_return(() => invoke($52, `llvm_pr27036`, [-25034805, 14942208]), [value("f32", -10092596)]);
+
+// ./test/core/float_exprs.wast:1230
+let $53 = instantiate(`(module
+ (func (export "thepast0") (param $$a f64) (param $$b f64) (param $$c f64) (param $$d f64) (result f64)
+ (f64.div (f64.mul (local.get $$a) (local.get $$b)) (f64.mul (local.get $$c) (local.get $$d)))
+ )
+
+ (func (export "thepast1") (param $$a f64) (param $$b f64) (param $$c f64) (result f64)
+ (f64.sub (f64.mul (local.get $$a) (local.get $$b)) (local.get $$c))
+ )
+
+ (func (export "thepast2") (param $$a f32) (param $$b f32) (param $$c f32) (result f32)
+ (f32.mul (f32.mul (local.get $$a) (local.get $$b)) (local.get $$c))
+ )
+)`);
+
+// ./test/core/float_exprs.wast:1244
+assert_return(
+ () => invoke($53, `thepast0`, [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004450147717014403),
+ value("f64", 0.9999999999999999),
+ value("f64", 2),
+ value("f64", 0.5),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044501477170144023),
+ ],
+);
+
+// ./test/core/float_exprs.wast:1245
+assert_return(
+ () => invoke($53, `thepast1`, [
+ value("f64", 0.00000000000000005551115123125783),
+ value("f64", 0.9999999999999999),
+ value("f64", 0.00000000000000005551115123125783),
+ ]),
+ [value("f64", -0.000000000000000000000000000000006162975822039155)],
+);
+
+// ./test/core/float_exprs.wast:1246
+assert_return(
+ () => invoke($53, `thepast2`, [
+ value("f32", 0.000000000000000000000000000000000000023509887),
+ value("f32", 0.5),
+ value("f32", 1),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/float_exprs.wast:1251
+let $54 = instantiate(`(module
+ (func (export "inverse") (param $$x f32) (result f32)
+ (f32.div (f32.const 1.0) (local.get $$x))
+ )
+)`);
+
+// ./test/core/float_exprs.wast:1257
+assert_return(() => invoke($54, `inverse`, [value("f32", 96)]), [value("f32", 0.010416667)]);
+
+// ./test/core/float_exprs.wast:1262
+let $55 = instantiate(`(module
+ (func (export "f32_sqrt_minus_2") (param $$x f32) (result f32)
+ (f32.sub (f32.sqrt (local.get $$x)) (f32.const 2.0))
+ )
+
+ (func (export "f64_sqrt_minus_2") (param $$x f64) (result f64)
+ (f64.sub (f64.sqrt (local.get $$x)) (f64.const 2.0))
+ )
+)`);
+
+// ./test/core/float_exprs.wast:1272
+assert_return(() => invoke($55, `f32_sqrt_minus_2`, [value("f32", 4)]), [value("f32", 0)]);
+
+// ./test/core/float_exprs.wast:1273
+assert_return(() => invoke($55, `f64_sqrt_minus_2`, [value("f64", 4)]), [value("f64", 0)]);
+
+// ./test/core/float_exprs.wast:1277
+let $56 = instantiate(`(module
+ (func (export "f32.no_fold_recip_recip") (param $$x f32) (result f32)
+ (f32.div (f32.const 1.0) (f32.div (f32.const 1.0) (local.get $$x))))
+
+ (func (export "f64.no_fold_recip_recip") (param $$x f64) (result f64)
+ (f64.div (f64.const 1.0) (f64.div (f64.const 1.0) (local.get $$x))))
+)`);
+
+// ./test/core/float_exprs.wast:1285
+assert_return(
+ () => invoke($56, `f32.no_fold_recip_recip`, [value("f32", -70435790000000000000)]),
+ [value("f32", -70435784000000000000)],
+);
+
+// ./test/core/float_exprs.wast:1286
+assert_return(
+ () => invoke($56, `f32.no_fold_recip_recip`, [
+ value("f32", 0.000000000000000000000012466101),
+ ]),
+ [value("f32", 0.0000000000000000000000124661)],
+);
+
+// ./test/core/float_exprs.wast:1287
+assert_return(
+ () => invoke($56, `f32.no_fold_recip_recip`, [
+ value("f32", 0.000000000000000000097184545),
+ ]),
+ [value("f32", 0.00000000000000000009718455)],
+);
+
+// ./test/core/float_exprs.wast:1288
+assert_return(
+ () => invoke($56, `f32.no_fold_recip_recip`, [value("f32", -30.400759)]),
+ [value("f32", -30.40076)],
+);
+
+// ./test/core/float_exprs.wast:1289
+assert_return(
+ () => invoke($56, `f32.no_fold_recip_recip`, [value("f32", 2331659200000000000000)]),
+ [value("f32", 2331659000000000000000)],
+);
+
+// ./test/core/float_exprs.wast:1291
+assert_return(() => invoke($56, `f32.no_fold_recip_recip`, [value("f32", -0)]), [value("f32", -0)]);
+
+// ./test/core/float_exprs.wast:1292
+assert_return(() => invoke($56, `f32.no_fold_recip_recip`, [value("f32", 0)]), [value("f32", 0)]);
+
+// ./test/core/float_exprs.wast:1293
+assert_return(
+ () => invoke($56, `f32.no_fold_recip_recip`, [value("f32", -Infinity)]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/float_exprs.wast:1294
+assert_return(
+ () => invoke($56, `f32.no_fold_recip_recip`, [value("f32", Infinity)]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/float_exprs.wast:1296
+assert_return(
+ () => invoke($56, `f64.no_fold_recip_recip`, [
+ value("f64", -657971534362886860000000000000000000000000000),
+ ]),
+ [value("f64", -657971534362886900000000000000000000000000000)],
+);
+
+// ./test/core/float_exprs.wast:1297
+assert_return(
+ () => invoke($56, `f64.no_fold_recip_recip`, [value("f64", -144246931868576430000)]),
+ [value("f64", -144246931868576420000)],
+);
+
+// ./test/core/float_exprs.wast:1298
+assert_return(
+ () => invoke($56, `f64.no_fold_recip_recip`, [
+ value("f64", 184994689206231350000000000000000000000000000000000),
+ ]),
+ [value("f64", 184994689206231330000000000000000000000000000000000)],
+);
+
+// ./test/core/float_exprs.wast:1299
+assert_return(
+ () => invoke($56, `f64.no_fold_recip_recip`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005779584288006583),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005779584288006582),
+ ],
+);
+
+// ./test/core/float_exprs.wast:1300
+assert_return(
+ () => invoke($56, `f64.no_fold_recip_recip`, [
+ value("f64", 51501178696141640000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 51501178696141634000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_exprs.wast:1302
+assert_return(() => invoke($56, `f64.no_fold_recip_recip`, [value("f64", -0)]), [value("f64", -0)]);
+
+// ./test/core/float_exprs.wast:1303
+assert_return(() => invoke($56, `f64.no_fold_recip_recip`, [value("f64", 0)]), [value("f64", 0)]);
+
+// ./test/core/float_exprs.wast:1304
+assert_return(
+ () => invoke($56, `f64.no_fold_recip_recip`, [value("f64", -Infinity)]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/float_exprs.wast:1305
+assert_return(
+ () => invoke($56, `f64.no_fold_recip_recip`, [value("f64", Infinity)]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/float_exprs.wast:1309
+let $57 = instantiate(`(module
+ (func (export "f32.no_algebraic_factoring") (param $$x f32) (param $$y f32) (result f32)
+ (f32.mul (f32.add (local.get $$x) (local.get $$y))
+ (f32.sub (local.get $$x) (local.get $$y))))
+
+ (func (export "f64.no_algebraic_factoring") (param $$x f64) (param $$y f64) (result f64)
+ (f64.mul (f64.add (local.get $$x) (local.get $$y))
+ (f64.sub (local.get $$x) (local.get $$y))))
+)`);
+
+// ./test/core/float_exprs.wast:1319
+assert_return(
+ () => invoke($57, `f32.no_algebraic_factoring`, [
+ value("f32", -0.000000000000000053711865),
+ value("f32", 0.00000000000000009744328),
+ ]),
+ [value("f32", -0.000000000000000000000000000000006610229)],
+);
+
+// ./test/core/float_exprs.wast:1320
+assert_return(
+ () => invoke($57, `f32.no_algebraic_factoring`, [
+ value("f32", -19756732),
+ value("f32", 32770204),
+ ]),
+ [value("f32", -683557800000000)],
+);
+
+// ./test/core/float_exprs.wast:1321
+assert_return(
+ () => invoke($57, `f32.no_algebraic_factoring`, [
+ value("f32", 52314150000000),
+ value("f32", -145309980000000),
+ ]),
+ [value("f32", -18378221000000000000000000000)],
+);
+
+// ./test/core/float_exprs.wast:1322
+assert_return(
+ () => invoke($57, `f32.no_algebraic_factoring`, [
+ value("f32", 195260.38),
+ value("f32", -227.75723),
+ ]),
+ [value("f32", 38126563000)],
+);
+
+// ./test/core/float_exprs.wast:1323
+assert_return(
+ () => invoke($57, `f32.no_algebraic_factoring`, [
+ value("f32", -237.48706),
+ value("f32", -972341.5),
+ ]),
+ [value("f32", -945447960000)],
+);
+
+// ./test/core/float_exprs.wast:1325
+assert_return(
+ () => invoke($57, `f64.no_algebraic_factoring`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009639720335949767),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008019175443606207),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006430717386609473),
+ ],
+);
+
+// ./test/core/float_exprs.wast:1326
+assert_return(
+ () => invoke($57, `f64.no_algebraic_factoring`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005166066590392027),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001494333315888213),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000026688244016362468),
+ ],
+);
+
+// ./test/core/float_exprs.wast:1327
+assert_return(
+ () => invoke($57, `f64.no_algebraic_factoring`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002866135870517635),
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012114355254268516),
+ ]),
+ [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014675678175314036),
+ ],
+);
+
+// ./test/core/float_exprs.wast:1328
+assert_return(
+ () => invoke($57, `f64.no_algebraic_factoring`, [
+ value("f64", -1292099281007814900000000000000000000000000000000000000),
+ value("f64", 662717187728034000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -439192401389602300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_exprs.wast:1329
+assert_return(
+ () => invoke($57, `f64.no_algebraic_factoring`, [
+ value("f64", 26242795689010570000000000000000000),
+ value("f64", -1625023398605080200000000000),
+ ]),
+ [
+ value("f64", 688684325575149100000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_exprs.wast:1333
+let $58 = instantiate(`(module
+ (func (export "f32.no_algebraic_factoring") (param $$x f32) (param $$y f32) (result f32)
+ (f32.sub (f32.mul (local.get $$x) (local.get $$x))
+ (f32.mul (local.get $$y) (local.get $$y))))
+
+ (func (export "f64.no_algebraic_factoring") (param $$x f64) (param $$y f64) (result f64)
+ (f64.sub (f64.mul (local.get $$x) (local.get $$x))
+ (f64.mul (local.get $$y) (local.get $$y))))
+)`);
+
+// ./test/core/float_exprs.wast:1343
+assert_return(
+ () => invoke($58, `f32.no_algebraic_factoring`, [
+ value("f32", 0.000000000000022102996),
+ value("f32", 0.0000000000031465275),
+ ]),
+ [value("f32", -0.0000000000000000000000099001476)],
+);
+
+// ./test/core/float_exprs.wast:1344
+assert_return(
+ () => invoke($58, `f32.no_algebraic_factoring`, [
+ value("f32", -3289460800000),
+ value("f32", -15941539000),
+ ]),
+ [value("f32", 10820299000000000000000000)],
+);
+
+// ./test/core/float_exprs.wast:1345
+assert_return(
+ () => invoke($58, `f32.no_algebraic_factoring`, [
+ value("f32", 0.00036497542),
+ value("f32", -0.00016153714),
+ ]),
+ [value("f32", 0.000000107112804)],
+);
+
+// ./test/core/float_exprs.wast:1346
+assert_return(
+ () => invoke($58, `f32.no_algebraic_factoring`, [
+ value("f32", 0.000000000000065383266),
+ value("f32", -0.000000000000027412773),
+ ]),
+ [value("f32", 0.000000000000000000000000003523511)],
+);
+
+// ./test/core/float_exprs.wast:1347
+assert_return(
+ () => invoke($58, `f32.no_algebraic_factoring`, [
+ value("f32", 3609682000000000),
+ value("f32", -5260104400000000),
+ ]),
+ [value("f32", -14638896000000000000000000000000)],
+);
+
+// ./test/core/float_exprs.wast:1349
+assert_return(
+ () => invoke($58, `f64.no_algebraic_factoring`, [
+ value("f64", 213640454349895100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -292858755839442800000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 45642243734743850000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_exprs.wast:1350
+assert_return(
+ () => invoke($58, `f64.no_algebraic_factoring`, [
+ value("f64", -1229017115924435800000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -8222158919016600000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -67603897289562710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_exprs.wast:1351
+assert_return(
+ () => invoke($58, `f64.no_algebraic_factoring`, [
+ value("f64", 5477733829752.252),
+ value("f64", -970738900948.5906),
+ ]),
+ [value("f64", 29063233895797397000000000)],
+);
+
+// ./test/core/float_exprs.wast:1352
+assert_return(
+ () => invoke($58, `f64.no_algebraic_factoring`, [
+ value("f64", -10689141744923551000000000000000000000000000000000000000),
+ value("f64", -173378393593738040000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 114257751213007240000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_exprs.wast:1353
+assert_return(
+ () => invoke($58, `f64.no_algebraic_factoring`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000010295699877022106),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000008952274637805908),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000025858214767010105),
+ ],
+);
+
+// ./test/core/float_exprs.wast:1358
+let $59 = instantiate(`(module
+ (memory (data
+ "\\01\\00\\00\\00\\01\\00\\00\\80\\01\\00\\00\\00\\01\\00\\00\\80"
+ "\\01\\00\\00\\00\\01\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00"
+ "\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00"
+ ))
+
+ (func (export "f32.simple_x4_sum")
+ (param $$i i32)
+ (param $$j i32)
+ (param $$k i32)
+ (local $$x0 f32) (local $$x1 f32) (local $$x2 f32) (local $$x3 f32)
+ (local $$y0 f32) (local $$y1 f32) (local $$y2 f32) (local $$y3 f32)
+ (local.set $$x0 (f32.load offset=0 (local.get $$i)))
+ (local.set $$x1 (f32.load offset=4 (local.get $$i)))
+ (local.set $$x2 (f32.load offset=8 (local.get $$i)))
+ (local.set $$x3 (f32.load offset=12 (local.get $$i)))
+ (local.set $$y0 (f32.load offset=0 (local.get $$j)))
+ (local.set $$y1 (f32.load offset=4 (local.get $$j)))
+ (local.set $$y2 (f32.load offset=8 (local.get $$j)))
+ (local.set $$y3 (f32.load offset=12 (local.get $$j)))
+ (f32.store offset=0 (local.get $$k) (f32.add (local.get $$x0) (local.get $$y0)))
+ (f32.store offset=4 (local.get $$k) (f32.add (local.get $$x1) (local.get $$y1)))
+ (f32.store offset=8 (local.get $$k) (f32.add (local.get $$x2) (local.get $$y2)))
+ (f32.store offset=12 (local.get $$k) (f32.add (local.get $$x3) (local.get $$y3)))
+ )
+
+ (func (export "f32.load")
+ (param $$k i32) (result f32)
+ (f32.load (local.get $$k))
+ )
+)`);
+
+// ./test/core/float_exprs.wast:1391
+assert_return(() => invoke($59, `f32.simple_x4_sum`, [0, 16, 32]), []);
+
+// ./test/core/float_exprs.wast:1392
+assert_return(
+ () => invoke($59, `f32.load`, [32]),
+ [value("f32", 0.000000000000000000000000000000000000000000003)],
+);
+
+// ./test/core/float_exprs.wast:1393
+assert_return(() => invoke($59, `f32.load`, [36]), [value("f32", 0)]);
+
+// ./test/core/float_exprs.wast:1394
+assert_return(
+ () => invoke($59, `f32.load`, [40]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/float_exprs.wast:1395
+assert_return(
+ () => invoke($59, `f32.load`, [44]),
+ [value("f32", -0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/float_exprs.wast:1397
+let $60 = instantiate(`(module
+ (memory (data
+ "\\01\\00\\00\\00\\00\\00\\00\\00\\01\\00\\00\\00\\00\\00\\00\\80\\01\\00\\00\\00\\00\\00\\00\\00\\01\\00\\00\\00\\00\\00\\00\\80"
+ "\\01\\00\\00\\00\\00\\00\\00\\00\\01\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00"
+ "\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00"
+ ))
+
+ (func (export "f64.simple_x4_sum")
+ (param $$i i32)
+ (param $$j i32)
+ (param $$k i32)
+ (local $$x0 f64) (local $$x1 f64) (local $$x2 f64) (local $$x3 f64)
+ (local $$y0 f64) (local $$y1 f64) (local $$y2 f64) (local $$y3 f64)
+ (local.set $$x0 (f64.load offset=0 (local.get $$i)))
+ (local.set $$x1 (f64.load offset=8 (local.get $$i)))
+ (local.set $$x2 (f64.load offset=16 (local.get $$i)))
+ (local.set $$x3 (f64.load offset=24 (local.get $$i)))
+ (local.set $$y0 (f64.load offset=0 (local.get $$j)))
+ (local.set $$y1 (f64.load offset=8 (local.get $$j)))
+ (local.set $$y2 (f64.load offset=16 (local.get $$j)))
+ (local.set $$y3 (f64.load offset=24 (local.get $$j)))
+ (f64.store offset=0 (local.get $$k) (f64.add (local.get $$x0) (local.get $$y0)))
+ (f64.store offset=8 (local.get $$k) (f64.add (local.get $$x1) (local.get $$y1)))
+ (f64.store offset=16 (local.get $$k) (f64.add (local.get $$x2) (local.get $$y2)))
+ (f64.store offset=24 (local.get $$k) (f64.add (local.get $$x3) (local.get $$y3)))
+ )
+
+ (func (export "f64.load")
+ (param $$k i32) (result f64)
+ (f64.load (local.get $$k))
+ )
+)`);
+
+// ./test/core/float_exprs.wast:1430
+assert_return(() => invoke($60, `f64.simple_x4_sum`, [0, 32, 64]), []);
+
+// ./test/core/float_exprs.wast:1431
+assert_return(
+ () => invoke($60, `f64.load`, [64]),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ ],
+);
+
+// ./test/core/float_exprs.wast:1432
+assert_return(() => invoke($60, `f64.load`, [72]), [value("f64", 0)]);
+
+// ./test/core/float_exprs.wast:1433
+assert_return(
+ () => invoke($60, `f64.load`, [80]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/float_exprs.wast:1434
+assert_return(
+ () => invoke($60, `f64.load`, [88]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/float_exprs.wast:1439
+let $61 = instantiate(`(module
+ (memory (data
+ "\\c4\\c5\\57\\24\\a5\\84\\c8\\0b\\6d\\b8\\4b\\2e\\f2\\76\\17\\1c\\ca\\4a\\56\\1e\\1b\\6e\\71\\22"
+ "\\5d\\17\\1e\\6e\\bf\\cd\\14\\5c\\c7\\21\\55\\51\\39\\9c\\1f\\b2\\51\\f0\\a3\\93\\d7\\c1\\2c\\ae"
+ "\\7e\\a8\\28\\3a\\01\\21\\f4\\0a\\58\\93\\f8\\42\\77\\9f\\83\\39\\6a\\5f\\ba\\f7\\0a\\d8\\51\\6a"
+ "\\34\\ca\\ad\\c6\\34\\0e\\d8\\26\\dc\\4c\\33\\1c\\ed\\29\\90\\a8\\78\\0f\\d1\\ce\\76\\31\\23\\83"
+ "\\b8\\35\\e8\\f2\\44\\b0\\d3\\a1\\fc\\bb\\32\\e1\\b0\\ba\\69\\44\\09\\d6\\d9\\7d\\ff\\2e\\c0\\5a"
+ "\\36\\14\\33\\14\\3e\\a9\\fa\\87\\6d\\8b\\bc\\ce\\9d\\a7\\fd\\c4\\e9\\85\\3f\\dd\\d7\\e1\\18\\a6"
+ "\\50\\26\\72\\6e\\3f\\73\\0f\\f8\\12\\93\\23\\34\\61\\76\\12\\48\\c0\\9b\\05\\93\\eb\\ac\\86\\de"
+ "\\94\\3e\\55\\e8\\8c\\e8\\dd\\e4\\fc\\95\\47\\be\\56\\03\\21\\20\\4c\\e6\\bf\\7b\\f6\\7f\\d5\\ba"
+ "\\73\\1c\\c1\\14\\8f\\c4\\27\\96\\b3\\bd\\33\\ff\\78\\41\\5f\\c0\\5a\\ce\\f6\\67\\6e\\73\\9a\\17"
+ "\\66\\70\\03\\f8\\ce\\27\\a3\\52\\b2\\9f\\3b\\bf\\fb\\ae\\ed\\d3\\5a\\f8\\37\\57\\f0\\f5\\6e\\ef"
+ "\\b1\\4d\\70\\3d\\54\\a7\\01\\9a\\85\\08\\48\\91\\f5\\9d\\0c\\60\\87\\5b\\d9\\54\\1e\\51\\6d\\88"
+ "\\8e\\08\\8c\\a5\\71\\3a\\56\\08\\67\\46\\8f\\8f\\13\\2a\\2c\\ec\\2c\\1f\\b4\\62\\2b\\6f\\41\\0a"
+ "\\c4\\65\\42\\a2\\31\\6b\\2c\\7d\\3e\\bb\\75\\ac\\86\\97\\30\\d9\\48\\cd\\9a\\1f\\56\\c4\\c6\\e4"
+ "\\12\\c0\\9d\\fb\\ee\\02\\8c\\ce\\1c\\f2\\1e\\a1\\78\\23\\db\\c4\\1e\\49\\03\\d3\\71\\cc\\08\\50"
+ "\\c5\\d8\\5c\\ed\\d5\\b5\\65\\ac\\b5\\c9\\21\\d2\\c9\\29\\76\\de\\f0\\30\\1a\\5b\\3c\\f2\\3b\\db"
+ "\\3a\\39\\82\\3a\\16\\08\\6f\\a8\\f1\\be\\69\\69\\99\\71\\a6\\05\\d3\\14\\93\\2a\\16\\f2\\2f\\11"
+ "\\c7\\7e\\20\\bb\\91\\44\\ee\\f8\\e4\\01\\53\\c0\\b9\\7f\\f0\\bf\\f0\\03\\9c\\6d\\b1\\df\\a2\\44"
+ "\\01\\6d\\6b\\71\\2b\\5c\\b3\\21\\19\\46\\5e\\8f\\db\\91\\d3\\7c\\78\\6b\\b7\\12\\00\\8f\\eb\\bd"
+ "\\8a\\f5\\d4\\2e\\c4\\c1\\1e\\df\\73\\63\\59\\47\\49\\03\\0a\\b7\\cf\\24\\cf\\9c\\0e\\44\\7a\\9e"
+ "\\14\\fb\\42\\bf\\9d\\39\\30\\9e\\a0\\ab\\2f\\d1\\ae\\9e\\6a\\83\\43\\e3\\55\\7d\\85\\bf\\63\\8a"
+ "\\f8\\96\\10\\1f\\fe\\6d\\e7\\22\\1b\\e1\\69\\46\\8a\\44\\c8\\c8\\f9\\0c\\2b\\19\\07\\a5\\02\\3e"
+ "\\f2\\30\\10\\9a\\85\\8a\\5f\\ef\\81\\45\\a0\\77\\b1\\03\\10\\73\\4b\\ae\\98\\9d\\47\\bf\\9a\\2d"
+ "\\3a\\d5\\0f\\03\\66\\e3\\3d\\53\\d9\\40\\ce\\1f\\6f\\32\\2f\\21\\2b\\23\\21\\6c\\62\\d4\\a7\\3e"
+ "\\a8\\ce\\28\\31\\2d\\00\\3d\\67\\5e\\af\\a0\\cf\\2e\\d2\\b9\\6b\\84\\eb\\69\\08\\3c\\62\\36\\be"
+ "\\12\\fd\\36\\7f\\88\\3e\\ad\\bc\\0b\\c0\\41\\c4\\50\\b6\\e3\\50\\31\\e8\\ce\\e2\\96\\65\\55\\9c"
+ "\\16\\46\\e6\\b0\\2d\\3a\\e8\\81\\05\\b0\\bf\\34\\f7\\bc\\10\\1c\\fb\\cc\\3c\\f1\\85\\97\\42\\9f"
+ "\\eb\\14\\8d\\3c\\bf\\d7\\17\\88\\49\\9d\\8b\\2b\\b2\\3a\\83\\d1\\4f\\04\\9e\\a1\\0f\\ad\\08\\9d"
+ "\\54\\af\\d1\\82\\c3\\ec\\32\\2f\\02\\8f\\05\\21\\2d\\a2\\b7\\e4\\f4\\6f\\2e\\81\\2b\\0b\\9c\\fc"
+ "\\cb\\fe\\74\\02\\f9\\db\\f4\\f3\\ea\\00\\a8\\ec\\d1\\99\\74\\26\\dd\\d6\\34\\d5\\25\\b1\\46\\dd"
+ "\\9c\\aa\\71\\f5\\60\\b0\\88\\c8\\e0\\0b\\59\\5a\\25\\4f\\29\\66\\f9\\e3\\2e\\fe\\e9\\da\\e5\\18"
+ "\\4f\\27\\62\\f4\\ce\\a4\\21\\95\\74\\c7\\57\\64\\27\\9a\\4c\\fd\\54\\7d\\61\\ce\\c3\\ac\\87\\46"
+ "\\9c\\fa\\ff\\09\\ca\\79\\97\\67\\24\\74\\ca\\d4\\21\\83\\26\\25\\19\\12\\37\\64\\19\\e5\\65\\e0"
+ "\\74\\75\\8e\\dd\\c8\\ef\\74\\c7\\d8\\21\\2b\\79\\04\\51\\46\\65\\60\\03\\5d\\fa\\d8\\f4\\65\\a4"
+ "\\9e\\5d\\23\\da\\d7\\8a\\92\\80\\a4\\de\\78\\3c\\f1\\57\\42\\6d\\cd\\c9\\2f\\d5\\a4\\9e\\ab\\40"
+ "\\f4\\cb\\1b\\d7\\a3\\ca\\fc\\eb\\a7\\01\\b2\\9a\\69\\4e\\46\\9b\\18\\4e\\dd\\79\\a7\\aa\\a6\\52"
+ "\\39\\1e\\ef\\30\\cc\\9b\\bd\\5b\\ee\\4c\\21\\6d\\30\\00\\72\\b0\\46\\5f\\08\\cf\\c5\\b9\\e0\\3e"
+ "\\c2\\b3\\0c\\dc\\8e\\64\\de\\19\\42\\79\\cf\\43\\ea\\43\\5d\\8e\\88\\f7\\ab\\15\\dc\\3f\\c8\\67"
+ "\\20\\db\\b8\\64\\b1\\47\\1f\\de\\f2\\cb\\3f\\59\\9f\\d8\\46\\90\\dc\\ae\\2f\\22\\f9\\e2\\31\\89"
+ "\\d9\\9c\\1c\\4c\\d3\\a9\\4a\\57\\84\\9c\\9f\\ea\\2c\\3c\\ae\\3c\\c3\\1e\\8b\\e5\\4e\\17\\01\\25"
+ "\\db\\34\\46\\5f\\15\\ea\\05\\0c\\7c\\d9\\45\\8c\\19\\d0\\73\\8a\\96\\16\\dd\\44\\f9\\05\\b7\\5b"
+ "\\71\\b0\\e6\\21\\36\\5f\\75\\89\\91\\73\\75\\ab\\7d\\ae\\d3\\73\\ec\\37\\c6\\ea\\55\\75\\ef\\ea"
+ "\\ab\\8b\\7b\\11\\dc\\6d\\1a\\b2\\6a\\c4\\25\\cf\\aa\\e3\\9f\\49\\49\\89\\cb\\37\\9b\\0a\\a7\\01"
+ "\\60\\70\\dc\\b7\\c8\\83\\e1\\42\\f5\\be\\ad\\62\\94\\ad\\8d\\a1"
+ ))
+
+ (func (export "f32.kahan_sum") (param $$p i32) (param $$n i32) (result f32)
+ (local $$sum f32)
+ (local $$c f32)
+ (local $$t f32)
+ (block $$exit
+ (loop $$top
+ (local.set $$t
+ (f32.sub
+ (f32.sub
+ (local.tee $$sum
+ (f32.add
+ (local.get $$c)
+ (local.tee $$t
+ (f32.sub (f32.load (local.get $$p)) (local.get $$t))
+ )
+ )
+ )
+ (local.get $$c)
+ )
+ (local.get $$t)
+ )
+ )
+ (local.set $$p (i32.add (local.get $$p) (i32.const 4)))
+ (local.set $$c (local.get $$sum))
+ (br_if $$top (local.tee $$n (i32.add (local.get $$n) (i32.const -1))))
+ )
+ )
+ (local.get $$sum)
+ )
+
+ (func (export "f32.plain_sum") (param $$p i32) (param $$n i32) (result f32)
+ (local $$sum f32)
+ (block $$exit
+ (loop $$top
+ (local.set $$sum (f32.add (local.get $$sum) (f32.load (local.get $$p))))
+ (local.set $$p (i32.add (local.get $$p) (i32.const 4)))
+ (local.set $$n (i32.add (local.get $$n) (i32.const -1)))
+ (br_if $$top (local.get $$n))
+ )
+ )
+ (local.get $$sum)
+ )
+)`);
+
+// ./test/core/float_exprs.wast:1530
+assert_return(
+ () => invoke($61, `f32.kahan_sum`, [0, 256]),
+ [value("f32", -21558138000000000000000000000000)],
+);
+
+// ./test/core/float_exprs.wast:1531
+assert_return(
+ () => invoke($61, `f32.plain_sum`, [0, 256]),
+ [value("f32", -16487540000000000000000000000000)],
+);
+
+// ./test/core/float_exprs.wast:1533
+let $62 = instantiate(`(module
+ (memory (data "\\13\\05\\84\\42\\5d\\a2\\2c\\c6\\43\\db\\55\\a9\\cd\\da\\55\\e3\\73\\fc\\58\\d6\\ba\\d5\\00\\fd\\83\\35\\42\\88\\8b\\13\\5d\\38\\4a\\47\\0d\\72\\73\\a1\\1a\\ef\\c4\\45\\17\\57\\d8\\c9\\46\\e0\\8d\\6c\\e1\\37\\70\\c8\\83\\5b\\55\\5e\\5a\\2d\\73\\1e\\56\\c8\\e1\\6d\\69\\14\\78\\0a\\8a\\5a\\64\\3a\\09\\c7\\a8\\87\\c5\\f0\\d3\\5d\\e6\\03\\fc\\93\\be\\26\\ca\\d6\\a9\\91\\60\\bd\\b0\\ed\\ae\\f7\\30\\7e\\92\\3a\\6f\\a7\\59\\8e\\aa\\7d\\bf\\67\\58\\2a\\54\\f8\\4e\\fe\\ed\\35\\58\\a6\\51\\bf\\42\\e5\\4b\\66\\27\\24\\6d\\7f\\42\\2d\\28\\92\\18\\ec\\08\\ae\\e7\\55\\da\\b1\\a6\\65\\a5\\72\\50\\47\\1b\\b8\\a9\\54\\d7\\a6\\06\\5b\\0f\\42\\58\\83\\8a\\17\\82\\c6\\10\\43\\a0\\c0\\2e\\6d\\bc\\5a\\85\\53\\72\\7f\\ad\\44\\bc\\30\\3c\\55\\b2\\24\\9a\\74\\3a\\9e\\e1\\d8\\0f\\70\\fc\\a9\\3a\\cd\\93\\4b\\ec\\e3\\7e\\dd\\5d\\27\\cd\\f8\\a0\\9d\\1c\\11\\c0\\57\\2e\\fd\\c8\\13\\32\\cc\\3a\\1a\\7d\\a3\\41\\55\\ed\\c3\\82\\49\\2a\\04\\1e\\ef\\73\\b9\\2e\\2e\\e3\\5f\\f4\\df\\e6\\b2\\33\\0c\\39\\3f\\6f\\44\\6a\\03\\c1\\42\\b9\\fa\\b1\\c8\\ed\\a5\\58\\99\\7f\\ed\\b4\\72\\9e\\79\\eb\\fb\\43\\82\\45\\aa\\bb\\95\\d2\\ff\\28\\9e\\f6\\a1\\ad\\95\\d6\\55\\95\\0d\\6f\\60\\11\\c7\\78\\3e\\49\\f2\\7e\\48\\f4\\a2\\71\\d0\\13\\8e\\b3\\de\\99\\52\\e3\\45\\74\\ea\\76\\0e\\1b\\2a\\c8\\ee\\14\\01\\c4\\50\\5b\\36\\3c\\ef\\ba\\72\\a2\\a6\\08\\f8\\7b\\36\\9d\\f9\\ef\\0b\\c7\\56\\2d\\5c\\f0\\9d\\5d\\de\\fc\\b8\\ad\\0f\\64\\0e\\97\\15\\32\\26\\c2\\31\\e6\\05\\1e\\ef\\cb\\17\\1b\\6d\\15\\0b\\74\\5d\\d3\\2e\\f8\\6b\\86\\b4\\ba\\73\\52\\53\\99\\a9\\76\\20\\45\\c9\\40\\80\\6b\\14\\ed\\a1\\fa\\80\\46\\e6\\26\\d2\\e6\\98\\c4\\57\\bf\\c4\\1c\\a4\\90\\7a\\36\\94\\14\\ba\\15\\89\\6e\\e6\\9c\\37\\8c\\f4\\de\\12\\22\\5d\\a1\\79\\50\\67\\0d\\3d\\7a\\e9\\d4\\aa\\2e\\7f\\2a\\7a\\30\\3d\\ea\\5d\\12\\48\\fe\\e1\\18\\cd\\a4\\57\\a2\\87\\3e\\b6\\9a\\8b\\db\\da\\9d\\78\\9c\\cf\\8d\\b1\\4f\\90\\b4\\34\\e0\\9d\\f6\\ca\\fe\\4c\\3b\\78\\6d\\0a\\5c\\18\\9f\\61\\b9\\dd\\b4\\e0\\0f\\76\\e0\\1b\\69\\0d\\5e\\58\\73\\70\\5e\\0e\\2d\\a1\\7d\\ff\\20\\eb\\91\\34\\92\\ac\\38\\72\\2a\\1f\\8e\\71\\2e\\6a\\f1\\af\\c7\\27\\70\\d9\\c4\\57\\f7\\d2\\3c\\1d\\b8\\f0\\f0\\64\\cf\\dc\\ae\\be\\a3\\cc\\3e\\22\\7d\\4e\\69\\21\\63\\17\\ed\\03\\02\\54\\9a\\0f\\50\\4e\\13\\5a\\35\\a1\\22\\a4\\df\\86\\c2\\74\\79\\16\\b8\\69\\69\\a0\\52\\5d\\11\\64\\bd\\5b\\93\\fc\\69\\a0\\f4\\13\\d0\\81\\51\\dd\\fa\\0c\\15\\c3\\7a\\c9\\62\\7a\\a9\\1d\\c9\\e6\\5a\\b3\\5b\\97\\02\\3c\\64\\22\\12\\3c\\22\\90\\64\\2d\\30\\54\\4c\\b4\\a1\\22\\09\\57\\22\\5e\\8e\\38\\2b\\02\\a8\\ae\\f6\\be\\0d\\2b\\f2\\03\\ad\\fa\\10\\01\\71\\77\\2a\\30\\02\\95\\f6\\00\\3e\\d0\\c4\\8d\\34\\19\\50\\21\\0a\\bc\\50\\da\\3c\\30\\d6\\3a\\31\\94\\8d\\3a\\fe\\ef\\14\\57\\9d\\4b\\93\\00\\96\\24\\0c\\6f\\fd\\bc\\23\\76\\02\\6c\\eb\\52\\72\\80\\11\\7e\\80\\3a\\13\\12\\38\\1d\\38\\49\\95\\40\\27\\8a\\44\\7b\\e8\\dc\\6d\\8c\\8c\\8e\\3c\\b5\\b3\\18\\0e\\f6\\08\\1a\\84\\41\\35\\ff\\8b\\b8\\93\\40\\ea\\e1\\51\\1d\\89\\a5\\8d\\42\\68\\29\\ea\\2f\\c1\\7a\\52\\eb\\90\\5d\\4d\\d6\\80\\e3\\d7\\75\\48\\ce\\ed\\d3\\01\\1c\\8d\\5b\\a5\\94\\0d\\78\\cf\\f1\\06\\13\\2f\\98\\02\\a4\\6d\\2e\\6c\\f2\\d5\\74\\29\\89\\4c\\f9\\03\\f5\\c7\\18\\ad\\7a\\f0\\68\\f8\\5c\\d6\\59\\87\\6e\\d6\\3f\\06\\be\\86\\20\\e3\\41\\91\\22\\f3\\6e\\8b\\f0\\68\\1c\\57\\a7\\fc\\b0\\7c\\9e\\99\\0b\\96\\1a\\89\\5f\\e6\\0d\\7c\\08\\51\\a0\\a2\\67\\9a\\47\\00\\93\\6b\\f9\\28\\f0\\68\\db\\62\\f1\\e0\\65\\2c\\53\\33\\e0\\a7\\ca\\11\\42\\30\\f6\\af\\01\\c1\\65\\3d\\32\\01\\6f\\ab\\2e\\be\\d3\\8b\\be\\14\\c3\\ff\\ec\\fb\\f0\\f9\\c5\\0c\\05\\6f\\01\\09\\6b\\e3\\34\\31\\0c\\1f\\66\\a6\\42\\bc\\1a\\87\\49\\16\\16\\8c\\b0\\90\\0d\\34\\8c\\0a\\e1\\09\\5e\\10\\a4\\6b\\56\\cc\\f0\\c9\\bb\\dc\\b8\\5c\\ce\\f6\\cc\\8d\\75\\7e\\b3\\07\\88\\04\\2f\\b4\\5e\\c9\\e3\\4a\\23\\73\\19\\62\\6c\\9a\\03\\76\\44\\86\\9c\\60\\fc\\db\\72\\8f\\27\\a0\\dd\\b3\\c5\\da\\ff\\f9\\ec\\6a\\b1\\7b\\d3\\cf\\50\\37\\c9\\7a\\78\\0c\\e4\\3a\\b6\\f5\\e6\\f4\\98\\6e\\42\\7d\\35\\73\\8b\\45\\c0\\56\\97\\cd\\6d\\ce\\cf\\ad\\31\\b3\\c3\\54\\fa\\ef\\d5\\c0\\f4\\6a\\5f\\54\\e7\\49\\3e\\33\\0a\\30\\38\\fd\\d9\\05\\ff\\a5\\3f\\57\\46\\14\\b5\\91\\17\\ca\\6b\\98\\23\\7a\\65\\b3\\6c\\02\\b4\\cc\\79\\5d\\58\\d8\\b3\\d5\\94\\ae\\f4\\6d\\75\\65\\f7\\92\\bf\\7e\\47\\4c\\3c\\ee\\db\\ac\\f1\\32\\5d\\fb\\6f\\41\\1c\\34\\c8\\83\\4f\\c2\\58\\01\\be\\05\\3e\\66\\16\\a6\\04\\6d\\5d\\4f\\86\\09\\27\\82\\25\\12\\cd\\3a\\cd\\ce\\6b\\bc\\ca\\ac\\28\\9b\\ee\\6a\\25\\86\\9e\\45\\70\\c6\\d2\\bd\\3b\\7d\\42\\e5\\27\\af\\c7\\1d\\f4\\81\\c8\\b3\\76\\8a\\a8\\36\\a3\\ae\\2a\\e6\\18\\e1\\36\\22\\ad\\f6\\25\\72\\b0\\39\\8b\\01\\9a\\22\\7b\\84\\c3\\2d\\5f\\72\\a4\\98\\ac\\15\\70\\e7\\d4\\18\\e2\\7d\\d2\\30\\7c\\33\\08\\cd\\ca\\c4\\22\\85\\88\\75\\81\\c6\\4a\\74\\58\\8d\\e0\\e8\\ac\\c5\\ab\\75\\5a\\f4\\28\\12\\f0\\18\\45\\52\\f2\\97\\b2\\93\\41\\6f\\8d\\7f\\db\\70\\fb\\a3\\5d\\1f\\a7\\8d\\98\\20\\2b\\22\\9f\\3a\\01\\b5\\8b\\1b\\d2\\cb\\14\\03\\0e\\14\\14\\d2\\19\\5a\\1f\\ce\\5e\\cd\\81\\79\\15\\01\\ca\\de\\73\\74\\8c\\56\\20\\9f\\77\\2d\\25\\16\\f6\\61\\51\\1d\\a4\\8e\\9b\\98\\a5\\c6\\ec\\a8\\45\\57\\82\\59\\78\\0d\\90\\b4\\df\\51\\b0\\c3\\82\\94\\cc\\b3\\53\\09\\15\\6d\\96\\6c\\3a\\40\\47\\b7\\4a\\7a\\05\\2f\\a1\\1e\\8c\\9d\\a0\\20\\88\\fb\\52\\b7\\9f\\f3\\f3\\bb\\5f\\e7\\8a\\61\\a7\\21\\b1\\ac\\fa\\09\\aa\\a4\\6c\\bc\\24\\80\\ba\\2a\\e9\\65\\ff\\70\\ff\\cc\\fa\\65\\87\\76\\f3\\c5\\15\\ce\\cb\\e8\\42\\31\\00\\0c\\91\\57\\d9\\e0\\9d\\35\\54\\24\\ad\\a4\\d8\\f9\\08\\67\\63\\c8\\cf\\81\\dd\\90\\a2\\d7\\c4\\07\\4a\\e6\\10\\6f\\67\\e7\\27\\d4\\23\\59\\18\\f2\\a8\\9d\\5f\\d8\\94\\30\\aa\\54\\86\\4f\\87\\9d\\82\\b5\\26\\ca\\a6\\96\\bf\\cf\\55\\f9\\9d\\37\\01\\19\\48\\43\\c5\\94\\6c\\f3\\74\\97\\58\\4c\\3c\\9d\\08\\e8\\04\\c2\\58\\30\\76\\e1\\a0\\f8\\ea\\e9\\c5\\ae\\cf\\78\\9e\\a9\\0c\\ac\\b3\\44\\42\\e0\\bc\\5d\\1b\\9c\\49\\58\\4a\\1c\\19\\49\\c1\\3a\\ea\\f5\\eb\\3b\\81\\a9\\4b\\70\\0c\\cc\\9e\\1a\\d3\\2f\\b7\\52\\2f\\20\\3b\\eb\\64\\51\\1d\\a0\\2d\\b2\\3e\\be\\13\\85\\48\\92\\32\\2e\\db\\5c\\a1\\e7\\8c\\45\\91\\35\\01\\0a\\93\\c2\\eb\\09\\ce\\f3\\d2\\22\\24\\d0\\8c\\cc\\1d\\9d\\38\\c8\\4d\\e3\\82\\cc\\64\\15\\06\\2d\\e7\\01\\2f\\ab\\bb\\b5\\04\\4c\\92\\1c\\7a\\d6\\3f\\e8\\5f\\31\\15\\0c\\dc\\e4\\31\\b4\\c4\\25\\3e\\2a\\aa\\00\\9e\\c8\\e5\\21\\7a\\7f\\29\\f1\\c0\\af\\1d\\5e\\e8\\63\\39\\ad\\f8\\7e\\6c\\c8\\c5\\7f\\c2\\a8\\97\\27\\0a\\d9\\f4\\21\\6a\\ea\\03\\09\\fb\\f7\\96\\3b\\83\\79\\5f\\7c\\4b\\30\\9f\\56\\35\\de\\b4\\73\\d4\\95\\f0\\14\\c3\\74\\2f\\0d\\a3\\1d\\4e\\8d\\31\\24\\b3\\1a\\84\\85\\62\\5a\\7b\\3c\\14\\39\\17\\e6\\6d\\eb\\37\\c2\\00\\58\\5b\\0b\\e3\\3c\\8a\\62\\e1\\f8\\35\\4b\\56\\e2\\87\\60\\8b\\be\\a7\\38\\91\\77\\54\\a9\\5a\\24\\25\\90\\9f\\a5\\42\\77\\f3\\5c\\39\\df\\ff\\74\\07\\76\\a1\\cd\\1f\\62\\0b\\81\\81\\68\\af\\05\\c1\\c0\\7f\\26\\ee\\c0\\91\\a3\\6a\\7d\\29\\61\\45\\27\\e5\\57\\88\\dc\\0d\\97\\04\\1a\\33\\a9\\44\\8a\\da\\02\\10\\45\\3f\\8e\\55\\a6\\76\\8c\\4d\\e3\\f1\\89\\83\\c8\\d0\\f8\\9b\\50\\77\\9f\\47\\df\\4c\\9c\\66\\0d\\aa\\18\\b8\\5f\\4f\\c4\\01\\ce\\dc\\84\\ac\\46\\9e\\69\\e1\\76\\45\\6b\\61\\89\\e4\\5d\\94\\bb\\11\\83\\9f\\78\\d8\\0a\\d2\\f5\\7e\\5d\\43\\ea\\bc\\10\\f1\\3a\\c9\\e2\\64\\fb\\53\\65\\d0\\c7\\b4\\a7\\fb\\d4\\05\\53\\25\\d0\\cd\\29\\88\\00\\56\\25\\24\\7d\\5d\\b4\\f3\\41\\9f\\e9\\b5\\f7\\ae\\64\\2c\\e3\\c9\\6d\\d5\\84\\3a\\72\\12\\b8\\7a\\d9\\1b\\09\\e8\\38\\da\\26\\4f\\04\\ce\\03\\71\\6e\\8a\\44\\7b\\5c\\81\\59\\9c\\d2\\e4\\c3\\ba\\59\\a6\\e5\\28\\a7\\8f\\9a\\e4\\d5\\4e\\b9\\ca\\7f\\cb\\75\\b8\\2b\\43\\3e\\b3\\15\\46\\b1\\a5\\bc\\9d\\9e\\38\\15\\f1\\bd\\1b\\21\\aa\\f1\\82\\00\\95\\fc\\a7\\77\\47\\39\\a7\\33\\43\\92\\d7\\52\\40\\4b\\06\\81\\8a\\a0\\bd\\f1\\6b\\99\\84\\42\\5b\\e2\\3b\\c5\\5e\\12\\5c\\28\\4d\\b6\\0e\\4e\\c8\\5c\\e8\\01\\8a\\c5\\e7\\e4\\9d\\42\\ee\\5d\\9c\\c4\\eb\\eb\\68\\09\\27\\92\\95\\9a\\11\\54\\73\\c4\\12\\80\\fb\\7d\\fe\\c5\\08\\60\\7f\\36\\41\\e0\\10\\ba\\d6\\2b\\6c\\f1\\b4\\17\\fe\\26\\34\\e3\\4b\\f8\\a8\\e3\\91\\be\\4f\\2a\\fc\\da\\81\\b8\\e7\\fe\\d5\\26\\50\\47\\f3\\1a\\65\\32\\81\\e0\\05\\b8\\4f\\32\\31\\26\\00\\4a\\53\\97\\c2\\c3\\0e\\2e\\a1\\26\\54\\ab\\05\\8e\\56\\2f\\7d\\af\\22\\84\\68\\a5\\8b\\97\\f6\\a4\\fd\\a8\\cc\\75\\41\\96\\86\\fd\\27\\3d\\29\\86\\8d\\7f\\4c\\d4\\8e\\73\\41\\f4\\1e\\e2\\dd\\58\\27\\97\\ce\\9c\\94\\cf\\7a\\04\\2f\\dc\\ed"
+ ))
+
+ (func (export "f64.kahan_sum") (param $$p i32) (param $$n i32) (result f64)
+ (local $$sum f64)
+ (local $$c f64)
+ (local $$t f64)
+ (block $$exit
+ (loop $$top
+ (local.set $$t
+ (f64.sub
+ (f64.sub
+ (local.tee $$sum
+ (f64.add
+ (local.get $$c)
+ (local.tee $$t
+ (f64.sub (f64.load (local.get $$p)) (local.get $$t))
+ )
+ )
+ )
+ (local.get $$c)
+ )
+ (local.get $$t)
+ )
+ )
+ (local.set $$p (i32.add (local.get $$p) (i32.const 8)))
+ (local.set $$c (local.get $$sum))
+ (br_if $$top (local.tee $$n (i32.add (local.get $$n) (i32.const -1))))
+ )
+ )
+ (local.get $$sum)
+ )
+
+ (func (export "f64.plain_sum") (param $$p i32) (param $$n i32) (result f64)
+ (local $$sum f64)
+ (block $$exit
+ (loop $$top
+ (local.set $$sum (f64.add (local.get $$sum) (f64.load (local.get $$p))))
+ (local.set $$p (i32.add (local.get $$p) (i32.const 8)))
+ (local.set $$n (i32.add (local.get $$n) (i32.const -1)))
+ (br_if $$top (local.get $$n))
+ )
+ )
+ (local.get $$sum)
+ )
+)`);
+
+// ./test/core/float_exprs.wast:1581
+assert_return(
+ () => invoke($62, `f64.kahan_sum`, [0, 256]),
+ [
+ value("f64", 4996401743142033000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_exprs.wast:1582
+assert_return(
+ () => invoke($62, `f64.plain_sum`, [0, 256]),
+ [
+ value("f64", 4996401743297957600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_exprs.wast:1586
+let $63 = instantiate(`(module
+ (func (export "f32.no_fold_neg_sub") (param $$x f32) (param $$y f32) (result f32)
+ (f32.neg (f32.sub (local.get $$x) (local.get $$y))))
+
+ (func (export "f64.no_fold_neg_sub") (param $$x f64) (param $$y f64) (result f64)
+ (f64.neg (f64.sub (local.get $$x) (local.get $$y))))
+)`);
+
+// ./test/core/float_exprs.wast:1594
+assert_return(
+ () => invoke($63, `f32.no_fold_neg_sub`, [value("f32", -0), value("f32", -0)]),
+ [value("f32", -0)],
+);
+
+// ./test/core/float_exprs.wast:1595
+assert_return(
+ () => invoke($63, `f32.no_fold_neg_sub`, [value("f32", 0), value("f32", -0)]),
+ [value("f32", -0)],
+);
+
+// ./test/core/float_exprs.wast:1596
+assert_return(
+ () => invoke($63, `f32.no_fold_neg_sub`, [value("f32", -0), value("f32", 0)]),
+ [value("f32", 0)],
+);
+
+// ./test/core/float_exprs.wast:1597
+assert_return(
+ () => invoke($63, `f32.no_fold_neg_sub`, [value("f32", 0), value("f32", 0)]),
+ [value("f32", -0)],
+);
+
+// ./test/core/float_exprs.wast:1599
+assert_return(
+ () => invoke($63, `f64.no_fold_neg_sub`, [value("f64", -0), value("f64", -0)]),
+ [value("f64", -0)],
+);
+
+// ./test/core/float_exprs.wast:1600
+assert_return(
+ () => invoke($63, `f64.no_fold_neg_sub`, [value("f64", 0), value("f64", -0)]),
+ [value("f64", -0)],
+);
+
+// ./test/core/float_exprs.wast:1601
+assert_return(
+ () => invoke($63, `f64.no_fold_neg_sub`, [value("f64", -0), value("f64", 0)]),
+ [value("f64", 0)],
+);
+
+// ./test/core/float_exprs.wast:1602
+assert_return(
+ () => invoke($63, `f64.no_fold_neg_sub`, [value("f64", 0), value("f64", 0)]),
+ [value("f64", -0)],
+);
+
+// ./test/core/float_exprs.wast:1606
+let $64 = instantiate(`(module
+ (func (export "f32.no_fold_neg_add") (param $$x f32) (param $$y f32) (result f32)
+ (f32.neg (f32.add (local.get $$x) (local.get $$y))))
+
+ (func (export "f64.no_fold_neg_add") (param $$x f64) (param $$y f64) (result f64)
+ (f64.neg (f64.add (local.get $$x) (local.get $$y))))
+)`);
+
+// ./test/core/float_exprs.wast:1614
+assert_return(
+ () => invoke($64, `f32.no_fold_neg_add`, [value("f32", -0), value("f32", -0)]),
+ [value("f32", 0)],
+);
+
+// ./test/core/float_exprs.wast:1615
+assert_return(
+ () => invoke($64, `f32.no_fold_neg_add`, [value("f32", 0), value("f32", -0)]),
+ [value("f32", -0)],
+);
+
+// ./test/core/float_exprs.wast:1616
+assert_return(
+ () => invoke($64, `f32.no_fold_neg_add`, [value("f32", -0), value("f32", 0)]),
+ [value("f32", -0)],
+);
+
+// ./test/core/float_exprs.wast:1617
+assert_return(
+ () => invoke($64, `f32.no_fold_neg_add`, [value("f32", 0), value("f32", 0)]),
+ [value("f32", -0)],
+);
+
+// ./test/core/float_exprs.wast:1619
+assert_return(
+ () => invoke($64, `f64.no_fold_neg_add`, [value("f64", -0), value("f64", -0)]),
+ [value("f64", 0)],
+);
+
+// ./test/core/float_exprs.wast:1620
+assert_return(
+ () => invoke($64, `f64.no_fold_neg_add`, [value("f64", 0), value("f64", -0)]),
+ [value("f64", -0)],
+);
+
+// ./test/core/float_exprs.wast:1621
+assert_return(
+ () => invoke($64, `f64.no_fold_neg_add`, [value("f64", -0), value("f64", 0)]),
+ [value("f64", -0)],
+);
+
+// ./test/core/float_exprs.wast:1622
+assert_return(
+ () => invoke($64, `f64.no_fold_neg_add`, [value("f64", 0), value("f64", 0)]),
+ [value("f64", -0)],
+);
+
+// ./test/core/float_exprs.wast:1626
+let $65 = instantiate(`(module
+ (func (export "f32.no_fold_add_neg_neg") (param $$x f32) (param $$y f32) (result f32)
+ (f32.add (f32.neg (local.get $$x)) (f32.neg (local.get $$y))))
+
+ (func (export "f64.no_fold_add_neg_neg") (param $$x f64) (param $$y f64) (result f64)
+ (f64.add (f64.neg (local.get $$x)) (f64.neg (local.get $$y))))
+)`);
+
+// ./test/core/float_exprs.wast:1634
+assert_return(
+ () => invoke($65, `f32.no_fold_add_neg_neg`, [value("f32", -0), value("f32", -0)]),
+ [value("f32", 0)],
+);
+
+// ./test/core/float_exprs.wast:1635
+assert_return(
+ () => invoke($65, `f32.no_fold_add_neg_neg`, [value("f32", 0), value("f32", -0)]),
+ [value("f32", 0)],
+);
+
+// ./test/core/float_exprs.wast:1636
+assert_return(
+ () => invoke($65, `f32.no_fold_add_neg_neg`, [value("f32", -0), value("f32", 0)]),
+ [value("f32", 0)],
+);
+
+// ./test/core/float_exprs.wast:1637
+assert_return(
+ () => invoke($65, `f32.no_fold_add_neg_neg`, [value("f32", 0), value("f32", 0)]),
+ [value("f32", -0)],
+);
+
+// ./test/core/float_exprs.wast:1639
+assert_return(
+ () => invoke($65, `f64.no_fold_add_neg_neg`, [value("f64", -0), value("f64", -0)]),
+ [value("f64", 0)],
+);
+
+// ./test/core/float_exprs.wast:1640
+assert_return(
+ () => invoke($65, `f64.no_fold_add_neg_neg`, [value("f64", 0), value("f64", -0)]),
+ [value("f64", 0)],
+);
+
+// ./test/core/float_exprs.wast:1641
+assert_return(
+ () => invoke($65, `f64.no_fold_add_neg_neg`, [value("f64", -0), value("f64", 0)]),
+ [value("f64", 0)],
+);
+
+// ./test/core/float_exprs.wast:1642
+assert_return(
+ () => invoke($65, `f64.no_fold_add_neg_neg`, [value("f64", 0), value("f64", 0)]),
+ [value("f64", -0)],
+);
+
+// ./test/core/float_exprs.wast:1646
+let $66 = instantiate(`(module
+ (func (export "f32.no_fold_add_neg") (param $$x f32) (result f32)
+ (f32.add (f32.neg (local.get $$x)) (local.get $$x)))
+
+ (func (export "f64.no_fold_add_neg") (param $$x f64) (result f64)
+ (f64.add (f64.neg (local.get $$x)) (local.get $$x)))
+)`);
+
+// ./test/core/float_exprs.wast:1654
+assert_return(() => invoke($66, `f32.no_fold_add_neg`, [value("f32", 0)]), [value("f32", 0)]);
+
+// ./test/core/float_exprs.wast:1655
+assert_return(() => invoke($66, `f32.no_fold_add_neg`, [value("f32", -0)]), [value("f32", 0)]);
+
+// ./test/core/float_exprs.wast:1656
+assert_return(() => invoke($66, `f32.no_fold_add_neg`, [value("f32", Infinity)]), [`canonical_nan`]);
+
+// ./test/core/float_exprs.wast:1657
+assert_return(() => invoke($66, `f32.no_fold_add_neg`, [value("f32", -Infinity)]), [`canonical_nan`]);
+
+// ./test/core/float_exprs.wast:1659
+assert_return(() => invoke($66, `f64.no_fold_add_neg`, [value("f64", 0)]), [value("f64", 0)]);
+
+// ./test/core/float_exprs.wast:1660
+assert_return(() => invoke($66, `f64.no_fold_add_neg`, [value("f64", -0)]), [value("f64", 0)]);
+
+// ./test/core/float_exprs.wast:1661
+assert_return(() => invoke($66, `f64.no_fold_add_neg`, [value("f64", Infinity)]), [`canonical_nan`]);
+
+// ./test/core/float_exprs.wast:1662
+assert_return(() => invoke($66, `f64.no_fold_add_neg`, [value("f64", -Infinity)]), [`canonical_nan`]);
+
+// ./test/core/float_exprs.wast:1666
+let $67 = instantiate(`(module
+ (func (export "f32.no_fold_6x_via_add") (param $$x f32) (result f32)
+ (f32.add (f32.add (f32.add (f32.add (f32.add
+ (local.get $$x)
+ (local.get $$x)) (local.get $$x)) (local.get $$x))
+ (local.get $$x)) (local.get $$x)))
+
+ (func (export "f64.no_fold_6x_via_add") (param $$x f64) (result f64)
+ (f64.add (f64.add (f64.add (f64.add (f64.add
+ (local.get $$x)
+ (local.get $$x)) (local.get $$x)) (local.get $$x))
+ (local.get $$x)) (local.get $$x)))
+)`);
+
+// ./test/core/float_exprs.wast:1680
+assert_return(
+ () => invoke($67, `f32.no_fold_6x_via_add`, [
+ value("f32", -855513700000000000000000000000),
+ ]),
+ [value("f32", -5133083000000000000000000000000)],
+);
+
+// ./test/core/float_exprs.wast:1681
+assert_return(
+ () => invoke($67, `f32.no_fold_6x_via_add`, [
+ value("f32", -0.00000000000000000000001209506),
+ ]),
+ [value("f32", -0.00000000000000000000007257036)],
+);
+
+// ./test/core/float_exprs.wast:1682
+assert_return(
+ () => invoke($67, `f32.no_fold_6x_via_add`, [
+ value("f32", 0.000000000000000000000006642689),
+ ]),
+ [value("f32", 0.000000000000000000000039856134)],
+);
+
+// ./test/core/float_exprs.wast:1683
+assert_return(
+ () => invoke($67, `f32.no_fold_6x_via_add`, [value("f32", -0.0000000006147346)]),
+ [value("f32", -0.0000000036884074)],
+);
+
+// ./test/core/float_exprs.wast:1684
+assert_return(
+ () => invoke($67, `f32.no_fold_6x_via_add`, [
+ value("f32", -1209858100000000000000000),
+ ]),
+ [value("f32", -7259148300000000000000000)],
+);
+
+// ./test/core/float_exprs.wast:1686
+assert_return(
+ () => invoke($67, `f64.no_fold_6x_via_add`, [value("f64", -351704490602771400000)]),
+ [value("f64", -2110226943616628600000)],
+);
+
+// ./test/core/float_exprs.wast:1687
+assert_return(
+ () => invoke($67, `f64.no_fold_6x_via_add`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014824294109868734),
+ ]),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008894576465921239),
+ ],
+);
+
+// ./test/core/float_exprs.wast:1688
+assert_return(
+ () => invoke($67, `f64.no_fold_6x_via_add`, [
+ value("f64", -7484567838781003000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -44907407032686014000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_exprs.wast:1689
+assert_return(
+ () => invoke($67, `f64.no_fold_6x_via_add`, [
+ value("f64", 17277868192936067000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 103667209157616410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_exprs.wast:1690
+assert_return(
+ () => invoke($67, `f64.no_fold_6x_via_add`, [
+ value("f64", -43116397525195610000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -258698385151173640000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_exprs.wast:1695
+let $68 = instantiate(`(module
+ (func (export "f32.no_fold_div_div") (param $$x f32) (param $$y f32) (param $$z f32) (result f32)
+ (f32.div (f32.div (local.get $$x) (local.get $$y)) (local.get $$z)))
+
+ (func (export "f64.no_fold_div_div") (param $$x f64) (param $$y f64) (param $$z f64) (result f64)
+ (f64.div (f64.div (local.get $$x) (local.get $$y)) (local.get $$z)))
+)`);
+
+// ./test/core/float_exprs.wast:1703
+assert_return(
+ () => invoke($68, `f32.no_fold_div_div`, [
+ value("f32", -593847530000000000000000),
+ value("f32", -0.000030265672),
+ value("f32", -1584.8682),
+ ]),
+ [value("f32", -12380309000000000000000000)],
+);
+
+// ./test/core/float_exprs.wast:1704
+assert_return(
+ () => invoke($68, `f32.no_fold_div_div`, [
+ value("f32", 0.0000000000000000000015438962),
+ value("f32", 2533429300000000000000000000000000),
+ value("f32", -0.00000000000000000000000000000000026844783),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/float_exprs.wast:1705
+assert_return(
+ () => invoke($68, `f32.no_fold_div_div`, [
+ value("f32", 13417423000000),
+ value("f32", 0.000000000000000000000000000000029339205),
+ value("f32", 76386374000000000000000000000000),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/float_exprs.wast:1706
+assert_return(
+ () => invoke($68, `f32.no_fold_div_div`, [
+ value("f32", -0.00010776529),
+ value("f32", -34220943000000000000000000000000000000),
+ value("f32", -0.00000000000016562324),
+ ]),
+ [value("f32", -0.000000000000000000000000000019011327)],
+);
+
+// ./test/core/float_exprs.wast:1707
+assert_return(
+ () => invoke($68, `f32.no_fold_div_div`, [
+ value("f32", 130582500000000),
+ value("f32", 96245350000000000),
+ value("f32", -41461545000000000000000000000000000000),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000032723)],
+);
+
+// ./test/core/float_exprs.wast:1709
+assert_return(
+ () => invoke($68, `f64.no_fold_div_div`, [
+ value("f64", 477762874671014340000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 102786720420404010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000718999894988884),
+ ]),
+ [
+ value("f64", -64646730118787990000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_exprs.wast:1710
+assert_return(
+ () => invoke($68, `f64.no_fold_div_div`, [
+ value("f64", -21790236783875714000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.0000000028324436844616576),
+ value("f64", 186110768259868700000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -41336068079920670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_exprs.wast:1711
+assert_return(
+ () => invoke($68, `f64.no_fold_div_div`, [
+ value("f64", -7.287619347826683),
+ value("f64", -13467607316739855000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 2462719007013688000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000219725454),
+ ],
+);
+
+// ./test/core/float_exprs.wast:1712
+assert_return(
+ () => invoke($68, `f64.no_fold_div_div`, [
+ value("f64", -286552397862963300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010211980370639414),
+ value("f64", 28764586483324010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/float_exprs.wast:1713
+assert_return(
+ () => invoke($68, `f64.no_fold_div_div`, [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009525735602663874),
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050233948816631796),
+ value("f64", -0.0000000000000000000000000000000000000000028304570228221077),
+ ]),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000006699534674970116),
+ ],
+);
+
+// ./test/core/float_exprs.wast:1719
+let $69 = instantiate(`(module
+ (func (export "f32.no_fold_mul_divs") (param $$x f32) (param $$y f32) (param $$z f32) (param $$w f32) (result f32)
+ (f32.mul (f32.div (local.get $$x) (local.get $$y)) (f32.div (local.get $$z) (local.get $$w))))
+
+ (func (export "f64.no_fold_mul_divs") (param $$x f64) (param $$y f64) (param $$z f64) (param $$w f64) (result f64)
+ (f64.mul (f64.div (local.get $$x) (local.get $$y)) (f64.div (local.get $$z) (local.get $$w))))
+)`);
+
+// ./test/core/float_exprs.wast:1727
+assert_return(
+ () => invoke($69, `f32.no_fold_mul_divs`, [
+ value("f32", -0.0000000000000000000000000000000027234733),
+ value("f32", 0.0000000000000000000000000003897843),
+ value("f32", 0.000000000000000000000000004847123),
+ value("f32", -25.357775),
+ ]),
+ [value("f32", 0.0000000000000000000000000000000013355855)],
+);
+
+// ./test/core/float_exprs.wast:1728
+assert_return(
+ () => invoke($69, `f32.no_fold_mul_divs`, [
+ value("f32", -5372844000000000000000000000000),
+ value("f32", 38340910),
+ value("f32", 0.000014973162),
+ value("f32", 0.19213825),
+ ]),
+ [value("f32", -10920475000000000000)],
+);
+
+// ./test/core/float_exprs.wast:1729
+assert_return(
+ () => invoke($69, `f32.no_fold_mul_divs`, [
+ value("f32", -16085042000),
+ value("f32", -1092920200000),
+ value("f32", -869606000),
+ value("f32", -1201.206),
+ ]),
+ [value("f32", 10654.639)],
+);
+
+// ./test/core/float_exprs.wast:1730
+assert_return(
+ () => invoke($69, `f32.no_fold_mul_divs`, [
+ value("f32", -1271223140000000000000000000000000),
+ value("f32", 0.00000000010768114),
+ value("f32", 0.000018576271),
+ value("f32", 492686200000000000000000),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/float_exprs.wast:1731
+assert_return(
+ () => invoke($69, `f32.no_fold_mul_divs`, [
+ value("f32", 0.00000000000000013783864),
+ value("f32", -0.000000000000000000065046285),
+ value("f32", 0.00000000000000000000000000068167684),
+ value("f32", 0.000000000022892627),
+ ]),
+ [value("f32", -0.000000000000063100295)],
+);
+
+// ./test/core/float_exprs.wast:1733
+assert_return(
+ () => invoke($69, `f64.no_fold_mul_divs`, [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003466499805233369),
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004045567512248635),
+ value("f64", -646234107060759200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 100455895333540740000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -55.12215321310017)],
+);
+
+// ./test/core/float_exprs.wast:1734
+assert_return(
+ () => invoke($69, `f64.no_fold_mul_divs`, [
+ value("f64", -50548839076363250000000000000000000),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022223781649976275),
+ value("f64", -15029790371100852000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -699412375953812100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/float_exprs.wast:1735
+assert_return(
+ () => invoke($69, `f64.no_fold_mul_divs`, [
+ value("f64", -836111653634494700000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -10029528876067567000000000000000000000000000000000000000000),
+ value("f64", -0.0000000000000000000000000000000000000000012867801766038772),
+ value("f64", -42230277746883753000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002540178100556387),
+ ],
+);
+
+// ./test/core/float_exprs.wast:1736
+assert_return(
+ () => invoke($69, `f64.no_fold_mul_divs`, [
+ value("f64", -1202003211641119300000000000000000000000),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004667409771338769),
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010888652376540085),
+ value("f64", 18334948666517216000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/float_exprs.wast:1737
+assert_return(
+ () => invoke($69, `f64.no_fold_mul_divs`, [
+ value("f64", 0.000006331839568840419),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000005544474241905778),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000027822472480359097),
+ value("f64", -14419321081893022000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022035374770746518),
+ ],
+);
+
+// ./test/core/float_exprs.wast:1741
+let $70 = instantiate(`(module
+ (func (export "f32.no_fold_add_divs") (param $$x f32) (param $$y f32) (param $$z f32) (result f32)
+ (f32.add (f32.div (local.get $$x) (local.get $$z)) (f32.div (local.get $$y) (local.get $$z))))
+
+ (func (export "f64.no_fold_add_divs") (param $$x f64) (param $$y f64) (param $$z f64) (result f64)
+ (f64.add (f64.div (local.get $$x) (local.get $$z)) (f64.div (local.get $$y) (local.get $$z))))
+)`);
+
+// ./test/core/float_exprs.wast:1749
+assert_return(
+ () => invoke($70, `f32.no_fold_add_divs`, [
+ value("f32", 377.3689),
+ value("f32", -0.040118184),
+ value("f32", -136292990000000000000000000000000000000),
+ ]),
+ [value("f32", -0.0000000000000000000000000000000000027685121)],
+);
+
+// ./test/core/float_exprs.wast:1750
+assert_return(
+ () => invoke($70, `f32.no_fold_add_divs`, [
+ value("f32", -0.00000000000000000018234023),
+ value("f32", -0.0000000000000033970288),
+ value("f32", -170996700000000),
+ ]),
+ [value("f32", 0.000000000000000000000000000019867115)],
+);
+
+// ./test/core/float_exprs.wast:1751
+assert_return(
+ () => invoke($70, `f32.no_fold_add_divs`, [
+ value("f32", -0.000000000000019672638),
+ value("f32", 0.00000000000000000006414099),
+ value("f32", -541989070000000),
+ ]),
+ [value("f32", 0.000000000000000000000000000036296997)],
+);
+
+// ./test/core/float_exprs.wast:1752
+assert_return(
+ () => invoke($70, `f32.no_fold_add_divs`, [
+ value("f32", -0.0000000000000000000000000000004038506),
+ value("f32", 0.000000000000000000000000000003848228),
+ value("f32", -345237200000000000000000000),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/float_exprs.wast:1753
+assert_return(
+ () => invoke($70, `f32.no_fold_add_divs`, [
+ value("f32", 0.0010934415),
+ value("f32", 0.20703124),
+ value("f32", 0.00000000000000000000000000000000000013509784),
+ ]),
+ [value("f32", 1540547700000000000000000000000000000)],
+);
+
+// ./test/core/float_exprs.wast:1755
+assert_return(
+ () => invoke($70, `f64.no_fold_add_divs`, [
+ value("f64", -4917019432143760000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 68132156322019020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 26125410100237784000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024196801752520584),
+ ],
+);
+
+// ./test/core/float_exprs.wast:1756
+assert_return(
+ () => invoke($70, `f64.no_fold_add_divs`, [
+ value("f64", -10206467953224550),
+ value("f64", 63.422616671746226),
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016024747869814892),
+ ]),
+ [
+ value("f64", 6369190976445851000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_exprs.wast:1757
+assert_return(
+ () => invoke($70, `f64.no_fold_add_divs`, [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000015270569633109837),
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000025755503329232514),
+ value("f64", 58826939164214920000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/float_exprs.wast:1758
+assert_return(
+ () => invoke($70, `f64.no_fold_add_divs`, [
+ value("f64", 26667964874394640000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -2131569252493657800000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.000000000000000000000000000000000000012377004518680012),
+ ]),
+ [
+ value("f64", -172217969324625340000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_exprs.wast:1759
+assert_return(
+ () => invoke($70, `f64.no_fold_add_divs`, [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012952888377288216),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005808769259900048),
+ value("f64", 0.0000000000000000000016745741699443756),
+ ]),
+ [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007735034106987796),
+ ],
+);
+
+// ./test/core/float_exprs.wast:1763
+let $71 = instantiate(`(module
+ (func (export "f32.no_fold_sqrt_square") (param $$x f32) (result f32)
+ (f32.sqrt (f32.mul (local.get $$x) (local.get $$x))))
+
+ (func (export "f64.no_fold_sqrt_square") (param $$x f64) (result f64)
+ (f64.sqrt (f64.mul (local.get $$x) (local.get $$x))))
+)`);
+
+// ./test/core/float_exprs.wast:1771
+assert_return(
+ () => invoke($71, `f32.no_fold_sqrt_square`, [
+ value("f32", -0.00000000000000000001846),
+ ]),
+ [value("f32", 0.00000000000000000001846001)],
+);
+
+// ./test/core/float_exprs.wast:1772
+assert_return(
+ () => invoke($71, `f32.no_fold_sqrt_square`, [
+ value("f32", -0.00000000000000000000017907473),
+ ]),
+ [value("f32", 0.00000000000000000000017952678)],
+);
+
+// ./test/core/float_exprs.wast:1773
+assert_return(
+ () => invoke($71, `f32.no_fold_sqrt_square`, [
+ value("f32", -0.00000000000000000000079120785),
+ ]),
+ [value("f32", 0.000000000000000000000791442)],
+);
+
+// ./test/core/float_exprs.wast:1774
+assert_return(
+ () => invoke($71, `f32.no_fold_sqrt_square`, [
+ value("f32", 0.000000000000000000000000018012938),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/float_exprs.wast:1775
+assert_return(
+ () => invoke($71, `f32.no_fold_sqrt_square`, [
+ value("f32", 610501970000000000000000000000000),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/float_exprs.wast:1777
+assert_return(
+ () => invoke($71, `f64.no_fold_sqrt_square`, [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006209297167747496),
+ ]),
+ [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006209299542179727),
+ ],
+);
+
+// ./test/core/float_exprs.wast:1778
+assert_return(
+ () => invoke($71, `f64.no_fold_sqrt_square`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024211175303738945),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024211175303738937),
+ ],
+);
+
+// ./test/core/float_exprs.wast:1779
+assert_return(
+ () => invoke($71, `f64.no_fold_sqrt_square`, [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016460687611875645),
+ ]),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016460687611532367),
+ ],
+);
+
+// ./test/core/float_exprs.wast:1780
+assert_return(
+ () => invoke($71, `f64.no_fold_sqrt_square`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003797811613378828),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/float_exprs.wast:1781
+assert_return(
+ () => invoke($71, `f64.no_fold_sqrt_square`, [
+ value("f64", 815808428460559200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/float_exprs.wast:1785
+let $72 = instantiate(`(module
+ (func (export "f32.no_fold_mul_sqrts") (param $$x f32) (param $$y f32) (result f32)
+ (f32.mul (f32.sqrt (local.get $$x)) (f32.sqrt (local.get $$y))))
+
+ (func (export "f64.no_fold_mul_sqrts") (param $$x f64) (param $$y f64) (result f64)
+ (f64.mul (f64.sqrt (local.get $$x)) (f64.sqrt (local.get $$y))))
+)`);
+
+// ./test/core/float_exprs.wast:1793
+assert_return(
+ () => invoke($72, `f32.no_fold_mul_sqrts`, [
+ value("f32", 0.000000000000000000000000000000000000043885047),
+ value("f32", -0.00000000000000000000000011867334),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/float_exprs.wast:1794
+assert_return(
+ () => invoke($72, `f32.no_fold_mul_sqrts`, [
+ value("f32", 0.00000000000000000000000000025365908),
+ value("f32", 0.00000000041320675),
+ ]),
+ [value("f32", 0.00000000000000000032374932)],
+);
+
+// ./test/core/float_exprs.wast:1795
+assert_return(
+ () => invoke($72, `f32.no_fold_mul_sqrts`, [
+ value("f32", 0.0000000000000000000000000042144832),
+ value("f32", 97.249115),
+ ]),
+ [value("f32", 0.00000000000064019905)],
+);
+
+// ./test/core/float_exprs.wast:1796
+assert_return(
+ () => invoke($72, `f32.no_fold_mul_sqrts`, [
+ value("f32", 3724076300000000000000000000000),
+ value("f32", 0.002944908),
+ ]),
+ [value("f32", 104723750000000)],
+);
+
+// ./test/core/float_exprs.wast:1797
+assert_return(
+ () => invoke($72, `f32.no_fold_mul_sqrts`, [
+ value("f32", 0.00000000000000001866056),
+ value("f32", 0.002111261),
+ ]),
+ [value("f32", 0.00000000019848755)],
+);
+
+// ./test/core/float_exprs.wast:1799
+assert_return(
+ () => invoke($72, `f64.no_fold_mul_sqrts`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012742064369772862),
+ value("f64", -0.006829962938197246),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/float_exprs.wast:1800
+assert_return(
+ () => invoke($72, `f64.no_fold_mul_sqrts`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000037082569269527534),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000047183002857015043),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041829020688865954),
+ ],
+);
+
+// ./test/core/float_exprs.wast:1801
+assert_return(
+ () => invoke($72, `f64.no_fold_mul_sqrts`, [
+ value("f64", 0.000000000000000000000000002329359505918655),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020743399642806364),
+ ]),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021981545701574452),
+ ],
+);
+
+// ./test/core/float_exprs.wast:1802
+assert_return(
+ () => invoke($72, `f64.no_fold_mul_sqrts`, [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010541899336289437),
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000598123819872803),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002511047809129887),
+ ],
+);
+
+// ./test/core/float_exprs.wast:1803
+assert_return(
+ () => invoke($72, `f64.no_fold_mul_sqrts`, [
+ value("f64", 25589482.717358638),
+ value("f64", 39138912071199020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 1000771959050695500000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_exprs.wast:1807
+let $73 = instantiate(`(module
+ (func (export "f32.no_fold_div_sqrts") (param $$x f32) (param $$y f32) (result f32)
+ (f32.div (f32.sqrt (local.get $$x)) (f32.sqrt (local.get $$y))))
+
+ (func (export "f64.no_fold_div_sqrts") (param $$x f64) (param $$y f64) (result f64)
+ (f64.div (f64.sqrt (local.get $$x)) (f64.sqrt (local.get $$y))))
+)`);
+
+// ./test/core/float_exprs.wast:1815
+assert_return(
+ () => invoke($73, `f32.no_fold_div_sqrts`, [
+ value("f32", -58545012),
+ value("f32", -0.000000000000000006443773),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/float_exprs.wast:1816
+assert_return(
+ () => invoke($73, `f32.no_fold_div_sqrts`, [
+ value("f32", 7407384000),
+ value("f32", 209778930),
+ ]),
+ [value("f32", 5.9422584)],
+);
+
+// ./test/core/float_exprs.wast:1817
+assert_return(
+ () => invoke($73, `f32.no_fold_div_sqrts`, [
+ value("f32", 0.0000000000000000000000000000000000013764126),
+ value("f32", 54692.9),
+ ]),
+ [value("f32", 0.0000000000000000000050165927)],
+);
+
+// ./test/core/float_exprs.wast:1818
+assert_return(
+ () => invoke($73, `f32.no_fold_div_sqrts`, [
+ value("f32", 979288960000000000),
+ value("f32", 0.0000000012643552),
+ ]),
+ [value("f32", 27830490000000)],
+);
+
+// ./test/core/float_exprs.wast:1819
+assert_return(
+ () => invoke($73, `f32.no_fold_div_sqrts`, [
+ value("f32", 0.00000000000000000000000000000000029141283),
+ value("f32", 0.00000000000000000000000000000017928174),
+ ]),
+ [value("f32", 0.04031682)],
+);
+
+// ./test/core/float_exprs.wast:1821
+assert_return(
+ () => invoke($73, `f64.no_fold_div_sqrts`, [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012206137319883022),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000008209583449676083),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/float_exprs.wast:1822
+assert_return(
+ () => invoke($73, `f64.no_fold_div_sqrts`, [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000033818852462305824),
+ value("f64", 7655783976315048000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021017671425665687),
+ ],
+);
+
+// ./test/core/float_exprs.wast:1823
+assert_return(
+ () => invoke($73, `f64.no_fold_div_sqrts`, [
+ value("f64", 45963335670647510000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.0000000000000000000000000000000023932467846883046),
+ ]),
+ [
+ value("f64", 138583660172663150000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_exprs.wast:1824
+assert_return(
+ () => invoke($73, `f64.no_fold_div_sqrts`, [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000025327340978668086),
+ value("f64", 4475305129961258000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023789399141325018),
+ ],
+);
+
+// ./test/core/float_exprs.wast:1825
+assert_return(
+ () => invoke($73, `f64.no_fold_div_sqrts`, [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005103070160197939),
+ value("f64", 460157669098082500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010530826009924495),
+ ],
+);
+
+// ./test/core/float_exprs.wast:1829
+let $74 = instantiate(`(module
+ (func (export "f32.no_fold_mul_sqrt_div") (param $$x f32) (param $$y f32) (result f32)
+ (f32.div (f32.mul (local.get $$x) (f32.sqrt (local.get $$y))) (local.get $$y)))
+
+ (func (export "f64.no_fold_mul_sqrt_div") (param $$x f64) (param $$y f64) (result f64)
+ (f64.div (f64.mul (local.get $$x) (f64.sqrt (local.get $$y))) (local.get $$y)))
+)`);
+
+// ./test/core/float_exprs.wast:1837
+assert_return(
+ () => invoke($74, `f32.no_fold_mul_sqrt_div`, [
+ value("f32", -4728556800000000000000000),
+ value("f32", 8677282000000000000000000000),
+ ]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/float_exprs.wast:1838
+assert_return(
+ () => invoke($74, `f32.no_fold_mul_sqrt_div`, [
+ value("f32", -0.0000000000000000000000000000000000011776882),
+ value("f32", 0.000000000000000000000000000009805153),
+ ]),
+ [value("f32", -0)],
+);
+
+// ./test/core/float_exprs.wast:1839
+assert_return(
+ () => invoke($74, `f32.no_fold_mul_sqrt_div`, [
+ value("f32", 816717060),
+ value("f32", 0.000000000000000000000000000000000000003323171),
+ ]),
+ [value("f32", 14167568000000000000000000000)],
+);
+
+// ./test/core/float_exprs.wast:1840
+assert_return(
+ () => invoke($74, `f32.no_fold_mul_sqrt_div`, [
+ value("f32", -11932267000000),
+ value("f32", 8637067000000000000000000000000000),
+ ]),
+ [value("f32", -0.00012839255)],
+);
+
+// ./test/core/float_exprs.wast:1841
+assert_return(
+ () => invoke($74, `f32.no_fold_mul_sqrt_div`, [
+ value("f32", -401.0235),
+ value("f32", 134.33022),
+ ]),
+ [value("f32", -34.600548)],
+);
+
+// ./test/core/float_exprs.wast:1843
+assert_return(
+ () => invoke($74, `f64.no_fold_mul_sqrt_div`, [
+ value("f64", 1468134622910490500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 2466074582285183000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/float_exprs.wast:1844
+assert_return(
+ () => invoke($74, `f64.no_fold_mul_sqrt_div`, [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000017254022016758028),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000055835540747130025),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/float_exprs.wast:1845
+assert_return(
+ () => invoke($74, `f64.no_fold_mul_sqrt_div`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016812810256029166),
+ value("f64", 7362783602442129000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006196112486187196),
+ ],
+);
+
+// ./test/core/float_exprs.wast:1846
+assert_return(
+ () => invoke($74, `f64.no_fold_mul_sqrt_div`, [
+ value("f64", -10605483729939836000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000622591783694072),
+ ]),
+ [
+ value("f64", -42503900822233765000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_exprs.wast:1847
+assert_return(
+ () => invoke($74, `f64.no_fold_mul_sqrt_div`, [
+ value("f64", 26336349695373093000000000000000),
+ value("f64", 30791413285853300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004746142447510695),
+ ],
+);
+
+// ./test/core/float_exprs.wast:1852
+let $75 = instantiate(`(module
+ (func (export "f32.no_flush_intermediate_subnormal") (param $$x f32) (param $$y f32) (param $$z f32) (result f32)
+ (f32.mul (f32.mul (local.get $$x) (local.get $$y)) (local.get $$z)))
+
+ (func (export "f64.no_flush_intermediate_subnormal") (param $$x f64) (param $$y f64) (param $$z f64) (result f64)
+ (f64.mul (f64.mul (local.get $$x) (local.get $$y)) (local.get $$z)))
+)`);
+
+// ./test/core/float_exprs.wast:1860
+assert_return(
+ () => invoke($75, `f32.no_flush_intermediate_subnormal`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.00000011920929),
+ value("f32", 8388608),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/float_exprs.wast:1861
+assert_return(
+ () => invoke($75, `f64.no_flush_intermediate_subnormal`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.0000000000000002220446049250313),
+ value("f64", 4503599627370496),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/float_exprs.wast:1866
+let $76 = instantiate(`(module
+ (func (export "f32.recoding_eq") (param $$x f32) (param $$y f32) (result i32)
+ (f32.eq (f32.mul (local.get $$x) (local.get $$y)) (local.get $$x)))
+
+ (func (export "f32.recoding_le") (param $$x f32) (param $$y f32) (result i32)
+ (f32.le (f32.mul (local.get $$x) (local.get $$y)) (local.get $$x)))
+
+ (func (export "f32.recoding_lt") (param $$x f32) (param $$y f32) (result i32)
+ (f32.lt (f32.mul (local.get $$x) (local.get $$y)) (local.get $$x)))
+
+ (func (export "f64.recoding_eq") (param $$x f64) (param $$y f64) (result i32)
+ (f64.eq (f64.mul (local.get $$x) (local.get $$y)) (local.get $$x)))
+
+ (func (export "f64.recoding_le") (param $$x f64) (param $$y f64) (result i32)
+ (f64.le (f64.mul (local.get $$x) (local.get $$y)) (local.get $$x)))
+
+ (func (export "f64.recoding_lt") (param $$x f64) (param $$y f64) (result i32)
+ (f64.lt (f64.mul (local.get $$x) (local.get $$y)) (local.get $$x)))
+
+ (func (export "recoding_demote") (param $$x f64) (param $$y f32) (result f32)
+ (f32.mul (f32.demote_f64 (local.get $$x)) (local.get $$y)))
+)`);
+
+// ./test/core/float_exprs.wast:1889
+assert_return(
+ () => invoke($76, `f32.recoding_eq`, [value("f32", -Infinity), value("f32", 3)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/float_exprs.wast:1890
+assert_return(
+ () => invoke($76, `f32.recoding_le`, [value("f32", -Infinity), value("f32", 3)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/float_exprs.wast:1891
+assert_return(
+ () => invoke($76, `f32.recoding_lt`, [value("f32", -Infinity), value("f32", 3)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/float_exprs.wast:1893
+assert_return(
+ () => invoke($76, `f32.recoding_eq`, [value("f32", 0), value("f32", 1)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/float_exprs.wast:1894
+assert_return(
+ () => invoke($76, `f32.recoding_le`, [value("f32", 0), value("f32", 1)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/float_exprs.wast:1895
+assert_return(
+ () => invoke($76, `f32.recoding_lt`, [value("f32", 0), value("f32", 1)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/float_exprs.wast:1897
+assert_return(
+ () => invoke($76, `f64.recoding_eq`, [value("f64", -Infinity), value("f64", 3)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/float_exprs.wast:1898
+assert_return(
+ () => invoke($76, `f64.recoding_le`, [value("f64", -Infinity), value("f64", 3)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/float_exprs.wast:1899
+assert_return(
+ () => invoke($76, `f64.recoding_lt`, [value("f64", -Infinity), value("f64", 3)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/float_exprs.wast:1901
+assert_return(
+ () => invoke($76, `f64.recoding_eq`, [value("f64", 0), value("f64", 1)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/float_exprs.wast:1902
+assert_return(
+ () => invoke($76, `f64.recoding_le`, [value("f64", 0), value("f64", 1)]),
+ [value("i32", 1)],
+);
+
+// ./test/core/float_exprs.wast:1903
+assert_return(
+ () => invoke($76, `f64.recoding_lt`, [value("f64", 0), value("f64", 1)]),
+ [value("i32", 0)],
+);
+
+// ./test/core/float_exprs.wast:1905
+assert_return(
+ () => invoke($76, `recoding_demote`, [
+ value("f64", 0.00000000000000000000000000000000000000023860049081905093),
+ value("f32", 1221),
+ ]),
+ [value("f32", 0.0000000000000000000000000000000000002913312)],
+);
+
+// ./test/core/float_exprs.wast:1910
+let $77 = instantiate(`(module
+ (func (export "f32.no_extended_precision_div") (param $$x f32) (param $$y f32) (param $$z f32) (result i32)
+ (f32.eq (f32.div (local.get $$x) (local.get $$y)) (local.get $$z)))
+
+ (func (export "f64.no_extended_precision_div") (param $$x f64) (param $$y f64) (param $$z f64) (result i32)
+ (f64.eq (f64.div (local.get $$x) (local.get $$y)) (local.get $$z)))
+)`);
+
+// ./test/core/float_exprs.wast:1918
+assert_return(
+ () => invoke($77, `f32.no_extended_precision_div`, [
+ value("f32", 3),
+ value("f32", 7),
+ value("f32", 0.42857143),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/float_exprs.wast:1919
+assert_return(
+ () => invoke($77, `f64.no_extended_precision_div`, [
+ value("f64", 3),
+ value("f64", 7),
+ value("f64", 0.42857142857142855),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/float_exprs.wast:1926
+let $78 = instantiate(`(module
+ (func (export "f32.no_distribute_exact") (param $$x f32) (result f32)
+ (f32.add (f32.mul (f32.const -8.0) (local.get $$x)) (f32.mul (f32.const 8.0) (local.get $$x))))
+
+ (func (export "f64.no_distribute_exact") (param $$x f64) (result f64)
+ (f64.add (f64.mul (f64.const -8.0) (local.get $$x)) (f64.mul (f64.const 8.0) (local.get $$x))))
+)`);
+
+// ./test/core/float_exprs.wast:1934
+assert_return(() => invoke($78, `f32.no_distribute_exact`, [value("f32", -0)]), [value("f32", 0)]);
+
+// ./test/core/float_exprs.wast:1935
+assert_return(() => invoke($78, `f64.no_distribute_exact`, [value("f64", -0)]), [value("f64", 0)]);
+
+// ./test/core/float_exprs.wast:1940
+let $79 = instantiate(`(module
+ (func (export "f32.sqrt") (param f32) (result f32)
+ (f32.sqrt (local.get 0)))
+
+ (func (export "f32.xkcd_sqrt_2") (param f32) (param f32) (param f32) (param f32) (result f32)
+ (f32.add (f32.div (local.get 0) (local.get 1)) (f32.div (local.get 2) (f32.sub (local.get 3) (local.get 2)))))
+
+ (func (export "f32.xkcd_sqrt_3") (param f32) (param f32) (param f32) (result f32)
+ (f32.div (f32.mul (local.get 0) (local.get 1)) (local.get 2)))
+
+ (func (export "f32.xkcd_sqrt_5") (param f32) (param f32) (param f32) (result f32)
+ (f32.add (f32.div (local.get 0) (local.get 1)) (f32.div (local.get 2) (local.get 0))))
+
+ (func (export "f32.xkcd_better_sqrt_5") (param f32) (param f32) (param f32) (param f32) (result f32)
+ (f32.div (f32.add (local.get 0) (f32.mul (local.get 1) (local.get 2))) (f32.sub (local.get 3) (f32.mul (local.get 1) (local.get 2)))))
+
+ (func (export "f64.sqrt") (param f64) (result f64)
+ (f64.sqrt (local.get 0)))
+
+ (func (export "f64.xkcd_sqrt_2") (param f64) (param f64) (param f64) (param f64) (result f64)
+ (f64.add (f64.div (local.get 0) (local.get 1)) (f64.div (local.get 2) (f64.sub (local.get 3) (local.get 2)))))
+
+ (func (export "f64.xkcd_sqrt_3") (param f64) (param f64) (param f64) (result f64)
+ (f64.div (f64.mul (local.get 0) (local.get 1)) (local.get 2)))
+
+ (func (export "f64.xkcd_sqrt_5") (param f64) (param f64) (param f64) (result f64)
+ (f64.add (f64.div (local.get 0) (local.get 1)) (f64.div (local.get 2) (local.get 0))))
+
+ (func (export "f64.xkcd_better_sqrt_5") (param f64) (param f64) (param f64) (param f64) (result f64)
+ (f64.div (f64.add (local.get 0) (f64.mul (local.get 1) (local.get 2))) (f64.sub (local.get 3) (f64.mul (local.get 1) (local.get 2)))))
+)`);
+
+// ./test/core/float_exprs.wast:1972
+assert_return(() => invoke($79, `f32.sqrt`, [value("f32", 2)]), [value("f32", 1.4142135)]);
+
+// ./test/core/float_exprs.wast:1973
+assert_return(
+ () => invoke($79, `f32.xkcd_sqrt_2`, [
+ value("f32", 3),
+ value("f32", 5),
+ value("f32", 3.1415927),
+ value("f32", 7),
+ ]),
+ [value("f32", 1.4142201)],
+);
+
+// ./test/core/float_exprs.wast:1974
+assert_return(() => invoke($79, `f32.sqrt`, [value("f32", 3)]), [value("f32", 1.7320508)]);
+
+// ./test/core/float_exprs.wast:1975
+assert_return(
+ () => invoke($79, `f32.xkcd_sqrt_3`, [
+ value("f32", 2),
+ value("f32", 2.7182817),
+ value("f32", 3.1415927),
+ ]),
+ [value("f32", 1.7305119)],
+);
+
+// ./test/core/float_exprs.wast:1976
+assert_return(() => invoke($79, `f32.sqrt`, [value("f32", 5)]), [value("f32", 2.236068)]);
+
+// ./test/core/float_exprs.wast:1977
+assert_return(
+ () => invoke($79, `f32.xkcd_sqrt_5`, [
+ value("f32", 2),
+ value("f32", 2.7182817),
+ value("f32", 3),
+ ]),
+ [value("f32", 2.2357588)],
+);
+
+// ./test/core/float_exprs.wast:1978
+assert_return(
+ () => invoke($79, `f32.xkcd_better_sqrt_5`, [
+ value("f32", 13),
+ value("f32", 4),
+ value("f32", 3.1415927),
+ value("f32", 24),
+ ]),
+ [value("f32", 2.236068)],
+);
+
+// ./test/core/float_exprs.wast:1980
+assert_return(() => invoke($79, `f64.sqrt`, [value("f64", 2)]), [value("f64", 1.4142135623730951)]);
+
+// ./test/core/float_exprs.wast:1981
+assert_return(
+ () => invoke($79, `f64.xkcd_sqrt_2`, [
+ value("f64", 3),
+ value("f64", 5),
+ value("f64", 3.141592653589793),
+ value("f64", 7),
+ ]),
+ [value("f64", 1.4142200580539208)],
+);
+
+// ./test/core/float_exprs.wast:1982
+assert_return(() => invoke($79, `f64.sqrt`, [value("f64", 3)]), [value("f64", 1.7320508075688772)]);
+
+// ./test/core/float_exprs.wast:1983
+assert_return(
+ () => invoke($79, `f64.xkcd_sqrt_3`, [
+ value("f64", 2),
+ value("f64", 2.718281828459045),
+ value("f64", 3.141592653589793),
+ ]),
+ [value("f64", 1.7305119588645301)],
+);
+
+// ./test/core/float_exprs.wast:1984
+assert_return(() => invoke($79, `f64.sqrt`, [value("f64", 5)]), [value("f64", 2.23606797749979)]);
+
+// ./test/core/float_exprs.wast:1985
+assert_return(
+ () => invoke($79, `f64.xkcd_sqrt_5`, [
+ value("f64", 2),
+ value("f64", 2.718281828459045),
+ value("f64", 3),
+ ]),
+ [value("f64", 2.2357588823428847)],
+);
+
+// ./test/core/float_exprs.wast:1986
+assert_return(
+ () => invoke($79, `f64.xkcd_better_sqrt_5`, [
+ value("f64", 13),
+ value("f64", 4),
+ value("f64", 3.141592653589793),
+ value("f64", 24),
+ ]),
+ [value("f64", 2.2360678094452893)],
+);
+
+// ./test/core/float_exprs.wast:1991
+let $80 = instantiate(`(module
+ (func (export "f32.compute_radix") (param $$0 f32) (param $$1 f32) (result f32)
+ (loop $$label$$0
+ (br_if $$label$$0
+ (f32.eq
+ (f32.add
+ (f32.sub
+ (f32.add
+ (local.tee $$0 (f32.add (local.get $$0) (local.get $$0)))
+ (f32.const 1)
+ )
+ (local.get $$0)
+ )
+ (f32.const -1)
+ )
+ (f32.const 0)
+ )
+ )
+ )
+ (loop $$label$$2
+ (br_if $$label$$2
+ (f32.ne
+ (f32.sub
+ (f32.sub
+ (f32.add
+ (local.get $$0)
+ (local.tee $$1 (f32.add (local.get $$1) (f32.const 1)))
+ )
+ (local.get $$0)
+ )
+ (local.get $$1)
+ )
+ (f32.const 0)
+ )
+ )
+ )
+ (local.get $$1)
+ )
+
+ (func (export "f64.compute_radix") (param $$0 f64) (param $$1 f64) (result f64)
+ (loop $$label$$0
+ (br_if $$label$$0
+ (f64.eq
+ (f64.add
+ (f64.sub
+ (f64.add
+ (local.tee $$0 (f64.add (local.get $$0) (local.get $$0)))
+ (f64.const 1)
+ )
+ (local.get $$0)
+ )
+ (f64.const -1)
+ )
+ (f64.const 0)
+ )
+ )
+ )
+ (loop $$label$$2
+ (br_if $$label$$2
+ (f64.ne
+ (f64.sub
+ (f64.sub
+ (f64.add
+ (local.get $$0)
+ (local.tee $$1 (f64.add (local.get $$1) (f64.const 1)))
+ )
+ (local.get $$0)
+ )
+ (local.get $$1)
+ )
+ (f64.const 0)
+ )
+ )
+ )
+ (local.get $$1)
+ )
+)`);
+
+// ./test/core/float_exprs.wast:2069
+assert_return(
+ () => invoke($80, `f32.compute_radix`, [value("f32", 1), value("f32", 1)]),
+ [value("f32", 2)],
+);
+
+// ./test/core/float_exprs.wast:2070
+assert_return(
+ () => invoke($80, `f64.compute_radix`, [value("f64", 1), value("f64", 1)]),
+ [value("f64", 2)],
+);
+
+// ./test/core/float_exprs.wast:2075
+let $81 = instantiate(`(module
+ (func (export "f32.no_fold_sub1_mul_add") (param $$x f32) (param $$y f32) (result f32)
+ (f32.add (f32.mul (f32.sub (local.get $$x) (f32.const 1.0)) (local.get $$y)) (local.get $$y)))
+
+ (func (export "f64.no_fold_sub1_mul_add") (param $$x f64) (param $$y f64) (result f64)
+ (f64.add (f64.mul (f64.sub (local.get $$x) (f64.const 1.0)) (local.get $$y)) (local.get $$y)))
+)`);
+
+// ./test/core/float_exprs.wast:2083
+assert_return(
+ () => invoke($81, `f32.no_fold_sub1_mul_add`, [
+ value("f32", 0.00000000023283064),
+ value("f32", 1),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/float_exprs.wast:2084
+assert_return(
+ () => invoke($81, `f64.no_fold_sub1_mul_add`, [
+ value("f64", 0.00000000000000000005421010862427522),
+ value("f64", 1),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/float_exprs.wast:2089
+let $82 = instantiate(`(module
+ (func (export "f32.no_fold_add_le_monotonicity") (param $$x f32) (param $$y f32) (param $$z f32) (result i32)
+ (f32.le (f32.add (local.get $$x) (local.get $$z)) (f32.add (local.get $$y) (local.get $$z))))
+
+ (func (export "f32.no_fold_add_ge_monotonicity") (param $$x f32) (param $$y f32) (param $$z f32) (result i32)
+ (f32.ge (f32.add (local.get $$x) (local.get $$z)) (f32.add (local.get $$y) (local.get $$z))))
+
+ (func (export "f64.no_fold_add_le_monotonicity") (param $$x f64) (param $$y f64) (param $$z f64) (result i32)
+ (f64.le (f64.add (local.get $$x) (local.get $$z)) (f64.add (local.get $$y) (local.get $$z))))
+
+ (func (export "f64.no_fold_add_ge_monotonicity") (param $$x f64) (param $$y f64) (param $$z f64) (result i32)
+ (f64.ge (f64.add (local.get $$x) (local.get $$z)) (f64.add (local.get $$y) (local.get $$z))))
+)`);
+
+// ./test/core/float_exprs.wast:2103
+assert_return(
+ () => invoke($82, `f32.no_fold_add_le_monotonicity`, [
+ value("f32", 0),
+ value("f32", 0),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/float_exprs.wast:2104
+assert_return(
+ () => invoke($82, `f32.no_fold_add_le_monotonicity`, [
+ value("f32", Infinity),
+ value("f32", -Infinity),
+ value("f32", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/float_exprs.wast:2105
+assert_return(
+ () => invoke($82, `f64.no_fold_add_le_monotonicity`, [
+ value("f64", 0),
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/float_exprs.wast:2106
+assert_return(
+ () => invoke($82, `f64.no_fold_add_le_monotonicity`, [
+ value("f64", Infinity),
+ value("f64", -Infinity),
+ value("f64", Infinity),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/float_exprs.wast:2110
+let $83 = instantiate(`(module
+ (func (export "f32.not_lt") (param $$x f32) (param $$y f32) (result i32)
+ (i32.eqz (f32.lt (local.get $$x) (local.get $$y))))
+
+ (func (export "f32.not_le") (param $$x f32) (param $$y f32) (result i32)
+ (i32.eqz (f32.le (local.get $$x) (local.get $$y))))
+
+ (func (export "f32.not_gt") (param $$x f32) (param $$y f32) (result i32)
+ (i32.eqz (f32.gt (local.get $$x) (local.get $$y))))
+
+ (func (export "f32.not_ge") (param $$x f32) (param $$y f32) (result i32)
+ (i32.eqz (f32.ge (local.get $$x) (local.get $$y))))
+
+ (func (export "f64.not_lt") (param $$x f64) (param $$y f64) (result i32)
+ (i32.eqz (f64.lt (local.get $$x) (local.get $$y))))
+
+ (func (export "f64.not_le") (param $$x f64) (param $$y f64) (result i32)
+ (i32.eqz (f64.le (local.get $$x) (local.get $$y))))
+
+ (func (export "f64.not_gt") (param $$x f64) (param $$y f64) (result i32)
+ (i32.eqz (f64.gt (local.get $$x) (local.get $$y))))
+
+ (func (export "f64.not_ge") (param $$x f64) (param $$y f64) (result i32)
+ (i32.eqz (f64.ge (local.get $$x) (local.get $$y))))
+)`);
+
+// ./test/core/float_exprs.wast:2136
+assert_return(
+ () => invoke($83, `f32.not_lt`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/float_exprs.wast:2137
+assert_return(
+ () => invoke($83, `f32.not_le`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/float_exprs.wast:2138
+assert_return(
+ () => invoke($83, `f32.not_gt`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/float_exprs.wast:2139
+assert_return(
+ () => invoke($83, `f32.not_ge`, [
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/float_exprs.wast:2140
+assert_return(
+ () => invoke($83, `f64.not_lt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/float_exprs.wast:2141
+assert_return(
+ () => invoke($83, `f64.not_le`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/float_exprs.wast:2142
+assert_return(
+ () => invoke($83, `f64.not_gt`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/float_exprs.wast:2143
+assert_return(
+ () => invoke($83, `f64.not_ge`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/float_exprs.wast:2149
+let $84 = instantiate(`(module
+ (func (export "f32.epsilon") (result f32)
+ (f32.sub (f32.const 1.0) (f32.mul (f32.const 3.0) (f32.sub (f32.div (f32.const 4.0) (f32.const 3.0)) (f32.const 1.0)))))
+
+ (func (export "f64.epsilon") (result f64)
+ (f64.sub (f64.const 1.0) (f64.mul (f64.const 3.0) (f64.sub (f64.div (f64.const 4.0) (f64.const 3.0)) (f64.const 1.0)))))
+)`);
+
+// ./test/core/float_exprs.wast:2157
+assert_return(() => invoke($84, `f32.epsilon`, []), [value("f32", -0.00000011920929)]);
+
+// ./test/core/float_exprs.wast:2158
+assert_return(() => invoke($84, `f64.epsilon`, []), [value("f64", 0.0000000000000002220446049250313)]);
+
+// ./test/core/float_exprs.wast:2164
+let $85 = instantiate(`(module
+ (func (export "f32.epsilon") (result f32)
+ (local $$x f32)
+ (local $$result f32)
+ (local.set $$x (f32.const 1))
+ (loop $$loop
+ (br_if $$loop
+ (f32.gt
+ (f32.add
+ (local.tee $$x
+ (f32.mul
+ (local.tee $$result (local.get $$x))
+ (f32.const 0.5)
+ )
+ )
+ (f32.const 1)
+ )
+ (f32.const 1)
+ )
+ )
+ )
+ (local.get $$result)
+ )
+
+ (func (export "f64.epsilon") (result f64)
+ (local $$x f64)
+ (local $$result f64)
+ (local.set $$x (f64.const 1))
+ (loop $$loop
+ (br_if $$loop
+ (f64.gt
+ (f64.add
+ (local.tee $$x
+ (f64.mul
+ (local.tee $$result (local.get $$x))
+ (f64.const 0.5)
+ )
+ )
+ (f64.const 1)
+ )
+ (f64.const 1)
+ )
+ )
+ )
+ (local.get $$result)
+ )
+)`);
+
+// ./test/core/float_exprs.wast:2212
+assert_return(() => invoke($85, `f32.epsilon`, []), [value("f32", 0.00000011920929)]);
+
+// ./test/core/float_exprs.wast:2213
+assert_return(() => invoke($85, `f64.epsilon`, []), [value("f64", 0.0000000000000002220446049250313)]);
+
+// ./test/core/float_exprs.wast:2218
+let $86 = instantiate(`(module
+ (func (export "f32.no_trichotomy_lt") (param $$x f32) (param $$y f32) (result i32)
+ (i32.or (f32.lt (local.get $$x) (local.get $$y)) (f32.ge (local.get $$x) (local.get $$y))))
+ (func (export "f32.no_trichotomy_le") (param $$x f32) (param $$y f32) (result i32)
+ (i32.or (f32.le (local.get $$x) (local.get $$y)) (f32.gt (local.get $$x) (local.get $$y))))
+ (func (export "f32.no_trichotomy_gt") (param $$x f32) (param $$y f32) (result i32)
+ (i32.or (f32.gt (local.get $$x) (local.get $$y)) (f32.le (local.get $$x) (local.get $$y))))
+ (func (export "f32.no_trichotomy_ge") (param $$x f32) (param $$y f32) (result i32)
+ (i32.or (f32.ge (local.get $$x) (local.get $$y)) (f32.lt (local.get $$x) (local.get $$y))))
+
+ (func (export "f64.no_trichotomy_lt") (param $$x f64) (param $$y f64) (result i32)
+ (i32.or (f64.lt (local.get $$x) (local.get $$y)) (f64.ge (local.get $$x) (local.get $$y))))
+ (func (export "f64.no_trichotomy_le") (param $$x f64) (param $$y f64) (result i32)
+ (i32.or (f64.le (local.get $$x) (local.get $$y)) (f64.gt (local.get $$x) (local.get $$y))))
+ (func (export "f64.no_trichotomy_gt") (param $$x f64) (param $$y f64) (result i32)
+ (i32.or (f64.gt (local.get $$x) (local.get $$y)) (f64.le (local.get $$x) (local.get $$y))))
+ (func (export "f64.no_trichotomy_ge") (param $$x f64) (param $$y f64) (result i32)
+ (i32.or (f64.ge (local.get $$x) (local.get $$y)) (f64.lt (local.get $$x) (local.get $$y))))
+)`);
+
+// ./test/core/float_exprs.wast:2238
+assert_return(
+ () => invoke($86, `f32.no_trichotomy_lt`, [
+ value("f32", 0),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/float_exprs.wast:2239
+assert_return(
+ () => invoke($86, `f32.no_trichotomy_le`, [
+ value("f32", 0),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/float_exprs.wast:2240
+assert_return(
+ () => invoke($86, `f32.no_trichotomy_gt`, [
+ value("f32", 0),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/float_exprs.wast:2241
+assert_return(
+ () => invoke($86, `f32.no_trichotomy_ge`, [
+ value("f32", 0),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/float_exprs.wast:2242
+assert_return(
+ () => invoke($86, `f64.no_trichotomy_lt`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/float_exprs.wast:2243
+assert_return(
+ () => invoke($86, `f64.no_trichotomy_le`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/float_exprs.wast:2244
+assert_return(
+ () => invoke($86, `f64.no_trichotomy_gt`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/float_exprs.wast:2245
+assert_return(
+ () => invoke($86, `f64.no_trichotomy_ge`, [
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/float_exprs.wast:2250
+let $87 = instantiate(`(module
+ (func (export "f32.arithmetic_nan_bitpattern")
+ (param $$x i32) (param $$y i32) (result i32)
+ (i32.and (i32.reinterpret_f32
+ (f32.div
+ (f32.reinterpret_i32 (local.get $$x))
+ (f32.reinterpret_i32 (local.get $$y))))
+ (i32.const 0x7fc00000)))
+ (func (export "f32.canonical_nan_bitpattern")
+ (param $$x i32) (param $$y i32) (result i32)
+ (i32.and (i32.reinterpret_f32
+ (f32.div
+ (f32.reinterpret_i32 (local.get $$x))
+ (f32.reinterpret_i32 (local.get $$y))))
+ (i32.const 0x7fffffff)))
+ (func (export "f32.nonarithmetic_nan_bitpattern")
+ (param $$x i32) (result i32)
+ (i32.reinterpret_f32 (f32.neg (f32.reinterpret_i32 (local.get $$x)))))
+
+ (func (export "f64.arithmetic_nan_bitpattern")
+ (param $$x i64) (param $$y i64) (result i64)
+ (i64.and (i64.reinterpret_f64
+ (f64.div
+ (f64.reinterpret_i64 (local.get $$x))
+ (f64.reinterpret_i64 (local.get $$y))))
+ (i64.const 0x7ff8000000000000)))
+ (func (export "f64.canonical_nan_bitpattern")
+ (param $$x i64) (param $$y i64) (result i64)
+ (i64.and (i64.reinterpret_f64
+ (f64.div
+ (f64.reinterpret_i64 (local.get $$x))
+ (f64.reinterpret_i64 (local.get $$y))))
+ (i64.const 0x7fffffffffffffff)))
+ (func (export "f64.nonarithmetic_nan_bitpattern")
+ (param $$x i64) (result i64)
+ (i64.reinterpret_f64 (f64.neg (f64.reinterpret_i64 (local.get $$x)))))
+
+ ;; Versions of no_fold testcases that only care about NaN bitpatterns.
+ (func (export "f32.no_fold_sub_zero") (param $$x i32) (result i32)
+ (i32.and (i32.reinterpret_f32 (f32.sub (f32.reinterpret_i32 (local.get $$x)) (f32.const 0.0)))
+ (i32.const 0x7fc00000)))
+ (func (export "f32.no_fold_neg0_sub") (param $$x i32) (result i32)
+ (i32.and (i32.reinterpret_f32 (f32.sub (f32.const -0.0) (f32.reinterpret_i32 (local.get $$x))))
+ (i32.const 0x7fc00000)))
+ (func (export "f32.no_fold_mul_one") (param $$x i32) (result i32)
+ (i32.and (i32.reinterpret_f32 (f32.mul (f32.reinterpret_i32 (local.get $$x)) (f32.const 1.0)))
+ (i32.const 0x7fc00000)))
+ (func (export "f32.no_fold_neg1_mul") (param $$x i32) (result i32)
+ (i32.and (i32.reinterpret_f32 (f32.mul (f32.const -1.0) (f32.reinterpret_i32 (local.get $$x))))
+ (i32.const 0x7fc00000)))
+ (func (export "f32.no_fold_div_one") (param $$x i32) (result i32)
+ (i32.and (i32.reinterpret_f32 (f32.div (f32.reinterpret_i32 (local.get $$x)) (f32.const 1.0)))
+ (i32.const 0x7fc00000)))
+ (func (export "f32.no_fold_div_neg1") (param $$x i32) (result i32)
+ (i32.and (i32.reinterpret_f32 (f32.div (f32.reinterpret_i32 (local.get $$x)) (f32.const -1.0)))
+ (i32.const 0x7fc00000)))
+ (func (export "f64.no_fold_sub_zero") (param $$x i64) (result i64)
+ (i64.and (i64.reinterpret_f64 (f64.sub (f64.reinterpret_i64 (local.get $$x)) (f64.const 0.0)))
+ (i64.const 0x7ff8000000000000)))
+ (func (export "f64.no_fold_neg0_sub") (param $$x i64) (result i64)
+ (i64.and (i64.reinterpret_f64 (f64.sub (f64.const -0.0) (f64.reinterpret_i64 (local.get $$x))))
+ (i64.const 0x7ff8000000000000)))
+ (func (export "f64.no_fold_mul_one") (param $$x i64) (result i64)
+ (i64.and (i64.reinterpret_f64 (f64.mul (f64.reinterpret_i64 (local.get $$x)) (f64.const 1.0)))
+ (i64.const 0x7ff8000000000000)))
+ (func (export "f64.no_fold_neg1_mul") (param $$x i64) (result i64)
+ (i64.and (i64.reinterpret_f64 (f64.mul (f64.const -1.0) (f64.reinterpret_i64 (local.get $$x))))
+ (i64.const 0x7ff8000000000000)))
+ (func (export "f64.no_fold_div_one") (param $$x i64) (result i64)
+ (i64.and (i64.reinterpret_f64 (f64.div (f64.reinterpret_i64 (local.get $$x)) (f64.const 1.0)))
+ (i64.const 0x7ff8000000000000)))
+ (func (export "f64.no_fold_div_neg1") (param $$x i64) (result i64)
+ (i64.and (i64.reinterpret_f64 (f64.div (f64.reinterpret_i64 (local.get $$x)) (f64.const -1.0)))
+ (i64.const 0x7ff8000000000000)))
+ (func (export "no_fold_promote_demote") (param $$x i32) (result i32)
+ (i32.and (i32.reinterpret_f32 (f32.demote_f64 (f64.promote_f32 (f32.reinterpret_i32 (local.get $$x)))))
+ (i32.const 0x7fc00000)))
+)`);
+
+// ./test/core/float_exprs.wast:2329
+assert_return(
+ () => invoke($87, `f32.arithmetic_nan_bitpattern`, [2139107856, 2139107856]),
+ [value("i32", 2143289344)],
+);
+
+// ./test/core/float_exprs.wast:2330
+assert_return(() => invoke($87, `f32.canonical_nan_bitpattern`, [0, 0]), [value("i32", 2143289344)]);
+
+// ./test/core/float_exprs.wast:2331
+assert_return(
+ () => invoke($87, `f32.canonical_nan_bitpattern`, [2143289344, 2143289344]),
+ [value("i32", 2143289344)],
+);
+
+// ./test/core/float_exprs.wast:2332
+assert_return(
+ () => invoke($87, `f32.canonical_nan_bitpattern`, [-4194304, 2143289344]),
+ [value("i32", 2143289344)],
+);
+
+// ./test/core/float_exprs.wast:2333
+assert_return(
+ () => invoke($87, `f32.canonical_nan_bitpattern`, [2143289344, -4194304]),
+ [value("i32", 2143289344)],
+);
+
+// ./test/core/float_exprs.wast:2334
+assert_return(
+ () => invoke($87, `f32.canonical_nan_bitpattern`, [-4194304, -4194304]),
+ [value("i32", 2143289344)],
+);
+
+// ./test/core/float_exprs.wast:2335
+assert_return(
+ () => invoke($87, `f32.nonarithmetic_nan_bitpattern`, [2143302160]),
+ [value("i32", -4181488)],
+);
+
+// ./test/core/float_exprs.wast:2336
+assert_return(
+ () => invoke($87, `f32.nonarithmetic_nan_bitpattern`, [-4181488]),
+ [value("i32", 2143302160)],
+);
+
+// ./test/core/float_exprs.wast:2337
+assert_return(
+ () => invoke($87, `f32.nonarithmetic_nan_bitpattern`, [2139107856]),
+ [value("i32", -8375792)],
+);
+
+// ./test/core/float_exprs.wast:2338
+assert_return(
+ () => invoke($87, `f32.nonarithmetic_nan_bitpattern`, [-8375792]),
+ [value("i32", 2139107856)],
+);
+
+// ./test/core/float_exprs.wast:2339
+assert_return(
+ () => invoke($87, `f64.arithmetic_nan_bitpattern`, [
+ 9218868437227418128n,
+ 9218868437227418128n,
+ ]),
+ [value("i64", 9221120237041090560n)],
+);
+
+// ./test/core/float_exprs.wast:2340
+assert_return(
+ () => invoke($87, `f64.canonical_nan_bitpattern`, [0n, 0n]),
+ [value("i64", 9221120237041090560n)],
+);
+
+// ./test/core/float_exprs.wast:2341
+assert_return(
+ () => invoke($87, `f64.canonical_nan_bitpattern`, [
+ 9221120237041090560n,
+ 9221120237041090560n,
+ ]),
+ [value("i64", 9221120237041090560n)],
+);
+
+// ./test/core/float_exprs.wast:2342
+assert_return(
+ () => invoke($87, `f64.canonical_nan_bitpattern`, [
+ -2251799813685248n,
+ 9221120237041090560n,
+ ]),
+ [value("i64", 9221120237041090560n)],
+);
+
+// ./test/core/float_exprs.wast:2343
+assert_return(
+ () => invoke($87, `f64.canonical_nan_bitpattern`, [
+ 9221120237041090560n,
+ -2251799813685248n,
+ ]),
+ [value("i64", 9221120237041090560n)],
+);
+
+// ./test/core/float_exprs.wast:2344
+assert_return(
+ () => invoke($87, `f64.canonical_nan_bitpattern`, [
+ -2251799813685248n,
+ -2251799813685248n,
+ ]),
+ [value("i64", 9221120237041090560n)],
+);
+
+// ./test/core/float_exprs.wast:2345
+assert_return(
+ () => invoke($87, `f64.nonarithmetic_nan_bitpattern`, [9221120237041103376n]),
+ [value("i64", -2251799813672432n)],
+);
+
+// ./test/core/float_exprs.wast:2346
+assert_return(
+ () => invoke($87, `f64.nonarithmetic_nan_bitpattern`, [-2251799813672432n]),
+ [value("i64", 9221120237041103376n)],
+);
+
+// ./test/core/float_exprs.wast:2347
+assert_return(
+ () => invoke($87, `f64.nonarithmetic_nan_bitpattern`, [9218868437227418128n]),
+ [value("i64", -4503599627357680n)],
+);
+
+// ./test/core/float_exprs.wast:2348
+assert_return(
+ () => invoke($87, `f64.nonarithmetic_nan_bitpattern`, [-4503599627357680n]),
+ [value("i64", 9218868437227418128n)],
+);
+
+// ./test/core/float_exprs.wast:2349
+assert_return(() => invoke($87, `f32.no_fold_sub_zero`, [2141192192]), [value("i32", 2143289344)]);
+
+// ./test/core/float_exprs.wast:2350
+assert_return(() => invoke($87, `f32.no_fold_neg0_sub`, [2141192192]), [value("i32", 2143289344)]);
+
+// ./test/core/float_exprs.wast:2351
+assert_return(() => invoke($87, `f32.no_fold_mul_one`, [2141192192]), [value("i32", 2143289344)]);
+
+// ./test/core/float_exprs.wast:2352
+assert_return(() => invoke($87, `f32.no_fold_neg1_mul`, [2141192192]), [value("i32", 2143289344)]);
+
+// ./test/core/float_exprs.wast:2353
+assert_return(() => invoke($87, `f32.no_fold_div_one`, [2141192192]), [value("i32", 2143289344)]);
+
+// ./test/core/float_exprs.wast:2354
+assert_return(() => invoke($87, `f32.no_fold_div_neg1`, [2141192192]), [value("i32", 2143289344)]);
+
+// ./test/core/float_exprs.wast:2355
+assert_return(
+ () => invoke($87, `f64.no_fold_sub_zero`, [9219994337134247936n]),
+ [value("i64", 9221120237041090560n)],
+);
+
+// ./test/core/float_exprs.wast:2356
+assert_return(
+ () => invoke($87, `f64.no_fold_neg0_sub`, [9219994337134247936n]),
+ [value("i64", 9221120237041090560n)],
+);
+
+// ./test/core/float_exprs.wast:2357
+assert_return(
+ () => invoke($87, `f64.no_fold_mul_one`, [9219994337134247936n]),
+ [value("i64", 9221120237041090560n)],
+);
+
+// ./test/core/float_exprs.wast:2358
+assert_return(
+ () => invoke($87, `f64.no_fold_neg1_mul`, [9219994337134247936n]),
+ [value("i64", 9221120237041090560n)],
+);
+
+// ./test/core/float_exprs.wast:2359
+assert_return(
+ () => invoke($87, `f64.no_fold_div_one`, [9219994337134247936n]),
+ [value("i64", 9221120237041090560n)],
+);
+
+// ./test/core/float_exprs.wast:2360
+assert_return(
+ () => invoke($87, `f64.no_fold_div_neg1`, [9219994337134247936n]),
+ [value("i64", 9221120237041090560n)],
+);
+
+// ./test/core/float_exprs.wast:2361
+assert_return(() => invoke($87, `no_fold_promote_demote`, [2141192192]), [value("i32", 2143289344)]);
+
+// ./test/core/float_exprs.wast:2366
+let $88 = instantiate(`(module
+ (func (export "dot_product_example")
+ (param $$x0 f64) (param $$x1 f64) (param $$x2 f64) (param $$x3 f64)
+ (param $$y0 f64) (param $$y1 f64) (param $$y2 f64) (param $$y3 f64)
+ (result f64)
+ (f64.add (f64.add (f64.add
+ (f64.mul (local.get $$x0) (local.get $$y0))
+ (f64.mul (local.get $$x1) (local.get $$y1)))
+ (f64.mul (local.get $$x2) (local.get $$y2)))
+ (f64.mul (local.get $$x3) (local.get $$y3)))
+ )
+
+ (func (export "with_binary_sum_collapse")
+ (param $$x0 f64) (param $$x1 f64) (param $$x2 f64) (param $$x3 f64)
+ (param $$y0 f64) (param $$y1 f64) (param $$y2 f64) (param $$y3 f64)
+ (result f64)
+ (f64.add (f64.add (f64.mul (local.get $$x0) (local.get $$y0))
+ (f64.mul (local.get $$x1) (local.get $$y1)))
+ (f64.add (f64.mul (local.get $$x2) (local.get $$y2))
+ (f64.mul (local.get $$x3) (local.get $$y3))))
+ )
+)`);
+
+// ./test/core/float_exprs.wast:2389
+assert_return(
+ () => invoke($88, `dot_product_example`, [
+ value("f64", 32000000),
+ value("f64", 1),
+ value("f64", -1),
+ value("f64", 80000000),
+ value("f64", 40000000),
+ value("f64", 1),
+ value("f64", -1),
+ value("f64", -16000000),
+ ]),
+ [value("f64", 2)],
+);
+
+// ./test/core/float_exprs.wast:2393
+assert_return(
+ () => invoke($88, `with_binary_sum_collapse`, [
+ value("f64", 32000000),
+ value("f64", 1),
+ value("f64", -1),
+ value("f64", 80000000),
+ value("f64", 40000000),
+ value("f64", 1),
+ value("f64", -1),
+ value("f64", -16000000),
+ ]),
+ [value("f64", 2)],
+);
+
+// ./test/core/float_exprs.wast:2400
+let $89 = instantiate(`(module
+ (func (export "f32.contract2fma")
+ (param $$x f32) (param $$y f32) (result f32)
+ (f32.sqrt (f32.sub (f32.mul (local.get $$x) (local.get $$x))
+ (f32.mul (local.get $$y) (local.get $$y)))))
+ (func (export "f64.contract2fma")
+ (param $$x f64) (param $$y f64) (result f64)
+ (f64.sqrt (f64.sub (f64.mul (local.get $$x) (local.get $$x))
+ (f64.mul (local.get $$y) (local.get $$y)))))
+)`);
+
+// ./test/core/float_exprs.wast:2411
+assert_return(
+ () => invoke($89, `f32.contract2fma`, [value("f32", 1), value("f32", 1)]),
+ [value("f32", 0)],
+);
+
+// ./test/core/float_exprs.wast:2412
+assert_return(
+ () => invoke($89, `f32.contract2fma`, [value("f32", 1.1), value("f32", 1.1)]),
+ [value("f32", 0)],
+);
+
+// ./test/core/float_exprs.wast:2413
+assert_return(
+ () => invoke($89, `f32.contract2fma`, [
+ value("f32", 1.1999999),
+ value("f32", 1.1999999),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/float_exprs.wast:2414
+assert_return(
+ () => invoke($89, `f64.contract2fma`, [value("f64", 1), value("f64", 1)]),
+ [value("f64", 0)],
+);
+
+// ./test/core/float_exprs.wast:2415
+assert_return(
+ () => invoke($89, `f64.contract2fma`, [value("f64", 1.1), value("f64", 1.1)]),
+ [value("f64", 0)],
+);
+
+// ./test/core/float_exprs.wast:2416
+assert_return(
+ () => invoke($89, `f64.contract2fma`, [value("f64", 1.2), value("f64", 1.2)]),
+ [value("f64", 0)],
+);
+
+// ./test/core/float_exprs.wast:2421
+let $90 = instantiate(`(module
+ (func (export "f32.division_by_small_number")
+ (param $$a f32) (param $$b f32) (param $$c f32) (result f32)
+ (f32.sub (local.get $$a) (f32.div (local.get $$b) (local.get $$c))))
+ (func (export "f64.division_by_small_number")
+ (param $$a f64) (param $$b f64) (param $$c f64) (result f64)
+ (f64.sub (local.get $$a) (f64.div (local.get $$b) (local.get $$c))))
+)`);
+
+// ./test/core/float_exprs.wast:2430
+assert_return(
+ () => invoke($90, `f32.division_by_small_number`, [
+ value("f32", 112000000),
+ value("f32", 100000),
+ value("f32", 0.0009),
+ ]),
+ [value("f32", 888888)],
+);
+
+// ./test/core/float_exprs.wast:2431
+assert_return(
+ () => invoke($90, `f64.division_by_small_number`, [
+ value("f64", 112000000),
+ value("f64", 100000),
+ value("f64", 0.0009),
+ ]),
+ [value("f64", 888888.8888888806)],
+);
+
+// ./test/core/float_exprs.wast:2436
+let $91 = instantiate(`(module
+ (func (export "f32.golden_ratio") (param $$a f32) (param $$b f32) (param $$c f32) (result f32)
+ (f32.mul (local.get 0) (f32.add (local.get 1) (f32.sqrt (local.get 2)))))
+ (func (export "f64.golden_ratio") (param $$a f64) (param $$b f64) (param $$c f64) (result f64)
+ (f64.mul (local.get 0) (f64.add (local.get 1) (f64.sqrt (local.get 2)))))
+)`);
+
+// ./test/core/float_exprs.wast:2443
+assert_return(
+ () => invoke($91, `f32.golden_ratio`, [
+ value("f32", 0.5),
+ value("f32", 1),
+ value("f32", 5),
+ ]),
+ [value("f32", 1.618034)],
+);
+
+// ./test/core/float_exprs.wast:2444
+assert_return(
+ () => invoke($91, `f64.golden_ratio`, [
+ value("f64", 0.5),
+ value("f64", 1),
+ value("f64", 5),
+ ]),
+ [value("f64", 1.618033988749895)],
+);
+
+// ./test/core/float_exprs.wast:2449
+let $92 = instantiate(`(module
+ (func (export "f32.silver_means") (param $$n f32) (result f32)
+ (f32.mul (f32.const 0.5)
+ (f32.add (local.get $$n)
+ (f32.sqrt (f32.add (f32.mul (local.get $$n) (local.get $$n))
+ (f32.const 4.0))))))
+ (func (export "f64.silver_means") (param $$n f64) (result f64)
+ (f64.mul (f64.const 0.5)
+ (f64.add (local.get $$n)
+ (f64.sqrt (f64.add (f64.mul (local.get $$n) (local.get $$n))
+ (f64.const 4.0))))))
+)`);
+
+// ./test/core/float_exprs.wast:2462
+assert_return(() => invoke($92, `f32.silver_means`, [value("f32", 0)]), [value("f32", 1)]);
+
+// ./test/core/float_exprs.wast:2463
+assert_return(() => invoke($92, `f32.silver_means`, [value("f32", 1)]), [value("f32", 1.618034)]);
+
+// ./test/core/float_exprs.wast:2464
+assert_return(() => invoke($92, `f32.silver_means`, [value("f32", 2)]), [value("f32", 2.4142137)]);
+
+// ./test/core/float_exprs.wast:2465
+assert_return(() => invoke($92, `f32.silver_means`, [value("f32", 3)]), [value("f32", 3.3027756)]);
+
+// ./test/core/float_exprs.wast:2466
+assert_return(() => invoke($92, `f32.silver_means`, [value("f32", 4)]), [value("f32", 4.236068)]);
+
+// ./test/core/float_exprs.wast:2467
+assert_return(() => invoke($92, `f32.silver_means`, [value("f32", 5)]), [value("f32", 5.192582)]);
+
+// ./test/core/float_exprs.wast:2468
+assert_return(() => invoke($92, `f64.silver_means`, [value("f64", 0)]), [value("f64", 1)]);
+
+// ./test/core/float_exprs.wast:2469
+assert_return(
+ () => invoke($92, `f64.silver_means`, [value("f64", 1)]),
+ [value("f64", 1.618033988749895)],
+);
+
+// ./test/core/float_exprs.wast:2470
+assert_return(
+ () => invoke($92, `f64.silver_means`, [value("f64", 2)]),
+ [value("f64", 2.414213562373095)],
+);
+
+// ./test/core/float_exprs.wast:2471
+assert_return(
+ () => invoke($92, `f64.silver_means`, [value("f64", 3)]),
+ [value("f64", 3.302775637731995)],
+);
+
+// ./test/core/float_exprs.wast:2472
+assert_return(
+ () => invoke($92, `f64.silver_means`, [value("f64", 4)]),
+ [value("f64", 4.23606797749979)],
+);
+
+// ./test/core/float_exprs.wast:2473
+assert_return(
+ () => invoke($92, `f64.silver_means`, [value("f64", 5)]),
+ [value("f64", 5.192582403567252)],
+);
+
+// ./test/core/float_exprs.wast:2478
+let $93 = instantiate(`(module
+ (func (export "point_four") (param $$four f64) (param $$ten f64) (result i32)
+ (f64.lt (f64.div (local.get $$four) (local.get $$ten)) (f64.const 0.4)))
+)`);
+
+// ./test/core/float_exprs.wast:2483
+assert_return(() => invoke($93, `point_four`, [value("f64", 4), value("f64", 10)]), [value("i32", 0)]);
+
+// ./test/core/float_exprs.wast:2488
+let $94 = instantiate(`(module
+ (func (export "tau") (param i32) (result f64)
+ (local f64 f64 f64 f64)
+ f64.const 0x0p+0
+ local.set 1
+ block
+ local.get 0
+ i32.const 1
+ i32.lt_s
+ br_if 0
+ f64.const 0x1p+0
+ local.set 2
+ f64.const 0x0p+0
+ local.set 3
+ loop
+ local.get 1
+ local.get 2
+ f64.const 0x1p+3
+ local.get 3
+ f64.const 0x1p+3
+ f64.mul
+ local.tee 4
+ f64.const 0x1p+0
+ f64.add
+ f64.div
+ f64.const 0x1p+2
+ local.get 4
+ f64.const 0x1p+2
+ f64.add
+ f64.div
+ f64.sub
+ f64.const 0x1p+1
+ local.get 4
+ f64.const 0x1.4p+2
+ f64.add
+ f64.div
+ f64.sub
+ f64.const 0x1p+1
+ local.get 4
+ f64.const 0x1.8p+2
+ f64.add
+ f64.div
+ f64.sub
+ f64.mul
+ f64.add
+ local.set 1
+ local.get 3
+ f64.const 0x1p+0
+ f64.add
+ local.set 3
+ local.get 2
+ f64.const 0x1p-4
+ f64.mul
+ local.set 2
+ local.get 0
+ i32.const -1
+ i32.add
+ local.tee 0
+ br_if 0
+ end
+ end
+ local.get 1
+ )
+)`);
+
+// ./test/core/float_exprs.wast:2553
+assert_return(() => invoke($94, `tau`, [10]), [value("f64", 6.283185307179583)]);
+
+// ./test/core/float_exprs.wast:2554
+assert_return(() => invoke($94, `tau`, [11]), [value("f64", 6.283185307179586)]);
+
+// ./test/core/float_exprs.wast:2558
+let $95 = instantiate(`(module
+ (func (export "f32.no_fold_conditional_inc") (param $$x f32) (param $$y f32) (result f32)
+ (select (local.get $$x)
+ (f32.add (local.get $$x) (f32.const 1.0))
+ (f32.lt (local.get $$y) (f32.const 0.0))))
+ (func (export "f64.no_fold_conditional_inc") (param $$x f64) (param $$y f64) (result f64)
+ (select (local.get $$x)
+ (f64.add (local.get $$x) (f64.const 1.0))
+ (f64.lt (local.get $$y) (f64.const 0.0))))
+)`);
+
+// ./test/core/float_exprs.wast:2569
+assert_return(
+ () => invoke($95, `f32.no_fold_conditional_inc`, [value("f32", -0), value("f32", -1)]),
+ [value("f32", -0)],
+);
+
+// ./test/core/float_exprs.wast:2570
+assert_return(
+ () => invoke($95, `f64.no_fold_conditional_inc`, [value("f64", -0), value("f64", -1)]),
+ [value("f64", -0)],
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/float_literals.wast.js b/js/src/jit-test/tests/wasm/spec/spec/float_literals.wast.js
new file mode 100644
index 0000000000..c4067bf4f1
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/float_literals.wast.js
@@ -0,0 +1,764 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/float_literals.wast
+
+// ./test/core/float_literals.wast:3
+let $0 = instantiate(`(module
+ ;; f32 special values
+ (func (export "f32.nan") (result i32) (i32.reinterpret_f32 (f32.const nan)))
+ (func (export "f32.positive_nan") (result i32) (i32.reinterpret_f32 (f32.const +nan)))
+ (func (export "f32.negative_nan") (result i32) (i32.reinterpret_f32 (f32.const -nan)))
+ (func (export "f32.plain_nan") (result i32) (i32.reinterpret_f32 (f32.const nan:0x400000)))
+ (func (export "f32.informally_known_as_plain_snan") (result i32) (i32.reinterpret_f32 (f32.const nan:0x200000)))
+ (func (export "f32.all_ones_nan") (result i32) (i32.reinterpret_f32 (f32.const -nan:0x7fffff)))
+ (func (export "f32.misc_nan") (result i32) (i32.reinterpret_f32 (f32.const nan:0x012345)))
+ (func (export "f32.misc_positive_nan") (result i32) (i32.reinterpret_f32 (f32.const +nan:0x304050)))
+ (func (export "f32.misc_negative_nan") (result i32) (i32.reinterpret_f32 (f32.const -nan:0x2abcde)))
+ (func (export "f32.infinity") (result i32) (i32.reinterpret_f32 (f32.const inf)))
+ (func (export "f32.positive_infinity") (result i32) (i32.reinterpret_f32 (f32.const +inf)))
+ (func (export "f32.negative_infinity") (result i32) (i32.reinterpret_f32 (f32.const -inf)))
+
+ ;; f32 numbers
+ (func (export "f32.zero") (result i32) (i32.reinterpret_f32 (f32.const 0x0.0p0)))
+ (func (export "f32.positive_zero") (result i32) (i32.reinterpret_f32 (f32.const +0x0.0p0)))
+ (func (export "f32.negative_zero") (result i32) (i32.reinterpret_f32 (f32.const -0x0.0p0)))
+ (func (export "f32.misc") (result i32) (i32.reinterpret_f32 (f32.const 0x1.921fb6p+2)))
+ (func (export "f32.min_positive") (result i32) (i32.reinterpret_f32 (f32.const 0x1p-149)))
+ (func (export "f32.min_normal") (result i32) (i32.reinterpret_f32 (f32.const 0x1p-126)))
+ (func (export "f32.max_finite") (result i32) (i32.reinterpret_f32 (f32.const 0x1.fffffep+127)))
+ (func (export "f32.max_subnormal") (result i32) (i32.reinterpret_f32 (f32.const 0x1.fffffcp-127)))
+ (func (export "f32.trailing_dot") (result i32) (i32.reinterpret_f32 (f32.const 0x1.p10)))
+
+ ;; f32 in decimal format
+ (func (export "f32_dec.zero") (result i32) (i32.reinterpret_f32 (f32.const 0.0e0)))
+ (func (export "f32_dec.positive_zero") (result i32) (i32.reinterpret_f32 (f32.const +0.0e0)))
+ (func (export "f32_dec.negative_zero") (result i32) (i32.reinterpret_f32 (f32.const -0.0e0)))
+ (func (export "f32_dec.misc") (result i32) (i32.reinterpret_f32 (f32.const 6.28318548202514648)))
+ (func (export "f32_dec.min_positive") (result i32) (i32.reinterpret_f32 (f32.const 1.4013e-45)))
+ (func (export "f32_dec.min_normal") (result i32) (i32.reinterpret_f32 (f32.const 1.1754944e-38)))
+ (func (export "f32_dec.max_subnormal") (result i32) (i32.reinterpret_f32 (f32.const 1.1754942e-38)))
+ (func (export "f32_dec.max_finite") (result i32) (i32.reinterpret_f32 (f32.const 3.4028234e+38)))
+ (func (export "f32_dec.trailing_dot") (result i32) (i32.reinterpret_f32 (f32.const 1.e10)))
+
+ ;; https://twitter.com/Archivd/status/994637336506912768
+ (func (export "f32_dec.root_beer_float") (result i32) (i32.reinterpret_f32 (f32.const 1.000000119)))
+
+ ;; f64 special values
+ (func (export "f64.nan") (result i64) (i64.reinterpret_f64 (f64.const nan)))
+ (func (export "f64.positive_nan") (result i64) (i64.reinterpret_f64 (f64.const +nan)))
+ (func (export "f64.negative_nan") (result i64) (i64.reinterpret_f64 (f64.const -nan)))
+ (func (export "f64.plain_nan") (result i64) (i64.reinterpret_f64 (f64.const nan:0x8000000000000)))
+ (func (export "f64.informally_known_as_plain_snan") (result i64) (i64.reinterpret_f64 (f64.const nan:0x4000000000000)))
+ (func (export "f64.all_ones_nan") (result i64) (i64.reinterpret_f64 (f64.const -nan:0xfffffffffffff)))
+ (func (export "f64.misc_nan") (result i64) (i64.reinterpret_f64 (f64.const nan:0x0123456789abc)))
+ (func (export "f64.misc_positive_nan") (result i64) (i64.reinterpret_f64 (f64.const +nan:0x3040506070809)))
+ (func (export "f64.misc_negative_nan") (result i64) (i64.reinterpret_f64 (f64.const -nan:0x2abcdef012345)))
+ (func (export "f64.infinity") (result i64) (i64.reinterpret_f64 (f64.const inf)))
+ (func (export "f64.positive_infinity") (result i64) (i64.reinterpret_f64 (f64.const +inf)))
+ (func (export "f64.negative_infinity") (result i64) (i64.reinterpret_f64 (f64.const -inf)))
+
+ ;; f64 numbers
+ (func (export "f64.zero") (result i64) (i64.reinterpret_f64 (f64.const 0x0.0p0)))
+ (func (export "f64.positive_zero") (result i64) (i64.reinterpret_f64 (f64.const +0x0.0p0)))
+ (func (export "f64.negative_zero") (result i64) (i64.reinterpret_f64 (f64.const -0x0.0p0)))
+ (func (export "f64.misc") (result i64) (i64.reinterpret_f64 (f64.const 0x1.921fb54442d18p+2)))
+ (func (export "f64.min_positive") (result i64) (i64.reinterpret_f64 (f64.const 0x0.0000000000001p-1022)))
+ (func (export "f64.min_normal") (result i64) (i64.reinterpret_f64 (f64.const 0x1p-1022)))
+ (func (export "f64.max_subnormal") (result i64) (i64.reinterpret_f64 (f64.const 0x0.fffffffffffffp-1022)))
+ (func (export "f64.max_finite") (result i64) (i64.reinterpret_f64 (f64.const 0x1.fffffffffffffp+1023)))
+ (func (export "f64.trailing_dot") (result i64) (i64.reinterpret_f64 (f64.const 0x1.p100)))
+
+ ;; f64 numbers in decimal format
+ (func (export "f64_dec.zero") (result i64) (i64.reinterpret_f64 (f64.const 0.0e0)))
+ (func (export "f64_dec.positive_zero") (result i64) (i64.reinterpret_f64 (f64.const +0.0e0)))
+ (func (export "f64_dec.negative_zero") (result i64) (i64.reinterpret_f64 (f64.const -0.0e0)))
+ (func (export "f64_dec.misc") (result i64) (i64.reinterpret_f64 (f64.const 6.28318530717958623)))
+ (func (export "f64_dec.min_positive") (result i64) (i64.reinterpret_f64 (f64.const 4.94066e-324)))
+ (func (export "f64_dec.min_normal") (result i64) (i64.reinterpret_f64 (f64.const 2.2250738585072012e-308)))
+ (func (export "f64_dec.max_subnormal") (result i64) (i64.reinterpret_f64 (f64.const 2.2250738585072011e-308)))
+ (func (export "f64_dec.max_finite") (result i64) (i64.reinterpret_f64 (f64.const 1.7976931348623157e+308)))
+ (func (export "f64_dec.trailing_dot") (result i64) (i64.reinterpret_f64 (f64.const 1.e100)))
+
+ ;; https://twitter.com/Archivd/status/994637336506912768
+ (func (export "f64_dec.root_beer_float") (result i64) (i64.reinterpret_f64 (f64.const 1.000000119)))
+
+ (func (export "f32-dec-sep1") (result f32) (f32.const 1_000_000))
+ (func (export "f32-dec-sep2") (result f32) (f32.const 1_0_0_0))
+ (func (export "f32-dec-sep3") (result f32) (f32.const 100_3.141_592))
+ (func (export "f32-dec-sep4") (result f32) (f32.const 99e+1_3))
+ (func (export "f32-dec-sep5") (result f32) (f32.const 122_000.11_3_54E0_2_3))
+ (func (export "f32-hex-sep1") (result f32) (f32.const 0xa_0f_00_99))
+ (func (export "f32-hex-sep2") (result f32) (f32.const 0x1_a_A_0_f))
+ (func (export "f32-hex-sep3") (result f32) (f32.const 0xa0_ff.f141_a59a))
+ (func (export "f32-hex-sep4") (result f32) (f32.const 0xf0P+1_3))
+ (func (export "f32-hex-sep5") (result f32) (f32.const 0x2a_f00a.1f_3_eep2_3))
+
+ (func (export "f64-dec-sep1") (result f64) (f64.const 1_000_000))
+ (func (export "f64-dec-sep2") (result f64) (f64.const 1_0_0_0))
+ (func (export "f64-dec-sep3") (result f64) (f64.const 100_3.141_592))
+ (func (export "f64-dec-sep4") (result f64) (f64.const 99e-1_23))
+ (func (export "f64-dec-sep5") (result f64) (f64.const 122_000.11_3_54e0_2_3))
+ (func (export "f64-hex-sep1") (result f64) (f64.const 0xa_f00f_0000_9999))
+ (func (export "f64-hex-sep2") (result f64) (f64.const 0x1_a_A_0_f))
+ (func (export "f64-hex-sep3") (result f64) (f64.const 0xa0_ff.f141_a59a))
+ (func (export "f64-hex-sep4") (result f64) (f64.const 0xf0P+1_3))
+ (func (export "f64-hex-sep5") (result f64) (f64.const 0x2a_f00a.1f_3_eep2_3))
+)`);
+
+// ./test/core/float_literals.wast:105
+assert_return(() => invoke($0, `f32.nan`, []), [value("i32", 2143289344)]);
+
+// ./test/core/float_literals.wast:106
+assert_return(() => invoke($0, `f32.positive_nan`, []), [value("i32", 2143289344)]);
+
+// ./test/core/float_literals.wast:107
+assert_return(() => invoke($0, `f32.negative_nan`, []), [value("i32", -4194304)]);
+
+// ./test/core/float_literals.wast:108
+assert_return(() => invoke($0, `f32.plain_nan`, []), [value("i32", 2143289344)]);
+
+// ./test/core/float_literals.wast:109
+assert_return(() => invoke($0, `f32.informally_known_as_plain_snan`, []), [value("i32", 2141192192)]);
+
+// ./test/core/float_literals.wast:110
+assert_return(() => invoke($0, `f32.all_ones_nan`, []), [value("i32", -1)]);
+
+// ./test/core/float_literals.wast:111
+assert_return(() => invoke($0, `f32.misc_nan`, []), [value("i32", 2139169605)]);
+
+// ./test/core/float_literals.wast:112
+assert_return(() => invoke($0, `f32.misc_positive_nan`, []), [value("i32", 2142257232)]);
+
+// ./test/core/float_literals.wast:113
+assert_return(() => invoke($0, `f32.misc_negative_nan`, []), [value("i32", -5587746)]);
+
+// ./test/core/float_literals.wast:114
+assert_return(() => invoke($0, `f32.infinity`, []), [value("i32", 2139095040)]);
+
+// ./test/core/float_literals.wast:115
+assert_return(() => invoke($0, `f32.positive_infinity`, []), [value("i32", 2139095040)]);
+
+// ./test/core/float_literals.wast:116
+assert_return(() => invoke($0, `f32.negative_infinity`, []), [value("i32", -8388608)]);
+
+// ./test/core/float_literals.wast:117
+assert_return(() => invoke($0, `f32.zero`, []), [value("i32", 0)]);
+
+// ./test/core/float_literals.wast:118
+assert_return(() => invoke($0, `f32.positive_zero`, []), [value("i32", 0)]);
+
+// ./test/core/float_literals.wast:119
+assert_return(() => invoke($0, `f32.negative_zero`, []), [value("i32", -2147483648)]);
+
+// ./test/core/float_literals.wast:120
+assert_return(() => invoke($0, `f32.misc`, []), [value("i32", 1086918619)]);
+
+// ./test/core/float_literals.wast:121
+assert_return(() => invoke($0, `f32.min_positive`, []), [value("i32", 1)]);
+
+// ./test/core/float_literals.wast:122
+assert_return(() => invoke($0, `f32.min_normal`, []), [value("i32", 8388608)]);
+
+// ./test/core/float_literals.wast:123
+assert_return(() => invoke($0, `f32.max_subnormal`, []), [value("i32", 8388607)]);
+
+// ./test/core/float_literals.wast:124
+assert_return(() => invoke($0, `f32.max_finite`, []), [value("i32", 2139095039)]);
+
+// ./test/core/float_literals.wast:125
+assert_return(() => invoke($0, `f32.trailing_dot`, []), [value("i32", 1149239296)]);
+
+// ./test/core/float_literals.wast:126
+assert_return(() => invoke($0, `f32_dec.zero`, []), [value("i32", 0)]);
+
+// ./test/core/float_literals.wast:127
+assert_return(() => invoke($0, `f32_dec.positive_zero`, []), [value("i32", 0)]);
+
+// ./test/core/float_literals.wast:128
+assert_return(() => invoke($0, `f32_dec.negative_zero`, []), [value("i32", -2147483648)]);
+
+// ./test/core/float_literals.wast:129
+assert_return(() => invoke($0, `f32_dec.misc`, []), [value("i32", 1086918619)]);
+
+// ./test/core/float_literals.wast:130
+assert_return(() => invoke($0, `f32_dec.min_positive`, []), [value("i32", 1)]);
+
+// ./test/core/float_literals.wast:131
+assert_return(() => invoke($0, `f32_dec.min_normal`, []), [value("i32", 8388608)]);
+
+// ./test/core/float_literals.wast:132
+assert_return(() => invoke($0, `f32_dec.max_subnormal`, []), [value("i32", 8388607)]);
+
+// ./test/core/float_literals.wast:133
+assert_return(() => invoke($0, `f32_dec.max_finite`, []), [value("i32", 2139095039)]);
+
+// ./test/core/float_literals.wast:134
+assert_return(() => invoke($0, `f32_dec.trailing_dot`, []), [value("i32", 1343554297)]);
+
+// ./test/core/float_literals.wast:135
+assert_return(() => invoke($0, `f32_dec.root_beer_float`, []), [value("i32", 1065353217)]);
+
+// ./test/core/float_literals.wast:137
+assert_return(() => invoke($0, `f64.nan`, []), [value("i64", 9221120237041090560n)]);
+
+// ./test/core/float_literals.wast:138
+assert_return(() => invoke($0, `f64.positive_nan`, []), [value("i64", 9221120237041090560n)]);
+
+// ./test/core/float_literals.wast:139
+assert_return(() => invoke($0, `f64.negative_nan`, []), [value("i64", -2251799813685248n)]);
+
+// ./test/core/float_literals.wast:140
+assert_return(() => invoke($0, `f64.plain_nan`, []), [value("i64", 9221120237041090560n)]);
+
+// ./test/core/float_literals.wast:141
+assert_return(
+ () => invoke($0, `f64.informally_known_as_plain_snan`, []),
+ [value("i64", 9219994337134247936n)],
+);
+
+// ./test/core/float_literals.wast:142
+assert_return(() => invoke($0, `f64.all_ones_nan`, []), [value("i64", -1n)]);
+
+// ./test/core/float_literals.wast:143
+assert_return(() => invoke($0, `f64.misc_nan`, []), [value("i64", 9218888453225749180n)]);
+
+// ./test/core/float_literals.wast:144
+assert_return(() => invoke($0, `f64.misc_positive_nan`, []), [value("i64", 9219717281780008969n)]);
+
+// ./test/core/float_literals.wast:145
+assert_return(() => invoke($0, `f64.misc_negative_nan`, []), [value("i64", -3751748707474619n)]);
+
+// ./test/core/float_literals.wast:146
+assert_return(() => invoke($0, `f64.infinity`, []), [value("i64", 9218868437227405312n)]);
+
+// ./test/core/float_literals.wast:147
+assert_return(() => invoke($0, `f64.positive_infinity`, []), [value("i64", 9218868437227405312n)]);
+
+// ./test/core/float_literals.wast:148
+assert_return(() => invoke($0, `f64.negative_infinity`, []), [value("i64", -4503599627370496n)]);
+
+// ./test/core/float_literals.wast:149
+assert_return(() => invoke($0, `f64.zero`, []), [value("i64", 0n)]);
+
+// ./test/core/float_literals.wast:150
+assert_return(() => invoke($0, `f64.positive_zero`, []), [value("i64", 0n)]);
+
+// ./test/core/float_literals.wast:151
+assert_return(() => invoke($0, `f64.negative_zero`, []), [value("i64", -9223372036854775808n)]);
+
+// ./test/core/float_literals.wast:152
+assert_return(() => invoke($0, `f64.misc`, []), [value("i64", 4618760256179416344n)]);
+
+// ./test/core/float_literals.wast:153
+assert_return(() => invoke($0, `f64.min_positive`, []), [value("i64", 1n)]);
+
+// ./test/core/float_literals.wast:154
+assert_return(() => invoke($0, `f64.min_normal`, []), [value("i64", 4503599627370496n)]);
+
+// ./test/core/float_literals.wast:155
+assert_return(() => invoke($0, `f64.max_subnormal`, []), [value("i64", 4503599627370495n)]);
+
+// ./test/core/float_literals.wast:156
+assert_return(() => invoke($0, `f64.max_finite`, []), [value("i64", 9218868437227405311n)]);
+
+// ./test/core/float_literals.wast:157
+assert_return(() => invoke($0, `f64.trailing_dot`, []), [value("i64", 5057542381537067008n)]);
+
+// ./test/core/float_literals.wast:158
+assert_return(() => invoke($0, `f64_dec.zero`, []), [value("i64", 0n)]);
+
+// ./test/core/float_literals.wast:159
+assert_return(() => invoke($0, `f64_dec.positive_zero`, []), [value("i64", 0n)]);
+
+// ./test/core/float_literals.wast:160
+assert_return(() => invoke($0, `f64_dec.negative_zero`, []), [value("i64", -9223372036854775808n)]);
+
+// ./test/core/float_literals.wast:161
+assert_return(() => invoke($0, `f64_dec.misc`, []), [value("i64", 4618760256179416344n)]);
+
+// ./test/core/float_literals.wast:162
+assert_return(() => invoke($0, `f64_dec.min_positive`, []), [value("i64", 1n)]);
+
+// ./test/core/float_literals.wast:163
+assert_return(() => invoke($0, `f64_dec.min_normal`, []), [value("i64", 4503599627370496n)]);
+
+// ./test/core/float_literals.wast:164
+assert_return(() => invoke($0, `f64_dec.max_subnormal`, []), [value("i64", 4503599627370495n)]);
+
+// ./test/core/float_literals.wast:165
+assert_return(() => invoke($0, `f64_dec.max_finite`, []), [value("i64", 9218868437227405311n)]);
+
+// ./test/core/float_literals.wast:166
+assert_return(() => invoke($0, `f64_dec.trailing_dot`, []), [value("i64", 6103021453049119613n)]);
+
+// ./test/core/float_literals.wast:167
+assert_return(() => invoke($0, `f64_dec.root_beer_float`, []), [value("i64", 4607182419335945764n)]);
+
+// ./test/core/float_literals.wast:169
+assert_return(() => invoke($0, `f32-dec-sep1`, []), [value("f32", 1000000)]);
+
+// ./test/core/float_literals.wast:170
+assert_return(() => invoke($0, `f32-dec-sep2`, []), [value("f32", 1000)]);
+
+// ./test/core/float_literals.wast:171
+assert_return(() => invoke($0, `f32-dec-sep3`, []), [value("f32", 1003.1416)]);
+
+// ./test/core/float_literals.wast:172
+assert_return(() => invoke($0, `f32-dec-sep4`, []), [value("f32", 990000000000000)]);
+
+// ./test/core/float_literals.wast:173
+assert_return(() => invoke($0, `f32-dec-sep5`, []), [value("f32", 12200012000000000000000000000)]);
+
+// ./test/core/float_literals.wast:174
+assert_return(() => invoke($0, `f32-hex-sep1`, []), [value("f32", 168755360)]);
+
+// ./test/core/float_literals.wast:175
+assert_return(() => invoke($0, `f32-hex-sep2`, []), [value("f32", 109071)]);
+
+// ./test/core/float_literals.wast:176
+assert_return(() => invoke($0, `f32-hex-sep3`, []), [value("f32", 41215.94)]);
+
+// ./test/core/float_literals.wast:177
+assert_return(() => invoke($0, `f32-hex-sep4`, []), [value("f32", 1966080)]);
+
+// ./test/core/float_literals.wast:178
+assert_return(() => invoke($0, `f32-hex-sep5`, []), [value("f32", 23605224000000)]);
+
+// ./test/core/float_literals.wast:180
+assert_return(() => invoke($0, `f64-dec-sep1`, []), [value("f64", 1000000)]);
+
+// ./test/core/float_literals.wast:181
+assert_return(() => invoke($0, `f64-dec-sep2`, []), [value("f64", 1000)]);
+
+// ./test/core/float_literals.wast:182
+assert_return(() => invoke($0, `f64-dec-sep3`, []), [value("f64", 1003.141592)]);
+
+// ./test/core/float_literals.wast:183
+assert_return(
+ () => invoke($0, `f64-dec-sep4`, []),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099),
+ ],
+);
+
+// ./test/core/float_literals.wast:184
+assert_return(() => invoke($0, `f64-dec-sep5`, []), [value("f64", 12200011354000000000000000000)]);
+
+// ./test/core/float_literals.wast:185
+assert_return(() => invoke($0, `f64-hex-sep1`, []), [value("f64", 3078696982321561)]);
+
+// ./test/core/float_literals.wast:186
+assert_return(() => invoke($0, `f64-hex-sep2`, []), [value("f64", 109071)]);
+
+// ./test/core/float_literals.wast:187
+assert_return(() => invoke($0, `f64-hex-sep3`, []), [value("f64", 41215.94240794191)]);
+
+// ./test/core/float_literals.wast:188
+assert_return(() => invoke($0, `f64-hex-sep4`, []), [value("f64", 1966080)]);
+
+// ./test/core/float_literals.wast:189
+assert_return(() => invoke($0, `f64-hex-sep5`, []), [value("f64", 23605225168752)]);
+
+// ./test/core/float_literals.wast:192
+let $1 = instantiate(`(module binary
+ ;; (func (export "4294967249") (result f64) (f64.const 4294967249))
+ "\\00\\61\\73\\6d\\01\\00\\00\\00\\01\\85\\80\\80\\80\\00\\01\\60"
+ "\\00\\01\\7c\\03\\82\\80\\80\\80\\00\\01\\00\\07\\8e\\80\\80\\80"
+ "\\00\\01\\0a\\34\\32\\39\\34\\39\\36\\37\\32\\34\\39\\00\\00\\0a"
+ "\\91\\80\\80\\80\\00\\01\\8b\\80\\80\\80\\00\\00\\44\\00\\00\\20"
+ "\\fa\\ff\\ff\\ef\\41\\0b"
+)`);
+
+// ./test/core/float_literals.wast:201
+assert_return(() => invoke($1, `4294967249`, []), [value("f64", 4294967249)]);
+
+// ./test/core/float_literals.wast:203
+assert_malformed(() => instantiate(`(global f32 (f32.const _100)) `), `unknown operator`);
+
+// ./test/core/float_literals.wast:207
+assert_malformed(() => instantiate(`(global f32 (f32.const +_100)) `), `unknown operator`);
+
+// ./test/core/float_literals.wast:211
+assert_malformed(() => instantiate(`(global f32 (f32.const -_100)) `), `unknown operator`);
+
+// ./test/core/float_literals.wast:215
+assert_malformed(() => instantiate(`(global f32 (f32.const 99_)) `), `unknown operator`);
+
+// ./test/core/float_literals.wast:219
+assert_malformed(
+ () => instantiate(`(global f32 (f32.const 1__000)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:223
+assert_malformed(() => instantiate(`(global f32 (f32.const _1.0)) `), `unknown operator`);
+
+// ./test/core/float_literals.wast:227
+assert_malformed(() => instantiate(`(global f32 (f32.const 1.0_)) `), `unknown operator`);
+
+// ./test/core/float_literals.wast:231
+assert_malformed(() => instantiate(`(global f32 (f32.const 1_.0)) `), `unknown operator`);
+
+// ./test/core/float_literals.wast:235
+assert_malformed(() => instantiate(`(global f32 (f32.const 1._0)) `), `unknown operator`);
+
+// ./test/core/float_literals.wast:239
+assert_malformed(() => instantiate(`(global f32 (f32.const _1e1)) `), `unknown operator`);
+
+// ./test/core/float_literals.wast:243
+assert_malformed(() => instantiate(`(global f32 (f32.const 1e1_)) `), `unknown operator`);
+
+// ./test/core/float_literals.wast:247
+assert_malformed(() => instantiate(`(global f32 (f32.const 1_e1)) `), `unknown operator`);
+
+// ./test/core/float_literals.wast:251
+assert_malformed(() => instantiate(`(global f32 (f32.const 1e_1)) `), `unknown operator`);
+
+// ./test/core/float_literals.wast:255
+assert_malformed(
+ () => instantiate(`(global f32 (f32.const _1.0e1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:259
+assert_malformed(
+ () => instantiate(`(global f32 (f32.const 1.0e1_)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:263
+assert_malformed(
+ () => instantiate(`(global f32 (f32.const 1.0_e1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:267
+assert_malformed(
+ () => instantiate(`(global f32 (f32.const 1.0e_1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:271
+assert_malformed(
+ () => instantiate(`(global f32 (f32.const 1.0e+_1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:275
+assert_malformed(
+ () => instantiate(`(global f32 (f32.const 1.0e_+1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:279
+assert_malformed(
+ () => instantiate(`(global f32 (f32.const _0x100)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:283
+assert_malformed(
+ () => instantiate(`(global f32 (f32.const 0_x100)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:287
+assert_malformed(
+ () => instantiate(`(global f32 (f32.const 0x_100)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:291
+assert_malformed(() => instantiate(`(global f32 (f32.const 0x00_)) `), `unknown operator`);
+
+// ./test/core/float_literals.wast:295
+assert_malformed(
+ () => instantiate(`(global f32 (f32.const 0xff__ffff)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:299
+assert_malformed(
+ () => instantiate(`(global f32 (f32.const 0x_1.0)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:303
+assert_malformed(
+ () => instantiate(`(global f32 (f32.const 0x1.0_)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:307
+assert_malformed(
+ () => instantiate(`(global f32 (f32.const 0x1_.0)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:311
+assert_malformed(
+ () => instantiate(`(global f32 (f32.const 0x1._0)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:315
+assert_malformed(
+ () => instantiate(`(global f32 (f32.const 0x_1p1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:319
+assert_malformed(
+ () => instantiate(`(global f32 (f32.const 0x1p1_)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:323
+assert_malformed(
+ () => instantiate(`(global f32 (f32.const 0x1_p1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:327
+assert_malformed(
+ () => instantiate(`(global f32 (f32.const 0x1p_1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:331
+assert_malformed(
+ () => instantiate(`(global f32 (f32.const 0x_1.0p1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:335
+assert_malformed(
+ () => instantiate(`(global f32 (f32.const 0x1.0p1_)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:339
+assert_malformed(
+ () => instantiate(`(global f32 (f32.const 0x1.0_p1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:343
+assert_malformed(
+ () => instantiate(`(global f32 (f32.const 0x1.0p_1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:347
+assert_malformed(
+ () => instantiate(`(global f32 (f32.const 0x1.0p+_1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:351
+assert_malformed(
+ () => instantiate(`(global f32 (f32.const 0x1.0p_+1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:356
+assert_malformed(() => instantiate(`(global f64 (f64.const _100)) `), `unknown operator`);
+
+// ./test/core/float_literals.wast:360
+assert_malformed(() => instantiate(`(global f64 (f64.const +_100)) `), `unknown operator`);
+
+// ./test/core/float_literals.wast:364
+assert_malformed(() => instantiate(`(global f64 (f64.const -_100)) `), `unknown operator`);
+
+// ./test/core/float_literals.wast:368
+assert_malformed(() => instantiate(`(global f64 (f64.const 99_)) `), `unknown operator`);
+
+// ./test/core/float_literals.wast:372
+assert_malformed(
+ () => instantiate(`(global f64 (f64.const 1__000)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:376
+assert_malformed(() => instantiate(`(global f64 (f64.const _1.0)) `), `unknown operator`);
+
+// ./test/core/float_literals.wast:380
+assert_malformed(() => instantiate(`(global f64 (f64.const 1.0_)) `), `unknown operator`);
+
+// ./test/core/float_literals.wast:384
+assert_malformed(() => instantiate(`(global f64 (f64.const 1_.0)) `), `unknown operator`);
+
+// ./test/core/float_literals.wast:388
+assert_malformed(() => instantiate(`(global f64 (f64.const 1._0)) `), `unknown operator`);
+
+// ./test/core/float_literals.wast:392
+assert_malformed(() => instantiate(`(global f64 (f64.const _1e1)) `), `unknown operator`);
+
+// ./test/core/float_literals.wast:396
+assert_malformed(() => instantiate(`(global f64 (f64.const 1e1_)) `), `unknown operator`);
+
+// ./test/core/float_literals.wast:400
+assert_malformed(() => instantiate(`(global f64 (f64.const 1_e1)) `), `unknown operator`);
+
+// ./test/core/float_literals.wast:404
+assert_malformed(() => instantiate(`(global f64 (f64.const 1e_1)) `), `unknown operator`);
+
+// ./test/core/float_literals.wast:408
+assert_malformed(
+ () => instantiate(`(global f64 (f64.const _1.0e1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:412
+assert_malformed(
+ () => instantiate(`(global f64 (f64.const 1.0e1_)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:416
+assert_malformed(
+ () => instantiate(`(global f64 (f64.const 1.0_e1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:420
+assert_malformed(
+ () => instantiate(`(global f64 (f64.const 1.0e_1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:424
+assert_malformed(
+ () => instantiate(`(global f64 (f64.const 1.0e+_1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:428
+assert_malformed(
+ () => instantiate(`(global f64 (f64.const 1.0e_+1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:432
+assert_malformed(
+ () => instantiate(`(global f64 (f64.const _0x100)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:436
+assert_malformed(
+ () => instantiate(`(global f64 (f64.const 0_x100)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:440
+assert_malformed(
+ () => instantiate(`(global f64 (f64.const 0x_100)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:444
+assert_malformed(() => instantiate(`(global f64 (f64.const 0x00_)) `), `unknown operator`);
+
+// ./test/core/float_literals.wast:448
+assert_malformed(
+ () => instantiate(`(global f64 (f64.const 0xff__ffff)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:452
+assert_malformed(
+ () => instantiate(`(global f64 (f64.const 0x_1.0)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:456
+assert_malformed(
+ () => instantiate(`(global f64 (f64.const 0x1.0_)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:460
+assert_malformed(
+ () => instantiate(`(global f64 (f64.const 0x1_.0)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:464
+assert_malformed(
+ () => instantiate(`(global f64 (f64.const 0x1._0)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:468
+assert_malformed(
+ () => instantiate(`(global f64 (f64.const 0x_1p1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:472
+assert_malformed(
+ () => instantiate(`(global f64 (f64.const 0x1p1_)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:476
+assert_malformed(
+ () => instantiate(`(global f64 (f64.const 0x1_p1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:480
+assert_malformed(
+ () => instantiate(`(global f64 (f64.const 0x1p_1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:484
+assert_malformed(
+ () => instantiate(`(global f64 (f64.const 0x_1.0p1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:488
+assert_malformed(
+ () => instantiate(`(global f64 (f64.const 0x1.0p1_)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:492
+assert_malformed(
+ () => instantiate(`(global f64 (f64.const 0x1.0_p1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:496
+assert_malformed(
+ () => instantiate(`(global f64 (f64.const 0x1.0p_1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:500
+assert_malformed(
+ () => instantiate(`(global f64 (f64.const 0x1.0p+_1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/float_literals.wast:504
+assert_malformed(
+ () => instantiate(`(global f64 (f64.const 0x1.0p_+1)) `),
+ `unknown operator`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/float_memory.wast.js b/js/src/jit-test/tests/wasm/spec/spec/float_memory.wast.js
new file mode 100644
index 0000000000..8f01f424e8
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/float_memory.wast.js
@@ -0,0 +1,361 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/float_memory.wast
+
+// ./test/core/float_memory.wast:5
+let $0 = instantiate(`(module
+ (memory (data "\\00\\00\\a0\\7f"))
+
+ (func (export "f32.load") (result f32) (f32.load (i32.const 0)))
+ (func (export "i32.load") (result i32) (i32.load (i32.const 0)))
+ (func (export "f32.store") (f32.store (i32.const 0) (f32.const nan:0x200000)))
+ (func (export "i32.store") (i32.store (i32.const 0) (i32.const 0x7fa00000)))
+ (func (export "reset") (i32.store (i32.const 0) (i32.const 0)))
+)`);
+
+// ./test/core/float_memory.wast:15
+assert_return(() => invoke($0, `i32.load`, []), [value("i32", 2141192192)]);
+
+// ./test/core/float_memory.wast:16
+assert_return(() => invoke($0, `f32.load`, []), [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]);
+
+// ./test/core/float_memory.wast:17
+invoke($0, `reset`, []);
+
+// ./test/core/float_memory.wast:18
+assert_return(() => invoke($0, `i32.load`, []), [value("i32", 0)]);
+
+// ./test/core/float_memory.wast:19
+assert_return(() => invoke($0, `f32.load`, []), [value("f32", 0)]);
+
+// ./test/core/float_memory.wast:20
+invoke($0, `f32.store`, []);
+
+// ./test/core/float_memory.wast:21
+assert_return(() => invoke($0, `i32.load`, []), [value("i32", 2141192192)]);
+
+// ./test/core/float_memory.wast:22
+assert_return(() => invoke($0, `f32.load`, []), [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]);
+
+// ./test/core/float_memory.wast:23
+invoke($0, `reset`, []);
+
+// ./test/core/float_memory.wast:24
+assert_return(() => invoke($0, `i32.load`, []), [value("i32", 0)]);
+
+// ./test/core/float_memory.wast:25
+assert_return(() => invoke($0, `f32.load`, []), [value("f32", 0)]);
+
+// ./test/core/float_memory.wast:26
+invoke($0, `i32.store`, []);
+
+// ./test/core/float_memory.wast:27
+assert_return(() => invoke($0, `i32.load`, []), [value("i32", 2141192192)]);
+
+// ./test/core/float_memory.wast:28
+assert_return(() => invoke($0, `f32.load`, []), [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]);
+
+// ./test/core/float_memory.wast:30
+let $1 = instantiate(`(module
+ (memory (data "\\00\\00\\00\\00\\00\\00\\f4\\7f"))
+
+ (func (export "f64.load") (result f64) (f64.load (i32.const 0)))
+ (func (export "i64.load") (result i64) (i64.load (i32.const 0)))
+ (func (export "f64.store") (f64.store (i32.const 0) (f64.const nan:0x4000000000000)))
+ (func (export "i64.store") (i64.store (i32.const 0) (i64.const 0x7ff4000000000000)))
+ (func (export "reset") (i64.store (i32.const 0) (i64.const 0)))
+)`);
+
+// ./test/core/float_memory.wast:40
+assert_return(() => invoke($1, `i64.load`, []), [value("i64", 9219994337134247936n)]);
+
+// ./test/core/float_memory.wast:41
+assert_return(
+ () => invoke($1, `f64.load`, []),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f])],
+);
+
+// ./test/core/float_memory.wast:42
+invoke($1, `reset`, []);
+
+// ./test/core/float_memory.wast:43
+assert_return(() => invoke($1, `i64.load`, []), [value("i64", 0n)]);
+
+// ./test/core/float_memory.wast:44
+assert_return(() => invoke($1, `f64.load`, []), [value("f64", 0)]);
+
+// ./test/core/float_memory.wast:45
+invoke($1, `f64.store`, []);
+
+// ./test/core/float_memory.wast:46
+assert_return(() => invoke($1, `i64.load`, []), [value("i64", 9219994337134247936n)]);
+
+// ./test/core/float_memory.wast:47
+assert_return(
+ () => invoke($1, `f64.load`, []),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f])],
+);
+
+// ./test/core/float_memory.wast:48
+invoke($1, `reset`, []);
+
+// ./test/core/float_memory.wast:49
+assert_return(() => invoke($1, `i64.load`, []), [value("i64", 0n)]);
+
+// ./test/core/float_memory.wast:50
+assert_return(() => invoke($1, `f64.load`, []), [value("f64", 0)]);
+
+// ./test/core/float_memory.wast:51
+invoke($1, `i64.store`, []);
+
+// ./test/core/float_memory.wast:52
+assert_return(() => invoke($1, `i64.load`, []), [value("i64", 9219994337134247936n)]);
+
+// ./test/core/float_memory.wast:53
+assert_return(
+ () => invoke($1, `f64.load`, []),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f])],
+);
+
+// ./test/core/float_memory.wast:57
+let $2 = instantiate(`(module
+ (memory (data "\\00\\00\\00\\a0\\7f"))
+
+ (func (export "f32.load") (result f32) (f32.load (i32.const 1)))
+ (func (export "i32.load") (result i32) (i32.load (i32.const 1)))
+ (func (export "f32.store") (f32.store (i32.const 1) (f32.const nan:0x200000)))
+ (func (export "i32.store") (i32.store (i32.const 1) (i32.const 0x7fa00000)))
+ (func (export "reset") (i32.store (i32.const 1) (i32.const 0)))
+)`);
+
+// ./test/core/float_memory.wast:67
+assert_return(() => invoke($2, `i32.load`, []), [value("i32", 2141192192)]);
+
+// ./test/core/float_memory.wast:68
+assert_return(() => invoke($2, `f32.load`, []), [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]);
+
+// ./test/core/float_memory.wast:69
+invoke($2, `reset`, []);
+
+// ./test/core/float_memory.wast:70
+assert_return(() => invoke($2, `i32.load`, []), [value("i32", 0)]);
+
+// ./test/core/float_memory.wast:71
+assert_return(() => invoke($2, `f32.load`, []), [value("f32", 0)]);
+
+// ./test/core/float_memory.wast:72
+invoke($2, `f32.store`, []);
+
+// ./test/core/float_memory.wast:73
+assert_return(() => invoke($2, `i32.load`, []), [value("i32", 2141192192)]);
+
+// ./test/core/float_memory.wast:74
+assert_return(() => invoke($2, `f32.load`, []), [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]);
+
+// ./test/core/float_memory.wast:75
+invoke($2, `reset`, []);
+
+// ./test/core/float_memory.wast:76
+assert_return(() => invoke($2, `i32.load`, []), [value("i32", 0)]);
+
+// ./test/core/float_memory.wast:77
+assert_return(() => invoke($2, `f32.load`, []), [value("f32", 0)]);
+
+// ./test/core/float_memory.wast:78
+invoke($2, `i32.store`, []);
+
+// ./test/core/float_memory.wast:79
+assert_return(() => invoke($2, `i32.load`, []), [value("i32", 2141192192)]);
+
+// ./test/core/float_memory.wast:80
+assert_return(() => invoke($2, `f32.load`, []), [bytes("f32", [0x0, 0x0, 0xa0, 0x7f])]);
+
+// ./test/core/float_memory.wast:82
+let $3 = instantiate(`(module
+ (memory (data "\\00\\00\\00\\00\\00\\00\\00\\f4\\7f"))
+
+ (func (export "f64.load") (result f64) (f64.load (i32.const 1)))
+ (func (export "i64.load") (result i64) (i64.load (i32.const 1)))
+ (func (export "f64.store") (f64.store (i32.const 1) (f64.const nan:0x4000000000000)))
+ (func (export "i64.store") (i64.store (i32.const 1) (i64.const 0x7ff4000000000000)))
+ (func (export "reset") (i64.store (i32.const 1) (i64.const 0)))
+)`);
+
+// ./test/core/float_memory.wast:92
+assert_return(() => invoke($3, `i64.load`, []), [value("i64", 9219994337134247936n)]);
+
+// ./test/core/float_memory.wast:93
+assert_return(
+ () => invoke($3, `f64.load`, []),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f])],
+);
+
+// ./test/core/float_memory.wast:94
+invoke($3, `reset`, []);
+
+// ./test/core/float_memory.wast:95
+assert_return(() => invoke($3, `i64.load`, []), [value("i64", 0n)]);
+
+// ./test/core/float_memory.wast:96
+assert_return(() => invoke($3, `f64.load`, []), [value("f64", 0)]);
+
+// ./test/core/float_memory.wast:97
+invoke($3, `f64.store`, []);
+
+// ./test/core/float_memory.wast:98
+assert_return(() => invoke($3, `i64.load`, []), [value("i64", 9219994337134247936n)]);
+
+// ./test/core/float_memory.wast:99
+assert_return(
+ () => invoke($3, `f64.load`, []),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f])],
+);
+
+// ./test/core/float_memory.wast:100
+invoke($3, `reset`, []);
+
+// ./test/core/float_memory.wast:101
+assert_return(() => invoke($3, `i64.load`, []), [value("i64", 0n)]);
+
+// ./test/core/float_memory.wast:102
+assert_return(() => invoke($3, `f64.load`, []), [value("f64", 0)]);
+
+// ./test/core/float_memory.wast:103
+invoke($3, `i64.store`, []);
+
+// ./test/core/float_memory.wast:104
+assert_return(() => invoke($3, `i64.load`, []), [value("i64", 9219994337134247936n)]);
+
+// ./test/core/float_memory.wast:105
+assert_return(
+ () => invoke($3, `f64.load`, []),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f])],
+);
+
+// ./test/core/float_memory.wast:109
+let $4 = instantiate(`(module
+ (memory (data "\\01\\00\\d0\\7f"))
+
+ (func (export "f32.load") (result f32) (f32.load (i32.const 0)))
+ (func (export "i32.load") (result i32) (i32.load (i32.const 0)))
+ (func (export "f32.store") (f32.store (i32.const 0) (f32.const nan:0x500001)))
+ (func (export "i32.store") (i32.store (i32.const 0) (i32.const 0x7fd00001)))
+ (func (export "reset") (i32.store (i32.const 0) (i32.const 0)))
+)`);
+
+// ./test/core/float_memory.wast:119
+assert_return(() => invoke($4, `i32.load`, []), [value("i32", 2144337921)]);
+
+// ./test/core/float_memory.wast:120
+assert_return(() => invoke($4, `f32.load`, []), [bytes("f32", [0x1, 0x0, 0xd0, 0x7f])]);
+
+// ./test/core/float_memory.wast:121
+invoke($4, `reset`, []);
+
+// ./test/core/float_memory.wast:122
+assert_return(() => invoke($4, `i32.load`, []), [value("i32", 0)]);
+
+// ./test/core/float_memory.wast:123
+assert_return(() => invoke($4, `f32.load`, []), [value("f32", 0)]);
+
+// ./test/core/float_memory.wast:124
+invoke($4, `f32.store`, []);
+
+// ./test/core/float_memory.wast:125
+assert_return(() => invoke($4, `i32.load`, []), [value("i32", 2144337921)]);
+
+// ./test/core/float_memory.wast:126
+assert_return(() => invoke($4, `f32.load`, []), [bytes("f32", [0x1, 0x0, 0xd0, 0x7f])]);
+
+// ./test/core/float_memory.wast:127
+invoke($4, `reset`, []);
+
+// ./test/core/float_memory.wast:128
+assert_return(() => invoke($4, `i32.load`, []), [value("i32", 0)]);
+
+// ./test/core/float_memory.wast:129
+assert_return(() => invoke($4, `f32.load`, []), [value("f32", 0)]);
+
+// ./test/core/float_memory.wast:130
+invoke($4, `i32.store`, []);
+
+// ./test/core/float_memory.wast:131
+assert_return(() => invoke($4, `i32.load`, []), [value("i32", 2144337921)]);
+
+// ./test/core/float_memory.wast:132
+assert_return(() => invoke($4, `f32.load`, []), [bytes("f32", [0x1, 0x0, 0xd0, 0x7f])]);
+
+// ./test/core/float_memory.wast:134
+let $5 = instantiate(`(module
+ (memory (data "\\01\\00\\00\\00\\00\\00\\fc\\7f"))
+
+ (func (export "f64.load") (result f64) (f64.load (i32.const 0)))
+ (func (export "i64.load") (result i64) (i64.load (i32.const 0)))
+ (func (export "f64.store") (f64.store (i32.const 0) (f64.const nan:0xc000000000001)))
+ (func (export "i64.store") (i64.store (i32.const 0) (i64.const 0x7ffc000000000001)))
+ (func (export "reset") (i64.store (i32.const 0) (i64.const 0)))
+)`);
+
+// ./test/core/float_memory.wast:144
+assert_return(() => invoke($5, `i64.load`, []), [value("i64", 9222246136947933185n)]);
+
+// ./test/core/float_memory.wast:145
+assert_return(
+ () => invoke($5, `f64.load`, []),
+ [bytes("f64", [0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfc, 0x7f])],
+);
+
+// ./test/core/float_memory.wast:146
+invoke($5, `reset`, []);
+
+// ./test/core/float_memory.wast:147
+assert_return(() => invoke($5, `i64.load`, []), [value("i64", 0n)]);
+
+// ./test/core/float_memory.wast:148
+assert_return(() => invoke($5, `f64.load`, []), [value("f64", 0)]);
+
+// ./test/core/float_memory.wast:149
+invoke($5, `f64.store`, []);
+
+// ./test/core/float_memory.wast:150
+assert_return(() => invoke($5, `i64.load`, []), [value("i64", 9222246136947933185n)]);
+
+// ./test/core/float_memory.wast:151
+assert_return(
+ () => invoke($5, `f64.load`, []),
+ [bytes("f64", [0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfc, 0x7f])],
+);
+
+// ./test/core/float_memory.wast:152
+invoke($5, `reset`, []);
+
+// ./test/core/float_memory.wast:153
+assert_return(() => invoke($5, `i64.load`, []), [value("i64", 0n)]);
+
+// ./test/core/float_memory.wast:154
+assert_return(() => invoke($5, `f64.load`, []), [value("f64", 0)]);
+
+// ./test/core/float_memory.wast:155
+invoke($5, `i64.store`, []);
+
+// ./test/core/float_memory.wast:156
+assert_return(() => invoke($5, `i64.load`, []), [value("i64", 9222246136947933185n)]);
+
+// ./test/core/float_memory.wast:157
+assert_return(
+ () => invoke($5, `f64.load`, []),
+ [bytes("f64", [0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfc, 0x7f])],
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/float_misc.wast.js b/js/src/jit-test/tests/wasm/spec/spec/float_misc.wast.js
new file mode 100644
index 0000000000..9d7598b363
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/float_misc.wast.js
@@ -0,0 +1,3679 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/float_misc.wast
+
+// ./test/core/float_misc.wast:17
+let $0 = instantiate(`(module
+ (func (export "f32.add") (param $$x f32) (param $$y f32) (result f32) (f32.add (local.get $$x) (local.get $$y)))
+ (func (export "f32.sub") (param $$x f32) (param $$y f32) (result f32) (f32.sub (local.get $$x) (local.get $$y)))
+ (func (export "f32.mul") (param $$x f32) (param $$y f32) (result f32) (f32.mul (local.get $$x) (local.get $$y)))
+ (func (export "f32.div") (param $$x f32) (param $$y f32) (result f32) (f32.div (local.get $$x) (local.get $$y)))
+ (func (export "f32.sqrt") (param $$x f32) (result f32) (f32.sqrt (local.get $$x)))
+ (func (export "f32.abs") (param $$x f32) (result f32) (f32.abs (local.get $$x)))
+ (func (export "f32.neg") (param $$x f32) (result f32) (f32.neg (local.get $$x)))
+ (func (export "f32.copysign") (param $$x f32) (param $$y f32) (result f32) (f32.copysign (local.get $$x) (local.get $$y)))
+ (func (export "f32.ceil") (param $$x f32) (result f32) (f32.ceil (local.get $$x)))
+ (func (export "f32.floor") (param $$x f32) (result f32) (f32.floor (local.get $$x)))
+ (func (export "f32.trunc") (param $$x f32) (result f32) (f32.trunc (local.get $$x)))
+ (func (export "f32.nearest") (param $$x f32) (result f32) (f32.nearest (local.get $$x)))
+ (func (export "f32.min") (param $$x f32) (param $$y f32) (result f32) (f32.min (local.get $$x) (local.get $$y)))
+ (func (export "f32.max") (param $$x f32) (param $$y f32) (result f32) (f32.max (local.get $$x) (local.get $$y)))
+
+ (func (export "f64.add") (param $$x f64) (param $$y f64) (result f64) (f64.add (local.get $$x) (local.get $$y)))
+ (func (export "f64.sub") (param $$x f64) (param $$y f64) (result f64) (f64.sub (local.get $$x) (local.get $$y)))
+ (func (export "f64.mul") (param $$x f64) (param $$y f64) (result f64) (f64.mul (local.get $$x) (local.get $$y)))
+ (func (export "f64.div") (param $$x f64) (param $$y f64) (result f64) (f64.div (local.get $$x) (local.get $$y)))
+ (func (export "f64.sqrt") (param $$x f64) (result f64) (f64.sqrt (local.get $$x)))
+ (func (export "f64.abs") (param $$x f64) (result f64) (f64.abs (local.get $$x)))
+ (func (export "f64.neg") (param $$x f64) (result f64) (f64.neg (local.get $$x)))
+ (func (export "f64.copysign") (param $$x f64) (param $$y f64) (result f64) (f64.copysign (local.get $$x) (local.get $$y)))
+ (func (export "f64.ceil") (param $$x f64) (result f64) (f64.ceil (local.get $$x)))
+ (func (export "f64.floor") (param $$x f64) (result f64) (f64.floor (local.get $$x)))
+ (func (export "f64.trunc") (param $$x f64) (result f64) (f64.trunc (local.get $$x)))
+ (func (export "f64.nearest") (param $$x f64) (result f64) (f64.nearest (local.get $$x)))
+ (func (export "f64.min") (param $$x f64) (param $$y f64) (result f64) (f64.min (local.get $$x) (local.get $$y)))
+ (func (export "f64.max") (param $$x f64) (param $$y f64) (result f64) (f64.max (local.get $$x) (local.get $$y)))
+)`);
+
+// ./test/core/float_misc.wast:50
+assert_return(
+ () => invoke($0, `f32.add`, [value("f32", 1.1234568), value("f32", 0.00000000012345)]),
+ [value("f32", 1.1234568)],
+);
+
+// ./test/core/float_misc.wast:51
+assert_return(
+ () => invoke($0, `f64.add`, [
+ value("f64", 1.123456789),
+ value("f64", 0.00000000012345),
+ ]),
+ [value("f64", 1.12345678912345)],
+);
+
+// ./test/core/float_misc.wast:55
+assert_return(
+ () => invoke($0, `f32.add`, [value("f32", 1), value("f32", 0.000000059604645)]),
+ [value("f32", 1)],
+);
+
+// ./test/core/float_misc.wast:56
+assert_return(
+ () => invoke($0, `f32.add`, [value("f32", 1), value("f32", 0.00000005960465)]),
+ [value("f32", 1.0000001)],
+);
+
+// ./test/core/float_misc.wast:57
+assert_return(
+ () => invoke($0, `f64.add`, [
+ value("f64", 1),
+ value("f64", 0.00000000000000011102230246251565),
+ ]),
+ [value("f64", 1)],
+);
+
+// ./test/core/float_misc.wast:58
+assert_return(
+ () => invoke($0, `f64.add`, [
+ value("f64", 1),
+ value("f64", 0.00000000000000011102230246251568),
+ ]),
+ [value("f64", 1.0000000000000002)],
+);
+
+// ./test/core/float_misc.wast:61
+assert_return(
+ () => invoke($0, `f32.add`, [
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000011754942),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/float_misc.wast:62
+assert_return(
+ () => invoke($0, `f64.add`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507201),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/float_misc.wast:67
+assert_return(
+ () => invoke($0, `f32.add`, [value("f32", 2147483600), value("f32", 1024.25)]),
+ [value("f32", 2147484700)],
+);
+
+// ./test/core/float_misc.wast:68
+assert_return(
+ () => invoke($0, `f64.add`, [
+ value("f64", 9223372036854776000),
+ value("f64", 1024.25),
+ ]),
+ [value("f64", 9223372036854778000)],
+);
+
+// ./test/core/float_misc.wast:72
+assert_return(
+ () => invoke($0, `f64.add`, [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003645561009778199),
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000292),
+ ]),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000036455610097781983),
+ ],
+);
+
+// ./test/core/float_misc.wast:75
+assert_return(
+ () => invoke($0, `f64.add`, [value("f64", 9007199254740992), value("f64", 1.00001)]),
+ [value("f64", 9007199254740994)],
+);
+
+// ./test/core/float_misc.wast:78
+assert_return(
+ () => invoke($0, `f64.add`, [
+ value("f64", 9007199254740994),
+ value("f64", 0.9999847412109375),
+ ]),
+ [value("f64", 9007199254740994)],
+);
+
+// ./test/core/float_misc.wast:81
+assert_return(
+ () => invoke($0, `f32.add`, [value("f32", 8388608), value("f32", 0.5)]),
+ [value("f32", 8388608)],
+);
+
+// ./test/core/float_misc.wast:82
+assert_return(
+ () => invoke($0, `f32.add`, [value("f32", 8388609), value("f32", 0.5)]),
+ [value("f32", 8388610)],
+);
+
+// ./test/core/float_misc.wast:83
+assert_return(
+ () => invoke($0, `f64.add`, [value("f64", 4503599627370496), value("f64", 0.5)]),
+ [value("f64", 4503599627370496)],
+);
+
+// ./test/core/float_misc.wast:84
+assert_return(
+ () => invoke($0, `f64.add`, [value("f64", 4503599627370497), value("f64", 0.5)]),
+ [value("f64", 4503599627370498)],
+);
+
+// ./test/core/float_misc.wast:87
+assert_return(
+ () => invoke($0, `f32.add`, [
+ value("f32", -6207600000000000000000000000000),
+ value("f32", 0.000000000000000000000000000002309799),
+ ]),
+ [value("f32", -6207600000000000000000000000000)],
+);
+
+// ./test/core/float_misc.wast:88
+assert_return(
+ () => invoke($0, `f32.add`, [
+ value("f32", 209865800000000000000),
+ value("f32", -5270152500000000),
+ ]),
+ [value("f32", 209860530000000000000)],
+);
+
+// ./test/core/float_misc.wast:89
+assert_return(
+ () => invoke($0, `f32.add`, [
+ value("f32", 0.0000000000000000000000001963492),
+ value("f32", 0.000000000000000000000000000000000000046220067),
+ ]),
+ [value("f32", 0.0000000000000000000000001963492)],
+);
+
+// ./test/core/float_misc.wast:90
+assert_return(
+ () => invoke($0, `f32.add`, [
+ value("f32", 640905000000),
+ value("f32", -64449550000000000),
+ ]),
+ [value("f32", -64448910000000000)],
+);
+
+// ./test/core/float_misc.wast:91
+assert_return(
+ () => invoke($0, `f32.add`, [
+ value("f32", 0.0000601966),
+ value("f32", 120372790000000000000000000000000),
+ ]),
+ [value("f32", 120372790000000000000000000000000)],
+);
+
+// ./test/core/float_misc.wast:92
+assert_return(
+ () => invoke($0, `f64.add`, [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009218993827002741),
+ value("f64", -1283078243878048500000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -1283078243878048500000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_misc.wast:93
+assert_return(
+ () => invoke($0, `f64.add`, [
+ value("f64", -96503407870148960000000),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000004670208988478548),
+ ]),
+ [value("f64", -96503407870148960000000)],
+);
+
+// ./test/core/float_misc.wast:94
+assert_return(
+ () => invoke($0, `f64.add`, [
+ value("f64", 0.0000000000000000000000000000000000000000000028559147675434106),
+ value("f64", -0.00026124280570653086),
+ ]),
+ [value("f64", -0.00026124280570653086)],
+);
+
+// ./test/core/float_misc.wast:95
+assert_return(
+ () => invoke($0, `f64.add`, [
+ value("f64", 417909928165296700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 79335564741512700000),
+ ]),
+ [
+ value("f64", 417909928165296700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_misc.wast:96
+assert_return(
+ () => invoke($0, `f64.add`, [
+ value("f64", 8265442868747023000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 43603327839006250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 43603327839006250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_misc.wast:99
+assert_return(
+ () => invoke($0, `f32.add`, [
+ value("f32", 5238404000000000000000),
+ value("f32", -1570182.5),
+ ]),
+ [value("f32", 5238404000000000000000)],
+);
+
+// ./test/core/float_misc.wast:100
+assert_return(
+ () => invoke($0, `f32.add`, [
+ value("f32", 0.00000000000004258938),
+ value("f32", -0.0000000000000000000000057092353),
+ ]),
+ [value("f32", 0.00000000000004258938)],
+);
+
+// ./test/core/float_misc.wast:101
+assert_return(
+ () => invoke($0, `f32.add`, [
+ value("f32", -0.00000000000027251026),
+ value("f32", 83711560000000000000000000000000000000),
+ ]),
+ [value("f32", 83711560000000000000000000000000000000)],
+);
+
+// ./test/core/float_misc.wast:102
+assert_return(
+ () => invoke($0, `f32.add`, [
+ value("f32", -0.0000000000000884536),
+ value("f32", -0.000000000000000000000000000000015165626),
+ ]),
+ [value("f32", -0.0000000000000884536)],
+);
+
+// ./test/core/float_misc.wast:103
+assert_return(
+ () => invoke($0, `f32.add`, [
+ value("f32", 0.0010521035),
+ value("f32", -0.000000000000000000000000000000007582135),
+ ]),
+ [value("f32", 0.0010521035)],
+);
+
+// ./test/core/float_misc.wast:104
+assert_return(
+ () => invoke($0, `f64.add`, [
+ value("f64", 1511135228188924600000000000000000000000000000000000000),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002760218100603169),
+ ]),
+ [value("f64", 1511135228188924600000000000000000000000000000000000000)],
+);
+
+// ./test/core/float_misc.wast:105
+assert_return(
+ () => invoke($0, `f64.add`, [
+ value("f64", 62386719760360280000000000000000000000000000000),
+ value("f64", -0.0000000000000000008592185488839212),
+ ]),
+ [value("f64", 62386719760360280000000000000000000000000000000)],
+);
+
+// ./test/core/float_misc.wast:106
+assert_return(
+ () => invoke($0, `f64.add`, [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004195022848436354),
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000029225342022551453),
+ ]),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004195022848436354),
+ ],
+);
+
+// ./test/core/float_misc.wast:107
+assert_return(
+ () => invoke($0, `f64.add`, [
+ value("f64", -215220546714824520000000000000000000000000000),
+ value("f64", -1112220412047137200000000000000000000000000),
+ ]),
+ [value("f64", -216332767126871650000000000000000000000000000)],
+);
+
+// ./test/core/float_misc.wast:108
+assert_return(
+ () => invoke($0, `f64.add`, [
+ value("f64", -13.6911535055856),
+ value("f64", 2066117898924419800000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 2066117898924419800000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_misc.wast:111
+assert_return(
+ () => invoke($0, `f32.add`, [
+ value("f32", -0.000000000000000000000000000000000006456021),
+ value("f32", 0.00000000000020219949),
+ ]),
+ [value("f32", 0.00000000000020219949)],
+);
+
+// ./test/core/float_misc.wast:112
+assert_return(
+ () => invoke($0, `f32.add`, [
+ value("f32", -0.000026823169),
+ value("f32", 0.000000011196016),
+ ]),
+ [value("f32", -0.000026811973)],
+);
+
+// ./test/core/float_misc.wast:113
+assert_return(
+ () => invoke($0, `f32.add`, [
+ value("f32", -128526170000),
+ value("f32", 0.0000000000000000000000000000000027356305),
+ ]),
+ [value("f32", -128526170000)],
+);
+
+// ./test/core/float_misc.wast:114
+assert_return(
+ () => invoke($0, `f32.add`, [
+ value("f32", 0.000000000000000000000000000000000004158973),
+ value("f32", -1573528700),
+ ]),
+ [value("f32", -1573528700)],
+);
+
+// ./test/core/float_misc.wast:115
+assert_return(
+ () => invoke($0, `f32.add`, [
+ value("f32", -0.0000000000000000000000000000000000009338769),
+ value("f32", 78647514000000000000000000000),
+ ]),
+ [value("f32", 78647514000000000000000000000)],
+);
+
+// ./test/core/float_misc.wast:116
+assert_return(
+ () => invoke($0, `f64.add`, [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021986596650683218),
+ value("f64", -235447594845461340000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -235447594845461340000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_misc.wast:117
+assert_return(
+ () => invoke($0, `f64.add`, [
+ value("f64", -314175619593595700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -30114098514611660000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -314175649707694230000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_misc.wast:118
+assert_return(
+ () => invoke($0, `f64.add`, [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013722858367681836),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000011571842749688977),
+ ]),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000011571842749688977),
+ ],
+);
+
+// ./test/core/float_misc.wast:119
+assert_return(
+ () => invoke($0, `f64.add`, [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009828583756551075),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016862581574752944),
+ ]),
+ [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009828583756551075),
+ ],
+);
+
+// ./test/core/float_misc.wast:120
+assert_return(
+ () => invoke($0, `f64.add`, [
+ value("f64", -672584203522163500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 8374007930974482000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -672584203522163500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_misc.wast:123
+assert_return(
+ () => invoke($0, `f64.add`, [
+ value("f64", -210896605327889950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 581483233421196300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 581483022524591100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_misc.wast:124
+assert_return(
+ () => invoke($0, `f64.add`, [
+ value("f64", 102315792666821480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 450204300797494900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 102315792667271680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_misc.wast:125
+assert_return(
+ () => invoke($0, `f64.add`, [
+ value("f64", -130529978570956560000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 154899434220186570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 154899434220186450000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_misc.wast:126
+assert_return(
+ () => invoke($0, `f64.add`, [
+ value("f64", 47629997434721684000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 455586451058259700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 455586451058259700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_misc.wast:127
+assert_return(
+ () => invoke($0, `f64.add`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003958952516558414),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023092460710062946),
+ ]),
+ [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000230924607140219),
+ ],
+);
+
+// ./test/core/float_misc.wast:130
+assert_return(
+ () => invoke($0, `f64.add`, [
+ value("f64", -43780558475415996000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -49680759347383435000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -49680759347383435000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_misc.wast:131
+assert_return(
+ () => invoke($0, `f64.add`, [
+ value("f64", 21174311168546080000000000000000000000000000000000000000000),
+ value("f64", -26385928474612128000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -26385928474612128000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_misc.wast:132
+assert_return(
+ () => invoke($0, `f64.add`, [
+ value("f64", -9508489561700635000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007858068235728165),
+ ]),
+ [
+ value("f64", -9508489561700635000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_misc.wast:133
+assert_return(
+ () => invoke($0, `f64.add`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005079144928553737),
+ value("f64", -354021720742499800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -354021720742499800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_misc.wast:134
+assert_return(
+ () => invoke($0, `f64.add`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000004165382103988111),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010865942283516648),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000004165382103988111),
+ ],
+);
+
+// ./test/core/float_misc.wast:137
+assert_return(
+ () => invoke($0, `f32.add`, [
+ value("f32", 97215650000000000000000000000000000),
+ value("f32", 305590870000000000000000000000000000000),
+ ]),
+ [value("f32", 305688080000000000000000000000000000000)],
+);
+
+// ./test/core/float_misc.wast:138
+assert_return(
+ () => invoke($0, `f32.add`, [
+ value("f32", 270465630000000000000000000000000000000),
+ value("f32", -230236850000000000000000000000000),
+ ]),
+ [value("f32", 270465400000000000000000000000000000000)],
+);
+
+// ./test/core/float_misc.wast:139
+assert_return(
+ () => invoke($0, `f32.add`, [
+ value("f32", 357209300000000000000000000000000000),
+ value("f32", -236494050000000000000000000000000000000),
+ ]),
+ [value("f32", -236136840000000000000000000000000000000)],
+);
+
+// ./test/core/float_misc.wast:140
+assert_return(
+ () => invoke($0, `f32.add`, [
+ value("f32", -1484234100000000000000000000000000000),
+ value("f32", -328991400000000000000000000000000000000),
+ ]),
+ [value("f32", -330475620000000000000000000000000000000)],
+);
+
+// ./test/core/float_misc.wast:141
+assert_return(
+ () => invoke($0, `f32.add`, [
+ value("f32", -219885600000000000000000000000000000000),
+ value("f32", -81560930000000000000000000000000000000),
+ ]),
+ [value("f32", -301446520000000000000000000000000000000)],
+);
+
+// ./test/core/float_misc.wast:142
+assert_return(
+ () => invoke($0, `f64.add`, [
+ value("f64", 90390204939547630000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 22943337422040356000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 90390204939570580000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_misc.wast:143
+assert_return(
+ () => invoke($0, `f64.add`, [
+ value("f64", 165916059736246050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 12577349331444160000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 165916059748823400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_misc.wast:144
+assert_return(
+ () => invoke($0, `f64.add`, [
+ value("f64", -136351292561394300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 60507030603873580000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -136290785530790440000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_misc.wast:145
+assert_return(
+ () => invoke($0, `f64.add`, [
+ value("f64", -34377613258227424000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 169947152758793490000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 169947118381180220000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_misc.wast:146
+assert_return(
+ () => invoke($0, `f64.add`, [
+ value("f64", 92273427008645570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -39269416451018680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 92273426969376150000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_misc.wast:149
+assert_return(
+ () => invoke($0, `f32.add`, [
+ value("f32", 0.000000000000000000000000000000000000008313455),
+ value("f32", 0.000000000000000000000000000000000000000000873),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000008314328)],
+);
+
+// ./test/core/float_misc.wast:150
+assert_return(
+ () => invoke($0, `f32.add`, [
+ value("f32", 0.000000000000000000000000000000000000000000052),
+ value("f32", -0.000000000000000000000000000000000000000000003),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000049)],
+);
+
+// ./test/core/float_misc.wast:151
+assert_return(
+ () => invoke($0, `f32.add`, [
+ value("f32", -0.000000000000000000000000000000000000000000011),
+ value("f32", 0.000000000000000000000000000000000000005186284),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000005186273)],
+);
+
+// ./test/core/float_misc.wast:152
+assert_return(
+ () => invoke($0, `f32.add`, [
+ value("f32", -0.000000000000000000000000000000000000000000028),
+ value("f32", 0.00000000000000000000000000000000000023675283),
+ ]),
+ [value("f32", 0.0000000000000000000000000000000000002367528)],
+);
+
+// ./test/core/float_misc.wast:153
+assert_return(
+ () => invoke($0, `f32.add`, [
+ value("f32", 0.000000000000000000000000000000000000000000635),
+ value("f32", -0.00000000000000000000000000000000000000003327),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000000032635)],
+);
+
+// ./test/core/float_misc.wast:154
+assert_return(
+ () => invoke($0, `f64.add`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028461489375936755),
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005130160608603642),
+ ]),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002284011671009967),
+ ],
+);
+
+// ./test/core/float_misc.wast:155
+assert_return(
+ () => invoke($0, `f64.add`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000047404811354775),
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008895417776504167),
+ ]),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004154936641026667),
+ ],
+);
+
+// ./test/core/float_misc.wast:156
+assert_return(
+ () => invoke($0, `f64.add`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009330082001250494),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000029863980609419717),
+ ]),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003919406261067021),
+ ],
+);
+
+// ./test/core/float_misc.wast:157
+assert_return(
+ () => invoke($0, `f64.add`, [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014418693884494008),
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016324914377759187),
+ ]),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001906220493265178),
+ ],
+);
+
+// ./test/core/float_misc.wast:158
+assert_return(
+ () => invoke($0, `f64.add`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000043203619362281506),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002521511966399844),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000017988499698283067),
+ ],
+);
+
+// ./test/core/float_misc.wast:162
+assert_return(
+ () => invoke($0, `f32.add`, [
+ value("f32", 340282330000000000000000000000000000000),
+ value("f32", 20282410000000000000000000000000),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/float_misc.wast:163
+assert_return(
+ () => invoke($0, `f64.add`, [
+ value("f64", 179769313486231550000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 19958403095347200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_misc.wast:166
+assert_return(() => invoke($0, `f32.add`, [value("f32", 2), value("f32", 2)]), [value("f32", 4)]);
+
+// ./test/core/float_misc.wast:167
+assert_return(() => invoke($0, `f64.add`, [value("f64", 2), value("f64", 2)]), [value("f64", 4)]);
+
+// ./test/core/float_misc.wast:170
+assert_return(
+ () => invoke($0, `f32.add`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 10141204000000000000000000000000),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/float_misc.wast:171
+assert_return(
+ () => invoke($0, `f32.add`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 10141205000000000000000000000000),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/float_misc.wast:172
+assert_return(
+ () => invoke($0, `f64.add`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 9979201547673598000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_misc.wast:173
+assert_return(
+ () => invoke($0, `f64.add`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 9979201547673600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/float_misc.wast:177
+assert_return(
+ () => invoke($0, `f32.sub`, [value("f32", 65536), value("f32", 0.000000000007275958)]),
+ [value("f32", 65536)],
+);
+
+// ./test/core/float_misc.wast:178
+assert_return(
+ () => invoke($0, `f64.sub`, [
+ value("f64", 65536),
+ value("f64", 0.000000000007275957614183426),
+ ]),
+ [value("f64", 65535.99999999999)],
+);
+
+// ./test/core/float_misc.wast:182
+assert_return(
+ () => invoke($0, `f32.sub`, [value("f32", 1), value("f32", 0.000000029802322)]),
+ [value("f32", 1)],
+);
+
+// ./test/core/float_misc.wast:183
+assert_return(
+ () => invoke($0, `f32.sub`, [value("f32", 1), value("f32", 0.000000029802326)]),
+ [value("f32", 0.99999994)],
+);
+
+// ./test/core/float_misc.wast:184
+assert_return(
+ () => invoke($0, `f64.sub`, [
+ value("f64", 1),
+ value("f64", 0.00000000000000005551115123125783),
+ ]),
+ [value("f64", 1)],
+);
+
+// ./test/core/float_misc.wast:185
+assert_return(
+ () => invoke($0, `f64.sub`, [
+ value("f64", 1),
+ value("f64", 0.00000000000000005551115123125784),
+ ]),
+ [value("f64", 0.9999999999999999)],
+);
+
+// ./test/core/float_misc.wast:188
+assert_return(
+ () => invoke($0, `f32.sub`, [
+ value("f32", 0.00000000000000000000000000000002379208),
+ value("f32", -722129800000000000000000000000000000),
+ ]),
+ [value("f32", 722129800000000000000000000000000000)],
+);
+
+// ./test/core/float_misc.wast:189
+assert_return(
+ () => invoke($0, `f32.sub`, [
+ value("f32", -842284000000000000000000000000000000),
+ value("f32", -11118414000000),
+ ]),
+ [value("f32", -842284000000000000000000000000000000)],
+);
+
+// ./test/core/float_misc.wast:190
+assert_return(
+ () => invoke($0, `f32.sub`, [
+ value("f32", 1.4549444),
+ value("f32", -0.00000000000000000000000033792615),
+ ]),
+ [value("f32", 1.4549444)],
+);
+
+// ./test/core/float_misc.wast:191
+assert_return(
+ () => invoke($0, `f32.sub`, [
+ value("f32", 0.0000000000000000000000000000000000094808914),
+ value("f32", 0.000000000000000000000018589502),
+ ]),
+ [value("f32", -0.000000000000000000000018589502)],
+);
+
+// ./test/core/float_misc.wast:192
+assert_return(
+ () => invoke($0, `f32.sub`, [
+ value("f32", 0.000006181167),
+ value("f32", -0.0000000000000000000000000000000093959864),
+ ]),
+ [value("f32", 0.000006181167)],
+);
+
+// ./test/core/float_misc.wast:193
+assert_return(
+ () => invoke($0, `f64.sub`, [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000775701650124413),
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002524845082116609),
+ ]),
+ [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000775701650124413),
+ ],
+);
+
+// ./test/core/float_misc.wast:194
+assert_return(
+ () => invoke($0, `f64.sub`, [
+ value("f64", -20991871064832710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.0000000000000000000000000000000000000000000000038165079778426864),
+ ]),
+ [
+ value("f64", -20991871064832710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_misc.wast:195
+assert_return(
+ () => invoke($0, `f64.sub`, [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028592030964162332),
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020889465194336087),
+ ]),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028592030964162332),
+ ],
+);
+
+// ./test/core/float_misc.wast:196
+assert_return(
+ () => invoke($0, `f64.sub`, [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000303879528930943),
+ value("f64", -23204941114021897000000000000000000000000000000),
+ ]),
+ [value("f64", 23204941114021897000000000000000000000000000000)],
+);
+
+// ./test/core/float_misc.wast:197
+assert_return(
+ () => invoke($0, `f64.sub`, [
+ value("f64", -0.00000000000000000000000000000000000000000014953904039036317),
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010592252695645683),
+ ]),
+ [value("f64", -0.00000000000000000000000000000000000000000014953904039036317)],
+);
+
+// ./test/core/float_misc.wast:200
+assert_return(
+ () => invoke($0, `f32.sub`, [
+ value("f32", -448601660000000000000000000000000),
+ value("f32", -8984148000000000000000000000000000),
+ ]),
+ [value("f32", 8535546400000000000000000000000000)],
+);
+
+// ./test/core/float_misc.wast:201
+assert_return(
+ () => invoke($0, `f32.sub`, [
+ value("f32", -899427400000000000000000000000000),
+ value("f32", 91.579384),
+ ]),
+ [value("f32", -899427400000000000000000000000000)],
+);
+
+// ./test/core/float_misc.wast:202
+assert_return(
+ () => invoke($0, `f32.sub`, [
+ value("f32", -0.00000000000000000000000011975),
+ value("f32", 0.000000063140405),
+ ]),
+ [value("f32", -0.000000063140405)],
+);
+
+// ./test/core/float_misc.wast:203
+assert_return(
+ () => invoke($0, `f32.sub`, [
+ value("f32", -0.000000000000000000000011800487),
+ value("f32", -0.00031558736),
+ ]),
+ [value("f32", 0.00031558736)],
+);
+
+// ./test/core/float_misc.wast:204
+assert_return(
+ () => invoke($0, `f32.sub`, [
+ value("f32", -736483800000000000000000000000),
+ value("f32", 0.0000000000000000030824513),
+ ]),
+ [value("f32", -736483800000000000000000000000)],
+);
+
+// ./test/core/float_misc.wast:205
+assert_return(
+ () => invoke($0, `f64.sub`, [
+ value("f64", -9410469964196796000000000000000000000000000000000000000000000),
+ value("f64", -17306275691385970000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 17306275691385970000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_misc.wast:206
+assert_return(
+ () => invoke($0, `f64.sub`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002877908564233173),
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002339448785991429),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002877908564233173),
+ ],
+);
+
+// ./test/core/float_misc.wast:207
+assert_return(
+ () => invoke($0, `f64.sub`, [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000009719219783531962),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001572015082308034),
+ ]),
+ [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000009719219783531962),
+ ],
+);
+
+// ./test/core/float_misc.wast:208
+assert_return(
+ () => invoke($0, `f64.sub`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034908896031751274),
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000019928479721303208),
+ ]),
+ [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000019928479721303208),
+ ],
+);
+
+// ./test/core/float_misc.wast:209
+assert_return(
+ () => invoke($0, `f64.sub`, [
+ value("f64", -7538298763725556000000000000000000),
+ value("f64", 4447012580193329000000000000000000000000000000000000),
+ ]),
+ [value("f64", -4447012580193329000000000000000000000000000000000000)],
+);
+
+// ./test/core/float_misc.wast:212
+assert_return(
+ () => invoke($0, `f32.sub`, [
+ value("f32", 75846976000000000000000000000),
+ value("f32", 0.000046391753),
+ ]),
+ [value("f32", 75846976000000000000000000000)],
+);
+
+// ./test/core/float_misc.wast:213
+assert_return(
+ () => invoke($0, `f32.sub`, [
+ value("f32", -567139.9),
+ value("f32", -0.000000000030334842),
+ ]),
+ [value("f32", -567139.9)],
+);
+
+// ./test/core/float_misc.wast:214
+assert_return(
+ () => invoke($0, `f32.sub`, [
+ value("f32", -0.000000000017412261),
+ value("f32", -0.000000000000000017877793),
+ ]),
+ [value("f32", -0.000000000017412244)],
+);
+
+// ./test/core/float_misc.wast:215
+assert_return(
+ () => invoke($0, `f32.sub`, [
+ value("f32", -0.000065645545),
+ value("f32", 0.00014473806),
+ ]),
+ [value("f32", -0.00021038362)],
+);
+
+// ./test/core/float_misc.wast:216
+assert_return(
+ () => invoke($0, `f32.sub`, [
+ value("f32", -0.00000000016016115),
+ value("f32", -0.000000000000000000000000000000085380075),
+ ]),
+ [value("f32", -0.00000000016016115)],
+);
+
+// ./test/core/float_misc.wast:217
+assert_return(
+ () => invoke($0, `f64.sub`, [
+ value("f64", -0.000000000000000000000000000000000000000000000009358725267183177),
+ value("f64", -31137147338685164000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 31137147338685164000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_misc.wast:218
+assert_return(
+ () => invoke($0, `f64.sub`, [
+ value("f64", -4390767596767215000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -67890457158958560000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 67890457158958560000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_misc.wast:219
+assert_return(
+ () => invoke($0, `f64.sub`, [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000036288281010831153),
+ value("f64", 3383199683245004400000000000000000000000000000000000000),
+ ]),
+ [value("f64", -3383199683245004400000000000000000000000000000000000000)],
+);
+
+// ./test/core/float_misc.wast:220
+assert_return(
+ () => invoke($0, `f64.sub`, [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003645097751812619),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000031423490969686624),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000031423491006137603),
+ ],
+);
+
+// ./test/core/float_misc.wast:221
+assert_return(
+ () => invoke($0, `f64.sub`, [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008021529638989887),
+ value("f64", -0.00006774972769072139),
+ ]),
+ [value("f64", 0.00006774972769072139)],
+);
+
+// ./test/core/float_misc.wast:224
+assert_return(
+ () => invoke($0, `f64.sub`, [
+ value("f64", 0.000000000000000000000005816988065793039),
+ value("f64", 0.000000000000000000000000000000000025021499241540866),
+ ]),
+ [value("f64", 0.000000000000000000000005816988065768018)],
+);
+
+// ./test/core/float_misc.wast:225
+assert_return(
+ () => invoke($0, `f64.sub`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000043336683304809554),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016945582607476316),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000043336683135353726),
+ ],
+);
+
+// ./test/core/float_misc.wast:226
+assert_return(
+ () => invoke($0, `f64.sub`, [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000006908052676315257),
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000012001773734799856),
+ ]),
+ [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000012001773734799856),
+ ],
+);
+
+// ./test/core/float_misc.wast:227
+assert_return(
+ () => invoke($0, `f64.sub`, [
+ value("f64", -0.0000000000022044291547443813),
+ value("f64", -0.0000000000000000000027947429925618632),
+ ]),
+ [value("f64", -0.000000000002204429151949638)],
+);
+
+// ./test/core/float_misc.wast:228
+assert_return(
+ () => invoke($0, `f64.sub`, [
+ value("f64", 0.00000004016393569117761),
+ value("f64", 0.17053881989395447),
+ ]),
+ [value("f64", -0.17053877973001877)],
+);
+
+// ./test/core/float_misc.wast:231
+assert_return(
+ () => invoke($0, `f64.sub`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010015106898667285),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004785375958943186),
+ ]),
+ [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000047853759589431757),
+ ],
+);
+
+// ./test/core/float_misc.wast:232
+assert_return(
+ () => invoke($0, `f64.sub`, [
+ value("f64", -15618959953.641388),
+ value("f64", 598234410620718900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -598234410620718900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_misc.wast:233
+assert_return(
+ () => invoke($0, `f64.sub`, [
+ value("f64", 38832071540376680000000000000000000),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000042192279274320304),
+ ]),
+ [value("f64", 38832071540376680000000000000000000)],
+);
+
+// ./test/core/float_misc.wast:234
+assert_return(
+ () => invoke($0, `f64.sub`, [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010705986890807897),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000017466607734737216),
+ ]),
+ [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010705986890807897),
+ ],
+);
+
+// ./test/core/float_misc.wast:235
+assert_return(
+ () => invoke($0, `f64.sub`, [
+ value("f64", 0.00000000000000000949378346261834),
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014584885434950294),
+ ]),
+ [value("f64", 0.00000000000000000949378346261834)],
+);
+
+// ./test/core/float_misc.wast:239
+assert_return(
+ () => invoke($0, `f32.sub`, [value("f32", 23.140692), value("f32", 3.1415927)]),
+ [value("f32", 19.9991)],
+);
+
+// ./test/core/float_misc.wast:240
+assert_return(
+ () => invoke($0, `f64.sub`, [
+ value("f64", 23.14069263277927),
+ value("f64", 3.141592653589793),
+ ]),
+ [value("f64", 19.999099979189477)],
+);
+
+// ./test/core/float_misc.wast:243
+assert_return(
+ () => invoke($0, `f32.sub`, [value("f32", 2999999), value("f32", 2999998)]),
+ [value("f32", 1)],
+);
+
+// ./test/core/float_misc.wast:244
+assert_return(
+ () => invoke($0, `f32.sub`, [value("f32", 1999999), value("f32", 1999995)]),
+ [value("f32", 4)],
+);
+
+// ./test/core/float_misc.wast:245
+assert_return(
+ () => invoke($0, `f32.sub`, [value("f32", 1999999), value("f32", 1999993)]),
+ [value("f32", 6)],
+);
+
+// ./test/core/float_misc.wast:246
+assert_return(
+ () => invoke($0, `f32.sub`, [value("f32", 400002), value("f32", 400001)]),
+ [value("f32", 1)],
+);
+
+// ./test/core/float_misc.wast:247
+assert_return(
+ () => invoke($0, `f32.sub`, [value("f32", 400002), value("f32", 400000)]),
+ [value("f32", 2)],
+);
+
+// ./test/core/float_misc.wast:248
+assert_return(
+ () => invoke($0, `f64.sub`, [
+ value("f64", 2999999999999999),
+ value("f64", 2999999999999998),
+ ]),
+ [value("f64", 1)],
+);
+
+// ./test/core/float_misc.wast:249
+assert_return(
+ () => invoke($0, `f64.sub`, [
+ value("f64", 1999999999999999),
+ value("f64", 1999999999999995),
+ ]),
+ [value("f64", 4)],
+);
+
+// ./test/core/float_misc.wast:250
+assert_return(
+ () => invoke($0, `f64.sub`, [
+ value("f64", 1999999999999999),
+ value("f64", 1999999999999993),
+ ]),
+ [value("f64", 6)],
+);
+
+// ./test/core/float_misc.wast:251
+assert_return(
+ () => invoke($0, `f64.sub`, [
+ value("f64", 400000000000002),
+ value("f64", 400000000000001),
+ ]),
+ [value("f64", 1)],
+);
+
+// ./test/core/float_misc.wast:252
+assert_return(
+ () => invoke($0, `f64.sub`, [
+ value("f64", 400000000000002),
+ value("f64", 400000000000000),
+ ]),
+ [value("f64", 2)],
+);
+
+// ./test/core/float_misc.wast:255
+assert_return(
+ () => invoke($0, `f32.sub`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754942),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/float_misc.wast:256
+assert_return(
+ () => invoke($0, `f64.sub`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507201),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/float_misc.wast:259
+assert_return(
+ () => invoke($0, `f32.sub`, [value("f32", 1.0000001), value("f32", 0.99999994)]),
+ [value("f32", 0.00000017881393)],
+);
+
+// ./test/core/float_misc.wast:260
+assert_return(
+ () => invoke($0, `f32.sub`, [value("f32", 1.0000001), value("f32", 1)]),
+ [value("f32", 0.00000011920929)],
+);
+
+// ./test/core/float_misc.wast:261
+assert_return(
+ () => invoke($0, `f32.sub`, [value("f32", 1), value("f32", 0.99999994)]),
+ [value("f32", 0.000000059604645)],
+);
+
+// ./test/core/float_misc.wast:262
+assert_return(
+ () => invoke($0, `f64.sub`, [
+ value("f64", 1.0000000000000002),
+ value("f64", 0.9999999999999999),
+ ]),
+ [value("f64", 0.00000000000000033306690738754696)],
+);
+
+// ./test/core/float_misc.wast:263
+assert_return(
+ () => invoke($0, `f64.sub`, [value("f64", 1.0000000000000002), value("f64", 1)]),
+ [value("f64", 0.0000000000000002220446049250313)],
+);
+
+// ./test/core/float_misc.wast:264
+assert_return(
+ () => invoke($0, `f64.sub`, [value("f64", 1), value("f64", 0.9999999999999999)]),
+ [value("f64", 0.00000000000000011102230246251565)],
+);
+
+// ./test/core/float_misc.wast:268
+assert_return(
+ () => invoke($0, `f32.sub`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 10141204000000000000000000000000),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/float_misc.wast:269
+assert_return(
+ () => invoke($0, `f32.sub`, [
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 10141205000000000000000000000000),
+ ]),
+ [value("f32", 340282330000000000000000000000000000000)],
+);
+
+// ./test/core/float_misc.wast:270
+assert_return(
+ () => invoke($0, `f64.sub`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 9979201547673598000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_misc.wast:271
+assert_return(
+ () => invoke($0, `f64.sub`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 9979201547673600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231550000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_misc.wast:274
+assert_return(
+ () => invoke($0, `f32.mul`, [
+ value("f32", 1000000000000000),
+ value("f32", 1000000000000000),
+ ]),
+ [value("f32", 999999940000000000000000000000)],
+);
+
+// ./test/core/float_misc.wast:275
+assert_return(
+ () => invoke($0, `f32.mul`, [
+ value("f32", 100000000000000000000),
+ value("f32", 100000000000000000000),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/float_misc.wast:276
+assert_return(
+ () => invoke($0, `f32.mul`, [
+ value("f32", 10000000000000000000000000),
+ value("f32", 10000000000000000000000000),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/float_misc.wast:277
+assert_return(
+ () => invoke($0, `f64.mul`, [
+ value("f64", 1000000000000000),
+ value("f64", 1000000000000000),
+ ]),
+ [value("f64", 1000000000000000000000000000000)],
+);
+
+// ./test/core/float_misc.wast:278
+assert_return(
+ () => invoke($0, `f64.mul`, [
+ value("f64", 100000000000000000000),
+ value("f64", 100000000000000000000),
+ ]),
+ [value("f64", 10000000000000000000000000000000000000000)],
+);
+
+// ./test/core/float_misc.wast:279
+assert_return(
+ () => invoke($0, `f64.mul`, [
+ value("f64", 10000000000000000000000000),
+ value("f64", 10000000000000000000000000),
+ ]),
+ [value("f64", 100000000000000030000000000000000000000000000000000)],
+);
+
+// ./test/core/float_misc.wast:284
+assert_return(
+ () => invoke($0, `f32.mul`, [value("f32", 1848874900), value("f32", 19954563000)]),
+ [value("f32", 36893493000000000000)],
+);
+
+// ./test/core/float_misc.wast:285
+assert_return(
+ () => invoke($0, `f64.mul`, [value("f64", 1848874847), value("f64", 19954562207)]),
+ [value("f64", 36893488147419110000)],
+);
+
+// ./test/core/float_misc.wast:289
+assert_return(
+ () => invoke($0, `f32.mul`, [value("f32", 77.1), value("f32", 850)]),
+ [value("f32", 65535)],
+);
+
+// ./test/core/float_misc.wast:290
+assert_return(
+ () => invoke($0, `f64.mul`, [value("f64", 77.1), value("f64", 850)]),
+ [value("f64", 65534.99999999999)],
+);
+
+// ./test/core/float_misc.wast:293
+assert_return(
+ () => invoke($0, `f32.mul`, [
+ value("f32", -2493839400000000000),
+ value("f32", 0.000000000021176054),
+ ]),
+ [value("f32", -52809680)],
+);
+
+// ./test/core/float_misc.wast:294
+assert_return(
+ () => invoke($0, `f32.mul`, [
+ value("f32", -6777248400000000000000000000000),
+ value("f32", -0.00000000000000000000000000000034758242),
+ ]),
+ [value("f32", 2.3556523)],
+);
+
+// ./test/core/float_misc.wast:295
+assert_return(
+ () => invoke($0, `f32.mul`, [
+ value("f32", -8384397600000000000000000000),
+ value("f32", -0.000000000000000000000000000011948991),
+ ]),
+ [value("f32", 0.10018509)],
+);
+
+// ./test/core/float_misc.wast:296
+assert_return(
+ () => invoke($0, `f32.mul`, [
+ value("f32", -656765400000000000000000),
+ value("f32", -0.000000000000000000000046889766),
+ ]),
+ [value("f32", 30.795576)],
+);
+
+// ./test/core/float_misc.wast:297
+assert_return(
+ () => invoke($0, `f32.mul`, [
+ value("f32", 13328204000000000),
+ value("f32", 45.567223),
+ ]),
+ [value("f32", 607329200000000000)],
+);
+
+// ./test/core/float_misc.wast:298
+assert_return(
+ () => invoke($0, `f64.mul`, [
+ value("f64", -99426226093342430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 583177241514245140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/float_misc.wast:299
+assert_return(
+ () => invoke($0, `f64.mul`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002748155824301909),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000002093035437779455),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/float_misc.wast:300
+assert_return(
+ () => invoke($0, `f64.mul`, [
+ value("f64", 464888257371302500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -159272886487254360000000000000000),
+ ]),
+ [
+ value("f64", -74044094645556960000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_misc.wast:301
+assert_return(
+ () => invoke($0, `f64.mul`, [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008261927764172427),
+ value("f64", 36684744190529535000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -3030867065492991300000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_misc.wast:302
+assert_return(
+ () => invoke($0, `f64.mul`, [
+ value("f64", 253838958331769250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007842892881810105),
+ ]),
+ [value("f64", 0.00000000000000000019908317594263248)],
+);
+
+// ./test/core/float_misc.wast:305
+assert_return(
+ () => invoke($0, `f32.mul`, [
+ value("f32", -0.0000000000000000000000000020153333),
+ value("f32", -5031353000000000000000000000),
+ ]),
+ [value("f32", 10.139854)],
+);
+
+// ./test/core/float_misc.wast:306
+assert_return(
+ () => invoke($0, `f32.mul`, [
+ value("f32", 12286325000000000000000),
+ value("f32", 749601.8),
+ ]),
+ [value("f32", 9209852000000000000000000000)],
+);
+
+// ./test/core/float_misc.wast:307
+assert_return(
+ () => invoke($0, `f32.mul`, [
+ value("f32", -0.0000000002763514),
+ value("f32", -35524714000000000000000),
+ ]),
+ [value("f32", 9817304000000)],
+);
+
+// ./test/core/float_misc.wast:308
+assert_return(
+ () => invoke($0, `f32.mul`, [
+ value("f32", 218931220000000000000),
+ value("f32", -40298.785),
+ ]),
+ [value("f32", -8822662000000000000000000)],
+);
+
+// ./test/core/float_misc.wast:309
+assert_return(
+ () => invoke($0, `f32.mul`, [
+ value("f32", 1691996300),
+ value("f32", -122103350000000000000),
+ ]),
+ [value("f32", -206598410000000000000000000000)],
+);
+
+// ./test/core/float_misc.wast:310
+assert_return(
+ () => invoke($0, `f64.mul`, [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007576316076452304),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004601355879514986),
+ ]),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003486132652344772),
+ ],
+);
+
+// ./test/core/float_misc.wast:311
+assert_return(
+ () => invoke($0, `f64.mul`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000012228616081443885),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008055526185180067),
+ ]),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009850793705258527),
+ ],
+);
+
+// ./test/core/float_misc.wast:312
+assert_return(
+ () => invoke($0, `f64.mul`, [
+ value("f64", -2068651246039250800000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -366801071583254800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/float_misc.wast:313
+assert_return(
+ () => invoke($0, `f64.mul`, [
+ value("f64", 1543238835610281000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007370621385787007),
+ ]),
+ [
+ value("f64", 1137462916512617700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_misc.wast:314
+assert_return(
+ () => invoke($0, `f64.mul`, [
+ value("f64", 2235876566242058700000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -760669005920257000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -1700762005003744000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_misc.wast:317
+assert_return(
+ () => invoke($0, `f32.mul`, [
+ value("f32", -110087030000000),
+ value("f32", -54038020000000000000000000000),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/float_misc.wast:318
+assert_return(
+ () => invoke($0, `f32.mul`, [
+ value("f32", -0.19366351),
+ value("f32", 0.0000000000000000000000000000029748954),
+ ]),
+ [value("f32", -0.0000000000000000000000000000005761287)],
+);
+
+// ./test/core/float_misc.wast:319
+assert_return(
+ () => invoke($0, `f32.mul`, [
+ value("f32", -0.0000034300713),
+ value("f32", 77991523000000000000000000000000),
+ ]),
+ [value("f32", -267516490000000000000000000)],
+);
+
+// ./test/core/float_misc.wast:320
+assert_return(
+ () => invoke($0, `f32.mul`, [
+ value("f32", -99003850000000000),
+ value("f32", 0.000000000000000000000000000020933774),
+ ]),
+ [value("f32", -0.0000000000020725242)],
+);
+
+// ./test/core/float_misc.wast:321
+assert_return(
+ () => invoke($0, `f32.mul`, [
+ value("f32", -129919.07),
+ value("f32", 0.0000000000000000000000000000000000018480999),
+ ]),
+ [value("f32", -0.00000000000000000000000000000024010342)],
+);
+
+// ./test/core/float_misc.wast:322
+assert_return(
+ () => invoke($0, `f64.mul`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006625572200844895),
+ value("f64", -37374020681740010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", 0.00000000000000000024762427246273877)],
+);
+
+// ./test/core/float_misc.wast:323
+assert_return(
+ () => invoke($0, `f64.mul`, [
+ value("f64", 821076848561758000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012976552328552289),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000010654746691124455),
+ ],
+);
+
+// ./test/core/float_misc.wast:324
+assert_return(
+ () => invoke($0, `f64.mul`, [
+ value("f64", -10223449294906041000000000000000000000000000000000000),
+ value("f64", 1970855583334680500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -20148942123804574000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_misc.wast:325
+assert_return(
+ () => invoke($0, `f64.mul`, [
+ value("f64", 2918243080119086000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -63633170941689700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/float_misc.wast:326
+assert_return(
+ () => invoke($0, `f64.mul`, [
+ value("f64", 3407037798802672000000000),
+ value("f64", 1225791423971563000000),
+ ]),
+ [value("f64", 4176317714919266400000000000000000000000000000)],
+);
+
+// ./test/core/float_misc.wast:329
+assert_return(
+ () => invoke($0, `f64.mul`, [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044091927284399547),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011518840702296592),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005078878866462432),
+ ],
+);
+
+// ./test/core/float_misc.wast:330
+assert_return(
+ () => invoke($0, `f64.mul`, [
+ value("f64", -0.002980041826472432),
+ value("f64", 63125412993218000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -188116371033135940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_misc.wast:331
+assert_return(
+ () => invoke($0, `f64.mul`, [
+ value("f64", -308344578081300100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010081049555008529),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000031084369716557833),
+ ],
+);
+
+// ./test/core/float_misc.wast:332
+assert_return(
+ () => invoke($0, `f64.mul`, [
+ value("f64", 349387501315677300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 2131316915930809900),
+ ]),
+ [
+ value("f64", 744655491768901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_misc.wast:333
+assert_return(
+ () => invoke($0, `f64.mul`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000012500108005100234),
+ value("f64", 1035265704160467500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -12940933115981990000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_misc.wast:336
+assert_return(
+ () => invoke($0, `f64.mul`, [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008947461661755698),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020853844141312436),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018658897095462173),
+ ],
+);
+
+// ./test/core/float_misc.wast:337
+assert_return(
+ () => invoke($0, `f64.mul`, [
+ value("f64", -0.00000000000000001161813037330394),
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018737038135583668),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021768935186877886),
+ ],
+);
+
+// ./test/core/float_misc.wast:338
+assert_return(
+ () => invoke($0, `f64.mul`, [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021752326768352433),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006631210068072052),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014424424827029184),
+ ],
+);
+
+// ./test/core/float_misc.wast:339
+assert_return(
+ () => invoke($0, `f64.mul`, [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007149518157441743),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000022770445062365393),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001627977104264113),
+ ],
+);
+
+// ./test/core/float_misc.wast:340
+assert_return(
+ () => invoke($0, `f64.mul`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004817739302150786),
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000025375023049719763),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012225024583961697),
+ ],
+);
+
+// ./test/core/float_misc.wast:343
+assert_return(
+ () => invoke($0, `f64.mul`, [
+ value("f64", 46576441629501554000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007021344893525714),
+ ]),
+ [value("f64", 0.000000003270292605938992)],
+);
+
+// ./test/core/float_misc.wast:344
+assert_return(
+ () => invoke($0, `f64.mul`, [
+ value("f64", 0.012451716278313712),
+ value("f64", 0.000000000000000000000000000000000000000000001945309177849331),
+ ]),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000002422243795617958),
+ ],
+);
+
+// ./test/core/float_misc.wast:345
+assert_return(
+ () => invoke($0, `f64.mul`, [
+ value("f64", -3.8312314777598586),
+ value("f64", 0.0000000000009039887741742674),
+ ]),
+ [value("f64", -0.0000000000034633902471580017)],
+);
+
+// ./test/core/float_misc.wast:346
+assert_return(
+ () => invoke($0, `f64.mul`, [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009843582638849689),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000003375405654777583),
+ ]),
+ [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000033226084502443684),
+ ],
+);
+
+// ./test/core/float_misc.wast:347
+assert_return(
+ () => invoke($0, `f64.mul`, [
+ value("f64", -260544537094514460000000),
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000032887528185809035),
+ ]),
+ [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000008568665807354412),
+ ],
+);
+
+// ./test/core/float_misc.wast:350
+assert_return(
+ () => invoke($0, `f32.mul`, [
+ value("f32", 0.00000000000000000000002646978),
+ value("f32", 0.00000000000000000000002646978),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/float_misc.wast:351
+assert_return(
+ () => invoke($0, `f32.mul`, [
+ value("f32", 0.000000000000000000000026469783),
+ value("f32", 0.000000000000000000000026469783),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/float_misc.wast:352
+assert_return(
+ () => invoke($0, `f64.mul`, [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000015717277847026285),
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000015717277847026285),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/float_misc.wast:353
+assert_return(
+ () => invoke($0, `f64.mul`, [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000015717277847026288),
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000015717277847026288),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/float_misc.wast:356
+assert_return(
+ () => invoke($0, `f32.mul`, [
+ value("f32", 18446743000000000000),
+ value("f32", 18446743000000000000),
+ ]),
+ [value("f32", 340282330000000000000000000000000000000)],
+);
+
+// ./test/core/float_misc.wast:357
+assert_return(
+ () => invoke($0, `f32.mul`, [
+ value("f32", 18446744000000000000),
+ value("f32", 18446744000000000000),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/float_misc.wast:358
+assert_return(
+ () => invoke($0, `f64.mul`, [
+ value("f64", 13407807929942596000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 13407807929942596000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 179769313486231550000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_misc.wast:359
+assert_return(
+ () => invoke($0, `f64.mul`, [
+ value("f64", 13407807929942597000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 13407807929942597000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/float_misc.wast:362
+assert_return(
+ () => invoke($0, `f32.mul`, [value("f32", 1.0000001), value("f32", 1.0000001)]),
+ [value("f32", 1.0000002)],
+);
+
+// ./test/core/float_misc.wast:363
+assert_return(
+ () => invoke($0, `f32.mul`, [value("f32", 0.99999994), value("f32", 0.99999994)]),
+ [value("f32", 0.9999999)],
+);
+
+// ./test/core/float_misc.wast:364
+assert_return(
+ () => invoke($0, `f64.mul`, [
+ value("f64", 1.0000000000000002),
+ value("f64", 1.0000000000000002),
+ ]),
+ [value("f64", 1.0000000000000004)],
+);
+
+// ./test/core/float_misc.wast:365
+assert_return(
+ () => invoke($0, `f64.mul`, [
+ value("f64", 0.9999999999999999),
+ value("f64", 0.9999999999999999),
+ ]),
+ [value("f64", 0.9999999999999998)],
+);
+
+// ./test/core/float_misc.wast:368
+assert_return(
+ () => invoke($0, `f32.mul`, [value("f32", 1.0000001), value("f32", 0.99999994)]),
+ [value("f32", 1)],
+);
+
+// ./test/core/float_misc.wast:369
+assert_return(
+ () => invoke($0, `f32.mul`, [value("f32", 1.0000002), value("f32", 0.9999999)]),
+ [value("f32", 1.0000001)],
+);
+
+// ./test/core/float_misc.wast:370
+assert_return(
+ () => invoke($0, `f64.mul`, [
+ value("f64", 1.0000000000000002),
+ value("f64", 0.9999999999999999),
+ ]),
+ [value("f64", 1)],
+);
+
+// ./test/core/float_misc.wast:371
+assert_return(
+ () => invoke($0, `f64.mul`, [
+ value("f64", 1.0000000000000004),
+ value("f64", 0.9999999999999998),
+ ]),
+ [value("f64", 1.0000000000000002)],
+);
+
+// ./test/core/float_misc.wast:375
+assert_return(
+ () => invoke($0, `f32.mul`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.00000011920929),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/float_misc.wast:376
+assert_return(
+ () => invoke($0, `f64.mul`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.0000000000000002220446049250313),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/float_misc.wast:379
+assert_return(
+ () => invoke($0, `f32.mul`, [
+ value("f32", -16.001465),
+ value("f32", 0.000000000000000000000000000000000000000298465),
+ ]),
+ [value("f32", -0.000000000000000000000000000000000000004775883)],
+);
+
+// ./test/core/float_misc.wast:382
+assert_return(
+ () => invoke($0, `f32.div`, [value("f32", 1.1234568), value("f32", 100)]),
+ [value("f32", 0.011234568)],
+);
+
+// ./test/core/float_misc.wast:383
+assert_return(
+ () => invoke($0, `f32.div`, [value("f32", 8391667), value("f32", 12582905)]),
+ [value("f32", 0.6669102)],
+);
+
+// ./test/core/float_misc.wast:384
+assert_return(
+ () => invoke($0, `f32.div`, [value("f32", 65536), value("f32", 0.000000000007275958)]),
+ [value("f32", 9007199000000000)],
+);
+
+// ./test/core/float_misc.wast:385
+assert_return(
+ () => invoke($0, `f32.div`, [
+ value("f32", 1.8622957),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000005472795)],
+);
+
+// ./test/core/float_misc.wast:386
+assert_return(
+ () => invoke($0, `f32.div`, [value("f32", 4), value("f32", 3)]),
+ [value("f32", 1.3333334)],
+);
+
+// ./test/core/float_misc.wast:387
+assert_return(
+ () => invoke($0, `f64.div`, [value("f64", 1.123456789), value("f64", 100)]),
+ [value("f64", 0.01123456789)],
+);
+
+// ./test/core/float_misc.wast:388
+assert_return(
+ () => invoke($0, `f64.div`, [value("f64", 8391667), value("f64", 12582905)]),
+ [value("f64", 0.6669101451532854)],
+);
+
+// ./test/core/float_misc.wast:389
+assert_return(
+ () => invoke($0, `f64.div`, [
+ value("f64", 65536),
+ value("f64", 0.000000000007275957614183426),
+ ]),
+ [value("f64", 9007199254740992)],
+);
+
+// ./test/core/float_misc.wast:390
+assert_return(
+ () => invoke($0, `f64.div`, [
+ value("f64", 1.8622957468032837),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001035936395755283),
+ ],
+);
+
+// ./test/core/float_misc.wast:391
+assert_return(
+ () => invoke($0, `f64.div`, [value("f64", 4), value("f64", 3)]),
+ [value("f64", 1.3333333333333333)],
+);
+
+// ./test/core/float_misc.wast:395
+assert_return(
+ () => invoke($0, `f32.div`, [value("f32", 4195835), value("f32", 3145727)]),
+ [value("f32", 1.3338205)],
+);
+
+// ./test/core/float_misc.wast:396
+assert_return(
+ () => invoke($0, `f64.div`, [value("f64", 4195835), value("f64", 3145727)]),
+ [value("f64", 1.333820449136241)],
+);
+
+// ./test/core/float_misc.wast:399
+assert_return(
+ () => invoke($0, `f32.div`, [
+ value("f32", 0.000000000000005029633),
+ value("f32", 336324380000000000000000000000000000000),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/float_misc.wast:400
+assert_return(
+ () => invoke($0, `f32.div`, [
+ value("f32", 0.000000000000000000000000008921987),
+ value("f32", 354097530000000000000),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/float_misc.wast:401
+assert_return(
+ () => invoke($0, `f32.div`, [
+ value("f32", -104167.47),
+ value("f32", 0.0000000000000000000000015866623),
+ ]),
+ [value("f32", -65651950000000000000000000000)],
+);
+
+// ./test/core/float_misc.wast:402
+assert_return(
+ () => invoke($0, `f32.div`, [
+ value("f32", -0.000000000000000000000024938657),
+ value("f32", -0.00000000000000000000000000000000000036230088),
+ ]),
+ [value("f32", 68834107000000)],
+);
+
+// ./test/core/float_misc.wast:403
+assert_return(
+ () => invoke($0, `f32.div`, [
+ value("f32", -4142204200000),
+ value("f32", 0.0000000000000000000000011954948),
+ ]),
+ [value("f32", -3464845000000000000000000000000000000)],
+);
+
+// ./test/core/float_misc.wast:404
+assert_return(
+ () => invoke($0, `f64.div`, [
+ value("f64", 193901163824483840000000000000000000000000000),
+ value("f64", 25290742357348314000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", 0.000000000000000000000007666883046955921)],
+);
+
+// ./test/core/float_misc.wast:405
+assert_return(
+ () => invoke($0, `f64.div`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006600332149752304),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003007915153468629),
+ ]),
+ [
+ value("f64", 219432125342399270000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_misc.wast:406
+assert_return(
+ () => invoke($0, `f64.div`, [
+ value("f64", -934827517366190300000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 4809309529035847000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000019437873809582001),
+ ],
+);
+
+// ./test/core/float_misc.wast:407
+assert_return(
+ () => invoke($0, `f64.div`, [
+ value("f64", -17598339088417535000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 199386072580682850000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -88262629684409150000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_misc.wast:408
+assert_return(
+ () => invoke($0, `f64.div`, [
+ value("f64", -4566268877844991000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 31282495822334530000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -145968816036246260000000000)],
+);
+
+// ./test/core/float_misc.wast:411
+assert_return(
+ () => invoke($0, `f32.div`, [
+ value("f32", -1039406400000000000000),
+ value("f32", -0.000000000000000000000000012965966),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/float_misc.wast:412
+assert_return(
+ () => invoke($0, `f32.div`, [
+ value("f32", 0.000000000000026831563),
+ value("f32", 31241038000000),
+ ]),
+ [value("f32", 0.0000000000000000000000000008588563)],
+);
+
+// ./test/core/float_misc.wast:413
+assert_return(
+ () => invoke($0, `f32.div`, [
+ value("f32", 1.2734247),
+ value("f32", -692783700000000000000000000),
+ ]),
+ [value("f32", -0.0000000000000000000000000018381274)],
+);
+
+// ./test/core/float_misc.wast:414
+assert_return(
+ () => invoke($0, `f32.div`, [
+ value("f32", 0.00000000000000068988827),
+ value("f32", 0.000000000000000000000000000000000000003762676),
+ ]),
+ [value("f32", 183350460000000000000000)],
+);
+
+// ./test/core/float_misc.wast:415
+assert_return(
+ () => invoke($0, `f32.div`, [
+ value("f32", 1819916200000000000000000000),
+ value("f32", 205067030000000000000000000),
+ ]),
+ [value("f32", 8.874739)],
+);
+
+// ./test/core/float_misc.wast:416
+assert_return(
+ () => invoke($0, `f64.div`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021137715924428077),
+ value("f64", -16733261612910253000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/float_misc.wast:417
+assert_return(
+ () => invoke($0, `f64.div`, [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008116644948016275),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006517571349002277),
+ ]),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012453480772801648),
+ ],
+);
+
+// ./test/core/float_misc.wast:418
+assert_return(
+ () => invoke($0, `f64.div`, [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009335476912259029),
+ value("f64", -39099281466396.5),
+ ]),
+ [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023876338802497726),
+ ],
+);
+
+// ./test/core/float_misc.wast:419
+assert_return(
+ () => invoke($0, `f64.div`, [
+ value("f64", -1686856985488590200000000),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013535993861076857),
+ ]),
+ [
+ value("f64", -12462010568276012000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_misc.wast:420
+assert_return(
+ () => invoke($0, `f64.div`, [
+ value("f64", -173388773324941200000000000000000000000000000000000000000000000000000000),
+ value("f64", -70026160475217470),
+ ]),
+ [value("f64", 2476057121342590000000000000000000000000000000000000000)],
+);
+
+// ./test/core/float_misc.wast:423
+assert_return(
+ () => invoke($0, `f32.div`, [
+ value("f32", 93506190),
+ value("f32", 0.0000000000000000000000000000000000028760885),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/float_misc.wast:424
+assert_return(
+ () => invoke($0, `f32.div`, [
+ value("f32", -200575400000000000000000),
+ value("f32", 246697220),
+ ]),
+ [value("f32", -813042800000000)],
+);
+
+// ./test/core/float_misc.wast:425
+assert_return(
+ () => invoke($0, `f32.div`, [
+ value("f32", 384712200000),
+ value("f32", -107037850000000000000000000000),
+ ]),
+ [value("f32", -0.00000000000000000359417)],
+);
+
+// ./test/core/float_misc.wast:426
+assert_return(
+ () => invoke($0, `f32.div`, [
+ value("f32", -4156665000000000000000000000000000),
+ value("f32", -901.4192),
+ ]),
+ [value("f32", 4611245300000000000000000000000)],
+);
+
+// ./test/core/float_misc.wast:427
+assert_return(
+ () => invoke($0, `f32.div`, [
+ value("f32", -6702387000000000000000000000),
+ value("f32", -14000.255),
+ ]),
+ [value("f32", 478733200000000000000000)],
+);
+
+// ./test/core/float_misc.wast:428
+assert_return(
+ () => invoke($0, `f64.div`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010085269598907525),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018780374032850215),
+ ]),
+ [value("f64", -53701111496.85621)],
+);
+
+// ./test/core/float_misc.wast:429
+assert_return(
+ () => invoke($0, `f64.div`, [
+ value("f64", -32571664562951100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005885738519211168),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/float_misc.wast:430
+assert_return(
+ () => invoke($0, `f64.div`, [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000031640946861233317),
+ value("f64", 0.000000000000000000045854510556516254),
+ ]),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006900291046010721),
+ ],
+);
+
+// ./test/core/float_misc.wast:431
+assert_return(
+ () => invoke($0, `f64.div`, [
+ value("f64", -526842242946656600000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014816907071451201),
+ ]),
+ [
+ value("f64", 355568298030134360000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_misc.wast:432
+assert_return(
+ () => invoke($0, `f64.div`, [
+ value("f64", 4039956270017490000000000000000000000000000000000000000),
+ value("f64", -47097881971884274000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", -0.0000000000857778757955442)],
+);
+
+// ./test/core/float_misc.wast:435
+assert_return(
+ () => invoke($0, `f64.div`, [
+ value("f64", -203959560468347600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -74740887394612260000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 2728888665604071000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_misc.wast:436
+assert_return(
+ () => invoke($0, `f64.div`, [
+ value("f64", -304261712294687660000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -2655679232658824300000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 114570204320220420000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_misc.wast:437
+assert_return(
+ () => invoke($0, `f64.div`, [
+ value("f64", 49235240512480730000000000000000000000000000000000000000),
+ value("f64", -366340828310036700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013439736089369927),
+ ],
+);
+
+// ./test/core/float_misc.wast:438
+assert_return(
+ () => invoke($0, `f64.div`, [
+ value("f64", 289260843556341600000000000000000000000000000000000000000000000000),
+ value("f64", 517194875837335500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000005592879146144478),
+ ],
+);
+
+// ./test/core/float_misc.wast:439
+assert_return(
+ () => invoke($0, `f64.div`, [
+ value("f64", -421542582344268600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 1428505854670649100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -295093352936560340000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_misc.wast:442
+assert_return(
+ () => invoke($0, `f64.div`, [
+ value("f64", 1.8622957433108482),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010359363938125513),
+ ],
+);
+
+// ./test/core/float_misc.wast:443
+assert_return(
+ () => invoke($0, `f64.div`, [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008566632480779937),
+ value("f64", 5381.2699796556235),
+ ]),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001591935084685746),
+ ],
+);
+
+// ./test/core/float_misc.wast:444
+assert_return(
+ () => invoke($0, `f64.div`, [
+ value("f64", -0.00000000000000000000000000000000000000000008196220919495565),
+ value("f64", -10406557086484777000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007876015911295176),
+ ],
+);
+
+// ./test/core/float_misc.wast:445
+assert_return(
+ () => invoke($0, `f64.div`, [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007052801866447111),
+ value("f64", -13767429405781133000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005122816800851397),
+ ],
+);
+
+// ./test/core/float_misc.wast:446
+assert_return(
+ () => invoke($0, `f64.div`, [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022655621734165475),
+ value("f64", 133219932963494700000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000017006180103974106),
+ ],
+);
+
+// ./test/core/float_misc.wast:447
+assert_return(
+ () => invoke($0, `f64.div`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004196304106554003),
+ value("f64", -9789327.297653636),
+ ]),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000042866113053139),
+ ],
+);
+
+// ./test/core/float_misc.wast:450
+assert_return(
+ () => invoke($0, `f32.div`, [
+ value("f32", 1038860800000000000000000000),
+ value("f32", 6211079500000),
+ ]),
+ [value("f32", 167259300000000)],
+);
+
+// ./test/core/float_misc.wast:451
+assert_return(
+ () => invoke($0, `f32.div`, [
+ value("f32", 1869033000000000000000000000),
+ value("f32", -112355730000000000000000000000000),
+ ]),
+ [value("f32", -0.00001663496)],
+);
+
+// ./test/core/float_misc.wast:452
+assert_return(
+ () => invoke($0, `f32.div`, [
+ value("f32", 3290747200000000000000000),
+ value("f32", 0.9064788),
+ ]),
+ [value("f32", 3630252700000000000000000)],
+);
+
+// ./test/core/float_misc.wast:453
+assert_return(
+ () => invoke($0, `f32.div`, [value("f32", -908946.56), value("f32", -17034289000)]),
+ [value("f32", 0.000053359818)],
+);
+
+// ./test/core/float_misc.wast:454
+assert_return(
+ () => invoke($0, `f32.div`, [
+ value("f32", -0.00000000000024092477),
+ value("f32", -89840810000000000),
+ ]),
+ [value("f32", 0.0000000000000000000000000000026816852)],
+);
+
+// ./test/core/float_misc.wast:455
+assert_return(
+ () => invoke($0, `f64.div`, [
+ value("f64", 3910973045785834000),
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008392730733897136),
+ ]),
+ [
+ value("f64", -46599529638070336000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_misc.wast:456
+assert_return(
+ () => invoke($0, `f64.div`, [
+ value("f64", 0.0000000000000000000000000000000000000008379351966732404),
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021077277802048832),
+ ]),
+ [
+ value("f64", -3975538039318286000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_misc.wast:457
+assert_return(
+ () => invoke($0, `f64.div`, [
+ value("f64", 4561142017854715000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 1500578067736849100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", 3039589952.6465592)],
+);
+
+// ./test/core/float_misc.wast:458
+assert_return(
+ () => invoke($0, `f64.div`, [
+ value("f64", -6236072401827852000000000000000000000000000000000000000),
+ value("f64", 83170632504609900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007497925907299316),
+ ],
+);
+
+// ./test/core/float_misc.wast:459
+assert_return(
+ () => invoke($0, `f64.div`, [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009757271330468098),
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035613812243480865),
+ ]),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000002739743575824061),
+ ],
+);
+
+// ./test/core/float_misc.wast:462
+assert_return(
+ () => invoke($0, `f64.div`, [
+ value("f64", 0.00000000000000001046256872449641),
+ value("f64", 1.8150892711657447),
+ ]),
+ [value("f64", 0.000000000000000005764217160391678)],
+);
+
+// ./test/core/float_misc.wast:463
+assert_return(
+ () => invoke($0, `f64.div`, [
+ value("f64", 0.00000000000000000000000000000022038268106596436),
+ value("f64", -0.0000000000002859803943943555),
+ ]),
+ [value("f64", -0.0000000000000000007706216418530616)],
+);
+
+// ./test/core/float_misc.wast:464
+assert_return(
+ () => invoke($0, `f64.div`, [
+ value("f64", 0.0000000000007596539988437179),
+ value("f64", 0.00000000000000000000000000000000021055358831337124),
+ ]),
+ [value("f64", 3607889112357986600000)],
+);
+
+// ./test/core/float_misc.wast:465
+assert_return(
+ () => invoke($0, `f64.div`, [
+ value("f64", 1120696114500866900000000000),
+ value("f64", 159713233802866500000000000000),
+ ]),
+ [value("f64", 0.007016927074960728)],
+);
+
+// ./test/core/float_misc.wast:466
+assert_return(
+ () => invoke($0, `f64.div`, [
+ value("f64", 0.0006342142502301953),
+ value("f64", -6391950865520085),
+ ]),
+ [value("f64", -0.00000000000000000009922076429769178)],
+);
+
+// ./test/core/float_misc.wast:469
+assert_return(
+ () => invoke($0, `f32.div`, [
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754942),
+ ]),
+ [value("f32", 1.0000001)],
+);
+
+// ./test/core/float_misc.wast:470
+assert_return(
+ () => invoke($0, `f32.div`, [
+ value("f32", 0.000000000000000000000000000000000000011754942),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ]),
+ [value("f32", 0.9999999)],
+);
+
+// ./test/core/float_misc.wast:471
+assert_return(
+ () => invoke($0, `f64.div`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507201),
+ ]),
+ [value("f64", 1.0000000000000002)],
+);
+
+// ./test/core/float_misc.wast:472
+assert_return(
+ () => invoke($0, `f64.div`, [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507201),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [value("f64", 0.9999999999999998)],
+);
+
+// ./test/core/float_misc.wast:475
+assert_return(
+ () => invoke($0, `f32.div`, [
+ value("f32", 0.00000023841856),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 0)],
+);
+
+// ./test/core/float_misc.wast:476
+assert_return(
+ () => invoke($0, `f32.div`, [
+ value("f32", 0.00000023841858),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000000000001)],
+);
+
+// ./test/core/float_misc.wast:477
+assert_return(
+ () => invoke($0, `f64.div`, [
+ value("f64", 0.00000000000000044408920985006257),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/float_misc.wast:478
+assert_return(
+ () => invoke($0, `f64.div`, [
+ value("f64", 0.0000000000000004440892098500626),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/float_misc.wast:481
+assert_return(
+ () => invoke($0, `f32.div`, [
+ value("f32", 1),
+ value("f32", 0.000000000000000000000000000000000000002938736),
+ ]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/float_misc.wast:482
+assert_return(
+ () => invoke($0, `f32.div`, [
+ value("f32", 1),
+ value("f32", 0.000000000000000000000000000000000000002938737),
+ ]),
+ [value("f32", 340282200000000000000000000000000000000)],
+);
+
+// ./test/core/float_misc.wast:483
+assert_return(
+ () => invoke($0, `f64.div`, [
+ value("f64", 1),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005562684646268003),
+ ]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/float_misc.wast:484
+assert_return(
+ () => invoke($0, `f64.div`, [
+ value("f64", 1),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000556268464626801),
+ ]),
+ [
+ value("f64", 179769313486231430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_misc.wast:487
+assert_return(
+ () => invoke($0, `f32.div`, [
+ value("f32", 1),
+ value("f32", 85070600000000000000000000000000000000),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754942)],
+);
+
+// ./test/core/float_misc.wast:488
+assert_return(
+ () => invoke($0, `f32.div`, [
+ value("f32", 1),
+ value("f32", 85070590000000000000000000000000000000),
+ ]),
+ [value("f32", 0.000000000000000000000000000000000000011754944)],
+);
+
+// ./test/core/float_misc.wast:489
+assert_return(
+ () => invoke($0, `f64.div`, [
+ value("f64", 1),
+ value("f64", 44942328371557910000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507201),
+ ],
+);
+
+// ./test/core/float_misc.wast:490
+assert_return(
+ () => invoke($0, `f64.div`, [
+ value("f64", 1),
+ value("f64", 44942328371557900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/float_misc.wast:500
+assert_return(
+ () => invoke($0, `f32.div`, [value("f32", 1), value("f32", 3)]),
+ [value("f32", 0.33333334)],
+);
+
+// ./test/core/float_misc.wast:501
+assert_return(
+ () => invoke($0, `f32.div`, [value("f32", 3), value("f32", 9)]),
+ [value("f32", 0.33333334)],
+);
+
+// ./test/core/float_misc.wast:502
+assert_return(
+ () => invoke($0, `f32.div`, [value("f32", 9), value("f32", 27)]),
+ [value("f32", 0.33333334)],
+);
+
+// ./test/core/float_misc.wast:503
+assert_return(
+ () => invoke($0, `f64.div`, [value("f64", 1), value("f64", 3)]),
+ [value("f64", 0.3333333333333333)],
+);
+
+// ./test/core/float_misc.wast:504
+assert_return(
+ () => invoke($0, `f64.div`, [value("f64", 3), value("f64", 9)]),
+ [value("f64", 0.3333333333333333)],
+);
+
+// ./test/core/float_misc.wast:505
+assert_return(
+ () => invoke($0, `f64.div`, [value("f64", 9), value("f64", 27)]),
+ [value("f64", 0.3333333333333333)],
+);
+
+// ./test/core/float_misc.wast:508
+assert_return(
+ () => invoke($0, `f32.div`, [value("f32", 1.0000001), value("f32", 0.99999994)]),
+ [value("f32", 1.0000002)],
+);
+
+// ./test/core/float_misc.wast:509
+assert_return(
+ () => invoke($0, `f32.div`, [value("f32", 0.99999994), value("f32", 1.0000001)]),
+ [value("f32", 0.9999998)],
+);
+
+// ./test/core/float_misc.wast:510
+assert_return(
+ () => invoke($0, `f32.div`, [value("f32", 1), value("f32", 0.99999994)]),
+ [value("f32", 1.0000001)],
+);
+
+// ./test/core/float_misc.wast:511
+assert_return(
+ () => invoke($0, `f32.div`, [value("f32", 1), value("f32", 1.0000001)]),
+ [value("f32", 0.9999999)],
+);
+
+// ./test/core/float_misc.wast:512
+assert_return(
+ () => invoke($0, `f64.div`, [
+ value("f64", 1.0000000000000002),
+ value("f64", 0.9999999999999999),
+ ]),
+ [value("f64", 1.0000000000000004)],
+);
+
+// ./test/core/float_misc.wast:513
+assert_return(
+ () => invoke($0, `f64.div`, [
+ value("f64", 0.9999999999999999),
+ value("f64", 1.0000000000000002),
+ ]),
+ [value("f64", 0.9999999999999997)],
+);
+
+// ./test/core/float_misc.wast:514
+assert_return(
+ () => invoke($0, `f64.div`, [value("f64", 1), value("f64", 0.9999999999999999)]),
+ [value("f64", 1.0000000000000002)],
+);
+
+// ./test/core/float_misc.wast:515
+assert_return(
+ () => invoke($0, `f64.div`, [value("f64", 1), value("f64", 1.0000000000000002)]),
+ [value("f64", 0.9999999999999998)],
+);
+
+// ./test/core/float_misc.wast:519
+assert_return(() => invoke($0, `f32.sqrt`, [value("f32", 171)]), [value("f32", 13.076696)]);
+
+// ./test/core/float_misc.wast:520
+assert_return(
+ () => invoke($0, `f32.sqrt`, [value("f32", 0.000000160795)]),
+ [value("f32", 0.00040099252)],
+);
+
+// ./test/core/float_misc.wast:521
+assert_return(() => invoke($0, `f64.sqrt`, [value("f64", 171)]), [value("f64", 13.076696830622021)]);
+
+// ./test/core/float_misc.wast:522
+assert_return(
+ () => invoke($0, `f64.sqrt`, [value("f64", 0.000000160795)]),
+ [value("f64", 0.00040099251863345283)],
+);
+
+// ./test/core/float_misc.wast:525
+assert_return(
+ () => invoke($0, `f64.sqrt`, [
+ value("f64", 0.00000000000000000000000000000000000000000000000004316357580352844),
+ ]),
+ [value("f64", 0.00000000000000000000000020775845543209175)],
+);
+
+// ./test/core/float_misc.wast:526
+assert_return(
+ () => invoke($0, `f64.sqrt`, [
+ value("f64", 676253300479648500000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", 822346216918183800000000000000000000000000000000000)],
+);
+
+// ./test/core/float_misc.wast:527
+assert_return(
+ () => invoke($0, `f64.sqrt`, [
+ value("f64", 17485296624861996000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", 4181542373916829400000000000000000000000000000000000000000000)],
+);
+
+// ./test/core/float_misc.wast:528
+assert_return(
+ () => invoke($0, `f64.sqrt`, [value("f64", 0.000000000009593720960603523)]),
+ [value("f64", 0.0000030973732355987585)],
+);
+
+// ./test/core/float_misc.wast:529
+assert_return(
+ () => invoke($0, `f64.sqrt`, [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006348452898717835),
+ ]),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000002519613640762773),
+ ],
+);
+
+// ./test/core/float_misc.wast:533
+assert_return(
+ () => invoke($0, `f64.sqrt`, [value("f64", 0.9999999999999999)]),
+ [value("f64", 0.9999999999999999)],
+);
+
+// ./test/core/float_misc.wast:536
+assert_return(() => invoke($0, `f32.sqrt`, [value("f32", 0.12963942)]), [value("f32", 0.36005473)]);
+
+// ./test/core/float_misc.wast:537
+assert_return(
+ () => invoke($0, `f32.sqrt`, [value("f32", 2345875800000000000000000000000)]),
+ [value("f32", 1531625200000000)],
+);
+
+// ./test/core/float_misc.wast:538
+assert_return(() => invoke($0, `f32.sqrt`, [value("f32", 0.078786574)]), [value("f32", 0.28068945)]);
+
+// ./test/core/float_misc.wast:539
+assert_return(
+ () => invoke($0, `f32.sqrt`, [value("f32", 0.00000000000000000000051371026)]),
+ [value("f32", 0.000000000022665177)],
+);
+
+// ./test/core/float_misc.wast:540
+assert_return(() => invoke($0, `f32.sqrt`, [value("f32", 0.00090167153)]), [value("f32", 0.030027846)]);
+
+// ./test/core/float_misc.wast:541
+assert_return(
+ () => invoke($0, `f64.sqrt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009591922760825561),
+ ]),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009793836204892116),
+ ],
+);
+
+// ./test/core/float_misc.wast:542
+assert_return(
+ () => invoke($0, `f64.sqrt`, [
+ value("f64", 935787535216400500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 30590644570136150000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_misc.wast:543
+assert_return(
+ () => invoke($0, `f64.sqrt`, [
+ value("f64", 147706699783365580000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [value("f64", 12153464517715332000000000000000000000000000000000000000000)],
+);
+
+// ./test/core/float_misc.wast:544
+assert_return(
+ () => invoke($0, `f64.sqrt`, [value("f64", 48800457180027890000000000000000)]),
+ [value("f64", 6985732401117859)],
+);
+
+// ./test/core/float_misc.wast:545
+assert_return(
+ () => invoke($0, `f64.sqrt`, [
+ value("f64", 7618977687174540000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 2760249569726357000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_misc.wast:548
+assert_return(() => invoke($0, `f32.sqrt`, [value("f32", 154481010)]), [value("f32", 12429.039)]);
+
+// ./test/core/float_misc.wast:549
+assert_return(
+ () => invoke($0, `f32.sqrt`, [
+ value("f32", 0.00000000000000000000000000000000010471305),
+ ]),
+ [value("f32", 0.00000000000000001023294)],
+);
+
+// ./test/core/float_misc.wast:550
+assert_return(() => invoke($0, `f32.sqrt`, [value("f32", 0.00003790637)]), [value("f32", 0.006156815)]);
+
+// ./test/core/float_misc.wast:551
+assert_return(
+ () => invoke($0, `f32.sqrt`, [
+ value("f32", 0.00000000000000000000000000000000000089607535),
+ ]),
+ [value("f32", 0.0000000000000000009466126)],
+);
+
+// ./test/core/float_misc.wast:552
+assert_return(
+ () => invoke($0, `f32.sqrt`, [
+ value("f32", 0.0000000000000000000000000000000000001687712),
+ ]),
+ [value("f32", 0.00000000000000000041081773)],
+);
+
+// ./test/core/float_misc.wast:553
+assert_return(
+ () => invoke($0, `f64.sqrt`, [
+ value("f64", 316996264378909500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 563024212959717700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_misc.wast:554
+assert_return(
+ () => invoke($0, `f64.sqrt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040573669271847993),
+ ]),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020142906759414837),
+ ],
+);
+
+// ./test/core/float_misc.wast:555
+assert_return(
+ () => invoke($0, `f64.sqrt`, [value("f64", 0.0000000015299861660588838)]),
+ [value("f64", 0.00003911503759500793)],
+);
+
+// ./test/core/float_misc.wast:556
+assert_return(
+ () => invoke($0, `f64.sqrt`, [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000002822766928951239),
+ ]),
+ [value("f64", 0.0000000000000000000000000000000000005312971794533864)],
+);
+
+// ./test/core/float_misc.wast:557
+assert_return(
+ () => invoke($0, `f64.sqrt`, [
+ value("f64", 14375957727045067000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 119899782014168260000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_misc.wast:560
+assert_return(
+ () => invoke($0, `f32.sqrt`, [value("f32", 464023420000000000000000000000000000)]),
+ [value("f32", 681192700000000000)],
+);
+
+// ./test/core/float_misc.wast:561
+assert_return(() => invoke($0, `f32.sqrt`, [value("f32", 47536.133)]), [value("f32", 218.02783)]);
+
+// ./test/core/float_misc.wast:562
+assert_return(() => invoke($0, `f32.sqrt`, [value("f32", 0.812613)]), [value("f32", 0.9014505)]);
+
+// ./test/core/float_misc.wast:563
+assert_return(
+ () => invoke($0, `f32.sqrt`, [value("f32", 0.000000000000000000000000009549605)]),
+ [value("f32", 0.00000000000009772208)],
+);
+
+// ./test/core/float_misc.wast:564
+assert_return(
+ () => invoke($0, `f32.sqrt`, [value("f32", 0.000000000000000000000000000068856485)]),
+ [value("f32", 0.000000000000008297981)],
+);
+
+// ./test/core/float_misc.wast:565
+assert_return(
+ () => invoke($0, `f64.sqrt`, [
+ value("f64", 2349768917495332200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 1532895599020146000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_misc.wast:566
+assert_return(
+ () => invoke($0, `f64.sqrt`, [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000029262574743429683),
+ ]),
+ [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000005409489323718985),
+ ],
+);
+
+// ./test/core/float_misc.wast:567
+assert_return(
+ () => invoke($0, `f64.sqrt`, [
+ value("f64", 377335087484490800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 19425114864126050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_misc.wast:568
+assert_return(
+ () => invoke($0, `f64.sqrt`, [value("f64", 0.000000000000035498432023945234)]),
+ [value("f64", 0.00000018841027579180822)],
+);
+
+// ./test/core/float_misc.wast:569
+assert_return(
+ () => invoke($0, `f64.sqrt`, [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013747419336166767),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000011724938949165905),
+ ],
+);
+
+// ./test/core/float_misc.wast:572
+assert_return(
+ () => invoke($0, `f64.sqrt`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000015535152663257847),
+ ]),
+ [`canonical_nan`],
+);
+
+// ./test/core/float_misc.wast:573
+assert_return(
+ () => invoke($0, `f64.sqrt`, [value("f64", 18763296348029700000000000000000)]),
+ [value("f64", 4331662076851067)],
+);
+
+// ./test/core/float_misc.wast:574
+assert_return(
+ () => invoke($0, `f64.sqrt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000274405777036165),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000523837548325972),
+ ],
+);
+
+// ./test/core/float_misc.wast:575
+assert_return(
+ () => invoke($0, `f64.sqrt`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000015613859952920445),
+ ]),
+ [value("f64", 0.0000000000000000000000000000000000000000039514377070783294)],
+);
+
+// ./test/core/float_misc.wast:576
+assert_return(
+ () => invoke($0, `f64.sqrt`, [
+ value("f64", 619303768945071200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ value("f64", 24885814612848646000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/float_misc.wast:579
+assert_return(() => invoke($0, `f32.sqrt`, [value("f32", 1.0000001)]), [value("f32", 1)]);
+
+// ./test/core/float_misc.wast:580
+assert_return(() => invoke($0, `f32.sqrt`, [value("f32", 1.0000002)]), [value("f32", 1.0000001)]);
+
+// ./test/core/float_misc.wast:581
+assert_return(() => invoke($0, `f64.sqrt`, [value("f64", 1.0000000000000002)]), [value("f64", 1)]);
+
+// ./test/core/float_misc.wast:582
+assert_return(
+ () => invoke($0, `f64.sqrt`, [value("f64", 1.0000000000000004)]),
+ [value("f64", 1.0000000000000002)],
+);
+
+// ./test/core/float_misc.wast:585
+assert_return(() => invoke($0, `f32.sqrt`, [value("f32", 0.9999999)]), [value("f32", 0.99999994)]);
+
+// ./test/core/float_misc.wast:586
+assert_return(() => invoke($0, `f32.sqrt`, [value("f32", 0.9999998)]), [value("f32", 0.9999999)]);
+
+// ./test/core/float_misc.wast:587
+assert_return(
+ () => invoke($0, `f64.sqrt`, [value("f64", 0.9999999999999998)]),
+ [value("f64", 0.9999999999999999)],
+);
+
+// ./test/core/float_misc.wast:588
+assert_return(
+ () => invoke($0, `f64.sqrt`, [value("f64", 0.9999999999999997)]),
+ [value("f64", 0.9999999999999998)],
+);
+
+// ./test/core/float_misc.wast:592
+assert_return(
+ () => invoke($0, `f32.abs`, [bytes("f32", [0xe2, 0xf1, 0x80, 0x7f])]),
+ [bytes("f32", [0xe2, 0xf1, 0x80, 0x7f])],
+);
+
+// ./test/core/float_misc.wast:593
+assert_return(
+ () => invoke($0, `f32.abs`, [bytes("f32", [0xe2, 0xf1, 0x80, 0xff])]),
+ [bytes("f32", [0xe2, 0xf1, 0x80, 0x7f])],
+);
+
+// ./test/core/float_misc.wast:594
+assert_return(
+ () => invoke($0, `f64.abs`, [
+ bytes("f64", [0x6b, 0x7a, 0xe2, 0xf1, 0x0, 0x0, 0xf0, 0x7f]),
+ ]),
+ [bytes("f64", [0x6b, 0x7a, 0xe2, 0xf1, 0x0, 0x0, 0xf0, 0x7f])],
+);
+
+// ./test/core/float_misc.wast:595
+assert_return(
+ () => invoke($0, `f64.abs`, [
+ bytes("f64", [0x6b, 0x7a, 0xe2, 0xf1, 0x0, 0x0, 0xf0, 0xff]),
+ ]),
+ [bytes("f64", [0x6b, 0x7a, 0xe2, 0xf1, 0x0, 0x0, 0xf0, 0x7f])],
+);
+
+// ./test/core/float_misc.wast:597
+assert_return(
+ () => invoke($0, `f32.neg`, [bytes("f32", [0xe2, 0xf1, 0x80, 0x7f])]),
+ [bytes("f32", [0xe2, 0xf1, 0x80, 0xff])],
+);
+
+// ./test/core/float_misc.wast:598
+assert_return(
+ () => invoke($0, `f32.neg`, [bytes("f32", [0xe2, 0xf1, 0x80, 0xff])]),
+ [bytes("f32", [0xe2, 0xf1, 0x80, 0x7f])],
+);
+
+// ./test/core/float_misc.wast:599
+assert_return(
+ () => invoke($0, `f64.neg`, [
+ bytes("f64", [0x6b, 0x7a, 0xe2, 0xf1, 0x0, 0x0, 0xf0, 0x7f]),
+ ]),
+ [bytes("f64", [0x6b, 0x7a, 0xe2, 0xf1, 0x0, 0x0, 0xf0, 0xff])],
+);
+
+// ./test/core/float_misc.wast:600
+assert_return(
+ () => invoke($0, `f64.neg`, [
+ bytes("f64", [0x6b, 0x7a, 0xe2, 0xf1, 0x0, 0x0, 0xf0, 0xff]),
+ ]),
+ [bytes("f64", [0x6b, 0x7a, 0xe2, 0xf1, 0x0, 0x0, 0xf0, 0x7f])],
+);
+
+// ./test/core/float_misc.wast:602
+assert_return(
+ () => invoke($0, `f32.copysign`, [
+ bytes("f32", [0xe2, 0xf1, 0x80, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [bytes("f32", [0xe2, 0xf1, 0x80, 0x7f])],
+);
+
+// ./test/core/float_misc.wast:603
+assert_return(
+ () => invoke($0, `f32.copysign`, [
+ bytes("f32", [0xe2, 0xf1, 0x80, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [bytes("f32", [0xe2, 0xf1, 0x80, 0xff])],
+);
+
+// ./test/core/float_misc.wast:604
+assert_return(
+ () => invoke($0, `f32.copysign`, [
+ bytes("f32", [0xe2, 0xf1, 0x80, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [bytes("f32", [0xe2, 0xf1, 0x80, 0x7f])],
+);
+
+// ./test/core/float_misc.wast:605
+assert_return(
+ () => invoke($0, `f32.copysign`, [
+ bytes("f32", [0xe2, 0xf1, 0x80, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ]),
+ [bytes("f32", [0xe2, 0xf1, 0x80, 0xff])],
+);
+
+// ./test/core/float_misc.wast:606
+assert_return(
+ () => invoke($0, `f64.copysign`, [
+ bytes("f64", [0x6b, 0x7a, 0xe2, 0xf1, 0x0, 0x0, 0xf0, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [bytes("f64", [0x6b, 0x7a, 0xe2, 0xf1, 0x0, 0x0, 0xf0, 0x7f])],
+);
+
+// ./test/core/float_misc.wast:607
+assert_return(
+ () => invoke($0, `f64.copysign`, [
+ bytes("f64", [0x6b, 0x7a, 0xe2, 0xf1, 0x0, 0x0, 0xf0, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [bytes("f64", [0x6b, 0x7a, 0xe2, 0xf1, 0x0, 0x0, 0xf0, 0xff])],
+);
+
+// ./test/core/float_misc.wast:608
+assert_return(
+ () => invoke($0, `f64.copysign`, [
+ bytes("f64", [0x6b, 0x7a, 0xe2, 0xf1, 0x0, 0x0, 0xf0, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [bytes("f64", [0x6b, 0x7a, 0xe2, 0xf1, 0x0, 0x0, 0xf0, 0x7f])],
+);
+
+// ./test/core/float_misc.wast:609
+assert_return(
+ () => invoke($0, `f64.copysign`, [
+ bytes("f64", [0x6b, 0x7a, 0xe2, 0xf1, 0x0, 0x0, 0xf0, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [bytes("f64", [0x6b, 0x7a, 0xe2, 0xf1, 0x0, 0x0, 0xf0, 0xff])],
+);
+
+// ./test/core/float_misc.wast:612
+assert_return(() => invoke($0, `f32.ceil`, [value("f32", 0.99999994)]), [value("f32", 1)]);
+
+// ./test/core/float_misc.wast:613
+assert_return(() => invoke($0, `f32.ceil`, [value("f32", 1.0000001)]), [value("f32", 2)]);
+
+// ./test/core/float_misc.wast:614
+assert_return(() => invoke($0, `f64.ceil`, [value("f64", 0.9999999999999999)]), [value("f64", 1)]);
+
+// ./test/core/float_misc.wast:615
+assert_return(() => invoke($0, `f64.ceil`, [value("f64", 1.0000000000000002)]), [value("f64", 2)]);
+
+// ./test/core/float_misc.wast:618
+assert_return(() => invoke($0, `f32.ceil`, [value("f32", 8388607.5)]), [value("f32", 8388608)]);
+
+// ./test/core/float_misc.wast:619
+assert_return(() => invoke($0, `f32.ceil`, [value("f32", -8388607.5)]), [value("f32", -8388607)]);
+
+// ./test/core/float_misc.wast:620
+assert_return(
+ () => invoke($0, `f64.ceil`, [value("f64", 4503599627370495.5)]),
+ [value("f64", 4503599627370496)],
+);
+
+// ./test/core/float_misc.wast:621
+assert_return(
+ () => invoke($0, `f64.ceil`, [value("f64", -4503599627370495.5)]),
+ [value("f64", -4503599627370495)],
+);
+
+// ./test/core/float_misc.wast:625
+assert_return(() => invoke($0, `f32.ceil`, [value("f32", 16777215)]), [value("f32", 16777215)]);
+
+// ./test/core/float_misc.wast:626
+assert_return(() => invoke($0, `f32.ceil`, [value("f32", -16777215)]), [value("f32", -16777215)]);
+
+// ./test/core/float_misc.wast:627
+assert_return(
+ () => invoke($0, `f64.ceil`, [value("f64", 9007199254740991)]),
+ [value("f64", 9007199254740991)],
+);
+
+// ./test/core/float_misc.wast:628
+assert_return(
+ () => invoke($0, `f64.ceil`, [value("f64", -9007199254740991)]),
+ [value("f64", -9007199254740991)],
+);
+
+// ./test/core/float_misc.wast:631
+assert_return(() => invoke($0, `f32.floor`, [value("f32", -0.99999994)]), [value("f32", -1)]);
+
+// ./test/core/float_misc.wast:632
+assert_return(() => invoke($0, `f32.floor`, [value("f32", -1.0000001)]), [value("f32", -2)]);
+
+// ./test/core/float_misc.wast:633
+assert_return(() => invoke($0, `f64.floor`, [value("f64", -0.9999999999999999)]), [value("f64", -1)]);
+
+// ./test/core/float_misc.wast:634
+assert_return(() => invoke($0, `f64.floor`, [value("f64", -1.0000000000000002)]), [value("f64", -2)]);
+
+// ./test/core/float_misc.wast:637
+assert_return(() => invoke($0, `f32.floor`, [value("f32", -8388607.5)]), [value("f32", -8388608)]);
+
+// ./test/core/float_misc.wast:638
+assert_return(() => invoke($0, `f32.floor`, [value("f32", 8388607.5)]), [value("f32", 8388607)]);
+
+// ./test/core/float_misc.wast:639
+assert_return(
+ () => invoke($0, `f64.floor`, [value("f64", -4503599627370495.5)]),
+ [value("f64", -4503599627370496)],
+);
+
+// ./test/core/float_misc.wast:640
+assert_return(
+ () => invoke($0, `f64.floor`, [value("f64", 4503599627370495.5)]),
+ [value("f64", 4503599627370495)],
+);
+
+// ./test/core/float_misc.wast:644
+assert_return(() => invoke($0, `f32.floor`, [value("f32", 88607)]), [value("f32", 88607)]);
+
+// ./test/core/float_misc.wast:645
+assert_return(() => invoke($0, `f64.floor`, [value("f64", 88607)]), [value("f64", 88607)]);
+
+// ./test/core/float_misc.wast:648
+assert_return(() => invoke($0, `f32.trunc`, [value("f32", -8388607.5)]), [value("f32", -8388607)]);
+
+// ./test/core/float_misc.wast:649
+assert_return(() => invoke($0, `f32.trunc`, [value("f32", 8388607.5)]), [value("f32", 8388607)]);
+
+// ./test/core/float_misc.wast:650
+assert_return(
+ () => invoke($0, `f64.trunc`, [value("f64", -4503599627370495.5)]),
+ [value("f64", -4503599627370495)],
+);
+
+// ./test/core/float_misc.wast:651
+assert_return(
+ () => invoke($0, `f64.trunc`, [value("f64", 4503599627370495.5)]),
+ [value("f64", 4503599627370495)],
+);
+
+// ./test/core/float_misc.wast:656
+assert_return(() => invoke($0, `f32.nearest`, [value("f32", 8388609)]), [value("f32", 8388609)]);
+
+// ./test/core/float_misc.wast:657
+assert_return(() => invoke($0, `f32.nearest`, [value("f32", 8388610)]), [value("f32", 8388610)]);
+
+// ./test/core/float_misc.wast:658
+assert_return(() => invoke($0, `f32.nearest`, [value("f32", 0.49999997)]), [value("f32", 0)]);
+
+// ./test/core/float_misc.wast:659
+assert_return(
+ () => invoke($0, `f32.nearest`, [value("f32", 281474960000000)]),
+ [value("f32", 281474960000000)],
+);
+
+// ./test/core/float_misc.wast:660
+assert_return(
+ () => invoke($0, `f64.nearest`, [value("f64", 4503599627370497)]),
+ [value("f64", 4503599627370497)],
+);
+
+// ./test/core/float_misc.wast:661
+assert_return(
+ () => invoke($0, `f64.nearest`, [value("f64", 4503599627370498)]),
+ [value("f64", 4503599627370498)],
+);
+
+// ./test/core/float_misc.wast:662
+assert_return(() => invoke($0, `f64.nearest`, [value("f64", 0.49999999999999994)]), [value("f64", 0)]);
+
+// ./test/core/float_misc.wast:663
+assert_return(
+ () => invoke($0, `f64.nearest`, [value("f64", 81129638414606670000000000000000)]),
+ [value("f64", 81129638414606670000000000000000)],
+);
+
+// ./test/core/float_misc.wast:667
+assert_return(() => invoke($0, `f32.nearest`, [value("f32", 4.5)]), [value("f32", 4)]);
+
+// ./test/core/float_misc.wast:668
+assert_return(() => invoke($0, `f32.nearest`, [value("f32", -4.5)]), [value("f32", -4)]);
+
+// ./test/core/float_misc.wast:669
+assert_return(() => invoke($0, `f32.nearest`, [value("f32", -3.5)]), [value("f32", -4)]);
+
+// ./test/core/float_misc.wast:670
+assert_return(() => invoke($0, `f64.nearest`, [value("f64", 4.5)]), [value("f64", 4)]);
+
+// ./test/core/float_misc.wast:671
+assert_return(() => invoke($0, `f64.nearest`, [value("f64", -4.5)]), [value("f64", -4)]);
+
+// ./test/core/float_misc.wast:672
+assert_return(() => invoke($0, `f64.nearest`, [value("f64", -3.5)]), [value("f64", -4)]);
+
+// ./test/core/float_misc.wast:675
+assert_return(() => invoke($0, `f32.nearest`, [value("f32", -8388607.5)]), [value("f32", -8388608)]);
+
+// ./test/core/float_misc.wast:676
+assert_return(() => invoke($0, `f32.nearest`, [value("f32", 8388607.5)]), [value("f32", 8388608)]);
+
+// ./test/core/float_misc.wast:677
+assert_return(
+ () => invoke($0, `f64.nearest`, [value("f64", -4503599627370495.5)]),
+ [value("f64", -4503599627370496)],
+);
+
+// ./test/core/float_misc.wast:678
+assert_return(
+ () => invoke($0, `f64.nearest`, [value("f64", 4503599627370495.5)]),
+ [value("f64", 4503599627370496)],
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/forward.wast.js b/js/src/jit-test/tests/wasm/spec/spec/forward.wast.js
new file mode 100644
index 0000000000..49bd1bda87
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/forward.wast.js
@@ -0,0 +1,45 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/forward.wast
+
+// ./test/core/forward.wast:1
+let $0 = instantiate(`(module
+ (func $$even (export "even") (param $$n i32) (result i32)
+ (if (result i32) (i32.eq (local.get $$n) (i32.const 0))
+ (then (i32.const 1))
+ (else (call $$odd (i32.sub (local.get $$n) (i32.const 1))))
+ )
+ )
+
+ (func $$odd (export "odd") (param $$n i32) (result i32)
+ (if (result i32) (i32.eq (local.get $$n) (i32.const 0))
+ (then (i32.const 0))
+ (else (call $$even (i32.sub (local.get $$n) (i32.const 1))))
+ )
+ )
+)`);
+
+// ./test/core/forward.wast:17
+assert_return(() => invoke($0, `even`, [13]), [value("i32", 0)]);
+
+// ./test/core/forward.wast:18
+assert_return(() => invoke($0, `even`, [20]), [value("i32", 1)]);
+
+// ./test/core/forward.wast:19
+assert_return(() => invoke($0, `odd`, [13]), [value("i32", 1)]);
+
+// ./test/core/forward.wast:20
+assert_return(() => invoke($0, `odd`, [20]), [value("i32", 0)]);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/func.wast.js b/js/src/jit-test/tests/wasm/spec/spec/func.wast.js
new file mode 100644
index 0000000000..e5c1253de4
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/func.wast.js
@@ -0,0 +1,1218 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/func.wast
+
+// ./test/core/func.wast:3
+let $0 = instantiate(`(module
+ ;; Auxiliary definition
+ (type $$sig (func))
+ (func $$dummy)
+
+ ;; Syntax
+
+ (func)
+ (func (export "f"))
+ (func $$f)
+ (func $$h (export "g"))
+
+ (func (local))
+ (func (local) (local))
+ (func (local i32))
+ (func (local $$x i32))
+ (func (local i32 f64 i64))
+ (func (local i32) (local f64))
+ (func (local i32 f32) (local $$x i64) (local) (local i32 f64))
+
+ (func (param))
+ (func (param) (param))
+ (func (param i32))
+ (func (param $$x i32))
+ (func (param i32 f64 i64))
+ (func (param i32) (param f64))
+ (func (param i32 f32) (param $$x i64) (param) (param i32 f64))
+
+ (func (result))
+ (func (result) (result))
+ (func (result i32) (unreachable))
+ (func (result i32 f64 f32) (unreachable))
+ (func (result i32) (result f64) (unreachable))
+ (func (result i32 f32) (result i64) (result) (result i32 f64) (unreachable))
+
+ (type $$sig-1 (func))
+ (type $$sig-2 (func (result i32)))
+ (type $$sig-3 (func (param $$x i32)))
+ (type $$sig-4 (func (param i32 f64 i32) (result i32)))
+
+ (func (export "type-use-1") (type $$sig-1))
+ (func (export "type-use-2") (type $$sig-2) (i32.const 0))
+ (func (export "type-use-3") (type $$sig-3))
+ (func (export "type-use-4") (type $$sig-4) (i32.const 0))
+ (func (export "type-use-5") (type $$sig-2) (result i32) (i32.const 0))
+ (func (export "type-use-6") (type $$sig-3) (param i32))
+ (func (export "type-use-7")
+ (type $$sig-4) (param i32) (param f64 i32) (result i32) (i32.const 0)
+ )
+
+ (func (type $$sig))
+ (func (type $$forward)) ;; forward reference
+
+ (func $$complex
+ (param i32 f32) (param $$x i64) (param) (param i32)
+ (result) (result i32) (result) (result i64 i32)
+ (local f32) (local $$y i32) (local i64 i32) (local) (local f64 i32)
+ (unreachable) (unreachable)
+ )
+ (func $$complex-sig
+ (type $$sig)
+ (local f32) (local $$y i32) (local i64 i32) (local) (local f64 i32)
+ (unreachable) (unreachable)
+ )
+
+ (type $$forward (func))
+
+ ;; Typing of locals
+
+ (func (export "local-first-i32") (result i32) (local i32 i32) (local.get 0))
+ (func (export "local-first-i64") (result i64) (local i64 i64) (local.get 0))
+ (func (export "local-first-f32") (result f32) (local f32 f32) (local.get 0))
+ (func (export "local-first-f64") (result f64) (local f64 f64) (local.get 0))
+ (func (export "local-second-i32") (result i32) (local i32 i32) (local.get 1))
+ (func (export "local-second-i64") (result i64) (local i64 i64) (local.get 1))
+ (func (export "local-second-f32") (result f32) (local f32 f32) (local.get 1))
+ (func (export "local-second-f64") (result f64) (local f64 f64) (local.get 1))
+ (func (export "local-mixed") (result f64)
+ (local f32) (local $$x i32) (local i64 i32) (local) (local f64 i32)
+ (drop (f32.neg (local.get 0)))
+ (drop (i32.eqz (local.get 1)))
+ (drop (i64.eqz (local.get 2)))
+ (drop (i32.eqz (local.get 3)))
+ (drop (f64.neg (local.get 4)))
+ (drop (i32.eqz (local.get 5)))
+ (local.get 4)
+ )
+
+ ;; Typing of parameters
+
+ (func (export "param-first-i32") (param i32 i32) (result i32) (local.get 0))
+ (func (export "param-first-i64") (param i64 i64) (result i64) (local.get 0))
+ (func (export "param-first-f32") (param f32 f32) (result f32) (local.get 0))
+ (func (export "param-first-f64") (param f64 f64) (result f64) (local.get 0))
+ (func (export "param-second-i32") (param i32 i32) (result i32) (local.get 1))
+ (func (export "param-second-i64") (param i64 i64) (result i64) (local.get 1))
+ (func (export "param-second-f32") (param f32 f32) (result f32) (local.get 1))
+ (func (export "param-second-f64") (param f64 f64) (result f64) (local.get 1))
+ (func (export "param-mixed") (param f32 i32) (param) (param $$x i64) (param i32 f64 i32)
+ (result f64)
+ (drop (f32.neg (local.get 0)))
+ (drop (i32.eqz (local.get 1)))
+ (drop (i64.eqz (local.get 2)))
+ (drop (i32.eqz (local.get 3)))
+ (drop (f64.neg (local.get 4)))
+ (drop (i32.eqz (local.get 5)))
+ (local.get 4)
+ )
+
+ ;; Typing of results
+
+ (func (export "empty"))
+ (func (export "value-void") (call $$dummy))
+ (func (export "value-i32") (result i32) (i32.const 77))
+ (func (export "value-i64") (result i64) (i64.const 7777))
+ (func (export "value-f32") (result f32) (f32.const 77.7))
+ (func (export "value-f64") (result f64) (f64.const 77.77))
+ (func (export "value-i32-f64") (result i32 f64) (i32.const 77) (f64.const 7))
+ (func (export "value-i32-i32-i32") (result i32 i32 i32)
+ (i32.const 1) (i32.const 2) (i32.const 3)
+ )
+ (func (export "value-block-void") (block (call $$dummy) (call $$dummy)))
+ (func (export "value-block-i32") (result i32)
+ (block (result i32) (call $$dummy) (i32.const 77))
+ )
+ (func (export "value-block-i32-i64") (result i32 i64)
+ (block (result i32 i64) (call $$dummy) (i32.const 1) (i64.const 2))
+ )
+
+ (func (export "return-empty") (return))
+ (func (export "return-i32") (result i32) (return (i32.const 78)))
+ (func (export "return-i64") (result i64) (return (i64.const 7878)))
+ (func (export "return-f32") (result f32) (return (f32.const 78.7)))
+ (func (export "return-f64") (result f64) (return (f64.const 78.78)))
+ (func (export "return-i32-f64") (result i32 f64)
+ (return (i32.const 78) (f64.const 78.78))
+ )
+ (func (export "return-i32-i32-i32") (result i32 i32 i32)
+ (return (i32.const 1) (i32.const 2) (i32.const 3))
+ )
+ (func (export "return-block-i32") (result i32)
+ (return (block (result i32) (call $$dummy) (i32.const 77)))
+ )
+ (func (export "return-block-i32-i64") (result i32 i64)
+ (return (block (result i32 i64) (call $$dummy) (i32.const 1) (i64.const 2)))
+ )
+
+ (func (export "break-empty") (br 0))
+ (func (export "break-i32") (result i32) (br 0 (i32.const 79)))
+ (func (export "break-i64") (result i64) (br 0 (i64.const 7979)))
+ (func (export "break-f32") (result f32) (br 0 (f32.const 79.9)))
+ (func (export "break-f64") (result f64) (br 0 (f64.const 79.79)))
+ (func (export "break-i32-f64") (result i32 f64)
+ (br 0 (i32.const 79) (f64.const 79.79))
+ )
+ (func (export "break-i32-i32-i32") (result i32 i32 i32)
+ (br 0 (i32.const 1) (i32.const 2) (i32.const 3))
+ )
+ (func (export "break-block-i32") (result i32)
+ (br 0 (block (result i32) (call $$dummy) (i32.const 77)))
+ )
+ (func (export "break-block-i32-i64") (result i32 i64)
+ (br 0 (block (result i32 i64) (call $$dummy) (i32.const 1) (i64.const 2)))
+ )
+
+ (func (export "break-br_if-empty") (param i32)
+ (br_if 0 (local.get 0))
+ )
+ (func (export "break-br_if-num") (param i32) (result i32)
+ (drop (br_if 0 (i32.const 50) (local.get 0))) (i32.const 51)
+ )
+ (func (export "break-br_if-num-num") (param i32) (result i32 i64)
+ (drop (drop (br_if 0 (i32.const 50) (i64.const 51) (local.get 0))))
+ (i32.const 51) (i64.const 52)
+ )
+
+ (func (export "break-br_table-empty") (param i32)
+ (br_table 0 0 0 (local.get 0))
+ )
+ (func (export "break-br_table-num") (param i32) (result i32)
+ (br_table 0 0 (i32.const 50) (local.get 0)) (i32.const 51)
+ )
+ (func (export "break-br_table-num-num") (param i32) (result i32 i64)
+ (br_table 0 0 (i32.const 50) (i64.const 51) (local.get 0))
+ (i32.const 51) (i64.const 52)
+ )
+ (func (export "break-br_table-nested-empty") (param i32)
+ (block (br_table 0 1 0 (local.get 0)))
+ )
+ (func (export "break-br_table-nested-num") (param i32) (result i32)
+ (i32.add
+ (block (result i32)
+ (br_table 0 1 0 (i32.const 50) (local.get 0)) (i32.const 51)
+ )
+ (i32.const 2)
+ )
+ )
+ (func (export "break-br_table-nested-num-num") (param i32) (result i32 i32)
+ (i32.add
+ (block (result i32 i32)
+ (br_table 0 1 0 (i32.const 50) (i32.const 51) (local.get 0))
+ (i32.const 51) (i32.const -3)
+ )
+ )
+ (i32.const 52)
+ )
+
+ ;; Large signatures
+
+ (func (export "large-sig")
+ (param i32 i64 f32 f32 i32 f64 f32 i32 i32 i32 f32 f64 f64 f64 i32 i32 f32)
+ (result f64 f32 i32 i32 i32 i64 f32 i32 i32 f32 f64 f64 i32 f32 i32 f64)
+ (local.get 5)
+ (local.get 2)
+ (local.get 0)
+ (local.get 8)
+ (local.get 7)
+ (local.get 1)
+ (local.get 3)
+ (local.get 9)
+ (local.get 4)
+ (local.get 6)
+ (local.get 13)
+ (local.get 11)
+ (local.get 15)
+ (local.get 16)
+ (local.get 14)
+ (local.get 12)
+ )
+
+ ;; Default initialization of locals
+
+ (func (export "init-local-i32") (result i32) (local i32) (local.get 0))
+ (func (export "init-local-i64") (result i64) (local i64) (local.get 0))
+ (func (export "init-local-f32") (result f32) (local f32) (local.get 0))
+ (func (export "init-local-f64") (result f64) (local f64) (local.get 0))
+)`);
+
+// ./test/core/func.wast:241
+assert_return(() => invoke($0, `type-use-1`, []), []);
+
+// ./test/core/func.wast:242
+assert_return(() => invoke($0, `type-use-2`, []), [value("i32", 0)]);
+
+// ./test/core/func.wast:243
+assert_return(() => invoke($0, `type-use-3`, [1]), []);
+
+// ./test/core/func.wast:244
+assert_return(() => invoke($0, `type-use-4`, [1, value("f64", 1), 1]), [value("i32", 0)]);
+
+// ./test/core/func.wast:248
+assert_return(() => invoke($0, `type-use-5`, []), [value("i32", 0)]);
+
+// ./test/core/func.wast:249
+assert_return(() => invoke($0, `type-use-6`, [1]), []);
+
+// ./test/core/func.wast:250
+assert_return(() => invoke($0, `type-use-7`, [1, value("f64", 1), 1]), [value("i32", 0)]);
+
+// ./test/core/func.wast:255
+assert_return(() => invoke($0, `local-first-i32`, []), [value("i32", 0)]);
+
+// ./test/core/func.wast:256
+assert_return(() => invoke($0, `local-first-i64`, []), [value("i64", 0n)]);
+
+// ./test/core/func.wast:257
+assert_return(() => invoke($0, `local-first-f32`, []), [value("f32", 0)]);
+
+// ./test/core/func.wast:258
+assert_return(() => invoke($0, `local-first-f64`, []), [value("f64", 0)]);
+
+// ./test/core/func.wast:259
+assert_return(() => invoke($0, `local-second-i32`, []), [value("i32", 0)]);
+
+// ./test/core/func.wast:260
+assert_return(() => invoke($0, `local-second-i64`, []), [value("i64", 0n)]);
+
+// ./test/core/func.wast:261
+assert_return(() => invoke($0, `local-second-f32`, []), [value("f32", 0)]);
+
+// ./test/core/func.wast:262
+assert_return(() => invoke($0, `local-second-f64`, []), [value("f64", 0)]);
+
+// ./test/core/func.wast:263
+assert_return(() => invoke($0, `local-mixed`, []), [value("f64", 0)]);
+
+// ./test/core/func.wast:265
+assert_return(() => invoke($0, `param-first-i32`, [2, 3]), [value("i32", 2)]);
+
+// ./test/core/func.wast:268
+assert_return(() => invoke($0, `param-first-i64`, [2n, 3n]), [value("i64", 2n)]);
+
+// ./test/core/func.wast:271
+assert_return(
+ () => invoke($0, `param-first-f32`, [value("f32", 2), value("f32", 3)]),
+ [value("f32", 2)],
+);
+
+// ./test/core/func.wast:274
+assert_return(
+ () => invoke($0, `param-first-f64`, [value("f64", 2), value("f64", 3)]),
+ [value("f64", 2)],
+);
+
+// ./test/core/func.wast:277
+assert_return(() => invoke($0, `param-second-i32`, [2, 3]), [value("i32", 3)]);
+
+// ./test/core/func.wast:280
+assert_return(() => invoke($0, `param-second-i64`, [2n, 3n]), [value("i64", 3n)]);
+
+// ./test/core/func.wast:283
+assert_return(
+ () => invoke($0, `param-second-f32`, [value("f32", 2), value("f32", 3)]),
+ [value("f32", 3)],
+);
+
+// ./test/core/func.wast:286
+assert_return(
+ () => invoke($0, `param-second-f64`, [value("f64", 2), value("f64", 3)]),
+ [value("f64", 3)],
+);
+
+// ./test/core/func.wast:290
+assert_return(
+ () => invoke($0, `param-mixed`, [value("f32", 1), 2, 3n, 4, value("f64", 5.5), 6]),
+ [value("f64", 5.5)],
+);
+
+// ./test/core/func.wast:298
+assert_return(() => invoke($0, `empty`, []), []);
+
+// ./test/core/func.wast:299
+assert_return(() => invoke($0, `value-void`, []), []);
+
+// ./test/core/func.wast:300
+assert_return(() => invoke($0, `value-i32`, []), [value("i32", 77)]);
+
+// ./test/core/func.wast:301
+assert_return(() => invoke($0, `value-i64`, []), [value("i64", 7777n)]);
+
+// ./test/core/func.wast:302
+assert_return(() => invoke($0, `value-f32`, []), [value("f32", 77.7)]);
+
+// ./test/core/func.wast:303
+assert_return(() => invoke($0, `value-f64`, []), [value("f64", 77.77)]);
+
+// ./test/core/func.wast:304
+assert_return(() => invoke($0, `value-i32-f64`, []), [value("i32", 77), value("f64", 7)]);
+
+// ./test/core/func.wast:305
+assert_return(
+ () => invoke($0, `value-i32-i32-i32`, []),
+ [value("i32", 1), value("i32", 2), value("i32", 3)],
+);
+
+// ./test/core/func.wast:308
+assert_return(() => invoke($0, `value-block-void`, []), []);
+
+// ./test/core/func.wast:309
+assert_return(() => invoke($0, `value-block-i32`, []), [value("i32", 77)]);
+
+// ./test/core/func.wast:310
+assert_return(() => invoke($0, `value-block-i32-i64`, []), [value("i32", 1), value("i64", 2n)]);
+
+// ./test/core/func.wast:312
+assert_return(() => invoke($0, `return-empty`, []), []);
+
+// ./test/core/func.wast:313
+assert_return(() => invoke($0, `return-i32`, []), [value("i32", 78)]);
+
+// ./test/core/func.wast:314
+assert_return(() => invoke($0, `return-i64`, []), [value("i64", 7878n)]);
+
+// ./test/core/func.wast:315
+assert_return(() => invoke($0, `return-f32`, []), [value("f32", 78.7)]);
+
+// ./test/core/func.wast:316
+assert_return(() => invoke($0, `return-f64`, []), [value("f64", 78.78)]);
+
+// ./test/core/func.wast:317
+assert_return(() => invoke($0, `return-i32-f64`, []), [value("i32", 78), value("f64", 78.78)]);
+
+// ./test/core/func.wast:318
+assert_return(
+ () => invoke($0, `return-i32-i32-i32`, []),
+ [value("i32", 1), value("i32", 2), value("i32", 3)],
+);
+
+// ./test/core/func.wast:321
+assert_return(() => invoke($0, `return-block-i32`, []), [value("i32", 77)]);
+
+// ./test/core/func.wast:322
+assert_return(() => invoke($0, `return-block-i32-i64`, []), [value("i32", 1), value("i64", 2n)]);
+
+// ./test/core/func.wast:324
+assert_return(() => invoke($0, `break-empty`, []), []);
+
+// ./test/core/func.wast:325
+assert_return(() => invoke($0, `break-i32`, []), [value("i32", 79)]);
+
+// ./test/core/func.wast:326
+assert_return(() => invoke($0, `break-i64`, []), [value("i64", 7979n)]);
+
+// ./test/core/func.wast:327
+assert_return(() => invoke($0, `break-f32`, []), [value("f32", 79.9)]);
+
+// ./test/core/func.wast:328
+assert_return(() => invoke($0, `break-f64`, []), [value("f64", 79.79)]);
+
+// ./test/core/func.wast:329
+assert_return(() => invoke($0, `break-i32-f64`, []), [value("i32", 79), value("f64", 79.79)]);
+
+// ./test/core/func.wast:330
+assert_return(
+ () => invoke($0, `break-i32-i32-i32`, []),
+ [value("i32", 1), value("i32", 2), value("i32", 3)],
+);
+
+// ./test/core/func.wast:333
+assert_return(() => invoke($0, `break-block-i32`, []), [value("i32", 77)]);
+
+// ./test/core/func.wast:334
+assert_return(() => invoke($0, `break-block-i32-i64`, []), [value("i32", 1), value("i64", 2n)]);
+
+// ./test/core/func.wast:336
+assert_return(() => invoke($0, `break-br_if-empty`, [0]), []);
+
+// ./test/core/func.wast:337
+assert_return(() => invoke($0, `break-br_if-empty`, [2]), []);
+
+// ./test/core/func.wast:338
+assert_return(() => invoke($0, `break-br_if-num`, [0]), [value("i32", 51)]);
+
+// ./test/core/func.wast:339
+assert_return(() => invoke($0, `break-br_if-num`, [1]), [value("i32", 50)]);
+
+// ./test/core/func.wast:340
+assert_return(() => invoke($0, `break-br_if-num-num`, [0]), [value("i32", 51), value("i64", 52n)]);
+
+// ./test/core/func.wast:343
+assert_return(() => invoke($0, `break-br_if-num-num`, [1]), [value("i32", 50), value("i64", 51n)]);
+
+// ./test/core/func.wast:347
+assert_return(() => invoke($0, `break-br_table-empty`, [0]), []);
+
+// ./test/core/func.wast:348
+assert_return(() => invoke($0, `break-br_table-empty`, [1]), []);
+
+// ./test/core/func.wast:349
+assert_return(() => invoke($0, `break-br_table-empty`, [5]), []);
+
+// ./test/core/func.wast:350
+assert_return(() => invoke($0, `break-br_table-empty`, [-1]), []);
+
+// ./test/core/func.wast:351
+assert_return(() => invoke($0, `break-br_table-num`, [0]), [value("i32", 50)]);
+
+// ./test/core/func.wast:352
+assert_return(() => invoke($0, `break-br_table-num`, [1]), [value("i32", 50)]);
+
+// ./test/core/func.wast:353
+assert_return(() => invoke($0, `break-br_table-num`, [10]), [value("i32", 50)]);
+
+// ./test/core/func.wast:354
+assert_return(() => invoke($0, `break-br_table-num`, [-100]), [value("i32", 50)]);
+
+// ./test/core/func.wast:355
+assert_return(() => invoke($0, `break-br_table-num-num`, [0]), [value("i32", 50), value("i64", 51n)]);
+
+// ./test/core/func.wast:358
+assert_return(() => invoke($0, `break-br_table-num-num`, [1]), [value("i32", 50), value("i64", 51n)]);
+
+// ./test/core/func.wast:361
+assert_return(() => invoke($0, `break-br_table-num-num`, [10]), [value("i32", 50), value("i64", 51n)]);
+
+// ./test/core/func.wast:364
+assert_return(() => invoke($0, `break-br_table-num-num`, [-100]), [value("i32", 50), value("i64", 51n)]);
+
+// ./test/core/func.wast:367
+assert_return(() => invoke($0, `break-br_table-nested-empty`, [0]), []);
+
+// ./test/core/func.wast:368
+assert_return(() => invoke($0, `break-br_table-nested-empty`, [1]), []);
+
+// ./test/core/func.wast:369
+assert_return(() => invoke($0, `break-br_table-nested-empty`, [3]), []);
+
+// ./test/core/func.wast:370
+assert_return(() => invoke($0, `break-br_table-nested-empty`, [-2]), []);
+
+// ./test/core/func.wast:371
+assert_return(() => invoke($0, `break-br_table-nested-num`, [0]), [value("i32", 52)]);
+
+// ./test/core/func.wast:374
+assert_return(() => invoke($0, `break-br_table-nested-num`, [1]), [value("i32", 50)]);
+
+// ./test/core/func.wast:377
+assert_return(() => invoke($0, `break-br_table-nested-num`, [2]), [value("i32", 52)]);
+
+// ./test/core/func.wast:380
+assert_return(() => invoke($0, `break-br_table-nested-num`, [-3]), [value("i32", 52)]);
+
+// ./test/core/func.wast:383
+assert_return(
+ () => invoke($0, `break-br_table-nested-num-num`, [0]),
+ [value("i32", 101), value("i32", 52)],
+);
+
+// ./test/core/func.wast:387
+assert_return(
+ () => invoke($0, `break-br_table-nested-num-num`, [1]),
+ [value("i32", 50), value("i32", 51)],
+);
+
+// ./test/core/func.wast:391
+assert_return(
+ () => invoke($0, `break-br_table-nested-num-num`, [2]),
+ [value("i32", 101), value("i32", 52)],
+);
+
+// ./test/core/func.wast:395
+assert_return(
+ () => invoke($0, `break-br_table-nested-num-num`, [-3]),
+ [value("i32", 101), value("i32", 52)],
+);
+
+// ./test/core/func.wast:400
+assert_return(
+ () => invoke($0, `large-sig`, [
+ 0,
+ 1n,
+ value("f32", 2),
+ value("f32", 3),
+ 4,
+ value("f64", 5),
+ value("f32", 6),
+ 7,
+ 8,
+ 9,
+ value("f32", 10),
+ value("f64", 11),
+ value("f64", 12),
+ value("f64", 13),
+ 14,
+ 15,
+ value("f32", 16),
+ ]),
+ [
+ value("f64", 5),
+ value("f32", 2),
+ value("i32", 0),
+ value("i32", 8),
+ value("i32", 7),
+ value("i64", 1n),
+ value("f32", 3),
+ value("i32", 9),
+ value("i32", 4),
+ value("f32", 6),
+ value("f64", 13),
+ value("f64", 11),
+ value("i32", 15),
+ value("f32", 16),
+ value("i32", 14),
+ value("f64", 12),
+ ],
+);
+
+// ./test/core/func.wast:414
+assert_return(() => invoke($0, `init-local-i32`, []), [value("i32", 0)]);
+
+// ./test/core/func.wast:415
+assert_return(() => invoke($0, `init-local-i64`, []), [value("i64", 0n)]);
+
+// ./test/core/func.wast:416
+assert_return(() => invoke($0, `init-local-f32`, []), [value("f32", 0)]);
+
+// ./test/core/func.wast:417
+assert_return(() => invoke($0, `init-local-f64`, []), [value("f64", 0)]);
+
+// ./test/core/func.wast:422
+let $1 = instantiate(`(module
+ (func $$f (result f64) (f64.const 0)) ;; adds implicit type definition
+ (func $$g (param i32)) ;; reuses explicit type definition
+ (type $$t (func (param i32)))
+
+ (func $$i32->void (type 0)) ;; (param i32)
+ (func $$void->f64 (type 1) (f64.const 0)) ;; (result f64)
+ (func $$check
+ (call $$i32->void (i32.const 0))
+ (drop (call $$void->f64))
+ )
+)`);
+
+// ./test/core/func.wast:435
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f (result f64) (f64.const 0)) ;; adds implicit type definition
+ (func $$g (param i32)) ;; reuses explicit type definition
+ (func $$h (result f64) (f64.const 1)) ;; reuses implicit type definition
+ (type $$t (func (param i32)))
+
+ (func (type 2)) ;; does not exist
+ )`),
+ `unknown type`,
+);
+
+// ./test/core/func.wast:447
+assert_malformed(
+ () => instantiate(`(func $$f (result f64) (f64.const 0)) (func $$g (param i32)) (func $$h (result f64) (f64.const 1)) (type $$t (func (param i32))) (func (type 2) (param i32)) `),
+ `unknown type`,
+);
+
+// ./test/core/func.wast:459
+let $2 = instantiate(`(module
+ (type $$proc (func (result i32)))
+ (type $$sig (func (param i32) (result i32)))
+
+ (func (export "f") (type $$sig)
+ (local $$var i32)
+ (local.get $$var)
+ )
+
+ (func $$g (type $$sig)
+ (local $$var i32)
+ (local.get $$var)
+ )
+ (func (export "g") (type $$sig)
+ (call $$g (local.get 0))
+ )
+
+ (func (export "p") (type $$proc)
+ (local $$var i32)
+ (local.set 0 (i32.const 42))
+ (local.get $$var)
+ )
+)`);
+
+// ./test/core/func.wast:483
+assert_return(() => invoke($2, `f`, [42]), [value("i32", 0)]);
+
+// ./test/core/func.wast:484
+assert_return(() => invoke($2, `g`, [42]), [value("i32", 0)]);
+
+// ./test/core/func.wast:485
+assert_return(() => invoke($2, `p`, []), [value("i32", 42)]);
+
+// ./test/core/func.wast:488
+let $3 = instantiate(`(module
+ (type $$sig (func))
+
+ (func $$empty-sig-1) ;; should be assigned type $$sig
+ (func $$complex-sig-1 (param f64 i64 f64 i64 f64 i64 f32 i32))
+ (func $$empty-sig-2) ;; should be assigned type $$sig
+ (func $$complex-sig-2 (param f64 i64 f64 i64 f64 i64 f32 i32))
+ (func $$complex-sig-3 (param f64 i64 f64 i64 f64 i64 f32 i32))
+ (func $$complex-sig-4 (param i64 i64 f64 i64 f64 i64 f32 i32))
+ (func $$complex-sig-5 (param i64 i64 f64 i64 f64 i64 f32 i32))
+
+ (type $$empty-sig-duplicate (func))
+ (type $$complex-sig-duplicate (func (param i64 i64 f64 i64 f64 i64 f32 i32)))
+ (table funcref
+ (elem
+ $$complex-sig-3 $$empty-sig-2 $$complex-sig-1 $$complex-sig-3 $$empty-sig-1
+ $$complex-sig-4 $$complex-sig-5
+ )
+ )
+
+ (func (export "signature-explicit-reused")
+ (call_indirect (type $$sig) (i32.const 1))
+ (call_indirect (type $$sig) (i32.const 4))
+ )
+
+ (func (export "signature-implicit-reused")
+ ;; The implicit index 3 in this test depends on the function and
+ ;; type definitions, and may need adapting if they change.
+ (call_indirect (type 3)
+ (f64.const 0) (i64.const 0) (f64.const 0) (i64.const 0)
+ (f64.const 0) (i64.const 0) (f32.const 0) (i32.const 0)
+ (i32.const 0)
+ )
+ (call_indirect (type 3)
+ (f64.const 0) (i64.const 0) (f64.const 0) (i64.const 0)
+ (f64.const 0) (i64.const 0) (f32.const 0) (i32.const 0)
+ (i32.const 2)
+ )
+ (call_indirect (type 3)
+ (f64.const 0) (i64.const 0) (f64.const 0) (i64.const 0)
+ (f64.const 0) (i64.const 0) (f32.const 0) (i32.const 0)
+ (i32.const 3)
+ )
+ )
+
+ (func (export "signature-explicit-duplicate")
+ (call_indirect (type $$empty-sig-duplicate) (i32.const 1))
+ )
+
+ (func (export "signature-implicit-duplicate")
+ (call_indirect (type $$complex-sig-duplicate)
+ (i64.const 0) (i64.const 0) (f64.const 0) (i64.const 0)
+ (f64.const 0) (i64.const 0) (f32.const 0) (i32.const 0)
+ (i32.const 5)
+ )
+ (call_indirect (type $$complex-sig-duplicate)
+ (i64.const 0) (i64.const 0) (f64.const 0) (i64.const 0)
+ (f64.const 0) (i64.const 0) (f32.const 0) (i32.const 0)
+ (i32.const 6)
+ )
+ )
+)`);
+
+// ./test/core/func.wast:551
+assert_return(() => invoke($3, `signature-explicit-reused`, []), []);
+
+// ./test/core/func.wast:552
+assert_return(() => invoke($3, `signature-implicit-reused`, []), []);
+
+// ./test/core/func.wast:553
+assert_return(() => invoke($3, `signature-explicit-duplicate`, []), []);
+
+// ./test/core/func.wast:554
+assert_return(() => invoke($3, `signature-implicit-duplicate`, []), []);
+
+// ./test/core/func.wast:559
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (func (type $$sig) (result i32) (param i32) (i32.const 0)) `),
+ `unexpected token`,
+);
+
+// ./test/core/func.wast:566
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (func (param i32) (type $$sig) (result i32) (i32.const 0)) `),
+ `unexpected token`,
+);
+
+// ./test/core/func.wast:573
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (func (param i32) (result i32) (type $$sig) (i32.const 0)) `),
+ `unexpected token`,
+);
+
+// ./test/core/func.wast:580
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (func (result i32) (type $$sig) (param i32) (i32.const 0)) `),
+ `unexpected token`,
+);
+
+// ./test/core/func.wast:587
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (func (result i32) (param i32) (type $$sig) (i32.const 0)) `),
+ `unexpected token`,
+);
+
+// ./test/core/func.wast:594
+assert_malformed(
+ () => instantiate(`(func (result i32) (param i32) (i32.const 0)) `),
+ `unexpected token`,
+);
+
+// ./test/core/func.wast:601
+assert_malformed(
+ () => instantiate(`(type $$sig (func)) (func (type $$sig) (result i32) (i32.const 0)) `),
+ `inline function type`,
+);
+
+// ./test/core/func.wast:608
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (func (type $$sig) (result i32) (i32.const 0)) `),
+ `inline function type`,
+);
+
+// ./test/core/func.wast:615
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (func (type $$sig) (param i32) (i32.const 0)) `),
+ `inline function type`,
+);
+
+// ./test/core/func.wast:622
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32 i32) (result i32))) (func (type $$sig) (param i32) (result i32) (unreachable)) `),
+ `inline function type`,
+);
+
+// ./test/core/func.wast:633
+assert_invalid(
+ () => instantiate(`(module (func $$type-local-num-vs-num (result i64) (local i32) (local.get 0)))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:637
+assert_invalid(
+ () => instantiate(`(module (func $$type-local-num-vs-num (local f32) (i32.eqz (local.get 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:641
+assert_invalid(
+ () => instantiate(`(module (func $$type-local-num-vs-num (local f64 i64) (f64.neg (local.get 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:649
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-num-vs-num (param i32) (result i64) (local.get 0)))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:653
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-num-vs-num (param f32) (i32.eqz (local.get 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:657
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-num-vs-num (param f64 i64) (f64.neg (local.get 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:665
+assert_invalid(
+ () => instantiate(`(module (func $$type-empty-i32 (result i32)))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:669
+assert_invalid(
+ () => instantiate(`(module (func $$type-empty-i64 (result i64)))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:673
+assert_invalid(
+ () => instantiate(`(module (func $$type-empty-f32 (result f32)))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:677
+assert_invalid(
+ () => instantiate(`(module (func $$type-empty-f64 (result f64)))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:681
+assert_invalid(
+ () => instantiate(`(module (func $$type-empty-f64-i32 (result f64 i32)))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:686
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-void-vs-num (result i32)
+ (nop)
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:692
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-void-vs-nums (result i32 i32)
+ (nop)
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:698
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-num-vs-void
+ (i32.const 0)
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:704
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-nums-vs-void
+ (i32.const 0) (i64.const 0)
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:710
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-num-vs-num (result i32)
+ (f32.const 0)
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:716
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-num-vs-nums (result f32 f32)
+ (f32.const 0)
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:722
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-nums-vs-num (result f32)
+ (f32.const 0) (f32.const 0)
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:729
+assert_invalid(
+ () => instantiate(`(module (func $$type-return-last-empty-vs-num (result i32)
+ (return)
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:735
+assert_invalid(
+ () => instantiate(`(module (func $$type-return-last-empty-vs-nums (result i32 i32)
+ (return)
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:741
+assert_invalid(
+ () => instantiate(`(module (func $$type-return-last-void-vs-num (result i32)
+ (return (nop))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:747
+assert_invalid(
+ () => instantiate(`(module (func $$type-return-last-void-vs-nums (result i32 i64)
+ (return (nop))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:753
+assert_invalid(
+ () => instantiate(`(module (func $$type-return-last-num-vs-num (result i32)
+ (return (i64.const 0))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:759
+assert_invalid(
+ () => instantiate(`(module (func $$type-return-last-num-vs-nums (result i64 i64)
+ (return (i64.const 0))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:766
+assert_invalid(
+ () => instantiate(`(module (func $$type-return-empty-vs-num (result i32)
+ (return) (i32.const 1)
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:772
+assert_invalid(
+ () => instantiate(`(module (func $$type-return-empty-vs-nums (result i32 i32)
+ (return) (i32.const 1) (i32.const 2)
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:778
+assert_invalid(
+ () => instantiate(`(module (func $$type-return-partial-vs-nums (result i32 i32)
+ (i32.const 1) (return) (i32.const 2)
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:784
+assert_invalid(
+ () => instantiate(`(module (func $$type-return-void-vs-num (result i32)
+ (return (nop)) (i32.const 1)
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:790
+assert_invalid(
+ () => instantiate(`(module (func $$type-return-void-vs-nums (result i32 i32)
+ (return (nop)) (i32.const 1)
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:796
+assert_invalid(
+ () => instantiate(`(module (func $$type-return-num-vs-num (result i32)
+ (return (i64.const 1)) (i32.const 1)
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:802
+assert_invalid(
+ () => instantiate(`(module (func $$type-return-num-vs-nums (result i32 i32)
+ (return (i64.const 1)) (i32.const 1) (i32.const 2)
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:808
+assert_invalid(
+ () => instantiate(`(module (func $$type-return-first-num-vs-num (result i32)
+ (return (i64.const 1)) (return (i32.const 1))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:814
+assert_invalid(
+ () => instantiate(`(module (func $$type-return-first-num-vs-nums (result i32 i32)
+ (return (i32.const 1)) (return (i32.const 1) (i32.const 2))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:821
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-last-void-vs-num (result i32)
+ (br 0)
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:827
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-last-void-vs-nums (result i32 i32)
+ (br 0)
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:833
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-last-num-vs-num (result i32)
+ (br 0 (f32.const 0))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:839
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-last-num-vs-nums (result i32 i32)
+ (br 0 (i32.const 0))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:845
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-void-vs-num (result i32)
+ (br 0) (i32.const 1)
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:851
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-void-vs-nums (result i32 i32)
+ (br 0) (i32.const 1) (i32.const 2)
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:857
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-num-vs-num (result i32)
+ (br 0 (i64.const 1)) (i32.const 1)
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:863
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-num-vs-nums (result i32 i32)
+ (br 0 (i32.const 1)) (i32.const 1) (i32.const 2)
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:869
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-first-num-vs-num (result i32)
+ (br 0 (i64.const 1)) (br 0 (i32.const 1))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:876
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-nested-empty-vs-num (result i32)
+ (block (br 1)) (br 0 (i32.const 1))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:882
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-nested-empty-vs-nums (result i32 i32)
+ (block (br 1)) (br 0 (i32.const 1) (i32.const 2))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:888
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-nested-void-vs-num (result i32)
+ (block (br 1 (nop))) (br 0 (i32.const 1))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:894
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-nested-void-vs-nums (result i32 i32)
+ (block (br 1 (nop))) (br 0 (i32.const 1) (i32.const 2))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:900
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-nested-num-vs-num (result i32)
+ (block (br 1 (i64.const 1))) (br 0 (i32.const 1))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:906
+assert_invalid(
+ () => instantiate(`(module (func $$type-break-nested-num-vs-nums (result i32 i32)
+ (block (result i32) (br 1 (i32.const 1))) (br 0 (i32.const 1) (i32.const 2))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/func.wast:916
+assert_malformed(() => instantiate(`(func (nop) (local i32)) `), `unexpected token`);
+
+// ./test/core/func.wast:920
+assert_malformed(() => instantiate(`(func (nop) (param i32)) `), `unexpected token`);
+
+// ./test/core/func.wast:924
+assert_malformed(() => instantiate(`(func (nop) (result i32)) `), `unexpected token`);
+
+// ./test/core/func.wast:928
+assert_malformed(() => instantiate(`(func (local i32) (param i32)) `), `unexpected token`);
+
+// ./test/core/func.wast:932
+assert_malformed(
+ () => instantiate(`(func (local i32) (result i32) (local.get 0)) `),
+ `unexpected token`,
+);
+
+// ./test/core/func.wast:936
+assert_malformed(
+ () => instantiate(`(func (result i32) (param i32) (local.get 0)) `),
+ `unexpected token`,
+);
+
+// ./test/core/func.wast:943
+assert_malformed(() => instantiate(`(func $$foo) (func $$foo) `), `duplicate func`);
+
+// ./test/core/func.wast:947
+assert_malformed(
+ () => instantiate(`(import "" "" (func $$foo)) (func $$foo) `),
+ `duplicate func`,
+);
+
+// ./test/core/func.wast:951
+assert_malformed(
+ () => instantiate(`(import "" "" (func $$foo)) (import "" "" (func $$foo)) `),
+ `duplicate func`,
+);
+
+// ./test/core/func.wast:956
+assert_malformed(
+ () => instantiate(`(func (param $$foo i32) (param $$foo i32)) `),
+ `duplicate local`,
+);
+
+// ./test/core/func.wast:958
+assert_malformed(
+ () => instantiate(`(func (param $$foo i32) (local $$foo i32)) `),
+ `duplicate local`,
+);
+
+// ./test/core/func.wast:960
+assert_malformed(
+ () => instantiate(`(func (local $$foo i32) (local $$foo i32)) `),
+ `duplicate local`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/func_ptrs.wast.js b/js/src/jit-test/tests/wasm/spec/spec/func_ptrs.wast.js
new file mode 100644
index 0000000000..b2a46e861e
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/func_ptrs.wast.js
@@ -0,0 +1,191 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/func_ptrs.wast
+
+// ./test/core/func_ptrs.wast:1
+let $0 = instantiate(`(module
+ (type (func)) ;; 0: void -> void
+ (type $$S (func)) ;; 1: void -> void
+ (type (func (param))) ;; 2: void -> void
+ (type (func (result i32))) ;; 3: void -> i32
+ (type (func (param) (result i32))) ;; 4: void -> i32
+ (type $$T (func (param i32) (result i32))) ;; 5: i32 -> i32
+ (type $$U (func (param i32))) ;; 6: i32 -> void
+
+ (func $$print (import "spectest" "print_i32") (type 6))
+
+ (func (type 0))
+ (func (type $$S))
+
+ (func (export "one") (type 4) (i32.const 13))
+ (func (export "two") (type $$T) (i32.add (local.get 0) (i32.const 1)))
+
+ ;; Both signature and parameters are allowed (and required to match)
+ ;; since this allows the naming of parameters.
+ (func (export "three") (type $$T) (param $$a i32) (result i32)
+ (i32.sub (local.get 0) (i32.const 2))
+ )
+
+ (func (export "four") (type $$U) (call $$print (local.get 0)))
+)`);
+
+// ./test/core/func_ptrs.wast:27
+assert_return(() => invoke($0, `one`, []), [value("i32", 13)]);
+
+// ./test/core/func_ptrs.wast:28
+assert_return(() => invoke($0, `two`, [13]), [value("i32", 14)]);
+
+// ./test/core/func_ptrs.wast:29
+assert_return(() => invoke($0, `three`, [13]), [value("i32", 11)]);
+
+// ./test/core/func_ptrs.wast:30
+invoke($0, `four`, [83]);
+
+// ./test/core/func_ptrs.wast:32
+assert_invalid(() => instantiate(`(module (elem (i32.const 0)))`), `unknown table`);
+
+// ./test/core/func_ptrs.wast:33
+assert_invalid(
+ () => instantiate(`(module (elem (i32.const 0) 0) (func))`),
+ `unknown table`,
+);
+
+// ./test/core/func_ptrs.wast:35
+assert_invalid(
+ () => instantiate(`(module (table 1 funcref) (elem (i64.const 0)))`),
+ `type mismatch`,
+);
+
+// ./test/core/func_ptrs.wast:39
+assert_invalid(
+ () => instantiate(`(module (table 1 funcref) (elem (i32.ctz (i32.const 0))))`),
+ `constant expression required`,
+);
+
+// ./test/core/func_ptrs.wast:43
+assert_invalid(
+ () => instantiate(`(module (table 1 funcref) (elem (nop)))`),
+ `constant expression required`,
+);
+
+// ./test/core/func_ptrs.wast:48
+assert_invalid(() => instantiate(`(module (func (type 42)))`), `unknown type`);
+
+// ./test/core/func_ptrs.wast:49
+assert_invalid(
+ () => instantiate(`(module (import "spectest" "print_i32" (func (type 43))))`),
+ `unknown type`,
+);
+
+// ./test/core/func_ptrs.wast:51
+let $1 = instantiate(`(module
+ (type $$T (func (param) (result i32)))
+ (type $$U (func (param) (result i32)))
+ (table funcref (elem $$t1 $$t2 $$t3 $$u1 $$u2 $$t1 $$t3))
+
+ (func $$t1 (type $$T) (i32.const 1))
+ (func $$t2 (type $$T) (i32.const 2))
+ (func $$t3 (type $$T) (i32.const 3))
+ (func $$u1 (type $$U) (i32.const 4))
+ (func $$u2 (type $$U) (i32.const 5))
+
+ (func (export "callt") (param $$i i32) (result i32)
+ (call_indirect (type $$T) (local.get $$i))
+ )
+
+ (func (export "callu") (param $$i i32) (result i32)
+ (call_indirect (type $$U) (local.get $$i))
+ )
+)`);
+
+// ./test/core/func_ptrs.wast:71
+assert_return(() => invoke($1, `callt`, [0]), [value("i32", 1)]);
+
+// ./test/core/func_ptrs.wast:72
+assert_return(() => invoke($1, `callt`, [1]), [value("i32", 2)]);
+
+// ./test/core/func_ptrs.wast:73
+assert_return(() => invoke($1, `callt`, [2]), [value("i32", 3)]);
+
+// ./test/core/func_ptrs.wast:74
+assert_return(() => invoke($1, `callt`, [3]), [value("i32", 4)]);
+
+// ./test/core/func_ptrs.wast:75
+assert_return(() => invoke($1, `callt`, [4]), [value("i32", 5)]);
+
+// ./test/core/func_ptrs.wast:76
+assert_return(() => invoke($1, `callt`, [5]), [value("i32", 1)]);
+
+// ./test/core/func_ptrs.wast:77
+assert_return(() => invoke($1, `callt`, [6]), [value("i32", 3)]);
+
+// ./test/core/func_ptrs.wast:78
+assert_trap(() => invoke($1, `callt`, [7]), `undefined element`);
+
+// ./test/core/func_ptrs.wast:79
+assert_trap(() => invoke($1, `callt`, [100]), `undefined element`);
+
+// ./test/core/func_ptrs.wast:80
+assert_trap(() => invoke($1, `callt`, [-1]), `undefined element`);
+
+// ./test/core/func_ptrs.wast:82
+assert_return(() => invoke($1, `callu`, [0]), [value("i32", 1)]);
+
+// ./test/core/func_ptrs.wast:83
+assert_return(() => invoke($1, `callu`, [1]), [value("i32", 2)]);
+
+// ./test/core/func_ptrs.wast:84
+assert_return(() => invoke($1, `callu`, [2]), [value("i32", 3)]);
+
+// ./test/core/func_ptrs.wast:85
+assert_return(() => invoke($1, `callu`, [3]), [value("i32", 4)]);
+
+// ./test/core/func_ptrs.wast:86
+assert_return(() => invoke($1, `callu`, [4]), [value("i32", 5)]);
+
+// ./test/core/func_ptrs.wast:87
+assert_return(() => invoke($1, `callu`, [5]), [value("i32", 1)]);
+
+// ./test/core/func_ptrs.wast:88
+assert_return(() => invoke($1, `callu`, [6]), [value("i32", 3)]);
+
+// ./test/core/func_ptrs.wast:89
+assert_trap(() => invoke($1, `callu`, [7]), `undefined element`);
+
+// ./test/core/func_ptrs.wast:90
+assert_trap(() => invoke($1, `callu`, [100]), `undefined element`);
+
+// ./test/core/func_ptrs.wast:91
+assert_trap(() => invoke($1, `callu`, [-1]), `undefined element`);
+
+// ./test/core/func_ptrs.wast:93
+let $2 = instantiate(`(module
+ (type $$T (func (result i32)))
+ (table funcref (elem 0 1))
+
+ (func $$t1 (type $$T) (i32.const 1))
+ (func $$t2 (type $$T) (i32.const 2))
+
+ (func (export "callt") (param $$i i32) (result i32)
+ (call_indirect (type $$T) (local.get $$i))
+ )
+)`);
+
+// ./test/core/func_ptrs.wast:105
+assert_return(() => invoke($2, `callt`, [0]), [value("i32", 1)]);
+
+// ./test/core/func_ptrs.wast:106
+assert_return(() => invoke($2, `callt`, [1]), [value("i32", 2)]);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/global.wast.js b/js/src/jit-test/tests/wasm/spec/spec/global.wast.js
new file mode 100644
index 0000000000..e3351d3421
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/global.wast.js
@@ -0,0 +1,809 @@
+// |jit-test| --no-wasm-gc
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/global.wast
+
+// ./test/core/global.wast:3
+let $0 = instantiate(`(module
+ (global (import "spectest" "global_i32") i32)
+ (global (import "spectest" "global_i64") i64)
+
+ (global $$a i32 (i32.const -2))
+ (global (;3;) f32 (f32.const -3))
+ (global (;4;) f64 (f64.const -4))
+ (global $$b i64 (i64.const -5))
+
+ (global $$x (mut i32) (i32.const -12))
+ (global (;7;) (mut f32) (f32.const -13))
+ (global (;8;) (mut f64) (f64.const -14))
+ (global $$y (mut i64) (i64.const -15))
+
+ (global $$z1 i32 (global.get 0))
+ (global $$z2 i64 (global.get 1))
+
+ (global $$r externref (ref.null extern))
+ (global $$mr (mut externref) (ref.null extern))
+ (global funcref (ref.null func))
+
+ (func (export "get-a") (result i32) (global.get $$a))
+ (func (export "get-b") (result i64) (global.get $$b))
+ (func (export "get-r") (result externref) (global.get $$r))
+ (func (export "get-mr") (result externref) (global.get $$mr))
+ (func (export "get-x") (result i32) (global.get $$x))
+ (func (export "get-y") (result i64) (global.get $$y))
+ (func (export "get-z1") (result i32) (global.get $$z1))
+ (func (export "get-z2") (result i64) (global.get $$z2))
+ (func (export "set-x") (param i32) (global.set $$x (local.get 0)))
+ (func (export "set-y") (param i64) (global.set $$y (local.get 0)))
+ (func (export "set-mr") (param externref) (global.set $$mr (local.get 0)))
+
+ (func (export "get-3") (result f32) (global.get 3))
+ (func (export "get-4") (result f64) (global.get 4))
+ (func (export "get-7") (result f32) (global.get 7))
+ (func (export "get-8") (result f64) (global.get 8))
+ (func (export "set-7") (param f32) (global.set 7 (local.get 0)))
+ (func (export "set-8") (param f64) (global.set 8 (local.get 0)))
+
+ ;; As the argument of control constructs and instructions
+
+ (memory 1)
+
+ (func $$dummy)
+
+ (func (export "as-select-first") (result i32)
+ (select (global.get $$x) (i32.const 2) (i32.const 3))
+ )
+ (func (export "as-select-mid") (result i32)
+ (select (i32.const 2) (global.get $$x) (i32.const 3))
+ )
+ (func (export "as-select-last") (result i32)
+ (select (i32.const 2) (i32.const 3) (global.get $$x))
+ )
+
+ (func (export "as-loop-first") (result i32)
+ (loop (result i32)
+ (global.get $$x) (call $$dummy) (call $$dummy)
+ )
+ )
+ (func (export "as-loop-mid") (result i32)
+ (loop (result i32)
+ (call $$dummy) (global.get $$x) (call $$dummy)
+ )
+ )
+ (func (export "as-loop-last") (result i32)
+ (loop (result i32)
+ (call $$dummy) (call $$dummy) (global.get $$x)
+ )
+ )
+
+ (func (export "as-if-condition") (result i32)
+ (if (result i32) (global.get $$x)
+ (then (call $$dummy) (i32.const 2))
+ (else (call $$dummy) (i32.const 3))
+ )
+ )
+ (func (export "as-if-then") (result i32)
+ (if (result i32) (i32.const 1)
+ (then (global.get $$x)) (else (i32.const 2))
+ )
+ )
+ (func (export "as-if-else") (result i32)
+ (if (result i32) (i32.const 0)
+ (then (i32.const 2)) (else (global.get $$x))
+ )
+ )
+
+ (func (export "as-br_if-first") (result i32)
+ (block (result i32)
+ (br_if 0 (global.get $$x) (i32.const 2))
+ (return (i32.const 3))
+ )
+ )
+ (func (export "as-br_if-last") (result i32)
+ (block (result i32)
+ (br_if 0 (i32.const 2) (global.get $$x))
+ (return (i32.const 3))
+ )
+ )
+
+ (func (export "as-br_table-first") (result i32)
+ (block (result i32)
+ (global.get $$x) (i32.const 2) (br_table 0 0)
+ )
+ )
+ (func (export "as-br_table-last") (result i32)
+ (block (result i32)
+ (i32.const 2) (global.get $$x) (br_table 0 0)
+ )
+ )
+
+ (func $$func (param i32 i32) (result i32) (local.get 0))
+ (type $$check (func (param i32 i32) (result i32)))
+ (table funcref (elem $$func))
+ (func (export "as-call_indirect-first") (result i32)
+ (block (result i32)
+ (call_indirect (type $$check)
+ (global.get $$x) (i32.const 2) (i32.const 0)
+ )
+ )
+ )
+ (func (export "as-call_indirect-mid") (result i32)
+ (block (result i32)
+ (call_indirect (type $$check)
+ (i32.const 2) (global.get $$x) (i32.const 0)
+ )
+ )
+ )
+ (func (export "as-call_indirect-last") (result i32)
+ (block (result i32)
+ (call_indirect (type $$check)
+ (i32.const 2) (i32.const 0) (global.get $$x)
+ )
+ )
+ )
+
+ (func (export "as-store-first")
+ (global.get $$x) (i32.const 1) (i32.store)
+ )
+ (func (export "as-store-last")
+ (i32.const 0) (global.get $$x) (i32.store)
+ )
+ (func (export "as-load-operand") (result i32)
+ (i32.load (global.get $$x))
+ )
+ (func (export "as-memory.grow-value") (result i32)
+ (memory.grow (global.get $$x))
+ )
+
+ (func $$f (param i32) (result i32) (local.get 0))
+ (func (export "as-call-value") (result i32)
+ (call $$f (global.get $$x))
+ )
+
+ (func (export "as-return-value") (result i32)
+ (global.get $$x) (return)
+ )
+ (func (export "as-drop-operand")
+ (drop (global.get $$x))
+ )
+ (func (export "as-br-value") (result i32)
+ (block (result i32) (br 0 (global.get $$x)))
+ )
+
+ (func (export "as-local.set-value") (param i32) (result i32)
+ (local.set 0 (global.get $$x))
+ (local.get 0)
+ )
+ (func (export "as-local.tee-value") (param i32) (result i32)
+ (local.tee 0 (global.get $$x))
+ )
+ (func (export "as-global.set-value") (result i32)
+ (global.set $$x (global.get $$x))
+ (global.get $$x)
+ )
+
+ (func (export "as-unary-operand") (result i32)
+ (i32.eqz (global.get $$x))
+ )
+ (func (export "as-binary-operand") (result i32)
+ (i32.mul
+ (global.get $$x) (global.get $$x)
+ )
+ )
+ (func (export "as-compare-operand") (result i32)
+ (i32.gt_u
+ (global.get 0) (i32.const 1)
+ )
+ )
+)`);
+
+// ./test/core/global.wast:196
+assert_return(() => invoke($0, `get-a`, []), [value("i32", -2)]);
+
+// ./test/core/global.wast:197
+assert_return(() => invoke($0, `get-b`, []), [value("i64", -5n)]);
+
+// ./test/core/global.wast:198
+assert_return(() => invoke($0, `get-r`, []), [value('externref', null)]);
+
+// ./test/core/global.wast:199
+assert_return(() => invoke($0, `get-mr`, []), [value('externref', null)]);
+
+// ./test/core/global.wast:200
+assert_return(() => invoke($0, `get-x`, []), [value("i32", -12)]);
+
+// ./test/core/global.wast:201
+assert_return(() => invoke($0, `get-y`, []), [value("i64", -15n)]);
+
+// ./test/core/global.wast:202
+assert_return(() => invoke($0, `get-z1`, []), [value("i32", 666)]);
+
+// ./test/core/global.wast:203
+assert_return(() => invoke($0, `get-z2`, []), [value("i64", 666n)]);
+
+// ./test/core/global.wast:205
+assert_return(() => invoke($0, `get-3`, []), [value("f32", -3)]);
+
+// ./test/core/global.wast:206
+assert_return(() => invoke($0, `get-4`, []), [value("f64", -4)]);
+
+// ./test/core/global.wast:207
+assert_return(() => invoke($0, `get-7`, []), [value("f32", -13)]);
+
+// ./test/core/global.wast:208
+assert_return(() => invoke($0, `get-8`, []), [value("f64", -14)]);
+
+// ./test/core/global.wast:210
+assert_return(() => invoke($0, `set-x`, [6]), []);
+
+// ./test/core/global.wast:211
+assert_return(() => invoke($0, `set-y`, [7n]), []);
+
+// ./test/core/global.wast:213
+assert_return(() => invoke($0, `set-7`, [value("f32", 8)]), []);
+
+// ./test/core/global.wast:214
+assert_return(() => invoke($0, `set-8`, [value("f64", 9)]), []);
+
+// ./test/core/global.wast:216
+assert_return(() => invoke($0, `get-x`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:217
+assert_return(() => invoke($0, `get-y`, []), [value("i64", 7n)]);
+
+// ./test/core/global.wast:218
+assert_return(() => invoke($0, `get-7`, []), [value("f32", 8)]);
+
+// ./test/core/global.wast:219
+assert_return(() => invoke($0, `get-8`, []), [value("f64", 9)]);
+
+// ./test/core/global.wast:221
+assert_return(() => invoke($0, `set-7`, [value("f32", 8)]), []);
+
+// ./test/core/global.wast:222
+assert_return(() => invoke($0, `set-8`, [value("f64", 9)]), []);
+
+// ./test/core/global.wast:223
+assert_return(() => invoke($0, `set-mr`, [externref(10)]), []);
+
+// ./test/core/global.wast:225
+assert_return(() => invoke($0, `get-x`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:226
+assert_return(() => invoke($0, `get-y`, []), [value("i64", 7n)]);
+
+// ./test/core/global.wast:227
+assert_return(() => invoke($0, `get-7`, []), [value("f32", 8)]);
+
+// ./test/core/global.wast:228
+assert_return(() => invoke($0, `get-8`, []), [value("f64", 9)]);
+
+// ./test/core/global.wast:229
+assert_return(() => invoke($0, `get-mr`, []), [new ExternRefResult(10)]);
+
+// ./test/core/global.wast:231
+assert_return(() => invoke($0, `as-select-first`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:232
+assert_return(() => invoke($0, `as-select-mid`, []), [value("i32", 2)]);
+
+// ./test/core/global.wast:233
+assert_return(() => invoke($0, `as-select-last`, []), [value("i32", 2)]);
+
+// ./test/core/global.wast:235
+assert_return(() => invoke($0, `as-loop-first`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:236
+assert_return(() => invoke($0, `as-loop-mid`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:237
+assert_return(() => invoke($0, `as-loop-last`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:239
+assert_return(() => invoke($0, `as-if-condition`, []), [value("i32", 2)]);
+
+// ./test/core/global.wast:240
+assert_return(() => invoke($0, `as-if-then`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:241
+assert_return(() => invoke($0, `as-if-else`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:243
+assert_return(() => invoke($0, `as-br_if-first`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:244
+assert_return(() => invoke($0, `as-br_if-last`, []), [value("i32", 2)]);
+
+// ./test/core/global.wast:246
+assert_return(() => invoke($0, `as-br_table-first`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:247
+assert_return(() => invoke($0, `as-br_table-last`, []), [value("i32", 2)]);
+
+// ./test/core/global.wast:249
+assert_return(() => invoke($0, `as-call_indirect-first`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:250
+assert_return(() => invoke($0, `as-call_indirect-mid`, []), [value("i32", 2)]);
+
+// ./test/core/global.wast:251
+assert_trap(() => invoke($0, `as-call_indirect-last`, []), `undefined element`);
+
+// ./test/core/global.wast:253
+assert_return(() => invoke($0, `as-store-first`, []), []);
+
+// ./test/core/global.wast:254
+assert_return(() => invoke($0, `as-store-last`, []), []);
+
+// ./test/core/global.wast:255
+assert_return(() => invoke($0, `as-load-operand`, []), [value("i32", 1)]);
+
+// ./test/core/global.wast:256
+assert_return(() => invoke($0, `as-memory.grow-value`, []), [value("i32", 1)]);
+
+// ./test/core/global.wast:258
+assert_return(() => invoke($0, `as-call-value`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:260
+assert_return(() => invoke($0, `as-return-value`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:261
+assert_return(() => invoke($0, `as-drop-operand`, []), []);
+
+// ./test/core/global.wast:262
+assert_return(() => invoke($0, `as-br-value`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:264
+assert_return(() => invoke($0, `as-local.set-value`, [1]), [value("i32", 6)]);
+
+// ./test/core/global.wast:265
+assert_return(() => invoke($0, `as-local.tee-value`, [1]), [value("i32", 6)]);
+
+// ./test/core/global.wast:266
+assert_return(() => invoke($0, `as-global.set-value`, []), [value("i32", 6)]);
+
+// ./test/core/global.wast:268
+assert_return(() => invoke($0, `as-unary-operand`, []), [value("i32", 0)]);
+
+// ./test/core/global.wast:269
+assert_return(() => invoke($0, `as-binary-operand`, []), [value("i32", 36)]);
+
+// ./test/core/global.wast:270
+assert_return(() => invoke($0, `as-compare-operand`, []), [value("i32", 1)]);
+
+// ./test/core/global.wast:272
+assert_invalid(
+ () => instantiate(`(module (global f32 (f32.const 0)) (func (global.set 0 (f32.const 1))))`),
+ `global is immutable`,
+);
+
+// ./test/core/global.wast:277
+assert_invalid(
+ () => instantiate(`(module (import "spectest" "global_i32" (global i32)) (func (global.set 0 (i32.const 1))))`),
+ `global is immutable`,
+);
+
+// ./test/core/global.wast:283
+let $1 = instantiate(`(module (global (mut f32) (f32.const 0)) (export "a" (global 0)))`);
+
+// ./test/core/global.wast:284
+let $2 = instantiate(`(module (global (export "a") (mut f32) (f32.const 0)))`);
+
+// ./test/core/global.wast:286
+assert_invalid(
+ () => instantiate(`(module (global f32 (f32.neg (f32.const 0))))`),
+ `constant expression required`,
+);
+
+// ./test/core/global.wast:291
+assert_invalid(
+ () => instantiate(`(module (global f32 (local.get 0)))`),
+ `constant expression required`,
+);
+
+// ./test/core/global.wast:296
+assert_invalid(
+ () => instantiate(`(module (global f32 (f32.neg (f32.const 1))))`),
+ `constant expression required`,
+);
+
+// ./test/core/global.wast:301
+assert_invalid(
+ () => instantiate(`(module (global i32 (i32.const 0) (nop)))`),
+ `constant expression required`,
+);
+
+// ./test/core/global.wast:306
+assert_invalid(
+ () => instantiate(`(module (global i32 (i32.ctz (i32.const 0))))`),
+ `constant expression required`,
+);
+
+// ./test/core/global.wast:311
+assert_invalid(
+ () => instantiate(`(module (global i32 (nop)))`),
+ `constant expression required`,
+);
+
+// ./test/core/global.wast:316
+assert_invalid(() => instantiate(`(module (global i32 (f32.const 0)))`), `type mismatch`);
+
+// ./test/core/global.wast:321
+assert_invalid(
+ () => instantiate(`(module (global i32 (i32.const 0) (i32.const 0)))`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:326
+assert_invalid(
+ () => instantiate(`(module (global i32 (;empty instruction sequence;)))`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:331
+assert_invalid(
+ () => instantiate(`(module (global (import "" "") externref) (global funcref (global.get 0)))`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:336
+assert_invalid(
+ () => instantiate(`(module (global (import "test" "global-i32") i32) (global i32 (global.get 0) (global.get 0)))`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:341
+assert_invalid(
+ () => instantiate(`(module (global (import "test" "global-i32") i32) (global i32 (i32.const 0) (global.get 0)))`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:346
+assert_invalid(
+ () => instantiate(`(module (global i32 (global.get 0)))`),
+ `unknown global`,
+);
+
+// ./test/core/global.wast:351
+assert_invalid(
+ () => instantiate(`(module (global i32 (i32.const 0)) (global i32 (global.get 0)))`),
+ `unknown global`,
+);
+
+// ./test/core/global.wast:355
+assert_invalid(
+ () => instantiate(`(module (global $$g i32 (i32.const 0)) (global i32 (global.get $$g)))`),
+ `unknown global`,
+);
+
+// ./test/core/global.wast:360
+assert_invalid(
+ () => instantiate(`(module (global i32 (global.get 1)) (global i32 (i32.const 0)))`),
+ `unknown global`,
+);
+
+// ./test/core/global.wast:365
+assert_invalid(
+ () => instantiate(`(module (global (import "test" "global-i32") i32) (global i32 (global.get 2)))`),
+ `unknown global`,
+);
+
+// ./test/core/global.wast:370
+assert_invalid(
+ () => instantiate(`(module (global (import "test" "global-mut-i32") (mut i32)) (global i32 (global.get 0)))`),
+ `constant expression required`,
+);
+
+// ./test/core/global.wast:375
+let $3 = instantiate(`(module
+ (import "spectest" "global_i32" (global i32))
+)`);
+
+// ./test/core/global.wast:378
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\98\\80\\80\\80\\00" ;; import section
+ "\\01" ;; length 1
+ "\\08\\73\\70\\65\\63\\74\\65\\73\\74" ;; "spectest"
+ "\\0a\\67\\6c\\6f\\62\\61\\6c\\5f\\69\\33\\32" ;; "global_i32"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\02" ;; malformed mutability
+ )`),
+ `malformed mutability`,
+);
+
+// ./test/core/global.wast:391
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\98\\80\\80\\80\\00" ;; import section
+ "\\01" ;; length 1
+ "\\08\\73\\70\\65\\63\\74\\65\\73\\74" ;; "spectest"
+ "\\0a\\67\\6c\\6f\\62\\61\\6c\\5f\\69\\33\\32" ;; "global_i32"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\ff" ;; malformed mutability
+ )`),
+ `malformed mutability`,
+);
+
+// ./test/core/global.wast:405
+let $4 = instantiate(`(module
+ (global i32 (i32.const 0))
+)`);
+
+// ./test/core/global.wast:408
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\06\\86\\80\\80\\80\\00" ;; global section
+ "\\01" ;; length 1
+ "\\7f" ;; i32
+ "\\02" ;; malformed mutability
+ "\\41\\00" ;; i32.const 0
+ "\\0b" ;; end
+ )`),
+ `malformed mutability`,
+);
+
+// ./test/core/global.wast:420
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\06\\86\\80\\80\\80\\00" ;; global section
+ "\\01" ;; length 1
+ "\\7f" ;; i32
+ "\\ff" ;; malformed mutability
+ "\\41\\00" ;; i32.const 0
+ "\\0b" ;; end
+ )`),
+ `malformed mutability`,
+);
+
+// ./test/core/global.wast:434
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (global.get 0)))`),
+ `unknown global`,
+);
+
+// ./test/core/global.wast:439
+assert_invalid(
+ () => instantiate(`(module
+ (global i32 (i32.const 0))
+ (func (result i32) (global.get 1))
+ )`),
+ `unknown global`,
+);
+
+// ./test/core/global.wast:447
+assert_invalid(
+ () => instantiate(`(module
+ (import "spectest" "global_i32" (global i32))
+ (func (result i32) (global.get 1))
+ )`),
+ `unknown global`,
+);
+
+// ./test/core/global.wast:455
+assert_invalid(
+ () => instantiate(`(module
+ (import "spectest" "global_i32" (global i32))
+ (global i32 (i32.const 0))
+ (func (result i32) (global.get 2))
+ )`),
+ `unknown global`,
+);
+
+// ./test/core/global.wast:465
+assert_invalid(
+ () => instantiate(`(module (func (i32.const 0) (global.set 0)))`),
+ `unknown global`,
+);
+
+// ./test/core/global.wast:470
+assert_invalid(
+ () => instantiate(`(module
+ (global i32 (i32.const 0))
+ (func (i32.const 0) (global.set 1))
+ )`),
+ `unknown global`,
+);
+
+// ./test/core/global.wast:478
+assert_invalid(
+ () => instantiate(`(module
+ (import "spectest" "global_i32" (global i32))
+ (func (i32.const 0) (global.set 1))
+ )`),
+ `unknown global`,
+);
+
+// ./test/core/global.wast:486
+assert_invalid(
+ () => instantiate(`(module
+ (import "spectest" "global_i32" (global i32))
+ (global i32 (i32.const 0))
+ (func (i32.const 0) (global.set 2))
+ )`),
+ `unknown global`,
+);
+
+// ./test/core/global.wast:496
+assert_invalid(
+ () => instantiate(`(module
+ (global $$x (mut i32) (i32.const 0))
+ (func $$type-global.set-value-empty
+ (global.set $$x)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:505
+assert_invalid(
+ () => instantiate(`(module
+ (global $$x (mut i32) (i32.const 0))
+ (func $$type-global.set-value-empty-in-block
+ (i32.const 0)
+ (block (global.set $$x))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:515
+assert_invalid(
+ () => instantiate(`(module
+ (global $$x (mut i32) (i32.const 0))
+ (func $$type-global.set-value-empty-in-loop
+ (i32.const 0)
+ (loop (global.set $$x))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:525
+assert_invalid(
+ () => instantiate(`(module
+ (global $$x (mut i32) (i32.const 0))
+ (func $$type-global.set-value-empty-in-then
+ (i32.const 0) (i32.const 0)
+ (if (then (global.set $$x)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:535
+assert_invalid(
+ () => instantiate(`(module
+ (global $$x (mut i32) (i32.const 0))
+ (func $$type-global.set-value-empty-in-else
+ (i32.const 0) (i32.const 0)
+ (if (result i32) (then (i32.const 0)) (else (global.set $$x)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:545
+assert_invalid(
+ () => instantiate(`(module
+ (global $$x (mut i32) (i32.const 0))
+ (func $$type-global.set-value-empty-in-br
+ (i32.const 0)
+ (block (br 0 (global.set $$x)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:555
+assert_invalid(
+ () => instantiate(`(module
+ (global $$x (mut i32) (i32.const 0))
+ (func $$type-global.set-value-empty-in-br_if
+ (i32.const 0)
+ (block (br_if 0 (global.set $$x)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:565
+assert_invalid(
+ () => instantiate(`(module
+ (global $$x (mut i32) (i32.const 0))
+ (func $$type-global.set-value-empty-in-br_table
+ (i32.const 0)
+ (block (br_table 0 (global.set $$x)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:575
+assert_invalid(
+ () => instantiate(`(module
+ (global $$x (mut i32) (i32.const 0))
+ (func $$type-global.set-value-empty-in-return
+ (return (global.set $$x))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:584
+assert_invalid(
+ () => instantiate(`(module
+ (global $$x (mut i32) (i32.const 0))
+ (func $$type-global.set-value-empty-in-select
+ (select (global.set $$x) (i32.const 1) (i32.const 2))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:593
+assert_invalid(
+ () => instantiate(`(module
+ (global $$x (mut i32) (i32.const 0))
+ (func $$type-global.set-value-empty-in-call
+ (call 1 (global.set $$x))
+ )
+ (func (param i32) (result i32) (local.get 0))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:603
+assert_invalid(
+ () => instantiate(`(module
+ (global $$x (mut i32) (i32.const 0))
+ (func $$f (param i32) (result i32) (local.get 0))
+ (type $$sig (func (param i32) (result i32)))
+ (table funcref (elem $$f))
+ (func $$type-global.set-value-empty-in-call_indirect
+ (block (result i32)
+ (call_indirect (type $$sig)
+ (global.set $$x) (i32.const 0)
+ )
+ )
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/global.wast:622
+assert_malformed(
+ () => instantiate(`(global $$foo i32 (i32.const 0)) (global $$foo i32 (i32.const 0)) `),
+ `duplicate global`,
+);
+
+// ./test/core/global.wast:626
+assert_malformed(
+ () => instantiate(`(import "" "" (global $$foo i32)) (global $$foo i32 (i32.const 0)) `),
+ `duplicate global`,
+);
+
+// ./test/core/global.wast:630
+assert_malformed(
+ () => instantiate(`(import "" "" (global $$foo i32)) (import "" "" (global $$foo i32)) `),
+ `duplicate global`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/harness/directives.txt b/js/src/jit-test/tests/wasm/spec/spec/harness/directives.txt
new file mode 100644
index 0000000000..d41243abbb
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/harness/directives.txt
@@ -0,0 +1 @@
+|jit-test| skip-if: true \ No newline at end of file
diff --git a/js/src/jit-test/tests/wasm/spec/spec/harness/harness.js b/js/src/jit-test/tests/wasm/spec/spec/harness/harness.js
new file mode 100644
index 0000000000..a96781e8ed
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/harness/harness.js
@@ -0,0 +1,448 @@
+"use strict";
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+if (!wasmIsSupported()) {
+ quit();
+}
+
+function bytes(type, bytes) {
+ var typedBuffer = new Uint8Array(bytes);
+ return wasmGlobalFromArrayBuffer(type, typedBuffer.buffer);
+}
+function value(type, value) {
+ return new WebAssembly.Global({
+ value: type,
+ mutable: false,
+ }, value);
+}
+
+function i8x16(elements) {
+ let typedBuffer = new Uint8Array(elements);
+ return wasmGlobalFromArrayBuffer("v128", typedBuffer.buffer);
+}
+function i16x8(elements) {
+ let typedBuffer = new Uint16Array(elements);
+ return wasmGlobalFromArrayBuffer("v128", typedBuffer.buffer);
+}
+function i32x4(elements) {
+ let typedBuffer = new Uint32Array(elements);
+ return wasmGlobalFromArrayBuffer("v128", typedBuffer.buffer);
+}
+function i64x2(elements) {
+ let typedBuffer = new BigUint64Array(elements);
+ return wasmGlobalFromArrayBuffer("v128", typedBuffer.buffer);
+}
+function f32x4(elements) {
+ let typedBuffer = new Float32Array(elements);
+ return wasmGlobalFromArrayBuffer("v128", typedBuffer.buffer);
+}
+function f64x2(elements) {
+ let typedBuffer = new Float64Array(elements);
+ return wasmGlobalFromArrayBuffer("v128", typedBuffer.buffer);
+}
+
+function either(...arr) {
+ return new EitherVariants(arr);
+}
+
+class F32x4Pattern {
+ constructor(x, y, z, w) {
+ this.x = x;
+ this.y = y;
+ this.z = z;
+ this.w = w;
+ }
+}
+
+class F64x2Pattern {
+ constructor(x, y) {
+ this.x = x;
+ this.y = y;
+ }
+}
+
+class RefWithType {
+ constructor(type) {
+ this.type = type;
+ }
+
+ formatExpected() {
+ return `RefWithType(${this.type})`;
+ }
+
+ test(refGlobal) {
+ try {
+ new WebAssembly.Global({value: this.type}, refGlobal.value);
+ return true;
+ } catch (err) {
+ assertEq(err instanceof TypeError, true, `wrong type of error when creating global: ${err}`);
+ assertEq(!!err.message.match(/can only pass/), true, `wrong type of error when creating global: ${err}`);
+ return false;
+ }
+ }
+}
+
+// ref.extern values created by spec tests will be JS objects of the form
+// { [externsym]: <number> }. Other externref values are possible to observe
+// if extern.convert_any is used.
+let externsym = Symbol("externref");
+function externref(s) {
+ return { [externsym]: s };
+}
+function is_externref(x) {
+ return (x !== null && externsym in x) ? 1 : 0;
+}
+function is_funcref(x) {
+ return typeof x === "function" ? 1 : 0;
+}
+function eq_externref(x, y) {
+ return x === y ? 1 : 0;
+}
+function eq_funcref(x, y) {
+ return x === y ? 1 : 0;
+}
+
+class ExternRefResult {
+ constructor(n) {
+ this.n = n;
+ }
+
+ formatExpected() {
+ return `ref.extern ${this.n}`;
+ }
+
+ test(global) {
+ // the global's value can either be an externref or just a plain old JS number
+ let result = global.value;
+ if (typeof global.value === "object" && externsym in global.value) {
+ result = global.value[externsym];
+ }
+ return result === this.n;
+ }
+}
+
+// ref.host values created by spectests will be whatever the JS API does to
+// convert the given value to anyref. It should implicitly be like any.convert_extern.
+function hostref(v) {
+ if (!wasmGcEnabled()) {
+ throw new Error("ref.host only works when wasm GC is enabled");
+ }
+
+ const { internalizeNum } = new WebAssembly.Instance(
+ new WebAssembly.Module(wasmTextToBinary(`(module
+ (func (import "test" "coerce") (param i32) (result anyref))
+ (func (export "internalizeNum") (param i32) (result anyref)
+ (call 0 (local.get 0))
+ )
+ )`)),
+ { "test": { "coerce": x => x } },
+ ).exports;
+ return internalizeNum(v);
+}
+
+class HostRefResult {
+ constructor(n) {
+ this.n = n;
+ }
+
+ formatExpected() {
+ return `ref.host ${this.n}`;
+ }
+
+ test(externrefGlobal) {
+ assertEq(externsym in externrefGlobal.value, true, `HostRefResult only works with externref inputs`);
+ return externrefGlobal.value[externsym] === this.n;
+ }
+}
+
+let spectest = {
+ externref: externref,
+ is_externref: is_externref,
+ is_funcref: is_funcref,
+ eq_externref: eq_externref,
+ eq_funcref: eq_funcref,
+ print: console.log.bind(console),
+ print_i32: console.log.bind(console),
+ print_i32_f32: console.log.bind(console),
+ print_f64_f64: console.log.bind(console),
+ print_f32: console.log.bind(console),
+ print_f64: console.log.bind(console),
+ global_i32: 666,
+ global_i64: 666n,
+ global_f32: 666,
+ global_f64: 666,
+ table: new WebAssembly.Table({
+ initial: 10,
+ maximum: 20,
+ element: "anyfunc",
+ }),
+ memory: new WebAssembly.Memory({ initial: 1, maximum: 2 }),
+};
+
+let linkage = {
+ spectest,
+};
+
+function getInstance(instanceish) {
+ if (typeof instanceish === "string") {
+ assertEq(
+ instanceish in linkage,
+ true,
+ `'${instanceish}'' must be registered`,
+ );
+ return linkage[instanceish];
+ }
+ return instanceish;
+}
+
+function instantiate(source) {
+ let bytecode = wasmTextToBinary(source);
+ let module = new WebAssembly.Module(bytecode);
+ let instance = new WebAssembly.Instance(module, linkage);
+ return instance.exports;
+}
+
+function register(instanceish, name) {
+ linkage[name] = getInstance(instanceish);
+}
+
+function invoke(instanceish, field, params) {
+ let func = getInstance(instanceish)[field];
+ assertEq(func instanceof Function, true, "expected a function");
+ return wasmLosslessInvoke(func, ...params);
+}
+
+function get(instanceish, field) {
+ let global = getInstance(instanceish)[field];
+ assertEq(
+ global instanceof WebAssembly.Global,
+ true,
+ "expected a WebAssembly.Global",
+ );
+ return global;
+}
+
+function assert_trap(thunk, message) {
+ try {
+ thunk();
+ throw new Error("expected trap");
+ } catch (err) {
+ if (err instanceof WebAssembly.RuntimeError) {
+ return;
+ }
+ throw err;
+ }
+}
+
+let StackOverflow;
+try {
+ (function f() {
+ 1 + f();
+ })();
+} catch (e) {
+ StackOverflow = e.constructor;
+}
+function assert_exhaustion(thunk, message) {
+ try {
+ thunk();
+ assertEq("normal return", "exhaustion");
+ } catch (err) {
+ assertEq(
+ err instanceof StackOverflow,
+ true,
+ "expected exhaustion",
+ );
+ }
+}
+
+function assert_invalid(thunk, message) {
+ try {
+ thunk();
+ assertEq("valid module", "invalid module");
+ } catch (err) {
+ assertEq(
+ err instanceof WebAssembly.LinkError ||
+ err instanceof WebAssembly.CompileError,
+ true,
+ "expected an invalid module",
+ );
+ }
+}
+
+function assert_unlinkable(thunk, message) {
+ try {
+ thunk();
+ assertEq(true, false, "expected an unlinkable module");
+ } catch (err) {
+ assertEq(
+ err instanceof WebAssembly.LinkError ||
+ err instanceof WebAssembly.CompileError,
+ true,
+ "expected an unlinkable module",
+ );
+ }
+}
+
+function assert_malformed(thunk, message) {
+ try {
+ thunk();
+ assertEq("valid module", "malformed module");
+ } catch (err) {
+ assertEq(
+ err instanceof TypeError ||
+ err instanceof SyntaxError ||
+ err instanceof WebAssembly.CompileError ||
+ err instanceof WebAssembly.LinkError,
+ true,
+ `expected a malformed module`,
+ );
+ }
+}
+
+function assert_exception(thunk) {
+ let thrown = false;
+ try {
+ thunk();
+ } catch (err) {
+ thrown = true;
+ }
+ assertEq(thrown, true, "expected an exception to be thrown");
+}
+
+function assert_return(thunk, expected) {
+ let results = thunk();
+
+ if (results === undefined) {
+ results = [];
+ } else if (!Array.isArray(results)) {
+ results = [results];
+ }
+ if (!Array.isArray(expected)) {
+ expected = [expected];
+ }
+
+ if (!compareResults(results, expected)) {
+ let got = results.map((x) => formatResult(x)).join(", ");
+ let wanted = expected.map((x) => formatExpected(x)).join(", ");
+ assertEq(
+ `[${got}]`,
+ `[${wanted}]`,
+ );
+ assertEq(true, false, `${got} !== ${wanted}`);
+ }
+}
+
+function formatResult(result) {
+ if (typeof (result) === "object") {
+ return wasmGlobalToString(result);
+ } else {
+ return `${result}`;
+ }
+}
+
+function formatExpected(expected) {
+ if (
+ expected === `f32_canonical_nan` ||
+ expected === `f32_arithmetic_nan` ||
+ expected === `f64_canonical_nan` ||
+ expected === `f64_arithmetic_nan`
+ ) {
+ return expected;
+ } else if (expected instanceof F32x4Pattern) {
+ return `f32x4(${formatExpected(expected.x)}, ${
+ formatExpected(expected.y)
+ }, ${formatExpected(expected.z)}, ${formatExpected(expected.w)})`;
+ } else if (expected instanceof F64x2Pattern) {
+ return `f64x2(${formatExpected(expected.x)}, ${
+ formatExpected(expected.y)
+ })`;
+ } else if (expected instanceof EitherVariants) {
+ return expected.formatExpected();
+ } else if (expected instanceof RefWithType) {
+ return expected.formatExpected();
+ } else if (expected instanceof ExternRefResult) {
+ return expected.formatExpected();
+ } else if (expected instanceof HostRefResult) {
+ return expected.formatExpected();
+ } else if (typeof (expected) === "object") {
+ return wasmGlobalToString(expected);
+ } else {
+ throw new Error("unknown expected result");
+ }
+}
+
+class EitherVariants {
+ constructor(arr) {
+ this.arr = arr;
+ }
+ matches(v) {
+ return this.arr.some((e) => compareResult(v, e));
+ }
+ formatExpected() {
+ return `either(${this.arr.map(formatExpected).join(", ")})`;
+ }
+}
+
+function compareResults(results, expected) {
+ if (results.length !== expected.length) {
+ return false;
+ }
+ for (let i in results) {
+ if (expected[i] instanceof EitherVariants) {
+ return expected[i].matches(results[i]);
+ }
+ if (!compareResult(results[i], expected[i])) {
+ return false;
+ }
+ }
+ return true;
+}
+
+function compareResult(result, expected) {
+ if (
+ expected === `canonical_nan` ||
+ expected === `arithmetic_nan`
+ ) {
+ return wasmGlobalIsNaN(result, expected);
+ } else if (expected === null) {
+ return result.value === null;
+ } else if (expected instanceof F32x4Pattern) {
+ return compareResult(
+ wasmGlobalExtractLane(result, "f32x4", 0),
+ expected.x,
+ ) &&
+ compareResult(wasmGlobalExtractLane(result, "f32x4", 1), expected.y) &&
+ compareResult(wasmGlobalExtractLane(result, "f32x4", 2), expected.z) &&
+ compareResult(wasmGlobalExtractLane(result, "f32x4", 3), expected.w);
+ } else if (expected instanceof F64x2Pattern) {
+ return compareResult(
+ wasmGlobalExtractLane(result, "f64x2", 0),
+ expected.x,
+ ) &&
+ compareResult(wasmGlobalExtractLane(result, "f64x2", 1), expected.y);
+ } else if (expected instanceof RefWithType) {
+ return expected.test(result);
+ } else if (expected instanceof ExternRefResult) {
+ return expected.test(result);
+ } else if (expected instanceof HostRefResult) {
+ return expected.test(result);
+ } else if (typeof (expected) === "object") {
+ return wasmGlobalsEqual(result, expected);
+ } else {
+ throw new Error("unknown expected result");
+ }
+}
diff --git a/js/src/jit-test/tests/wasm/spec/spec/i32.wast.js b/js/src/jit-test/tests/wasm/spec/spec/i32.wast.js
new file mode 100644
index 0000000000..b7455c08b1
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/i32.wast.js
@@ -0,0 +1,1967 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/i32.wast
+
+// ./test/core/i32.wast:3
+let $0 = instantiate(`(module
+ (func (export "add") (param $$x i32) (param $$y i32) (result i32) (i32.add (local.get $$x) (local.get $$y)))
+ (func (export "sub") (param $$x i32) (param $$y i32) (result i32) (i32.sub (local.get $$x) (local.get $$y)))
+ (func (export "mul") (param $$x i32) (param $$y i32) (result i32) (i32.mul (local.get $$x) (local.get $$y)))
+ (func (export "div_s") (param $$x i32) (param $$y i32) (result i32) (i32.div_s (local.get $$x) (local.get $$y)))
+ (func (export "div_u") (param $$x i32) (param $$y i32) (result i32) (i32.div_u (local.get $$x) (local.get $$y)))
+ (func (export "rem_s") (param $$x i32) (param $$y i32) (result i32) (i32.rem_s (local.get $$x) (local.get $$y)))
+ (func (export "rem_u") (param $$x i32) (param $$y i32) (result i32) (i32.rem_u (local.get $$x) (local.get $$y)))
+ (func (export "and") (param $$x i32) (param $$y i32) (result i32) (i32.and (local.get $$x) (local.get $$y)))
+ (func (export "or") (param $$x i32) (param $$y i32) (result i32) (i32.or (local.get $$x) (local.get $$y)))
+ (func (export "xor") (param $$x i32) (param $$y i32) (result i32) (i32.xor (local.get $$x) (local.get $$y)))
+ (func (export "shl") (param $$x i32) (param $$y i32) (result i32) (i32.shl (local.get $$x) (local.get $$y)))
+ (func (export "shr_s") (param $$x i32) (param $$y i32) (result i32) (i32.shr_s (local.get $$x) (local.get $$y)))
+ (func (export "shr_u") (param $$x i32) (param $$y i32) (result i32) (i32.shr_u (local.get $$x) (local.get $$y)))
+ (func (export "rotl") (param $$x i32) (param $$y i32) (result i32) (i32.rotl (local.get $$x) (local.get $$y)))
+ (func (export "rotr") (param $$x i32) (param $$y i32) (result i32) (i32.rotr (local.get $$x) (local.get $$y)))
+ (func (export "clz") (param $$x i32) (result i32) (i32.clz (local.get $$x)))
+ (func (export "ctz") (param $$x i32) (result i32) (i32.ctz (local.get $$x)))
+ (func (export "popcnt") (param $$x i32) (result i32) (i32.popcnt (local.get $$x)))
+ (func (export "extend8_s") (param $$x i32) (result i32) (i32.extend8_s (local.get $$x)))
+ (func (export "extend16_s") (param $$x i32) (result i32) (i32.extend16_s (local.get $$x)))
+ (func (export "eqz") (param $$x i32) (result i32) (i32.eqz (local.get $$x)))
+ (func (export "eq") (param $$x i32) (param $$y i32) (result i32) (i32.eq (local.get $$x) (local.get $$y)))
+ (func (export "ne") (param $$x i32) (param $$y i32) (result i32) (i32.ne (local.get $$x) (local.get $$y)))
+ (func (export "lt_s") (param $$x i32) (param $$y i32) (result i32) (i32.lt_s (local.get $$x) (local.get $$y)))
+ (func (export "lt_u") (param $$x i32) (param $$y i32) (result i32) (i32.lt_u (local.get $$x) (local.get $$y)))
+ (func (export "le_s") (param $$x i32) (param $$y i32) (result i32) (i32.le_s (local.get $$x) (local.get $$y)))
+ (func (export "le_u") (param $$x i32) (param $$y i32) (result i32) (i32.le_u (local.get $$x) (local.get $$y)))
+ (func (export "gt_s") (param $$x i32) (param $$y i32) (result i32) (i32.gt_s (local.get $$x) (local.get $$y)))
+ (func (export "gt_u") (param $$x i32) (param $$y i32) (result i32) (i32.gt_u (local.get $$x) (local.get $$y)))
+ (func (export "ge_s") (param $$x i32) (param $$y i32) (result i32) (i32.ge_s (local.get $$x) (local.get $$y)))
+ (func (export "ge_u") (param $$x i32) (param $$y i32) (result i32) (i32.ge_u (local.get $$x) (local.get $$y)))
+)`);
+
+// ./test/core/i32.wast:37
+assert_return(() => invoke($0, `add`, [1, 1]), [value("i32", 2)]);
+
+// ./test/core/i32.wast:38
+assert_return(() => invoke($0, `add`, [1, 0]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:39
+assert_return(() => invoke($0, `add`, [-1, -1]), [value("i32", -2)]);
+
+// ./test/core/i32.wast:40
+assert_return(() => invoke($0, `add`, [-1, 1]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:41
+assert_return(() => invoke($0, `add`, [2147483647, 1]), [value("i32", -2147483648)]);
+
+// ./test/core/i32.wast:42
+assert_return(() => invoke($0, `add`, [-2147483648, -1]), [value("i32", 2147483647)]);
+
+// ./test/core/i32.wast:43
+assert_return(() => invoke($0, `add`, [-2147483648, -2147483648]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:44
+assert_return(() => invoke($0, `add`, [1073741823, 1]), [value("i32", 1073741824)]);
+
+// ./test/core/i32.wast:46
+assert_return(() => invoke($0, `sub`, [1, 1]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:47
+assert_return(() => invoke($0, `sub`, [1, 0]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:48
+assert_return(() => invoke($0, `sub`, [-1, -1]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:49
+assert_return(() => invoke($0, `sub`, [2147483647, -1]), [value("i32", -2147483648)]);
+
+// ./test/core/i32.wast:50
+assert_return(() => invoke($0, `sub`, [-2147483648, 1]), [value("i32", 2147483647)]);
+
+// ./test/core/i32.wast:51
+assert_return(() => invoke($0, `sub`, [-2147483648, -2147483648]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:52
+assert_return(() => invoke($0, `sub`, [1073741823, -1]), [value("i32", 1073741824)]);
+
+// ./test/core/i32.wast:54
+assert_return(() => invoke($0, `mul`, [1, 1]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:55
+assert_return(() => invoke($0, `mul`, [1, 0]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:56
+assert_return(() => invoke($0, `mul`, [-1, -1]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:57
+assert_return(() => invoke($0, `mul`, [268435456, 4096]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:58
+assert_return(() => invoke($0, `mul`, [-2147483648, 0]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:59
+assert_return(() => invoke($0, `mul`, [-2147483648, -1]), [value("i32", -2147483648)]);
+
+// ./test/core/i32.wast:60
+assert_return(() => invoke($0, `mul`, [2147483647, -1]), [value("i32", -2147483647)]);
+
+// ./test/core/i32.wast:61
+assert_return(() => invoke($0, `mul`, [19088743, 1985229328]), [value("i32", 898528368)]);
+
+// ./test/core/i32.wast:62
+assert_return(() => invoke($0, `mul`, [2147483647, 2147483647]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:64
+assert_trap(() => invoke($0, `div_s`, [1, 0]), `integer divide by zero`);
+
+// ./test/core/i32.wast:65
+assert_trap(() => invoke($0, `div_s`, [0, 0]), `integer divide by zero`);
+
+// ./test/core/i32.wast:66
+assert_trap(() => invoke($0, `div_s`, [-2147483648, -1]), `integer overflow`);
+
+// ./test/core/i32.wast:67
+assert_trap(() => invoke($0, `div_s`, [-2147483648, 0]), `integer divide by zero`);
+
+// ./test/core/i32.wast:68
+assert_return(() => invoke($0, `div_s`, [1, 1]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:69
+assert_return(() => invoke($0, `div_s`, [0, 1]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:70
+assert_return(() => invoke($0, `div_s`, [0, -1]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:71
+assert_return(() => invoke($0, `div_s`, [-1, -1]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:72
+assert_return(() => invoke($0, `div_s`, [-2147483648, 2]), [value("i32", -1073741824)]);
+
+// ./test/core/i32.wast:73
+assert_return(() => invoke($0, `div_s`, [-2147483647, 1000]), [value("i32", -2147483)]);
+
+// ./test/core/i32.wast:74
+assert_return(() => invoke($0, `div_s`, [5, 2]), [value("i32", 2)]);
+
+// ./test/core/i32.wast:75
+assert_return(() => invoke($0, `div_s`, [-5, 2]), [value("i32", -2)]);
+
+// ./test/core/i32.wast:76
+assert_return(() => invoke($0, `div_s`, [5, -2]), [value("i32", -2)]);
+
+// ./test/core/i32.wast:77
+assert_return(() => invoke($0, `div_s`, [-5, -2]), [value("i32", 2)]);
+
+// ./test/core/i32.wast:78
+assert_return(() => invoke($0, `div_s`, [7, 3]), [value("i32", 2)]);
+
+// ./test/core/i32.wast:79
+assert_return(() => invoke($0, `div_s`, [-7, 3]), [value("i32", -2)]);
+
+// ./test/core/i32.wast:80
+assert_return(() => invoke($0, `div_s`, [7, -3]), [value("i32", -2)]);
+
+// ./test/core/i32.wast:81
+assert_return(() => invoke($0, `div_s`, [-7, -3]), [value("i32", 2)]);
+
+// ./test/core/i32.wast:82
+assert_return(() => invoke($0, `div_s`, [11, 5]), [value("i32", 2)]);
+
+// ./test/core/i32.wast:83
+assert_return(() => invoke($0, `div_s`, [17, 7]), [value("i32", 2)]);
+
+// ./test/core/i32.wast:85
+assert_trap(() => invoke($0, `div_u`, [1, 0]), `integer divide by zero`);
+
+// ./test/core/i32.wast:86
+assert_trap(() => invoke($0, `div_u`, [0, 0]), `integer divide by zero`);
+
+// ./test/core/i32.wast:87
+assert_return(() => invoke($0, `div_u`, [1, 1]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:88
+assert_return(() => invoke($0, `div_u`, [0, 1]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:89
+assert_return(() => invoke($0, `div_u`, [-1, -1]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:90
+assert_return(() => invoke($0, `div_u`, [-2147483648, -1]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:91
+assert_return(() => invoke($0, `div_u`, [-2147483648, 2]), [value("i32", 1073741824)]);
+
+// ./test/core/i32.wast:92
+assert_return(() => invoke($0, `div_u`, [-1880092688, 65537]), [value("i32", 36847)]);
+
+// ./test/core/i32.wast:93
+assert_return(() => invoke($0, `div_u`, [-2147483647, 1000]), [value("i32", 2147483)]);
+
+// ./test/core/i32.wast:94
+assert_return(() => invoke($0, `div_u`, [5, 2]), [value("i32", 2)]);
+
+// ./test/core/i32.wast:95
+assert_return(() => invoke($0, `div_u`, [-5, 2]), [value("i32", 2147483645)]);
+
+// ./test/core/i32.wast:96
+assert_return(() => invoke($0, `div_u`, [5, -2]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:97
+assert_return(() => invoke($0, `div_u`, [-5, -2]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:98
+assert_return(() => invoke($0, `div_u`, [7, 3]), [value("i32", 2)]);
+
+// ./test/core/i32.wast:99
+assert_return(() => invoke($0, `div_u`, [11, 5]), [value("i32", 2)]);
+
+// ./test/core/i32.wast:100
+assert_return(() => invoke($0, `div_u`, [17, 7]), [value("i32", 2)]);
+
+// ./test/core/i32.wast:102
+assert_trap(() => invoke($0, `rem_s`, [1, 0]), `integer divide by zero`);
+
+// ./test/core/i32.wast:103
+assert_trap(() => invoke($0, `rem_s`, [0, 0]), `integer divide by zero`);
+
+// ./test/core/i32.wast:104
+assert_return(() => invoke($0, `rem_s`, [2147483647, -1]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:105
+assert_return(() => invoke($0, `rem_s`, [1, 1]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:106
+assert_return(() => invoke($0, `rem_s`, [0, 1]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:107
+assert_return(() => invoke($0, `rem_s`, [0, -1]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:108
+assert_return(() => invoke($0, `rem_s`, [-1, -1]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:109
+assert_return(() => invoke($0, `rem_s`, [-2147483648, -1]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:110
+assert_return(() => invoke($0, `rem_s`, [-2147483648, 2]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:111
+assert_return(() => invoke($0, `rem_s`, [-2147483647, 1000]), [value("i32", -647)]);
+
+// ./test/core/i32.wast:112
+assert_return(() => invoke($0, `rem_s`, [5, 2]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:113
+assert_return(() => invoke($0, `rem_s`, [-5, 2]), [value("i32", -1)]);
+
+// ./test/core/i32.wast:114
+assert_return(() => invoke($0, `rem_s`, [5, -2]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:115
+assert_return(() => invoke($0, `rem_s`, [-5, -2]), [value("i32", -1)]);
+
+// ./test/core/i32.wast:116
+assert_return(() => invoke($0, `rem_s`, [7, 3]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:117
+assert_return(() => invoke($0, `rem_s`, [-7, 3]), [value("i32", -1)]);
+
+// ./test/core/i32.wast:118
+assert_return(() => invoke($0, `rem_s`, [7, -3]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:119
+assert_return(() => invoke($0, `rem_s`, [-7, -3]), [value("i32", -1)]);
+
+// ./test/core/i32.wast:120
+assert_return(() => invoke($0, `rem_s`, [11, 5]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:121
+assert_return(() => invoke($0, `rem_s`, [17, 7]), [value("i32", 3)]);
+
+// ./test/core/i32.wast:123
+assert_trap(() => invoke($0, `rem_u`, [1, 0]), `integer divide by zero`);
+
+// ./test/core/i32.wast:124
+assert_trap(() => invoke($0, `rem_u`, [0, 0]), `integer divide by zero`);
+
+// ./test/core/i32.wast:125
+assert_return(() => invoke($0, `rem_u`, [1, 1]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:126
+assert_return(() => invoke($0, `rem_u`, [0, 1]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:127
+assert_return(() => invoke($0, `rem_u`, [-1, -1]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:128
+assert_return(() => invoke($0, `rem_u`, [-2147483648, -1]), [value("i32", -2147483648)]);
+
+// ./test/core/i32.wast:129
+assert_return(() => invoke($0, `rem_u`, [-2147483648, 2]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:130
+assert_return(() => invoke($0, `rem_u`, [-1880092688, 65537]), [value("i32", 32769)]);
+
+// ./test/core/i32.wast:131
+assert_return(() => invoke($0, `rem_u`, [-2147483647, 1000]), [value("i32", 649)]);
+
+// ./test/core/i32.wast:132
+assert_return(() => invoke($0, `rem_u`, [5, 2]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:133
+assert_return(() => invoke($0, `rem_u`, [-5, 2]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:134
+assert_return(() => invoke($0, `rem_u`, [5, -2]), [value("i32", 5)]);
+
+// ./test/core/i32.wast:135
+assert_return(() => invoke($0, `rem_u`, [-5, -2]), [value("i32", -5)]);
+
+// ./test/core/i32.wast:136
+assert_return(() => invoke($0, `rem_u`, [7, 3]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:137
+assert_return(() => invoke($0, `rem_u`, [11, 5]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:138
+assert_return(() => invoke($0, `rem_u`, [17, 7]), [value("i32", 3)]);
+
+// ./test/core/i32.wast:140
+assert_return(() => invoke($0, `and`, [1, 0]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:141
+assert_return(() => invoke($0, `and`, [0, 1]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:142
+assert_return(() => invoke($0, `and`, [1, 1]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:143
+assert_return(() => invoke($0, `and`, [0, 0]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:144
+assert_return(() => invoke($0, `and`, [2147483647, -2147483648]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:145
+assert_return(() => invoke($0, `and`, [2147483647, -1]), [value("i32", 2147483647)]);
+
+// ./test/core/i32.wast:146
+assert_return(() => invoke($0, `and`, [-252641281, -3856]), [value("i32", -252645136)]);
+
+// ./test/core/i32.wast:147
+assert_return(() => invoke($0, `and`, [-1, -1]), [value("i32", -1)]);
+
+// ./test/core/i32.wast:149
+assert_return(() => invoke($0, `or`, [1, 0]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:150
+assert_return(() => invoke($0, `or`, [0, 1]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:151
+assert_return(() => invoke($0, `or`, [1, 1]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:152
+assert_return(() => invoke($0, `or`, [0, 0]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:153
+assert_return(() => invoke($0, `or`, [2147483647, -2147483648]), [value("i32", -1)]);
+
+// ./test/core/i32.wast:154
+assert_return(() => invoke($0, `or`, [-2147483648, 0]), [value("i32", -2147483648)]);
+
+// ./test/core/i32.wast:155
+assert_return(() => invoke($0, `or`, [-252641281, -3856]), [value("i32", -1)]);
+
+// ./test/core/i32.wast:156
+assert_return(() => invoke($0, `or`, [-1, -1]), [value("i32", -1)]);
+
+// ./test/core/i32.wast:158
+assert_return(() => invoke($0, `xor`, [1, 0]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:159
+assert_return(() => invoke($0, `xor`, [0, 1]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:160
+assert_return(() => invoke($0, `xor`, [1, 1]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:161
+assert_return(() => invoke($0, `xor`, [0, 0]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:162
+assert_return(() => invoke($0, `xor`, [2147483647, -2147483648]), [value("i32", -1)]);
+
+// ./test/core/i32.wast:163
+assert_return(() => invoke($0, `xor`, [-2147483648, 0]), [value("i32", -2147483648)]);
+
+// ./test/core/i32.wast:164
+assert_return(() => invoke($0, `xor`, [-1, -2147483648]), [value("i32", 2147483647)]);
+
+// ./test/core/i32.wast:165
+assert_return(() => invoke($0, `xor`, [-1, 2147483647]), [value("i32", -2147483648)]);
+
+// ./test/core/i32.wast:166
+assert_return(() => invoke($0, `xor`, [-252641281, -3856]), [value("i32", 252645135)]);
+
+// ./test/core/i32.wast:167
+assert_return(() => invoke($0, `xor`, [-1, -1]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:169
+assert_return(() => invoke($0, `shl`, [1, 1]), [value("i32", 2)]);
+
+// ./test/core/i32.wast:170
+assert_return(() => invoke($0, `shl`, [1, 0]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:171
+assert_return(() => invoke($0, `shl`, [2147483647, 1]), [value("i32", -2)]);
+
+// ./test/core/i32.wast:172
+assert_return(() => invoke($0, `shl`, [-1, 1]), [value("i32", -2)]);
+
+// ./test/core/i32.wast:173
+assert_return(() => invoke($0, `shl`, [-2147483648, 1]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:174
+assert_return(() => invoke($0, `shl`, [1073741824, 1]), [value("i32", -2147483648)]);
+
+// ./test/core/i32.wast:175
+assert_return(() => invoke($0, `shl`, [1, 31]), [value("i32", -2147483648)]);
+
+// ./test/core/i32.wast:176
+assert_return(() => invoke($0, `shl`, [1, 32]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:177
+assert_return(() => invoke($0, `shl`, [1, 33]), [value("i32", 2)]);
+
+// ./test/core/i32.wast:178
+assert_return(() => invoke($0, `shl`, [1, -1]), [value("i32", -2147483648)]);
+
+// ./test/core/i32.wast:179
+assert_return(() => invoke($0, `shl`, [1, 2147483647]), [value("i32", -2147483648)]);
+
+// ./test/core/i32.wast:181
+assert_return(() => invoke($0, `shr_s`, [1, 1]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:182
+assert_return(() => invoke($0, `shr_s`, [1, 0]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:183
+assert_return(() => invoke($0, `shr_s`, [-1, 1]), [value("i32", -1)]);
+
+// ./test/core/i32.wast:184
+assert_return(() => invoke($0, `shr_s`, [2147483647, 1]), [value("i32", 1073741823)]);
+
+// ./test/core/i32.wast:185
+assert_return(() => invoke($0, `shr_s`, [-2147483648, 1]), [value("i32", -1073741824)]);
+
+// ./test/core/i32.wast:186
+assert_return(() => invoke($0, `shr_s`, [1073741824, 1]), [value("i32", 536870912)]);
+
+// ./test/core/i32.wast:187
+assert_return(() => invoke($0, `shr_s`, [1, 32]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:188
+assert_return(() => invoke($0, `shr_s`, [1, 33]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:189
+assert_return(() => invoke($0, `shr_s`, [1, -1]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:190
+assert_return(() => invoke($0, `shr_s`, [1, 2147483647]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:191
+assert_return(() => invoke($0, `shr_s`, [1, -2147483648]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:192
+assert_return(() => invoke($0, `shr_s`, [-2147483648, 31]), [value("i32", -1)]);
+
+// ./test/core/i32.wast:193
+assert_return(() => invoke($0, `shr_s`, [-1, 32]), [value("i32", -1)]);
+
+// ./test/core/i32.wast:194
+assert_return(() => invoke($0, `shr_s`, [-1, 33]), [value("i32", -1)]);
+
+// ./test/core/i32.wast:195
+assert_return(() => invoke($0, `shr_s`, [-1, -1]), [value("i32", -1)]);
+
+// ./test/core/i32.wast:196
+assert_return(() => invoke($0, `shr_s`, [-1, 2147483647]), [value("i32", -1)]);
+
+// ./test/core/i32.wast:197
+assert_return(() => invoke($0, `shr_s`, [-1, -2147483648]), [value("i32", -1)]);
+
+// ./test/core/i32.wast:199
+assert_return(() => invoke($0, `shr_u`, [1, 1]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:200
+assert_return(() => invoke($0, `shr_u`, [1, 0]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:201
+assert_return(() => invoke($0, `shr_u`, [-1, 1]), [value("i32", 2147483647)]);
+
+// ./test/core/i32.wast:202
+assert_return(() => invoke($0, `shr_u`, [2147483647, 1]), [value("i32", 1073741823)]);
+
+// ./test/core/i32.wast:203
+assert_return(() => invoke($0, `shr_u`, [-2147483648, 1]), [value("i32", 1073741824)]);
+
+// ./test/core/i32.wast:204
+assert_return(() => invoke($0, `shr_u`, [1073741824, 1]), [value("i32", 536870912)]);
+
+// ./test/core/i32.wast:205
+assert_return(() => invoke($0, `shr_u`, [1, 32]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:206
+assert_return(() => invoke($0, `shr_u`, [1, 33]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:207
+assert_return(() => invoke($0, `shr_u`, [1, -1]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:208
+assert_return(() => invoke($0, `shr_u`, [1, 2147483647]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:209
+assert_return(() => invoke($0, `shr_u`, [1, -2147483648]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:210
+assert_return(() => invoke($0, `shr_u`, [-2147483648, 31]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:211
+assert_return(() => invoke($0, `shr_u`, [-1, 32]), [value("i32", -1)]);
+
+// ./test/core/i32.wast:212
+assert_return(() => invoke($0, `shr_u`, [-1, 33]), [value("i32", 2147483647)]);
+
+// ./test/core/i32.wast:213
+assert_return(() => invoke($0, `shr_u`, [-1, -1]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:214
+assert_return(() => invoke($0, `shr_u`, [-1, 2147483647]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:215
+assert_return(() => invoke($0, `shr_u`, [-1, -2147483648]), [value("i32", -1)]);
+
+// ./test/core/i32.wast:217
+assert_return(() => invoke($0, `rotl`, [1, 1]), [value("i32", 2)]);
+
+// ./test/core/i32.wast:218
+assert_return(() => invoke($0, `rotl`, [1, 0]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:219
+assert_return(() => invoke($0, `rotl`, [-1, 1]), [value("i32", -1)]);
+
+// ./test/core/i32.wast:220
+assert_return(() => invoke($0, `rotl`, [1, 32]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:221
+assert_return(() => invoke($0, `rotl`, [-1412589450, 1]), [value("i32", 1469788397)]);
+
+// ./test/core/i32.wast:222
+assert_return(() => invoke($0, `rotl`, [-33498112, 4]), [value("i32", -535969777)]);
+
+// ./test/core/i32.wast:223
+assert_return(() => invoke($0, `rotl`, [-1329474845, 5]), [value("i32", 406477942)]);
+
+// ./test/core/i32.wast:224
+assert_return(() => invoke($0, `rotl`, [32768, 37]), [value("i32", 1048576)]);
+
+// ./test/core/i32.wast:225
+assert_return(() => invoke($0, `rotl`, [-1329474845, 65285]), [value("i32", 406477942)]);
+
+// ./test/core/i32.wast:226
+assert_return(() => invoke($0, `rotl`, [1989852383, -19]), [value("i32", 1469837011)]);
+
+// ./test/core/i32.wast:227
+assert_return(() => invoke($0, `rotl`, [1989852383, -2147483635]), [value("i32", 1469837011)]);
+
+// ./test/core/i32.wast:228
+assert_return(() => invoke($0, `rotl`, [1, 31]), [value("i32", -2147483648)]);
+
+// ./test/core/i32.wast:229
+assert_return(() => invoke($0, `rotl`, [-2147483648, 1]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:231
+assert_return(() => invoke($0, `rotr`, [1, 1]), [value("i32", -2147483648)]);
+
+// ./test/core/i32.wast:232
+assert_return(() => invoke($0, `rotr`, [1, 0]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:233
+assert_return(() => invoke($0, `rotr`, [-1, 1]), [value("i32", -1)]);
+
+// ./test/core/i32.wast:234
+assert_return(() => invoke($0, `rotr`, [1, 32]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:235
+assert_return(() => invoke($0, `rotr`, [-16724992, 1]), [value("i32", 2139121152)]);
+
+// ./test/core/i32.wast:236
+assert_return(() => invoke($0, `rotr`, [524288, 4]), [value("i32", 32768)]);
+
+// ./test/core/i32.wast:237
+assert_return(() => invoke($0, `rotr`, [-1329474845, 5]), [value("i32", 495324823)]);
+
+// ./test/core/i32.wast:238
+assert_return(() => invoke($0, `rotr`, [32768, 37]), [value("i32", 1024)]);
+
+// ./test/core/i32.wast:239
+assert_return(() => invoke($0, `rotr`, [-1329474845, 65285]), [value("i32", 495324823)]);
+
+// ./test/core/i32.wast:240
+assert_return(() => invoke($0, `rotr`, [1989852383, -19]), [value("i32", -419711787)]);
+
+// ./test/core/i32.wast:241
+assert_return(() => invoke($0, `rotr`, [1989852383, -2147483635]), [value("i32", -419711787)]);
+
+// ./test/core/i32.wast:242
+assert_return(() => invoke($0, `rotr`, [1, 31]), [value("i32", 2)]);
+
+// ./test/core/i32.wast:243
+assert_return(() => invoke($0, `rotr`, [-2147483648, 31]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:245
+assert_return(() => invoke($0, `clz`, [-1]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:246
+assert_return(() => invoke($0, `clz`, [0]), [value("i32", 32)]);
+
+// ./test/core/i32.wast:247
+assert_return(() => invoke($0, `clz`, [32768]), [value("i32", 16)]);
+
+// ./test/core/i32.wast:248
+assert_return(() => invoke($0, `clz`, [255]), [value("i32", 24)]);
+
+// ./test/core/i32.wast:249
+assert_return(() => invoke($0, `clz`, [-2147483648]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:250
+assert_return(() => invoke($0, `clz`, [1]), [value("i32", 31)]);
+
+// ./test/core/i32.wast:251
+assert_return(() => invoke($0, `clz`, [2]), [value("i32", 30)]);
+
+// ./test/core/i32.wast:252
+assert_return(() => invoke($0, `clz`, [2147483647]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:254
+assert_return(() => invoke($0, `ctz`, [-1]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:255
+assert_return(() => invoke($0, `ctz`, [0]), [value("i32", 32)]);
+
+// ./test/core/i32.wast:256
+assert_return(() => invoke($0, `ctz`, [32768]), [value("i32", 15)]);
+
+// ./test/core/i32.wast:257
+assert_return(() => invoke($0, `ctz`, [65536]), [value("i32", 16)]);
+
+// ./test/core/i32.wast:258
+assert_return(() => invoke($0, `ctz`, [-2147483648]), [value("i32", 31)]);
+
+// ./test/core/i32.wast:259
+assert_return(() => invoke($0, `ctz`, [2147483647]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:261
+assert_return(() => invoke($0, `popcnt`, [-1]), [value("i32", 32)]);
+
+// ./test/core/i32.wast:262
+assert_return(() => invoke($0, `popcnt`, [0]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:263
+assert_return(() => invoke($0, `popcnt`, [32768]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:264
+assert_return(() => invoke($0, `popcnt`, [-2147450880]), [value("i32", 2)]);
+
+// ./test/core/i32.wast:265
+assert_return(() => invoke($0, `popcnt`, [2147483647]), [value("i32", 31)]);
+
+// ./test/core/i32.wast:266
+assert_return(() => invoke($0, `popcnt`, [-1431655766]), [value("i32", 16)]);
+
+// ./test/core/i32.wast:267
+assert_return(() => invoke($0, `popcnt`, [1431655765]), [value("i32", 16)]);
+
+// ./test/core/i32.wast:268
+assert_return(() => invoke($0, `popcnt`, [-559038737]), [value("i32", 24)]);
+
+// ./test/core/i32.wast:270
+assert_return(() => invoke($0, `extend8_s`, [0]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:271
+assert_return(() => invoke($0, `extend8_s`, [127]), [value("i32", 127)]);
+
+// ./test/core/i32.wast:272
+assert_return(() => invoke($0, `extend8_s`, [128]), [value("i32", -128)]);
+
+// ./test/core/i32.wast:273
+assert_return(() => invoke($0, `extend8_s`, [255]), [value("i32", -1)]);
+
+// ./test/core/i32.wast:274
+assert_return(() => invoke($0, `extend8_s`, [19088640]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:275
+assert_return(() => invoke($0, `extend8_s`, [-19088768]), [value("i32", -128)]);
+
+// ./test/core/i32.wast:276
+assert_return(() => invoke($0, `extend8_s`, [-1]), [value("i32", -1)]);
+
+// ./test/core/i32.wast:278
+assert_return(() => invoke($0, `extend16_s`, [0]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:279
+assert_return(() => invoke($0, `extend16_s`, [32767]), [value("i32", 32767)]);
+
+// ./test/core/i32.wast:280
+assert_return(() => invoke($0, `extend16_s`, [32768]), [value("i32", -32768)]);
+
+// ./test/core/i32.wast:281
+assert_return(() => invoke($0, `extend16_s`, [65535]), [value("i32", -1)]);
+
+// ./test/core/i32.wast:282
+assert_return(() => invoke($0, `extend16_s`, [19070976]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:283
+assert_return(() => invoke($0, `extend16_s`, [-19103744]), [value("i32", -32768)]);
+
+// ./test/core/i32.wast:284
+assert_return(() => invoke($0, `extend16_s`, [-1]), [value("i32", -1)]);
+
+// ./test/core/i32.wast:286
+assert_return(() => invoke($0, `eqz`, [0]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:287
+assert_return(() => invoke($0, `eqz`, [1]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:288
+assert_return(() => invoke($0, `eqz`, [-2147483648]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:289
+assert_return(() => invoke($0, `eqz`, [2147483647]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:290
+assert_return(() => invoke($0, `eqz`, [-1]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:292
+assert_return(() => invoke($0, `eq`, [0, 0]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:293
+assert_return(() => invoke($0, `eq`, [1, 1]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:294
+assert_return(() => invoke($0, `eq`, [-1, 1]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:295
+assert_return(() => invoke($0, `eq`, [-2147483648, -2147483648]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:296
+assert_return(() => invoke($0, `eq`, [2147483647, 2147483647]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:297
+assert_return(() => invoke($0, `eq`, [-1, -1]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:298
+assert_return(() => invoke($0, `eq`, [1, 0]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:299
+assert_return(() => invoke($0, `eq`, [0, 1]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:300
+assert_return(() => invoke($0, `eq`, [-2147483648, 0]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:301
+assert_return(() => invoke($0, `eq`, [0, -2147483648]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:302
+assert_return(() => invoke($0, `eq`, [-2147483648, -1]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:303
+assert_return(() => invoke($0, `eq`, [-1, -2147483648]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:304
+assert_return(() => invoke($0, `eq`, [-2147483648, 2147483647]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:305
+assert_return(() => invoke($0, `eq`, [2147483647, -2147483648]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:307
+assert_return(() => invoke($0, `ne`, [0, 0]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:308
+assert_return(() => invoke($0, `ne`, [1, 1]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:309
+assert_return(() => invoke($0, `ne`, [-1, 1]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:310
+assert_return(() => invoke($0, `ne`, [-2147483648, -2147483648]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:311
+assert_return(() => invoke($0, `ne`, [2147483647, 2147483647]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:312
+assert_return(() => invoke($0, `ne`, [-1, -1]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:313
+assert_return(() => invoke($0, `ne`, [1, 0]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:314
+assert_return(() => invoke($0, `ne`, [0, 1]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:315
+assert_return(() => invoke($0, `ne`, [-2147483648, 0]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:316
+assert_return(() => invoke($0, `ne`, [0, -2147483648]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:317
+assert_return(() => invoke($0, `ne`, [-2147483648, -1]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:318
+assert_return(() => invoke($0, `ne`, [-1, -2147483648]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:319
+assert_return(() => invoke($0, `ne`, [-2147483648, 2147483647]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:320
+assert_return(() => invoke($0, `ne`, [2147483647, -2147483648]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:322
+assert_return(() => invoke($0, `lt_s`, [0, 0]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:323
+assert_return(() => invoke($0, `lt_s`, [1, 1]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:324
+assert_return(() => invoke($0, `lt_s`, [-1, 1]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:325
+assert_return(() => invoke($0, `lt_s`, [-2147483648, -2147483648]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:326
+assert_return(() => invoke($0, `lt_s`, [2147483647, 2147483647]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:327
+assert_return(() => invoke($0, `lt_s`, [-1, -1]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:328
+assert_return(() => invoke($0, `lt_s`, [1, 0]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:329
+assert_return(() => invoke($0, `lt_s`, [0, 1]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:330
+assert_return(() => invoke($0, `lt_s`, [-2147483648, 0]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:331
+assert_return(() => invoke($0, `lt_s`, [0, -2147483648]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:332
+assert_return(() => invoke($0, `lt_s`, [-2147483648, -1]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:333
+assert_return(() => invoke($0, `lt_s`, [-1, -2147483648]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:334
+assert_return(() => invoke($0, `lt_s`, [-2147483648, 2147483647]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:335
+assert_return(() => invoke($0, `lt_s`, [2147483647, -2147483648]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:337
+assert_return(() => invoke($0, `lt_u`, [0, 0]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:338
+assert_return(() => invoke($0, `lt_u`, [1, 1]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:339
+assert_return(() => invoke($0, `lt_u`, [-1, 1]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:340
+assert_return(() => invoke($0, `lt_u`, [-2147483648, -2147483648]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:341
+assert_return(() => invoke($0, `lt_u`, [2147483647, 2147483647]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:342
+assert_return(() => invoke($0, `lt_u`, [-1, -1]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:343
+assert_return(() => invoke($0, `lt_u`, [1, 0]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:344
+assert_return(() => invoke($0, `lt_u`, [0, 1]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:345
+assert_return(() => invoke($0, `lt_u`, [-2147483648, 0]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:346
+assert_return(() => invoke($0, `lt_u`, [0, -2147483648]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:347
+assert_return(() => invoke($0, `lt_u`, [-2147483648, -1]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:348
+assert_return(() => invoke($0, `lt_u`, [-1, -2147483648]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:349
+assert_return(() => invoke($0, `lt_u`, [-2147483648, 2147483647]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:350
+assert_return(() => invoke($0, `lt_u`, [2147483647, -2147483648]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:352
+assert_return(() => invoke($0, `le_s`, [0, 0]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:353
+assert_return(() => invoke($0, `le_s`, [1, 1]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:354
+assert_return(() => invoke($0, `le_s`, [-1, 1]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:355
+assert_return(() => invoke($0, `le_s`, [-2147483648, -2147483648]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:356
+assert_return(() => invoke($0, `le_s`, [2147483647, 2147483647]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:357
+assert_return(() => invoke($0, `le_s`, [-1, -1]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:358
+assert_return(() => invoke($0, `le_s`, [1, 0]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:359
+assert_return(() => invoke($0, `le_s`, [0, 1]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:360
+assert_return(() => invoke($0, `le_s`, [-2147483648, 0]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:361
+assert_return(() => invoke($0, `le_s`, [0, -2147483648]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:362
+assert_return(() => invoke($0, `le_s`, [-2147483648, -1]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:363
+assert_return(() => invoke($0, `le_s`, [-1, -2147483648]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:364
+assert_return(() => invoke($0, `le_s`, [-2147483648, 2147483647]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:365
+assert_return(() => invoke($0, `le_s`, [2147483647, -2147483648]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:367
+assert_return(() => invoke($0, `le_u`, [0, 0]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:368
+assert_return(() => invoke($0, `le_u`, [1, 1]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:369
+assert_return(() => invoke($0, `le_u`, [-1, 1]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:370
+assert_return(() => invoke($0, `le_u`, [-2147483648, -2147483648]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:371
+assert_return(() => invoke($0, `le_u`, [2147483647, 2147483647]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:372
+assert_return(() => invoke($0, `le_u`, [-1, -1]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:373
+assert_return(() => invoke($0, `le_u`, [1, 0]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:374
+assert_return(() => invoke($0, `le_u`, [0, 1]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:375
+assert_return(() => invoke($0, `le_u`, [-2147483648, 0]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:376
+assert_return(() => invoke($0, `le_u`, [0, -2147483648]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:377
+assert_return(() => invoke($0, `le_u`, [-2147483648, -1]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:378
+assert_return(() => invoke($0, `le_u`, [-1, -2147483648]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:379
+assert_return(() => invoke($0, `le_u`, [-2147483648, 2147483647]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:380
+assert_return(() => invoke($0, `le_u`, [2147483647, -2147483648]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:382
+assert_return(() => invoke($0, `gt_s`, [0, 0]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:383
+assert_return(() => invoke($0, `gt_s`, [1, 1]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:384
+assert_return(() => invoke($0, `gt_s`, [-1, 1]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:385
+assert_return(() => invoke($0, `gt_s`, [-2147483648, -2147483648]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:386
+assert_return(() => invoke($0, `gt_s`, [2147483647, 2147483647]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:387
+assert_return(() => invoke($0, `gt_s`, [-1, -1]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:388
+assert_return(() => invoke($0, `gt_s`, [1, 0]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:389
+assert_return(() => invoke($0, `gt_s`, [0, 1]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:390
+assert_return(() => invoke($0, `gt_s`, [-2147483648, 0]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:391
+assert_return(() => invoke($0, `gt_s`, [0, -2147483648]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:392
+assert_return(() => invoke($0, `gt_s`, [-2147483648, -1]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:393
+assert_return(() => invoke($0, `gt_s`, [-1, -2147483648]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:394
+assert_return(() => invoke($0, `gt_s`, [-2147483648, 2147483647]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:395
+assert_return(() => invoke($0, `gt_s`, [2147483647, -2147483648]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:397
+assert_return(() => invoke($0, `gt_u`, [0, 0]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:398
+assert_return(() => invoke($0, `gt_u`, [1, 1]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:399
+assert_return(() => invoke($0, `gt_u`, [-1, 1]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:400
+assert_return(() => invoke($0, `gt_u`, [-2147483648, -2147483648]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:401
+assert_return(() => invoke($0, `gt_u`, [2147483647, 2147483647]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:402
+assert_return(() => invoke($0, `gt_u`, [-1, -1]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:403
+assert_return(() => invoke($0, `gt_u`, [1, 0]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:404
+assert_return(() => invoke($0, `gt_u`, [0, 1]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:405
+assert_return(() => invoke($0, `gt_u`, [-2147483648, 0]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:406
+assert_return(() => invoke($0, `gt_u`, [0, -2147483648]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:407
+assert_return(() => invoke($0, `gt_u`, [-2147483648, -1]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:408
+assert_return(() => invoke($0, `gt_u`, [-1, -2147483648]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:409
+assert_return(() => invoke($0, `gt_u`, [-2147483648, 2147483647]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:410
+assert_return(() => invoke($0, `gt_u`, [2147483647, -2147483648]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:412
+assert_return(() => invoke($0, `ge_s`, [0, 0]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:413
+assert_return(() => invoke($0, `ge_s`, [1, 1]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:414
+assert_return(() => invoke($0, `ge_s`, [-1, 1]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:415
+assert_return(() => invoke($0, `ge_s`, [-2147483648, -2147483648]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:416
+assert_return(() => invoke($0, `ge_s`, [2147483647, 2147483647]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:417
+assert_return(() => invoke($0, `ge_s`, [-1, -1]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:418
+assert_return(() => invoke($0, `ge_s`, [1, 0]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:419
+assert_return(() => invoke($0, `ge_s`, [0, 1]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:420
+assert_return(() => invoke($0, `ge_s`, [-2147483648, 0]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:421
+assert_return(() => invoke($0, `ge_s`, [0, -2147483648]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:422
+assert_return(() => invoke($0, `ge_s`, [-2147483648, -1]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:423
+assert_return(() => invoke($0, `ge_s`, [-1, -2147483648]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:424
+assert_return(() => invoke($0, `ge_s`, [-2147483648, 2147483647]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:425
+assert_return(() => invoke($0, `ge_s`, [2147483647, -2147483648]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:427
+assert_return(() => invoke($0, `ge_u`, [0, 0]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:428
+assert_return(() => invoke($0, `ge_u`, [1, 1]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:429
+assert_return(() => invoke($0, `ge_u`, [-1, 1]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:430
+assert_return(() => invoke($0, `ge_u`, [-2147483648, -2147483648]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:431
+assert_return(() => invoke($0, `ge_u`, [2147483647, 2147483647]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:432
+assert_return(() => invoke($0, `ge_u`, [-1, -1]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:433
+assert_return(() => invoke($0, `ge_u`, [1, 0]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:434
+assert_return(() => invoke($0, `ge_u`, [0, 1]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:435
+assert_return(() => invoke($0, `ge_u`, [-2147483648, 0]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:436
+assert_return(() => invoke($0, `ge_u`, [0, -2147483648]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:437
+assert_return(() => invoke($0, `ge_u`, [-2147483648, -1]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:438
+assert_return(() => invoke($0, `ge_u`, [-1, -2147483648]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:439
+assert_return(() => invoke($0, `ge_u`, [-2147483648, 2147483647]), [value("i32", 1)]);
+
+// ./test/core/i32.wast:440
+assert_return(() => invoke($0, `ge_u`, [2147483647, -2147483648]), [value("i32", 0)]);
+
+// ./test/core/i32.wast:443
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-unary-operand-empty
+ (i32.eqz) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:451
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-unary-operand-empty-in-block
+ (i32.const 0)
+ (block (i32.eqz) (drop))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:460
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-unary-operand-empty-in-loop
+ (i32.const 0)
+ (loop (i32.eqz) (drop))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:469
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-unary-operand-empty-in-if
+ (i32.const 0) (i32.const 0)
+ (if (then (i32.eqz) (drop)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:478
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-unary-operand-empty-in-else
+ (i32.const 0) (i32.const 0)
+ (if (result i32) (then (i32.const 0)) (else (i32.eqz))) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:487
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-unary-operand-empty-in-br
+ (i32.const 0)
+ (block (br 0 (i32.eqz)) (drop))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:496
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-unary-operand-empty-in-br_if
+ (i32.const 0)
+ (block (br_if 0 (i32.eqz) (i32.const 1)) (drop))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:505
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-unary-operand-empty-in-br_table
+ (i32.const 0)
+ (block (br_table 0 (i32.eqz)) (drop))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:514
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-unary-operand-empty-in-return
+ (return (i32.eqz)) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:522
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-unary-operand-empty-in-select
+ (select (i32.eqz) (i32.const 1) (i32.const 2)) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:530
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-unary-operand-empty-in-call
+ (call 1 (i32.eqz)) (drop)
+ )
+ (func (param i32) (result i32) (local.get 0))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:539
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f (param i32) (result i32) (local.get 0))
+ (type $$sig (func (param i32) (result i32)))
+ (table funcref (elem $$f))
+ (func $$type-unary-operand-empty-in-call_indirect
+ (block (result i32)
+ (call_indirect (type $$sig)
+ (i32.eqz) (i32.const 0)
+ )
+ (drop)
+ )
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:555
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-unary-operand-empty-in-local.set
+ (local i32)
+ (local.set 0 (i32.eqz)) (local.get 0) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:564
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-unary-operand-empty-in-local.tee
+ (local i32)
+ (local.tee 0 (i32.eqz)) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:573
+assert_invalid(
+ () => instantiate(`(module
+ (global $$x (mut i32) (i32.const 0))
+ (func $$type-unary-operand-empty-in-global.set
+ (global.set $$x (i32.eqz)) (global.get $$x) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:582
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (func $$type-unary-operand-empty-in-memory.grow
+ (memory.grow (i32.eqz)) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:591
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (func $$type-unary-operand-empty-in-load
+ (i32.load (i32.eqz)) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:600
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-unary-operand-empty-in-store
+ (i32.store (i32.eqz) (i32.const 1))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:610
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-binary-1st-operand-empty
+ (i32.add) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:618
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-binary-2nd-operand-empty
+ (i32.const 0) (i32.add) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:626
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-binary-1st-operand-empty-in-block
+ (i32.const 0) (i32.const 0)
+ (block (i32.add) (drop))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:635
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-binary-2nd-operand-empty-in-block
+ (i32.const 0)
+ (block (i32.const 0) (i32.add) (drop))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:644
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-binary-1st-operand-empty-in-loop
+ (i32.const 0) (i32.const 0)
+ (loop (i32.add) (drop))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:653
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-binary-2nd-operand-empty-in-loop
+ (i32.const 0)
+ (loop (i32.const 0) (i32.add) (drop))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:662
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-binary-1st-operand-empty-in-if
+ (i32.const 0) (i32.const 0) (i32.const 0)
+ (if (i32.add) (then (drop)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:671
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-binary-2nd-operand-empty-in-if
+ (i32.const 0) (i32.const 0)
+ (if (i32.const 0) (then (i32.add)) (else (drop)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:680
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-binary-1st-operand-empty-in-else
+ (i32.const 0) (i32.const 0) (i32.const 0)
+ (if (result i32) (then (i32.const 0)) (else (i32.add) (i32.const 0)))
+ (drop) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:690
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-binary-2nd-operand-empty-in-else
+ (i32.const 0) (i32.const 0)
+ (if (result i32) (then (i32.const 0)) (else (i32.add)))
+ (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:700
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-binary-1st-operand-empty-in-br
+ (i32.const 0) (i32.const 0)
+ (block (br 0 (i32.add)) (drop))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:709
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-binary-2nd-operand-empty-in-br
+ (i32.const 0)
+ (block (br 0 (i32.const 0) (i32.add)) (drop))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:718
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-binary-1st-operand-empty-in-br_if
+ (i32.const 0) (i32.const 0)
+ (block (br_if 0 (i32.add) (i32.const 1)) (drop))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:727
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-binary-2nd-operand-empty-in-br_if
+ (i32.const 0)
+ (block (br_if 0 (i32.const 0) (i32.add) (i32.const 1)) (drop))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:736
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-binary-1st-operand-empty-in-br_table
+ (i32.const 0) (i32.const 0)
+ (block (br_table 0 (i32.add)) (drop))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:745
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-binary-2nd-operand-empty-in-br_table
+ (i32.const 0)
+ (block (br_table 0 (i32.const 0) (i32.add)) (drop))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:754
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-binary-1st-operand-empty-in-return
+ (return (i32.add)) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:762
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-binary-2nd-operand-empty-in-return
+ (return (i32.const 0) (i32.add)) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:770
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-binary-1st-operand-empty-in-select
+ (select (i32.add) (i32.const 1) (i32.const 2)) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:778
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-binary-2nd-operand-empty-in-select
+ (select (i32.const 0) (i32.add) (i32.const 1) (i32.const 2)) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:786
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-binary-1st-operand-empty-in-call
+ (call 1 (i32.add)) (drop)
+ )
+ (func (param i32 i32) (result i32) (local.get 0))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:795
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-binary-2nd-operand-empty-in-call
+ (call 1 (i32.const 0) (i32.add)) (drop)
+ )
+ (func (param i32 i32) (result i32) (local.get 0))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:804
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f (param i32) (result i32) (local.get 0))
+ (type $$sig (func (param i32) (result i32)))
+ (table funcref (elem $$f))
+ (func $$type-binary-1st-operand-empty-in-call_indirect
+ (block (result i32)
+ (call_indirect (type $$sig)
+ (i32.add) (i32.const 0)
+ )
+ (drop)
+ )
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:820
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f (param i32) (result i32) (local.get 0))
+ (type $$sig (func (param i32) (result i32)))
+ (table funcref (elem $$f))
+ (func $$type-binary-2nd-operand-empty-in-call_indirect
+ (block (result i32)
+ (call_indirect (type $$sig)
+ (i32.const 0) (i32.add) (i32.const 0)
+ )
+ (drop)
+ )
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:836
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-binary-1st-operand-empty-in-local.set
+ (local i32)
+ (local.set 0 (i32.add)) (local.get 0) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:845
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-binary-2nd-operand-empty-in-local.set
+ (local i32)
+ (local.set 0 (i32.const 0) (i32.add)) (local.get 0) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:854
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-binary-1st-operand-empty-in-local.tee
+ (local i32)
+ (local.tee 0 (i32.add)) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:863
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-binary-2nd-operand-empty-in-local.tee
+ (local i32)
+ (local.tee 0 (i32.const 0) (i32.add)) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:872
+assert_invalid(
+ () => instantiate(`(module
+ (global $$x (mut i32) (i32.const 0))
+ (func $$type-binary-1st-operand-empty-in-global.set
+ (global.set $$x (i32.add)) (global.get $$x) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:881
+assert_invalid(
+ () => instantiate(`(module
+ (global $$x (mut i32) (i32.const 0))
+ (func $$type-binary-2nd-operand-empty-in-global.set
+ (global.set $$x (i32.const 0) (i32.add)) (global.get $$x) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:890
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (func $$type-binary-1st-operand-empty-in-memory.grow
+ (memory.grow (i32.add)) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:899
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (func $$type-binary-2nd-operand-empty-in-memory.grow
+ (memory.grow (i32.const 0) (i32.add)) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:908
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (func $$type-binary-1st-operand-empty-in-load
+ (i32.load (i32.add)) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:917
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (func $$type-binary-2nd-operand-empty-in-load
+ (i32.load (i32.const 0) (i32.add)) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:926
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-binary-1st-operand-empty-in-store
+ (i32.store (i32.add) (i32.const 1))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:935
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-binary-2nd-operand-empty-in-store
+ (i32.store (i32.const 1) (i32.add) (i32.const 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:948
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (i32.add (i64.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:949
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (i32.and (i64.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:950
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (i32.div_s (i64.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:951
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (i32.div_u (i64.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:952
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (i32.mul (i64.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:953
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (i32.or (i64.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:954
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (i32.rem_s (i64.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:955
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (i32.rem_u (i64.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:956
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (i32.rotl (i64.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:957
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (i32.rotr (i64.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:958
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (i32.shl (i64.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:959
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (i32.shr_s (i64.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:960
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (i32.shr_u (i64.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:961
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (i32.sub (i64.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:962
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (i32.xor (i64.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:963
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (i32.eqz (i64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:964
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (i32.clz (i64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:965
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (i32.ctz (i64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:966
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (i32.popcnt (i64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:967
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (i32.eq (i64.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:968
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (i32.ge_s (i64.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:969
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (i32.ge_u (i64.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:970
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (i32.gt_s (i64.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:971
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (i32.gt_u (i64.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:972
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (i32.le_s (i64.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:973
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (i32.le_u (i64.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:974
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (i32.lt_s (i64.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:975
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (i32.lt_u (i64.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:976
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (i32.ne (i64.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i32.wast:978
+assert_malformed(
+ () => instantiate(`(func (result i32) (i32.const nan:arithmetic)) `),
+ `unexpected token`,
+);
+
+// ./test/core/i32.wast:982
+assert_malformed(
+ () => instantiate(`(func (result i32) (i32.const nan:canonical)) `),
+ `unexpected token`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/i64.wast.js b/js/src/jit-test/tests/wasm/spec/spec/i64.wast.js
new file mode 100644
index 0000000000..1fb9bc1cc8
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/i64.wast.js
@@ -0,0 +1,1600 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/i64.wast
+
+// ./test/core/i64.wast:3
+let $0 = instantiate(`(module
+ (func (export "add") (param $$x i64) (param $$y i64) (result i64) (i64.add (local.get $$x) (local.get $$y)))
+ (func (export "sub") (param $$x i64) (param $$y i64) (result i64) (i64.sub (local.get $$x) (local.get $$y)))
+ (func (export "mul") (param $$x i64) (param $$y i64) (result i64) (i64.mul (local.get $$x) (local.get $$y)))
+ (func (export "div_s") (param $$x i64) (param $$y i64) (result i64) (i64.div_s (local.get $$x) (local.get $$y)))
+ (func (export "div_u") (param $$x i64) (param $$y i64) (result i64) (i64.div_u (local.get $$x) (local.get $$y)))
+ (func (export "rem_s") (param $$x i64) (param $$y i64) (result i64) (i64.rem_s (local.get $$x) (local.get $$y)))
+ (func (export "rem_u") (param $$x i64) (param $$y i64) (result i64) (i64.rem_u (local.get $$x) (local.get $$y)))
+ (func (export "and") (param $$x i64) (param $$y i64) (result i64) (i64.and (local.get $$x) (local.get $$y)))
+ (func (export "or") (param $$x i64) (param $$y i64) (result i64) (i64.or (local.get $$x) (local.get $$y)))
+ (func (export "xor") (param $$x i64) (param $$y i64) (result i64) (i64.xor (local.get $$x) (local.get $$y)))
+ (func (export "shl") (param $$x i64) (param $$y i64) (result i64) (i64.shl (local.get $$x) (local.get $$y)))
+ (func (export "shr_s") (param $$x i64) (param $$y i64) (result i64) (i64.shr_s (local.get $$x) (local.get $$y)))
+ (func (export "shr_u") (param $$x i64) (param $$y i64) (result i64) (i64.shr_u (local.get $$x) (local.get $$y)))
+ (func (export "rotl") (param $$x i64) (param $$y i64) (result i64) (i64.rotl (local.get $$x) (local.get $$y)))
+ (func (export "rotr") (param $$x i64) (param $$y i64) (result i64) (i64.rotr (local.get $$x) (local.get $$y)))
+ (func (export "clz") (param $$x i64) (result i64) (i64.clz (local.get $$x)))
+ (func (export "ctz") (param $$x i64) (result i64) (i64.ctz (local.get $$x)))
+ (func (export "popcnt") (param $$x i64) (result i64) (i64.popcnt (local.get $$x)))
+ (func (export "extend8_s") (param $$x i64) (result i64) (i64.extend8_s (local.get $$x)))
+ (func (export "extend16_s") (param $$x i64) (result i64) (i64.extend16_s (local.get $$x)))
+ (func (export "extend32_s") (param $$x i64) (result i64) (i64.extend32_s (local.get $$x)))
+ (func (export "eqz") (param $$x i64) (result i32) (i64.eqz (local.get $$x)))
+ (func (export "eq") (param $$x i64) (param $$y i64) (result i32) (i64.eq (local.get $$x) (local.get $$y)))
+ (func (export "ne") (param $$x i64) (param $$y i64) (result i32) (i64.ne (local.get $$x) (local.get $$y)))
+ (func (export "lt_s") (param $$x i64) (param $$y i64) (result i32) (i64.lt_s (local.get $$x) (local.get $$y)))
+ (func (export "lt_u") (param $$x i64) (param $$y i64) (result i32) (i64.lt_u (local.get $$x) (local.get $$y)))
+ (func (export "le_s") (param $$x i64) (param $$y i64) (result i32) (i64.le_s (local.get $$x) (local.get $$y)))
+ (func (export "le_u") (param $$x i64) (param $$y i64) (result i32) (i64.le_u (local.get $$x) (local.get $$y)))
+ (func (export "gt_s") (param $$x i64) (param $$y i64) (result i32) (i64.gt_s (local.get $$x) (local.get $$y)))
+ (func (export "gt_u") (param $$x i64) (param $$y i64) (result i32) (i64.gt_u (local.get $$x) (local.get $$y)))
+ (func (export "ge_s") (param $$x i64) (param $$y i64) (result i32) (i64.ge_s (local.get $$x) (local.get $$y)))
+ (func (export "ge_u") (param $$x i64) (param $$y i64) (result i32) (i64.ge_u (local.get $$x) (local.get $$y)))
+)`);
+
+// ./test/core/i64.wast:38
+assert_return(() => invoke($0, `add`, [1n, 1n]), [value("i64", 2n)]);
+
+// ./test/core/i64.wast:39
+assert_return(() => invoke($0, `add`, [1n, 0n]), [value("i64", 1n)]);
+
+// ./test/core/i64.wast:40
+assert_return(() => invoke($0, `add`, [-1n, -1n]), [value("i64", -2n)]);
+
+// ./test/core/i64.wast:41
+assert_return(() => invoke($0, `add`, [-1n, 1n]), [value("i64", 0n)]);
+
+// ./test/core/i64.wast:42
+assert_return(
+ () => invoke($0, `add`, [9223372036854775807n, 1n]),
+ [value("i64", -9223372036854775808n)],
+);
+
+// ./test/core/i64.wast:43
+assert_return(
+ () => invoke($0, `add`, [-9223372036854775808n, -1n]),
+ [value("i64", 9223372036854775807n)],
+);
+
+// ./test/core/i64.wast:44
+assert_return(
+ () => invoke($0, `add`, [-9223372036854775808n, -9223372036854775808n]),
+ [value("i64", 0n)],
+);
+
+// ./test/core/i64.wast:45
+assert_return(() => invoke($0, `add`, [1073741823n, 1n]), [value("i64", 1073741824n)]);
+
+// ./test/core/i64.wast:47
+assert_return(() => invoke($0, `sub`, [1n, 1n]), [value("i64", 0n)]);
+
+// ./test/core/i64.wast:48
+assert_return(() => invoke($0, `sub`, [1n, 0n]), [value("i64", 1n)]);
+
+// ./test/core/i64.wast:49
+assert_return(() => invoke($0, `sub`, [-1n, -1n]), [value("i64", 0n)]);
+
+// ./test/core/i64.wast:50
+assert_return(
+ () => invoke($0, `sub`, [9223372036854775807n, -1n]),
+ [value("i64", -9223372036854775808n)],
+);
+
+// ./test/core/i64.wast:51
+assert_return(
+ () => invoke($0, `sub`, [-9223372036854775808n, 1n]),
+ [value("i64", 9223372036854775807n)],
+);
+
+// ./test/core/i64.wast:52
+assert_return(
+ () => invoke($0, `sub`, [-9223372036854775808n, -9223372036854775808n]),
+ [value("i64", 0n)],
+);
+
+// ./test/core/i64.wast:53
+assert_return(() => invoke($0, `sub`, [1073741823n, -1n]), [value("i64", 1073741824n)]);
+
+// ./test/core/i64.wast:55
+assert_return(() => invoke($0, `mul`, [1n, 1n]), [value("i64", 1n)]);
+
+// ./test/core/i64.wast:56
+assert_return(() => invoke($0, `mul`, [1n, 0n]), [value("i64", 0n)]);
+
+// ./test/core/i64.wast:57
+assert_return(() => invoke($0, `mul`, [-1n, -1n]), [value("i64", 1n)]);
+
+// ./test/core/i64.wast:58
+assert_return(() => invoke($0, `mul`, [1152921504606846976n, 4096n]), [value("i64", 0n)]);
+
+// ./test/core/i64.wast:59
+assert_return(() => invoke($0, `mul`, [-9223372036854775808n, 0n]), [value("i64", 0n)]);
+
+// ./test/core/i64.wast:60
+assert_return(
+ () => invoke($0, `mul`, [-9223372036854775808n, -1n]),
+ [value("i64", -9223372036854775808n)],
+);
+
+// ./test/core/i64.wast:61
+assert_return(
+ () => invoke($0, `mul`, [9223372036854775807n, -1n]),
+ [value("i64", -9223372036854775807n)],
+);
+
+// ./test/core/i64.wast:62
+assert_return(
+ () => invoke($0, `mul`, [81985529216486895n, -81985529216486896n]),
+ [value("i64", 2465395958572223728n)],
+);
+
+// ./test/core/i64.wast:63
+assert_return(() => invoke($0, `mul`, [9223372036854775807n, 9223372036854775807n]), [value("i64", 1n)]);
+
+// ./test/core/i64.wast:65
+assert_trap(() => invoke($0, `div_s`, [1n, 0n]), `integer divide by zero`);
+
+// ./test/core/i64.wast:66
+assert_trap(() => invoke($0, `div_s`, [0n, 0n]), `integer divide by zero`);
+
+// ./test/core/i64.wast:67
+assert_trap(() => invoke($0, `div_s`, [-9223372036854775808n, -1n]), `integer overflow`);
+
+// ./test/core/i64.wast:68
+assert_trap(() => invoke($0, `div_s`, [-9223372036854775808n, 0n]), `integer divide by zero`);
+
+// ./test/core/i64.wast:69
+assert_return(() => invoke($0, `div_s`, [1n, 1n]), [value("i64", 1n)]);
+
+// ./test/core/i64.wast:70
+assert_return(() => invoke($0, `div_s`, [0n, 1n]), [value("i64", 0n)]);
+
+// ./test/core/i64.wast:71
+assert_return(() => invoke($0, `div_s`, [0n, -1n]), [value("i64", 0n)]);
+
+// ./test/core/i64.wast:72
+assert_return(() => invoke($0, `div_s`, [-1n, -1n]), [value("i64", 1n)]);
+
+// ./test/core/i64.wast:73
+assert_return(
+ () => invoke($0, `div_s`, [-9223372036854775808n, 2n]),
+ [value("i64", -4611686018427387904n)],
+);
+
+// ./test/core/i64.wast:74
+assert_return(
+ () => invoke($0, `div_s`, [-9223372036854775807n, 1000n]),
+ [value("i64", -9223372036854775n)],
+);
+
+// ./test/core/i64.wast:75
+assert_return(() => invoke($0, `div_s`, [5n, 2n]), [value("i64", 2n)]);
+
+// ./test/core/i64.wast:76
+assert_return(() => invoke($0, `div_s`, [-5n, 2n]), [value("i64", -2n)]);
+
+// ./test/core/i64.wast:77
+assert_return(() => invoke($0, `div_s`, [5n, -2n]), [value("i64", -2n)]);
+
+// ./test/core/i64.wast:78
+assert_return(() => invoke($0, `div_s`, [-5n, -2n]), [value("i64", 2n)]);
+
+// ./test/core/i64.wast:79
+assert_return(() => invoke($0, `div_s`, [7n, 3n]), [value("i64", 2n)]);
+
+// ./test/core/i64.wast:80
+assert_return(() => invoke($0, `div_s`, [-7n, 3n]), [value("i64", -2n)]);
+
+// ./test/core/i64.wast:81
+assert_return(() => invoke($0, `div_s`, [7n, -3n]), [value("i64", -2n)]);
+
+// ./test/core/i64.wast:82
+assert_return(() => invoke($0, `div_s`, [-7n, -3n]), [value("i64", 2n)]);
+
+// ./test/core/i64.wast:83
+assert_return(() => invoke($0, `div_s`, [11n, 5n]), [value("i64", 2n)]);
+
+// ./test/core/i64.wast:84
+assert_return(() => invoke($0, `div_s`, [17n, 7n]), [value("i64", 2n)]);
+
+// ./test/core/i64.wast:86
+assert_trap(() => invoke($0, `div_u`, [1n, 0n]), `integer divide by zero`);
+
+// ./test/core/i64.wast:87
+assert_trap(() => invoke($0, `div_u`, [0n, 0n]), `integer divide by zero`);
+
+// ./test/core/i64.wast:88
+assert_return(() => invoke($0, `div_u`, [1n, 1n]), [value("i64", 1n)]);
+
+// ./test/core/i64.wast:89
+assert_return(() => invoke($0, `div_u`, [0n, 1n]), [value("i64", 0n)]);
+
+// ./test/core/i64.wast:90
+assert_return(() => invoke($0, `div_u`, [-1n, -1n]), [value("i64", 1n)]);
+
+// ./test/core/i64.wast:91
+assert_return(() => invoke($0, `div_u`, [-9223372036854775808n, -1n]), [value("i64", 0n)]);
+
+// ./test/core/i64.wast:92
+assert_return(
+ () => invoke($0, `div_u`, [-9223372036854775808n, 2n]),
+ [value("i64", 4611686018427387904n)],
+);
+
+// ./test/core/i64.wast:93
+assert_return(
+ () => invoke($0, `div_u`, [-8074936608141340688n, 4294967297n]),
+ [value("i64", 2414874607n)],
+);
+
+// ./test/core/i64.wast:94
+assert_return(
+ () => invoke($0, `div_u`, [-9223372036854775807n, 1000n]),
+ [value("i64", 9223372036854775n)],
+);
+
+// ./test/core/i64.wast:95
+assert_return(() => invoke($0, `div_u`, [5n, 2n]), [value("i64", 2n)]);
+
+// ./test/core/i64.wast:96
+assert_return(() => invoke($0, `div_u`, [-5n, 2n]), [value("i64", 9223372036854775805n)]);
+
+// ./test/core/i64.wast:97
+assert_return(() => invoke($0, `div_u`, [5n, -2n]), [value("i64", 0n)]);
+
+// ./test/core/i64.wast:98
+assert_return(() => invoke($0, `div_u`, [-5n, -2n]), [value("i64", 0n)]);
+
+// ./test/core/i64.wast:99
+assert_return(() => invoke($0, `div_u`, [7n, 3n]), [value("i64", 2n)]);
+
+// ./test/core/i64.wast:100
+assert_return(() => invoke($0, `div_u`, [11n, 5n]), [value("i64", 2n)]);
+
+// ./test/core/i64.wast:101
+assert_return(() => invoke($0, `div_u`, [17n, 7n]), [value("i64", 2n)]);
+
+// ./test/core/i64.wast:103
+assert_trap(() => invoke($0, `rem_s`, [1n, 0n]), `integer divide by zero`);
+
+// ./test/core/i64.wast:104
+assert_trap(() => invoke($0, `rem_s`, [0n, 0n]), `integer divide by zero`);
+
+// ./test/core/i64.wast:105
+assert_return(() => invoke($0, `rem_s`, [9223372036854775807n, -1n]), [value("i64", 0n)]);
+
+// ./test/core/i64.wast:106
+assert_return(() => invoke($0, `rem_s`, [1n, 1n]), [value("i64", 0n)]);
+
+// ./test/core/i64.wast:107
+assert_return(() => invoke($0, `rem_s`, [0n, 1n]), [value("i64", 0n)]);
+
+// ./test/core/i64.wast:108
+assert_return(() => invoke($0, `rem_s`, [0n, -1n]), [value("i64", 0n)]);
+
+// ./test/core/i64.wast:109
+assert_return(() => invoke($0, `rem_s`, [-1n, -1n]), [value("i64", 0n)]);
+
+// ./test/core/i64.wast:110
+assert_return(() => invoke($0, `rem_s`, [-9223372036854775808n, -1n]), [value("i64", 0n)]);
+
+// ./test/core/i64.wast:111
+assert_return(() => invoke($0, `rem_s`, [-9223372036854775808n, 2n]), [value("i64", 0n)]);
+
+// ./test/core/i64.wast:112
+assert_return(() => invoke($0, `rem_s`, [-9223372036854775807n, 1000n]), [value("i64", -807n)]);
+
+// ./test/core/i64.wast:113
+assert_return(() => invoke($0, `rem_s`, [5n, 2n]), [value("i64", 1n)]);
+
+// ./test/core/i64.wast:114
+assert_return(() => invoke($0, `rem_s`, [-5n, 2n]), [value("i64", -1n)]);
+
+// ./test/core/i64.wast:115
+assert_return(() => invoke($0, `rem_s`, [5n, -2n]), [value("i64", 1n)]);
+
+// ./test/core/i64.wast:116
+assert_return(() => invoke($0, `rem_s`, [-5n, -2n]), [value("i64", -1n)]);
+
+// ./test/core/i64.wast:117
+assert_return(() => invoke($0, `rem_s`, [7n, 3n]), [value("i64", 1n)]);
+
+// ./test/core/i64.wast:118
+assert_return(() => invoke($0, `rem_s`, [-7n, 3n]), [value("i64", -1n)]);
+
+// ./test/core/i64.wast:119
+assert_return(() => invoke($0, `rem_s`, [7n, -3n]), [value("i64", 1n)]);
+
+// ./test/core/i64.wast:120
+assert_return(() => invoke($0, `rem_s`, [-7n, -3n]), [value("i64", -1n)]);
+
+// ./test/core/i64.wast:121
+assert_return(() => invoke($0, `rem_s`, [11n, 5n]), [value("i64", 1n)]);
+
+// ./test/core/i64.wast:122
+assert_return(() => invoke($0, `rem_s`, [17n, 7n]), [value("i64", 3n)]);
+
+// ./test/core/i64.wast:124
+assert_trap(() => invoke($0, `rem_u`, [1n, 0n]), `integer divide by zero`);
+
+// ./test/core/i64.wast:125
+assert_trap(() => invoke($0, `rem_u`, [0n, 0n]), `integer divide by zero`);
+
+// ./test/core/i64.wast:126
+assert_return(() => invoke($0, `rem_u`, [1n, 1n]), [value("i64", 0n)]);
+
+// ./test/core/i64.wast:127
+assert_return(() => invoke($0, `rem_u`, [0n, 1n]), [value("i64", 0n)]);
+
+// ./test/core/i64.wast:128
+assert_return(() => invoke($0, `rem_u`, [-1n, -1n]), [value("i64", 0n)]);
+
+// ./test/core/i64.wast:129
+assert_return(
+ () => invoke($0, `rem_u`, [-9223372036854775808n, -1n]),
+ [value("i64", -9223372036854775808n)],
+);
+
+// ./test/core/i64.wast:130
+assert_return(() => invoke($0, `rem_u`, [-9223372036854775808n, 2n]), [value("i64", 0n)]);
+
+// ./test/core/i64.wast:131
+assert_return(
+ () => invoke($0, `rem_u`, [-8074936608141340688n, 4294967297n]),
+ [value("i64", 2147483649n)],
+);
+
+// ./test/core/i64.wast:132
+assert_return(() => invoke($0, `rem_u`, [-9223372036854775807n, 1000n]), [value("i64", 809n)]);
+
+// ./test/core/i64.wast:133
+assert_return(() => invoke($0, `rem_u`, [5n, 2n]), [value("i64", 1n)]);
+
+// ./test/core/i64.wast:134
+assert_return(() => invoke($0, `rem_u`, [-5n, 2n]), [value("i64", 1n)]);
+
+// ./test/core/i64.wast:135
+assert_return(() => invoke($0, `rem_u`, [5n, -2n]), [value("i64", 5n)]);
+
+// ./test/core/i64.wast:136
+assert_return(() => invoke($0, `rem_u`, [-5n, -2n]), [value("i64", -5n)]);
+
+// ./test/core/i64.wast:137
+assert_return(() => invoke($0, `rem_u`, [7n, 3n]), [value("i64", 1n)]);
+
+// ./test/core/i64.wast:138
+assert_return(() => invoke($0, `rem_u`, [11n, 5n]), [value("i64", 1n)]);
+
+// ./test/core/i64.wast:139
+assert_return(() => invoke($0, `rem_u`, [17n, 7n]), [value("i64", 3n)]);
+
+// ./test/core/i64.wast:141
+assert_return(() => invoke($0, `and`, [1n, 0n]), [value("i64", 0n)]);
+
+// ./test/core/i64.wast:142
+assert_return(() => invoke($0, `and`, [0n, 1n]), [value("i64", 0n)]);
+
+// ./test/core/i64.wast:143
+assert_return(() => invoke($0, `and`, [1n, 1n]), [value("i64", 1n)]);
+
+// ./test/core/i64.wast:144
+assert_return(() => invoke($0, `and`, [0n, 0n]), [value("i64", 0n)]);
+
+// ./test/core/i64.wast:145
+assert_return(
+ () => invoke($0, `and`, [9223372036854775807n, -9223372036854775808n]),
+ [value("i64", 0n)],
+);
+
+// ./test/core/i64.wast:146
+assert_return(
+ () => invoke($0, `and`, [9223372036854775807n, -1n]),
+ [value("i64", 9223372036854775807n)],
+);
+
+// ./test/core/i64.wast:147
+assert_return(() => invoke($0, `and`, [4042326015n, 4294963440n]), [value("i64", 4042322160n)]);
+
+// ./test/core/i64.wast:148
+assert_return(() => invoke($0, `and`, [-1n, -1n]), [value("i64", -1n)]);
+
+// ./test/core/i64.wast:150
+assert_return(() => invoke($0, `or`, [1n, 0n]), [value("i64", 1n)]);
+
+// ./test/core/i64.wast:151
+assert_return(() => invoke($0, `or`, [0n, 1n]), [value("i64", 1n)]);
+
+// ./test/core/i64.wast:152
+assert_return(() => invoke($0, `or`, [1n, 1n]), [value("i64", 1n)]);
+
+// ./test/core/i64.wast:153
+assert_return(() => invoke($0, `or`, [0n, 0n]), [value("i64", 0n)]);
+
+// ./test/core/i64.wast:154
+assert_return(
+ () => invoke($0, `or`, [9223372036854775807n, -9223372036854775808n]),
+ [value("i64", -1n)],
+);
+
+// ./test/core/i64.wast:155
+assert_return(
+ () => invoke($0, `or`, [-9223372036854775808n, 0n]),
+ [value("i64", -9223372036854775808n)],
+);
+
+// ./test/core/i64.wast:156
+assert_return(() => invoke($0, `or`, [4042326015n, 4294963440n]), [value("i64", 4294967295n)]);
+
+// ./test/core/i64.wast:157
+assert_return(() => invoke($0, `or`, [-1n, -1n]), [value("i64", -1n)]);
+
+// ./test/core/i64.wast:159
+assert_return(() => invoke($0, `xor`, [1n, 0n]), [value("i64", 1n)]);
+
+// ./test/core/i64.wast:160
+assert_return(() => invoke($0, `xor`, [0n, 1n]), [value("i64", 1n)]);
+
+// ./test/core/i64.wast:161
+assert_return(() => invoke($0, `xor`, [1n, 1n]), [value("i64", 0n)]);
+
+// ./test/core/i64.wast:162
+assert_return(() => invoke($0, `xor`, [0n, 0n]), [value("i64", 0n)]);
+
+// ./test/core/i64.wast:163
+assert_return(
+ () => invoke($0, `xor`, [9223372036854775807n, -9223372036854775808n]),
+ [value("i64", -1n)],
+);
+
+// ./test/core/i64.wast:164
+assert_return(
+ () => invoke($0, `xor`, [-9223372036854775808n, 0n]),
+ [value("i64", -9223372036854775808n)],
+);
+
+// ./test/core/i64.wast:165
+assert_return(
+ () => invoke($0, `xor`, [-1n, -9223372036854775808n]),
+ [value("i64", 9223372036854775807n)],
+);
+
+// ./test/core/i64.wast:166
+assert_return(
+ () => invoke($0, `xor`, [-1n, 9223372036854775807n]),
+ [value("i64", -9223372036854775808n)],
+);
+
+// ./test/core/i64.wast:167
+assert_return(() => invoke($0, `xor`, [4042326015n, 4294963440n]), [value("i64", 252645135n)]);
+
+// ./test/core/i64.wast:168
+assert_return(() => invoke($0, `xor`, [-1n, -1n]), [value("i64", 0n)]);
+
+// ./test/core/i64.wast:170
+assert_return(() => invoke($0, `shl`, [1n, 1n]), [value("i64", 2n)]);
+
+// ./test/core/i64.wast:171
+assert_return(() => invoke($0, `shl`, [1n, 0n]), [value("i64", 1n)]);
+
+// ./test/core/i64.wast:172
+assert_return(() => invoke($0, `shl`, [9223372036854775807n, 1n]), [value("i64", -2n)]);
+
+// ./test/core/i64.wast:173
+assert_return(() => invoke($0, `shl`, [-1n, 1n]), [value("i64", -2n)]);
+
+// ./test/core/i64.wast:174
+assert_return(() => invoke($0, `shl`, [-9223372036854775808n, 1n]), [value("i64", 0n)]);
+
+// ./test/core/i64.wast:175
+assert_return(
+ () => invoke($0, `shl`, [4611686018427387904n, 1n]),
+ [value("i64", -9223372036854775808n)],
+);
+
+// ./test/core/i64.wast:176
+assert_return(() => invoke($0, `shl`, [1n, 63n]), [value("i64", -9223372036854775808n)]);
+
+// ./test/core/i64.wast:177
+assert_return(() => invoke($0, `shl`, [1n, 64n]), [value("i64", 1n)]);
+
+// ./test/core/i64.wast:178
+assert_return(() => invoke($0, `shl`, [1n, 65n]), [value("i64", 2n)]);
+
+// ./test/core/i64.wast:179
+assert_return(() => invoke($0, `shl`, [1n, -1n]), [value("i64", -9223372036854775808n)]);
+
+// ./test/core/i64.wast:180
+assert_return(
+ () => invoke($0, `shl`, [1n, 9223372036854775807n]),
+ [value("i64", -9223372036854775808n)],
+);
+
+// ./test/core/i64.wast:182
+assert_return(() => invoke($0, `shr_s`, [1n, 1n]), [value("i64", 0n)]);
+
+// ./test/core/i64.wast:183
+assert_return(() => invoke($0, `shr_s`, [1n, 0n]), [value("i64", 1n)]);
+
+// ./test/core/i64.wast:184
+assert_return(() => invoke($0, `shr_s`, [-1n, 1n]), [value("i64", -1n)]);
+
+// ./test/core/i64.wast:185
+assert_return(
+ () => invoke($0, `shr_s`, [9223372036854775807n, 1n]),
+ [value("i64", 4611686018427387903n)],
+);
+
+// ./test/core/i64.wast:186
+assert_return(
+ () => invoke($0, `shr_s`, [-9223372036854775808n, 1n]),
+ [value("i64", -4611686018427387904n)],
+);
+
+// ./test/core/i64.wast:187
+assert_return(
+ () => invoke($0, `shr_s`, [4611686018427387904n, 1n]),
+ [value("i64", 2305843009213693952n)],
+);
+
+// ./test/core/i64.wast:188
+assert_return(() => invoke($0, `shr_s`, [1n, 64n]), [value("i64", 1n)]);
+
+// ./test/core/i64.wast:189
+assert_return(() => invoke($0, `shr_s`, [1n, 65n]), [value("i64", 0n)]);
+
+// ./test/core/i64.wast:190
+assert_return(() => invoke($0, `shr_s`, [1n, -1n]), [value("i64", 0n)]);
+
+// ./test/core/i64.wast:191
+assert_return(() => invoke($0, `shr_s`, [1n, 9223372036854775807n]), [value("i64", 0n)]);
+
+// ./test/core/i64.wast:192
+assert_return(() => invoke($0, `shr_s`, [1n, -9223372036854775808n]), [value("i64", 1n)]);
+
+// ./test/core/i64.wast:193
+assert_return(() => invoke($0, `shr_s`, [-9223372036854775808n, 63n]), [value("i64", -1n)]);
+
+// ./test/core/i64.wast:194
+assert_return(() => invoke($0, `shr_s`, [-1n, 64n]), [value("i64", -1n)]);
+
+// ./test/core/i64.wast:195
+assert_return(() => invoke($0, `shr_s`, [-1n, 65n]), [value("i64", -1n)]);
+
+// ./test/core/i64.wast:196
+assert_return(() => invoke($0, `shr_s`, [-1n, -1n]), [value("i64", -1n)]);
+
+// ./test/core/i64.wast:197
+assert_return(() => invoke($0, `shr_s`, [-1n, 9223372036854775807n]), [value("i64", -1n)]);
+
+// ./test/core/i64.wast:198
+assert_return(() => invoke($0, `shr_s`, [-1n, -9223372036854775808n]), [value("i64", -1n)]);
+
+// ./test/core/i64.wast:200
+assert_return(() => invoke($0, `shr_u`, [1n, 1n]), [value("i64", 0n)]);
+
+// ./test/core/i64.wast:201
+assert_return(() => invoke($0, `shr_u`, [1n, 0n]), [value("i64", 1n)]);
+
+// ./test/core/i64.wast:202
+assert_return(() => invoke($0, `shr_u`, [-1n, 1n]), [value("i64", 9223372036854775807n)]);
+
+// ./test/core/i64.wast:203
+assert_return(
+ () => invoke($0, `shr_u`, [9223372036854775807n, 1n]),
+ [value("i64", 4611686018427387903n)],
+);
+
+// ./test/core/i64.wast:204
+assert_return(
+ () => invoke($0, `shr_u`, [-9223372036854775808n, 1n]),
+ [value("i64", 4611686018427387904n)],
+);
+
+// ./test/core/i64.wast:205
+assert_return(
+ () => invoke($0, `shr_u`, [4611686018427387904n, 1n]),
+ [value("i64", 2305843009213693952n)],
+);
+
+// ./test/core/i64.wast:206
+assert_return(() => invoke($0, `shr_u`, [1n, 64n]), [value("i64", 1n)]);
+
+// ./test/core/i64.wast:207
+assert_return(() => invoke($0, `shr_u`, [1n, 65n]), [value("i64", 0n)]);
+
+// ./test/core/i64.wast:208
+assert_return(() => invoke($0, `shr_u`, [1n, -1n]), [value("i64", 0n)]);
+
+// ./test/core/i64.wast:209
+assert_return(() => invoke($0, `shr_u`, [1n, 9223372036854775807n]), [value("i64", 0n)]);
+
+// ./test/core/i64.wast:210
+assert_return(() => invoke($0, `shr_u`, [1n, -9223372036854775808n]), [value("i64", 1n)]);
+
+// ./test/core/i64.wast:211
+assert_return(() => invoke($0, `shr_u`, [-9223372036854775808n, 63n]), [value("i64", 1n)]);
+
+// ./test/core/i64.wast:212
+assert_return(() => invoke($0, `shr_u`, [-1n, 64n]), [value("i64", -1n)]);
+
+// ./test/core/i64.wast:213
+assert_return(() => invoke($0, `shr_u`, [-1n, 65n]), [value("i64", 9223372036854775807n)]);
+
+// ./test/core/i64.wast:214
+assert_return(() => invoke($0, `shr_u`, [-1n, -1n]), [value("i64", 1n)]);
+
+// ./test/core/i64.wast:215
+assert_return(() => invoke($0, `shr_u`, [-1n, 9223372036854775807n]), [value("i64", 1n)]);
+
+// ./test/core/i64.wast:216
+assert_return(() => invoke($0, `shr_u`, [-1n, -9223372036854775808n]), [value("i64", -1n)]);
+
+// ./test/core/i64.wast:218
+assert_return(() => invoke($0, `rotl`, [1n, 1n]), [value("i64", 2n)]);
+
+// ./test/core/i64.wast:219
+assert_return(() => invoke($0, `rotl`, [1n, 0n]), [value("i64", 1n)]);
+
+// ./test/core/i64.wast:220
+assert_return(() => invoke($0, `rotl`, [-1n, 1n]), [value("i64", -1n)]);
+
+// ./test/core/i64.wast:221
+assert_return(() => invoke($0, `rotl`, [1n, 64n]), [value("i64", 1n)]);
+
+// ./test/core/i64.wast:222
+assert_return(
+ () => invoke($0, `rotl`, [-6067025490386449714n, 1n]),
+ [value("i64", 6312693092936652189n)],
+);
+
+// ./test/core/i64.wast:223
+assert_return(
+ () => invoke($0, `rotl`, [-144115184384868352n, 4n]),
+ [value("i64", -2305842950157893617n)],
+);
+
+// ./test/core/i64.wast:224
+assert_return(
+ () => invoke($0, `rotl`, [-6067173104435169271n, 53n]),
+ [value("i64", 87109505680009935n)],
+);
+
+// ./test/core/i64.wast:225
+assert_return(
+ () => invoke($0, `rotl`, [-6066028401059725156n, 63n]),
+ [value("i64", 6190357836324913230n)],
+);
+
+// ./test/core/i64.wast:226
+assert_return(
+ () => invoke($0, `rotl`, [-6067173104435169271n, 245n]),
+ [value("i64", 87109505680009935n)],
+);
+
+// ./test/core/i64.wast:227
+assert_return(
+ () => invoke($0, `rotl`, [-6067067139002042359n, -19n]),
+ [value("i64", -3530481836149793302n)],
+);
+
+// ./test/core/i64.wast:228
+assert_return(
+ () => invoke($0, `rotl`, [-6066028401059725156n, -9223372036854775745n]),
+ [value("i64", 6190357836324913230n)],
+);
+
+// ./test/core/i64.wast:229
+assert_return(() => invoke($0, `rotl`, [1n, 63n]), [value("i64", -9223372036854775808n)]);
+
+// ./test/core/i64.wast:230
+assert_return(() => invoke($0, `rotl`, [-9223372036854775808n, 1n]), [value("i64", 1n)]);
+
+// ./test/core/i64.wast:232
+assert_return(() => invoke($0, `rotr`, [1n, 1n]), [value("i64", -9223372036854775808n)]);
+
+// ./test/core/i64.wast:233
+assert_return(() => invoke($0, `rotr`, [1n, 0n]), [value("i64", 1n)]);
+
+// ./test/core/i64.wast:234
+assert_return(() => invoke($0, `rotr`, [-1n, 1n]), [value("i64", -1n)]);
+
+// ./test/core/i64.wast:235
+assert_return(() => invoke($0, `rotr`, [1n, 64n]), [value("i64", 1n)]);
+
+// ./test/core/i64.wast:236
+assert_return(
+ () => invoke($0, `rotr`, [-6067025490386449714n, 1n]),
+ [value("i64", 6189859291661550951n)],
+);
+
+// ./test/core/i64.wast:237
+assert_return(
+ () => invoke($0, `rotr`, [-144115184384868352n, 4n]),
+ [value("i64", 1143914305582792704n)],
+);
+
+// ./test/core/i64.wast:238
+assert_return(
+ () => invoke($0, `rotr`, [-6067173104435169271n, 53n]),
+ [value("i64", 7534987797011123550n)],
+);
+
+// ./test/core/i64.wast:239
+assert_return(
+ () => invoke($0, `rotr`, [-6066028401059725156n, 63n]),
+ [value("i64", 6314687271590101305n)],
+);
+
+// ./test/core/i64.wast:240
+assert_return(
+ () => invoke($0, `rotr`, [-6067173104435169271n, 245n]),
+ [value("i64", 7534987797011123550n)],
+);
+
+// ./test/core/i64.wast:241
+assert_return(
+ () => invoke($0, `rotr`, [-6067067139002042359n, -19n]),
+ [value("i64", -7735078922541506965n)],
+);
+
+// ./test/core/i64.wast:242
+assert_return(
+ () => invoke($0, `rotr`, [-6066028401059725156n, -9223372036854775745n]),
+ [value("i64", 6314687271590101305n)],
+);
+
+// ./test/core/i64.wast:243
+assert_return(() => invoke($0, `rotr`, [1n, 63n]), [value("i64", 2n)]);
+
+// ./test/core/i64.wast:244
+assert_return(() => invoke($0, `rotr`, [-9223372036854775808n, 63n]), [value("i64", 1n)]);
+
+// ./test/core/i64.wast:246
+assert_return(() => invoke($0, `clz`, [-1n]), [value("i64", 0n)]);
+
+// ./test/core/i64.wast:247
+assert_return(() => invoke($0, `clz`, [0n]), [value("i64", 64n)]);
+
+// ./test/core/i64.wast:248
+assert_return(() => invoke($0, `clz`, [32768n]), [value("i64", 48n)]);
+
+// ./test/core/i64.wast:249
+assert_return(() => invoke($0, `clz`, [255n]), [value("i64", 56n)]);
+
+// ./test/core/i64.wast:250
+assert_return(() => invoke($0, `clz`, [-9223372036854775808n]), [value("i64", 0n)]);
+
+// ./test/core/i64.wast:251
+assert_return(() => invoke($0, `clz`, [1n]), [value("i64", 63n)]);
+
+// ./test/core/i64.wast:252
+assert_return(() => invoke($0, `clz`, [2n]), [value("i64", 62n)]);
+
+// ./test/core/i64.wast:253
+assert_return(() => invoke($0, `clz`, [9223372036854775807n]), [value("i64", 1n)]);
+
+// ./test/core/i64.wast:255
+assert_return(() => invoke($0, `ctz`, [-1n]), [value("i64", 0n)]);
+
+// ./test/core/i64.wast:256
+assert_return(() => invoke($0, `ctz`, [0n]), [value("i64", 64n)]);
+
+// ./test/core/i64.wast:257
+assert_return(() => invoke($0, `ctz`, [32768n]), [value("i64", 15n)]);
+
+// ./test/core/i64.wast:258
+assert_return(() => invoke($0, `ctz`, [65536n]), [value("i64", 16n)]);
+
+// ./test/core/i64.wast:259
+assert_return(() => invoke($0, `ctz`, [-9223372036854775808n]), [value("i64", 63n)]);
+
+// ./test/core/i64.wast:260
+assert_return(() => invoke($0, `ctz`, [9223372036854775807n]), [value("i64", 0n)]);
+
+// ./test/core/i64.wast:262
+assert_return(() => invoke($0, `popcnt`, [-1n]), [value("i64", 64n)]);
+
+// ./test/core/i64.wast:263
+assert_return(() => invoke($0, `popcnt`, [0n]), [value("i64", 0n)]);
+
+// ./test/core/i64.wast:264
+assert_return(() => invoke($0, `popcnt`, [32768n]), [value("i64", 1n)]);
+
+// ./test/core/i64.wast:265
+assert_return(() => invoke($0, `popcnt`, [-9223231297218904064n]), [value("i64", 4n)]);
+
+// ./test/core/i64.wast:266
+assert_return(() => invoke($0, `popcnt`, [9223372036854775807n]), [value("i64", 63n)]);
+
+// ./test/core/i64.wast:267
+assert_return(() => invoke($0, `popcnt`, [-6148914692668172971n]), [value("i64", 32n)]);
+
+// ./test/core/i64.wast:268
+assert_return(() => invoke($0, `popcnt`, [-7378697629197489494n]), [value("i64", 32n)]);
+
+// ./test/core/i64.wast:269
+assert_return(() => invoke($0, `popcnt`, [-2401053088876216593n]), [value("i64", 48n)]);
+
+// ./test/core/i64.wast:271
+assert_return(() => invoke($0, `extend8_s`, [0n]), [value("i64", 0n)]);
+
+// ./test/core/i64.wast:272
+assert_return(() => invoke($0, `extend8_s`, [127n]), [value("i64", 127n)]);
+
+// ./test/core/i64.wast:273
+assert_return(() => invoke($0, `extend8_s`, [128n]), [value("i64", -128n)]);
+
+// ./test/core/i64.wast:274
+assert_return(() => invoke($0, `extend8_s`, [255n]), [value("i64", -1n)]);
+
+// ./test/core/i64.wast:275
+assert_return(() => invoke($0, `extend8_s`, [81985529216486656n]), [value("i64", 0n)]);
+
+// ./test/core/i64.wast:276
+assert_return(() => invoke($0, `extend8_s`, [-81985529216486784n]), [value("i64", -128n)]);
+
+// ./test/core/i64.wast:277
+assert_return(() => invoke($0, `extend8_s`, [-1n]), [value("i64", -1n)]);
+
+// ./test/core/i64.wast:279
+assert_return(() => invoke($0, `extend16_s`, [0n]), [value("i64", 0n)]);
+
+// ./test/core/i64.wast:280
+assert_return(() => invoke($0, `extend16_s`, [32767n]), [value("i64", 32767n)]);
+
+// ./test/core/i64.wast:281
+assert_return(() => invoke($0, `extend16_s`, [32768n]), [value("i64", -32768n)]);
+
+// ./test/core/i64.wast:282
+assert_return(() => invoke($0, `extend16_s`, [65535n]), [value("i64", -1n)]);
+
+// ./test/core/i64.wast:283
+assert_return(() => invoke($0, `extend16_s`, [1311768467463733248n]), [value("i64", 0n)]);
+
+// ./test/core/i64.wast:284
+assert_return(() => invoke($0, `extend16_s`, [-81985529216466944n]), [value("i64", -32768n)]);
+
+// ./test/core/i64.wast:285
+assert_return(() => invoke($0, `extend16_s`, [-1n]), [value("i64", -1n)]);
+
+// ./test/core/i64.wast:287
+assert_return(() => invoke($0, `extend32_s`, [0n]), [value("i64", 0n)]);
+
+// ./test/core/i64.wast:288
+assert_return(() => invoke($0, `extend32_s`, [32767n]), [value("i64", 32767n)]);
+
+// ./test/core/i64.wast:289
+assert_return(() => invoke($0, `extend32_s`, [32768n]), [value("i64", 32768n)]);
+
+// ./test/core/i64.wast:290
+assert_return(() => invoke($0, `extend32_s`, [65535n]), [value("i64", 65535n)]);
+
+// ./test/core/i64.wast:291
+assert_return(() => invoke($0, `extend32_s`, [2147483647n]), [value("i64", 2147483647n)]);
+
+// ./test/core/i64.wast:292
+assert_return(() => invoke($0, `extend32_s`, [2147483648n]), [value("i64", -2147483648n)]);
+
+// ./test/core/i64.wast:293
+assert_return(() => invoke($0, `extend32_s`, [4294967295n]), [value("i64", -1n)]);
+
+// ./test/core/i64.wast:294
+assert_return(() => invoke($0, `extend32_s`, [81985526906748928n]), [value("i64", 0n)]);
+
+// ./test/core/i64.wast:295
+assert_return(() => invoke($0, `extend32_s`, [-81985529054232576n]), [value("i64", -2147483648n)]);
+
+// ./test/core/i64.wast:296
+assert_return(() => invoke($0, `extend32_s`, [-1n]), [value("i64", -1n)]);
+
+// ./test/core/i64.wast:298
+assert_return(() => invoke($0, `eqz`, [0n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:299
+assert_return(() => invoke($0, `eqz`, [1n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:300
+assert_return(() => invoke($0, `eqz`, [-9223372036854775808n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:301
+assert_return(() => invoke($0, `eqz`, [9223372036854775807n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:302
+assert_return(() => invoke($0, `eqz`, [-1n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:304
+assert_return(() => invoke($0, `eq`, [0n, 0n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:305
+assert_return(() => invoke($0, `eq`, [1n, 1n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:306
+assert_return(() => invoke($0, `eq`, [-1n, 1n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:307
+assert_return(() => invoke($0, `eq`, [-9223372036854775808n, -9223372036854775808n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:308
+assert_return(() => invoke($0, `eq`, [9223372036854775807n, 9223372036854775807n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:309
+assert_return(() => invoke($0, `eq`, [-1n, -1n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:310
+assert_return(() => invoke($0, `eq`, [1n, 0n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:311
+assert_return(() => invoke($0, `eq`, [0n, 1n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:312
+assert_return(() => invoke($0, `eq`, [-9223372036854775808n, 0n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:313
+assert_return(() => invoke($0, `eq`, [0n, -9223372036854775808n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:314
+assert_return(() => invoke($0, `eq`, [-9223372036854775808n, -1n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:315
+assert_return(() => invoke($0, `eq`, [-1n, -9223372036854775808n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:316
+assert_return(() => invoke($0, `eq`, [-9223372036854775808n, 9223372036854775807n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:317
+assert_return(() => invoke($0, `eq`, [9223372036854775807n, -9223372036854775808n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:319
+assert_return(() => invoke($0, `ne`, [0n, 0n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:320
+assert_return(() => invoke($0, `ne`, [1n, 1n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:321
+assert_return(() => invoke($0, `ne`, [-1n, 1n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:322
+assert_return(() => invoke($0, `ne`, [-9223372036854775808n, -9223372036854775808n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:323
+assert_return(() => invoke($0, `ne`, [9223372036854775807n, 9223372036854775807n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:324
+assert_return(() => invoke($0, `ne`, [-1n, -1n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:325
+assert_return(() => invoke($0, `ne`, [1n, 0n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:326
+assert_return(() => invoke($0, `ne`, [0n, 1n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:327
+assert_return(() => invoke($0, `ne`, [-9223372036854775808n, 0n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:328
+assert_return(() => invoke($0, `ne`, [0n, -9223372036854775808n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:329
+assert_return(() => invoke($0, `ne`, [-9223372036854775808n, -1n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:330
+assert_return(() => invoke($0, `ne`, [-1n, -9223372036854775808n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:331
+assert_return(() => invoke($0, `ne`, [-9223372036854775808n, 9223372036854775807n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:332
+assert_return(() => invoke($0, `ne`, [9223372036854775807n, -9223372036854775808n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:334
+assert_return(() => invoke($0, `lt_s`, [0n, 0n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:335
+assert_return(() => invoke($0, `lt_s`, [1n, 1n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:336
+assert_return(() => invoke($0, `lt_s`, [-1n, 1n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:337
+assert_return(
+ () => invoke($0, `lt_s`, [-9223372036854775808n, -9223372036854775808n]),
+ [value("i32", 0)],
+);
+
+// ./test/core/i64.wast:338
+assert_return(() => invoke($0, `lt_s`, [9223372036854775807n, 9223372036854775807n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:339
+assert_return(() => invoke($0, `lt_s`, [-1n, -1n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:340
+assert_return(() => invoke($0, `lt_s`, [1n, 0n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:341
+assert_return(() => invoke($0, `lt_s`, [0n, 1n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:342
+assert_return(() => invoke($0, `lt_s`, [-9223372036854775808n, 0n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:343
+assert_return(() => invoke($0, `lt_s`, [0n, -9223372036854775808n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:344
+assert_return(() => invoke($0, `lt_s`, [-9223372036854775808n, -1n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:345
+assert_return(() => invoke($0, `lt_s`, [-1n, -9223372036854775808n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:346
+assert_return(
+ () => invoke($0, `lt_s`, [-9223372036854775808n, 9223372036854775807n]),
+ [value("i32", 1)],
+);
+
+// ./test/core/i64.wast:347
+assert_return(
+ () => invoke($0, `lt_s`, [9223372036854775807n, -9223372036854775808n]),
+ [value("i32", 0)],
+);
+
+// ./test/core/i64.wast:349
+assert_return(() => invoke($0, `lt_u`, [0n, 0n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:350
+assert_return(() => invoke($0, `lt_u`, [1n, 1n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:351
+assert_return(() => invoke($0, `lt_u`, [-1n, 1n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:352
+assert_return(
+ () => invoke($0, `lt_u`, [-9223372036854775808n, -9223372036854775808n]),
+ [value("i32", 0)],
+);
+
+// ./test/core/i64.wast:353
+assert_return(() => invoke($0, `lt_u`, [9223372036854775807n, 9223372036854775807n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:354
+assert_return(() => invoke($0, `lt_u`, [-1n, -1n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:355
+assert_return(() => invoke($0, `lt_u`, [1n, 0n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:356
+assert_return(() => invoke($0, `lt_u`, [0n, 1n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:357
+assert_return(() => invoke($0, `lt_u`, [-9223372036854775808n, 0n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:358
+assert_return(() => invoke($0, `lt_u`, [0n, -9223372036854775808n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:359
+assert_return(() => invoke($0, `lt_u`, [-9223372036854775808n, -1n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:360
+assert_return(() => invoke($0, `lt_u`, [-1n, -9223372036854775808n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:361
+assert_return(
+ () => invoke($0, `lt_u`, [-9223372036854775808n, 9223372036854775807n]),
+ [value("i32", 0)],
+);
+
+// ./test/core/i64.wast:362
+assert_return(
+ () => invoke($0, `lt_u`, [9223372036854775807n, -9223372036854775808n]),
+ [value("i32", 1)],
+);
+
+// ./test/core/i64.wast:364
+assert_return(() => invoke($0, `le_s`, [0n, 0n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:365
+assert_return(() => invoke($0, `le_s`, [1n, 1n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:366
+assert_return(() => invoke($0, `le_s`, [-1n, 1n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:367
+assert_return(
+ () => invoke($0, `le_s`, [-9223372036854775808n, -9223372036854775808n]),
+ [value("i32", 1)],
+);
+
+// ./test/core/i64.wast:368
+assert_return(() => invoke($0, `le_s`, [9223372036854775807n, 9223372036854775807n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:369
+assert_return(() => invoke($0, `le_s`, [-1n, -1n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:370
+assert_return(() => invoke($0, `le_s`, [1n, 0n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:371
+assert_return(() => invoke($0, `le_s`, [0n, 1n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:372
+assert_return(() => invoke($0, `le_s`, [-9223372036854775808n, 0n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:373
+assert_return(() => invoke($0, `le_s`, [0n, -9223372036854775808n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:374
+assert_return(() => invoke($0, `le_s`, [-9223372036854775808n, -1n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:375
+assert_return(() => invoke($0, `le_s`, [-1n, -9223372036854775808n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:376
+assert_return(
+ () => invoke($0, `le_s`, [-9223372036854775808n, 9223372036854775807n]),
+ [value("i32", 1)],
+);
+
+// ./test/core/i64.wast:377
+assert_return(
+ () => invoke($0, `le_s`, [9223372036854775807n, -9223372036854775808n]),
+ [value("i32", 0)],
+);
+
+// ./test/core/i64.wast:379
+assert_return(() => invoke($0, `le_u`, [0n, 0n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:380
+assert_return(() => invoke($0, `le_u`, [1n, 1n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:381
+assert_return(() => invoke($0, `le_u`, [-1n, 1n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:382
+assert_return(
+ () => invoke($0, `le_u`, [-9223372036854775808n, -9223372036854775808n]),
+ [value("i32", 1)],
+);
+
+// ./test/core/i64.wast:383
+assert_return(() => invoke($0, `le_u`, [9223372036854775807n, 9223372036854775807n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:384
+assert_return(() => invoke($0, `le_u`, [-1n, -1n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:385
+assert_return(() => invoke($0, `le_u`, [1n, 0n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:386
+assert_return(() => invoke($0, `le_u`, [0n, 1n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:387
+assert_return(() => invoke($0, `le_u`, [-9223372036854775808n, 0n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:388
+assert_return(() => invoke($0, `le_u`, [0n, -9223372036854775808n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:389
+assert_return(() => invoke($0, `le_u`, [-9223372036854775808n, -1n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:390
+assert_return(() => invoke($0, `le_u`, [-1n, -9223372036854775808n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:391
+assert_return(
+ () => invoke($0, `le_u`, [-9223372036854775808n, 9223372036854775807n]),
+ [value("i32", 0)],
+);
+
+// ./test/core/i64.wast:392
+assert_return(
+ () => invoke($0, `le_u`, [9223372036854775807n, -9223372036854775808n]),
+ [value("i32", 1)],
+);
+
+// ./test/core/i64.wast:394
+assert_return(() => invoke($0, `gt_s`, [0n, 0n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:395
+assert_return(() => invoke($0, `gt_s`, [1n, 1n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:396
+assert_return(() => invoke($0, `gt_s`, [-1n, 1n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:397
+assert_return(
+ () => invoke($0, `gt_s`, [-9223372036854775808n, -9223372036854775808n]),
+ [value("i32", 0)],
+);
+
+// ./test/core/i64.wast:398
+assert_return(() => invoke($0, `gt_s`, [9223372036854775807n, 9223372036854775807n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:399
+assert_return(() => invoke($0, `gt_s`, [-1n, -1n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:400
+assert_return(() => invoke($0, `gt_s`, [1n, 0n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:401
+assert_return(() => invoke($0, `gt_s`, [0n, 1n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:402
+assert_return(() => invoke($0, `gt_s`, [-9223372036854775808n, 0n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:403
+assert_return(() => invoke($0, `gt_s`, [0n, -9223372036854775808n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:404
+assert_return(() => invoke($0, `gt_s`, [-9223372036854775808n, -1n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:405
+assert_return(() => invoke($0, `gt_s`, [-1n, -9223372036854775808n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:406
+assert_return(
+ () => invoke($0, `gt_s`, [-9223372036854775808n, 9223372036854775807n]),
+ [value("i32", 0)],
+);
+
+// ./test/core/i64.wast:407
+assert_return(
+ () => invoke($0, `gt_s`, [9223372036854775807n, -9223372036854775808n]),
+ [value("i32", 1)],
+);
+
+// ./test/core/i64.wast:409
+assert_return(() => invoke($0, `gt_u`, [0n, 0n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:410
+assert_return(() => invoke($0, `gt_u`, [1n, 1n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:411
+assert_return(() => invoke($0, `gt_u`, [-1n, 1n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:412
+assert_return(
+ () => invoke($0, `gt_u`, [-9223372036854775808n, -9223372036854775808n]),
+ [value("i32", 0)],
+);
+
+// ./test/core/i64.wast:413
+assert_return(() => invoke($0, `gt_u`, [9223372036854775807n, 9223372036854775807n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:414
+assert_return(() => invoke($0, `gt_u`, [-1n, -1n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:415
+assert_return(() => invoke($0, `gt_u`, [1n, 0n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:416
+assert_return(() => invoke($0, `gt_u`, [0n, 1n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:417
+assert_return(() => invoke($0, `gt_u`, [-9223372036854775808n, 0n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:418
+assert_return(() => invoke($0, `gt_u`, [0n, -9223372036854775808n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:419
+assert_return(() => invoke($0, `gt_u`, [-9223372036854775808n, -1n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:420
+assert_return(() => invoke($0, `gt_u`, [-1n, -9223372036854775808n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:421
+assert_return(
+ () => invoke($0, `gt_u`, [-9223372036854775808n, 9223372036854775807n]),
+ [value("i32", 1)],
+);
+
+// ./test/core/i64.wast:422
+assert_return(
+ () => invoke($0, `gt_u`, [9223372036854775807n, -9223372036854775808n]),
+ [value("i32", 0)],
+);
+
+// ./test/core/i64.wast:424
+assert_return(() => invoke($0, `ge_s`, [0n, 0n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:425
+assert_return(() => invoke($0, `ge_s`, [1n, 1n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:426
+assert_return(() => invoke($0, `ge_s`, [-1n, 1n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:427
+assert_return(
+ () => invoke($0, `ge_s`, [-9223372036854775808n, -9223372036854775808n]),
+ [value("i32", 1)],
+);
+
+// ./test/core/i64.wast:428
+assert_return(() => invoke($0, `ge_s`, [9223372036854775807n, 9223372036854775807n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:429
+assert_return(() => invoke($0, `ge_s`, [-1n, -1n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:430
+assert_return(() => invoke($0, `ge_s`, [1n, 0n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:431
+assert_return(() => invoke($0, `ge_s`, [0n, 1n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:432
+assert_return(() => invoke($0, `ge_s`, [-9223372036854775808n, 0n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:433
+assert_return(() => invoke($0, `ge_s`, [0n, -9223372036854775808n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:434
+assert_return(() => invoke($0, `ge_s`, [-9223372036854775808n, -1n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:435
+assert_return(() => invoke($0, `ge_s`, [-1n, -9223372036854775808n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:436
+assert_return(
+ () => invoke($0, `ge_s`, [-9223372036854775808n, 9223372036854775807n]),
+ [value("i32", 0)],
+);
+
+// ./test/core/i64.wast:437
+assert_return(
+ () => invoke($0, `ge_s`, [9223372036854775807n, -9223372036854775808n]),
+ [value("i32", 1)],
+);
+
+// ./test/core/i64.wast:439
+assert_return(() => invoke($0, `ge_u`, [0n, 0n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:440
+assert_return(() => invoke($0, `ge_u`, [1n, 1n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:441
+assert_return(() => invoke($0, `ge_u`, [-1n, 1n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:442
+assert_return(
+ () => invoke($0, `ge_u`, [-9223372036854775808n, -9223372036854775808n]),
+ [value("i32", 1)],
+);
+
+// ./test/core/i64.wast:443
+assert_return(() => invoke($0, `ge_u`, [9223372036854775807n, 9223372036854775807n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:444
+assert_return(() => invoke($0, `ge_u`, [-1n, -1n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:445
+assert_return(() => invoke($0, `ge_u`, [1n, 0n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:446
+assert_return(() => invoke($0, `ge_u`, [0n, 1n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:447
+assert_return(() => invoke($0, `ge_u`, [-9223372036854775808n, 0n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:448
+assert_return(() => invoke($0, `ge_u`, [0n, -9223372036854775808n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:449
+assert_return(() => invoke($0, `ge_u`, [-9223372036854775808n, -1n]), [value("i32", 0)]);
+
+// ./test/core/i64.wast:450
+assert_return(() => invoke($0, `ge_u`, [-1n, -9223372036854775808n]), [value("i32", 1)]);
+
+// ./test/core/i64.wast:451
+assert_return(
+ () => invoke($0, `ge_u`, [-9223372036854775808n, 9223372036854775807n]),
+ [value("i32", 1)],
+);
+
+// ./test/core/i64.wast:452
+assert_return(
+ () => invoke($0, `ge_u`, [9223372036854775807n, -9223372036854775808n]),
+ [value("i32", 0)],
+);
+
+// ./test/core/i64.wast:457
+assert_invalid(
+ () => instantiate(`(module (func (result i64) (i64.add (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i64.wast:458
+assert_invalid(
+ () => instantiate(`(module (func (result i64) (i64.and (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i64.wast:459
+assert_invalid(
+ () => instantiate(`(module (func (result i64) (i64.div_s (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i64.wast:460
+assert_invalid(
+ () => instantiate(`(module (func (result i64) (i64.div_u (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i64.wast:461
+assert_invalid(
+ () => instantiate(`(module (func (result i64) (i64.mul (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i64.wast:462
+assert_invalid(
+ () => instantiate(`(module (func (result i64) (i64.or (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i64.wast:463
+assert_invalid(
+ () => instantiate(`(module (func (result i64) (i64.rem_s (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i64.wast:464
+assert_invalid(
+ () => instantiate(`(module (func (result i64) (i64.rem_u (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i64.wast:465
+assert_invalid(
+ () => instantiate(`(module (func (result i64) (i64.rotl (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i64.wast:466
+assert_invalid(
+ () => instantiate(`(module (func (result i64) (i64.rotr (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i64.wast:467
+assert_invalid(
+ () => instantiate(`(module (func (result i64) (i64.shl (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i64.wast:468
+assert_invalid(
+ () => instantiate(`(module (func (result i64) (i64.shr_s (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i64.wast:469
+assert_invalid(
+ () => instantiate(`(module (func (result i64) (i64.shr_u (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i64.wast:470
+assert_invalid(
+ () => instantiate(`(module (func (result i64) (i64.sub (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i64.wast:471
+assert_invalid(
+ () => instantiate(`(module (func (result i64) (i64.xor (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i64.wast:472
+assert_invalid(
+ () => instantiate(`(module (func (result i64) (i64.eqz (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i64.wast:473
+assert_invalid(
+ () => instantiate(`(module (func (result i64) (i64.clz (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i64.wast:474
+assert_invalid(
+ () => instantiate(`(module (func (result i64) (i64.ctz (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i64.wast:475
+assert_invalid(
+ () => instantiate(`(module (func (result i64) (i64.popcnt (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i64.wast:476
+assert_invalid(
+ () => instantiate(`(module (func (result i64) (i64.eq (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i64.wast:477
+assert_invalid(
+ () => instantiate(`(module (func (result i64) (i64.ge_s (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i64.wast:478
+assert_invalid(
+ () => instantiate(`(module (func (result i64) (i64.ge_u (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i64.wast:479
+assert_invalid(
+ () => instantiate(`(module (func (result i64) (i64.gt_s (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i64.wast:480
+assert_invalid(
+ () => instantiate(`(module (func (result i64) (i64.gt_u (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i64.wast:481
+assert_invalid(
+ () => instantiate(`(module (func (result i64) (i64.le_s (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i64.wast:482
+assert_invalid(
+ () => instantiate(`(module (func (result i64) (i64.le_u (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i64.wast:483
+assert_invalid(
+ () => instantiate(`(module (func (result i64) (i64.lt_s (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i64.wast:484
+assert_invalid(
+ () => instantiate(`(module (func (result i64) (i64.lt_u (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i64.wast:485
+assert_invalid(
+ () => instantiate(`(module (func (result i64) (i64.ne (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/i64.wast:487
+assert_malformed(
+ () => instantiate(`(func (result i64) (i64.const nan:arithmetic)) `),
+ `unexpected token`,
+);
+
+// ./test/core/i64.wast:491
+assert_malformed(
+ () => instantiate(`(func (result i64) (i64.const nan:canonical)) `),
+ `unexpected token`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/if.wast.js b/js/src/jit-test/tests/wasm/spec/spec/if.wast.js
new file mode 100644
index 0000000000..ada0bd224a
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/if.wast.js
@@ -0,0 +1,1911 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/if.wast
+
+// ./test/core/if.wast:3
+let $0 = instantiate(`(module
+ ;; Auxiliary definition
+ (memory 1)
+
+ (func $$dummy)
+
+ (func (export "empty") (param i32)
+ (if (local.get 0) (then))
+ (if (local.get 0) (then) (else))
+ (if $$l (local.get 0) (then))
+ (if $$l (local.get 0) (then) (else))
+ )
+
+ (func (export "singular") (param i32) (result i32)
+ (if (local.get 0) (then (nop)))
+ (if (local.get 0) (then (nop)) (else (nop)))
+ (if (result i32) (local.get 0) (then (i32.const 7)) (else (i32.const 8)))
+ )
+
+ (func (export "multi") (param i32) (result i32 i32)
+ (if (local.get 0) (then (call $$dummy) (call $$dummy) (call $$dummy)))
+ (if (local.get 0) (then) (else (call $$dummy) (call $$dummy) (call $$dummy)))
+ (if (result i32) (local.get 0)
+ (then (call $$dummy) (call $$dummy) (i32.const 8) (call $$dummy))
+ (else (call $$dummy) (call $$dummy) (i32.const 9) (call $$dummy))
+ )
+ (if (result i32 i64 i32) (local.get 0)
+ (then
+ (call $$dummy) (call $$dummy) (i32.const 1) (call $$dummy)
+ (call $$dummy) (call $$dummy) (i64.const 2) (call $$dummy)
+ (call $$dummy) (call $$dummy) (i32.const 3) (call $$dummy)
+ )
+ (else
+ (call $$dummy) (call $$dummy) (i32.const -1) (call $$dummy)
+ (call $$dummy) (call $$dummy) (i64.const -2) (call $$dummy)
+ (call $$dummy) (call $$dummy) (i32.const -3) (call $$dummy)
+ )
+ )
+ (drop) (drop)
+ )
+
+ (func (export "nested") (param i32 i32) (result i32)
+ (if (result i32) (local.get 0)
+ (then
+ (if (local.get 1) (then (call $$dummy) (block) (nop)))
+ (if (local.get 1) (then) (else (call $$dummy) (block) (nop)))
+ (if (result i32) (local.get 1)
+ (then (call $$dummy) (i32.const 9))
+ (else (call $$dummy) (i32.const 10))
+ )
+ )
+ (else
+ (if (local.get 1) (then (call $$dummy) (block) (nop)))
+ (if (local.get 1) (then) (else (call $$dummy) (block) (nop)))
+ (if (result i32) (local.get 1)
+ (then (call $$dummy) (i32.const 10))
+ (else (call $$dummy) (i32.const 11))
+ )
+ )
+ )
+ )
+
+ (func (export "as-select-first") (param i32) (result i32)
+ (select
+ (if (result i32) (local.get 0)
+ (then (call $$dummy) (i32.const 1))
+ (else (call $$dummy) (i32.const 0))
+ )
+ (i32.const 2) (i32.const 3)
+ )
+ )
+ (func (export "as-select-mid") (param i32) (result i32)
+ (select
+ (i32.const 2)
+ (if (result i32) (local.get 0)
+ (then (call $$dummy) (i32.const 1))
+ (else (call $$dummy) (i32.const 0))
+ )
+ (i32.const 3)
+ )
+ )
+ (func (export "as-select-last") (param i32) (result i32)
+ (select
+ (i32.const 2) (i32.const 3)
+ (if (result i32) (local.get 0)
+ (then (call $$dummy) (i32.const 1))
+ (else (call $$dummy) (i32.const 0))
+ )
+ )
+ )
+
+ (func (export "as-loop-first") (param i32) (result i32)
+ (loop (result i32)
+ (if (result i32) (local.get 0)
+ (then (call $$dummy) (i32.const 1))
+ (else (call $$dummy) (i32.const 0))
+ )
+ (call $$dummy) (call $$dummy)
+ )
+ )
+ (func (export "as-loop-mid") (param i32) (result i32)
+ (loop (result i32)
+ (call $$dummy)
+ (if (result i32) (local.get 0)
+ (then (call $$dummy) (i32.const 1))
+ (else (call $$dummy) (i32.const 0))
+ )
+ (call $$dummy)
+ )
+ )
+ (func (export "as-loop-last") (param i32) (result i32)
+ (loop (result i32)
+ (call $$dummy) (call $$dummy)
+ (if (result i32) (local.get 0)
+ (then (call $$dummy) (i32.const 1))
+ (else (call $$dummy) (i32.const 0))
+ )
+ )
+ )
+
+ (func (export "as-if-condition") (param i32) (result i32)
+ (if (result i32)
+ (if (result i32) (local.get 0)
+ (then (i32.const 1)) (else (i32.const 0))
+ )
+ (then (call $$dummy) (i32.const 2))
+ (else (call $$dummy) (i32.const 3))
+ )
+ )
+
+ (func (export "as-br_if-first") (param i32) (result i32)
+ (block (result i32)
+ (br_if 0
+ (if (result i32) (local.get 0)
+ (then (call $$dummy) (i32.const 1))
+ (else (call $$dummy) (i32.const 0))
+ )
+ (i32.const 2)
+ )
+ (return (i32.const 3))
+ )
+ )
+ (func (export "as-br_if-last") (param i32) (result i32)
+ (block (result i32)
+ (br_if 0
+ (i32.const 2)
+ (if (result i32) (local.get 0)
+ (then (call $$dummy) (i32.const 1))
+ (else (call $$dummy) (i32.const 0))
+ )
+ )
+ (return (i32.const 3))
+ )
+ )
+
+ (func (export "as-br_table-first") (param i32) (result i32)
+ (block (result i32)
+ (if (result i32) (local.get 0)
+ (then (call $$dummy) (i32.const 1))
+ (else (call $$dummy) (i32.const 0))
+ )
+ (i32.const 2)
+ (br_table 0 0)
+ )
+ )
+ (func (export "as-br_table-last") (param i32) (result i32)
+ (block (result i32)
+ (i32.const 2)
+ (if (result i32) (local.get 0)
+ (then (call $$dummy) (i32.const 1))
+ (else (call $$dummy) (i32.const 0))
+ )
+ (br_table 0 0)
+ )
+ )
+
+ (func $$func (param i32 i32) (result i32) (local.get 0))
+ (type $$check (func (param i32 i32) (result i32)))
+ (table funcref (elem $$func))
+ (func (export "as-call_indirect-first") (param i32) (result i32)
+ (block (result i32)
+ (call_indirect (type $$check)
+ (if (result i32) (local.get 0)
+ (then (call $$dummy) (i32.const 1))
+ (else (call $$dummy) (i32.const 0))
+ )
+ (i32.const 2) (i32.const 0)
+ )
+ )
+ )
+ (func (export "as-call_indirect-mid") (param i32) (result i32)
+ (block (result i32)
+ (call_indirect (type $$check)
+ (i32.const 2)
+ (if (result i32) (local.get 0)
+ (then (call $$dummy) (i32.const 1))
+ (else (call $$dummy) (i32.const 0))
+ )
+ (i32.const 0)
+ )
+ )
+ )
+ (func (export "as-call_indirect-last") (param i32) (result i32)
+ (block (result i32)
+ (call_indirect (type $$check)
+ (i32.const 2) (i32.const 0)
+ (if (result i32) (local.get 0)
+ (then (call $$dummy) (i32.const 1))
+ (else (call $$dummy) (i32.const 0))
+ )
+ )
+ )
+ )
+
+ (func (export "as-store-first") (param i32)
+ (if (result i32) (local.get 0)
+ (then (call $$dummy) (i32.const 1))
+ (else (call $$dummy) (i32.const 0))
+ )
+ (i32.const 2)
+ (i32.store)
+ )
+ (func (export "as-store-last") (param i32)
+ (i32.const 2)
+ (if (result i32) (local.get 0)
+ (then (call $$dummy) (i32.const 1))
+ (else (call $$dummy) (i32.const 0))
+ )
+ (i32.store)
+ )
+
+ (func (export "as-memory.grow-value") (param i32) (result i32)
+ (memory.grow
+ (if (result i32) (local.get 0)
+ (then (i32.const 1))
+ (else (i32.const 0))
+ )
+ )
+ )
+
+ (func $$f (param i32) (result i32) (local.get 0))
+
+ (func (export "as-call-value") (param i32) (result i32)
+ (call $$f
+ (if (result i32) (local.get 0)
+ (then (i32.const 1))
+ (else (i32.const 0))
+ )
+ )
+ )
+ (func (export "as-return-value") (param i32) (result i32)
+ (if (result i32) (local.get 0)
+ (then (i32.const 1))
+ (else (i32.const 0)))
+ (return)
+ )
+ (func (export "as-drop-operand") (param i32)
+ (drop
+ (if (result i32) (local.get 0)
+ (then (i32.const 1))
+ (else (i32.const 0))
+ )
+ )
+ )
+ (func (export "as-br-value") (param i32) (result i32)
+ (block (result i32)
+ (br 0
+ (if (result i32) (local.get 0)
+ (then (i32.const 1))
+ (else (i32.const 0))
+ )
+ )
+ )
+ )
+ (func (export "as-local.set-value") (param i32) (result i32)
+ (local i32)
+ (local.set 0
+ (if (result i32) (local.get 0)
+ (then (i32.const 1))
+ (else (i32.const 0))
+ )
+ )
+ (local.get 0)
+ )
+ (func (export "as-local.tee-value") (param i32) (result i32)
+ (local.tee 0
+ (if (result i32) (local.get 0)
+ (then (i32.const 1))
+ (else (i32.const 0))
+ )
+ )
+ )
+ (global $$a (mut i32) (i32.const 10))
+ (func (export "as-global.set-value") (param i32) (result i32)
+ (global.set $$a
+ (if (result i32) (local.get 0)
+ (then (i32.const 1))
+ (else (i32.const 0))
+ )
+ ) (global.get $$a)
+ )
+ (func (export "as-load-operand") (param i32) (result i32)
+ (i32.load
+ (if (result i32) (local.get 0)
+ (then (i32.const 11))
+ (else (i32.const 10))
+ )
+ )
+ )
+
+ (func (export "as-unary-operand") (param i32) (result i32)
+ (i32.ctz
+ (if (result i32) (local.get 0)
+ (then (call $$dummy) (i32.const 13))
+ (else (call $$dummy) (i32.const -13))
+ )
+ )
+ )
+ (func (export "as-binary-operand") (param i32 i32) (result i32)
+ (i32.mul
+ (if (result i32) (local.get 0)
+ (then (call $$dummy) (i32.const 3))
+ (else (call $$dummy) (i32.const -3))
+ )
+ (if (result i32) (local.get 1)
+ (then (call $$dummy) (i32.const 4))
+ (else (call $$dummy) (i32.const -5))
+ )
+ )
+ )
+ (func (export "as-test-operand") (param i32) (result i32)
+ (i32.eqz
+ (if (result i32) (local.get 0)
+ (then (call $$dummy) (i32.const 13))
+ (else (call $$dummy) (i32.const 0))
+ )
+ )
+ )
+ (func (export "as-compare-operand") (param i32 i32) (result i32)
+ (f32.gt
+ (if (result f32) (local.get 0)
+ (then (call $$dummy) (f32.const 3))
+ (else (call $$dummy) (f32.const -3))
+ )
+ (if (result f32) (local.get 1)
+ (then (call $$dummy) (f32.const 4))
+ (else (call $$dummy) (f32.const -4))
+ )
+ )
+ )
+ (func (export "as-binary-operands") (param i32) (result i32)
+ (i32.mul
+ (if (result i32 i32) (local.get 0)
+ (then (call $$dummy) (i32.const 3) (call $$dummy) (i32.const 4))
+ (else (call $$dummy) (i32.const 3) (call $$dummy) (i32.const -4))
+ )
+ )
+ )
+ (func (export "as-compare-operands") (param i32) (result i32)
+ (f32.gt
+ (if (result f32 f32) (local.get 0)
+ (then (call $$dummy) (f32.const 3) (call $$dummy) (f32.const 3))
+ (else (call $$dummy) (f32.const -2) (call $$dummy) (f32.const -3))
+ )
+ )
+ )
+ (func (export "as-mixed-operands") (param i32) (result i32)
+ (if (result i32 i32) (local.get 0)
+ (then (call $$dummy) (i32.const 3) (call $$dummy) (i32.const 4))
+ (else (call $$dummy) (i32.const -3) (call $$dummy) (i32.const -4))
+ )
+ (i32.const 5)
+ (i32.add)
+ (i32.mul)
+ )
+
+ (func (export "break-bare") (result i32)
+ (if (i32.const 1) (then (br 0) (unreachable)))
+ (if (i32.const 1) (then (br 0) (unreachable)) (else (unreachable)))
+ (if (i32.const 0) (then (unreachable)) (else (br 0) (unreachable)))
+ (if (i32.const 1) (then (br_if 0 (i32.const 1)) (unreachable)))
+ (if (i32.const 1) (then (br_if 0 (i32.const 1)) (unreachable)) (else (unreachable)))
+ (if (i32.const 0) (then (unreachable)) (else (br_if 0 (i32.const 1)) (unreachable)))
+ (if (i32.const 1) (then (br_table 0 (i32.const 0)) (unreachable)))
+ (if (i32.const 1) (then (br_table 0 (i32.const 0)) (unreachable)) (else (unreachable)))
+ (if (i32.const 0) (then (unreachable)) (else (br_table 0 (i32.const 0)) (unreachable)))
+ (i32.const 19)
+ )
+
+ (func (export "break-value") (param i32) (result i32)
+ (if (result i32) (local.get 0)
+ (then (br 0 (i32.const 18)) (i32.const 19))
+ (else (br 0 (i32.const 21)) (i32.const 20))
+ )
+ )
+ (func (export "break-multi-value") (param i32) (result i32 i32 i64)
+ (if (result i32 i32 i64) (local.get 0)
+ (then
+ (br 0 (i32.const 18) (i32.const -18) (i64.const 18))
+ (i32.const 19) (i32.const -19) (i64.const 19)
+ )
+ (else
+ (br 0 (i32.const -18) (i32.const 18) (i64.const -18))
+ (i32.const -19) (i32.const 19) (i64.const -19)
+ )
+ )
+ )
+
+ (func (export "param") (param i32) (result i32)
+ (i32.const 1)
+ (if (param i32) (result i32) (local.get 0)
+ (then (i32.const 2) (i32.add))
+ (else (i32.const -2) (i32.add))
+ )
+ )
+ (func (export "params") (param i32) (result i32)
+ (i32.const 1)
+ (i32.const 2)
+ (if (param i32 i32) (result i32) (local.get 0)
+ (then (i32.add))
+ (else (i32.sub))
+ )
+ )
+ (func (export "params-id") (param i32) (result i32)
+ (i32.const 1)
+ (i32.const 2)
+ (if (param i32 i32) (result i32 i32) (local.get 0) (then))
+ (i32.add)
+ )
+ (func (export "param-break") (param i32) (result i32)
+ (i32.const 1)
+ (if (param i32) (result i32) (local.get 0)
+ (then (i32.const 2) (i32.add) (br 0))
+ (else (i32.const -2) (i32.add) (br 0))
+ )
+ )
+ (func (export "params-break") (param i32) (result i32)
+ (i32.const 1)
+ (i32.const 2)
+ (if (param i32 i32) (result i32) (local.get 0)
+ (then (i32.add) (br 0))
+ (else (i32.sub) (br 0))
+ )
+ )
+ (func (export "params-id-break") (param i32) (result i32)
+ (i32.const 1)
+ (i32.const 2)
+ (if (param i32 i32) (result i32 i32) (local.get 0) (then (br 0)))
+ (i32.add)
+ )
+
+ (func (export "effects") (param i32) (result i32)
+ (local i32)
+ (if
+ (block (result i32) (local.set 1 (i32.const 1)) (local.get 0))
+ (then
+ (local.set 1 (i32.mul (local.get 1) (i32.const 3)))
+ (local.set 1 (i32.sub (local.get 1) (i32.const 5)))
+ (local.set 1 (i32.mul (local.get 1) (i32.const 7)))
+ (br 0)
+ (local.set 1 (i32.mul (local.get 1) (i32.const 100)))
+ )
+ (else
+ (local.set 1 (i32.mul (local.get 1) (i32.const 5)))
+ (local.set 1 (i32.sub (local.get 1) (i32.const 7)))
+ (local.set 1 (i32.mul (local.get 1) (i32.const 3)))
+ (br 0)
+ (local.set 1 (i32.mul (local.get 1) (i32.const 1000)))
+ )
+ )
+ (local.get 1)
+ )
+
+ ;; Examples
+
+ (func $$add64_u_with_carry (export "add64_u_with_carry")
+ (param $$i i64) (param $$j i64) (param $$c i32) (result i64 i32)
+ (local $$k i64)
+ (local.set $$k
+ (i64.add
+ (i64.add (local.get $$i) (local.get $$j))
+ (i64.extend_i32_u (local.get $$c))
+ )
+ )
+ (return (local.get $$k) (i64.lt_u (local.get $$k) (local.get $$i)))
+ )
+
+ (func $$add64_u_saturated (export "add64_u_saturated")
+ (param i64 i64) (result i64)
+ (call $$add64_u_with_carry (local.get 0) (local.get 1) (i32.const 0))
+ (if (param i64) (result i64)
+ (then (drop) (i64.const -1))
+ )
+ )
+
+ ;; Block signature syntax
+
+ (type $$block-sig-1 (func))
+ (type $$block-sig-2 (func (result i32)))
+ (type $$block-sig-3 (func (param $$x i32)))
+ (type $$block-sig-4 (func (param i32 f64 i32) (result i32 f64 i32)))
+
+ (func (export "type-use")
+ (if (type $$block-sig-1) (i32.const 1) (then))
+ (if (type $$block-sig-2) (i32.const 1)
+ (then (i32.const 0)) (else (i32.const 2))
+ )
+ (if (type $$block-sig-3) (i32.const 1) (then (drop)) (else (drop)))
+ (i32.const 0) (f64.const 0) (i32.const 0)
+ (if (type $$block-sig-4) (i32.const 1) (then))
+ (drop) (drop) (drop)
+ (if (type $$block-sig-2) (result i32) (i32.const 1)
+ (then (i32.const 0)) (else (i32.const 2))
+ )
+ (if (type $$block-sig-3) (param i32) (i32.const 1)
+ (then (drop)) (else (drop))
+ )
+ (i32.const 0) (f64.const 0) (i32.const 0)
+ (if (type $$block-sig-4)
+ (param i32) (param f64 i32) (result i32 f64) (result i32)
+ (i32.const 1) (then)
+ )
+ (drop) (drop) (drop)
+ )
+)`);
+
+// ./test/core/if.wast:529
+assert_return(() => invoke($0, `empty`, [0]), []);
+
+// ./test/core/if.wast:530
+assert_return(() => invoke($0, `empty`, [1]), []);
+
+// ./test/core/if.wast:531
+assert_return(() => invoke($0, `empty`, [100]), []);
+
+// ./test/core/if.wast:532
+assert_return(() => invoke($0, `empty`, [-2]), []);
+
+// ./test/core/if.wast:534
+assert_return(() => invoke($0, `singular`, [0]), [value("i32", 8)]);
+
+// ./test/core/if.wast:535
+assert_return(() => invoke($0, `singular`, [1]), [value("i32", 7)]);
+
+// ./test/core/if.wast:536
+assert_return(() => invoke($0, `singular`, [10]), [value("i32", 7)]);
+
+// ./test/core/if.wast:537
+assert_return(() => invoke($0, `singular`, [-10]), [value("i32", 7)]);
+
+// ./test/core/if.wast:539
+assert_return(() => invoke($0, `multi`, [0]), [value("i32", 9), value("i32", -1)]);
+
+// ./test/core/if.wast:540
+assert_return(() => invoke($0, `multi`, [1]), [value("i32", 8), value("i32", 1)]);
+
+// ./test/core/if.wast:541
+assert_return(() => invoke($0, `multi`, [13]), [value("i32", 8), value("i32", 1)]);
+
+// ./test/core/if.wast:542
+assert_return(() => invoke($0, `multi`, [-5]), [value("i32", 8), value("i32", 1)]);
+
+// ./test/core/if.wast:544
+assert_return(() => invoke($0, `nested`, [0, 0]), [value("i32", 11)]);
+
+// ./test/core/if.wast:545
+assert_return(() => invoke($0, `nested`, [1, 0]), [value("i32", 10)]);
+
+// ./test/core/if.wast:546
+assert_return(() => invoke($0, `nested`, [0, 1]), [value("i32", 10)]);
+
+// ./test/core/if.wast:547
+assert_return(() => invoke($0, `nested`, [3, 2]), [value("i32", 9)]);
+
+// ./test/core/if.wast:548
+assert_return(() => invoke($0, `nested`, [0, -100]), [value("i32", 10)]);
+
+// ./test/core/if.wast:549
+assert_return(() => invoke($0, `nested`, [10, 10]), [value("i32", 9)]);
+
+// ./test/core/if.wast:550
+assert_return(() => invoke($0, `nested`, [0, -1]), [value("i32", 10)]);
+
+// ./test/core/if.wast:551
+assert_return(() => invoke($0, `nested`, [-111, -2]), [value("i32", 9)]);
+
+// ./test/core/if.wast:553
+assert_return(() => invoke($0, `as-select-first`, [0]), [value("i32", 0)]);
+
+// ./test/core/if.wast:554
+assert_return(() => invoke($0, `as-select-first`, [1]), [value("i32", 1)]);
+
+// ./test/core/if.wast:555
+assert_return(() => invoke($0, `as-select-mid`, [0]), [value("i32", 2)]);
+
+// ./test/core/if.wast:556
+assert_return(() => invoke($0, `as-select-mid`, [1]), [value("i32", 2)]);
+
+// ./test/core/if.wast:557
+assert_return(() => invoke($0, `as-select-last`, [0]), [value("i32", 3)]);
+
+// ./test/core/if.wast:558
+assert_return(() => invoke($0, `as-select-last`, [1]), [value("i32", 2)]);
+
+// ./test/core/if.wast:560
+assert_return(() => invoke($0, `as-loop-first`, [0]), [value("i32", 0)]);
+
+// ./test/core/if.wast:561
+assert_return(() => invoke($0, `as-loop-first`, [1]), [value("i32", 1)]);
+
+// ./test/core/if.wast:562
+assert_return(() => invoke($0, `as-loop-mid`, [0]), [value("i32", 0)]);
+
+// ./test/core/if.wast:563
+assert_return(() => invoke($0, `as-loop-mid`, [1]), [value("i32", 1)]);
+
+// ./test/core/if.wast:564
+assert_return(() => invoke($0, `as-loop-last`, [0]), [value("i32", 0)]);
+
+// ./test/core/if.wast:565
+assert_return(() => invoke($0, `as-loop-last`, [1]), [value("i32", 1)]);
+
+// ./test/core/if.wast:567
+assert_return(() => invoke($0, `as-if-condition`, [0]), [value("i32", 3)]);
+
+// ./test/core/if.wast:568
+assert_return(() => invoke($0, `as-if-condition`, [1]), [value("i32", 2)]);
+
+// ./test/core/if.wast:570
+assert_return(() => invoke($0, `as-br_if-first`, [0]), [value("i32", 0)]);
+
+// ./test/core/if.wast:571
+assert_return(() => invoke($0, `as-br_if-first`, [1]), [value("i32", 1)]);
+
+// ./test/core/if.wast:572
+assert_return(() => invoke($0, `as-br_if-last`, [0]), [value("i32", 3)]);
+
+// ./test/core/if.wast:573
+assert_return(() => invoke($0, `as-br_if-last`, [1]), [value("i32", 2)]);
+
+// ./test/core/if.wast:575
+assert_return(() => invoke($0, `as-br_table-first`, [0]), [value("i32", 0)]);
+
+// ./test/core/if.wast:576
+assert_return(() => invoke($0, `as-br_table-first`, [1]), [value("i32", 1)]);
+
+// ./test/core/if.wast:577
+assert_return(() => invoke($0, `as-br_table-last`, [0]), [value("i32", 2)]);
+
+// ./test/core/if.wast:578
+assert_return(() => invoke($0, `as-br_table-last`, [1]), [value("i32", 2)]);
+
+// ./test/core/if.wast:580
+assert_return(() => invoke($0, `as-call_indirect-first`, [0]), [value("i32", 0)]);
+
+// ./test/core/if.wast:581
+assert_return(() => invoke($0, `as-call_indirect-first`, [1]), [value("i32", 1)]);
+
+// ./test/core/if.wast:582
+assert_return(() => invoke($0, `as-call_indirect-mid`, [0]), [value("i32", 2)]);
+
+// ./test/core/if.wast:583
+assert_return(() => invoke($0, `as-call_indirect-mid`, [1]), [value("i32", 2)]);
+
+// ./test/core/if.wast:584
+assert_return(() => invoke($0, `as-call_indirect-last`, [0]), [value("i32", 2)]);
+
+// ./test/core/if.wast:585
+assert_trap(() => invoke($0, `as-call_indirect-last`, [1]), `undefined element`);
+
+// ./test/core/if.wast:587
+assert_return(() => invoke($0, `as-store-first`, [0]), []);
+
+// ./test/core/if.wast:588
+assert_return(() => invoke($0, `as-store-first`, [1]), []);
+
+// ./test/core/if.wast:589
+assert_return(() => invoke($0, `as-store-last`, [0]), []);
+
+// ./test/core/if.wast:590
+assert_return(() => invoke($0, `as-store-last`, [1]), []);
+
+// ./test/core/if.wast:592
+assert_return(() => invoke($0, `as-memory.grow-value`, [0]), [value("i32", 1)]);
+
+// ./test/core/if.wast:593
+assert_return(() => invoke($0, `as-memory.grow-value`, [1]), [value("i32", 1)]);
+
+// ./test/core/if.wast:595
+assert_return(() => invoke($0, `as-call-value`, [0]), [value("i32", 0)]);
+
+// ./test/core/if.wast:596
+assert_return(() => invoke($0, `as-call-value`, [1]), [value("i32", 1)]);
+
+// ./test/core/if.wast:598
+assert_return(() => invoke($0, `as-return-value`, [0]), [value("i32", 0)]);
+
+// ./test/core/if.wast:599
+assert_return(() => invoke($0, `as-return-value`, [1]), [value("i32", 1)]);
+
+// ./test/core/if.wast:601
+assert_return(() => invoke($0, `as-drop-operand`, [0]), []);
+
+// ./test/core/if.wast:602
+assert_return(() => invoke($0, `as-drop-operand`, [1]), []);
+
+// ./test/core/if.wast:604
+assert_return(() => invoke($0, `as-br-value`, [0]), [value("i32", 0)]);
+
+// ./test/core/if.wast:605
+assert_return(() => invoke($0, `as-br-value`, [1]), [value("i32", 1)]);
+
+// ./test/core/if.wast:607
+assert_return(() => invoke($0, `as-local.set-value`, [0]), [value("i32", 0)]);
+
+// ./test/core/if.wast:608
+assert_return(() => invoke($0, `as-local.set-value`, [1]), [value("i32", 1)]);
+
+// ./test/core/if.wast:610
+assert_return(() => invoke($0, `as-local.tee-value`, [0]), [value("i32", 0)]);
+
+// ./test/core/if.wast:611
+assert_return(() => invoke($0, `as-local.tee-value`, [1]), [value("i32", 1)]);
+
+// ./test/core/if.wast:613
+assert_return(() => invoke($0, `as-global.set-value`, [0]), [value("i32", 0)]);
+
+// ./test/core/if.wast:614
+assert_return(() => invoke($0, `as-global.set-value`, [1]), [value("i32", 1)]);
+
+// ./test/core/if.wast:616
+assert_return(() => invoke($0, `as-load-operand`, [0]), [value("i32", 0)]);
+
+// ./test/core/if.wast:617
+assert_return(() => invoke($0, `as-load-operand`, [1]), [value("i32", 0)]);
+
+// ./test/core/if.wast:619
+assert_return(() => invoke($0, `as-unary-operand`, [0]), [value("i32", 0)]);
+
+// ./test/core/if.wast:620
+assert_return(() => invoke($0, `as-unary-operand`, [1]), [value("i32", 0)]);
+
+// ./test/core/if.wast:621
+assert_return(() => invoke($0, `as-unary-operand`, [-1]), [value("i32", 0)]);
+
+// ./test/core/if.wast:623
+assert_return(() => invoke($0, `as-binary-operand`, [0, 0]), [value("i32", 15)]);
+
+// ./test/core/if.wast:624
+assert_return(() => invoke($0, `as-binary-operand`, [0, 1]), [value("i32", -12)]);
+
+// ./test/core/if.wast:625
+assert_return(() => invoke($0, `as-binary-operand`, [1, 0]), [value("i32", -15)]);
+
+// ./test/core/if.wast:626
+assert_return(() => invoke($0, `as-binary-operand`, [1, 1]), [value("i32", 12)]);
+
+// ./test/core/if.wast:628
+assert_return(() => invoke($0, `as-test-operand`, [0]), [value("i32", 1)]);
+
+// ./test/core/if.wast:629
+assert_return(() => invoke($0, `as-test-operand`, [1]), [value("i32", 0)]);
+
+// ./test/core/if.wast:631
+assert_return(() => invoke($0, `as-compare-operand`, [0, 0]), [value("i32", 1)]);
+
+// ./test/core/if.wast:632
+assert_return(() => invoke($0, `as-compare-operand`, [0, 1]), [value("i32", 0)]);
+
+// ./test/core/if.wast:633
+assert_return(() => invoke($0, `as-compare-operand`, [1, 0]), [value("i32", 1)]);
+
+// ./test/core/if.wast:634
+assert_return(() => invoke($0, `as-compare-operand`, [1, 1]), [value("i32", 0)]);
+
+// ./test/core/if.wast:636
+assert_return(() => invoke($0, `as-binary-operands`, [0]), [value("i32", -12)]);
+
+// ./test/core/if.wast:637
+assert_return(() => invoke($0, `as-binary-operands`, [1]), [value("i32", 12)]);
+
+// ./test/core/if.wast:639
+assert_return(() => invoke($0, `as-compare-operands`, [0]), [value("i32", 1)]);
+
+// ./test/core/if.wast:640
+assert_return(() => invoke($0, `as-compare-operands`, [1]), [value("i32", 0)]);
+
+// ./test/core/if.wast:642
+assert_return(() => invoke($0, `as-mixed-operands`, [0]), [value("i32", -3)]);
+
+// ./test/core/if.wast:643
+assert_return(() => invoke($0, `as-mixed-operands`, [1]), [value("i32", 27)]);
+
+// ./test/core/if.wast:645
+assert_return(() => invoke($0, `break-bare`, []), [value("i32", 19)]);
+
+// ./test/core/if.wast:646
+assert_return(() => invoke($0, `break-value`, [1]), [value("i32", 18)]);
+
+// ./test/core/if.wast:647
+assert_return(() => invoke($0, `break-value`, [0]), [value("i32", 21)]);
+
+// ./test/core/if.wast:648
+assert_return(
+ () => invoke($0, `break-multi-value`, [0]),
+ [value("i32", -18), value("i32", 18), value("i64", -18n)],
+);
+
+// ./test/core/if.wast:651
+assert_return(
+ () => invoke($0, `break-multi-value`, [1]),
+ [value("i32", 18), value("i32", -18), value("i64", 18n)],
+);
+
+// ./test/core/if.wast:655
+assert_return(() => invoke($0, `param`, [0]), [value("i32", -1)]);
+
+// ./test/core/if.wast:656
+assert_return(() => invoke($0, `param`, [1]), [value("i32", 3)]);
+
+// ./test/core/if.wast:657
+assert_return(() => invoke($0, `params`, [0]), [value("i32", -1)]);
+
+// ./test/core/if.wast:658
+assert_return(() => invoke($0, `params`, [1]), [value("i32", 3)]);
+
+// ./test/core/if.wast:659
+assert_return(() => invoke($0, `params-id`, [0]), [value("i32", 3)]);
+
+// ./test/core/if.wast:660
+assert_return(() => invoke($0, `params-id`, [1]), [value("i32", 3)]);
+
+// ./test/core/if.wast:661
+assert_return(() => invoke($0, `param-break`, [0]), [value("i32", -1)]);
+
+// ./test/core/if.wast:662
+assert_return(() => invoke($0, `param-break`, [1]), [value("i32", 3)]);
+
+// ./test/core/if.wast:663
+assert_return(() => invoke($0, `params-break`, [0]), [value("i32", -1)]);
+
+// ./test/core/if.wast:664
+assert_return(() => invoke($0, `params-break`, [1]), [value("i32", 3)]);
+
+// ./test/core/if.wast:665
+assert_return(() => invoke($0, `params-id-break`, [0]), [value("i32", 3)]);
+
+// ./test/core/if.wast:666
+assert_return(() => invoke($0, `params-id-break`, [1]), [value("i32", 3)]);
+
+// ./test/core/if.wast:668
+assert_return(() => invoke($0, `effects`, [1]), [value("i32", -14)]);
+
+// ./test/core/if.wast:669
+assert_return(() => invoke($0, `effects`, [0]), [value("i32", -6)]);
+
+// ./test/core/if.wast:671
+assert_return(() => invoke($0, `add64_u_with_carry`, [0n, 0n, 0]), [value("i64", 0n), value("i32", 0)]);
+
+// ./test/core/if.wast:675
+assert_return(
+ () => invoke($0, `add64_u_with_carry`, [100n, 124n, 0]),
+ [value("i64", 224n), value("i32", 0)],
+);
+
+// ./test/core/if.wast:679
+assert_return(
+ () => invoke($0, `add64_u_with_carry`, [-1n, 0n, 0]),
+ [value("i64", -1n), value("i32", 0)],
+);
+
+// ./test/core/if.wast:683
+assert_return(() => invoke($0, `add64_u_with_carry`, [-1n, 1n, 0]), [value("i64", 0n), value("i32", 1)]);
+
+// ./test/core/if.wast:687
+assert_return(
+ () => invoke($0, `add64_u_with_carry`, [-1n, -1n, 0]),
+ [value("i64", -2n), value("i32", 1)],
+);
+
+// ./test/core/if.wast:691
+assert_return(() => invoke($0, `add64_u_with_carry`, [-1n, 0n, 1]), [value("i64", 0n), value("i32", 1)]);
+
+// ./test/core/if.wast:695
+assert_return(() => invoke($0, `add64_u_with_carry`, [-1n, 1n, 1]), [value("i64", 1n), value("i32", 1)]);
+
+// ./test/core/if.wast:699
+assert_return(
+ () => invoke($0, `add64_u_with_carry`, [
+ -9223372036854775808n,
+ -9223372036854775808n,
+ 0,
+ ]),
+ [value("i64", 0n), value("i32", 1)],
+);
+
+// ./test/core/if.wast:704
+assert_return(() => invoke($0, `add64_u_saturated`, [0n, 0n]), [value("i64", 0n)]);
+
+// ./test/core/if.wast:707
+assert_return(() => invoke($0, `add64_u_saturated`, [1230n, 23n]), [value("i64", 1253n)]);
+
+// ./test/core/if.wast:710
+assert_return(() => invoke($0, `add64_u_saturated`, [-1n, 0n]), [value("i64", -1n)]);
+
+// ./test/core/if.wast:713
+assert_return(() => invoke($0, `add64_u_saturated`, [-1n, 1n]), [value("i64", -1n)]);
+
+// ./test/core/if.wast:716
+assert_return(() => invoke($0, `add64_u_saturated`, [-1n, -1n]), [value("i64", -1n)]);
+
+// ./test/core/if.wast:719
+assert_return(
+ () => invoke($0, `add64_u_saturated`, [-9223372036854775808n, -9223372036854775808n]),
+ [value("i64", -1n)],
+);
+
+// ./test/core/if.wast:723
+assert_return(() => invoke($0, `type-use`, []), []);
+
+// ./test/core/if.wast:725
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (func (i32.const 0) (if (type $$sig) (result i32) (param i32) (i32.const 1) (then)) ) `),
+ `unexpected token`,
+);
+
+// ./test/core/if.wast:734
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (func (i32.const 0) (if (param i32) (type $$sig) (result i32) (i32.const 1) (then)) ) `),
+ `unexpected token`,
+);
+
+// ./test/core/if.wast:743
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (func (i32.const 0) (if (param i32) (result i32) (type $$sig) (i32.const 1) (then)) ) `),
+ `unexpected token`,
+);
+
+// ./test/core/if.wast:752
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (func (i32.const 0) (if (result i32) (type $$sig) (param i32) (i32.const 1) (then)) ) `),
+ `unexpected token`,
+);
+
+// ./test/core/if.wast:761
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (func (i32.const 0) (if (result i32) (param i32) (type $$sig) (i32.const 1) (then)) ) `),
+ `unexpected token`,
+);
+
+// ./test/core/if.wast:770
+assert_malformed(
+ () => instantiate(`(func (i32.const 0) (if (result i32) (param i32) (i32.const 1) (then))) `),
+ `unexpected token`,
+);
+
+// ./test/core/if.wast:777
+assert_malformed(
+ () => instantiate(`(func (i32.const 0) (i32.const 1) (if (param $$x i32) (then (drop)) (else (drop))) ) `),
+ `unexpected token`,
+);
+
+// ./test/core/if.wast:785
+assert_malformed(
+ () => instantiate(`(type $$sig (func)) (func (i32.const 1) (if (type $$sig) (result i32) (then (i32.const 0)) (else (i32.const 2))) (unreachable) ) `),
+ `inline function type`,
+);
+
+// ./test/core/if.wast:795
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (func (i32.const 1) (if (type $$sig) (result i32) (then (i32.const 0)) (else (i32.const 2))) (unreachable) ) `),
+ `inline function type`,
+);
+
+// ./test/core/if.wast:805
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (func (i32.const 0) (i32.const 1) (if (type $$sig) (param i32) (then (drop)) (else (drop))) (unreachable) ) `),
+ `inline function type`,
+);
+
+// ./test/core/if.wast:815
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32 i32) (result i32))) (func (i32.const 0) (i32.const 1) (if (type $$sig) (param i32) (result i32) (then)) (unreachable) ) `),
+ `inline function type`,
+);
+
+// ./test/core/if.wast:825
+assert_invalid(
+ () => instantiate(`(module
+ (type $$sig (func))
+ (func (i32.const 1) (if (type $$sig) (i32.const 0) (then)))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:833
+assert_invalid(
+ () => instantiate(`(module (func $$type-empty-i32 (result i32) (if (i32.const 0) (then))))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:837
+assert_invalid(
+ () => instantiate(`(module (func $$type-empty-i64 (result i64) (if (i32.const 0) (then))))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:841
+assert_invalid(
+ () => instantiate(`(module (func $$type-empty-f32 (result f32) (if (i32.const 0) (then))))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:845
+assert_invalid(
+ () => instantiate(`(module (func $$type-empty-f64 (result f64) (if (i32.const 0) (then))))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:850
+assert_invalid(
+ () => instantiate(`(module (func $$type-empty-i32 (result i32) (if (i32.const 0) (then) (else))))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:854
+assert_invalid(
+ () => instantiate(`(module (func $$type-empty-i64 (result i64) (if (i32.const 0) (then) (else))))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:858
+assert_invalid(
+ () => instantiate(`(module (func $$type-empty-f32 (result f32) (if (i32.const 0) (then) (else))))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:862
+assert_invalid(
+ () => instantiate(`(module (func $$type-empty-f64 (result f64) (if (i32.const 0) (then) (else))))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:867
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-value-num-vs-void
+ (if (i32.const 1) (then (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:873
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-value-num-vs-void-else
+ (if (i32.const 1) (then (i32.const 1)) (else))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:879
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-value-num-vs-void
+ (if (i32.const 1) (then) (else (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:885
+assert_invalid(
+ () => instantiate(`(module (func $$type-both-value-num-vs-void
+ (if (i32.const 1) (then (i32.const 1)) (else (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:892
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-value-nums-vs-void
+ (if (i32.const 1) (then (i32.const 1) (i32.const 2)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:898
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-value-nums-vs-void-else
+ (if (i32.const 1) (then (i32.const 1) (i32.const 2)) (else))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:904
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-value-nums-vs-void
+ (if (i32.const 1) (then) (else (i32.const 1) (i32.const 2)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:910
+assert_invalid(
+ () => instantiate(`(module (func $$type-both-value-nums-vs-void
+ (if (i32.const 1) (then (i32.const 1) (i32.const 2)) (else (i32.const 2) (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:917
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-value-empty-vs-num (result i32)
+ (if (result i32) (i32.const 1) (then) (else (i32.const 0)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:923
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-value-empty-vs-num (result i32)
+ (if (result i32) (i32.const 1) (then (i32.const 0)) (else))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:929
+assert_invalid(
+ () => instantiate(`(module (func $$type-both-value-empty-vs-num (result i32)
+ (if (result i32) (i32.const 1) (then) (else))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:936
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-value-empty-vs-nums (result i32 i32)
+ (if (result i32 i32) (i32.const 1) (then) (else (i32.const 0) (i32.const 2)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:942
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-value-empty-vs-nums (result i32 i32)
+ (if (result i32 i32) (i32.const 1) (then (i32.const 0) (i32.const 1)) (else))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:948
+assert_invalid(
+ () => instantiate(`(module (func $$type-both-value-empty-vs-nums (result i32 i32)
+ (if (result i32 i32) (i32.const 1) (then) (else))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:955
+assert_invalid(
+ () => instantiate(`(module (func $$type-no-else-vs-num (result i32)
+ (if (result i32) (i32.const 1) (then (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:961
+assert_invalid(
+ () => instantiate(`(module (func $$type-no-else-vs-nums (result i32 i32)
+ (if (result i32 i32) (i32.const 1) (then (i32.const 1) (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:968
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-value-void-vs-num (result i32)
+ (if (result i32) (i32.const 1) (then (nop)) (else (i32.const 0)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:974
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-value-void-vs-num (result i32)
+ (if (result i32) (i32.const 1) (then (i32.const 0)) (else (nop)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:980
+assert_invalid(
+ () => instantiate(`(module (func $$type-both-value-void-vs-num (result i32)
+ (if (result i32) (i32.const 1) (then (nop)) (else (nop)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:987
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-value-void-vs-nums (result i32 i32)
+ (if (result i32 i32) (i32.const 1) (then (nop)) (else (i32.const 0) (i32.const 0)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:993
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-value-void-vs-nums (result i32 i32)
+ (if (result i32 i32) (i32.const 1) (then (i32.const 0) (i32.const 0)) (else (nop)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:999
+assert_invalid(
+ () => instantiate(`(module (func $$type-both-value-void-vs-nums (result i32 i32)
+ (if (result i32 i32) (i32.const 1) (then (nop)) (else (nop)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1006
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-value-num-vs-num (result i32)
+ (if (result i32) (i32.const 1) (then (i64.const 1)) (else (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1012
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-value-num-vs-num (result i32)
+ (if (result i32) (i32.const 1) (then (i32.const 1)) (else (i64.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1018
+assert_invalid(
+ () => instantiate(`(module (func $$type-both-value-num-vs-num (result i32)
+ (if (result i32) (i32.const 1) (then (i64.const 1)) (else (i64.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1025
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-value-num-vs-nums (result i32 i32)
+ (if (result i32 i32) (i32.const 1) (then (i32.const 1)) (else (i32.const 1) (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1031
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-value-num-vs-nums (result i32 i32)
+ (if (result i32 i32) (i32.const 1) (then (i32.const 1) (i32.const 1)) (else (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1037
+assert_invalid(
+ () => instantiate(`(module (func $$type-both-value-num-vs-nums (result i32 i32)
+ (if (result i32 i32) (i32.const 1) (then (i32.const 1)) (else (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1044
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-value-partial-vs-nums (result i32 i32)
+ (i32.const 0)
+ (if (result i32 i32) (i32.const 1) (then (i32.const 1)) (else (i32.const 1) (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1051
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-value-partial-vs-nums (result i32 i32)
+ (i32.const 0)
+ (if (result i32 i32) (i32.const 1) (then (i32.const 1) (i32.const 1)) (else (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1058
+assert_invalid(
+ () => instantiate(`(module (func $$type-both-value-partial-vs-nums (result i32 i32)
+ (i32.const 0)
+ (if (result i32 i32) (i32.const 1) (then (i32.const 1)) (else (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1066
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-value-nums-vs-num (result i32)
+ (if (result i32) (i32.const 1) (then (i32.const 1) (i32.const 1)) (else (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1072
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-value-nums-vs-num (result i32)
+ (if (result i32) (i32.const 1) (then (i32.const 1)) (else (i32.const 1) (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1078
+assert_invalid(
+ () => instantiate(`(module (func $$type-both-value-nums-vs-num (result i32)
+ (if (result i32) (i32.const 1) (then (i32.const 1) (i32.const 1)) (else (i32.const 1) (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1085
+assert_invalid(
+ () => instantiate(`(module (func $$type-both-different-value-num-vs-num (result i32)
+ (if (result i32) (i32.const 1) (then (i64.const 1)) (else (f64.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1091
+assert_invalid(
+ () => instantiate(`(module (func $$type-both-different-value-nums-vs-nums (result i32 i32)
+ (if (result i32 i32) (i32.const 1) (then (i32.const 1) (i32.const 1) (i32.const 1)) (else (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1098
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-value-unreached-select (result i32)
+ (if (result i64)
+ (i32.const 0)
+ (then (select (unreachable) (unreachable) (unreachable)))
+ (else (i64.const 0))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1108
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-value-unreached-select (result i32)
+ (if (result i64)
+ (i32.const 1)
+ (then (i64.const 0))
+ (else (select (unreachable) (unreachable) (unreachable)))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1118
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-value-unreached-select (result i32)
+ (if (result i64)
+ (i32.const 1)
+ (then (select (unreachable) (unreachable) (unreachable)))
+ (else (select (unreachable) (unreachable) (unreachable)))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1129
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-break-last-void-vs-num (result i32)
+ (if (result i32) (i32.const 1) (then (br 0)) (else (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1135
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-break-last-void-vs-num (result i32)
+ (if (result i32) (i32.const 1) (then (i32.const 1)) (else (br 0)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1141
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-break-last-void-vs-nums (result i32 i32)
+ (if (result i32 i32) (i32.const 1) (then (br 0)) (else (i32.const 1) (i32.const 1)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1147
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-break-last-void-vs-nums (result i32 i32)
+ (if (result i32 i32) (i32.const 1) (then (i32.const 1) (i32.const 1)) (else (br 0)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1154
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-break-empty-vs-num (result i32)
+ (if (result i32) (i32.const 1)
+ (then (br 0) (i32.const 1))
+ (else (i32.const 1))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1163
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-break-empty-vs-num (result i32)
+ (if (result i32) (i32.const 1)
+ (then (i32.const 1))
+ (else (br 0) (i32.const 1))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1172
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-break-empty-vs-nums (result i32 i32)
+ (if (result i32 i32) (i32.const 1)
+ (then (br 0) (i32.const 1) (i32.const 1))
+ (else (i32.const 1) (i32.const 1))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1181
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-break-empty-vs-nums (result i32 i32)
+ (if (result i32 i32) (i32.const 1)
+ (then (i32.const 1) (i32.const 1))
+ (else (br 0) (i32.const 1) (i32.const 1))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1191
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-break-void-vs-num (result i32)
+ (if (result i32) (i32.const 1)
+ (then (br 0 (nop)) (i32.const 1))
+ (else (i32.const 1))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1200
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-break-void-vs-num (result i32)
+ (if (result i32) (i32.const 1)
+ (then (i32.const 1))
+ (else (br 0 (nop)) (i32.const 1))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1209
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-break-void-vs-nums (result i32 i32)
+ (if (result i32 i32) (i32.const 1)
+ (then (br 0 (nop)) (i32.const 1) (i32.const 1))
+ (else (i32.const 1) (i32.const 1))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1218
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-break-void-vs-nums (result i32 i32)
+ (if (result i32 i32) (i32.const 1)
+ (then (i32.const 1) (i32.const 1))
+ (else (br 0 (nop)) (i32.const 1) (i32.const 1))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1228
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-break-num-vs-num (result i32)
+ (if (result i32) (i32.const 1)
+ (then (br 0 (i64.const 1)) (i32.const 1))
+ (else (i32.const 1))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1237
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-break-num-vs-num (result i32)
+ (if (result i32) (i32.const 1)
+ (then (i32.const 1))
+ (else (br 0 (i64.const 1)) (i32.const 1))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1246
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-break-num-vs-nums (result i32 i32)
+ (if (result i32 i32) (i32.const 1)
+ (then (br 0 (i64.const 1)) (i32.const 1) (i32.const 1))
+ (else (i32.const 1) (i32.const 1))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1255
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-break-num-vs-nums (result i32 i32)
+ (if (result i32 i32) (i32.const 1)
+ (then (i32.const 1) (i32.const 1))
+ (else (br 0 (i64.const 1)) (i32.const 1) (i32.const 1))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1264
+assert_invalid(
+ () => instantiate(`(module (func $$type-then-break-partial-vs-nums (result i32 i32)
+ (i32.const 1)
+ (if (result i32 i32) (i32.const 1)
+ (then (br 0 (i64.const 1)) (i32.const 1))
+ (else (i32.const 1))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1274
+assert_invalid(
+ () => instantiate(`(module (func $$type-else-break-partial-vs-nums (result i32 i32)
+ (i32.const 1)
+ (if (result i32 i32) (i32.const 1)
+ (then (i32.const 1))
+ (else (br 0 (i64.const 1)) (i32.const 1))
+ )
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1285
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-condition-empty
+ (if (then))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1293
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-condition-empty-in-block
+ (i32.const 0)
+ (block (if (then)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1302
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-condition-empty-in-loop
+ (i32.const 0)
+ (loop (if (then)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1311
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-condition-empty-in-then
+ (i32.const 0) (i32.const 0)
+ (if (then (if (then))))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1320
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-condition-empty-in-else
+ (i32.const 0) (i32.const 0)
+ (if (result i32) (then (i32.const 0)) (else (if (then)) (i32.const 0)))
+ (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1330
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-condition-empty-in-br
+ (i32.const 0)
+ (block (br 0 (if(then))) (drop))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1339
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-condition-empty-in-br_if
+ (i32.const 0)
+ (block (br_if 0 (if(then)) (i32.const 1)) (drop))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1348
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-condition-empty-in-br_table
+ (i32.const 0)
+ (block (br_table 0 (if(then))) (drop))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1357
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-condition-empty-in-return
+ (return (if(then))) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1365
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-condition-empty-in-select
+ (select (if(then)) (i32.const 1) (i32.const 2)) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1373
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-condition-empty-in-call
+ (call 1 (if(then))) (drop)
+ )
+ (func (param i32) (result i32) (local.get 0))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1382
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f (param i32) (result i32) (local.get 0))
+ (type $$sig (func (param i32) (result i32)))
+ (table funcref (elem $$f))
+ (func $$type-condition-empty-in-call_indirect
+ (block (result i32)
+ (call_indirect (type $$sig)
+ (if(then)) (i32.const 0)
+ )
+ (drop)
+ )
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1398
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-condition-empty-in-local.set
+ (local i32)
+ (local.set 0 (if(then))) (local.get 0) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1407
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-condition-empty-in-local.tee
+ (local i32)
+ (local.tee 0 (if(then))) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1416
+assert_invalid(
+ () => instantiate(`(module
+ (global $$x (mut i32) (i32.const 0))
+ (func $$type-condition-empty-in-global.set
+ (global.set $$x (if(then))) (global.get $$x) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1425
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (func $$type-condition-empty-in-memory.grow
+ (memory.grow (if(then))) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1434
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (func $$type-condition-empty-in-load
+ (i32.load (if(then))) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1443
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-condition-empty-in-store
+ (i32.store (if(then)) (i32.const 1))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1453
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-void-vs-num
+ (if (param i32) (i32.const 1) (then (drop)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1459
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-void-vs-nums
+ (if (param i32 f64) (i32.const 1) (then (drop) (drop)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1465
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-num-vs-num
+ (f32.const 0) (if (param i32) (i32.const 1) (then (drop)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1471
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-num-vs-nums
+ (f32.const 0) (if (param f32 i32) (i32.const 1) (then (drop) (drop)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1477
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-nested-void-vs-num
+ (block (if (param i32) (i32.const 1) (then (drop))))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1483
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-void-vs-nums
+ (block (if (param i32 f64) (i32.const 1) (then (drop) (drop))))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1489
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-num-vs-num
+ (block (f32.const 0) (if (param i32) (i32.const 1) (then (drop))))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1495
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-num-vs-nums
+ (block (f32.const 0) (if (param f32 i32) (i32.const 1) (then (drop) (drop))))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/if.wast:1502
+assert_malformed(
+ () => instantiate(`(func (param i32) (result i32) if (param $$x i32) end) `),
+ `unexpected token`,
+);
+
+// ./test/core/if.wast:1506
+assert_malformed(
+ () => instantiate(`(func (param i32) (result i32) (if (param $$x i32) (then))) `),
+ `unexpected token`,
+);
+
+// ./test/core/if.wast:1511
+assert_malformed(() => instantiate(`(func i32.const 0 if end $$l) `), `mismatching label`);
+
+// ./test/core/if.wast:1515
+assert_malformed(
+ () => instantiate(`(func i32.const 0 if $$a end $$l) `),
+ `mismatching label`,
+);
+
+// ./test/core/if.wast:1519
+assert_malformed(
+ () => instantiate(`(func i32.const 0 if else $$l end) `),
+ `mismatching label`,
+);
+
+// ./test/core/if.wast:1523
+assert_malformed(
+ () => instantiate(`(func i32.const 0 if $$a else $$l end) `),
+ `mismatching label`,
+);
+
+// ./test/core/if.wast:1527
+assert_malformed(
+ () => instantiate(`(func i32.const 0 if else end $$l) `),
+ `mismatching label`,
+);
+
+// ./test/core/if.wast:1531
+assert_malformed(
+ () => instantiate(`(func i32.const 0 if else $$l end $$l) `),
+ `mismatching label`,
+);
+
+// ./test/core/if.wast:1535
+assert_malformed(
+ () => instantiate(`(func i32.const 0 if else $$l1 end $$l2) `),
+ `mismatching label`,
+);
+
+// ./test/core/if.wast:1539
+assert_malformed(
+ () => instantiate(`(func i32.const 0 if $$a else end $$l) `),
+ `mismatching label`,
+);
+
+// ./test/core/if.wast:1543
+assert_malformed(
+ () => instantiate(`(func i32.const 0 if $$a else $$a end $$l) `),
+ `mismatching label`,
+);
+
+// ./test/core/if.wast:1547
+assert_malformed(
+ () => instantiate(`(func i32.const 0 if $$a else $$l end $$l) `),
+ `mismatching label`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/inline-module.wast.js b/js/src/jit-test/tests/wasm/spec/spec/inline-module.wast.js
new file mode 100644
index 0000000000..30e6acaeee
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/inline-module.wast.js
@@ -0,0 +1,20 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/inline-module.wast
+
+// ./test/core/inline-module.wast:1:0
+let $0 = instantiate(`(func) (memory 0) (func (export "f"))
+`);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/int_exprs.wast.js b/js/src/jit-test/tests/wasm/spec/spec/int_exprs.wast.js
new file mode 100644
index 0000000000..811712a794
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/int_exprs.wast.js
@@ -0,0 +1,534 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/int_exprs.wast
+
+// ./test/core/int_exprs.wast:6
+let $0 = instantiate(`(module
+ (func (export "i32.no_fold_cmp_s_offset") (param $$x i32) (param $$y i32) (result i32)
+ (i32.lt_s (i32.add (local.get $$x) (i32.const 1)) (i32.add (local.get $$y) (i32.const 1))))
+ (func (export "i32.no_fold_cmp_u_offset") (param $$x i32) (param $$y i32) (result i32)
+ (i32.lt_u (i32.add (local.get $$x) (i32.const 1)) (i32.add (local.get $$y) (i32.const 1))))
+
+ (func (export "i64.no_fold_cmp_s_offset") (param $$x i64) (param $$y i64) (result i32)
+ (i64.lt_s (i64.add (local.get $$x) (i64.const 1)) (i64.add (local.get $$y) (i64.const 1))))
+ (func (export "i64.no_fold_cmp_u_offset") (param $$x i64) (param $$y i64) (result i32)
+ (i64.lt_u (i64.add (local.get $$x) (i64.const 1)) (i64.add (local.get $$y) (i64.const 1))))
+)`);
+
+// ./test/core/int_exprs.wast:18
+assert_return(() => invoke($0, `i32.no_fold_cmp_s_offset`, [2147483647, 0]), [value("i32", 1)]);
+
+// ./test/core/int_exprs.wast:19
+assert_return(() => invoke($0, `i32.no_fold_cmp_u_offset`, [-1, 0]), [value("i32", 1)]);
+
+// ./test/core/int_exprs.wast:20
+assert_return(
+ () => invoke($0, `i64.no_fold_cmp_s_offset`, [9223372036854775807n, 0n]),
+ [value("i32", 1)],
+);
+
+// ./test/core/int_exprs.wast:21
+assert_return(() => invoke($0, `i64.no_fold_cmp_u_offset`, [-1n, 0n]), [value("i32", 1)]);
+
+// ./test/core/int_exprs.wast:25
+let $1 = instantiate(`(module
+ (func (export "i64.no_fold_wrap_extend_s") (param $$x i64) (result i64)
+ (i64.extend_i32_s (i32.wrap_i64 (local.get $$x))))
+)`);
+
+// ./test/core/int_exprs.wast:30
+assert_return(
+ () => invoke($1, `i64.no_fold_wrap_extend_s`, [4538991236898928n]),
+ [value("i64", 1079009392n)],
+);
+
+// ./test/core/int_exprs.wast:31
+assert_return(
+ () => invoke($1, `i64.no_fold_wrap_extend_s`, [45230338458316960n]),
+ [value("i64", -790564704n)],
+);
+
+// ./test/core/int_exprs.wast:35
+let $2 = instantiate(`(module
+ (func (export "i64.no_fold_wrap_extend_u") (param $$x i64) (result i64)
+ (i64.extend_i32_u (i32.wrap_i64 (local.get $$x))))
+)`);
+
+// ./test/core/int_exprs.wast:40
+assert_return(
+ () => invoke($2, `i64.no_fold_wrap_extend_u`, [4538991236898928n]),
+ [value("i64", 1079009392n)],
+);
+
+// ./test/core/int_exprs.wast:44
+let $3 = instantiate(`(module
+ (func (export "i32.no_fold_shl_shr_s") (param $$x i32) (result i32)
+ (i32.shr_s (i32.shl (local.get $$x) (i32.const 1)) (i32.const 1)))
+ (func (export "i32.no_fold_shl_shr_u") (param $$x i32) (result i32)
+ (i32.shr_u (i32.shl (local.get $$x) (i32.const 1)) (i32.const 1)))
+
+ (func (export "i64.no_fold_shl_shr_s") (param $$x i64) (result i64)
+ (i64.shr_s (i64.shl (local.get $$x) (i64.const 1)) (i64.const 1)))
+ (func (export "i64.no_fold_shl_shr_u") (param $$x i64) (result i64)
+ (i64.shr_u (i64.shl (local.get $$x) (i64.const 1)) (i64.const 1)))
+)`);
+
+// ./test/core/int_exprs.wast:56
+assert_return(() => invoke($3, `i32.no_fold_shl_shr_s`, [-2147483648]), [value("i32", 0)]);
+
+// ./test/core/int_exprs.wast:57
+assert_return(() => invoke($3, `i32.no_fold_shl_shr_u`, [-2147483648]), [value("i32", 0)]);
+
+// ./test/core/int_exprs.wast:58
+assert_return(() => invoke($3, `i64.no_fold_shl_shr_s`, [-9223372036854775808n]), [value("i64", 0n)]);
+
+// ./test/core/int_exprs.wast:59
+assert_return(() => invoke($3, `i64.no_fold_shl_shr_u`, [-9223372036854775808n]), [value("i64", 0n)]);
+
+// ./test/core/int_exprs.wast:63
+let $4 = instantiate(`(module
+ (func (export "i32.no_fold_shr_s_shl") (param $$x i32) (result i32)
+ (i32.shl (i32.shr_s (local.get $$x) (i32.const 1)) (i32.const 1)))
+ (func (export "i32.no_fold_shr_u_shl") (param $$x i32) (result i32)
+ (i32.shl (i32.shr_u (local.get $$x) (i32.const 1)) (i32.const 1)))
+
+ (func (export "i64.no_fold_shr_s_shl") (param $$x i64) (result i64)
+ (i64.shl (i64.shr_s (local.get $$x) (i64.const 1)) (i64.const 1)))
+ (func (export "i64.no_fold_shr_u_shl") (param $$x i64) (result i64)
+ (i64.shl (i64.shr_u (local.get $$x) (i64.const 1)) (i64.const 1)))
+)`);
+
+// ./test/core/int_exprs.wast:75
+assert_return(() => invoke($4, `i32.no_fold_shr_s_shl`, [1]), [value("i32", 0)]);
+
+// ./test/core/int_exprs.wast:76
+assert_return(() => invoke($4, `i32.no_fold_shr_u_shl`, [1]), [value("i32", 0)]);
+
+// ./test/core/int_exprs.wast:77
+assert_return(() => invoke($4, `i64.no_fold_shr_s_shl`, [1n]), [value("i64", 0n)]);
+
+// ./test/core/int_exprs.wast:78
+assert_return(() => invoke($4, `i64.no_fold_shr_u_shl`, [1n]), [value("i64", 0n)]);
+
+// ./test/core/int_exprs.wast:82
+let $5 = instantiate(`(module
+ (func (export "i32.no_fold_div_s_mul") (param $$x i32) (result i32)
+ (i32.mul (i32.div_s (local.get $$x) (i32.const 6)) (i32.const 6)))
+ (func (export "i32.no_fold_div_u_mul") (param $$x i32) (result i32)
+ (i32.mul (i32.div_u (local.get $$x) (i32.const 6)) (i32.const 6)))
+
+ (func (export "i64.no_fold_div_s_mul") (param $$x i64) (result i64)
+ (i64.mul (i64.div_s (local.get $$x) (i64.const 6)) (i64.const 6)))
+ (func (export "i64.no_fold_div_u_mul") (param $$x i64) (result i64)
+ (i64.mul (i64.div_u (local.get $$x) (i64.const 6)) (i64.const 6)))
+)`);
+
+// ./test/core/int_exprs.wast:94
+assert_return(() => invoke($5, `i32.no_fold_div_s_mul`, [1]), [value("i32", 0)]);
+
+// ./test/core/int_exprs.wast:95
+assert_return(() => invoke($5, `i32.no_fold_div_u_mul`, [1]), [value("i32", 0)]);
+
+// ./test/core/int_exprs.wast:96
+assert_return(() => invoke($5, `i64.no_fold_div_s_mul`, [1n]), [value("i64", 0n)]);
+
+// ./test/core/int_exprs.wast:97
+assert_return(() => invoke($5, `i64.no_fold_div_u_mul`, [1n]), [value("i64", 0n)]);
+
+// ./test/core/int_exprs.wast:101
+let $6 = instantiate(`(module
+ (func (export "i32.no_fold_div_s_self") (param $$x i32) (result i32)
+ (i32.div_s (local.get $$x) (local.get $$x)))
+ (func (export "i32.no_fold_div_u_self") (param $$x i32) (result i32)
+ (i32.div_u (local.get $$x) (local.get $$x)))
+
+ (func (export "i64.no_fold_div_s_self") (param $$x i64) (result i64)
+ (i64.div_s (local.get $$x) (local.get $$x)))
+ (func (export "i64.no_fold_div_u_self") (param $$x i64) (result i64)
+ (i64.div_u (local.get $$x) (local.get $$x)))
+)`);
+
+// ./test/core/int_exprs.wast:113
+assert_trap(() => invoke($6, `i32.no_fold_div_s_self`, [0]), `integer divide by zero`);
+
+// ./test/core/int_exprs.wast:114
+assert_trap(() => invoke($6, `i32.no_fold_div_u_self`, [0]), `integer divide by zero`);
+
+// ./test/core/int_exprs.wast:115
+assert_trap(() => invoke($6, `i64.no_fold_div_s_self`, [0n]), `integer divide by zero`);
+
+// ./test/core/int_exprs.wast:116
+assert_trap(() => invoke($6, `i64.no_fold_div_u_self`, [0n]), `integer divide by zero`);
+
+// ./test/core/int_exprs.wast:120
+let $7 = instantiate(`(module
+ (func (export "i32.no_fold_rem_s_self") (param $$x i32) (result i32)
+ (i32.rem_s (local.get $$x) (local.get $$x)))
+ (func (export "i32.no_fold_rem_u_self") (param $$x i32) (result i32)
+ (i32.rem_u (local.get $$x) (local.get $$x)))
+
+ (func (export "i64.no_fold_rem_s_self") (param $$x i64) (result i64)
+ (i64.rem_s (local.get $$x) (local.get $$x)))
+ (func (export "i64.no_fold_rem_u_self") (param $$x i64) (result i64)
+ (i64.rem_u (local.get $$x) (local.get $$x)))
+)`);
+
+// ./test/core/int_exprs.wast:132
+assert_trap(() => invoke($7, `i32.no_fold_rem_s_self`, [0]), `integer divide by zero`);
+
+// ./test/core/int_exprs.wast:133
+assert_trap(() => invoke($7, `i32.no_fold_rem_u_self`, [0]), `integer divide by zero`);
+
+// ./test/core/int_exprs.wast:134
+assert_trap(() => invoke($7, `i64.no_fold_rem_s_self`, [0n]), `integer divide by zero`);
+
+// ./test/core/int_exprs.wast:135
+assert_trap(() => invoke($7, `i64.no_fold_rem_u_self`, [0n]), `integer divide by zero`);
+
+// ./test/core/int_exprs.wast:139
+let $8 = instantiate(`(module
+ (func (export "i32.no_fold_mul_div_s") (param $$x i32) (result i32)
+ (i32.div_s (i32.mul (local.get $$x) (i32.const 6)) (i32.const 6)))
+ (func (export "i32.no_fold_mul_div_u") (param $$x i32) (result i32)
+ (i32.div_u (i32.mul (local.get $$x) (i32.const 6)) (i32.const 6)))
+
+ (func (export "i64.no_fold_mul_div_s") (param $$x i64) (result i64)
+ (i64.div_s (i64.mul (local.get $$x) (i64.const 6)) (i64.const 6)))
+ (func (export "i64.no_fold_mul_div_u") (param $$x i64) (result i64)
+ (i64.div_u (i64.mul (local.get $$x) (i64.const 6)) (i64.const 6)))
+)`);
+
+// ./test/core/int_exprs.wast:151
+assert_return(() => invoke($8, `i32.no_fold_mul_div_s`, [-2147483648]), [value("i32", 0)]);
+
+// ./test/core/int_exprs.wast:152
+assert_return(() => invoke($8, `i32.no_fold_mul_div_u`, [-2147483648]), [value("i32", 0)]);
+
+// ./test/core/int_exprs.wast:153
+assert_return(() => invoke($8, `i64.no_fold_mul_div_s`, [-9223372036854775808n]), [value("i64", 0n)]);
+
+// ./test/core/int_exprs.wast:154
+assert_return(() => invoke($8, `i64.no_fold_mul_div_u`, [-9223372036854775808n]), [value("i64", 0n)]);
+
+// ./test/core/int_exprs.wast:158
+let $9 = instantiate(`(module
+ (func (export "i32.no_fold_div_s_2") (param $$x i32) (result i32)
+ (i32.div_s (local.get $$x) (i32.const 2)))
+
+ (func (export "i64.no_fold_div_s_2") (param $$x i64) (result i64)
+ (i64.div_s (local.get $$x) (i64.const 2)))
+)`);
+
+// ./test/core/int_exprs.wast:166
+assert_return(() => invoke($9, `i32.no_fold_div_s_2`, [-11]), [value("i32", -5)]);
+
+// ./test/core/int_exprs.wast:167
+assert_return(() => invoke($9, `i64.no_fold_div_s_2`, [-11n]), [value("i64", -5n)]);
+
+// ./test/core/int_exprs.wast:171
+let $10 = instantiate(`(module
+ (func (export "i32.no_fold_rem_s_2") (param $$x i32) (result i32)
+ (i32.rem_s (local.get $$x) (i32.const 2)))
+
+ (func (export "i64.no_fold_rem_s_2") (param $$x i64) (result i64)
+ (i64.rem_s (local.get $$x) (i64.const 2)))
+)`);
+
+// ./test/core/int_exprs.wast:179
+assert_return(() => invoke($10, `i32.no_fold_rem_s_2`, [-11]), [value("i32", -1)]);
+
+// ./test/core/int_exprs.wast:180
+assert_return(() => invoke($10, `i64.no_fold_rem_s_2`, [-11n]), [value("i64", -1n)]);
+
+// ./test/core/int_exprs.wast:184
+let $11 = instantiate(`(module
+ (func (export "i32.div_s_0") (param $$x i32) (result i32)
+ (i32.div_s (local.get $$x) (i32.const 0)))
+ (func (export "i32.div_u_0") (param $$x i32) (result i32)
+ (i32.div_u (local.get $$x) (i32.const 0)))
+
+ (func (export "i64.div_s_0") (param $$x i64) (result i64)
+ (i64.div_s (local.get $$x) (i64.const 0)))
+ (func (export "i64.div_u_0") (param $$x i64) (result i64)
+ (i64.div_u (local.get $$x) (i64.const 0)))
+)`);
+
+// ./test/core/int_exprs.wast:196
+assert_trap(() => invoke($11, `i32.div_s_0`, [71]), `integer divide by zero`);
+
+// ./test/core/int_exprs.wast:197
+assert_trap(() => invoke($11, `i32.div_u_0`, [71]), `integer divide by zero`);
+
+// ./test/core/int_exprs.wast:198
+assert_trap(() => invoke($11, `i64.div_s_0`, [71n]), `integer divide by zero`);
+
+// ./test/core/int_exprs.wast:199
+assert_trap(() => invoke($11, `i64.div_u_0`, [71n]), `integer divide by zero`);
+
+// ./test/core/int_exprs.wast:203
+let $12 = instantiate(`(module
+ (func (export "i32.div_s_3") (param $$x i32) (result i32)
+ (i32.div_s (local.get $$x) (i32.const 3)))
+ (func (export "i32.div_u_3") (param $$x i32) (result i32)
+ (i32.div_u (local.get $$x) (i32.const 3)))
+
+ (func (export "i64.div_s_3") (param $$x i64) (result i64)
+ (i64.div_s (local.get $$x) (i64.const 3)))
+ (func (export "i64.div_u_3") (param $$x i64) (result i64)
+ (i64.div_u (local.get $$x) (i64.const 3)))
+)`);
+
+// ./test/core/int_exprs.wast:215
+assert_return(() => invoke($12, `i32.div_s_3`, [71]), [value("i32", 23)]);
+
+// ./test/core/int_exprs.wast:216
+assert_return(() => invoke($12, `i32.div_s_3`, [1610612736]), [value("i32", 536870912)]);
+
+// ./test/core/int_exprs.wast:217
+assert_return(() => invoke($12, `i32.div_u_3`, [71]), [value("i32", 23)]);
+
+// ./test/core/int_exprs.wast:218
+assert_return(() => invoke($12, `i32.div_u_3`, [-1073741824]), [value("i32", 1073741824)]);
+
+// ./test/core/int_exprs.wast:219
+assert_return(() => invoke($12, `i64.div_s_3`, [71n]), [value("i64", 23n)]);
+
+// ./test/core/int_exprs.wast:220
+assert_return(
+ () => invoke($12, `i64.div_s_3`, [3458764513820540928n]),
+ [value("i64", 1152921504606846976n)],
+);
+
+// ./test/core/int_exprs.wast:221
+assert_return(() => invoke($12, `i64.div_u_3`, [71n]), [value("i64", 23n)]);
+
+// ./test/core/int_exprs.wast:222
+assert_return(
+ () => invoke($12, `i64.div_u_3`, [-4611686018427387904n]),
+ [value("i64", 4611686018427387904n)],
+);
+
+// ./test/core/int_exprs.wast:226
+let $13 = instantiate(`(module
+ (func (export "i32.div_s_5") (param $$x i32) (result i32)
+ (i32.div_s (local.get $$x) (i32.const 5)))
+ (func (export "i32.div_u_5") (param $$x i32) (result i32)
+ (i32.div_u (local.get $$x) (i32.const 5)))
+
+ (func (export "i64.div_s_5") (param $$x i64) (result i64)
+ (i64.div_s (local.get $$x) (i64.const 5)))
+ (func (export "i64.div_u_5") (param $$x i64) (result i64)
+ (i64.div_u (local.get $$x) (i64.const 5)))
+)`);
+
+// ./test/core/int_exprs.wast:238
+assert_return(() => invoke($13, `i32.div_s_5`, [71]), [value("i32", 14)]);
+
+// ./test/core/int_exprs.wast:239
+assert_return(() => invoke($13, `i32.div_s_5`, [1342177280]), [value("i32", 268435456)]);
+
+// ./test/core/int_exprs.wast:240
+assert_return(() => invoke($13, `i32.div_u_5`, [71]), [value("i32", 14)]);
+
+// ./test/core/int_exprs.wast:241
+assert_return(() => invoke($13, `i32.div_u_5`, [-1610612736]), [value("i32", 536870912)]);
+
+// ./test/core/int_exprs.wast:242
+assert_return(() => invoke($13, `i64.div_s_5`, [71n]), [value("i64", 14n)]);
+
+// ./test/core/int_exprs.wast:243
+assert_return(
+ () => invoke($13, `i64.div_s_5`, [5764607523034234880n]),
+ [value("i64", 1152921504606846976n)],
+);
+
+// ./test/core/int_exprs.wast:244
+assert_return(() => invoke($13, `i64.div_u_5`, [71n]), [value("i64", 14n)]);
+
+// ./test/core/int_exprs.wast:245
+assert_return(
+ () => invoke($13, `i64.div_u_5`, [-6917529027641081856n]),
+ [value("i64", 2305843009213693952n)],
+);
+
+// ./test/core/int_exprs.wast:249
+let $14 = instantiate(`(module
+ (func (export "i32.div_s_7") (param $$x i32) (result i32)
+ (i32.div_s (local.get $$x) (i32.const 7)))
+ (func (export "i32.div_u_7") (param $$x i32) (result i32)
+ (i32.div_u (local.get $$x) (i32.const 7)))
+
+ (func (export "i64.div_s_7") (param $$x i64) (result i64)
+ (i64.div_s (local.get $$x) (i64.const 7)))
+ (func (export "i64.div_u_7") (param $$x i64) (result i64)
+ (i64.div_u (local.get $$x) (i64.const 7)))
+)`);
+
+// ./test/core/int_exprs.wast:261
+assert_return(() => invoke($14, `i32.div_s_7`, [71]), [value("i32", 10)]);
+
+// ./test/core/int_exprs.wast:262
+assert_return(() => invoke($14, `i32.div_s_7`, [1879048192]), [value("i32", 268435456)]);
+
+// ./test/core/int_exprs.wast:263
+assert_return(() => invoke($14, `i32.div_u_7`, [71]), [value("i32", 10)]);
+
+// ./test/core/int_exprs.wast:264
+assert_return(() => invoke($14, `i32.div_u_7`, [-536870912]), [value("i32", 536870912)]);
+
+// ./test/core/int_exprs.wast:265
+assert_return(() => invoke($14, `i64.div_s_7`, [71n]), [value("i64", 10n)]);
+
+// ./test/core/int_exprs.wast:266
+assert_return(
+ () => invoke($14, `i64.div_s_7`, [8070450532247928832n]),
+ [value("i64", 1152921504606846976n)],
+);
+
+// ./test/core/int_exprs.wast:267
+assert_return(() => invoke($14, `i64.div_u_7`, [71n]), [value("i64", 10n)]);
+
+// ./test/core/int_exprs.wast:268
+assert_return(
+ () => invoke($14, `i64.div_u_7`, [-2305843009213693952n]),
+ [value("i64", 2305843009213693952n)],
+);
+
+// ./test/core/int_exprs.wast:272
+let $15 = instantiate(`(module
+ (func (export "i32.rem_s_3") (param $$x i32) (result i32)
+ (i32.rem_s (local.get $$x) (i32.const 3)))
+ (func (export "i32.rem_u_3") (param $$x i32) (result i32)
+ (i32.rem_u (local.get $$x) (i32.const 3)))
+
+ (func (export "i64.rem_s_3") (param $$x i64) (result i64)
+ (i64.rem_s (local.get $$x) (i64.const 3)))
+ (func (export "i64.rem_u_3") (param $$x i64) (result i64)
+ (i64.rem_u (local.get $$x) (i64.const 3)))
+)`);
+
+// ./test/core/int_exprs.wast:284
+assert_return(() => invoke($15, `i32.rem_s_3`, [71]), [value("i32", 2)]);
+
+// ./test/core/int_exprs.wast:285
+assert_return(() => invoke($15, `i32.rem_s_3`, [1610612736]), [value("i32", 0)]);
+
+// ./test/core/int_exprs.wast:286
+assert_return(() => invoke($15, `i32.rem_u_3`, [71]), [value("i32", 2)]);
+
+// ./test/core/int_exprs.wast:287
+assert_return(() => invoke($15, `i32.rem_u_3`, [-1073741824]), [value("i32", 0)]);
+
+// ./test/core/int_exprs.wast:288
+assert_return(() => invoke($15, `i64.rem_s_3`, [71n]), [value("i64", 2n)]);
+
+// ./test/core/int_exprs.wast:289
+assert_return(() => invoke($15, `i64.rem_s_3`, [3458764513820540928n]), [value("i64", 0n)]);
+
+// ./test/core/int_exprs.wast:290
+assert_return(() => invoke($15, `i64.rem_u_3`, [71n]), [value("i64", 2n)]);
+
+// ./test/core/int_exprs.wast:291
+assert_return(() => invoke($15, `i64.rem_u_3`, [-4611686018427387904n]), [value("i64", 0n)]);
+
+// ./test/core/int_exprs.wast:295
+let $16 = instantiate(`(module
+ (func (export "i32.rem_s_5") (param $$x i32) (result i32)
+ (i32.rem_s (local.get $$x) (i32.const 5)))
+ (func (export "i32.rem_u_5") (param $$x i32) (result i32)
+ (i32.rem_u (local.get $$x) (i32.const 5)))
+
+ (func (export "i64.rem_s_5") (param $$x i64) (result i64)
+ (i64.rem_s (local.get $$x) (i64.const 5)))
+ (func (export "i64.rem_u_5") (param $$x i64) (result i64)
+ (i64.rem_u (local.get $$x) (i64.const 5)))
+)`);
+
+// ./test/core/int_exprs.wast:307
+assert_return(() => invoke($16, `i32.rem_s_5`, [71]), [value("i32", 1)]);
+
+// ./test/core/int_exprs.wast:308
+assert_return(() => invoke($16, `i32.rem_s_5`, [1342177280]), [value("i32", 0)]);
+
+// ./test/core/int_exprs.wast:309
+assert_return(() => invoke($16, `i32.rem_u_5`, [71]), [value("i32", 1)]);
+
+// ./test/core/int_exprs.wast:310
+assert_return(() => invoke($16, `i32.rem_u_5`, [-1610612736]), [value("i32", 0)]);
+
+// ./test/core/int_exprs.wast:311
+assert_return(() => invoke($16, `i64.rem_s_5`, [71n]), [value("i64", 1n)]);
+
+// ./test/core/int_exprs.wast:312
+assert_return(() => invoke($16, `i64.rem_s_5`, [5764607523034234880n]), [value("i64", 0n)]);
+
+// ./test/core/int_exprs.wast:313
+assert_return(() => invoke($16, `i64.rem_u_5`, [71n]), [value("i64", 1n)]);
+
+// ./test/core/int_exprs.wast:314
+assert_return(() => invoke($16, `i64.rem_u_5`, [-6917529027641081856n]), [value("i64", 0n)]);
+
+// ./test/core/int_exprs.wast:318
+let $17 = instantiate(`(module
+ (func (export "i32.rem_s_7") (param $$x i32) (result i32)
+ (i32.rem_s (local.get $$x) (i32.const 7)))
+ (func (export "i32.rem_u_7") (param $$x i32) (result i32)
+ (i32.rem_u (local.get $$x) (i32.const 7)))
+
+ (func (export "i64.rem_s_7") (param $$x i64) (result i64)
+ (i64.rem_s (local.get $$x) (i64.const 7)))
+ (func (export "i64.rem_u_7") (param $$x i64) (result i64)
+ (i64.rem_u (local.get $$x) (i64.const 7)))
+)`);
+
+// ./test/core/int_exprs.wast:330
+assert_return(() => invoke($17, `i32.rem_s_7`, [71]), [value("i32", 1)]);
+
+// ./test/core/int_exprs.wast:331
+assert_return(() => invoke($17, `i32.rem_s_7`, [1879048192]), [value("i32", 0)]);
+
+// ./test/core/int_exprs.wast:332
+assert_return(() => invoke($17, `i32.rem_u_7`, [71]), [value("i32", 1)]);
+
+// ./test/core/int_exprs.wast:333
+assert_return(() => invoke($17, `i32.rem_u_7`, [-536870912]), [value("i32", 0)]);
+
+// ./test/core/int_exprs.wast:334
+assert_return(() => invoke($17, `i64.rem_s_7`, [71n]), [value("i64", 1n)]);
+
+// ./test/core/int_exprs.wast:335
+assert_return(() => invoke($17, `i64.rem_s_7`, [8070450532247928832n]), [value("i64", 0n)]);
+
+// ./test/core/int_exprs.wast:336
+assert_return(() => invoke($17, `i64.rem_u_7`, [71n]), [value("i64", 1n)]);
+
+// ./test/core/int_exprs.wast:337
+assert_return(() => invoke($17, `i64.rem_u_7`, [-2305843009213693952n]), [value("i64", 0n)]);
+
+// ./test/core/int_exprs.wast:341
+let $18 = instantiate(`(module
+ (func (export "i32.no_fold_div_neg1") (param $$x i32) (result i32)
+ (i32.div_s (local.get $$x) (i32.const -1)))
+
+ (func (export "i64.no_fold_div_neg1") (param $$x i64) (result i64)
+ (i64.div_s (local.get $$x) (i64.const -1)))
+)`);
+
+// ./test/core/int_exprs.wast:349
+assert_trap(() => invoke($18, `i32.no_fold_div_neg1`, [-2147483648]), `integer overflow`);
+
+// ./test/core/int_exprs.wast:350
+assert_trap(() => invoke($18, `i64.no_fold_div_neg1`, [-9223372036854775808n]), `integer overflow`);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/int_literals.wast.js b/js/src/jit-test/tests/wasm/spec/spec/int_literals.wast.js
new file mode 100644
index 0000000000..348aeda4ea
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/int_literals.wast.js
@@ -0,0 +1,233 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/int_literals.wast
+
+// ./test/core/int_literals.wast:1
+let $0 = instantiate(`(module
+ (func (export "i32.test") (result i32) (return (i32.const 0x0bAdD00D)))
+ (func (export "i32.umax") (result i32) (return (i32.const 0xffffffff)))
+ (func (export "i32.smax") (result i32) (return (i32.const 0x7fffffff)))
+ (func (export "i32.neg_smax") (result i32) (return (i32.const -0x7fffffff)))
+ (func (export "i32.smin") (result i32) (return (i32.const -0x80000000)))
+ (func (export "i32.alt_smin") (result i32) (return (i32.const 0x80000000)))
+ (func (export "i32.inc_smin") (result i32) (return (i32.add (i32.const -0x80000000) (i32.const 1))))
+ (func (export "i32.neg_zero") (result i32) (return (i32.const -0x0)))
+ (func (export "i32.not_octal") (result i32) (return (i32.const 010)))
+ (func (export "i32.unsigned_decimal") (result i32) (return (i32.const 4294967295)))
+ (func (export "i32.plus_sign") (result i32) (return (i32.const +42)))
+
+ (func (export "i64.test") (result i64) (return (i64.const 0x0CABBA6E0ba66a6e)))
+ (func (export "i64.umax") (result i64) (return (i64.const 0xffffffffffffffff)))
+ (func (export "i64.smax") (result i64) (return (i64.const 0x7fffffffffffffff)))
+ (func (export "i64.neg_smax") (result i64) (return (i64.const -0x7fffffffffffffff)))
+ (func (export "i64.smin") (result i64) (return (i64.const -0x8000000000000000)))
+ (func (export "i64.alt_smin") (result i64) (return (i64.const 0x8000000000000000)))
+ (func (export "i64.inc_smin") (result i64) (return (i64.add (i64.const -0x8000000000000000) (i64.const 1))))
+ (func (export "i64.neg_zero") (result i64) (return (i64.const -0x0)))
+ (func (export "i64.not_octal") (result i64) (return (i64.const 010)))
+ (func (export "i64.unsigned_decimal") (result i64) (return (i64.const 18446744073709551615)))
+ (func (export "i64.plus_sign") (result i64) (return (i64.const +42)))
+
+ (func (export "i32-dec-sep1") (result i32) (i32.const 1_000_000))
+ (func (export "i32-dec-sep2") (result i32) (i32.const 1_0_0_0))
+ (func (export "i32-hex-sep1") (result i32) (i32.const 0xa_0f_00_99))
+ (func (export "i32-hex-sep2") (result i32) (i32.const 0x1_a_A_0_f))
+
+ (func (export "i64-dec-sep1") (result i64) (i64.const 1_000_000))
+ (func (export "i64-dec-sep2") (result i64) (i64.const 1_0_0_0))
+ (func (export "i64-hex-sep1") (result i64) (i64.const 0xa_f00f_0000_9999))
+ (func (export "i64-hex-sep2") (result i64) (i64.const 0x1_a_A_0_f))
+)`);
+
+// ./test/core/int_literals.wast:37
+assert_return(() => invoke($0, `i32.test`, []), [value("i32", 195940365)]);
+
+// ./test/core/int_literals.wast:38
+assert_return(() => invoke($0, `i32.umax`, []), [value("i32", -1)]);
+
+// ./test/core/int_literals.wast:39
+assert_return(() => invoke($0, `i32.smax`, []), [value("i32", 2147483647)]);
+
+// ./test/core/int_literals.wast:40
+assert_return(() => invoke($0, `i32.neg_smax`, []), [value("i32", -2147483647)]);
+
+// ./test/core/int_literals.wast:41
+assert_return(() => invoke($0, `i32.smin`, []), [value("i32", -2147483648)]);
+
+// ./test/core/int_literals.wast:42
+assert_return(() => invoke($0, `i32.alt_smin`, []), [value("i32", -2147483648)]);
+
+// ./test/core/int_literals.wast:43
+assert_return(() => invoke($0, `i32.inc_smin`, []), [value("i32", -2147483647)]);
+
+// ./test/core/int_literals.wast:44
+assert_return(() => invoke($0, `i32.neg_zero`, []), [value("i32", 0)]);
+
+// ./test/core/int_literals.wast:45
+assert_return(() => invoke($0, `i32.not_octal`, []), [value("i32", 10)]);
+
+// ./test/core/int_literals.wast:46
+assert_return(() => invoke($0, `i32.unsigned_decimal`, []), [value("i32", -1)]);
+
+// ./test/core/int_literals.wast:47
+assert_return(() => invoke($0, `i32.plus_sign`, []), [value("i32", 42)]);
+
+// ./test/core/int_literals.wast:49
+assert_return(() => invoke($0, `i64.test`, []), [value("i64", 913028331277281902n)]);
+
+// ./test/core/int_literals.wast:50
+assert_return(() => invoke($0, `i64.umax`, []), [value("i64", -1n)]);
+
+// ./test/core/int_literals.wast:51
+assert_return(() => invoke($0, `i64.smax`, []), [value("i64", 9223372036854775807n)]);
+
+// ./test/core/int_literals.wast:52
+assert_return(() => invoke($0, `i64.neg_smax`, []), [value("i64", -9223372036854775807n)]);
+
+// ./test/core/int_literals.wast:53
+assert_return(() => invoke($0, `i64.smin`, []), [value("i64", -9223372036854775808n)]);
+
+// ./test/core/int_literals.wast:54
+assert_return(() => invoke($0, `i64.alt_smin`, []), [value("i64", -9223372036854775808n)]);
+
+// ./test/core/int_literals.wast:55
+assert_return(() => invoke($0, `i64.inc_smin`, []), [value("i64", -9223372036854775807n)]);
+
+// ./test/core/int_literals.wast:56
+assert_return(() => invoke($0, `i64.neg_zero`, []), [value("i64", 0n)]);
+
+// ./test/core/int_literals.wast:57
+assert_return(() => invoke($0, `i64.not_octal`, []), [value("i64", 10n)]);
+
+// ./test/core/int_literals.wast:58
+assert_return(() => invoke($0, `i64.unsigned_decimal`, []), [value("i64", -1n)]);
+
+// ./test/core/int_literals.wast:59
+assert_return(() => invoke($0, `i64.plus_sign`, []), [value("i64", 42n)]);
+
+// ./test/core/int_literals.wast:61
+assert_return(() => invoke($0, `i32-dec-sep1`, []), [value("i32", 1000000)]);
+
+// ./test/core/int_literals.wast:62
+assert_return(() => invoke($0, `i32-dec-sep2`, []), [value("i32", 1000)]);
+
+// ./test/core/int_literals.wast:63
+assert_return(() => invoke($0, `i32-hex-sep1`, []), [value("i32", 168755353)]);
+
+// ./test/core/int_literals.wast:64
+assert_return(() => invoke($0, `i32-hex-sep2`, []), [value("i32", 109071)]);
+
+// ./test/core/int_literals.wast:66
+assert_return(() => invoke($0, `i64-dec-sep1`, []), [value("i64", 1000000n)]);
+
+// ./test/core/int_literals.wast:67
+assert_return(() => invoke($0, `i64-dec-sep2`, []), [value("i64", 1000n)]);
+
+// ./test/core/int_literals.wast:68
+assert_return(() => invoke($0, `i64-hex-sep1`, []), [value("i64", 3078696982321561n)]);
+
+// ./test/core/int_literals.wast:69
+assert_return(() => invoke($0, `i64-hex-sep2`, []), [value("i64", 109071n)]);
+
+// ./test/core/int_literals.wast:71
+assert_malformed(() => instantiate(`(global i32 (i32.const _100)) `), `unknown operator`);
+
+// ./test/core/int_literals.wast:75
+assert_malformed(() => instantiate(`(global i32 (i32.const +_100)) `), `unknown operator`);
+
+// ./test/core/int_literals.wast:79
+assert_malformed(() => instantiate(`(global i32 (i32.const -_100)) `), `unknown operator`);
+
+// ./test/core/int_literals.wast:83
+assert_malformed(() => instantiate(`(global i32 (i32.const 99_)) `), `unknown operator`);
+
+// ./test/core/int_literals.wast:87
+assert_malformed(
+ () => instantiate(`(global i32 (i32.const 1__000)) `),
+ `unknown operator`,
+);
+
+// ./test/core/int_literals.wast:91
+assert_malformed(
+ () => instantiate(`(global i32 (i32.const _0x100)) `),
+ `unknown operator`,
+);
+
+// ./test/core/int_literals.wast:95
+assert_malformed(
+ () => instantiate(`(global i32 (i32.const 0_x100)) `),
+ `unknown operator`,
+);
+
+// ./test/core/int_literals.wast:99
+assert_malformed(
+ () => instantiate(`(global i32 (i32.const 0x_100)) `),
+ `unknown operator`,
+);
+
+// ./test/core/int_literals.wast:103
+assert_malformed(() => instantiate(`(global i32 (i32.const 0x00_)) `), `unknown operator`);
+
+// ./test/core/int_literals.wast:107
+assert_malformed(
+ () => instantiate(`(global i32 (i32.const 0xff__ffff)) `),
+ `unknown operator`,
+);
+
+// ./test/core/int_literals.wast:112
+assert_malformed(() => instantiate(`(global i64 (i64.const _100)) `), `unknown operator`);
+
+// ./test/core/int_literals.wast:116
+assert_malformed(() => instantiate(`(global i64 (i64.const +_100)) `), `unknown operator`);
+
+// ./test/core/int_literals.wast:120
+assert_malformed(() => instantiate(`(global i64 (i64.const -_100)) `), `unknown operator`);
+
+// ./test/core/int_literals.wast:124
+assert_malformed(() => instantiate(`(global i64 (i64.const 99_)) `), `unknown operator`);
+
+// ./test/core/int_literals.wast:128
+assert_malformed(
+ () => instantiate(`(global i64 (i64.const 1__000)) `),
+ `unknown operator`,
+);
+
+// ./test/core/int_literals.wast:132
+assert_malformed(
+ () => instantiate(`(global i64 (i64.const _0x100)) `),
+ `unknown operator`,
+);
+
+// ./test/core/int_literals.wast:136
+assert_malformed(
+ () => instantiate(`(global i64 (i64.const 0_x100)) `),
+ `unknown operator`,
+);
+
+// ./test/core/int_literals.wast:140
+assert_malformed(
+ () => instantiate(`(global i64 (i64.const 0x_100)) `),
+ `unknown operator`,
+);
+
+// ./test/core/int_literals.wast:144
+assert_malformed(() => instantiate(`(global i64 (i64.const 0x00_)) `), `unknown operator`);
+
+// ./test/core/int_literals.wast:148
+assert_malformed(
+ () => instantiate(`(global i64 (i64.const 0xff__ffff)) `),
+ `unknown operator`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/labels.wast.js b/js/src/jit-test/tests/wasm/spec/spec/labels.wast.js
new file mode 100644
index 0000000000..b76f13f90a
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/labels.wast.js
@@ -0,0 +1,400 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/labels.wast
+
+// ./test/core/labels.wast:1
+let $0 = instantiate(`(module
+ (func (export "block") (result i32)
+ (block $$exit (result i32)
+ (br $$exit (i32.const 1))
+ (i32.const 0)
+ )
+ )
+
+ (func (export "loop1") (result i32)
+ (local $$i i32)
+ (local.set $$i (i32.const 0))
+ (block $$exit (result i32)
+ (loop $$cont (result i32)
+ (local.set $$i (i32.add (local.get $$i) (i32.const 1)))
+ (if (i32.eq (local.get $$i) (i32.const 5))
+ (then (br $$exit (local.get $$i)))
+ )
+ (br $$cont)
+ )
+ )
+ )
+
+ (func (export "loop2") (result i32)
+ (local $$i i32)
+ (local.set $$i (i32.const 0))
+ (block $$exit (result i32)
+ (loop $$cont (result i32)
+ (local.set $$i (i32.add (local.get $$i) (i32.const 1)))
+ (if (i32.eq (local.get $$i) (i32.const 5))
+ (then (br $$cont))
+ )
+ (if (i32.eq (local.get $$i) (i32.const 8))
+ (then (br $$exit (local.get $$i)))
+ )
+ (local.set $$i (i32.add (local.get $$i) (i32.const 1)))
+ (br $$cont)
+ )
+ )
+ )
+
+ (func (export "loop3") (result i32)
+ (local $$i i32)
+ (local.set $$i (i32.const 0))
+ (block $$exit (result i32)
+ (loop $$cont (result i32)
+ (local.set $$i (i32.add (local.get $$i) (i32.const 1)))
+ (if (i32.eq (local.get $$i) (i32.const 5))
+ (then (br $$exit (local.get $$i)))
+ )
+ (local.get $$i)
+ )
+ )
+ )
+
+ (func (export "loop4") (param $$max i32) (result i32)
+ (local $$i i32)
+ (local.set $$i (i32.const 1))
+ (block $$exit (result i32)
+ (loop $$cont (result i32)
+ (local.set $$i (i32.add (local.get $$i) (local.get $$i)))
+ (if (i32.gt_u (local.get $$i) (local.get $$max))
+ (then (br $$exit (local.get $$i)))
+ )
+ (br $$cont)
+ )
+ )
+ )
+
+ (func (export "loop5") (result i32)
+ (i32.add
+ (loop $$l (result i32) (i32.const 1))
+ (i32.const 1)
+ )
+ )
+
+ (func (export "loop6") (result i32)
+ (loop (result i32)
+ (br_if 0 (i32.const 0))
+ (i32.const 3)
+ )
+ )
+
+ (func (export "if") (result i32)
+ (local $$i i32)
+ (local.set $$i (i32.const 0))
+ (block
+ (if $$l
+ (i32.const 1)
+ (then (br $$l) (local.set $$i (i32.const 666)))
+ )
+ (local.set $$i (i32.add (local.get $$i) (i32.const 1)))
+ (if $$l
+ (i32.const 1)
+ (then (br $$l) (local.set $$i (i32.const 666)))
+ (else (local.set $$i (i32.const 888)))
+ )
+ (local.set $$i (i32.add (local.get $$i) (i32.const 1)))
+ (if $$l
+ (i32.const 1)
+ (then (br $$l) (local.set $$i (i32.const 666)))
+ (else (local.set $$i (i32.const 888)))
+ )
+ (local.set $$i (i32.add (local.get $$i) (i32.const 1)))
+ (if $$l
+ (i32.const 0)
+ (then (local.set $$i (i32.const 888)))
+ (else (br $$l) (local.set $$i (i32.const 666)))
+ )
+ (local.set $$i (i32.add (local.get $$i) (i32.const 1)))
+ (if $$l
+ (i32.const 0)
+ (then (local.set $$i (i32.const 888)))
+ (else (br $$l) (local.set $$i (i32.const 666)))
+ )
+ (local.set $$i (i32.add (local.get $$i) (i32.const 1)))
+ )
+ (local.get $$i)
+ )
+
+ (func (export "if2") (result i32)
+ (local $$i i32)
+ (local.set $$i (i32.const 0))
+ (block
+ (if
+ (i32.const 1)
+ (then (br 0) (local.set $$i (i32.const 666)))
+ )
+ (local.set $$i (i32.add (local.get $$i) (i32.const 1)))
+ (if
+ (i32.const 1)
+ (then (br 0) (local.set $$i (i32.const 666)))
+ (else (local.set $$i (i32.const 888)))
+ )
+ (local.set $$i (i32.add (local.get $$i) (i32.const 1)))
+ (if
+ (i32.const 1)
+ (then (br 0) (local.set $$i (i32.const 666)))
+ (else (local.set $$i (i32.const 888)))
+ )
+ (local.set $$i (i32.add (local.get $$i) (i32.const 1)))
+ (if
+ (i32.const 0)
+ (then (local.set $$i (i32.const 888)))
+ (else (br 0) (local.set $$i (i32.const 666)))
+ )
+ (local.set $$i (i32.add (local.get $$i) (i32.const 1)))
+ (if
+ (i32.const 0)
+ (then (local.set $$i (i32.const 888)))
+ (else (br 0) (local.set $$i (i32.const 666)))
+ )
+ (local.set $$i (i32.add (local.get $$i) (i32.const 1)))
+ )
+ (local.get $$i)
+ )
+
+ (func (export "switch") (param i32) (result i32)
+ (block $$ret (result i32)
+ (i32.mul (i32.const 10)
+ (block $$exit (result i32)
+ (block $$0
+ (block $$default
+ (block $$3
+ (block $$2
+ (block $$1
+ (br_table $$0 $$1 $$2 $$3 $$default (local.get 0))
+ ) ;; 1
+ ) ;; 2
+ (br $$exit (i32.const 2))
+ ) ;; 3
+ (br $$ret (i32.const 3))
+ ) ;; default
+ ) ;; 0
+ (i32.const 5)
+ )
+ )
+ )
+ )
+
+ (func (export "return") (param i32) (result i32)
+ (block $$default
+ (block $$1
+ (block $$0
+ (br_table $$0 $$1 (local.get 0))
+ (br $$default)
+ ) ;; 0
+ (return (i32.const 0))
+ ) ;; 1
+ ) ;; default
+ (i32.const 2)
+ )
+
+ (func (export "br_if0") (result i32)
+ (local $$i i32)
+ (local.set $$i (i32.const 0))
+ (block $$outer (result i32)
+ (block $$inner
+ (br_if $$inner (i32.const 0))
+ (local.set $$i (i32.or (local.get $$i) (i32.const 0x1)))
+ (br_if $$inner (i32.const 1))
+ (local.set $$i (i32.or (local.get $$i) (i32.const 0x2)))
+ )
+ (drop (br_if $$outer
+ (block (result i32)
+ (local.set $$i (i32.or (local.get $$i) (i32.const 0x4)))
+ (local.get $$i)
+ )
+ (i32.const 0)
+ ))
+ (local.set $$i (i32.or (local.get $$i) (i32.const 0x8)))
+ (drop (br_if $$outer
+ (block (result i32)
+ (local.set $$i (i32.or (local.get $$i) (i32.const 0x10)))
+ (local.get $$i)
+ )
+ (i32.const 1)
+ ))
+ (local.set $$i (i32.or (local.get $$i) (i32.const 0x20))) (local.get $$i)
+ )
+ )
+
+ (func (export "br_if1") (result i32)
+ (block $$l0 (result i32)
+ (drop
+ (br_if $$l0
+ (block $$l1 (result i32) (br $$l1 (i32.const 1)))
+ (i32.const 1)
+ )
+ )
+ (i32.const 0)
+ )
+ )
+
+ (func (export "br_if2") (result i32)
+ (block $$l0 (result i32)
+ (if (i32.const 1)
+ (then
+ (drop
+ (br_if $$l0
+ (block $$l1 (result i32) (br $$l1 (i32.const 1)))
+ (i32.const 1)
+ )
+ )
+ )
+ )
+ (i32.const 0)
+ )
+ )
+
+ (func (export "br_if3") (result i32)
+ (local $$i1 i32)
+ (drop
+ (i32.add
+ (block $$l0 (result i32)
+ (drop (br_if $$l0
+ (block (result i32) (local.set $$i1 (i32.const 1)) (local.get $$i1))
+ (block (result i32) (local.set $$i1 (i32.const 2)) (local.get $$i1))
+ ))
+ (i32.const 0)
+ )
+ (i32.const 0)
+ )
+ )
+ (local.get $$i1)
+ )
+
+ (func (export "br") (result i32)
+ (block $$l0 (result i32)
+ (if (i32.const 1)
+ (then (br $$l0 (block $$l1 (result i32) (br $$l1 (i32.const 1)))))
+ (else (block (drop (block $$l1 (result i32) (br $$l1 (i32.const 1))))))
+ )
+ (i32.const 1)
+ )
+ )
+
+ (func (export "shadowing") (result i32)
+ (block $$l1 (result i32) (i32.xor (br $$l1 (i32.const 1)) (i32.const 2)))
+ )
+
+ (func (export "redefinition") (result i32)
+ (block $$l1 (result i32)
+ (i32.add
+ (block $$l1 (result i32) (i32.const 2))
+ (block $$l1 (result i32) (br $$l1 (i32.const 3)))
+ )
+ )
+ )
+)`);
+
+// ./test/core/labels.wast:291
+assert_return(() => invoke($0, `block`, []), [value("i32", 1)]);
+
+// ./test/core/labels.wast:292
+assert_return(() => invoke($0, `loop1`, []), [value("i32", 5)]);
+
+// ./test/core/labels.wast:293
+assert_return(() => invoke($0, `loop2`, []), [value("i32", 8)]);
+
+// ./test/core/labels.wast:294
+assert_return(() => invoke($0, `loop3`, []), [value("i32", 1)]);
+
+// ./test/core/labels.wast:295
+assert_return(() => invoke($0, `loop4`, [8]), [value("i32", 16)]);
+
+// ./test/core/labels.wast:296
+assert_return(() => invoke($0, `loop5`, []), [value("i32", 2)]);
+
+// ./test/core/labels.wast:297
+assert_return(() => invoke($0, `loop6`, []), [value("i32", 3)]);
+
+// ./test/core/labels.wast:298
+assert_return(() => invoke($0, `if`, []), [value("i32", 5)]);
+
+// ./test/core/labels.wast:299
+assert_return(() => invoke($0, `if2`, []), [value("i32", 5)]);
+
+// ./test/core/labels.wast:300
+assert_return(() => invoke($0, `switch`, [0]), [value("i32", 50)]);
+
+// ./test/core/labels.wast:301
+assert_return(() => invoke($0, `switch`, [1]), [value("i32", 20)]);
+
+// ./test/core/labels.wast:302
+assert_return(() => invoke($0, `switch`, [2]), [value("i32", 20)]);
+
+// ./test/core/labels.wast:303
+assert_return(() => invoke($0, `switch`, [3]), [value("i32", 3)]);
+
+// ./test/core/labels.wast:304
+assert_return(() => invoke($0, `switch`, [4]), [value("i32", 50)]);
+
+// ./test/core/labels.wast:305
+assert_return(() => invoke($0, `switch`, [5]), [value("i32", 50)]);
+
+// ./test/core/labels.wast:306
+assert_return(() => invoke($0, `return`, [0]), [value("i32", 0)]);
+
+// ./test/core/labels.wast:307
+assert_return(() => invoke($0, `return`, [1]), [value("i32", 2)]);
+
+// ./test/core/labels.wast:308
+assert_return(() => invoke($0, `return`, [2]), [value("i32", 2)]);
+
+// ./test/core/labels.wast:309
+assert_return(() => invoke($0, `br_if0`, []), [value("i32", 29)]);
+
+// ./test/core/labels.wast:310
+assert_return(() => invoke($0, `br_if1`, []), [value("i32", 1)]);
+
+// ./test/core/labels.wast:311
+assert_return(() => invoke($0, `br_if2`, []), [value("i32", 1)]);
+
+// ./test/core/labels.wast:312
+assert_return(() => invoke($0, `br_if3`, []), [value("i32", 2)]);
+
+// ./test/core/labels.wast:313
+assert_return(() => invoke($0, `br`, []), [value("i32", 1)]);
+
+// ./test/core/labels.wast:314
+assert_return(() => invoke($0, `shadowing`, []), [value("i32", 1)]);
+
+// ./test/core/labels.wast:315
+assert_return(() => invoke($0, `redefinition`, []), [value("i32", 5)]);
+
+// ./test/core/labels.wast:317
+assert_invalid(
+ () => instantiate(`(module (func (block $$l (f32.neg (br_if $$l (i32.const 1))) (nop))))`),
+ `type mismatch`,
+);
+
+// ./test/core/labels.wast:321
+assert_invalid(
+ () => instantiate(`(module (func (block $$l (br_if $$l (f32.const 0) (i32.const 1)))))`),
+ `type mismatch`,
+);
+
+// ./test/core/labels.wast:325
+assert_invalid(
+ () => instantiate(`(module (func (block $$l (br_if $$l (f32.const 0) (i32.const 1)))))`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/left-to-right.wast.js b/js/src/jit-test/tests/wasm/spec/spec/left-to-right.wast.js
new file mode 100644
index 0000000000..9e1f168906
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/left-to-right.wast.js
@@ -0,0 +1,482 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/left-to-right.wast
+
+// ./test/core/left-to-right.wast:1
+let $0 = instantiate(`(module
+ (memory 1)
+
+ (type $$i32_T (func (param i32 i32) (result i32)))
+ (type $$i64_T (func (param i64 i64) (result i32)))
+ (type $$f32_T (func (param f32 f32) (result i32)))
+ (type $$f64_T (func (param f64 f64) (result i32)))
+ (table funcref
+ (elem $$i32_t0 $$i32_t1 $$i64_t0 $$i64_t1 $$f32_t0 $$f32_t1 $$f64_t0 $$f64_t1)
+ )
+
+ (func $$i32_t0 (type $$i32_T) (i32.const -1))
+ (func $$i32_t1 (type $$i32_T) (i32.const -2))
+ (func $$i64_t0 (type $$i64_T) (i32.const -1))
+ (func $$i64_t1 (type $$i64_T) (i32.const -2))
+ (func $$f32_t0 (type $$f32_T) (i32.const -1))
+ (func $$f32_t1 (type $$f32_T) (i32.const -2))
+ (func $$f64_t0 (type $$f64_T) (i32.const -1))
+ (func $$f64_t1 (type $$f64_T) (i32.const -2))
+
+ ;; The idea is: We reset the memory, then the instruction call $$*_left,
+ ;; $$*_right, $$*_another, $$*_callee (for indirect calls), and $$*_bool (when a
+ ;; boolean value is needed). These functions all call bump, which shifts the
+ ;; memory starting at address 8 up a byte, and then store a unique value at
+ ;; address 8. Then we read the 4-byte value at address 8. It should contain
+ ;; the correct sequence of unique values if the calls were evaluated in the
+ ;; correct order.
+
+ (func $$reset (i32.store (i32.const 8) (i32.const 0)))
+
+ (func $$bump
+ (i32.store8 (i32.const 11) (i32.load8_u (i32.const 10)))
+ (i32.store8 (i32.const 10) (i32.load8_u (i32.const 9)))
+ (i32.store8 (i32.const 9) (i32.load8_u (i32.const 8)))
+ (i32.store8 (i32.const 8) (i32.const -3)))
+
+ (func $$get (result i32) (i32.load (i32.const 8)))
+
+ (func $$i32_left (result i32) (call $$bump) (i32.store8 (i32.const 8) (i32.const 1)) (i32.const 0))
+ (func $$i32_right (result i32) (call $$bump) (i32.store8 (i32.const 8) (i32.const 2)) (i32.const 1))
+ (func $$i32_another (result i32) (call $$bump) (i32.store8 (i32.const 8) (i32.const 3)) (i32.const 1))
+ (func $$i32_callee (result i32) (call $$bump) (i32.store8 (i32.const 8) (i32.const 4)) (i32.const 0))
+ (func $$i32_bool (result i32) (call $$bump) (i32.store8 (i32.const 8) (i32.const 5)) (i32.const 0))
+ (func $$i64_left (result i64) (call $$bump) (i32.store8 (i32.const 8) (i32.const 1)) (i64.const 0))
+ (func $$i64_right (result i64) (call $$bump) (i32.store8 (i32.const 8) (i32.const 2)) (i64.const 1))
+ (func $$i64_another (result i64) (call $$bump) (i32.store8 (i32.const 8) (i32.const 3)) (i64.const 1))
+ (func $$i64_callee (result i32) (call $$bump) (i32.store8 (i32.const 8) (i32.const 4)) (i32.const 2))
+ (func $$i64_bool (result i32) (call $$bump) (i32.store8 (i32.const 8) (i32.const 5)) (i32.const 0))
+ (func $$f32_left (result f32) (call $$bump) (i32.store8 (i32.const 8) (i32.const 1)) (f32.const 0))
+ (func $$f32_right (result f32) (call $$bump) (i32.store8 (i32.const 8) (i32.const 2)) (f32.const 1))
+ (func $$f32_another (result f32) (call $$bump) (i32.store8 (i32.const 8) (i32.const 3)) (f32.const 1))
+ (func $$f32_callee (result i32) (call $$bump) (i32.store8 (i32.const 8) (i32.const 4)) (i32.const 4))
+ (func $$f32_bool (result i32) (call $$bump) (i32.store8 (i32.const 8) (i32.const 5)) (i32.const 0))
+ (func $$f64_left (result f64) (call $$bump) (i32.store8 (i32.const 8) (i32.const 1)) (f64.const 0))
+ (func $$f64_right (result f64) (call $$bump) (i32.store8 (i32.const 8) (i32.const 2)) (f64.const 1))
+ (func $$f64_another (result f64) (call $$bump) (i32.store8 (i32.const 8) (i32.const 3)) (f64.const 1))
+ (func $$f64_callee (result i32) (call $$bump) (i32.store8 (i32.const 8) (i32.const 4)) (i32.const 6))
+ (func $$f64_bool (result i32) (call $$bump) (i32.store8 (i32.const 8) (i32.const 5)) (i32.const 0))
+ (func $$i32_dummy (param i32 i32))
+ (func $$i64_dummy (param i64 i64))
+ (func $$f32_dummy (param f32 f32))
+ (func $$f64_dummy (param f64 f64))
+
+ (func (export "i32_add") (result i32) (call $$reset) (drop (i32.add (call $$i32_left) (call $$i32_right))) (call $$get))
+ (func (export "i32_sub") (result i32) (call $$reset) (drop (i32.sub (call $$i32_left) (call $$i32_right))) (call $$get))
+ (func (export "i32_mul") (result i32) (call $$reset) (drop (i32.mul (call $$i32_left) (call $$i32_right))) (call $$get))
+ (func (export "i32_div_s") (result i32) (call $$reset) (drop (i32.div_s (call $$i32_left) (call $$i32_right))) (call $$get))
+ (func (export "i32_div_u") (result i32) (call $$reset) (drop (i32.div_u (call $$i32_left) (call $$i32_right))) (call $$get))
+ (func (export "i32_rem_s") (result i32) (call $$reset) (drop (i32.rem_s (call $$i32_left) (call $$i32_right))) (call $$get))
+ (func (export "i32_rem_u") (result i32) (call $$reset) (drop (i32.rem_u (call $$i32_left) (call $$i32_right))) (call $$get))
+ (func (export "i32_and") (result i32) (call $$reset) (drop (i32.and (call $$i32_left) (call $$i32_right))) (call $$get))
+ (func (export "i32_or") (result i32) (call $$reset) (drop (i32.or (call $$i32_left) (call $$i32_right))) (call $$get))
+ (func (export "i32_xor") (result i32) (call $$reset) (drop (i32.xor (call $$i32_left) (call $$i32_right))) (call $$get))
+ (func (export "i32_shl") (result i32) (call $$reset) (drop (i32.shl (call $$i32_left) (call $$i32_right))) (call $$get))
+ (func (export "i32_shr_u") (result i32) (call $$reset) (drop (i32.shr_u (call $$i32_left) (call $$i32_right))) (call $$get))
+ (func (export "i32_shr_s") (result i32) (call $$reset) (drop (i32.shr_s (call $$i32_left) (call $$i32_right))) (call $$get))
+ (func (export "i32_eq") (result i32) (call $$reset) (drop (i32.eq (call $$i32_left) (call $$i32_right))) (call $$get))
+ (func (export "i32_ne") (result i32) (call $$reset) (drop (i32.ne (call $$i32_left) (call $$i32_right))) (call $$get))
+ (func (export "i32_lt_s") (result i32) (call $$reset) (drop (i32.lt_s (call $$i32_left) (call $$i32_right))) (call $$get))
+ (func (export "i32_le_s") (result i32) (call $$reset) (drop (i32.le_s (call $$i32_left) (call $$i32_right))) (call $$get))
+ (func (export "i32_lt_u") (result i32) (call $$reset) (drop (i32.lt_u (call $$i32_left) (call $$i32_right))) (call $$get))
+ (func (export "i32_le_u") (result i32) (call $$reset) (drop (i32.le_u (call $$i32_left) (call $$i32_right))) (call $$get))
+ (func (export "i32_gt_s") (result i32) (call $$reset) (drop (i32.gt_s (call $$i32_left) (call $$i32_right))) (call $$get))
+ (func (export "i32_ge_s") (result i32) (call $$reset) (drop (i32.ge_s (call $$i32_left) (call $$i32_right))) (call $$get))
+ (func (export "i32_gt_u") (result i32) (call $$reset) (drop (i32.gt_u (call $$i32_left) (call $$i32_right))) (call $$get))
+ (func (export "i32_ge_u") (result i32) (call $$reset) (drop (i32.ge_u (call $$i32_left) (call $$i32_right))) (call $$get))
+ (func (export "i32_store") (result i32) (call $$reset) (i32.store (call $$i32_left) (call $$i32_right)) (call $$get))
+ (func (export "i32_store8") (result i32) (call $$reset) (i32.store8 (call $$i32_left) (call $$i32_right)) (call $$get))
+ (func (export "i32_store16") (result i32) (call $$reset) (i32.store16 (call $$i32_left) (call $$i32_right)) (call $$get))
+ (func (export "i32_call") (result i32) (call $$reset) (call $$i32_dummy (call $$i32_left) (call $$i32_right)) (call $$get))
+ (func (export "i32_call_indirect") (result i32) (call $$reset) (drop (call_indirect (type $$i32_T) (call $$i32_left) (call $$i32_right) (call $$i32_callee))) (call $$get))
+ (func (export "i32_select") (result i32) (call $$reset) (drop (select (call $$i32_left) (call $$i32_right) (call $$i32_bool))) (call $$get))
+
+ (func (export "i64_add") (result i32) (call $$reset) (drop (i64.add (call $$i64_left) (call $$i64_right))) (call $$get))
+ (func (export "i64_sub") (result i32) (call $$reset) (drop (i64.sub (call $$i64_left) (call $$i64_right))) (call $$get))
+ (func (export "i64_mul") (result i32) (call $$reset) (drop (i64.mul (call $$i64_left) (call $$i64_right))) (call $$get))
+ (func (export "i64_div_s") (result i32) (call $$reset) (drop (i64.div_s (call $$i64_left) (call $$i64_right))) (call $$get))
+ (func (export "i64_div_u") (result i32) (call $$reset) (drop (i64.div_u (call $$i64_left) (call $$i64_right))) (call $$get))
+ (func (export "i64_rem_s") (result i32) (call $$reset) (drop (i64.rem_s (call $$i64_left) (call $$i64_right))) (call $$get))
+ (func (export "i64_rem_u") (result i32) (call $$reset) (drop (i64.rem_u (call $$i64_left) (call $$i64_right))) (call $$get))
+ (func (export "i64_and") (result i32) (call $$reset) (drop (i64.and (call $$i64_left) (call $$i64_right))) (call $$get))
+ (func (export "i64_or") (result i32) (call $$reset) (drop (i64.or (call $$i64_left) (call $$i64_right))) (call $$get))
+ (func (export "i64_xor") (result i32) (call $$reset) (drop (i64.xor (call $$i64_left) (call $$i64_right))) (call $$get))
+ (func (export "i64_shl") (result i32) (call $$reset) (drop (i64.shl (call $$i64_left) (call $$i64_right))) (call $$get))
+ (func (export "i64_shr_u") (result i32) (call $$reset) (drop (i64.shr_u (call $$i64_left) (call $$i64_right))) (call $$get))
+ (func (export "i64_shr_s") (result i32) (call $$reset) (drop (i64.shr_s (call $$i64_left) (call $$i64_right))) (call $$get))
+ (func (export "i64_eq") (result i32) (call $$reset) (drop (i64.eq (call $$i64_left) (call $$i64_right))) (call $$get))
+ (func (export "i64_ne") (result i32) (call $$reset) (drop (i64.ne (call $$i64_left) (call $$i64_right))) (call $$get))
+ (func (export "i64_lt_s") (result i32) (call $$reset) (drop (i64.lt_s (call $$i64_left) (call $$i64_right))) (call $$get))
+ (func (export "i64_le_s") (result i32) (call $$reset) (drop (i64.le_s (call $$i64_left) (call $$i64_right))) (call $$get))
+ (func (export "i64_lt_u") (result i32) (call $$reset) (drop (i64.lt_u (call $$i64_left) (call $$i64_right))) (call $$get))
+ (func (export "i64_le_u") (result i32) (call $$reset) (drop (i64.le_u (call $$i64_left) (call $$i64_right))) (call $$get))
+ (func (export "i64_gt_s") (result i32) (call $$reset) (drop (i64.gt_s (call $$i64_left) (call $$i64_right))) (call $$get))
+ (func (export "i64_ge_s") (result i32) (call $$reset) (drop (i64.ge_s (call $$i64_left) (call $$i64_right))) (call $$get))
+ (func (export "i64_gt_u") (result i32) (call $$reset) (drop (i64.gt_u (call $$i64_left) (call $$i64_right))) (call $$get))
+ (func (export "i64_ge_u") (result i32) (call $$reset) (drop (i64.ge_u (call $$i64_left) (call $$i64_right))) (call $$get))
+ (func (export "i64_store") (result i32) (call $$reset) (i64.store (call $$i32_left) (call $$i64_right)) (call $$get))
+ (func (export "i64_store8") (result i32) (call $$reset) (i64.store8 (call $$i32_left) (call $$i64_right)) (call $$get))
+ (func (export "i64_store16") (result i32) (call $$reset) (i64.store16 (call $$i32_left) (call $$i64_right)) (call $$get))
+ (func (export "i64_store32") (result i32) (call $$reset) (i64.store32 (call $$i32_left) (call $$i64_right)) (call $$get))
+ (func (export "i64_call") (result i32) (call $$reset) (call $$i64_dummy (call $$i64_left) (call $$i64_right)) (call $$get))
+ (func (export "i64_call_indirect") (result i32) (call $$reset) (drop (call_indirect (type $$i64_T) (call $$i64_left) (call $$i64_right) (call $$i64_callee))) (call $$get))
+ (func (export "i64_select") (result i32) (call $$reset) (drop (select (call $$i64_left) (call $$i64_right) (call $$i64_bool))) (call $$get))
+
+ (func (export "f32_add") (result i32) (call $$reset) (drop (f32.add (call $$f32_left) (call $$f32_right))) (call $$get))
+ (func (export "f32_sub") (result i32) (call $$reset) (drop (f32.sub (call $$f32_left) (call $$f32_right))) (call $$get))
+ (func (export "f32_mul") (result i32) (call $$reset) (drop (f32.mul (call $$f32_left) (call $$f32_right))) (call $$get))
+ (func (export "f32_div") (result i32) (call $$reset) (drop (f32.div (call $$f32_left) (call $$f32_right))) (call $$get))
+ (func (export "f32_copysign") (result i32) (call $$reset) (drop (f32.copysign (call $$f32_left) (call $$f32_right))) (call $$get))
+ (func (export "f32_eq") (result i32) (call $$reset) (drop (f32.eq (call $$f32_left) (call $$f32_right))) (call $$get))
+ (func (export "f32_ne") (result i32) (call $$reset) (drop (f32.ne (call $$f32_left) (call $$f32_right))) (call $$get))
+ (func (export "f32_lt") (result i32) (call $$reset) (drop (f32.lt (call $$f32_left) (call $$f32_right))) (call $$get))
+ (func (export "f32_le") (result i32) (call $$reset) (drop (f32.le (call $$f32_left) (call $$f32_right))) (call $$get))
+ (func (export "f32_gt") (result i32) (call $$reset) (drop (f32.gt (call $$f32_left) (call $$f32_right))) (call $$get))
+ (func (export "f32_ge") (result i32) (call $$reset) (drop (f32.ge (call $$f32_left) (call $$f32_right))) (call $$get))
+ (func (export "f32_min") (result i32) (call $$reset) (drop (f32.min (call $$f32_left) (call $$f32_right))) (call $$get))
+ (func (export "f32_max") (result i32) (call $$reset) (drop (f32.max (call $$f32_left) (call $$f32_right))) (call $$get))
+ (func (export "f32_store") (result i32) (call $$reset) (f32.store (call $$i32_left) (call $$f32_right)) (call $$get))
+ (func (export "f32_call") (result i32) (call $$reset) (call $$f32_dummy (call $$f32_left) (call $$f32_right)) (call $$get))
+ (func (export "f32_call_indirect") (result i32) (call $$reset) (drop (call_indirect (type $$f32_T) (call $$f32_left) (call $$f32_right) (call $$f32_callee))) (call $$get))
+ (func (export "f32_select") (result i32) (call $$reset) (drop (select (call $$f32_left) (call $$f32_right) (call $$f32_bool))) (call $$get))
+
+ (func (export "f64_add") (result i32) (call $$reset) (drop (f64.add (call $$f64_left) (call $$f64_right))) (call $$get))
+ (func (export "f64_sub") (result i32) (call $$reset) (drop (f64.sub (call $$f64_left) (call $$f64_right))) (call $$get))
+ (func (export "f64_mul") (result i32) (call $$reset) (drop (f64.mul (call $$f64_left) (call $$f64_right))) (call $$get))
+ (func (export "f64_div") (result i32) (call $$reset) (drop (f64.div (call $$f64_left) (call $$f64_right))) (call $$get))
+ (func (export "f64_copysign") (result i32) (call $$reset) (drop (f64.copysign (call $$f64_left) (call $$f64_right))) (call $$get))
+ (func (export "f64_eq") (result i32) (call $$reset) (drop (f64.eq (call $$f64_left) (call $$f64_right))) (call $$get))
+ (func (export "f64_ne") (result i32) (call $$reset) (drop (f64.ne (call $$f64_left) (call $$f64_right))) (call $$get))
+ (func (export "f64_lt") (result i32) (call $$reset) (drop (f64.lt (call $$f64_left) (call $$f64_right))) (call $$get))
+ (func (export "f64_le") (result i32) (call $$reset) (drop (f64.le (call $$f64_left) (call $$f64_right))) (call $$get))
+ (func (export "f64_gt") (result i32) (call $$reset) (drop (f64.gt (call $$f64_left) (call $$f64_right))) (call $$get))
+ (func (export "f64_ge") (result i32) (call $$reset) (drop (f64.ge (call $$f64_left) (call $$f64_right))) (call $$get))
+ (func (export "f64_min") (result i32) (call $$reset) (drop (f64.min (call $$f64_left) (call $$f64_right))) (call $$get))
+ (func (export "f64_max") (result i32) (call $$reset) (drop (f64.max (call $$f64_left) (call $$f64_right))) (call $$get))
+ (func (export "f64_store") (result i32) (call $$reset) (f64.store (call $$i32_left) (call $$f64_right)) (call $$get))
+ (func (export "f64_call") (result i32) (call $$reset) (call $$f64_dummy (call $$f64_left) (call $$f64_right)) (call $$get))
+ (func (export "f64_call_indirect") (result i32) (call $$reset) (drop (call_indirect (type $$f64_T) (call $$f64_left) (call $$f64_right) (call $$f64_callee))) (call $$get))
+ (func (export "f64_select") (result i32) (call $$reset) (drop (select (call $$f64_left) (call $$f64_right) (call $$f64_bool))) (call $$get))
+
+ (func (export "br_if") (result i32)
+ (block (result i32)
+ (call $$reset)
+ (drop (br_if 0 (call $$i32_left) (i32.and (call $$i32_right) (i32.const 0))))
+ (call $$get)
+ )
+ )
+ (func (export "br_table") (result i32)
+ (block $$a (result i32)
+ (call $$reset)
+ (drop
+ (block $$b (result i32)
+ (br_table $$a $$b (call $$i32_left) (call $$i32_right))
+ )
+ )
+ (call $$get)
+ )
+ )
+)`);
+
+// ./test/core/left-to-right.wast:181
+assert_return(() => invoke($0, `i32_add`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:181:59
+assert_return(() => invoke($0, `i64_add`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:182
+assert_return(() => invoke($0, `i32_sub`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:182:59
+assert_return(() => invoke($0, `i64_sub`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:183
+assert_return(() => invoke($0, `i32_mul`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:183:59
+assert_return(() => invoke($0, `i64_mul`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:184
+assert_return(() => invoke($0, `i32_div_s`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:184:59
+assert_return(() => invoke($0, `i64_div_s`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:185
+assert_return(() => invoke($0, `i32_div_u`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:185:59
+assert_return(() => invoke($0, `i64_div_u`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:186
+assert_return(() => invoke($0, `i32_rem_s`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:186:59
+assert_return(() => invoke($0, `i64_rem_s`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:187
+assert_return(() => invoke($0, `i32_rem_u`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:187:59
+assert_return(() => invoke($0, `i64_rem_u`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:188
+assert_return(() => invoke($0, `i32_and`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:188:59
+assert_return(() => invoke($0, `i64_and`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:189
+assert_return(() => invoke($0, `i32_or`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:189:59
+assert_return(() => invoke($0, `i64_or`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:190
+assert_return(() => invoke($0, `i32_xor`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:190:59
+assert_return(() => invoke($0, `i64_xor`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:191
+assert_return(() => invoke($0, `i32_shl`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:191:59
+assert_return(() => invoke($0, `i64_shl`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:192
+assert_return(() => invoke($0, `i32_shr_u`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:192:59
+assert_return(() => invoke($0, `i64_shr_u`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:193
+assert_return(() => invoke($0, `i32_shr_s`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:193:59
+assert_return(() => invoke($0, `i64_shr_s`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:194
+assert_return(() => invoke($0, `i32_eq`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:194:59
+assert_return(() => invoke($0, `i64_eq`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:195
+assert_return(() => invoke($0, `i32_ne`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:195:59
+assert_return(() => invoke($0, `i64_ne`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:196
+assert_return(() => invoke($0, `i32_lt_s`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:196:59
+assert_return(() => invoke($0, `i64_lt_s`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:197
+assert_return(() => invoke($0, `i32_le_s`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:197:59
+assert_return(() => invoke($0, `i64_le_s`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:198
+assert_return(() => invoke($0, `i32_lt_u`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:198:59
+assert_return(() => invoke($0, `i64_lt_u`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:199
+assert_return(() => invoke($0, `i32_le_u`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:199:59
+assert_return(() => invoke($0, `i64_le_u`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:200
+assert_return(() => invoke($0, `i32_gt_s`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:200:59
+assert_return(() => invoke($0, `i64_gt_s`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:201
+assert_return(() => invoke($0, `i32_ge_s`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:201:59
+assert_return(() => invoke($0, `i64_ge_s`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:202
+assert_return(() => invoke($0, `i32_gt_u`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:202:59
+assert_return(() => invoke($0, `i64_gt_u`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:203
+assert_return(() => invoke($0, `i32_ge_u`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:203:59
+assert_return(() => invoke($0, `i64_ge_u`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:204
+assert_return(() => invoke($0, `i32_store`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:204:59
+assert_return(() => invoke($0, `i64_store`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:205
+assert_return(() => invoke($0, `i32_store8`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:205:59
+assert_return(() => invoke($0, `i64_store8`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:206
+assert_return(() => invoke($0, `i32_store16`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:206:59
+assert_return(() => invoke($0, `i64_store16`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:207
+assert_return(() => invoke($0, `i64_store32`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:208
+assert_return(() => invoke($0, `i32_call`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:208:59
+assert_return(() => invoke($0, `i64_call`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:209
+assert_return(() => invoke($0, `i32_call_indirect`, []), [value("i32", 66052)]);
+
+// ./test/core/left-to-right.wast:210
+assert_return(() => invoke($0, `i64_call_indirect`, []), [value("i32", 66052)]);
+
+// ./test/core/left-to-right.wast:211
+assert_return(() => invoke($0, `i32_select`, []), [value("i32", 66053)]);
+
+// ./test/core/left-to-right.wast:211:61
+assert_return(() => invoke($0, `i64_select`, []), [value("i32", 66053)]);
+
+// ./test/core/left-to-right.wast:213
+assert_return(() => invoke($0, `f32_add`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:213:59
+assert_return(() => invoke($0, `f64_add`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:214
+assert_return(() => invoke($0, `f32_sub`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:214:59
+assert_return(() => invoke($0, `f64_sub`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:215
+assert_return(() => invoke($0, `f32_mul`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:215:59
+assert_return(() => invoke($0, `f64_mul`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:216
+assert_return(() => invoke($0, `f32_div`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:216:59
+assert_return(() => invoke($0, `f64_div`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:217
+assert_return(() => invoke($0, `f32_copysign`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:217:59
+assert_return(() => invoke($0, `f64_copysign`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:218
+assert_return(() => invoke($0, `f32_eq`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:218:59
+assert_return(() => invoke($0, `f64_eq`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:219
+assert_return(() => invoke($0, `f32_ne`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:219:59
+assert_return(() => invoke($0, `f64_ne`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:220
+assert_return(() => invoke($0, `f32_lt`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:220:59
+assert_return(() => invoke($0, `f64_lt`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:221
+assert_return(() => invoke($0, `f32_le`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:221:59
+assert_return(() => invoke($0, `f64_le`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:222
+assert_return(() => invoke($0, `f32_gt`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:222:59
+assert_return(() => invoke($0, `f64_gt`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:223
+assert_return(() => invoke($0, `f32_ge`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:223:59
+assert_return(() => invoke($0, `f64_ge`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:224
+assert_return(() => invoke($0, `f32_min`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:224:59
+assert_return(() => invoke($0, `f64_min`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:225
+assert_return(() => invoke($0, `f32_max`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:225:59
+assert_return(() => invoke($0, `f64_max`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:226
+assert_return(() => invoke($0, `f32_store`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:226:59
+assert_return(() => invoke($0, `f64_store`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:227
+assert_return(() => invoke($0, `f32_call`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:227:59
+assert_return(() => invoke($0, `f64_call`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:228
+assert_return(() => invoke($0, `f32_call_indirect`, []), [value("i32", 66052)]);
+
+// ./test/core/left-to-right.wast:229
+assert_return(() => invoke($0, `f64_call_indirect`, []), [value("i32", 66052)]);
+
+// ./test/core/left-to-right.wast:230
+assert_return(() => invoke($0, `f32_select`, []), [value("i32", 66053)]);
+
+// ./test/core/left-to-right.wast:230:61
+assert_return(() => invoke($0, `f64_select`, []), [value("i32", 66053)]);
+
+// ./test/core/left-to-right.wast:232
+assert_return(() => invoke($0, `br_if`, []), [value("i32", 258)]);
+
+// ./test/core/left-to-right.wast:233
+assert_return(() => invoke($0, `br_table`, []), [value("i32", 258)]);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/load.wast.js b/js/src/jit-test/tests/wasm/spec/spec/load.wast.js
new file mode 100644
index 0000000000..55b00e573e
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/load.wast.js
@@ -0,0 +1,749 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/load.wast
+
+// ./test/core/load.wast:3
+let $0 = instantiate(`(module
+ (memory 1)
+
+ (func (export "as-br-value") (result i32)
+ (block (result i32) (br 0 (i32.load (i32.const 0))))
+ )
+
+ (func (export "as-br_if-cond")
+ (block (br_if 0 (i32.load (i32.const 0))))
+ )
+ (func (export "as-br_if-value") (result i32)
+ (block (result i32)
+ (drop (br_if 0 (i32.load (i32.const 0)) (i32.const 1))) (i32.const 7)
+ )
+ )
+ (func (export "as-br_if-value-cond") (result i32)
+ (block (result i32)
+ (drop (br_if 0 (i32.const 6) (i32.load (i32.const 0)))) (i32.const 7)
+ )
+ )
+
+ (func (export "as-br_table-index")
+ (block (br_table 0 0 0 (i32.load (i32.const 0))))
+ )
+ (func (export "as-br_table-value") (result i32)
+ (block (result i32)
+ (br_table 0 0 0 (i32.load (i32.const 0)) (i32.const 1)) (i32.const 7)
+ )
+ )
+ (func (export "as-br_table-value-index") (result i32)
+ (block (result i32)
+ (br_table 0 0 (i32.const 6) (i32.load (i32.const 0))) (i32.const 7)
+ )
+ )
+
+ (func (export "as-return-value") (result i32)
+ (return (i32.load (i32.const 0)))
+ )
+
+ (func (export "as-if-cond") (result i32)
+ (if (result i32) (i32.load (i32.const 0))
+ (then (i32.const 0)) (else (i32.const 1))
+ )
+ )
+ (func (export "as-if-then") (result i32)
+ (if (result i32) (i32.const 1)
+ (then (i32.load (i32.const 0))) (else (i32.const 0))
+ )
+ )
+ (func (export "as-if-else") (result i32)
+ (if (result i32) (i32.const 0)
+ (then (i32.const 0)) (else (i32.load (i32.const 0)))
+ )
+ )
+
+ (func (export "as-select-first") (param i32 i32) (result i32)
+ (select (i32.load (i32.const 0)) (local.get 0) (local.get 1))
+ )
+ (func (export "as-select-second") (param i32 i32) (result i32)
+ (select (local.get 0) (i32.load (i32.const 0)) (local.get 1))
+ )
+ (func (export "as-select-cond") (result i32)
+ (select (i32.const 0) (i32.const 1) (i32.load (i32.const 0)))
+ )
+
+ (func $$f (param i32 i32 i32) (result i32) (i32.const -1))
+ (func (export "as-call-first") (result i32)
+ (call $$f (i32.load (i32.const 0)) (i32.const 2) (i32.const 3))
+ )
+ (func (export "as-call-mid") (result i32)
+ (call $$f (i32.const 1) (i32.load (i32.const 0)) (i32.const 3))
+ )
+ (func (export "as-call-last") (result i32)
+ (call $$f (i32.const 1) (i32.const 2) (i32.load (i32.const 0)))
+ )
+
+ (type $$sig (func (param i32 i32 i32) (result i32)))
+ (table funcref (elem $$f))
+ (func (export "as-call_indirect-first") (result i32)
+ (call_indirect (type $$sig)
+ (i32.load (i32.const 0)) (i32.const 2) (i32.const 3) (i32.const 0)
+ )
+ )
+ (func (export "as-call_indirect-mid") (result i32)
+ (call_indirect (type $$sig)
+ (i32.const 1) (i32.load (i32.const 0)) (i32.const 3) (i32.const 0)
+ )
+ )
+ (func (export "as-call_indirect-last") (result i32)
+ (call_indirect (type $$sig)
+ (i32.const 1) (i32.const 2) (i32.load (i32.const 0)) (i32.const 0)
+ )
+ )
+ (func (export "as-call_indirect-index") (result i32)
+ (call_indirect (type $$sig)
+ (i32.const 1) (i32.const 2) (i32.const 3) (i32.load (i32.const 0))
+ )
+ )
+
+ (func (export "as-local.set-value") (local i32)
+ (local.set 0 (i32.load (i32.const 0)))
+ )
+ (func (export "as-local.tee-value") (result i32) (local i32)
+ (local.tee 0 (i32.load (i32.const 0)))
+ )
+ (global $$g (mut i32) (i32.const 0))
+ (func (export "as-global.set-value") (local i32)
+ (global.set $$g (i32.load (i32.const 0)))
+ )
+
+ (func (export "as-load-address") (result i32)
+ (i32.load (i32.load (i32.const 0)))
+ )
+ (func (export "as-loadN-address") (result i32)
+ (i32.load8_s (i32.load (i32.const 0)))
+ )
+
+ (func (export "as-store-address")
+ (i32.store (i32.load (i32.const 0)) (i32.const 7))
+ )
+ (func (export "as-store-value")
+ (i32.store (i32.const 2) (i32.load (i32.const 0)))
+ )
+
+ (func (export "as-storeN-address")
+ (i32.store8 (i32.load8_s (i32.const 0)) (i32.const 7))
+ )
+ (func (export "as-storeN-value")
+ (i32.store16 (i32.const 2) (i32.load (i32.const 0)))
+ )
+
+ (func (export "as-unary-operand") (result i32)
+ (i32.clz (i32.load (i32.const 100)))
+ )
+
+ (func (export "as-binary-left") (result i32)
+ (i32.add (i32.load (i32.const 100)) (i32.const 10))
+ )
+ (func (export "as-binary-right") (result i32)
+ (i32.sub (i32.const 10) (i32.load (i32.const 100)))
+ )
+
+ (func (export "as-test-operand") (result i32)
+ (i32.eqz (i32.load (i32.const 100)))
+ )
+
+ (func (export "as-compare-left") (result i32)
+ (i32.le_s (i32.load (i32.const 100)) (i32.const 10))
+ )
+ (func (export "as-compare-right") (result i32)
+ (i32.ne (i32.const 10) (i32.load (i32.const 100)))
+ )
+
+ (func (export "as-memory.grow-size") (result i32)
+ (memory.grow (i32.load (i32.const 100)))
+ )
+)`);
+
+// ./test/core/load.wast:161
+assert_return(() => invoke($0, `as-br-value`, []), [value("i32", 0)]);
+
+// ./test/core/load.wast:163
+assert_return(() => invoke($0, `as-br_if-cond`, []), []);
+
+// ./test/core/load.wast:164
+assert_return(() => invoke($0, `as-br_if-value`, []), [value("i32", 0)]);
+
+// ./test/core/load.wast:165
+assert_return(() => invoke($0, `as-br_if-value-cond`, []), [value("i32", 7)]);
+
+// ./test/core/load.wast:167
+assert_return(() => invoke($0, `as-br_table-index`, []), []);
+
+// ./test/core/load.wast:168
+assert_return(() => invoke($0, `as-br_table-value`, []), [value("i32", 0)]);
+
+// ./test/core/load.wast:169
+assert_return(() => invoke($0, `as-br_table-value-index`, []), [value("i32", 6)]);
+
+// ./test/core/load.wast:171
+assert_return(() => invoke($0, `as-return-value`, []), [value("i32", 0)]);
+
+// ./test/core/load.wast:173
+assert_return(() => invoke($0, `as-if-cond`, []), [value("i32", 1)]);
+
+// ./test/core/load.wast:174
+assert_return(() => invoke($0, `as-if-then`, []), [value("i32", 0)]);
+
+// ./test/core/load.wast:175
+assert_return(() => invoke($0, `as-if-else`, []), [value("i32", 0)]);
+
+// ./test/core/load.wast:177
+assert_return(() => invoke($0, `as-select-first`, [0, 1]), [value("i32", 0)]);
+
+// ./test/core/load.wast:178
+assert_return(() => invoke($0, `as-select-second`, [0, 0]), [value("i32", 0)]);
+
+// ./test/core/load.wast:179
+assert_return(() => invoke($0, `as-select-cond`, []), [value("i32", 1)]);
+
+// ./test/core/load.wast:181
+assert_return(() => invoke($0, `as-call-first`, []), [value("i32", -1)]);
+
+// ./test/core/load.wast:182
+assert_return(() => invoke($0, `as-call-mid`, []), [value("i32", -1)]);
+
+// ./test/core/load.wast:183
+assert_return(() => invoke($0, `as-call-last`, []), [value("i32", -1)]);
+
+// ./test/core/load.wast:185
+assert_return(() => invoke($0, `as-call_indirect-first`, []), [value("i32", -1)]);
+
+// ./test/core/load.wast:186
+assert_return(() => invoke($0, `as-call_indirect-mid`, []), [value("i32", -1)]);
+
+// ./test/core/load.wast:187
+assert_return(() => invoke($0, `as-call_indirect-last`, []), [value("i32", -1)]);
+
+// ./test/core/load.wast:188
+assert_return(() => invoke($0, `as-call_indirect-index`, []), [value("i32", -1)]);
+
+// ./test/core/load.wast:190
+assert_return(() => invoke($0, `as-local.set-value`, []), []);
+
+// ./test/core/load.wast:191
+assert_return(() => invoke($0, `as-local.tee-value`, []), [value("i32", 0)]);
+
+// ./test/core/load.wast:192
+assert_return(() => invoke($0, `as-global.set-value`, []), []);
+
+// ./test/core/load.wast:194
+assert_return(() => invoke($0, `as-load-address`, []), [value("i32", 0)]);
+
+// ./test/core/load.wast:195
+assert_return(() => invoke($0, `as-loadN-address`, []), [value("i32", 0)]);
+
+// ./test/core/load.wast:196
+assert_return(() => invoke($0, `as-store-address`, []), []);
+
+// ./test/core/load.wast:197
+assert_return(() => invoke($0, `as-store-value`, []), []);
+
+// ./test/core/load.wast:198
+assert_return(() => invoke($0, `as-storeN-address`, []), []);
+
+// ./test/core/load.wast:199
+assert_return(() => invoke($0, `as-storeN-value`, []), []);
+
+// ./test/core/load.wast:201
+assert_return(() => invoke($0, `as-unary-operand`, []), [value("i32", 32)]);
+
+// ./test/core/load.wast:203
+assert_return(() => invoke($0, `as-binary-left`, []), [value("i32", 10)]);
+
+// ./test/core/load.wast:204
+assert_return(() => invoke($0, `as-binary-right`, []), [value("i32", 10)]);
+
+// ./test/core/load.wast:206
+assert_return(() => invoke($0, `as-test-operand`, []), [value("i32", 1)]);
+
+// ./test/core/load.wast:208
+assert_return(() => invoke($0, `as-compare-left`, []), [value("i32", 1)]);
+
+// ./test/core/load.wast:209
+assert_return(() => invoke($0, `as-compare-right`, []), [value("i32", 1)]);
+
+// ./test/core/load.wast:211
+assert_return(() => invoke($0, `as-memory.grow-size`, []), [value("i32", 1)]);
+
+// ./test/core/load.wast:213
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param i32) (result i32) (i32.load32 (local.get 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/load.wast:220
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param i32) (result i32) (i32.load32_u (local.get 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/load.wast:227
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param i32) (result i32) (i32.load32_s (local.get 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/load.wast:234
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param i32) (result i32) (i32.load64 (local.get 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/load.wast:241
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param i32) (result i32) (i32.load64_u (local.get 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/load.wast:248
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param i32) (result i32) (i32.load64_s (local.get 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/load.wast:256
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param i32) (result i64) (i64.load64 (local.get 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/load.wast:263
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param i32) (result i64) (i64.load64_u (local.get 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/load.wast:270
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param i32) (result i64) (i64.load64_s (local.get 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/load.wast:278
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param i32) (result f32) (f32.load32 (local.get 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/load.wast:285
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param i32) (result f32) (f32.load64 (local.get 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/load.wast:293
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param i32) (result f64) (f64.load32 (local.get 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/load.wast:300
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param i32) (result f64) (f64.load64 (local.get 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/load.wast:311
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func $$load_i32 (i32.load (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:315
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func $$load8_s_i32 (i32.load8_s (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:319
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func $$load8_u_i32 (i32.load8_u (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:323
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func $$load16_s_i32 (i32.load16_s (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:327
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func $$load16_u_i32 (i32.load16_u (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:331
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func $$load_i64 (i64.load (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:335
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func $$load8_s_i64 (i64.load8_s (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:339
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func $$load8_u_i64 (i64.load8_u (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:343
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func $$load16_s_i64 (i64.load16_s (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:347
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func $$load16_u_i64 (i64.load16_u (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:351
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func $$load32_s_i64 (i64.load32_s (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:355
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func $$load32_u_i64 (i64.load32_u (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:359
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func $$load_f32 (f32.load (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:363
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func $$load_f64 (f64.load (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:371
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (result i32) (i32.load (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:372
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (result i32) (i32.load8_s (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:373
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (result i32) (i32.load8_u (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:374
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (result i32) (i32.load16_s (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:375
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (result i32) (i32.load16_u (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:376
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (result i64) (i64.load (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:377
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (result i64) (i64.load8_s (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:378
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (result i64) (i64.load8_u (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:379
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (result i64) (i64.load16_s (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:380
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (result i64) (i64.load16_u (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:381
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (result i64) (i64.load32_s (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:382
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (result i64) (i64.load32_u (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:383
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (result f32) (f32.load (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:384
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (result f64) (f64.load (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:387
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (func $$type-address-empty
+ (i32.load) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:396
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (func $$type-address-empty-in-block
+ (i32.const 0)
+ (block (i32.load) (drop))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:406
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (func $$type-address-empty-in-loop
+ (i32.const 0)
+ (loop (i32.load) (drop))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:416
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (func $$type-address-empty-in-then
+ (i32.const 0) (i32.const 0)
+ (if (then (i32.load) (drop)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:426
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (func $$type-address-empty-in-else
+ (i32.const 0) (i32.const 0)
+ (if (result i32) (then (i32.const 0)) (else (i32.load))) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:436
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (func $$type-address-empty-in-br
+ (i32.const 0)
+ (block (br 0 (i32.load)) (drop))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:446
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (func $$type-address-empty-in-br_if
+ (i32.const 0)
+ (block (br_if 0 (i32.load) (i32.const 1)) (drop))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:456
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (func $$type-address-empty-in-br_table
+ (i32.const 0)
+ (block (br_table 0 (i32.load)) (drop))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:466
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (func $$type-address-empty-in-return
+ (return (i32.load)) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:475
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (func $$type-address-empty-in-select
+ (select (i32.load) (i32.const 1) (i32.const 2)) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:484
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (func $$type-address-empty-in-call
+ (call 1 (i32.load)) (drop)
+ )
+ (func (param i32) (result i32) (local.get 0))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:494
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (func $$f (param i32) (result i32) (local.get 0))
+ (type $$sig (func (param i32) (result i32)))
+ (table funcref (elem $$f))
+ (func $$type-address-empty-in-call_indirect
+ (block (result i32)
+ (call_indirect (type $$sig)
+ (i32.load) (i32.const 0)
+ )
+ (drop)
+ )
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:511
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (func $$type-address-empty-in-local.set
+ (local i32)
+ (local.set 0 (i32.load)) (local.get 0) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:521
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (func $$type-address-empty-in-local.tee
+ (local i32)
+ (local.tee 0 (i32.load)) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:531
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (global $$x (mut i32) (i32.const 0))
+ (func $$type-address-empty-in-global.set
+ (global.set $$x (i32.load)) (global.get $$x) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:541
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (func $$type-address-empty-in-memory.grow
+ (memory.grow (i32.load)) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:550
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (func $$type-address-empty-in-load
+ (i32.load (i32.load)) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/load.wast:559
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-address-empty-in-store
+ (i32.store (i32.load) (i32.const 1))
+ )
+ )`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/local_get.wast.js b/js/src/jit-test/tests/wasm/spec/spec/local_get.wast.js
new file mode 100644
index 0000000000..c51b00bd31
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/local_get.wast.js
@@ -0,0 +1,279 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/local_get.wast
+
+// ./test/core/local_get.wast:3
+let $0 = instantiate(`(module
+ ;; Typing
+
+ (func (export "type-local-i32") (result i32) (local i32) (local.get 0))
+ (func (export "type-local-i64") (result i64) (local i64) (local.get 0))
+ (func (export "type-local-f32") (result f32) (local f32) (local.get 0))
+ (func (export "type-local-f64") (result f64) (local f64) (local.get 0))
+
+ (func (export "type-param-i32") (param i32) (result i32) (local.get 0))
+ (func (export "type-param-i64") (param i64) (result i64) (local.get 0))
+ (func (export "type-param-f32") (param f32) (result f32) (local.get 0))
+ (func (export "type-param-f64") (param f64) (result f64) (local.get 0))
+
+ (func (export "type-mixed") (param i64 f32 f64 i32 i32)
+ (local f32 i64 i64 f64)
+ (drop (i64.eqz (local.get 0)))
+ (drop (f32.neg (local.get 1)))
+ (drop (f64.neg (local.get 2)))
+ (drop (i32.eqz (local.get 3)))
+ (drop (i32.eqz (local.get 4)))
+ (drop (f32.neg (local.get 5)))
+ (drop (i64.eqz (local.get 6)))
+ (drop (i64.eqz (local.get 7)))
+ (drop (f64.neg (local.get 8)))
+ )
+
+ ;; Reading
+
+ (func (export "read") (param i64 f32 f64 i32 i32) (result f64)
+ (local f32 i64 i64 f64)
+ (local.set 5 (f32.const 5.5))
+ (local.set 6 (i64.const 6))
+ (local.set 8 (f64.const 8))
+ (f64.add
+ (f64.convert_i64_u (local.get 0))
+ (f64.add
+ (f64.promote_f32 (local.get 1))
+ (f64.add
+ (local.get 2)
+ (f64.add
+ (f64.convert_i32_u (local.get 3))
+ (f64.add
+ (f64.convert_i32_s (local.get 4))
+ (f64.add
+ (f64.promote_f32 (local.get 5))
+ (f64.add
+ (f64.convert_i64_u (local.get 6))
+ (f64.add
+ (f64.convert_i64_u (local.get 7))
+ (local.get 8)
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+
+ ;; As parameter of control constructs and instructions
+
+ (func (export "as-block-value") (param i32) (result i32)
+ (block (result i32) (local.get 0))
+ )
+ (func (export "as-loop-value") (param i32) (result i32)
+ (loop (result i32) (local.get 0))
+ )
+ (func (export "as-br-value") (param i32) (result i32)
+ (block (result i32) (br 0 (local.get 0)))
+ )
+ (func (export "as-br_if-value") (param i32) (result i32)
+ (block $$l0 (result i32) (br_if $$l0 (local.get 0) (i32.const 1)))
+ )
+
+ (func (export "as-br_if-value-cond") (param i32) (result i32)
+ (block (result i32)
+ (br_if 0 (local.get 0) (local.get 0))
+ )
+ )
+ (func (export "as-br_table-value") (param i32) (result i32)
+ (block
+ (block
+ (block
+ (br_table 0 1 2 (local.get 0))
+ (return (i32.const 0))
+ )
+ (return (i32.const 1))
+ )
+ (return (i32.const 2))
+ )
+ (i32.const 3)
+ )
+
+ (func (export "as-return-value") (param i32) (result i32)
+ (return (local.get 0))
+ )
+
+ (func (export "as-if-then") (param i32) (result i32)
+ (if (result i32) (local.get 0) (then (local.get 0)) (else (i32.const 0)))
+ )
+ (func (export "as-if-else") (param i32) (result i32)
+ (if (result i32) (local.get 0) (then (i32.const 1)) (else (local.get 0)))
+ )
+)`);
+
+// ./test/core/local_get.wast:109
+assert_return(() => invoke($0, `type-local-i32`, []), [value("i32", 0)]);
+
+// ./test/core/local_get.wast:110
+assert_return(() => invoke($0, `type-local-i64`, []), [value("i64", 0n)]);
+
+// ./test/core/local_get.wast:111
+assert_return(() => invoke($0, `type-local-f32`, []), [value("f32", 0)]);
+
+// ./test/core/local_get.wast:112
+assert_return(() => invoke($0, `type-local-f64`, []), [value("f64", 0)]);
+
+// ./test/core/local_get.wast:114
+assert_return(() => invoke($0, `type-param-i32`, [2]), [value("i32", 2)]);
+
+// ./test/core/local_get.wast:115
+assert_return(() => invoke($0, `type-param-i64`, [3n]), [value("i64", 3n)]);
+
+// ./test/core/local_get.wast:116
+assert_return(() => invoke($0, `type-param-f32`, [value("f32", 4.4)]), [value("f32", 4.4)]);
+
+// ./test/core/local_get.wast:117
+assert_return(() => invoke($0, `type-param-f64`, [value("f64", 5.5)]), [value("f64", 5.5)]);
+
+// ./test/core/local_get.wast:119
+assert_return(() => invoke($0, `as-block-value`, [6]), [value("i32", 6)]);
+
+// ./test/core/local_get.wast:120
+assert_return(() => invoke($0, `as-loop-value`, [7]), [value("i32", 7)]);
+
+// ./test/core/local_get.wast:122
+assert_return(() => invoke($0, `as-br-value`, [8]), [value("i32", 8)]);
+
+// ./test/core/local_get.wast:123
+assert_return(() => invoke($0, `as-br_if-value`, [9]), [value("i32", 9)]);
+
+// ./test/core/local_get.wast:124
+assert_return(() => invoke($0, `as-br_if-value-cond`, [10]), [value("i32", 10)]);
+
+// ./test/core/local_get.wast:125
+assert_return(() => invoke($0, `as-br_table-value`, [1]), [value("i32", 2)]);
+
+// ./test/core/local_get.wast:127
+assert_return(() => invoke($0, `as-return-value`, [0]), [value("i32", 0)]);
+
+// ./test/core/local_get.wast:129
+assert_return(() => invoke($0, `as-if-then`, [1]), [value("i32", 1)]);
+
+// ./test/core/local_get.wast:130
+assert_return(() => invoke($0, `as-if-else`, [0]), [value("i32", 0)]);
+
+// ./test/core/local_get.wast:132
+assert_return(() => invoke($0, `type-mixed`, [1n, value("f32", 2.2), value("f64", 3.3), 4, 5]), []);
+
+// ./test/core/local_get.wast:138
+assert_return(
+ () => invoke($0, `read`, [1n, value("f32", 2), value("f64", 3.3), 4, 5]),
+ [value("f64", 34.8)],
+);
+
+// ./test/core/local_get.wast:148
+assert_invalid(
+ () => instantiate(`(module (func $$type-local-num-vs-num (result i64) (local i32) (local.get 0)))`),
+ `type mismatch`,
+);
+
+// ./test/core/local_get.wast:152
+assert_invalid(
+ () => instantiate(`(module (func $$type-local-num-vs-num (result i32) (local f32) (i32.eqz (local.get 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/local_get.wast:156
+assert_invalid(
+ () => instantiate(`(module (func $$type-local-num-vs-num (result f64) (local f64 i64) (f64.neg (local.get 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/local_get.wast:164
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-num-vs-num (param i32) (result i64) (local.get 0)))`),
+ `type mismatch`,
+);
+
+// ./test/core/local_get.wast:168
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-num-vs-num (param f32) (result i32) (i32.eqz (local.get 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/local_get.wast:172
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-num-vs-num (param f64 i64) (result f64) (f64.neg (local.get 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/local_get.wast:180
+assert_invalid(
+ () => instantiate(`(module (func $$type-empty-vs-i32 (local i32) (local.get 0)))`),
+ `type mismatch`,
+);
+
+// ./test/core/local_get.wast:184
+assert_invalid(
+ () => instantiate(`(module (func $$type-empty-vs-i64 (local i64) (local.get 0)))`),
+ `type mismatch`,
+);
+
+// ./test/core/local_get.wast:188
+assert_invalid(
+ () => instantiate(`(module (func $$type-empty-vs-f32 (local f32) (local.get 0)))`),
+ `type mismatch`,
+);
+
+// ./test/core/local_get.wast:192
+assert_invalid(
+ () => instantiate(`(module (func $$type-empty-vs-f64 (local f64) (local.get 0)))`),
+ `type mismatch`,
+);
+
+// ./test/core/local_get.wast:200
+assert_invalid(
+ () => instantiate(`(module (func $$unbound-local (local i32 i64) (local.get 3) drop))`),
+ `unknown local`,
+);
+
+// ./test/core/local_get.wast:204
+assert_invalid(
+ () => instantiate(`(module (func $$large-local (local i32 i64) (local.get 14324343) drop))`),
+ `unknown local`,
+);
+
+// ./test/core/local_get.wast:209
+assert_invalid(
+ () => instantiate(`(module (func $$unbound-param (param i32 i64) (local.get 2) drop))`),
+ `unknown local`,
+);
+
+// ./test/core/local_get.wast:213
+assert_invalid(
+ () => instantiate(`(module (func $$large-param (param i32 i64) (local.get 714324343) drop))`),
+ `unknown local`,
+);
+
+// ./test/core/local_get.wast:218
+assert_invalid(
+ () => instantiate(`(module (func $$unbound-mixed (param i32) (local i32 i64) (local.get 3) drop))`),
+ `unknown local`,
+);
+
+// ./test/core/local_get.wast:222
+assert_invalid(
+ () => instantiate(`(module (func $$large-mixed (param i64) (local i32 i64) (local.get 214324343) drop))`),
+ `unknown local`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/local_set.wast.js b/js/src/jit-test/tests/wasm/spec/spec/local_set.wast.js
new file mode 100644
index 0000000000..f022fa00bf
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/local_set.wast.js
@@ -0,0 +1,442 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/local_set.wast
+
+// ./test/core/local_set.wast:3
+let $0 = instantiate(`(module
+ ;; Typing
+
+ (func (export "type-local-i32") (local i32) (local.set 0 (i32.const 0)))
+ (func (export "type-local-i64") (local i64) (local.set 0 (i64.const 0)))
+ (func (export "type-local-f32") (local f32) (local.set 0 (f32.const 0)))
+ (func (export "type-local-f64") (local f64) (local.set 0 (f64.const 0)))
+
+ (func (export "type-param-i32") (param i32) (local.set 0 (i32.const 10)))
+ (func (export "type-param-i64") (param i64) (local.set 0 (i64.const 11)))
+ (func (export "type-param-f32") (param f32) (local.set 0 (f32.const 11.1)))
+ (func (export "type-param-f64") (param f64) (local.set 0 (f64.const 12.2)))
+
+ (func (export "type-mixed") (param i64 f32 f64 i32 i32) (local f32 i64 i64 f64)
+ (local.set 0 (i64.const 0))
+ (local.set 1 (f32.const 0))
+ (local.set 2 (f64.const 0))
+ (local.set 3 (i32.const 0))
+ (local.set 4 (i32.const 0))
+ (local.set 5 (f32.const 0))
+ (local.set 6 (i64.const 0))
+ (local.set 7 (i64.const 0))
+ (local.set 8 (f64.const 0))
+ )
+
+ ;; Writing
+
+ (func (export "write") (param i64 f32 f64 i32 i32) (result i64)
+ (local f32 i64 i64 f64)
+ (local.set 1 (f32.const -0.3))
+ (local.set 3 (i32.const 40))
+ (local.set 4 (i32.const -7))
+ (local.set 5 (f32.const 5.5))
+ (local.set 6 (i64.const 6))
+ (local.set 8 (f64.const 8))
+ (i64.trunc_f64_s
+ (f64.add
+ (f64.convert_i64_u (local.get 0))
+ (f64.add
+ (f64.promote_f32 (local.get 1))
+ (f64.add
+ (local.get 2)
+ (f64.add
+ (f64.convert_i32_u (local.get 3))
+ (f64.add
+ (f64.convert_i32_s (local.get 4))
+ (f64.add
+ (f64.promote_f32 (local.get 5))
+ (f64.add
+ (f64.convert_i64_u (local.get 6))
+ (f64.add
+ (f64.convert_i64_u (local.get 7))
+ (local.get 8)
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+
+ ;; As parameter of control constructs and instructions
+
+ (func (export "as-block-value") (param i32)
+ (block (local.set 0 (i32.const 1)))
+ )
+ (func (export "as-loop-value") (param i32)
+ (loop (local.set 0 (i32.const 3)))
+ )
+
+ (func (export "as-br-value") (param i32)
+ (block (br 0 (local.set 0 (i32.const 9))))
+ )
+ (func (export "as-br_if-value") (param i32)
+ (block
+ (br_if 0 (local.set 0 (i32.const 8)) (i32.const 1))
+ )
+ )
+ (func (export "as-br_if-value-cond") (param i32)
+ (block
+ (br_if 0 (i32.const 6) (local.set 0 (i32.const 9)))
+ )
+ )
+ (func (export "as-br_table-value") (param i32)
+ (block
+ (br_table 0 (local.set 0 (i32.const 10)) (i32.const 1))
+ )
+ )
+
+ (func (export "as-return-value") (param i32)
+ (return (local.set 0 (i32.const 7)))
+ )
+
+ (func (export "as-if-then") (param i32)
+ (if (local.get 0) (then (local.set 0 (i32.const 3))))
+ )
+ (func (export "as-if-else") (param i32)
+ (if (local.get 0) (then) (else (local.set 0 (i32.const 1))))
+ )
+)`);
+
+// ./test/core/local_set.wast:107
+assert_return(() => invoke($0, `type-local-i32`, []), []);
+
+// ./test/core/local_set.wast:108
+assert_return(() => invoke($0, `type-local-i64`, []), []);
+
+// ./test/core/local_set.wast:109
+assert_return(() => invoke($0, `type-local-f32`, []), []);
+
+// ./test/core/local_set.wast:110
+assert_return(() => invoke($0, `type-local-f64`, []), []);
+
+// ./test/core/local_set.wast:112
+assert_return(() => invoke($0, `type-param-i32`, [2]), []);
+
+// ./test/core/local_set.wast:113
+assert_return(() => invoke($0, `type-param-i64`, [3n]), []);
+
+// ./test/core/local_set.wast:114
+assert_return(() => invoke($0, `type-param-f32`, [value("f32", 4.4)]), []);
+
+// ./test/core/local_set.wast:115
+assert_return(() => invoke($0, `type-param-f64`, [value("f64", 5.5)]), []);
+
+// ./test/core/local_set.wast:117
+assert_return(() => invoke($0, `as-block-value`, [0]), []);
+
+// ./test/core/local_set.wast:118
+assert_return(() => invoke($0, `as-loop-value`, [0]), []);
+
+// ./test/core/local_set.wast:120
+assert_return(() => invoke($0, `as-br-value`, [0]), []);
+
+// ./test/core/local_set.wast:121
+assert_return(() => invoke($0, `as-br_if-value`, [0]), []);
+
+// ./test/core/local_set.wast:122
+assert_return(() => invoke($0, `as-br_if-value-cond`, [0]), []);
+
+// ./test/core/local_set.wast:123
+assert_return(() => invoke($0, `as-br_table-value`, [0]), []);
+
+// ./test/core/local_set.wast:125
+assert_return(() => invoke($0, `as-return-value`, [0]), []);
+
+// ./test/core/local_set.wast:127
+assert_return(() => invoke($0, `as-if-then`, [1]), []);
+
+// ./test/core/local_set.wast:128
+assert_return(() => invoke($0, `as-if-else`, [0]), []);
+
+// ./test/core/local_set.wast:130
+assert_return(() => invoke($0, `type-mixed`, [1n, value("f32", 2.2), value("f64", 3.3), 4, 5]), []);
+
+// ./test/core/local_set.wast:136
+assert_return(
+ () => invoke($0, `write`, [1n, value("f32", 2), value("f64", 3.3), 4, 5]),
+ [value("i64", 56n)],
+);
+
+// ./test/core/local_set.wast:147
+assert_invalid(
+ () => instantiate(`(module (func $$type-local-arg-void-vs-num (local i32) (local.set 0 (nop))))`),
+ `type mismatch`,
+);
+
+// ./test/core/local_set.wast:151
+assert_invalid(
+ () => instantiate(`(module (func $$type-local-arg-num-vs-num (local i32) (local.set 0 (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/local_set.wast:155
+assert_invalid(
+ () => instantiate(`(module (func $$type-local-arg-num-vs-num (local f32) (local.set 0 (f64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/local_set.wast:159
+assert_invalid(
+ () => instantiate(`(module (func $$type-local-arg-num-vs-num (local f64 i64) (local.set 1 (f64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/local_set.wast:168
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-arg-void-vs-num (param i32) (local.set 0 (nop))))`),
+ `type mismatch`,
+);
+
+// ./test/core/local_set.wast:172
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-arg-num-vs-num (param i32) (local.set 0 (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/local_set.wast:176
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-arg-num-vs-num (param f32) (local.set 0 (f64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/local_set.wast:180
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-arg-num-vs-num (param f64 i64) (local.set 1 (f64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/local_set.wast:185
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-param-arg-empty-vs-num (param i32)
+ (local.set 0)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/local_set.wast:193
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-param-arg-empty-vs-num-in-block (param i32)
+ (i32.const 0)
+ (block (local.set 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/local_set.wast:202
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-param-arg-empty-vs-num-in-loop (param i32)
+ (i32.const 0)
+ (loop (local.set 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/local_set.wast:211
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-param-arg-empty-vs-num-in-then (param i32)
+ (i32.const 0)
+ (if (i32.const 1) (then (local.set 0)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/local_set.wast:220
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-param-arg-empty-vs-num-in-else (param i32)
+ (i32.const 0)
+ (if (result i32) (i32.const 0) (then (i32.const 0)) (else (local.set 0)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/local_set.wast:229
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-param-arg-empty-vs-num-in-br (param i32)
+ (i32.const 0)
+ (block (br 0 (local.set 0)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/local_set.wast:238
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-param-arg-empty-vs-num-in-br_if (param i32)
+ (i32.const 0)
+ (block (br_if 0 (local.set 0)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/local_set.wast:247
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-param-arg-empty-vs-num-in-br_table (param i32)
+ (i32.const 0)
+ (block (br_table 0 (local.set 0)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/local_set.wast:256
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-param-arg-empty-vs-num-in-return (param i32)
+ (return (local.set 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/local_set.wast:264
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-param-arg-empty-vs-num-in-select (param i32)
+ (select (local.set 0) (i32.const 1) (i32.const 2))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/local_set.wast:272
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-param-arg-empty-vs-num-in-call (param i32)
+ (call 1 (local.set 0))
+ )
+ (func (param i32) (result i32) (local.get 0))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/local_set.wast:281
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f (param i32) (result i32) (local.get 0))
+ (type $$sig (func (param i32) (result i32)))
+ (table funcref (elem $$f))
+ (func $$type-param-arg-empty-vs-num-in-call_indirect (param i32)
+ (block (result i32)
+ (call_indirect (type $$sig)
+ (local.set 0) (i32.const 0)
+ )
+ )
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/local_set.wast:300
+assert_invalid(
+ () => instantiate(`(module (func $$type-mixed-arg-num-vs-num (param f32) (local i32) (local.set 1 (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/local_set.wast:304
+assert_invalid(
+ () => instantiate(`(module (func $$type-mixed-arg-num-vs-num (param i64 i32) (local f32) (local.set 1 (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/local_set.wast:308
+assert_invalid(
+ () => instantiate(`(module (func $$type-mixed-arg-num-vs-num (param i64) (local f64 i64) (local.set 1 (i64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/local_set.wast:316
+assert_invalid(
+ () => instantiate(`(module (func $$type-empty-vs-i32 (param i32) (result i32) (local.set 0 (i32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/local_set.wast:320
+assert_invalid(
+ () => instantiate(`(module (func $$type-empty-vs-i64 (param i64) (result i64) (local.set 0 (i64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/local_set.wast:324
+assert_invalid(
+ () => instantiate(`(module (func $$type-empty-vs-f32 (param f32) (result f32) (local.set 0 (f32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/local_set.wast:328
+assert_invalid(
+ () => instantiate(`(module (func $$type-empty-vs-f64 (param f64) (result f64) (local.set 0 (f64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/local_set.wast:336
+assert_invalid(
+ () => instantiate(`(module (func $$unbound-local (local i32 i64) (local.set 3 (i32.const 0))))`),
+ `unknown local`,
+);
+
+// ./test/core/local_set.wast:340
+assert_invalid(
+ () => instantiate(`(module (func $$large-local (local i32 i64) (local.set 14324343 (i32.const 0))))`),
+ `unknown local`,
+);
+
+// ./test/core/local_set.wast:345
+assert_invalid(
+ () => instantiate(`(module (func $$unbound-param (param i32 i64) (local.set 2 (i32.const 0))))`),
+ `unknown local`,
+);
+
+// ./test/core/local_set.wast:349
+assert_invalid(
+ () => instantiate(`(module (func $$large-param (param i32 i64) (local.set 714324343 (i32.const 0))))`),
+ `unknown local`,
+);
+
+// ./test/core/local_set.wast:354
+assert_invalid(
+ () => instantiate(`(module (func $$unbound-mixed (param i32) (local i32 i64) (local.set 3 (i32.const 0))))`),
+ `unknown local`,
+);
+
+// ./test/core/local_set.wast:358
+assert_invalid(
+ () => instantiate(`(module (func $$large-mixed (param i64) (local i32 i64) (local.set 214324343 (i32.const 0))))`),
+ `unknown local`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/local_tee.wast.js b/js/src/jit-test/tests/wasm/spec/spec/local_tee.wast.js
new file mode 100644
index 0000000000..c02e2044e7
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/local_tee.wast.js
@@ -0,0 +1,806 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/local_tee.wast
+
+// ./test/core/local_tee.wast:3
+let $0 = instantiate(`(module
+ ;; Typing
+
+ (func (export "type-local-i32") (result i32) (local i32) (local.tee 0 (i32.const 0)))
+ (func (export "type-local-i64") (result i64) (local i64) (local.tee 0 (i64.const 0)))
+ (func (export "type-local-f32") (result f32) (local f32) (local.tee 0 (f32.const 0)))
+ (func (export "type-local-f64") (result f64) (local f64) (local.tee 0 (f64.const 0)))
+
+ (func (export "type-param-i32") (param i32) (result i32) (local.tee 0 (i32.const 10)))
+ (func (export "type-param-i64") (param i64) (result i64) (local.tee 0 (i64.const 11)))
+ (func (export "type-param-f32") (param f32) (result f32) (local.tee 0 (f32.const 11.1)))
+ (func (export "type-param-f64") (param f64) (result f64) (local.tee 0 (f64.const 12.2)))
+
+ (func (export "type-mixed") (param i64 f32 f64 i32 i32) (local f32 i64 i64 f64)
+ (drop (i64.eqz (local.tee 0 (i64.const 0))))
+ (drop (f32.neg (local.tee 1 (f32.const 0))))
+ (drop (f64.neg (local.tee 2 (f64.const 0))))
+ (drop (i32.eqz (local.tee 3 (i32.const 0))))
+ (drop (i32.eqz (local.tee 4 (i32.const 0))))
+ (drop (f32.neg (local.tee 5 (f32.const 0))))
+ (drop (i64.eqz (local.tee 6 (i64.const 0))))
+ (drop (i64.eqz (local.tee 7 (i64.const 0))))
+ (drop (f64.neg (local.tee 8 (f64.const 0))))
+ )
+
+ ;; Writing
+
+ (func (export "write") (param i64 f32 f64 i32 i32) (result i64) (local f32 i64 i64 f64)
+ (drop (local.tee 1 (f32.const -0.3)))
+ (drop (local.tee 3 (i32.const 40)))
+ (drop (local.tee 4 (i32.const -7)))
+ (drop (local.tee 5 (f32.const 5.5)))
+ (drop (local.tee 6 (i64.const 6)))
+ (drop (local.tee 8 (f64.const 8)))
+ (i64.trunc_f64_s
+ (f64.add
+ (f64.convert_i64_u (local.get 0))
+ (f64.add
+ (f64.promote_f32 (local.get 1))
+ (f64.add
+ (local.get 2)
+ (f64.add
+ (f64.convert_i32_u (local.get 3))
+ (f64.add
+ (f64.convert_i32_s (local.get 4))
+ (f64.add
+ (f64.promote_f32 (local.get 5))
+ (f64.add
+ (f64.convert_i64_u (local.get 6))
+ (f64.add
+ (f64.convert_i64_u (local.get 7))
+ (local.get 8)
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+
+ ;; Result
+
+ (func (export "result") (param i64 f32 f64 i32 i32) (result f64)
+ (local f32 i64 i64 f64)
+ (f64.add
+ (f64.convert_i64_u (local.tee 0 (i64.const 1)))
+ (f64.add
+ (f64.promote_f32 (local.tee 1 (f32.const 2)))
+ (f64.add
+ (local.tee 2 (f64.const 3.3))
+ (f64.add
+ (f64.convert_i32_u (local.tee 3 (i32.const 4)))
+ (f64.add
+ (f64.convert_i32_s (local.tee 4 (i32.const 5)))
+ (f64.add
+ (f64.promote_f32 (local.tee 5 (f32.const 5.5)))
+ (f64.add
+ (f64.convert_i64_u (local.tee 6 (i64.const 6)))
+ (f64.add
+ (f64.convert_i64_u (local.tee 7 (i64.const 0)))
+ (local.tee 8 (f64.const 8))
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+
+ (func $$dummy)
+
+ (func (export "as-block-first") (param i32) (result i32)
+ (block (result i32) (local.tee 0 (i32.const 1)) (call $$dummy))
+ )
+ (func (export "as-block-mid") (param i32) (result i32)
+ (block (result i32) (call $$dummy) (local.tee 0 (i32.const 1)) (call $$dummy))
+ )
+ (func (export "as-block-last") (param i32) (result i32)
+ (block (result i32) (call $$dummy) (call $$dummy) (local.tee 0 (i32.const 1)))
+ )
+
+ (func (export "as-loop-first") (param i32) (result i32)
+ (loop (result i32) (local.tee 0 (i32.const 3)) (call $$dummy))
+ )
+ (func (export "as-loop-mid") (param i32) (result i32)
+ (loop (result i32) (call $$dummy) (local.tee 0 (i32.const 4)) (call $$dummy))
+ )
+ (func (export "as-loop-last") (param i32) (result i32)
+ (loop (result i32) (call $$dummy) (call $$dummy) (local.tee 0 (i32.const 5)))
+ )
+
+ (func (export "as-br-value") (param i32) (result i32)
+ (block (result i32) (br 0 (local.tee 0 (i32.const 9))))
+ )
+
+ (func (export "as-br_if-cond") (param i32)
+ (block (br_if 0 (local.tee 0 (i32.const 1))))
+ )
+ (func (export "as-br_if-value") (param i32) (result i32)
+ (block (result i32)
+ (drop (br_if 0 (local.tee 0 (i32.const 8)) (i32.const 1))) (i32.const 7)
+ )
+ )
+ (func (export "as-br_if-value-cond") (param i32) (result i32)
+ (block (result i32)
+ (drop (br_if 0 (i32.const 6) (local.tee 0 (i32.const 9)))) (i32.const 7)
+ )
+ )
+
+ (func (export "as-br_table-index") (param i32)
+ (block (br_table 0 0 0 (local.tee 0 (i32.const 0))))
+ )
+ (func (export "as-br_table-value") (param i32) (result i32)
+ (block (result i32)
+ (br_table 0 0 0 (local.tee 0 (i32.const 10)) (i32.const 1)) (i32.const 7)
+ )
+ )
+ (func (export "as-br_table-value-index") (param i32) (result i32)
+ (block (result i32)
+ (br_table 0 0 (i32.const 6) (local.tee 0 (i32.const 11))) (i32.const 7)
+ )
+ )
+
+ (func (export "as-return-value") (param i32) (result i32)
+ (return (local.tee 0 (i32.const 7)))
+ )
+
+ (func (export "as-if-cond") (param i32) (result i32)
+ (if (result i32) (local.tee 0 (i32.const 2))
+ (then (i32.const 0)) (else (i32.const 1))
+ )
+ )
+ (func (export "as-if-then") (param i32) (result i32)
+ (if (result i32) (local.get 0)
+ (then (local.tee 0 (i32.const 3))) (else (local.get 0))
+ )
+ )
+ (func (export "as-if-else") (param i32) (result i32)
+ (if (result i32) (local.get 0)
+ (then (local.get 0)) (else (local.tee 0 (i32.const 4)))
+ )
+ )
+
+ (func (export "as-select-first") (param i32 i32) (result i32)
+ (select (local.tee 0 (i32.const 5)) (local.get 0) (local.get 1))
+ )
+ (func (export "as-select-second") (param i32 i32) (result i32)
+ (select (local.get 0) (local.tee 0 (i32.const 6)) (local.get 1))
+ )
+ (func (export "as-select-cond") (param i32) (result i32)
+ (select (i32.const 0) (i32.const 1) (local.tee 0 (i32.const 7)))
+ )
+
+ (func $$f (param i32 i32 i32) (result i32) (i32.const -1))
+ (func (export "as-call-first") (param i32) (result i32)
+ (call $$f (local.tee 0 (i32.const 12)) (i32.const 2) (i32.const 3))
+ )
+ (func (export "as-call-mid") (param i32) (result i32)
+ (call $$f (i32.const 1) (local.tee 0 (i32.const 13)) (i32.const 3))
+ )
+ (func (export "as-call-last") (param i32) (result i32)
+ (call $$f (i32.const 1) (i32.const 2) (local.tee 0 (i32.const 14)))
+ )
+
+ (type $$sig (func (param i32 i32 i32) (result i32)))
+ (table funcref (elem $$f))
+ (func (export "as-call_indirect-first") (param i32) (result i32)
+ (call_indirect (type $$sig)
+ (local.tee 0 (i32.const 1)) (i32.const 2) (i32.const 3) (i32.const 0)
+ )
+ )
+ (func (export "as-call_indirect-mid") (param i32) (result i32)
+ (call_indirect (type $$sig)
+ (i32.const 1) (local.tee 0 (i32.const 2)) (i32.const 3) (i32.const 0)
+ )
+ )
+ (func (export "as-call_indirect-last") (param i32) (result i32)
+ (call_indirect (type $$sig)
+ (i32.const 1) (i32.const 2) (local.tee 0 (i32.const 3)) (i32.const 0)
+ )
+ )
+ (func (export "as-call_indirect-index") (param i32) (result i32)
+ (call_indirect (type $$sig)
+ (i32.const 1) (i32.const 2) (i32.const 3) (local.tee 0 (i32.const 0))
+ )
+ )
+
+ (func (export "as-local.set-value") (local i32)
+ (local.set 0 (local.tee 0 (i32.const 1)))
+ )
+ (func (export "as-local.tee-value") (param i32) (result i32)
+ (local.tee 0 (local.tee 0 (i32.const 1)))
+ )
+ (global $$g (mut i32) (i32.const 0))
+ (func (export "as-global.set-value") (local i32)
+ (global.set $$g (local.tee 0 (i32.const 1)))
+ )
+
+ (memory 1)
+ (func (export "as-load-address") (param i32) (result i32)
+ (i32.load (local.tee 0 (i32.const 1)))
+ )
+ (func (export "as-loadN-address") (param i32) (result i32)
+ (i32.load8_s (local.tee 0 (i32.const 3)))
+ )
+
+ (func (export "as-store-address") (param i32)
+ (i32.store (local.tee 0 (i32.const 30)) (i32.const 7))
+ )
+ (func (export "as-store-value") (param i32)
+ (i32.store (i32.const 2) (local.tee 0 (i32.const 1)))
+ )
+
+ (func (export "as-storeN-address") (param i32)
+ (i32.store8 (local.tee 0 (i32.const 1)) (i32.const 7))
+ )
+ (func (export "as-storeN-value") (param i32)
+ (i32.store16 (i32.const 2) (local.tee 0 (i32.const 1)))
+ )
+
+ (func (export "as-unary-operand") (param f32) (result f32)
+ (f32.neg (local.tee 0 (f32.const nan:0x0f1e2)))
+ )
+
+ (func (export "as-binary-left") (param i32) (result i32)
+ (i32.add (local.tee 0 (i32.const 3)) (i32.const 10))
+ )
+ (func (export "as-binary-right") (param i32) (result i32)
+ (i32.sub (i32.const 10) (local.tee 0 (i32.const 4)))
+ )
+
+ (func (export "as-test-operand") (param i32) (result i32)
+ (i32.eqz (local.tee 0 (i32.const 0)))
+ )
+
+ (func (export "as-compare-left") (param i32) (result i32)
+ (i32.le_s (local.tee 0 (i32.const 43)) (i32.const 10))
+ )
+ (func (export "as-compare-right") (param i32) (result i32)
+ (i32.ne (i32.const 10) (local.tee 0 (i32.const 42)))
+ )
+
+ (func (export "as-convert-operand") (param i64) (result i32)
+ (i32.wrap_i64 (local.tee 0 (i64.const 41)))
+ )
+
+ (func (export "as-memory.grow-size") (param i32) (result i32)
+ (memory.grow (local.tee 0 (i32.const 40)))
+ )
+
+)`);
+
+// ./test/core/local_tee.wast:280
+assert_return(() => invoke($0, `type-local-i32`, []), [value("i32", 0)]);
+
+// ./test/core/local_tee.wast:281
+assert_return(() => invoke($0, `type-local-i64`, []), [value("i64", 0n)]);
+
+// ./test/core/local_tee.wast:282
+assert_return(() => invoke($0, `type-local-f32`, []), [value("f32", 0)]);
+
+// ./test/core/local_tee.wast:283
+assert_return(() => invoke($0, `type-local-f64`, []), [value("f64", 0)]);
+
+// ./test/core/local_tee.wast:285
+assert_return(() => invoke($0, `type-param-i32`, [2]), [value("i32", 10)]);
+
+// ./test/core/local_tee.wast:286
+assert_return(() => invoke($0, `type-param-i64`, [3n]), [value("i64", 11n)]);
+
+// ./test/core/local_tee.wast:287
+assert_return(() => invoke($0, `type-param-f32`, [value("f32", 4.4)]), [value("f32", 11.1)]);
+
+// ./test/core/local_tee.wast:288
+assert_return(() => invoke($0, `type-param-f64`, [value("f64", 5.5)]), [value("f64", 12.2)]);
+
+// ./test/core/local_tee.wast:290
+assert_return(() => invoke($0, `as-block-first`, [0]), [value("i32", 1)]);
+
+// ./test/core/local_tee.wast:291
+assert_return(() => invoke($0, `as-block-mid`, [0]), [value("i32", 1)]);
+
+// ./test/core/local_tee.wast:292
+assert_return(() => invoke($0, `as-block-last`, [0]), [value("i32", 1)]);
+
+// ./test/core/local_tee.wast:294
+assert_return(() => invoke($0, `as-loop-first`, [0]), [value("i32", 3)]);
+
+// ./test/core/local_tee.wast:295
+assert_return(() => invoke($0, `as-loop-mid`, [0]), [value("i32", 4)]);
+
+// ./test/core/local_tee.wast:296
+assert_return(() => invoke($0, `as-loop-last`, [0]), [value("i32", 5)]);
+
+// ./test/core/local_tee.wast:298
+assert_return(() => invoke($0, `as-br-value`, [0]), [value("i32", 9)]);
+
+// ./test/core/local_tee.wast:300
+assert_return(() => invoke($0, `as-br_if-cond`, [0]), []);
+
+// ./test/core/local_tee.wast:301
+assert_return(() => invoke($0, `as-br_if-value`, [0]), [value("i32", 8)]);
+
+// ./test/core/local_tee.wast:302
+assert_return(() => invoke($0, `as-br_if-value-cond`, [0]), [value("i32", 6)]);
+
+// ./test/core/local_tee.wast:304
+assert_return(() => invoke($0, `as-br_table-index`, [0]), []);
+
+// ./test/core/local_tee.wast:305
+assert_return(() => invoke($0, `as-br_table-value`, [0]), [value("i32", 10)]);
+
+// ./test/core/local_tee.wast:306
+assert_return(() => invoke($0, `as-br_table-value-index`, [0]), [value("i32", 6)]);
+
+// ./test/core/local_tee.wast:308
+assert_return(() => invoke($0, `as-return-value`, [0]), [value("i32", 7)]);
+
+// ./test/core/local_tee.wast:310
+assert_return(() => invoke($0, `as-if-cond`, [0]), [value("i32", 0)]);
+
+// ./test/core/local_tee.wast:311
+assert_return(() => invoke($0, `as-if-then`, [1]), [value("i32", 3)]);
+
+// ./test/core/local_tee.wast:312
+assert_return(() => invoke($0, `as-if-else`, [0]), [value("i32", 4)]);
+
+// ./test/core/local_tee.wast:314
+assert_return(() => invoke($0, `as-select-first`, [0, 1]), [value("i32", 5)]);
+
+// ./test/core/local_tee.wast:315
+assert_return(() => invoke($0, `as-select-second`, [0, 0]), [value("i32", 6)]);
+
+// ./test/core/local_tee.wast:316
+assert_return(() => invoke($0, `as-select-cond`, [0]), [value("i32", 0)]);
+
+// ./test/core/local_tee.wast:318
+assert_return(() => invoke($0, `as-call-first`, [0]), [value("i32", -1)]);
+
+// ./test/core/local_tee.wast:319
+assert_return(() => invoke($0, `as-call-mid`, [0]), [value("i32", -1)]);
+
+// ./test/core/local_tee.wast:320
+assert_return(() => invoke($0, `as-call-last`, [0]), [value("i32", -1)]);
+
+// ./test/core/local_tee.wast:322
+assert_return(() => invoke($0, `as-call_indirect-first`, [0]), [value("i32", -1)]);
+
+// ./test/core/local_tee.wast:323
+assert_return(() => invoke($0, `as-call_indirect-mid`, [0]), [value("i32", -1)]);
+
+// ./test/core/local_tee.wast:324
+assert_return(() => invoke($0, `as-call_indirect-last`, [0]), [value("i32", -1)]);
+
+// ./test/core/local_tee.wast:325
+assert_return(() => invoke($0, `as-call_indirect-index`, [0]), [value("i32", -1)]);
+
+// ./test/core/local_tee.wast:327
+assert_return(() => invoke($0, `as-local.set-value`, []), []);
+
+// ./test/core/local_tee.wast:328
+assert_return(() => invoke($0, `as-local.tee-value`, [0]), [value("i32", 1)]);
+
+// ./test/core/local_tee.wast:329
+assert_return(() => invoke($0, `as-global.set-value`, []), []);
+
+// ./test/core/local_tee.wast:331
+assert_return(() => invoke($0, `as-load-address`, [0]), [value("i32", 0)]);
+
+// ./test/core/local_tee.wast:332
+assert_return(() => invoke($0, `as-loadN-address`, [0]), [value("i32", 0)]);
+
+// ./test/core/local_tee.wast:333
+assert_return(() => invoke($0, `as-store-address`, [0]), []);
+
+// ./test/core/local_tee.wast:334
+assert_return(() => invoke($0, `as-store-value`, [0]), []);
+
+// ./test/core/local_tee.wast:335
+assert_return(() => invoke($0, `as-storeN-address`, [0]), []);
+
+// ./test/core/local_tee.wast:336
+assert_return(() => invoke($0, `as-storeN-value`, [0]), []);
+
+// ./test/core/local_tee.wast:338
+assert_return(
+ () => invoke($0, `as-unary-operand`, [value("f32", 0)]),
+ [bytes("f32", [0xe2, 0xf1, 0x80, 0xff])],
+);
+
+// ./test/core/local_tee.wast:339
+assert_return(() => invoke($0, `as-binary-left`, [0]), [value("i32", 13)]);
+
+// ./test/core/local_tee.wast:340
+assert_return(() => invoke($0, `as-binary-right`, [0]), [value("i32", 6)]);
+
+// ./test/core/local_tee.wast:341
+assert_return(() => invoke($0, `as-test-operand`, [0]), [value("i32", 1)]);
+
+// ./test/core/local_tee.wast:342
+assert_return(() => invoke($0, `as-compare-left`, [0]), [value("i32", 0)]);
+
+// ./test/core/local_tee.wast:343
+assert_return(() => invoke($0, `as-compare-right`, [0]), [value("i32", 1)]);
+
+// ./test/core/local_tee.wast:344
+assert_return(() => invoke($0, `as-convert-operand`, [0n]), [value("i32", 41)]);
+
+// ./test/core/local_tee.wast:345
+assert_return(() => invoke($0, `as-memory.grow-size`, [0]), [value("i32", 1)]);
+
+// ./test/core/local_tee.wast:347
+assert_return(() => invoke($0, `type-mixed`, [1n, value("f32", 2.2), value("f64", 3.3), 4, 5]), []);
+
+// ./test/core/local_tee.wast:353
+assert_return(
+ () => invoke($0, `write`, [1n, value("f32", 2), value("f64", 3.3), 4, 5]),
+ [value("i64", 56n)],
+);
+
+// ./test/core/local_tee.wast:360
+assert_return(
+ () => invoke($0, `result`, [-1n, value("f32", -2), value("f64", -3.3), -4, -5]),
+ [value("f64", 34.8)],
+);
+
+// ./test/core/local_tee.wast:370
+assert_invalid(
+ () => instantiate(`(module (func $$type-local-num-vs-num (result i64) (local i32) (local.tee 0 (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/local_tee.wast:374
+assert_invalid(
+ () => instantiate(`(module (func $$type-local-num-vs-num (local f32) (i32.eqz (local.tee 0 (f32.const 0)))))`),
+ `type mismatch`,
+);
+
+// ./test/core/local_tee.wast:378
+assert_invalid(
+ () => instantiate(`(module (func $$type-local-num-vs-num (local f64 i64) (f64.neg (local.tee 1 (i64.const 0)))))`),
+ `type mismatch`,
+);
+
+// ./test/core/local_tee.wast:383
+assert_invalid(
+ () => instantiate(`(module (func $$type-local-arg-void-vs-num (local i32) (local.tee 0 (nop))))`),
+ `type mismatch`,
+);
+
+// ./test/core/local_tee.wast:387
+assert_invalid(
+ () => instantiate(`(module (func $$type-local-arg-num-vs-num (local i32) (local.tee 0 (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/local_tee.wast:391
+assert_invalid(
+ () => instantiate(`(module (func $$type-local-arg-num-vs-num (local f32) (local.tee 0 (f64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/local_tee.wast:395
+assert_invalid(
+ () => instantiate(`(module (func $$type-local-arg-num-vs-num (local f64 i64) (local.tee 1 (f64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/local_tee.wast:403
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-num-vs-num (param i32) (result i64) (local.get 0)))`),
+ `type mismatch`,
+);
+
+// ./test/core/local_tee.wast:407
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-num-vs-num (param f32) (i32.eqz (local.get 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/local_tee.wast:411
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-num-vs-num (param f64 i64) (f64.neg (local.get 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/local_tee.wast:416
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-arg-void-vs-num (param i32) (local.tee 0 (nop))))`),
+ `type mismatch`,
+);
+
+// ./test/core/local_tee.wast:420
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-arg-num-vs-num (param i32) (local.tee 0 (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/local_tee.wast:424
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-arg-num-vs-num (param f32) (local.tee 0 (f64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/local_tee.wast:428
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-arg-num-vs-num (param f64 i64) (local.tee 1 (f64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/local_tee.wast:433
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-param-arg-empty-vs-num (param i32)
+ (local.tee 0) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/local_tee.wast:441
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-param-arg-empty-vs-num-in-block (param i32)
+ (i32.const 0)
+ (block (local.tee 0) (drop))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/local_tee.wast:450
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-param-arg-empty-vs-num-in-loop (param i32)
+ (i32.const 0)
+ (loop (local.tee 0) (drop))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/local_tee.wast:459
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-param-arg-empty-vs-num-in-then (param i32)
+ (i32.const 0) (i32.const 0)
+ (if (then (local.tee 0) (drop)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/local_tee.wast:468
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-param-arg-empty-vs-num-in-else (param i32)
+ (i32.const 0) (i32.const 0)
+ (if (result i32) (then (i32.const 0)) (else (local.tee 0))) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/local_tee.wast:477
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-param-arg-empty-vs-num-in-br (param i32)
+ (i32.const 0)
+ (block (br 0 (local.tee 0)) (drop))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/local_tee.wast:486
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-param-arg-empty-vs-num-in-br_if (param i32)
+ (i32.const 0)
+ (block (br_if 0 (local.tee 0) (i32.const 1)) (drop))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/local_tee.wast:495
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-param-arg-empty-vs-num-in-br_table (param i32)
+ (i32.const 0)
+ (block (br_table 0 (local.tee 0)) (drop))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/local_tee.wast:504
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-param-arg-empty-vs-num-in-return (param i32)
+ (return (local.tee 0)) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/local_tee.wast:512
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-param-arg-empty-vs-num-in-select (param i32)
+ (select (local.tee 0) (i32.const 1) (i32.const 2)) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/local_tee.wast:520
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-param-arg-empty-vs-num-in-call (param i32)
+ (call 1 (local.tee 0)) (drop)
+ )
+ (func (param i32) (result i32) (local.get 0))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/local_tee.wast:529
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f (param i32) (result i32) (local.get 0))
+ (type $$sig (func (param i32) (result i32)))
+ (table funcref (elem $$f))
+ (func $$type-param-arg-empty-vs-num-in-call_indirect (param i32)
+ (block (result i32)
+ (call_indirect (type $$sig)
+ (local.tee 0) (i32.const 0)
+ )
+ (drop)
+ )
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/local_tee.wast:545
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-param-arg-empty-vs-num-in-local.set (param i32)
+ (local.set 0 (local.tee 0)) (local.get 0) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/local_tee.wast:553
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-param-arg-empty-vs-num-in-local.tee (param i32)
+ (local.tee 0 (local.tee 0)) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/local_tee.wast:561
+assert_invalid(
+ () => instantiate(`(module
+ (global $$x (mut i32) (i32.const 0))
+ (func $$type-param-arg-empty-vs-num-in-global.set (param i32)
+ (global.set $$x (local.tee 0)) (global.get $$x) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/local_tee.wast:570
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (func $$type-param-arg-empty-vs-num-in-memory.grow (param i32)
+ (memory.grow (local.tee 0)) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/local_tee.wast:579
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (func $$type-param-arg-empty-vs-num-in-load (param i32)
+ (i32.load (local.tee 0)) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/local_tee.wast:588
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-param-arg-empty-vs-num-in-store (param i32)
+ (i32.store (local.tee 0) (i32.const 1))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/local_tee.wast:598
+assert_invalid(
+ () => instantiate(`(module (func $$type-mixed-arg-num-vs-num (param f32) (local i32) (local.tee 1 (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/local_tee.wast:602
+assert_invalid(
+ () => instantiate(`(module (func $$type-mixed-arg-num-vs-num (param i64 i32) (local f32) (local.tee 1 (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/local_tee.wast:606
+assert_invalid(
+ () => instantiate(`(module (func $$type-mixed-arg-num-vs-num (param i64) (local f64 i64) (local.tee 1 (i64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/local_tee.wast:614
+assert_invalid(
+ () => instantiate(`(module (func $$unbound-local (local i32 i64) (local.tee 3 (i32.const 0)) drop))`),
+ `unknown local`,
+);
+
+// ./test/core/local_tee.wast:618
+assert_invalid(
+ () => instantiate(`(module (func $$large-local (local i32 i64) (local.tee 14324343 (i32.const 0)) drop))`),
+ `unknown local`,
+);
+
+// ./test/core/local_tee.wast:623
+assert_invalid(
+ () => instantiate(`(module (func $$unbound-param (param i32 i64) (local.tee 2 (i32.const 0)) drop))`),
+ `unknown local`,
+);
+
+// ./test/core/local_tee.wast:627
+assert_invalid(
+ () => instantiate(`(module (func $$large-param (param i32 i64) (local.tee 714324343 (i32.const 0)) drop))`),
+ `unknown local`,
+);
+
+// ./test/core/local_tee.wast:632
+assert_invalid(
+ () => instantiate(`(module (func $$unbound-mixed (param i32) (local i32 i64) (local.tee 3 (i32.const 0)) drop))`),
+ `unknown local`,
+);
+
+// ./test/core/local_tee.wast:636
+assert_invalid(
+ () => instantiate(`(module (func $$large-mixed (param i64) (local i32 i64) (local.tee 214324343 (i32.const 0)) drop))`),
+ `unknown local`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/loop.wast.js b/js/src/jit-test/tests/wasm/spec/spec/loop.wast.js
new file mode 100644
index 0000000000..d00d9d4a6e
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/loop.wast.js
@@ -0,0 +1,986 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/loop.wast
+
+// ./test/core/loop.wast:3
+let $0 = instantiate(`(module
+ (memory 1)
+
+ (func $$dummy)
+
+ (func (export "empty")
+ (loop)
+ (loop $$l)
+ )
+
+ (func (export "singular") (result i32)
+ (loop (nop))
+ (loop (result i32) (i32.const 7))
+ )
+
+ (func (export "multi") (result i32)
+ (loop (call $$dummy) (call $$dummy) (call $$dummy) (call $$dummy))
+ (loop (result i32) (call $$dummy) (call $$dummy) (i32.const 8) (call $$dummy))
+ (drop)
+ (loop (result i32 i64 i32)
+ (call $$dummy) (call $$dummy) (call $$dummy) (i32.const 8) (call $$dummy)
+ (call $$dummy) (call $$dummy) (call $$dummy) (i64.const 7) (call $$dummy)
+ (call $$dummy) (call $$dummy) (call $$dummy) (i32.const 9) (call $$dummy)
+ )
+ (drop) (drop)
+ )
+
+ (func (export "nested") (result i32)
+ (loop (result i32)
+ (loop (call $$dummy) (block) (nop))
+ (loop (result i32) (call $$dummy) (i32.const 9))
+ )
+ )
+
+ (func (export "deep") (result i32)
+ (loop (result i32) (block (result i32)
+ (loop (result i32) (block (result i32)
+ (loop (result i32) (block (result i32)
+ (loop (result i32) (block (result i32)
+ (loop (result i32) (block (result i32)
+ (loop (result i32) (block (result i32)
+ (loop (result i32) (block (result i32)
+ (loop (result i32) (block (result i32)
+ (loop (result i32) (block (result i32)
+ (loop (result i32) (block (result i32)
+ (loop (result i32) (block (result i32)
+ (loop (result i32) (block (result i32)
+ (loop (result i32) (block (result i32)
+ (loop (result i32) (block (result i32)
+ (loop (result i32) (block (result i32)
+ (loop (result i32) (block (result i32)
+ (loop (result i32) (block (result i32)
+ (loop (result i32) (block (result i32)
+ (loop (result i32) (block (result i32)
+ (loop (result i32) (block (result i32)
+ (call $$dummy) (i32.const 150)
+ ))
+ ))
+ ))
+ ))
+ ))
+ ))
+ ))
+ ))
+ ))
+ ))
+ ))
+ ))
+ ))
+ ))
+ ))
+ ))
+ ))
+ ))
+ ))
+ ))
+ )
+
+ (func (export "as-select-first") (result i32)
+ (select (loop (result i32) (i32.const 1)) (i32.const 2) (i32.const 3))
+ )
+ (func (export "as-select-mid") (result i32)
+ (select (i32.const 2) (loop (result i32) (i32.const 1)) (i32.const 3))
+ )
+ (func (export "as-select-last") (result i32)
+ (select (i32.const 2) (i32.const 3) (loop (result i32) (i32.const 1)))
+ )
+
+ (func (export "as-if-condition")
+ (loop (result i32) (i32.const 1)) (if (then (call $$dummy)))
+ )
+ (func (export "as-if-then") (result i32)
+ (if (result i32) (i32.const 1) (then (loop (result i32) (i32.const 1))) (else (i32.const 2)))
+ )
+ (func (export "as-if-else") (result i32)
+ (if (result i32) (i32.const 1) (then (i32.const 2)) (else (loop (result i32) (i32.const 1))))
+ )
+
+ (func (export "as-br_if-first") (result i32)
+ (block (result i32) (br_if 0 (loop (result i32) (i32.const 1)) (i32.const 2)))
+ )
+ (func (export "as-br_if-last") (result i32)
+ (block (result i32) (br_if 0 (i32.const 2) (loop (result i32) (i32.const 1))))
+ )
+
+ (func (export "as-br_table-first") (result i32)
+ (block (result i32) (loop (result i32) (i32.const 1)) (i32.const 2) (br_table 0 0))
+ )
+ (func (export "as-br_table-last") (result i32)
+ (block (result i32) (i32.const 2) (loop (result i32) (i32.const 1)) (br_table 0 0))
+ )
+
+ (func $$func (param i32 i32) (result i32) (local.get 0))
+ (type $$check (func (param i32 i32) (result i32)))
+ (table funcref (elem $$func))
+ (func (export "as-call_indirect-first") (result i32)
+ (block (result i32)
+ (call_indirect (type $$check)
+ (loop (result i32) (i32.const 1)) (i32.const 2) (i32.const 0)
+ )
+ )
+ )
+ (func (export "as-call_indirect-mid") (result i32)
+ (block (result i32)
+ (call_indirect (type $$check)
+ (i32.const 2) (loop (result i32) (i32.const 1)) (i32.const 0)
+ )
+ )
+ )
+ (func (export "as-call_indirect-last") (result i32)
+ (block (result i32)
+ (call_indirect (type $$check)
+ (i32.const 1) (i32.const 2) (loop (result i32) (i32.const 0))
+ )
+ )
+ )
+
+ (func (export "as-store-first")
+ (loop (result i32) (i32.const 1)) (i32.const 1) (i32.store)
+ )
+ (func (export "as-store-last")
+ (i32.const 10) (loop (result i32) (i32.const 1)) (i32.store)
+ )
+
+ (func (export "as-memory.grow-value") (result i32)
+ (memory.grow (loop (result i32) (i32.const 1)))
+ )
+
+ (func $$f (param i32) (result i32) (local.get 0))
+
+ (func (export "as-call-value") (result i32)
+ (call $$f (loop (result i32) (i32.const 1)))
+ )
+ (func (export "as-return-value") (result i32)
+ (loop (result i32) (i32.const 1)) (return)
+ )
+ (func (export "as-drop-operand")
+ (drop (loop (result i32) (i32.const 1)))
+ )
+ (func (export "as-br-value") (result i32)
+ (block (result i32) (br 0 (loop (result i32) (i32.const 1))))
+ )
+ (func (export "as-local.set-value") (result i32)
+ (local i32) (local.set 0 (loop (result i32) (i32.const 1))) (local.get 0)
+ )
+ (func (export "as-local.tee-value") (result i32)
+ (local i32) (local.tee 0 (loop (result i32) (i32.const 1)))
+ )
+ (global $$a (mut i32) (i32.const 0))
+ (func (export "as-global.set-value") (result i32)
+ (global.set $$a (loop (result i32) (i32.const 1)))
+ (global.get $$a)
+ )
+ (func (export "as-load-operand") (result i32)
+ (i32.load (loop (result i32) (i32.const 1)))
+ )
+
+ (func (export "as-unary-operand") (result i32)
+ (i32.ctz (loop (result i32) (call $$dummy) (i32.const 13)))
+ )
+ (func (export "as-binary-operand") (result i32)
+ (i32.mul
+ (loop (result i32) (call $$dummy) (i32.const 3))
+ (loop (result i32) (call $$dummy) (i32.const 4))
+ )
+ )
+ (func (export "as-test-operand") (result i32)
+ (i32.eqz (loop (result i32) (call $$dummy) (i32.const 13)))
+ )
+ (func (export "as-compare-operand") (result i32)
+ (f32.gt
+ (loop (result f32) (call $$dummy) (f32.const 3))
+ (loop (result f32) (call $$dummy) (f32.const 3))
+ )
+ )
+ (func (export "as-binary-operands") (result i32)
+ (i32.mul
+ (loop (result i32 i32)
+ (call $$dummy) (i32.const 3) (call $$dummy) (i32.const 4)
+ )
+ )
+ )
+ (func (export "as-compare-operands") (result i32)
+ (f32.gt
+ (loop (result f32 f32)
+ (call $$dummy) (f32.const 3) (call $$dummy) (f32.const 3)
+ )
+ )
+ )
+ (func (export "as-mixed-operands") (result i32)
+ (loop (result i32 i32)
+ (call $$dummy) (i32.const 3) (call $$dummy) (i32.const 4)
+ )
+ (i32.const 5)
+ (i32.add)
+ (i32.mul)
+ )
+
+ (func (export "break-bare") (result i32)
+ (block (loop (br 1) (br 0) (unreachable)))
+ (block (loop (br_if 1 (i32.const 1)) (unreachable)))
+ (block (loop (br_table 1 (i32.const 0)) (unreachable)))
+ (block (loop (br_table 1 1 1 (i32.const 1)) (unreachable)))
+ (i32.const 19)
+ )
+ (func (export "break-value") (result i32)
+ (block (result i32)
+ (i32.const 0)
+ (loop (param i32)
+ (block (br 2 (i32.const 18)))
+ (br 0 (i32.const 20))
+ )
+ (i32.const 19)
+ )
+ )
+ (func (export "break-multi-value") (result i32 i32 i64)
+ (block (result i32 i32 i64)
+ (i32.const 0) (i32.const 0) (i64.const 0)
+ (loop (param i32 i32 i64)
+ (block (br 2 (i32.const 18) (i32.const -18) (i64.const 18)))
+ (br 0 (i32.const 20) (i32.const -20) (i64.const 20))
+ )
+ (i32.const 19) (i32.const -19) (i64.const 19)
+ )
+ )
+ (func (export "break-repeated") (result i32)
+ (block (result i32)
+ (loop (result i32)
+ (br 1 (i32.const 18))
+ (br 1 (i32.const 19))
+ (drop (br_if 1 (i32.const 20) (i32.const 0)))
+ (drop (br_if 1 (i32.const 20) (i32.const 1)))
+ (br 1 (i32.const 21))
+ (br_table 1 (i32.const 22) (i32.const 0))
+ (br_table 1 1 1 (i32.const 23) (i32.const 1))
+ (i32.const 21)
+ )
+ )
+ )
+ (func (export "break-inner") (result i32)
+ (local i32)
+ (local.set 0 (i32.const 0))
+ (local.set 0 (i32.add (local.get 0) (block (result i32) (loop (result i32) (block (result i32) (br 2 (i32.const 0x1)))))))
+ (local.set 0 (i32.add (local.get 0) (block (result i32) (loop (result i32) (loop (result i32) (br 2 (i32.const 0x2)))))))
+ (local.set 0 (i32.add (local.get 0) (block (result i32) (loop (result i32) (block (result i32) (loop (result i32) (br 1 (i32.const 0x4))))))))
+ (local.set 0 (i32.add (local.get 0) (block (result i32) (loop (result i32) (i32.ctz (br 1 (i32.const 0x8)))))))
+ (local.set 0 (i32.add (local.get 0) (block (result i32) (loop (result i32) (i32.ctz (loop (result i32) (br 2 (i32.const 0x10))))))))
+ (local.get 0)
+ )
+ (func (export "cont-inner") (result i32)
+ (local i32)
+ (local.set 0 (i32.const 0))
+ (local.set 0 (i32.add (local.get 0) (loop (result i32) (loop (result i32) (br 1)))))
+ (local.set 0 (i32.add (local.get 0) (loop (result i32) (i32.ctz (br 0)))))
+ (local.set 0 (i32.add (local.get 0) (loop (result i32) (i32.ctz (loop (result i32) (br 1))))))
+ (local.get 0)
+ )
+
+ (func (export "param") (result i32)
+ (i32.const 1)
+ (loop (param i32) (result i32)
+ (i32.const 2)
+ (i32.add)
+ )
+ )
+ (func (export "params") (result i32)
+ (i32.const 1)
+ (i32.const 2)
+ (loop (param i32 i32) (result i32)
+ (i32.add)
+ )
+ )
+ (func (export "params-id") (result i32)
+ (i32.const 1)
+ (i32.const 2)
+ (loop (param i32 i32) (result i32 i32))
+ (i32.add)
+ )
+ (func (export "param-break") (result i32)
+ (local $$x i32)
+ (i32.const 1)
+ (loop (param i32) (result i32)
+ (i32.const 4)
+ (i32.add)
+ (local.tee $$x)
+ (local.get $$x)
+ (i32.const 10)
+ (i32.lt_u)
+ (br_if 0)
+ )
+ )
+ (func (export "params-break") (result i32)
+ (local $$x i32)
+ (i32.const 1)
+ (i32.const 2)
+ (loop (param i32 i32) (result i32)
+ (i32.add)
+ (local.tee $$x)
+ (i32.const 3)
+ (local.get $$x)
+ (i32.const 10)
+ (i32.lt_u)
+ (br_if 0)
+ (drop)
+ )
+ )
+ (func (export "params-id-break") (result i32)
+ (local $$x i32)
+ (local.set $$x (i32.const 0))
+ (i32.const 1)
+ (i32.const 2)
+ (loop (param i32 i32) (result i32 i32)
+ (local.set $$x (i32.add (local.get $$x) (i32.const 1)))
+ (br_if 0 (i32.lt_u (local.get $$x) (i32.const 10)))
+ )
+ (i32.add)
+ )
+
+ (func $$fx (export "effects") (result i32)
+ (local i32)
+ (block
+ (loop
+ (local.set 0 (i32.const 1))
+ (local.set 0 (i32.mul (local.get 0) (i32.const 3)))
+ (local.set 0 (i32.sub (local.get 0) (i32.const 5)))
+ (local.set 0 (i32.mul (local.get 0) (i32.const 7)))
+ (br 1)
+ (local.set 0 (i32.mul (local.get 0) (i32.const 100)))
+ )
+ )
+ (i32.eq (local.get 0) (i32.const -14))
+ )
+
+ (func (export "while") (param i64) (result i64)
+ (local i64)
+ (local.set 1 (i64.const 1))
+ (block
+ (loop
+ (br_if 1 (i64.eqz (local.get 0)))
+ (local.set 1 (i64.mul (local.get 0) (local.get 1)))
+ (local.set 0 (i64.sub (local.get 0) (i64.const 1)))
+ (br 0)
+ )
+ )
+ (local.get 1)
+ )
+
+ (func (export "for") (param i64) (result i64)
+ (local i64 i64)
+ (local.set 1 (i64.const 1))
+ (local.set 2 (i64.const 2))
+ (block
+ (loop
+ (br_if 1 (i64.gt_u (local.get 2) (local.get 0)))
+ (local.set 1 (i64.mul (local.get 1) (local.get 2)))
+ (local.set 2 (i64.add (local.get 2) (i64.const 1)))
+ (br 0)
+ )
+ )
+ (local.get 1)
+ )
+
+ (func (export "nesting") (param f32 f32) (result f32)
+ (local f32 f32)
+ (block
+ (loop
+ (br_if 1 (f32.eq (local.get 0) (f32.const 0)))
+ (local.set 2 (local.get 1))
+ (block
+ (loop
+ (br_if 1 (f32.eq (local.get 2) (f32.const 0)))
+ (br_if 3 (f32.lt (local.get 2) (f32.const 0)))
+ (local.set 3 (f32.add (local.get 3) (local.get 2)))
+ (local.set 2 (f32.sub (local.get 2) (f32.const 2)))
+ (br 0)
+ )
+ )
+ (local.set 3 (f32.div (local.get 3) (local.get 0)))
+ (local.set 0 (f32.sub (local.get 0) (f32.const 1)))
+ (br 0)
+ )
+ )
+ (local.get 3)
+ )
+
+ (type $$block-sig-1 (func))
+ (type $$block-sig-2 (func (result i32)))
+ (type $$block-sig-3 (func (param $$x i32)))
+ (type $$block-sig-4 (func (param i32 f64 i32) (result i32 f64 i32)))
+
+ (func (export "type-use")
+ (loop (type $$block-sig-1))
+ (loop (type $$block-sig-2) (i32.const 0))
+ (loop (type $$block-sig-3) (drop))
+ (i32.const 0) (f64.const 0) (i32.const 0)
+ (loop (type $$block-sig-4))
+ (drop) (drop) (drop)
+ (loop (type $$block-sig-2) (result i32) (i32.const 0))
+ (loop (type $$block-sig-3) (param i32) (drop))
+ (i32.const 0) (f64.const 0) (i32.const 0)
+ (loop (type $$block-sig-4)
+ (param i32) (param f64 i32) (result i32 f64) (result i32)
+ )
+ (drop) (drop) (drop)
+ )
+)`);
+
+// ./test/core/loop.wast:430
+assert_return(() => invoke($0, `empty`, []), []);
+
+// ./test/core/loop.wast:431
+assert_return(() => invoke($0, `singular`, []), [value("i32", 7)]);
+
+// ./test/core/loop.wast:432
+assert_return(() => invoke($0, `multi`, []), [value("i32", 8)]);
+
+// ./test/core/loop.wast:433
+assert_return(() => invoke($0, `nested`, []), [value("i32", 9)]);
+
+// ./test/core/loop.wast:434
+assert_return(() => invoke($0, `deep`, []), [value("i32", 150)]);
+
+// ./test/core/loop.wast:436
+assert_return(() => invoke($0, `as-select-first`, []), [value("i32", 1)]);
+
+// ./test/core/loop.wast:437
+assert_return(() => invoke($0, `as-select-mid`, []), [value("i32", 2)]);
+
+// ./test/core/loop.wast:438
+assert_return(() => invoke($0, `as-select-last`, []), [value("i32", 2)]);
+
+// ./test/core/loop.wast:440
+assert_return(() => invoke($0, `as-if-condition`, []), []);
+
+// ./test/core/loop.wast:441
+assert_return(() => invoke($0, `as-if-then`, []), [value("i32", 1)]);
+
+// ./test/core/loop.wast:442
+assert_return(() => invoke($0, `as-if-else`, []), [value("i32", 2)]);
+
+// ./test/core/loop.wast:444
+assert_return(() => invoke($0, `as-br_if-first`, []), [value("i32", 1)]);
+
+// ./test/core/loop.wast:445
+assert_return(() => invoke($0, `as-br_if-last`, []), [value("i32", 2)]);
+
+// ./test/core/loop.wast:447
+assert_return(() => invoke($0, `as-br_table-first`, []), [value("i32", 1)]);
+
+// ./test/core/loop.wast:448
+assert_return(() => invoke($0, `as-br_table-last`, []), [value("i32", 2)]);
+
+// ./test/core/loop.wast:450
+assert_return(() => invoke($0, `as-call_indirect-first`, []), [value("i32", 1)]);
+
+// ./test/core/loop.wast:451
+assert_return(() => invoke($0, `as-call_indirect-mid`, []), [value("i32", 2)]);
+
+// ./test/core/loop.wast:452
+assert_return(() => invoke($0, `as-call_indirect-last`, []), [value("i32", 1)]);
+
+// ./test/core/loop.wast:454
+assert_return(() => invoke($0, `as-store-first`, []), []);
+
+// ./test/core/loop.wast:455
+assert_return(() => invoke($0, `as-store-last`, []), []);
+
+// ./test/core/loop.wast:457
+assert_return(() => invoke($0, `as-memory.grow-value`, []), [value("i32", 1)]);
+
+// ./test/core/loop.wast:458
+assert_return(() => invoke($0, `as-call-value`, []), [value("i32", 1)]);
+
+// ./test/core/loop.wast:459
+assert_return(() => invoke($0, `as-return-value`, []), [value("i32", 1)]);
+
+// ./test/core/loop.wast:460
+assert_return(() => invoke($0, `as-drop-operand`, []), []);
+
+// ./test/core/loop.wast:461
+assert_return(() => invoke($0, `as-br-value`, []), [value("i32", 1)]);
+
+// ./test/core/loop.wast:462
+assert_return(() => invoke($0, `as-local.set-value`, []), [value("i32", 1)]);
+
+// ./test/core/loop.wast:463
+assert_return(() => invoke($0, `as-local.tee-value`, []), [value("i32", 1)]);
+
+// ./test/core/loop.wast:464
+assert_return(() => invoke($0, `as-global.set-value`, []), [value("i32", 1)]);
+
+// ./test/core/loop.wast:465
+assert_return(() => invoke($0, `as-load-operand`, []), [value("i32", 1)]);
+
+// ./test/core/loop.wast:467
+assert_return(() => invoke($0, `as-unary-operand`, []), [value("i32", 0)]);
+
+// ./test/core/loop.wast:468
+assert_return(() => invoke($0, `as-binary-operand`, []), [value("i32", 12)]);
+
+// ./test/core/loop.wast:469
+assert_return(() => invoke($0, `as-test-operand`, []), [value("i32", 0)]);
+
+// ./test/core/loop.wast:470
+assert_return(() => invoke($0, `as-compare-operand`, []), [value("i32", 0)]);
+
+// ./test/core/loop.wast:471
+assert_return(() => invoke($0, `as-binary-operands`, []), [value("i32", 12)]);
+
+// ./test/core/loop.wast:472
+assert_return(() => invoke($0, `as-compare-operands`, []), [value("i32", 0)]);
+
+// ./test/core/loop.wast:473
+assert_return(() => invoke($0, `as-mixed-operands`, []), [value("i32", 27)]);
+
+// ./test/core/loop.wast:475
+assert_return(() => invoke($0, `break-bare`, []), [value("i32", 19)]);
+
+// ./test/core/loop.wast:476
+assert_return(() => invoke($0, `break-value`, []), [value("i32", 18)]);
+
+// ./test/core/loop.wast:477
+assert_return(
+ () => invoke($0, `break-multi-value`, []),
+ [value("i32", 18), value("i32", -18), value("i64", 18n)],
+);
+
+// ./test/core/loop.wast:480
+assert_return(() => invoke($0, `break-repeated`, []), [value("i32", 18)]);
+
+// ./test/core/loop.wast:481
+assert_return(() => invoke($0, `break-inner`, []), [value("i32", 31)]);
+
+// ./test/core/loop.wast:483
+assert_return(() => invoke($0, `param`, []), [value("i32", 3)]);
+
+// ./test/core/loop.wast:484
+assert_return(() => invoke($0, `params`, []), [value("i32", 3)]);
+
+// ./test/core/loop.wast:485
+assert_return(() => invoke($0, `params-id`, []), [value("i32", 3)]);
+
+// ./test/core/loop.wast:486
+assert_return(() => invoke($0, `param-break`, []), [value("i32", 13)]);
+
+// ./test/core/loop.wast:487
+assert_return(() => invoke($0, `params-break`, []), [value("i32", 12)]);
+
+// ./test/core/loop.wast:488
+assert_return(() => invoke($0, `params-id-break`, []), [value("i32", 3)]);
+
+// ./test/core/loop.wast:490
+assert_return(() => invoke($0, `effects`, []), [value("i32", 1)]);
+
+// ./test/core/loop.wast:492
+assert_return(() => invoke($0, `while`, [0n]), [value("i64", 1n)]);
+
+// ./test/core/loop.wast:493
+assert_return(() => invoke($0, `while`, [1n]), [value("i64", 1n)]);
+
+// ./test/core/loop.wast:494
+assert_return(() => invoke($0, `while`, [2n]), [value("i64", 2n)]);
+
+// ./test/core/loop.wast:495
+assert_return(() => invoke($0, `while`, [3n]), [value("i64", 6n)]);
+
+// ./test/core/loop.wast:496
+assert_return(() => invoke($0, `while`, [5n]), [value("i64", 120n)]);
+
+// ./test/core/loop.wast:497
+assert_return(() => invoke($0, `while`, [20n]), [value("i64", 2432902008176640000n)]);
+
+// ./test/core/loop.wast:499
+assert_return(() => invoke($0, `for`, [0n]), [value("i64", 1n)]);
+
+// ./test/core/loop.wast:500
+assert_return(() => invoke($0, `for`, [1n]), [value("i64", 1n)]);
+
+// ./test/core/loop.wast:501
+assert_return(() => invoke($0, `for`, [2n]), [value("i64", 2n)]);
+
+// ./test/core/loop.wast:502
+assert_return(() => invoke($0, `for`, [3n]), [value("i64", 6n)]);
+
+// ./test/core/loop.wast:503
+assert_return(() => invoke($0, `for`, [5n]), [value("i64", 120n)]);
+
+// ./test/core/loop.wast:504
+assert_return(() => invoke($0, `for`, [20n]), [value("i64", 2432902008176640000n)]);
+
+// ./test/core/loop.wast:506
+assert_return(() => invoke($0, `nesting`, [value("f32", 0), value("f32", 7)]), [value("f32", 0)]);
+
+// ./test/core/loop.wast:507
+assert_return(() => invoke($0, `nesting`, [value("f32", 7), value("f32", 0)]), [value("f32", 0)]);
+
+// ./test/core/loop.wast:508
+assert_return(() => invoke($0, `nesting`, [value("f32", 1), value("f32", 1)]), [value("f32", 1)]);
+
+// ./test/core/loop.wast:509
+assert_return(() => invoke($0, `nesting`, [value("f32", 1), value("f32", 2)]), [value("f32", 2)]);
+
+// ./test/core/loop.wast:510
+assert_return(() => invoke($0, `nesting`, [value("f32", 1), value("f32", 3)]), [value("f32", 4)]);
+
+// ./test/core/loop.wast:511
+assert_return(() => invoke($0, `nesting`, [value("f32", 1), value("f32", 4)]), [value("f32", 6)]);
+
+// ./test/core/loop.wast:512
+assert_return(() => invoke($0, `nesting`, [value("f32", 1), value("f32", 100)]), [value("f32", 2550)]);
+
+// ./test/core/loop.wast:513
+assert_return(() => invoke($0, `nesting`, [value("f32", 1), value("f32", 101)]), [value("f32", 2601)]);
+
+// ./test/core/loop.wast:514
+assert_return(() => invoke($0, `nesting`, [value("f32", 2), value("f32", 1)]), [value("f32", 1)]);
+
+// ./test/core/loop.wast:515
+assert_return(() => invoke($0, `nesting`, [value("f32", 3), value("f32", 1)]), [value("f32", 1)]);
+
+// ./test/core/loop.wast:516
+assert_return(() => invoke($0, `nesting`, [value("f32", 10), value("f32", 1)]), [value("f32", 1)]);
+
+// ./test/core/loop.wast:517
+assert_return(() => invoke($0, `nesting`, [value("f32", 2), value("f32", 2)]), [value("f32", 3)]);
+
+// ./test/core/loop.wast:518
+assert_return(() => invoke($0, `nesting`, [value("f32", 2), value("f32", 3)]), [value("f32", 4)]);
+
+// ./test/core/loop.wast:519
+assert_return(
+ () => invoke($0, `nesting`, [value("f32", 7), value("f32", 4)]),
+ [value("f32", 10.309524)],
+);
+
+// ./test/core/loop.wast:520
+assert_return(
+ () => invoke($0, `nesting`, [value("f32", 7), value("f32", 100)]),
+ [value("f32", 4381.548)],
+);
+
+// ./test/core/loop.wast:521
+assert_return(() => invoke($0, `nesting`, [value("f32", 7), value("f32", 101)]), [value("f32", 2601)]);
+
+// ./test/core/loop.wast:523
+assert_return(() => invoke($0, `type-use`, []), []);
+
+// ./test/core/loop.wast:525
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (func (i32.const 0) (loop (type $$sig) (result i32) (param i32))) `),
+ `unexpected token`,
+);
+
+// ./test/core/loop.wast:532
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (func (i32.const 0) (loop (param i32) (type $$sig) (result i32))) `),
+ `unexpected token`,
+);
+
+// ./test/core/loop.wast:539
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (func (i32.const 0) (loop (param i32) (result i32) (type $$sig))) `),
+ `unexpected token`,
+);
+
+// ./test/core/loop.wast:546
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (func (i32.const 0) (loop (result i32) (type $$sig) (param i32))) `),
+ `unexpected token`,
+);
+
+// ./test/core/loop.wast:553
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (func (i32.const 0) (loop (result i32) (param i32) (type $$sig))) `),
+ `unexpected token`,
+);
+
+// ./test/core/loop.wast:560
+assert_malformed(
+ () => instantiate(`(func (i32.const 0) (loop (result i32) (param i32))) `),
+ `unexpected token`,
+);
+
+// ./test/core/loop.wast:567
+assert_malformed(
+ () => instantiate(`(func (i32.const 0) (loop (param $$x i32) (drop))) `),
+ `unexpected token`,
+);
+
+// ./test/core/loop.wast:571
+assert_malformed(
+ () => instantiate(`(type $$sig (func)) (func (loop (type $$sig) (result i32) (i32.const 0)) (unreachable)) `),
+ `inline function type`,
+);
+
+// ./test/core/loop.wast:578
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (func (loop (type $$sig) (result i32) (i32.const 0)) (unreachable)) `),
+ `inline function type`,
+);
+
+// ./test/core/loop.wast:585
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (func (i32.const 0) (loop (type $$sig) (param i32) (drop)) (unreachable)) `),
+ `inline function type`,
+);
+
+// ./test/core/loop.wast:592
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32 i32) (result i32))) (func (i32.const 0) (loop (type $$sig) (param i32) (result i32)) (unreachable)) `),
+ `inline function type`,
+);
+
+// ./test/core/loop.wast:600
+assert_invalid(
+ () => instantiate(`(module
+ (type $$sig (func))
+ (func (loop (type $$sig) (i32.const 0)))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/loop.wast:608
+assert_invalid(
+ () => instantiate(`(module (func $$type-empty-i32 (result i32) (loop)))`),
+ `type mismatch`,
+);
+
+// ./test/core/loop.wast:612
+assert_invalid(
+ () => instantiate(`(module (func $$type-empty-i64 (result i64) (loop)))`),
+ `type mismatch`,
+);
+
+// ./test/core/loop.wast:616
+assert_invalid(
+ () => instantiate(`(module (func $$type-empty-f32 (result f32) (loop)))`),
+ `type mismatch`,
+);
+
+// ./test/core/loop.wast:620
+assert_invalid(
+ () => instantiate(`(module (func $$type-empty-f64 (result f64) (loop)))`),
+ `type mismatch`,
+);
+
+// ./test/core/loop.wast:625
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-num-vs-void
+ (loop (i32.const 1))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/loop.wast:631
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-nums-vs-void
+ (loop (i32.const 1) (i32.const 2))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/loop.wast:637
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-empty-vs-num (result i32)
+ (loop (result i32))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/loop.wast:643
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-empty-vs-nums (result i32 i32)
+ (loop (result i32 i32))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/loop.wast:649
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-void-vs-num (result i32)
+ (loop (result i32) (nop))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/loop.wast:655
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-void-vs-nums (result i32 i32)
+ (loop (result i32 i32) (nop))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/loop.wast:661
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-num-vs-num (result i32)
+ (loop (result i32) (f32.const 0))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/loop.wast:667
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-num-vs-nums (result i32 i32)
+ (loop (result i32 i32) (i32.const 0))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/loop.wast:673
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-partial-vs-nums (result i32 i32)
+ (i32.const 1) (loop (result i32 i32) (i32.const 2))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/loop.wast:679
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-nums-vs-num (result i32)
+ (loop (result i32) (i32.const 1) (i32.const 2))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/loop.wast:685
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-unreached-select (result i32)
+ (loop (result i64) (select (unreachable) (unreachable) (unreachable)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/loop.wast:692
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-value-empty-in-block
+ (i32.const 0)
+ (block (loop (result i32)) (drop))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/loop.wast:701
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-value-empty-in-loop
+ (i32.const 0)
+ (loop (loop (result i32)) (drop))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/loop.wast:710
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-value-empty-in-then
+ (i32.const 0) (i32.const 0)
+ (if (then (loop (result i32)) (drop)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/loop.wast:720
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-void-vs-num
+ (loop (param i32) (drop))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/loop.wast:726
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-void-vs-nums
+ (loop (param i32 f64) (drop) (drop))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/loop.wast:732
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-num-vs-num
+ (f32.const 0) (loop (param i32) (drop))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/loop.wast:738
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-num-vs-nums
+ (f32.const 0) (loop (param f32 i32) (drop) (drop))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/loop.wast:744
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-nested-void-vs-num
+ (block (loop (param i32) (drop)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/loop.wast:750
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-void-vs-nums
+ (block (loop (param i32 f64) (drop) (drop)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/loop.wast:756
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-num-vs-num
+ (block (f32.const 0) (loop (param i32) (drop)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/loop.wast:762
+assert_invalid(
+ () => instantiate(`(module (func $$type-param-num-vs-nums
+ (block (f32.const 0) (loop (param f32 i32) (drop) (drop)))
+ ))`),
+ `type mismatch`,
+);
+
+// ./test/core/loop.wast:769
+assert_malformed(
+ () => instantiate(`(func (param i32) (result i32) loop (param $$x i32) end) `),
+ `unexpected token`,
+);
+
+// ./test/core/loop.wast:773
+assert_malformed(
+ () => instantiate(`(func (param i32) (result i32) (loop (param $$x i32))) `),
+ `unexpected token`,
+);
+
+// ./test/core/loop.wast:778
+assert_malformed(() => instantiate(`(func loop end $$l) `), `mismatching label`);
+
+// ./test/core/loop.wast:782
+assert_malformed(() => instantiate(`(func loop $$a end $$l) `), `mismatching label`);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/memory.wast.js b/js/src/jit-test/tests/wasm/spec/spec/memory.wast.js
new file mode 100644
index 0000000000..831bb26d69
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/memory.wast.js
@@ -0,0 +1,399 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/memory.wast
+
+// ./test/core/memory.wast:3
+let $0 = instantiate(`(module (memory 0))`);
+
+// ./test/core/memory.wast:4
+let $1 = instantiate(`(module (memory 1))`);
+
+// ./test/core/memory.wast:5
+let $2 = instantiate(`(module (memory 0 0))`);
+
+// ./test/core/memory.wast:6
+let $3 = instantiate(`(module (memory 0 1))`);
+
+// ./test/core/memory.wast:7
+let $4 = instantiate(`(module (memory 1 256))`);
+
+// ./test/core/memory.wast:8
+let $5 = instantiate(`(module (memory 0 65536))`);
+
+// ./test/core/memory.wast:10
+assert_invalid(() => instantiate(`(module (memory 0) (memory 0))`), `multiple memories`);
+
+// ./test/core/memory.wast:11
+assert_invalid(
+ () => instantiate(`(module (memory (import "spectest" "memory") 0) (memory 0))`),
+ `multiple memories`,
+);
+
+// ./test/core/memory.wast:13
+let $6 = instantiate(`(module (memory (data)) (func (export "memsize") (result i32) (memory.size)))`);
+
+// ./test/core/memory.wast:14
+assert_return(() => invoke($6, `memsize`, []), [value("i32", 0)]);
+
+// ./test/core/memory.wast:15
+let $7 = instantiate(`(module (memory (data "")) (func (export "memsize") (result i32) (memory.size)))`);
+
+// ./test/core/memory.wast:16
+assert_return(() => invoke($7, `memsize`, []), [value("i32", 0)]);
+
+// ./test/core/memory.wast:17
+let $8 = instantiate(`(module (memory (data "x")) (func (export "memsize") (result i32) (memory.size)))`);
+
+// ./test/core/memory.wast:18
+assert_return(() => invoke($8, `memsize`, []), [value("i32", 1)]);
+
+// ./test/core/memory.wast:20
+assert_invalid(() => instantiate(`(module (data (i32.const 0)))`), `unknown memory`);
+
+// ./test/core/memory.wast:21
+assert_invalid(() => instantiate(`(module (data (i32.const 0) ""))`), `unknown memory`);
+
+// ./test/core/memory.wast:22
+assert_invalid(() => instantiate(`(module (data (i32.const 0) "x"))`), `unknown memory`);
+
+// ./test/core/memory.wast:24
+assert_invalid(
+ () => instantiate(`(module (func (drop (f32.load (i32.const 0)))))`),
+ `unknown memory`,
+);
+
+// ./test/core/memory.wast:28
+assert_invalid(
+ () => instantiate(`(module (func (f32.store (i32.const 0) (f32.const 0))))`),
+ `unknown memory`,
+);
+
+// ./test/core/memory.wast:32
+assert_invalid(
+ () => instantiate(`(module (func (drop (i32.load8_s (i32.const 0)))))`),
+ `unknown memory`,
+);
+
+// ./test/core/memory.wast:36
+assert_invalid(
+ () => instantiate(`(module (func (i32.store8 (i32.const 0) (i32.const 0))))`),
+ `unknown memory`,
+);
+
+// ./test/core/memory.wast:40
+assert_invalid(
+ () => instantiate(`(module (func (drop (memory.size))))`),
+ `unknown memory`,
+);
+
+// ./test/core/memory.wast:44
+assert_invalid(
+ () => instantiate(`(module (func (drop (memory.grow (i32.const 0)))))`),
+ `unknown memory`,
+);
+
+// ./test/core/memory.wast:50
+assert_invalid(
+ () => instantiate(`(module (memory 1 0))`),
+ `size minimum must not be greater than maximum`,
+);
+
+// ./test/core/memory.wast:54
+assert_invalid(
+ () => instantiate(`(module (memory 65537))`),
+ `memory size must be at most 65536 pages (4GiB)`,
+);
+
+// ./test/core/memory.wast:58
+assert_invalid(
+ () => instantiate(`(module (memory 2147483648))`),
+ `memory size must be at most 65536 pages (4GiB)`,
+);
+
+// ./test/core/memory.wast:62
+assert_invalid(
+ () => instantiate(`(module (memory 4294967295))`),
+ `memory size must be at most 65536 pages (4GiB)`,
+);
+
+// ./test/core/memory.wast:66
+assert_invalid(
+ () => instantiate(`(module (memory 0 65537))`),
+ `memory size must be at most 65536 pages (4GiB)`,
+);
+
+// ./test/core/memory.wast:70
+assert_invalid(
+ () => instantiate(`(module (memory 0 2147483648))`),
+ `memory size must be at most 65536 pages (4GiB)`,
+);
+
+// ./test/core/memory.wast:74
+assert_invalid(
+ () => instantiate(`(module (memory 0 4294967295))`),
+ `memory size must be at most 65536 pages (4GiB)`,
+);
+
+// ./test/core/memory.wast:79
+assert_malformed(
+ () => instantiate(`(memory 0x1_0000_0000) `),
+ `i32 constant out of range`,
+);
+
+// ./test/core/memory.wast:83
+assert_malformed(
+ () => instantiate(`(memory 0x1_0000_0000 0x1_0000_0000) `),
+ `i32 constant out of range`,
+);
+
+// ./test/core/memory.wast:87
+assert_malformed(
+ () => instantiate(`(memory 0 0x1_0000_0000) `),
+ `i32 constant out of range`,
+);
+
+// ./test/core/memory.wast:92
+let $9 = instantiate(`(module
+ (memory 1)
+ (data (i32.const 0) "ABC\\a7D") (data (i32.const 20) "WASM")
+
+ ;; Data section
+ (func (export "data") (result i32)
+ (i32.and
+ (i32.and
+ (i32.and
+ (i32.eq (i32.load8_u (i32.const 0)) (i32.const 65))
+ (i32.eq (i32.load8_u (i32.const 3)) (i32.const 167))
+ )
+ (i32.and
+ (i32.eq (i32.load8_u (i32.const 6)) (i32.const 0))
+ (i32.eq (i32.load8_u (i32.const 19)) (i32.const 0))
+ )
+ )
+ (i32.and
+ (i32.and
+ (i32.eq (i32.load8_u (i32.const 20)) (i32.const 87))
+ (i32.eq (i32.load8_u (i32.const 23)) (i32.const 77))
+ )
+ (i32.and
+ (i32.eq (i32.load8_u (i32.const 24)) (i32.const 0))
+ (i32.eq (i32.load8_u (i32.const 1023)) (i32.const 0))
+ )
+ )
+ )
+ )
+
+ ;; Memory cast
+ (func (export "cast") (result f64)
+ (i64.store (i32.const 8) (i64.const -12345))
+ (if
+ (f64.eq
+ (f64.load (i32.const 8))
+ (f64.reinterpret_i64 (i64.const -12345))
+ )
+ (then (return (f64.const 0)))
+ )
+ (i64.store align=1 (i32.const 9) (i64.const 0))
+ (i32.store16 align=1 (i32.const 15) (i32.const 16453))
+ (f64.load align=1 (i32.const 9))
+ )
+
+ ;; Sign and zero extending memory loads
+ (func (export "i32_load8_s") (param $$i i32) (result i32)
+ (i32.store8 (i32.const 8) (local.get $$i))
+ (i32.load8_s (i32.const 8))
+ )
+ (func (export "i32_load8_u") (param $$i i32) (result i32)
+ (i32.store8 (i32.const 8) (local.get $$i))
+ (i32.load8_u (i32.const 8))
+ )
+ (func (export "i32_load16_s") (param $$i i32) (result i32)
+ (i32.store16 (i32.const 8) (local.get $$i))
+ (i32.load16_s (i32.const 8))
+ )
+ (func (export "i32_load16_u") (param $$i i32) (result i32)
+ (i32.store16 (i32.const 8) (local.get $$i))
+ (i32.load16_u (i32.const 8))
+ )
+ (func (export "i64_load8_s") (param $$i i64) (result i64)
+ (i64.store8 (i32.const 8) (local.get $$i))
+ (i64.load8_s (i32.const 8))
+ )
+ (func (export "i64_load8_u") (param $$i i64) (result i64)
+ (i64.store8 (i32.const 8) (local.get $$i))
+ (i64.load8_u (i32.const 8))
+ )
+ (func (export "i64_load16_s") (param $$i i64) (result i64)
+ (i64.store16 (i32.const 8) (local.get $$i))
+ (i64.load16_s (i32.const 8))
+ )
+ (func (export "i64_load16_u") (param $$i i64) (result i64)
+ (i64.store16 (i32.const 8) (local.get $$i))
+ (i64.load16_u (i32.const 8))
+ )
+ (func (export "i64_load32_s") (param $$i i64) (result i64)
+ (i64.store32 (i32.const 8) (local.get $$i))
+ (i64.load32_s (i32.const 8))
+ )
+ (func (export "i64_load32_u") (param $$i i64) (result i64)
+ (i64.store32 (i32.const 8) (local.get $$i))
+ (i64.load32_u (i32.const 8))
+ )
+)`);
+
+// ./test/core/memory.wast:180
+assert_return(() => invoke($9, `data`, []), [value("i32", 1)]);
+
+// ./test/core/memory.wast:181
+assert_return(() => invoke($9, `cast`, []), [value("f64", 42)]);
+
+// ./test/core/memory.wast:183
+assert_return(() => invoke($9, `i32_load8_s`, [-1]), [value("i32", -1)]);
+
+// ./test/core/memory.wast:184
+assert_return(() => invoke($9, `i32_load8_u`, [-1]), [value("i32", 255)]);
+
+// ./test/core/memory.wast:185
+assert_return(() => invoke($9, `i32_load16_s`, [-1]), [value("i32", -1)]);
+
+// ./test/core/memory.wast:186
+assert_return(() => invoke($9, `i32_load16_u`, [-1]), [value("i32", 65535)]);
+
+// ./test/core/memory.wast:188
+assert_return(() => invoke($9, `i32_load8_s`, [100]), [value("i32", 100)]);
+
+// ./test/core/memory.wast:189
+assert_return(() => invoke($9, `i32_load8_u`, [200]), [value("i32", 200)]);
+
+// ./test/core/memory.wast:190
+assert_return(() => invoke($9, `i32_load16_s`, [20000]), [value("i32", 20000)]);
+
+// ./test/core/memory.wast:191
+assert_return(() => invoke($9, `i32_load16_u`, [40000]), [value("i32", 40000)]);
+
+// ./test/core/memory.wast:193
+assert_return(() => invoke($9, `i32_load8_s`, [-19110589]), [value("i32", 67)]);
+
+// ./test/core/memory.wast:194
+assert_return(() => invoke($9, `i32_load8_s`, [878104047]), [value("i32", -17)]);
+
+// ./test/core/memory.wast:195
+assert_return(() => invoke($9, `i32_load8_u`, [-19110589]), [value("i32", 67)]);
+
+// ./test/core/memory.wast:196
+assert_return(() => invoke($9, `i32_load8_u`, [878104047]), [value("i32", 239)]);
+
+// ./test/core/memory.wast:197
+assert_return(() => invoke($9, `i32_load16_s`, [-19110589]), [value("i32", 25923)]);
+
+// ./test/core/memory.wast:198
+assert_return(() => invoke($9, `i32_load16_s`, [878104047]), [value("i32", -12817)]);
+
+// ./test/core/memory.wast:199
+assert_return(() => invoke($9, `i32_load16_u`, [-19110589]), [value("i32", 25923)]);
+
+// ./test/core/memory.wast:200
+assert_return(() => invoke($9, `i32_load16_u`, [878104047]), [value("i32", 52719)]);
+
+// ./test/core/memory.wast:202
+assert_return(() => invoke($9, `i64_load8_s`, [-1n]), [value("i64", -1n)]);
+
+// ./test/core/memory.wast:203
+assert_return(() => invoke($9, `i64_load8_u`, [-1n]), [value("i64", 255n)]);
+
+// ./test/core/memory.wast:204
+assert_return(() => invoke($9, `i64_load16_s`, [-1n]), [value("i64", -1n)]);
+
+// ./test/core/memory.wast:205
+assert_return(() => invoke($9, `i64_load16_u`, [-1n]), [value("i64", 65535n)]);
+
+// ./test/core/memory.wast:206
+assert_return(() => invoke($9, `i64_load32_s`, [-1n]), [value("i64", -1n)]);
+
+// ./test/core/memory.wast:207
+assert_return(() => invoke($9, `i64_load32_u`, [-1n]), [value("i64", 4294967295n)]);
+
+// ./test/core/memory.wast:209
+assert_return(() => invoke($9, `i64_load8_s`, [100n]), [value("i64", 100n)]);
+
+// ./test/core/memory.wast:210
+assert_return(() => invoke($9, `i64_load8_u`, [200n]), [value("i64", 200n)]);
+
+// ./test/core/memory.wast:211
+assert_return(() => invoke($9, `i64_load16_s`, [20000n]), [value("i64", 20000n)]);
+
+// ./test/core/memory.wast:212
+assert_return(() => invoke($9, `i64_load16_u`, [40000n]), [value("i64", 40000n)]);
+
+// ./test/core/memory.wast:213
+assert_return(() => invoke($9, `i64_load32_s`, [20000n]), [value("i64", 20000n)]);
+
+// ./test/core/memory.wast:214
+assert_return(() => invoke($9, `i64_load32_u`, [40000n]), [value("i64", 40000n)]);
+
+// ./test/core/memory.wast:216
+assert_return(() => invoke($9, `i64_load8_s`, [-81985529755441853n]), [value("i64", 67n)]);
+
+// ./test/core/memory.wast:217
+assert_return(() => invoke($9, `i64_load8_s`, [3771275841602506223n]), [value("i64", -17n)]);
+
+// ./test/core/memory.wast:218
+assert_return(() => invoke($9, `i64_load8_u`, [-81985529755441853n]), [value("i64", 67n)]);
+
+// ./test/core/memory.wast:219
+assert_return(() => invoke($9, `i64_load8_u`, [3771275841602506223n]), [value("i64", 239n)]);
+
+// ./test/core/memory.wast:220
+assert_return(() => invoke($9, `i64_load16_s`, [-81985529755441853n]), [value("i64", 25923n)]);
+
+// ./test/core/memory.wast:221
+assert_return(() => invoke($9, `i64_load16_s`, [3771275841602506223n]), [value("i64", -12817n)]);
+
+// ./test/core/memory.wast:222
+assert_return(() => invoke($9, `i64_load16_u`, [-81985529755441853n]), [value("i64", 25923n)]);
+
+// ./test/core/memory.wast:223
+assert_return(() => invoke($9, `i64_load16_u`, [3771275841602506223n]), [value("i64", 52719n)]);
+
+// ./test/core/memory.wast:224
+assert_return(() => invoke($9, `i64_load32_s`, [-81985529755441853n]), [value("i64", 1446274371n)]);
+
+// ./test/core/memory.wast:225
+assert_return(() => invoke($9, `i64_load32_s`, [3771275841602506223n]), [value("i64", -1732588049n)]);
+
+// ./test/core/memory.wast:226
+assert_return(() => invoke($9, `i64_load32_u`, [-81985529755441853n]), [value("i64", 1446274371n)]);
+
+// ./test/core/memory.wast:227
+assert_return(() => invoke($9, `i64_load32_u`, [3771275841602506223n]), [value("i64", 2562379247n)]);
+
+// ./test/core/memory.wast:231
+assert_malformed(
+ () => instantiate(`(memory $$foo 1) (memory $$foo 1) `),
+ `duplicate memory`,
+);
+
+// ./test/core/memory.wast:235
+assert_malformed(
+ () => instantiate(`(import "" "" (memory $$foo 1)) (memory $$foo 1) `),
+ `duplicate memory`,
+);
+
+// ./test/core/memory.wast:239
+assert_malformed(
+ () => instantiate(`(import "" "" (memory $$foo 1)) (import "" "" (memory $$foo 1)) `),
+ `duplicate memory`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/memory_copy.wast.js b/js/src/jit-test/tests/wasm/spec/spec/memory_copy.wast.js
new file mode 100644
index 0000000000..dbd81aacd7
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/memory_copy.wast.js
@@ -0,0 +1,14165 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/memory_copy.wast
+
+// ./test/core/memory_copy.wast:6
+let $0 = instantiate(`(module
+ (memory (export "memory0") 1 1)
+ (data (i32.const 2) "\\03\\01\\04\\01")
+ (data (i32.const 12) "\\07\\05\\02\\03\\06")
+ (func (export "test")
+ (nop))
+ (func (export "load8_u") (param i32) (result i32)
+ (i32.load8_u (local.get 0))))`);
+
+// ./test/core/memory_copy.wast:15
+invoke($0, `test`, []);
+
+// ./test/core/memory_copy.wast:17
+assert_return(() => invoke($0, `load8_u`, [0]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:18
+assert_return(() => invoke($0, `load8_u`, [1]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:19
+assert_return(() => invoke($0, `load8_u`, [2]), [value("i32", 3)]);
+
+// ./test/core/memory_copy.wast:20
+assert_return(() => invoke($0, `load8_u`, [3]), [value("i32", 1)]);
+
+// ./test/core/memory_copy.wast:21
+assert_return(() => invoke($0, `load8_u`, [4]), [value("i32", 4)]);
+
+// ./test/core/memory_copy.wast:22
+assert_return(() => invoke($0, `load8_u`, [5]), [value("i32", 1)]);
+
+// ./test/core/memory_copy.wast:23
+assert_return(() => invoke($0, `load8_u`, [6]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:24
+assert_return(() => invoke($0, `load8_u`, [7]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:25
+assert_return(() => invoke($0, `load8_u`, [8]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:26
+assert_return(() => invoke($0, `load8_u`, [9]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:27
+assert_return(() => invoke($0, `load8_u`, [10]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:28
+assert_return(() => invoke($0, `load8_u`, [11]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:29
+assert_return(() => invoke($0, `load8_u`, [12]), [value("i32", 7)]);
+
+// ./test/core/memory_copy.wast:30
+assert_return(() => invoke($0, `load8_u`, [13]), [value("i32", 5)]);
+
+// ./test/core/memory_copy.wast:31
+assert_return(() => invoke($0, `load8_u`, [14]), [value("i32", 2)]);
+
+// ./test/core/memory_copy.wast:32
+assert_return(() => invoke($0, `load8_u`, [15]), [value("i32", 3)]);
+
+// ./test/core/memory_copy.wast:33
+assert_return(() => invoke($0, `load8_u`, [16]), [value("i32", 6)]);
+
+// ./test/core/memory_copy.wast:34
+assert_return(() => invoke($0, `load8_u`, [17]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:35
+assert_return(() => invoke($0, `load8_u`, [18]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:36
+assert_return(() => invoke($0, `load8_u`, [19]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:37
+assert_return(() => invoke($0, `load8_u`, [20]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:38
+assert_return(() => invoke($0, `load8_u`, [21]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:39
+assert_return(() => invoke($0, `load8_u`, [22]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:40
+assert_return(() => invoke($0, `load8_u`, [23]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:41
+assert_return(() => invoke($0, `load8_u`, [24]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:42
+assert_return(() => invoke($0, `load8_u`, [25]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:43
+assert_return(() => invoke($0, `load8_u`, [26]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:44
+assert_return(() => invoke($0, `load8_u`, [27]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:45
+assert_return(() => invoke($0, `load8_u`, [28]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:46
+assert_return(() => invoke($0, `load8_u`, [29]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:48
+let $1 = instantiate(`(module
+ (memory (export "memory0") 1 1)
+ (data (i32.const 2) "\\03\\01\\04\\01")
+ (data (i32.const 12) "\\07\\05\\02\\03\\06")
+ (func (export "test")
+ (memory.copy (i32.const 13) (i32.const 2) (i32.const 3)))
+ (func (export "load8_u") (param i32) (result i32)
+ (i32.load8_u (local.get 0))))`);
+
+// ./test/core/memory_copy.wast:57
+invoke($1, `test`, []);
+
+// ./test/core/memory_copy.wast:59
+assert_return(() => invoke($1, `load8_u`, [0]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:60
+assert_return(() => invoke($1, `load8_u`, [1]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:61
+assert_return(() => invoke($1, `load8_u`, [2]), [value("i32", 3)]);
+
+// ./test/core/memory_copy.wast:62
+assert_return(() => invoke($1, `load8_u`, [3]), [value("i32", 1)]);
+
+// ./test/core/memory_copy.wast:63
+assert_return(() => invoke($1, `load8_u`, [4]), [value("i32", 4)]);
+
+// ./test/core/memory_copy.wast:64
+assert_return(() => invoke($1, `load8_u`, [5]), [value("i32", 1)]);
+
+// ./test/core/memory_copy.wast:65
+assert_return(() => invoke($1, `load8_u`, [6]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:66
+assert_return(() => invoke($1, `load8_u`, [7]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:67
+assert_return(() => invoke($1, `load8_u`, [8]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:68
+assert_return(() => invoke($1, `load8_u`, [9]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:69
+assert_return(() => invoke($1, `load8_u`, [10]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:70
+assert_return(() => invoke($1, `load8_u`, [11]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:71
+assert_return(() => invoke($1, `load8_u`, [12]), [value("i32", 7)]);
+
+// ./test/core/memory_copy.wast:72
+assert_return(() => invoke($1, `load8_u`, [13]), [value("i32", 3)]);
+
+// ./test/core/memory_copy.wast:73
+assert_return(() => invoke($1, `load8_u`, [14]), [value("i32", 1)]);
+
+// ./test/core/memory_copy.wast:74
+assert_return(() => invoke($1, `load8_u`, [15]), [value("i32", 4)]);
+
+// ./test/core/memory_copy.wast:75
+assert_return(() => invoke($1, `load8_u`, [16]), [value("i32", 6)]);
+
+// ./test/core/memory_copy.wast:76
+assert_return(() => invoke($1, `load8_u`, [17]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:77
+assert_return(() => invoke($1, `load8_u`, [18]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:78
+assert_return(() => invoke($1, `load8_u`, [19]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:79
+assert_return(() => invoke($1, `load8_u`, [20]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:80
+assert_return(() => invoke($1, `load8_u`, [21]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:81
+assert_return(() => invoke($1, `load8_u`, [22]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:82
+assert_return(() => invoke($1, `load8_u`, [23]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:83
+assert_return(() => invoke($1, `load8_u`, [24]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:84
+assert_return(() => invoke($1, `load8_u`, [25]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:85
+assert_return(() => invoke($1, `load8_u`, [26]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:86
+assert_return(() => invoke($1, `load8_u`, [27]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:87
+assert_return(() => invoke($1, `load8_u`, [28]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:88
+assert_return(() => invoke($1, `load8_u`, [29]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:90
+let $2 = instantiate(`(module
+ (memory (export "memory0") 1 1)
+ (data (i32.const 2) "\\03\\01\\04\\01")
+ (data (i32.const 12) "\\07\\05\\02\\03\\06")
+ (func (export "test")
+ (memory.copy (i32.const 25) (i32.const 15) (i32.const 2)))
+ (func (export "load8_u") (param i32) (result i32)
+ (i32.load8_u (local.get 0))))`);
+
+// ./test/core/memory_copy.wast:99
+invoke($2, `test`, []);
+
+// ./test/core/memory_copy.wast:101
+assert_return(() => invoke($2, `load8_u`, [0]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:102
+assert_return(() => invoke($2, `load8_u`, [1]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:103
+assert_return(() => invoke($2, `load8_u`, [2]), [value("i32", 3)]);
+
+// ./test/core/memory_copy.wast:104
+assert_return(() => invoke($2, `load8_u`, [3]), [value("i32", 1)]);
+
+// ./test/core/memory_copy.wast:105
+assert_return(() => invoke($2, `load8_u`, [4]), [value("i32", 4)]);
+
+// ./test/core/memory_copy.wast:106
+assert_return(() => invoke($2, `load8_u`, [5]), [value("i32", 1)]);
+
+// ./test/core/memory_copy.wast:107
+assert_return(() => invoke($2, `load8_u`, [6]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:108
+assert_return(() => invoke($2, `load8_u`, [7]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:109
+assert_return(() => invoke($2, `load8_u`, [8]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:110
+assert_return(() => invoke($2, `load8_u`, [9]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:111
+assert_return(() => invoke($2, `load8_u`, [10]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:112
+assert_return(() => invoke($2, `load8_u`, [11]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:113
+assert_return(() => invoke($2, `load8_u`, [12]), [value("i32", 7)]);
+
+// ./test/core/memory_copy.wast:114
+assert_return(() => invoke($2, `load8_u`, [13]), [value("i32", 5)]);
+
+// ./test/core/memory_copy.wast:115
+assert_return(() => invoke($2, `load8_u`, [14]), [value("i32", 2)]);
+
+// ./test/core/memory_copy.wast:116
+assert_return(() => invoke($2, `load8_u`, [15]), [value("i32", 3)]);
+
+// ./test/core/memory_copy.wast:117
+assert_return(() => invoke($2, `load8_u`, [16]), [value("i32", 6)]);
+
+// ./test/core/memory_copy.wast:118
+assert_return(() => invoke($2, `load8_u`, [17]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:119
+assert_return(() => invoke($2, `load8_u`, [18]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:120
+assert_return(() => invoke($2, `load8_u`, [19]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:121
+assert_return(() => invoke($2, `load8_u`, [20]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:122
+assert_return(() => invoke($2, `load8_u`, [21]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:123
+assert_return(() => invoke($2, `load8_u`, [22]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:124
+assert_return(() => invoke($2, `load8_u`, [23]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:125
+assert_return(() => invoke($2, `load8_u`, [24]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:126
+assert_return(() => invoke($2, `load8_u`, [25]), [value("i32", 3)]);
+
+// ./test/core/memory_copy.wast:127
+assert_return(() => invoke($2, `load8_u`, [26]), [value("i32", 6)]);
+
+// ./test/core/memory_copy.wast:128
+assert_return(() => invoke($2, `load8_u`, [27]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:129
+assert_return(() => invoke($2, `load8_u`, [28]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:130
+assert_return(() => invoke($2, `load8_u`, [29]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:132
+let $3 = instantiate(`(module
+ (memory (export "memory0") 1 1)
+ (data (i32.const 2) "\\03\\01\\04\\01")
+ (data (i32.const 12) "\\07\\05\\02\\03\\06")
+ (func (export "test")
+ (memory.copy (i32.const 13) (i32.const 25) (i32.const 3)))
+ (func (export "load8_u") (param i32) (result i32)
+ (i32.load8_u (local.get 0))))`);
+
+// ./test/core/memory_copy.wast:141
+invoke($3, `test`, []);
+
+// ./test/core/memory_copy.wast:143
+assert_return(() => invoke($3, `load8_u`, [0]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:144
+assert_return(() => invoke($3, `load8_u`, [1]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:145
+assert_return(() => invoke($3, `load8_u`, [2]), [value("i32", 3)]);
+
+// ./test/core/memory_copy.wast:146
+assert_return(() => invoke($3, `load8_u`, [3]), [value("i32", 1)]);
+
+// ./test/core/memory_copy.wast:147
+assert_return(() => invoke($3, `load8_u`, [4]), [value("i32", 4)]);
+
+// ./test/core/memory_copy.wast:148
+assert_return(() => invoke($3, `load8_u`, [5]), [value("i32", 1)]);
+
+// ./test/core/memory_copy.wast:149
+assert_return(() => invoke($3, `load8_u`, [6]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:150
+assert_return(() => invoke($3, `load8_u`, [7]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:151
+assert_return(() => invoke($3, `load8_u`, [8]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:152
+assert_return(() => invoke($3, `load8_u`, [9]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:153
+assert_return(() => invoke($3, `load8_u`, [10]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:154
+assert_return(() => invoke($3, `load8_u`, [11]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:155
+assert_return(() => invoke($3, `load8_u`, [12]), [value("i32", 7)]);
+
+// ./test/core/memory_copy.wast:156
+assert_return(() => invoke($3, `load8_u`, [13]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:157
+assert_return(() => invoke($3, `load8_u`, [14]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:158
+assert_return(() => invoke($3, `load8_u`, [15]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:159
+assert_return(() => invoke($3, `load8_u`, [16]), [value("i32", 6)]);
+
+// ./test/core/memory_copy.wast:160
+assert_return(() => invoke($3, `load8_u`, [17]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:161
+assert_return(() => invoke($3, `load8_u`, [18]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:162
+assert_return(() => invoke($3, `load8_u`, [19]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:163
+assert_return(() => invoke($3, `load8_u`, [20]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:164
+assert_return(() => invoke($3, `load8_u`, [21]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:165
+assert_return(() => invoke($3, `load8_u`, [22]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:166
+assert_return(() => invoke($3, `load8_u`, [23]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:167
+assert_return(() => invoke($3, `load8_u`, [24]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:168
+assert_return(() => invoke($3, `load8_u`, [25]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:169
+assert_return(() => invoke($3, `load8_u`, [26]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:170
+assert_return(() => invoke($3, `load8_u`, [27]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:171
+assert_return(() => invoke($3, `load8_u`, [28]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:172
+assert_return(() => invoke($3, `load8_u`, [29]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:174
+let $4 = instantiate(`(module
+ (memory (export "memory0") 1 1)
+ (data (i32.const 2) "\\03\\01\\04\\01")
+ (data (i32.const 12) "\\07\\05\\02\\03\\06")
+ (func (export "test")
+ (memory.copy (i32.const 20) (i32.const 22) (i32.const 4)))
+ (func (export "load8_u") (param i32) (result i32)
+ (i32.load8_u (local.get 0))))`);
+
+// ./test/core/memory_copy.wast:183
+invoke($4, `test`, []);
+
+// ./test/core/memory_copy.wast:185
+assert_return(() => invoke($4, `load8_u`, [0]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:186
+assert_return(() => invoke($4, `load8_u`, [1]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:187
+assert_return(() => invoke($4, `load8_u`, [2]), [value("i32", 3)]);
+
+// ./test/core/memory_copy.wast:188
+assert_return(() => invoke($4, `load8_u`, [3]), [value("i32", 1)]);
+
+// ./test/core/memory_copy.wast:189
+assert_return(() => invoke($4, `load8_u`, [4]), [value("i32", 4)]);
+
+// ./test/core/memory_copy.wast:190
+assert_return(() => invoke($4, `load8_u`, [5]), [value("i32", 1)]);
+
+// ./test/core/memory_copy.wast:191
+assert_return(() => invoke($4, `load8_u`, [6]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:192
+assert_return(() => invoke($4, `load8_u`, [7]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:193
+assert_return(() => invoke($4, `load8_u`, [8]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:194
+assert_return(() => invoke($4, `load8_u`, [9]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:195
+assert_return(() => invoke($4, `load8_u`, [10]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:196
+assert_return(() => invoke($4, `load8_u`, [11]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:197
+assert_return(() => invoke($4, `load8_u`, [12]), [value("i32", 7)]);
+
+// ./test/core/memory_copy.wast:198
+assert_return(() => invoke($4, `load8_u`, [13]), [value("i32", 5)]);
+
+// ./test/core/memory_copy.wast:199
+assert_return(() => invoke($4, `load8_u`, [14]), [value("i32", 2)]);
+
+// ./test/core/memory_copy.wast:200
+assert_return(() => invoke($4, `load8_u`, [15]), [value("i32", 3)]);
+
+// ./test/core/memory_copy.wast:201
+assert_return(() => invoke($4, `load8_u`, [16]), [value("i32", 6)]);
+
+// ./test/core/memory_copy.wast:202
+assert_return(() => invoke($4, `load8_u`, [17]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:203
+assert_return(() => invoke($4, `load8_u`, [18]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:204
+assert_return(() => invoke($4, `load8_u`, [19]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:205
+assert_return(() => invoke($4, `load8_u`, [20]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:206
+assert_return(() => invoke($4, `load8_u`, [21]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:207
+assert_return(() => invoke($4, `load8_u`, [22]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:208
+assert_return(() => invoke($4, `load8_u`, [23]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:209
+assert_return(() => invoke($4, `load8_u`, [24]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:210
+assert_return(() => invoke($4, `load8_u`, [25]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:211
+assert_return(() => invoke($4, `load8_u`, [26]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:212
+assert_return(() => invoke($4, `load8_u`, [27]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:213
+assert_return(() => invoke($4, `load8_u`, [28]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:214
+assert_return(() => invoke($4, `load8_u`, [29]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:216
+let $5 = instantiate(`(module
+ (memory (export "memory0") 1 1)
+ (data (i32.const 2) "\\03\\01\\04\\01")
+ (data (i32.const 12) "\\07\\05\\02\\03\\06")
+ (func (export "test")
+ (memory.copy (i32.const 25) (i32.const 1) (i32.const 3)))
+ (func (export "load8_u") (param i32) (result i32)
+ (i32.load8_u (local.get 0))))`);
+
+// ./test/core/memory_copy.wast:225
+invoke($5, `test`, []);
+
+// ./test/core/memory_copy.wast:227
+assert_return(() => invoke($5, `load8_u`, [0]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:228
+assert_return(() => invoke($5, `load8_u`, [1]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:229
+assert_return(() => invoke($5, `load8_u`, [2]), [value("i32", 3)]);
+
+// ./test/core/memory_copy.wast:230
+assert_return(() => invoke($5, `load8_u`, [3]), [value("i32", 1)]);
+
+// ./test/core/memory_copy.wast:231
+assert_return(() => invoke($5, `load8_u`, [4]), [value("i32", 4)]);
+
+// ./test/core/memory_copy.wast:232
+assert_return(() => invoke($5, `load8_u`, [5]), [value("i32", 1)]);
+
+// ./test/core/memory_copy.wast:233
+assert_return(() => invoke($5, `load8_u`, [6]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:234
+assert_return(() => invoke($5, `load8_u`, [7]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:235
+assert_return(() => invoke($5, `load8_u`, [8]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:236
+assert_return(() => invoke($5, `load8_u`, [9]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:237
+assert_return(() => invoke($5, `load8_u`, [10]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:238
+assert_return(() => invoke($5, `load8_u`, [11]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:239
+assert_return(() => invoke($5, `load8_u`, [12]), [value("i32", 7)]);
+
+// ./test/core/memory_copy.wast:240
+assert_return(() => invoke($5, `load8_u`, [13]), [value("i32", 5)]);
+
+// ./test/core/memory_copy.wast:241
+assert_return(() => invoke($5, `load8_u`, [14]), [value("i32", 2)]);
+
+// ./test/core/memory_copy.wast:242
+assert_return(() => invoke($5, `load8_u`, [15]), [value("i32", 3)]);
+
+// ./test/core/memory_copy.wast:243
+assert_return(() => invoke($5, `load8_u`, [16]), [value("i32", 6)]);
+
+// ./test/core/memory_copy.wast:244
+assert_return(() => invoke($5, `load8_u`, [17]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:245
+assert_return(() => invoke($5, `load8_u`, [18]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:246
+assert_return(() => invoke($5, `load8_u`, [19]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:247
+assert_return(() => invoke($5, `load8_u`, [20]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:248
+assert_return(() => invoke($5, `load8_u`, [21]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:249
+assert_return(() => invoke($5, `load8_u`, [22]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:250
+assert_return(() => invoke($5, `load8_u`, [23]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:251
+assert_return(() => invoke($5, `load8_u`, [24]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:252
+assert_return(() => invoke($5, `load8_u`, [25]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:253
+assert_return(() => invoke($5, `load8_u`, [26]), [value("i32", 3)]);
+
+// ./test/core/memory_copy.wast:254
+assert_return(() => invoke($5, `load8_u`, [27]), [value("i32", 1)]);
+
+// ./test/core/memory_copy.wast:255
+assert_return(() => invoke($5, `load8_u`, [28]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:256
+assert_return(() => invoke($5, `load8_u`, [29]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:258
+let $6 = instantiate(`(module
+ (memory (export "memory0") 1 1)
+ (data (i32.const 2) "\\03\\01\\04\\01")
+ (data (i32.const 12) "\\07\\05\\02\\03\\06")
+ (func (export "test")
+ (memory.copy (i32.const 10) (i32.const 12) (i32.const 7)))
+ (func (export "load8_u") (param i32) (result i32)
+ (i32.load8_u (local.get 0))))`);
+
+// ./test/core/memory_copy.wast:267
+invoke($6, `test`, []);
+
+// ./test/core/memory_copy.wast:269
+assert_return(() => invoke($6, `load8_u`, [0]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:270
+assert_return(() => invoke($6, `load8_u`, [1]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:271
+assert_return(() => invoke($6, `load8_u`, [2]), [value("i32", 3)]);
+
+// ./test/core/memory_copy.wast:272
+assert_return(() => invoke($6, `load8_u`, [3]), [value("i32", 1)]);
+
+// ./test/core/memory_copy.wast:273
+assert_return(() => invoke($6, `load8_u`, [4]), [value("i32", 4)]);
+
+// ./test/core/memory_copy.wast:274
+assert_return(() => invoke($6, `load8_u`, [5]), [value("i32", 1)]);
+
+// ./test/core/memory_copy.wast:275
+assert_return(() => invoke($6, `load8_u`, [6]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:276
+assert_return(() => invoke($6, `load8_u`, [7]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:277
+assert_return(() => invoke($6, `load8_u`, [8]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:278
+assert_return(() => invoke($6, `load8_u`, [9]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:279
+assert_return(() => invoke($6, `load8_u`, [10]), [value("i32", 7)]);
+
+// ./test/core/memory_copy.wast:280
+assert_return(() => invoke($6, `load8_u`, [11]), [value("i32", 5)]);
+
+// ./test/core/memory_copy.wast:281
+assert_return(() => invoke($6, `load8_u`, [12]), [value("i32", 2)]);
+
+// ./test/core/memory_copy.wast:282
+assert_return(() => invoke($6, `load8_u`, [13]), [value("i32", 3)]);
+
+// ./test/core/memory_copy.wast:283
+assert_return(() => invoke($6, `load8_u`, [14]), [value("i32", 6)]);
+
+// ./test/core/memory_copy.wast:284
+assert_return(() => invoke($6, `load8_u`, [15]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:285
+assert_return(() => invoke($6, `load8_u`, [16]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:286
+assert_return(() => invoke($6, `load8_u`, [17]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:287
+assert_return(() => invoke($6, `load8_u`, [18]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:288
+assert_return(() => invoke($6, `load8_u`, [19]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:289
+assert_return(() => invoke($6, `load8_u`, [20]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:290
+assert_return(() => invoke($6, `load8_u`, [21]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:291
+assert_return(() => invoke($6, `load8_u`, [22]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:292
+assert_return(() => invoke($6, `load8_u`, [23]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:293
+assert_return(() => invoke($6, `load8_u`, [24]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:294
+assert_return(() => invoke($6, `load8_u`, [25]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:295
+assert_return(() => invoke($6, `load8_u`, [26]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:296
+assert_return(() => invoke($6, `load8_u`, [27]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:297
+assert_return(() => invoke($6, `load8_u`, [28]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:298
+assert_return(() => invoke($6, `load8_u`, [29]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:300
+let $7 = instantiate(`(module
+ (memory (export "memory0") 1 1)
+ (data (i32.const 2) "\\03\\01\\04\\01")
+ (data (i32.const 12) "\\07\\05\\02\\03\\06")
+ (func (export "test")
+ (memory.copy (i32.const 12) (i32.const 10) (i32.const 7)))
+ (func (export "load8_u") (param i32) (result i32)
+ (i32.load8_u (local.get 0))))`);
+
+// ./test/core/memory_copy.wast:309
+invoke($7, `test`, []);
+
+// ./test/core/memory_copy.wast:311
+assert_return(() => invoke($7, `load8_u`, [0]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:312
+assert_return(() => invoke($7, `load8_u`, [1]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:313
+assert_return(() => invoke($7, `load8_u`, [2]), [value("i32", 3)]);
+
+// ./test/core/memory_copy.wast:314
+assert_return(() => invoke($7, `load8_u`, [3]), [value("i32", 1)]);
+
+// ./test/core/memory_copy.wast:315
+assert_return(() => invoke($7, `load8_u`, [4]), [value("i32", 4)]);
+
+// ./test/core/memory_copy.wast:316
+assert_return(() => invoke($7, `load8_u`, [5]), [value("i32", 1)]);
+
+// ./test/core/memory_copy.wast:317
+assert_return(() => invoke($7, `load8_u`, [6]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:318
+assert_return(() => invoke($7, `load8_u`, [7]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:319
+assert_return(() => invoke($7, `load8_u`, [8]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:320
+assert_return(() => invoke($7, `load8_u`, [9]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:321
+assert_return(() => invoke($7, `load8_u`, [10]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:322
+assert_return(() => invoke($7, `load8_u`, [11]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:323
+assert_return(() => invoke($7, `load8_u`, [12]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:324
+assert_return(() => invoke($7, `load8_u`, [13]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:325
+assert_return(() => invoke($7, `load8_u`, [14]), [value("i32", 7)]);
+
+// ./test/core/memory_copy.wast:326
+assert_return(() => invoke($7, `load8_u`, [15]), [value("i32", 5)]);
+
+// ./test/core/memory_copy.wast:327
+assert_return(() => invoke($7, `load8_u`, [16]), [value("i32", 2)]);
+
+// ./test/core/memory_copy.wast:328
+assert_return(() => invoke($7, `load8_u`, [17]), [value("i32", 3)]);
+
+// ./test/core/memory_copy.wast:329
+assert_return(() => invoke($7, `load8_u`, [18]), [value("i32", 6)]);
+
+// ./test/core/memory_copy.wast:330
+assert_return(() => invoke($7, `load8_u`, [19]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:331
+assert_return(() => invoke($7, `load8_u`, [20]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:332
+assert_return(() => invoke($7, `load8_u`, [21]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:333
+assert_return(() => invoke($7, `load8_u`, [22]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:334
+assert_return(() => invoke($7, `load8_u`, [23]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:335
+assert_return(() => invoke($7, `load8_u`, [24]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:336
+assert_return(() => invoke($7, `load8_u`, [25]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:337
+assert_return(() => invoke($7, `load8_u`, [26]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:338
+assert_return(() => invoke($7, `load8_u`, [27]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:339
+assert_return(() => invoke($7, `load8_u`, [28]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:340
+assert_return(() => invoke($7, `load8_u`, [29]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:342
+let $8 = instantiate(`(module
+ (memory (export "mem") 1 1 )
+ (data (i32.const 0) "\\00\\01\\02\\03\\04\\05\\06\\07\\08\\09\\0a\\0b\\0c\\0d\\0e\\0f\\10\\11\\12\\13")
+ (func (export "run") (param $$targetOffs i32) (param $$srcOffs i32) (param $$len i32)
+ (memory.copy (local.get $$targetOffs) (local.get $$srcOffs) (local.get $$len)))
+ (func (export "load8_u") (param i32) (result i32)
+ (i32.load8_u (local.get 0))))`);
+
+// ./test/core/memory_copy.wast:350
+assert_trap(() => invoke($8, `run`, [65516, 0, 40]), `out of bounds memory access`);
+
+// ./test/core/memory_copy.wast:353
+assert_return(() => invoke($8, `load8_u`, [0]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:354
+assert_return(() => invoke($8, `load8_u`, [1]), [value("i32", 1)]);
+
+// ./test/core/memory_copy.wast:355
+assert_return(() => invoke($8, `load8_u`, [2]), [value("i32", 2)]);
+
+// ./test/core/memory_copy.wast:356
+assert_return(() => invoke($8, `load8_u`, [3]), [value("i32", 3)]);
+
+// ./test/core/memory_copy.wast:357
+assert_return(() => invoke($8, `load8_u`, [4]), [value("i32", 4)]);
+
+// ./test/core/memory_copy.wast:358
+assert_return(() => invoke($8, `load8_u`, [5]), [value("i32", 5)]);
+
+// ./test/core/memory_copy.wast:359
+assert_return(() => invoke($8, `load8_u`, [6]), [value("i32", 6)]);
+
+// ./test/core/memory_copy.wast:360
+assert_return(() => invoke($8, `load8_u`, [7]), [value("i32", 7)]);
+
+// ./test/core/memory_copy.wast:361
+assert_return(() => invoke($8, `load8_u`, [8]), [value("i32", 8)]);
+
+// ./test/core/memory_copy.wast:362
+assert_return(() => invoke($8, `load8_u`, [9]), [value("i32", 9)]);
+
+// ./test/core/memory_copy.wast:363
+assert_return(() => invoke($8, `load8_u`, [10]), [value("i32", 10)]);
+
+// ./test/core/memory_copy.wast:364
+assert_return(() => invoke($8, `load8_u`, [11]), [value("i32", 11)]);
+
+// ./test/core/memory_copy.wast:365
+assert_return(() => invoke($8, `load8_u`, [12]), [value("i32", 12)]);
+
+// ./test/core/memory_copy.wast:366
+assert_return(() => invoke($8, `load8_u`, [13]), [value("i32", 13)]);
+
+// ./test/core/memory_copy.wast:367
+assert_return(() => invoke($8, `load8_u`, [14]), [value("i32", 14)]);
+
+// ./test/core/memory_copy.wast:368
+assert_return(() => invoke($8, `load8_u`, [15]), [value("i32", 15)]);
+
+// ./test/core/memory_copy.wast:369
+assert_return(() => invoke($8, `load8_u`, [16]), [value("i32", 16)]);
+
+// ./test/core/memory_copy.wast:370
+assert_return(() => invoke($8, `load8_u`, [17]), [value("i32", 17)]);
+
+// ./test/core/memory_copy.wast:371
+assert_return(() => invoke($8, `load8_u`, [18]), [value("i32", 18)]);
+
+// ./test/core/memory_copy.wast:372
+assert_return(() => invoke($8, `load8_u`, [19]), [value("i32", 19)]);
+
+// ./test/core/memory_copy.wast:373
+assert_return(() => invoke($8, `load8_u`, [218]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:374
+assert_return(() => invoke($8, `load8_u`, [417]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:375
+assert_return(() => invoke($8, `load8_u`, [616]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:376
+assert_return(() => invoke($8, `load8_u`, [815]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:377
+assert_return(() => invoke($8, `load8_u`, [1014]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:378
+assert_return(() => invoke($8, `load8_u`, [1213]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:379
+assert_return(() => invoke($8, `load8_u`, [1412]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:380
+assert_return(() => invoke($8, `load8_u`, [1611]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:381
+assert_return(() => invoke($8, `load8_u`, [1810]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:382
+assert_return(() => invoke($8, `load8_u`, [2009]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:383
+assert_return(() => invoke($8, `load8_u`, [2208]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:384
+assert_return(() => invoke($8, `load8_u`, [2407]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:385
+assert_return(() => invoke($8, `load8_u`, [2606]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:386
+assert_return(() => invoke($8, `load8_u`, [2805]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:387
+assert_return(() => invoke($8, `load8_u`, [3004]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:388
+assert_return(() => invoke($8, `load8_u`, [3203]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:389
+assert_return(() => invoke($8, `load8_u`, [3402]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:390
+assert_return(() => invoke($8, `load8_u`, [3601]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:391
+assert_return(() => invoke($8, `load8_u`, [3800]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:392
+assert_return(() => invoke($8, `load8_u`, [3999]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:393
+assert_return(() => invoke($8, `load8_u`, [4198]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:394
+assert_return(() => invoke($8, `load8_u`, [4397]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:395
+assert_return(() => invoke($8, `load8_u`, [4596]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:396
+assert_return(() => invoke($8, `load8_u`, [4795]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:397
+assert_return(() => invoke($8, `load8_u`, [4994]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:398
+assert_return(() => invoke($8, `load8_u`, [5193]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:399
+assert_return(() => invoke($8, `load8_u`, [5392]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:400
+assert_return(() => invoke($8, `load8_u`, [5591]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:401
+assert_return(() => invoke($8, `load8_u`, [5790]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:402
+assert_return(() => invoke($8, `load8_u`, [5989]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:403
+assert_return(() => invoke($8, `load8_u`, [6188]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:404
+assert_return(() => invoke($8, `load8_u`, [6387]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:405
+assert_return(() => invoke($8, `load8_u`, [6586]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:406
+assert_return(() => invoke($8, `load8_u`, [6785]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:407
+assert_return(() => invoke($8, `load8_u`, [6984]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:408
+assert_return(() => invoke($8, `load8_u`, [7183]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:409
+assert_return(() => invoke($8, `load8_u`, [7382]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:410
+assert_return(() => invoke($8, `load8_u`, [7581]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:411
+assert_return(() => invoke($8, `load8_u`, [7780]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:412
+assert_return(() => invoke($8, `load8_u`, [7979]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:413
+assert_return(() => invoke($8, `load8_u`, [8178]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:414
+assert_return(() => invoke($8, `load8_u`, [8377]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:415
+assert_return(() => invoke($8, `load8_u`, [8576]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:416
+assert_return(() => invoke($8, `load8_u`, [8775]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:417
+assert_return(() => invoke($8, `load8_u`, [8974]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:418
+assert_return(() => invoke($8, `load8_u`, [9173]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:419
+assert_return(() => invoke($8, `load8_u`, [9372]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:420
+assert_return(() => invoke($8, `load8_u`, [9571]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:421
+assert_return(() => invoke($8, `load8_u`, [9770]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:422
+assert_return(() => invoke($8, `load8_u`, [9969]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:423
+assert_return(() => invoke($8, `load8_u`, [10168]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:424
+assert_return(() => invoke($8, `load8_u`, [10367]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:425
+assert_return(() => invoke($8, `load8_u`, [10566]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:426
+assert_return(() => invoke($8, `load8_u`, [10765]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:427
+assert_return(() => invoke($8, `load8_u`, [10964]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:428
+assert_return(() => invoke($8, `load8_u`, [11163]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:429
+assert_return(() => invoke($8, `load8_u`, [11362]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:430
+assert_return(() => invoke($8, `load8_u`, [11561]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:431
+assert_return(() => invoke($8, `load8_u`, [11760]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:432
+assert_return(() => invoke($8, `load8_u`, [11959]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:433
+assert_return(() => invoke($8, `load8_u`, [12158]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:434
+assert_return(() => invoke($8, `load8_u`, [12357]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:435
+assert_return(() => invoke($8, `load8_u`, [12556]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:436
+assert_return(() => invoke($8, `load8_u`, [12755]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:437
+assert_return(() => invoke($8, `load8_u`, [12954]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:438
+assert_return(() => invoke($8, `load8_u`, [13153]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:439
+assert_return(() => invoke($8, `load8_u`, [13352]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:440
+assert_return(() => invoke($8, `load8_u`, [13551]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:441
+assert_return(() => invoke($8, `load8_u`, [13750]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:442
+assert_return(() => invoke($8, `load8_u`, [13949]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:443
+assert_return(() => invoke($8, `load8_u`, [14148]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:444
+assert_return(() => invoke($8, `load8_u`, [14347]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:445
+assert_return(() => invoke($8, `load8_u`, [14546]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:446
+assert_return(() => invoke($8, `load8_u`, [14745]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:447
+assert_return(() => invoke($8, `load8_u`, [14944]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:448
+assert_return(() => invoke($8, `load8_u`, [15143]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:449
+assert_return(() => invoke($8, `load8_u`, [15342]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:450
+assert_return(() => invoke($8, `load8_u`, [15541]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:451
+assert_return(() => invoke($8, `load8_u`, [15740]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:452
+assert_return(() => invoke($8, `load8_u`, [15939]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:453
+assert_return(() => invoke($8, `load8_u`, [16138]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:454
+assert_return(() => invoke($8, `load8_u`, [16337]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:455
+assert_return(() => invoke($8, `load8_u`, [16536]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:456
+assert_return(() => invoke($8, `load8_u`, [16735]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:457
+assert_return(() => invoke($8, `load8_u`, [16934]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:458
+assert_return(() => invoke($8, `load8_u`, [17133]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:459
+assert_return(() => invoke($8, `load8_u`, [17332]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:460
+assert_return(() => invoke($8, `load8_u`, [17531]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:461
+assert_return(() => invoke($8, `load8_u`, [17730]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:462
+assert_return(() => invoke($8, `load8_u`, [17929]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:463
+assert_return(() => invoke($8, `load8_u`, [18128]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:464
+assert_return(() => invoke($8, `load8_u`, [18327]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:465
+assert_return(() => invoke($8, `load8_u`, [18526]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:466
+assert_return(() => invoke($8, `load8_u`, [18725]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:467
+assert_return(() => invoke($8, `load8_u`, [18924]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:468
+assert_return(() => invoke($8, `load8_u`, [19123]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:469
+assert_return(() => invoke($8, `load8_u`, [19322]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:470
+assert_return(() => invoke($8, `load8_u`, [19521]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:471
+assert_return(() => invoke($8, `load8_u`, [19720]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:472
+assert_return(() => invoke($8, `load8_u`, [19919]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:473
+assert_return(() => invoke($8, `load8_u`, [20118]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:474
+assert_return(() => invoke($8, `load8_u`, [20317]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:475
+assert_return(() => invoke($8, `load8_u`, [20516]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:476
+assert_return(() => invoke($8, `load8_u`, [20715]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:477
+assert_return(() => invoke($8, `load8_u`, [20914]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:478
+assert_return(() => invoke($8, `load8_u`, [21113]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:479
+assert_return(() => invoke($8, `load8_u`, [21312]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:480
+assert_return(() => invoke($8, `load8_u`, [21511]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:481
+assert_return(() => invoke($8, `load8_u`, [21710]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:482
+assert_return(() => invoke($8, `load8_u`, [21909]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:483
+assert_return(() => invoke($8, `load8_u`, [22108]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:484
+assert_return(() => invoke($8, `load8_u`, [22307]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:485
+assert_return(() => invoke($8, `load8_u`, [22506]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:486
+assert_return(() => invoke($8, `load8_u`, [22705]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:487
+assert_return(() => invoke($8, `load8_u`, [22904]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:488
+assert_return(() => invoke($8, `load8_u`, [23103]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:489
+assert_return(() => invoke($8, `load8_u`, [23302]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:490
+assert_return(() => invoke($8, `load8_u`, [23501]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:491
+assert_return(() => invoke($8, `load8_u`, [23700]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:492
+assert_return(() => invoke($8, `load8_u`, [23899]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:493
+assert_return(() => invoke($8, `load8_u`, [24098]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:494
+assert_return(() => invoke($8, `load8_u`, [24297]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:495
+assert_return(() => invoke($8, `load8_u`, [24496]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:496
+assert_return(() => invoke($8, `load8_u`, [24695]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:497
+assert_return(() => invoke($8, `load8_u`, [24894]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:498
+assert_return(() => invoke($8, `load8_u`, [25093]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:499
+assert_return(() => invoke($8, `load8_u`, [25292]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:500
+assert_return(() => invoke($8, `load8_u`, [25491]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:501
+assert_return(() => invoke($8, `load8_u`, [25690]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:502
+assert_return(() => invoke($8, `load8_u`, [25889]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:503
+assert_return(() => invoke($8, `load8_u`, [26088]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:504
+assert_return(() => invoke($8, `load8_u`, [26287]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:505
+assert_return(() => invoke($8, `load8_u`, [26486]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:506
+assert_return(() => invoke($8, `load8_u`, [26685]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:507
+assert_return(() => invoke($8, `load8_u`, [26884]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:508
+assert_return(() => invoke($8, `load8_u`, [27083]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:509
+assert_return(() => invoke($8, `load8_u`, [27282]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:510
+assert_return(() => invoke($8, `load8_u`, [27481]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:511
+assert_return(() => invoke($8, `load8_u`, [27680]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:512
+assert_return(() => invoke($8, `load8_u`, [27879]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:513
+assert_return(() => invoke($8, `load8_u`, [28078]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:514
+assert_return(() => invoke($8, `load8_u`, [28277]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:515
+assert_return(() => invoke($8, `load8_u`, [28476]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:516
+assert_return(() => invoke($8, `load8_u`, [28675]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:517
+assert_return(() => invoke($8, `load8_u`, [28874]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:518
+assert_return(() => invoke($8, `load8_u`, [29073]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:519
+assert_return(() => invoke($8, `load8_u`, [29272]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:520
+assert_return(() => invoke($8, `load8_u`, [29471]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:521
+assert_return(() => invoke($8, `load8_u`, [29670]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:522
+assert_return(() => invoke($8, `load8_u`, [29869]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:523
+assert_return(() => invoke($8, `load8_u`, [30068]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:524
+assert_return(() => invoke($8, `load8_u`, [30267]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:525
+assert_return(() => invoke($8, `load8_u`, [30466]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:526
+assert_return(() => invoke($8, `load8_u`, [30665]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:527
+assert_return(() => invoke($8, `load8_u`, [30864]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:528
+assert_return(() => invoke($8, `load8_u`, [31063]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:529
+assert_return(() => invoke($8, `load8_u`, [31262]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:530
+assert_return(() => invoke($8, `load8_u`, [31461]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:531
+assert_return(() => invoke($8, `load8_u`, [31660]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:532
+assert_return(() => invoke($8, `load8_u`, [31859]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:533
+assert_return(() => invoke($8, `load8_u`, [32058]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:534
+assert_return(() => invoke($8, `load8_u`, [32257]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:535
+assert_return(() => invoke($8, `load8_u`, [32456]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:536
+assert_return(() => invoke($8, `load8_u`, [32655]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:537
+assert_return(() => invoke($8, `load8_u`, [32854]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:538
+assert_return(() => invoke($8, `load8_u`, [33053]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:539
+assert_return(() => invoke($8, `load8_u`, [33252]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:540
+assert_return(() => invoke($8, `load8_u`, [33451]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:541
+assert_return(() => invoke($8, `load8_u`, [33650]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:542
+assert_return(() => invoke($8, `load8_u`, [33849]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:543
+assert_return(() => invoke($8, `load8_u`, [34048]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:544
+assert_return(() => invoke($8, `load8_u`, [34247]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:545
+assert_return(() => invoke($8, `load8_u`, [34446]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:546
+assert_return(() => invoke($8, `load8_u`, [34645]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:547
+assert_return(() => invoke($8, `load8_u`, [34844]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:548
+assert_return(() => invoke($8, `load8_u`, [35043]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:549
+assert_return(() => invoke($8, `load8_u`, [35242]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:550
+assert_return(() => invoke($8, `load8_u`, [35441]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:551
+assert_return(() => invoke($8, `load8_u`, [35640]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:552
+assert_return(() => invoke($8, `load8_u`, [35839]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:553
+assert_return(() => invoke($8, `load8_u`, [36038]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:554
+assert_return(() => invoke($8, `load8_u`, [36237]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:555
+assert_return(() => invoke($8, `load8_u`, [36436]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:556
+assert_return(() => invoke($8, `load8_u`, [36635]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:557
+assert_return(() => invoke($8, `load8_u`, [36834]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:558
+assert_return(() => invoke($8, `load8_u`, [37033]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:559
+assert_return(() => invoke($8, `load8_u`, [37232]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:560
+assert_return(() => invoke($8, `load8_u`, [37431]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:561
+assert_return(() => invoke($8, `load8_u`, [37630]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:562
+assert_return(() => invoke($8, `load8_u`, [37829]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:563
+assert_return(() => invoke($8, `load8_u`, [38028]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:564
+assert_return(() => invoke($8, `load8_u`, [38227]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:565
+assert_return(() => invoke($8, `load8_u`, [38426]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:566
+assert_return(() => invoke($8, `load8_u`, [38625]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:567
+assert_return(() => invoke($8, `load8_u`, [38824]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:568
+assert_return(() => invoke($8, `load8_u`, [39023]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:569
+assert_return(() => invoke($8, `load8_u`, [39222]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:570
+assert_return(() => invoke($8, `load8_u`, [39421]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:571
+assert_return(() => invoke($8, `load8_u`, [39620]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:572
+assert_return(() => invoke($8, `load8_u`, [39819]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:573
+assert_return(() => invoke($8, `load8_u`, [40018]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:574
+assert_return(() => invoke($8, `load8_u`, [40217]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:575
+assert_return(() => invoke($8, `load8_u`, [40416]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:576
+assert_return(() => invoke($8, `load8_u`, [40615]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:577
+assert_return(() => invoke($8, `load8_u`, [40814]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:578
+assert_return(() => invoke($8, `load8_u`, [41013]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:579
+assert_return(() => invoke($8, `load8_u`, [41212]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:580
+assert_return(() => invoke($8, `load8_u`, [41411]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:581
+assert_return(() => invoke($8, `load8_u`, [41610]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:582
+assert_return(() => invoke($8, `load8_u`, [41809]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:583
+assert_return(() => invoke($8, `load8_u`, [42008]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:584
+assert_return(() => invoke($8, `load8_u`, [42207]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:585
+assert_return(() => invoke($8, `load8_u`, [42406]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:586
+assert_return(() => invoke($8, `load8_u`, [42605]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:587
+assert_return(() => invoke($8, `load8_u`, [42804]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:588
+assert_return(() => invoke($8, `load8_u`, [43003]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:589
+assert_return(() => invoke($8, `load8_u`, [43202]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:590
+assert_return(() => invoke($8, `load8_u`, [43401]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:591
+assert_return(() => invoke($8, `load8_u`, [43600]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:592
+assert_return(() => invoke($8, `load8_u`, [43799]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:593
+assert_return(() => invoke($8, `load8_u`, [43998]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:594
+assert_return(() => invoke($8, `load8_u`, [44197]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:595
+assert_return(() => invoke($8, `load8_u`, [44396]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:596
+assert_return(() => invoke($8, `load8_u`, [44595]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:597
+assert_return(() => invoke($8, `load8_u`, [44794]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:598
+assert_return(() => invoke($8, `load8_u`, [44993]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:599
+assert_return(() => invoke($8, `load8_u`, [45192]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:600
+assert_return(() => invoke($8, `load8_u`, [45391]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:601
+assert_return(() => invoke($8, `load8_u`, [45590]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:602
+assert_return(() => invoke($8, `load8_u`, [45789]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:603
+assert_return(() => invoke($8, `load8_u`, [45988]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:604
+assert_return(() => invoke($8, `load8_u`, [46187]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:605
+assert_return(() => invoke($8, `load8_u`, [46386]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:606
+assert_return(() => invoke($8, `load8_u`, [46585]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:607
+assert_return(() => invoke($8, `load8_u`, [46784]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:608
+assert_return(() => invoke($8, `load8_u`, [46983]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:609
+assert_return(() => invoke($8, `load8_u`, [47182]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:610
+assert_return(() => invoke($8, `load8_u`, [47381]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:611
+assert_return(() => invoke($8, `load8_u`, [47580]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:612
+assert_return(() => invoke($8, `load8_u`, [47779]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:613
+assert_return(() => invoke($8, `load8_u`, [47978]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:614
+assert_return(() => invoke($8, `load8_u`, [48177]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:615
+assert_return(() => invoke($8, `load8_u`, [48376]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:616
+assert_return(() => invoke($8, `load8_u`, [48575]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:617
+assert_return(() => invoke($8, `load8_u`, [48774]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:618
+assert_return(() => invoke($8, `load8_u`, [48973]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:619
+assert_return(() => invoke($8, `load8_u`, [49172]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:620
+assert_return(() => invoke($8, `load8_u`, [49371]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:621
+assert_return(() => invoke($8, `load8_u`, [49570]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:622
+assert_return(() => invoke($8, `load8_u`, [49769]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:623
+assert_return(() => invoke($8, `load8_u`, [49968]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:624
+assert_return(() => invoke($8, `load8_u`, [50167]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:625
+assert_return(() => invoke($8, `load8_u`, [50366]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:626
+assert_return(() => invoke($8, `load8_u`, [50565]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:627
+assert_return(() => invoke($8, `load8_u`, [50764]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:628
+assert_return(() => invoke($8, `load8_u`, [50963]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:629
+assert_return(() => invoke($8, `load8_u`, [51162]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:630
+assert_return(() => invoke($8, `load8_u`, [51361]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:631
+assert_return(() => invoke($8, `load8_u`, [51560]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:632
+assert_return(() => invoke($8, `load8_u`, [51759]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:633
+assert_return(() => invoke($8, `load8_u`, [51958]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:634
+assert_return(() => invoke($8, `load8_u`, [52157]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:635
+assert_return(() => invoke($8, `load8_u`, [52356]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:636
+assert_return(() => invoke($8, `load8_u`, [52555]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:637
+assert_return(() => invoke($8, `load8_u`, [52754]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:638
+assert_return(() => invoke($8, `load8_u`, [52953]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:639
+assert_return(() => invoke($8, `load8_u`, [53152]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:640
+assert_return(() => invoke($8, `load8_u`, [53351]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:641
+assert_return(() => invoke($8, `load8_u`, [53550]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:642
+assert_return(() => invoke($8, `load8_u`, [53749]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:643
+assert_return(() => invoke($8, `load8_u`, [53948]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:644
+assert_return(() => invoke($8, `load8_u`, [54147]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:645
+assert_return(() => invoke($8, `load8_u`, [54346]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:646
+assert_return(() => invoke($8, `load8_u`, [54545]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:647
+assert_return(() => invoke($8, `load8_u`, [54744]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:648
+assert_return(() => invoke($8, `load8_u`, [54943]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:649
+assert_return(() => invoke($8, `load8_u`, [55142]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:650
+assert_return(() => invoke($8, `load8_u`, [55341]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:651
+assert_return(() => invoke($8, `load8_u`, [55540]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:652
+assert_return(() => invoke($8, `load8_u`, [55739]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:653
+assert_return(() => invoke($8, `load8_u`, [55938]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:654
+assert_return(() => invoke($8, `load8_u`, [56137]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:655
+assert_return(() => invoke($8, `load8_u`, [56336]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:656
+assert_return(() => invoke($8, `load8_u`, [56535]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:657
+assert_return(() => invoke($8, `load8_u`, [56734]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:658
+assert_return(() => invoke($8, `load8_u`, [56933]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:659
+assert_return(() => invoke($8, `load8_u`, [57132]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:660
+assert_return(() => invoke($8, `load8_u`, [57331]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:661
+assert_return(() => invoke($8, `load8_u`, [57530]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:662
+assert_return(() => invoke($8, `load8_u`, [57729]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:663
+assert_return(() => invoke($8, `load8_u`, [57928]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:664
+assert_return(() => invoke($8, `load8_u`, [58127]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:665
+assert_return(() => invoke($8, `load8_u`, [58326]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:666
+assert_return(() => invoke($8, `load8_u`, [58525]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:667
+assert_return(() => invoke($8, `load8_u`, [58724]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:668
+assert_return(() => invoke($8, `load8_u`, [58923]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:669
+assert_return(() => invoke($8, `load8_u`, [59122]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:670
+assert_return(() => invoke($8, `load8_u`, [59321]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:671
+assert_return(() => invoke($8, `load8_u`, [59520]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:672
+assert_return(() => invoke($8, `load8_u`, [59719]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:673
+assert_return(() => invoke($8, `load8_u`, [59918]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:674
+assert_return(() => invoke($8, `load8_u`, [60117]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:675
+assert_return(() => invoke($8, `load8_u`, [60316]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:676
+assert_return(() => invoke($8, `load8_u`, [60515]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:677
+assert_return(() => invoke($8, `load8_u`, [60714]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:678
+assert_return(() => invoke($8, `load8_u`, [60913]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:679
+assert_return(() => invoke($8, `load8_u`, [61112]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:680
+assert_return(() => invoke($8, `load8_u`, [61311]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:681
+assert_return(() => invoke($8, `load8_u`, [61510]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:682
+assert_return(() => invoke($8, `load8_u`, [61709]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:683
+assert_return(() => invoke($8, `load8_u`, [61908]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:684
+assert_return(() => invoke($8, `load8_u`, [62107]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:685
+assert_return(() => invoke($8, `load8_u`, [62306]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:686
+assert_return(() => invoke($8, `load8_u`, [62505]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:687
+assert_return(() => invoke($8, `load8_u`, [62704]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:688
+assert_return(() => invoke($8, `load8_u`, [62903]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:689
+assert_return(() => invoke($8, `load8_u`, [63102]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:690
+assert_return(() => invoke($8, `load8_u`, [63301]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:691
+assert_return(() => invoke($8, `load8_u`, [63500]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:692
+assert_return(() => invoke($8, `load8_u`, [63699]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:693
+assert_return(() => invoke($8, `load8_u`, [63898]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:694
+assert_return(() => invoke($8, `load8_u`, [64097]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:695
+assert_return(() => invoke($8, `load8_u`, [64296]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:696
+assert_return(() => invoke($8, `load8_u`, [64495]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:697
+assert_return(() => invoke($8, `load8_u`, [64694]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:698
+assert_return(() => invoke($8, `load8_u`, [64893]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:699
+assert_return(() => invoke($8, `load8_u`, [65092]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:700
+assert_return(() => invoke($8, `load8_u`, [65291]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:701
+assert_return(() => invoke($8, `load8_u`, [65490]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:703
+let $9 = instantiate(`(module
+ (memory (export "mem") 1 1 )
+ (data (i32.const 0) "\\00\\01\\02\\03\\04\\05\\06\\07\\08\\09\\0a\\0b\\0c\\0d\\0e\\0f\\10\\11\\12\\13\\14")
+ (func (export "run") (param $$targetOffs i32) (param $$srcOffs i32) (param $$len i32)
+ (memory.copy (local.get $$targetOffs) (local.get $$srcOffs) (local.get $$len)))
+ (func (export "load8_u") (param i32) (result i32)
+ (i32.load8_u (local.get 0))))`);
+
+// ./test/core/memory_copy.wast:711
+assert_trap(() => invoke($9, `run`, [65515, 0, 39]), `out of bounds memory access`);
+
+// ./test/core/memory_copy.wast:714
+assert_return(() => invoke($9, `load8_u`, [0]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:715
+assert_return(() => invoke($9, `load8_u`, [1]), [value("i32", 1)]);
+
+// ./test/core/memory_copy.wast:716
+assert_return(() => invoke($9, `load8_u`, [2]), [value("i32", 2)]);
+
+// ./test/core/memory_copy.wast:717
+assert_return(() => invoke($9, `load8_u`, [3]), [value("i32", 3)]);
+
+// ./test/core/memory_copy.wast:718
+assert_return(() => invoke($9, `load8_u`, [4]), [value("i32", 4)]);
+
+// ./test/core/memory_copy.wast:719
+assert_return(() => invoke($9, `load8_u`, [5]), [value("i32", 5)]);
+
+// ./test/core/memory_copy.wast:720
+assert_return(() => invoke($9, `load8_u`, [6]), [value("i32", 6)]);
+
+// ./test/core/memory_copy.wast:721
+assert_return(() => invoke($9, `load8_u`, [7]), [value("i32", 7)]);
+
+// ./test/core/memory_copy.wast:722
+assert_return(() => invoke($9, `load8_u`, [8]), [value("i32", 8)]);
+
+// ./test/core/memory_copy.wast:723
+assert_return(() => invoke($9, `load8_u`, [9]), [value("i32", 9)]);
+
+// ./test/core/memory_copy.wast:724
+assert_return(() => invoke($9, `load8_u`, [10]), [value("i32", 10)]);
+
+// ./test/core/memory_copy.wast:725
+assert_return(() => invoke($9, `load8_u`, [11]), [value("i32", 11)]);
+
+// ./test/core/memory_copy.wast:726
+assert_return(() => invoke($9, `load8_u`, [12]), [value("i32", 12)]);
+
+// ./test/core/memory_copy.wast:727
+assert_return(() => invoke($9, `load8_u`, [13]), [value("i32", 13)]);
+
+// ./test/core/memory_copy.wast:728
+assert_return(() => invoke($9, `load8_u`, [14]), [value("i32", 14)]);
+
+// ./test/core/memory_copy.wast:729
+assert_return(() => invoke($9, `load8_u`, [15]), [value("i32", 15)]);
+
+// ./test/core/memory_copy.wast:730
+assert_return(() => invoke($9, `load8_u`, [16]), [value("i32", 16)]);
+
+// ./test/core/memory_copy.wast:731
+assert_return(() => invoke($9, `load8_u`, [17]), [value("i32", 17)]);
+
+// ./test/core/memory_copy.wast:732
+assert_return(() => invoke($9, `load8_u`, [18]), [value("i32", 18)]);
+
+// ./test/core/memory_copy.wast:733
+assert_return(() => invoke($9, `load8_u`, [19]), [value("i32", 19)]);
+
+// ./test/core/memory_copy.wast:734
+assert_return(() => invoke($9, `load8_u`, [20]), [value("i32", 20)]);
+
+// ./test/core/memory_copy.wast:735
+assert_return(() => invoke($9, `load8_u`, [219]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:736
+assert_return(() => invoke($9, `load8_u`, [418]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:737
+assert_return(() => invoke($9, `load8_u`, [617]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:738
+assert_return(() => invoke($9, `load8_u`, [816]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:739
+assert_return(() => invoke($9, `load8_u`, [1015]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:740
+assert_return(() => invoke($9, `load8_u`, [1214]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:741
+assert_return(() => invoke($9, `load8_u`, [1413]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:742
+assert_return(() => invoke($9, `load8_u`, [1612]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:743
+assert_return(() => invoke($9, `load8_u`, [1811]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:744
+assert_return(() => invoke($9, `load8_u`, [2010]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:745
+assert_return(() => invoke($9, `load8_u`, [2209]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:746
+assert_return(() => invoke($9, `load8_u`, [2408]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:747
+assert_return(() => invoke($9, `load8_u`, [2607]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:748
+assert_return(() => invoke($9, `load8_u`, [2806]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:749
+assert_return(() => invoke($9, `load8_u`, [3005]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:750
+assert_return(() => invoke($9, `load8_u`, [3204]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:751
+assert_return(() => invoke($9, `load8_u`, [3403]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:752
+assert_return(() => invoke($9, `load8_u`, [3602]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:753
+assert_return(() => invoke($9, `load8_u`, [3801]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:754
+assert_return(() => invoke($9, `load8_u`, [4000]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:755
+assert_return(() => invoke($9, `load8_u`, [4199]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:756
+assert_return(() => invoke($9, `load8_u`, [4398]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:757
+assert_return(() => invoke($9, `load8_u`, [4597]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:758
+assert_return(() => invoke($9, `load8_u`, [4796]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:759
+assert_return(() => invoke($9, `load8_u`, [4995]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:760
+assert_return(() => invoke($9, `load8_u`, [5194]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:761
+assert_return(() => invoke($9, `load8_u`, [5393]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:762
+assert_return(() => invoke($9, `load8_u`, [5592]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:763
+assert_return(() => invoke($9, `load8_u`, [5791]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:764
+assert_return(() => invoke($9, `load8_u`, [5990]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:765
+assert_return(() => invoke($9, `load8_u`, [6189]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:766
+assert_return(() => invoke($9, `load8_u`, [6388]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:767
+assert_return(() => invoke($9, `load8_u`, [6587]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:768
+assert_return(() => invoke($9, `load8_u`, [6786]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:769
+assert_return(() => invoke($9, `load8_u`, [6985]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:770
+assert_return(() => invoke($9, `load8_u`, [7184]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:771
+assert_return(() => invoke($9, `load8_u`, [7383]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:772
+assert_return(() => invoke($9, `load8_u`, [7582]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:773
+assert_return(() => invoke($9, `load8_u`, [7781]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:774
+assert_return(() => invoke($9, `load8_u`, [7980]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:775
+assert_return(() => invoke($9, `load8_u`, [8179]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:776
+assert_return(() => invoke($9, `load8_u`, [8378]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:777
+assert_return(() => invoke($9, `load8_u`, [8577]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:778
+assert_return(() => invoke($9, `load8_u`, [8776]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:779
+assert_return(() => invoke($9, `load8_u`, [8975]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:780
+assert_return(() => invoke($9, `load8_u`, [9174]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:781
+assert_return(() => invoke($9, `load8_u`, [9373]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:782
+assert_return(() => invoke($9, `load8_u`, [9572]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:783
+assert_return(() => invoke($9, `load8_u`, [9771]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:784
+assert_return(() => invoke($9, `load8_u`, [9970]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:785
+assert_return(() => invoke($9, `load8_u`, [10169]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:786
+assert_return(() => invoke($9, `load8_u`, [10368]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:787
+assert_return(() => invoke($9, `load8_u`, [10567]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:788
+assert_return(() => invoke($9, `load8_u`, [10766]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:789
+assert_return(() => invoke($9, `load8_u`, [10965]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:790
+assert_return(() => invoke($9, `load8_u`, [11164]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:791
+assert_return(() => invoke($9, `load8_u`, [11363]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:792
+assert_return(() => invoke($9, `load8_u`, [11562]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:793
+assert_return(() => invoke($9, `load8_u`, [11761]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:794
+assert_return(() => invoke($9, `load8_u`, [11960]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:795
+assert_return(() => invoke($9, `load8_u`, [12159]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:796
+assert_return(() => invoke($9, `load8_u`, [12358]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:797
+assert_return(() => invoke($9, `load8_u`, [12557]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:798
+assert_return(() => invoke($9, `load8_u`, [12756]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:799
+assert_return(() => invoke($9, `load8_u`, [12955]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:800
+assert_return(() => invoke($9, `load8_u`, [13154]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:801
+assert_return(() => invoke($9, `load8_u`, [13353]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:802
+assert_return(() => invoke($9, `load8_u`, [13552]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:803
+assert_return(() => invoke($9, `load8_u`, [13751]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:804
+assert_return(() => invoke($9, `load8_u`, [13950]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:805
+assert_return(() => invoke($9, `load8_u`, [14149]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:806
+assert_return(() => invoke($9, `load8_u`, [14348]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:807
+assert_return(() => invoke($9, `load8_u`, [14547]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:808
+assert_return(() => invoke($9, `load8_u`, [14746]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:809
+assert_return(() => invoke($9, `load8_u`, [14945]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:810
+assert_return(() => invoke($9, `load8_u`, [15144]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:811
+assert_return(() => invoke($9, `load8_u`, [15343]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:812
+assert_return(() => invoke($9, `load8_u`, [15542]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:813
+assert_return(() => invoke($9, `load8_u`, [15741]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:814
+assert_return(() => invoke($9, `load8_u`, [15940]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:815
+assert_return(() => invoke($9, `load8_u`, [16139]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:816
+assert_return(() => invoke($9, `load8_u`, [16338]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:817
+assert_return(() => invoke($9, `load8_u`, [16537]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:818
+assert_return(() => invoke($9, `load8_u`, [16736]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:819
+assert_return(() => invoke($9, `load8_u`, [16935]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:820
+assert_return(() => invoke($9, `load8_u`, [17134]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:821
+assert_return(() => invoke($9, `load8_u`, [17333]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:822
+assert_return(() => invoke($9, `load8_u`, [17532]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:823
+assert_return(() => invoke($9, `load8_u`, [17731]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:824
+assert_return(() => invoke($9, `load8_u`, [17930]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:825
+assert_return(() => invoke($9, `load8_u`, [18129]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:826
+assert_return(() => invoke($9, `load8_u`, [18328]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:827
+assert_return(() => invoke($9, `load8_u`, [18527]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:828
+assert_return(() => invoke($9, `load8_u`, [18726]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:829
+assert_return(() => invoke($9, `load8_u`, [18925]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:830
+assert_return(() => invoke($9, `load8_u`, [19124]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:831
+assert_return(() => invoke($9, `load8_u`, [19323]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:832
+assert_return(() => invoke($9, `load8_u`, [19522]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:833
+assert_return(() => invoke($9, `load8_u`, [19721]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:834
+assert_return(() => invoke($9, `load8_u`, [19920]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:835
+assert_return(() => invoke($9, `load8_u`, [20119]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:836
+assert_return(() => invoke($9, `load8_u`, [20318]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:837
+assert_return(() => invoke($9, `load8_u`, [20517]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:838
+assert_return(() => invoke($9, `load8_u`, [20716]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:839
+assert_return(() => invoke($9, `load8_u`, [20915]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:840
+assert_return(() => invoke($9, `load8_u`, [21114]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:841
+assert_return(() => invoke($9, `load8_u`, [21313]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:842
+assert_return(() => invoke($9, `load8_u`, [21512]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:843
+assert_return(() => invoke($9, `load8_u`, [21711]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:844
+assert_return(() => invoke($9, `load8_u`, [21910]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:845
+assert_return(() => invoke($9, `load8_u`, [22109]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:846
+assert_return(() => invoke($9, `load8_u`, [22308]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:847
+assert_return(() => invoke($9, `load8_u`, [22507]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:848
+assert_return(() => invoke($9, `load8_u`, [22706]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:849
+assert_return(() => invoke($9, `load8_u`, [22905]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:850
+assert_return(() => invoke($9, `load8_u`, [23104]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:851
+assert_return(() => invoke($9, `load8_u`, [23303]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:852
+assert_return(() => invoke($9, `load8_u`, [23502]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:853
+assert_return(() => invoke($9, `load8_u`, [23701]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:854
+assert_return(() => invoke($9, `load8_u`, [23900]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:855
+assert_return(() => invoke($9, `load8_u`, [24099]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:856
+assert_return(() => invoke($9, `load8_u`, [24298]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:857
+assert_return(() => invoke($9, `load8_u`, [24497]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:858
+assert_return(() => invoke($9, `load8_u`, [24696]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:859
+assert_return(() => invoke($9, `load8_u`, [24895]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:860
+assert_return(() => invoke($9, `load8_u`, [25094]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:861
+assert_return(() => invoke($9, `load8_u`, [25293]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:862
+assert_return(() => invoke($9, `load8_u`, [25492]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:863
+assert_return(() => invoke($9, `load8_u`, [25691]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:864
+assert_return(() => invoke($9, `load8_u`, [25890]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:865
+assert_return(() => invoke($9, `load8_u`, [26089]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:866
+assert_return(() => invoke($9, `load8_u`, [26288]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:867
+assert_return(() => invoke($9, `load8_u`, [26487]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:868
+assert_return(() => invoke($9, `load8_u`, [26686]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:869
+assert_return(() => invoke($9, `load8_u`, [26885]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:870
+assert_return(() => invoke($9, `load8_u`, [27084]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:871
+assert_return(() => invoke($9, `load8_u`, [27283]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:872
+assert_return(() => invoke($9, `load8_u`, [27482]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:873
+assert_return(() => invoke($9, `load8_u`, [27681]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:874
+assert_return(() => invoke($9, `load8_u`, [27880]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:875
+assert_return(() => invoke($9, `load8_u`, [28079]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:876
+assert_return(() => invoke($9, `load8_u`, [28278]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:877
+assert_return(() => invoke($9, `load8_u`, [28477]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:878
+assert_return(() => invoke($9, `load8_u`, [28676]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:879
+assert_return(() => invoke($9, `load8_u`, [28875]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:880
+assert_return(() => invoke($9, `load8_u`, [29074]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:881
+assert_return(() => invoke($9, `load8_u`, [29273]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:882
+assert_return(() => invoke($9, `load8_u`, [29472]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:883
+assert_return(() => invoke($9, `load8_u`, [29671]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:884
+assert_return(() => invoke($9, `load8_u`, [29870]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:885
+assert_return(() => invoke($9, `load8_u`, [30069]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:886
+assert_return(() => invoke($9, `load8_u`, [30268]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:887
+assert_return(() => invoke($9, `load8_u`, [30467]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:888
+assert_return(() => invoke($9, `load8_u`, [30666]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:889
+assert_return(() => invoke($9, `load8_u`, [30865]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:890
+assert_return(() => invoke($9, `load8_u`, [31064]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:891
+assert_return(() => invoke($9, `load8_u`, [31263]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:892
+assert_return(() => invoke($9, `load8_u`, [31462]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:893
+assert_return(() => invoke($9, `load8_u`, [31661]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:894
+assert_return(() => invoke($9, `load8_u`, [31860]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:895
+assert_return(() => invoke($9, `load8_u`, [32059]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:896
+assert_return(() => invoke($9, `load8_u`, [32258]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:897
+assert_return(() => invoke($9, `load8_u`, [32457]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:898
+assert_return(() => invoke($9, `load8_u`, [32656]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:899
+assert_return(() => invoke($9, `load8_u`, [32855]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:900
+assert_return(() => invoke($9, `load8_u`, [33054]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:901
+assert_return(() => invoke($9, `load8_u`, [33253]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:902
+assert_return(() => invoke($9, `load8_u`, [33452]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:903
+assert_return(() => invoke($9, `load8_u`, [33651]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:904
+assert_return(() => invoke($9, `load8_u`, [33850]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:905
+assert_return(() => invoke($9, `load8_u`, [34049]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:906
+assert_return(() => invoke($9, `load8_u`, [34248]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:907
+assert_return(() => invoke($9, `load8_u`, [34447]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:908
+assert_return(() => invoke($9, `load8_u`, [34646]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:909
+assert_return(() => invoke($9, `load8_u`, [34845]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:910
+assert_return(() => invoke($9, `load8_u`, [35044]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:911
+assert_return(() => invoke($9, `load8_u`, [35243]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:912
+assert_return(() => invoke($9, `load8_u`, [35442]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:913
+assert_return(() => invoke($9, `load8_u`, [35641]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:914
+assert_return(() => invoke($9, `load8_u`, [35840]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:915
+assert_return(() => invoke($9, `load8_u`, [36039]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:916
+assert_return(() => invoke($9, `load8_u`, [36238]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:917
+assert_return(() => invoke($9, `load8_u`, [36437]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:918
+assert_return(() => invoke($9, `load8_u`, [36636]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:919
+assert_return(() => invoke($9, `load8_u`, [36835]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:920
+assert_return(() => invoke($9, `load8_u`, [37034]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:921
+assert_return(() => invoke($9, `load8_u`, [37233]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:922
+assert_return(() => invoke($9, `load8_u`, [37432]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:923
+assert_return(() => invoke($9, `load8_u`, [37631]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:924
+assert_return(() => invoke($9, `load8_u`, [37830]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:925
+assert_return(() => invoke($9, `load8_u`, [38029]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:926
+assert_return(() => invoke($9, `load8_u`, [38228]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:927
+assert_return(() => invoke($9, `load8_u`, [38427]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:928
+assert_return(() => invoke($9, `load8_u`, [38626]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:929
+assert_return(() => invoke($9, `load8_u`, [38825]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:930
+assert_return(() => invoke($9, `load8_u`, [39024]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:931
+assert_return(() => invoke($9, `load8_u`, [39223]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:932
+assert_return(() => invoke($9, `load8_u`, [39422]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:933
+assert_return(() => invoke($9, `load8_u`, [39621]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:934
+assert_return(() => invoke($9, `load8_u`, [39820]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:935
+assert_return(() => invoke($9, `load8_u`, [40019]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:936
+assert_return(() => invoke($9, `load8_u`, [40218]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:937
+assert_return(() => invoke($9, `load8_u`, [40417]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:938
+assert_return(() => invoke($9, `load8_u`, [40616]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:939
+assert_return(() => invoke($9, `load8_u`, [40815]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:940
+assert_return(() => invoke($9, `load8_u`, [41014]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:941
+assert_return(() => invoke($9, `load8_u`, [41213]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:942
+assert_return(() => invoke($9, `load8_u`, [41412]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:943
+assert_return(() => invoke($9, `load8_u`, [41611]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:944
+assert_return(() => invoke($9, `load8_u`, [41810]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:945
+assert_return(() => invoke($9, `load8_u`, [42009]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:946
+assert_return(() => invoke($9, `load8_u`, [42208]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:947
+assert_return(() => invoke($9, `load8_u`, [42407]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:948
+assert_return(() => invoke($9, `load8_u`, [42606]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:949
+assert_return(() => invoke($9, `load8_u`, [42805]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:950
+assert_return(() => invoke($9, `load8_u`, [43004]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:951
+assert_return(() => invoke($9, `load8_u`, [43203]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:952
+assert_return(() => invoke($9, `load8_u`, [43402]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:953
+assert_return(() => invoke($9, `load8_u`, [43601]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:954
+assert_return(() => invoke($9, `load8_u`, [43800]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:955
+assert_return(() => invoke($9, `load8_u`, [43999]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:956
+assert_return(() => invoke($9, `load8_u`, [44198]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:957
+assert_return(() => invoke($9, `load8_u`, [44397]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:958
+assert_return(() => invoke($9, `load8_u`, [44596]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:959
+assert_return(() => invoke($9, `load8_u`, [44795]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:960
+assert_return(() => invoke($9, `load8_u`, [44994]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:961
+assert_return(() => invoke($9, `load8_u`, [45193]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:962
+assert_return(() => invoke($9, `load8_u`, [45392]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:963
+assert_return(() => invoke($9, `load8_u`, [45591]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:964
+assert_return(() => invoke($9, `load8_u`, [45790]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:965
+assert_return(() => invoke($9, `load8_u`, [45989]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:966
+assert_return(() => invoke($9, `load8_u`, [46188]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:967
+assert_return(() => invoke($9, `load8_u`, [46387]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:968
+assert_return(() => invoke($9, `load8_u`, [46586]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:969
+assert_return(() => invoke($9, `load8_u`, [46785]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:970
+assert_return(() => invoke($9, `load8_u`, [46984]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:971
+assert_return(() => invoke($9, `load8_u`, [47183]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:972
+assert_return(() => invoke($9, `load8_u`, [47382]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:973
+assert_return(() => invoke($9, `load8_u`, [47581]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:974
+assert_return(() => invoke($9, `load8_u`, [47780]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:975
+assert_return(() => invoke($9, `load8_u`, [47979]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:976
+assert_return(() => invoke($9, `load8_u`, [48178]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:977
+assert_return(() => invoke($9, `load8_u`, [48377]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:978
+assert_return(() => invoke($9, `load8_u`, [48576]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:979
+assert_return(() => invoke($9, `load8_u`, [48775]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:980
+assert_return(() => invoke($9, `load8_u`, [48974]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:981
+assert_return(() => invoke($9, `load8_u`, [49173]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:982
+assert_return(() => invoke($9, `load8_u`, [49372]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:983
+assert_return(() => invoke($9, `load8_u`, [49571]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:984
+assert_return(() => invoke($9, `load8_u`, [49770]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:985
+assert_return(() => invoke($9, `load8_u`, [49969]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:986
+assert_return(() => invoke($9, `load8_u`, [50168]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:987
+assert_return(() => invoke($9, `load8_u`, [50367]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:988
+assert_return(() => invoke($9, `load8_u`, [50566]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:989
+assert_return(() => invoke($9, `load8_u`, [50765]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:990
+assert_return(() => invoke($9, `load8_u`, [50964]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:991
+assert_return(() => invoke($9, `load8_u`, [51163]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:992
+assert_return(() => invoke($9, `load8_u`, [51362]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:993
+assert_return(() => invoke($9, `load8_u`, [51561]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:994
+assert_return(() => invoke($9, `load8_u`, [51760]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:995
+assert_return(() => invoke($9, `load8_u`, [51959]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:996
+assert_return(() => invoke($9, `load8_u`, [52158]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:997
+assert_return(() => invoke($9, `load8_u`, [52357]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:998
+assert_return(() => invoke($9, `load8_u`, [52556]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:999
+assert_return(() => invoke($9, `load8_u`, [52755]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1000
+assert_return(() => invoke($9, `load8_u`, [52954]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1001
+assert_return(() => invoke($9, `load8_u`, [53153]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1002
+assert_return(() => invoke($9, `load8_u`, [53352]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1003
+assert_return(() => invoke($9, `load8_u`, [53551]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1004
+assert_return(() => invoke($9, `load8_u`, [53750]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1005
+assert_return(() => invoke($9, `load8_u`, [53949]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1006
+assert_return(() => invoke($9, `load8_u`, [54148]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1007
+assert_return(() => invoke($9, `load8_u`, [54347]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1008
+assert_return(() => invoke($9, `load8_u`, [54546]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1009
+assert_return(() => invoke($9, `load8_u`, [54745]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1010
+assert_return(() => invoke($9, `load8_u`, [54944]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1011
+assert_return(() => invoke($9, `load8_u`, [55143]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1012
+assert_return(() => invoke($9, `load8_u`, [55342]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1013
+assert_return(() => invoke($9, `load8_u`, [55541]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1014
+assert_return(() => invoke($9, `load8_u`, [55740]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1015
+assert_return(() => invoke($9, `load8_u`, [55939]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1016
+assert_return(() => invoke($9, `load8_u`, [56138]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1017
+assert_return(() => invoke($9, `load8_u`, [56337]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1018
+assert_return(() => invoke($9, `load8_u`, [56536]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1019
+assert_return(() => invoke($9, `load8_u`, [56735]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1020
+assert_return(() => invoke($9, `load8_u`, [56934]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1021
+assert_return(() => invoke($9, `load8_u`, [57133]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1022
+assert_return(() => invoke($9, `load8_u`, [57332]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1023
+assert_return(() => invoke($9, `load8_u`, [57531]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1024
+assert_return(() => invoke($9, `load8_u`, [57730]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1025
+assert_return(() => invoke($9, `load8_u`, [57929]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1026
+assert_return(() => invoke($9, `load8_u`, [58128]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1027
+assert_return(() => invoke($9, `load8_u`, [58327]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1028
+assert_return(() => invoke($9, `load8_u`, [58526]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1029
+assert_return(() => invoke($9, `load8_u`, [58725]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1030
+assert_return(() => invoke($9, `load8_u`, [58924]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1031
+assert_return(() => invoke($9, `load8_u`, [59123]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1032
+assert_return(() => invoke($9, `load8_u`, [59322]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1033
+assert_return(() => invoke($9, `load8_u`, [59521]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1034
+assert_return(() => invoke($9, `load8_u`, [59720]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1035
+assert_return(() => invoke($9, `load8_u`, [59919]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1036
+assert_return(() => invoke($9, `load8_u`, [60118]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1037
+assert_return(() => invoke($9, `load8_u`, [60317]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1038
+assert_return(() => invoke($9, `load8_u`, [60516]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1039
+assert_return(() => invoke($9, `load8_u`, [60715]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1040
+assert_return(() => invoke($9, `load8_u`, [60914]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1041
+assert_return(() => invoke($9, `load8_u`, [61113]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1042
+assert_return(() => invoke($9, `load8_u`, [61312]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1043
+assert_return(() => invoke($9, `load8_u`, [61511]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1044
+assert_return(() => invoke($9, `load8_u`, [61710]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1045
+assert_return(() => invoke($9, `load8_u`, [61909]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1046
+assert_return(() => invoke($9, `load8_u`, [62108]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1047
+assert_return(() => invoke($9, `load8_u`, [62307]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1048
+assert_return(() => invoke($9, `load8_u`, [62506]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1049
+assert_return(() => invoke($9, `load8_u`, [62705]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1050
+assert_return(() => invoke($9, `load8_u`, [62904]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1051
+assert_return(() => invoke($9, `load8_u`, [63103]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1052
+assert_return(() => invoke($9, `load8_u`, [63302]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1053
+assert_return(() => invoke($9, `load8_u`, [63501]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1054
+assert_return(() => invoke($9, `load8_u`, [63700]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1055
+assert_return(() => invoke($9, `load8_u`, [63899]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1056
+assert_return(() => invoke($9, `load8_u`, [64098]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1057
+assert_return(() => invoke($9, `load8_u`, [64297]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1058
+assert_return(() => invoke($9, `load8_u`, [64496]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1059
+assert_return(() => invoke($9, `load8_u`, [64695]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1060
+assert_return(() => invoke($9, `load8_u`, [64894]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1061
+assert_return(() => invoke($9, `load8_u`, [65093]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1062
+assert_return(() => invoke($9, `load8_u`, [65292]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1063
+assert_return(() => invoke($9, `load8_u`, [65491]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1065
+let $10 = instantiate(`(module
+ (memory (export "mem") 1 1 )
+ (data (i32.const 65516) "\\00\\01\\02\\03\\04\\05\\06\\07\\08\\09\\0a\\0b\\0c\\0d\\0e\\0f\\10\\11\\12\\13")
+ (func (export "run") (param $$targetOffs i32) (param $$srcOffs i32) (param $$len i32)
+ (memory.copy (local.get $$targetOffs) (local.get $$srcOffs) (local.get $$len)))
+ (func (export "load8_u") (param i32) (result i32)
+ (i32.load8_u (local.get 0))))`);
+
+// ./test/core/memory_copy.wast:1073
+assert_trap(() => invoke($10, `run`, [0, 65516, 40]), `out of bounds memory access`);
+
+// ./test/core/memory_copy.wast:1076
+assert_return(() => invoke($10, `load8_u`, [198]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1077
+assert_return(() => invoke($10, `load8_u`, [397]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1078
+assert_return(() => invoke($10, `load8_u`, [596]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1079
+assert_return(() => invoke($10, `load8_u`, [795]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1080
+assert_return(() => invoke($10, `load8_u`, [994]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1081
+assert_return(() => invoke($10, `load8_u`, [1193]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1082
+assert_return(() => invoke($10, `load8_u`, [1392]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1083
+assert_return(() => invoke($10, `load8_u`, [1591]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1084
+assert_return(() => invoke($10, `load8_u`, [1790]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1085
+assert_return(() => invoke($10, `load8_u`, [1989]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1086
+assert_return(() => invoke($10, `load8_u`, [2188]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1087
+assert_return(() => invoke($10, `load8_u`, [2387]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1088
+assert_return(() => invoke($10, `load8_u`, [2586]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1089
+assert_return(() => invoke($10, `load8_u`, [2785]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1090
+assert_return(() => invoke($10, `load8_u`, [2984]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1091
+assert_return(() => invoke($10, `load8_u`, [3183]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1092
+assert_return(() => invoke($10, `load8_u`, [3382]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1093
+assert_return(() => invoke($10, `load8_u`, [3581]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1094
+assert_return(() => invoke($10, `load8_u`, [3780]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1095
+assert_return(() => invoke($10, `load8_u`, [3979]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1096
+assert_return(() => invoke($10, `load8_u`, [4178]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1097
+assert_return(() => invoke($10, `load8_u`, [4377]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1098
+assert_return(() => invoke($10, `load8_u`, [4576]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1099
+assert_return(() => invoke($10, `load8_u`, [4775]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1100
+assert_return(() => invoke($10, `load8_u`, [4974]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1101
+assert_return(() => invoke($10, `load8_u`, [5173]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1102
+assert_return(() => invoke($10, `load8_u`, [5372]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1103
+assert_return(() => invoke($10, `load8_u`, [5571]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1104
+assert_return(() => invoke($10, `load8_u`, [5770]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1105
+assert_return(() => invoke($10, `load8_u`, [5969]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1106
+assert_return(() => invoke($10, `load8_u`, [6168]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1107
+assert_return(() => invoke($10, `load8_u`, [6367]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1108
+assert_return(() => invoke($10, `load8_u`, [6566]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1109
+assert_return(() => invoke($10, `load8_u`, [6765]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1110
+assert_return(() => invoke($10, `load8_u`, [6964]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1111
+assert_return(() => invoke($10, `load8_u`, [7163]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1112
+assert_return(() => invoke($10, `load8_u`, [7362]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1113
+assert_return(() => invoke($10, `load8_u`, [7561]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1114
+assert_return(() => invoke($10, `load8_u`, [7760]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1115
+assert_return(() => invoke($10, `load8_u`, [7959]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1116
+assert_return(() => invoke($10, `load8_u`, [8158]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1117
+assert_return(() => invoke($10, `load8_u`, [8357]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1118
+assert_return(() => invoke($10, `load8_u`, [8556]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1119
+assert_return(() => invoke($10, `load8_u`, [8755]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1120
+assert_return(() => invoke($10, `load8_u`, [8954]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1121
+assert_return(() => invoke($10, `load8_u`, [9153]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1122
+assert_return(() => invoke($10, `load8_u`, [9352]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1123
+assert_return(() => invoke($10, `load8_u`, [9551]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1124
+assert_return(() => invoke($10, `load8_u`, [9750]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1125
+assert_return(() => invoke($10, `load8_u`, [9949]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1126
+assert_return(() => invoke($10, `load8_u`, [10148]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1127
+assert_return(() => invoke($10, `load8_u`, [10347]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1128
+assert_return(() => invoke($10, `load8_u`, [10546]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1129
+assert_return(() => invoke($10, `load8_u`, [10745]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1130
+assert_return(() => invoke($10, `load8_u`, [10944]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1131
+assert_return(() => invoke($10, `load8_u`, [11143]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1132
+assert_return(() => invoke($10, `load8_u`, [11342]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1133
+assert_return(() => invoke($10, `load8_u`, [11541]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1134
+assert_return(() => invoke($10, `load8_u`, [11740]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1135
+assert_return(() => invoke($10, `load8_u`, [11939]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1136
+assert_return(() => invoke($10, `load8_u`, [12138]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1137
+assert_return(() => invoke($10, `load8_u`, [12337]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1138
+assert_return(() => invoke($10, `load8_u`, [12536]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1139
+assert_return(() => invoke($10, `load8_u`, [12735]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1140
+assert_return(() => invoke($10, `load8_u`, [12934]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1141
+assert_return(() => invoke($10, `load8_u`, [13133]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1142
+assert_return(() => invoke($10, `load8_u`, [13332]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1143
+assert_return(() => invoke($10, `load8_u`, [13531]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1144
+assert_return(() => invoke($10, `load8_u`, [13730]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1145
+assert_return(() => invoke($10, `load8_u`, [13929]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1146
+assert_return(() => invoke($10, `load8_u`, [14128]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1147
+assert_return(() => invoke($10, `load8_u`, [14327]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1148
+assert_return(() => invoke($10, `load8_u`, [14526]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1149
+assert_return(() => invoke($10, `load8_u`, [14725]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1150
+assert_return(() => invoke($10, `load8_u`, [14924]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1151
+assert_return(() => invoke($10, `load8_u`, [15123]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1152
+assert_return(() => invoke($10, `load8_u`, [15322]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1153
+assert_return(() => invoke($10, `load8_u`, [15521]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1154
+assert_return(() => invoke($10, `load8_u`, [15720]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1155
+assert_return(() => invoke($10, `load8_u`, [15919]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1156
+assert_return(() => invoke($10, `load8_u`, [16118]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1157
+assert_return(() => invoke($10, `load8_u`, [16317]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1158
+assert_return(() => invoke($10, `load8_u`, [16516]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1159
+assert_return(() => invoke($10, `load8_u`, [16715]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1160
+assert_return(() => invoke($10, `load8_u`, [16914]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1161
+assert_return(() => invoke($10, `load8_u`, [17113]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1162
+assert_return(() => invoke($10, `load8_u`, [17312]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1163
+assert_return(() => invoke($10, `load8_u`, [17511]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1164
+assert_return(() => invoke($10, `load8_u`, [17710]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1165
+assert_return(() => invoke($10, `load8_u`, [17909]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1166
+assert_return(() => invoke($10, `load8_u`, [18108]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1167
+assert_return(() => invoke($10, `load8_u`, [18307]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1168
+assert_return(() => invoke($10, `load8_u`, [18506]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1169
+assert_return(() => invoke($10, `load8_u`, [18705]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1170
+assert_return(() => invoke($10, `load8_u`, [18904]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1171
+assert_return(() => invoke($10, `load8_u`, [19103]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1172
+assert_return(() => invoke($10, `load8_u`, [19302]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1173
+assert_return(() => invoke($10, `load8_u`, [19501]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1174
+assert_return(() => invoke($10, `load8_u`, [19700]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1175
+assert_return(() => invoke($10, `load8_u`, [19899]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1176
+assert_return(() => invoke($10, `load8_u`, [20098]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1177
+assert_return(() => invoke($10, `load8_u`, [20297]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1178
+assert_return(() => invoke($10, `load8_u`, [20496]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1179
+assert_return(() => invoke($10, `load8_u`, [20695]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1180
+assert_return(() => invoke($10, `load8_u`, [20894]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1181
+assert_return(() => invoke($10, `load8_u`, [21093]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1182
+assert_return(() => invoke($10, `load8_u`, [21292]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1183
+assert_return(() => invoke($10, `load8_u`, [21491]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1184
+assert_return(() => invoke($10, `load8_u`, [21690]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1185
+assert_return(() => invoke($10, `load8_u`, [21889]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1186
+assert_return(() => invoke($10, `load8_u`, [22088]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1187
+assert_return(() => invoke($10, `load8_u`, [22287]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1188
+assert_return(() => invoke($10, `load8_u`, [22486]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1189
+assert_return(() => invoke($10, `load8_u`, [22685]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1190
+assert_return(() => invoke($10, `load8_u`, [22884]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1191
+assert_return(() => invoke($10, `load8_u`, [23083]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1192
+assert_return(() => invoke($10, `load8_u`, [23282]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1193
+assert_return(() => invoke($10, `load8_u`, [23481]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1194
+assert_return(() => invoke($10, `load8_u`, [23680]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1195
+assert_return(() => invoke($10, `load8_u`, [23879]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1196
+assert_return(() => invoke($10, `load8_u`, [24078]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1197
+assert_return(() => invoke($10, `load8_u`, [24277]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1198
+assert_return(() => invoke($10, `load8_u`, [24476]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1199
+assert_return(() => invoke($10, `load8_u`, [24675]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1200
+assert_return(() => invoke($10, `load8_u`, [24874]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1201
+assert_return(() => invoke($10, `load8_u`, [25073]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1202
+assert_return(() => invoke($10, `load8_u`, [25272]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1203
+assert_return(() => invoke($10, `load8_u`, [25471]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1204
+assert_return(() => invoke($10, `load8_u`, [25670]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1205
+assert_return(() => invoke($10, `load8_u`, [25869]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1206
+assert_return(() => invoke($10, `load8_u`, [26068]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1207
+assert_return(() => invoke($10, `load8_u`, [26267]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1208
+assert_return(() => invoke($10, `load8_u`, [26466]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1209
+assert_return(() => invoke($10, `load8_u`, [26665]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1210
+assert_return(() => invoke($10, `load8_u`, [26864]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1211
+assert_return(() => invoke($10, `load8_u`, [27063]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1212
+assert_return(() => invoke($10, `load8_u`, [27262]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1213
+assert_return(() => invoke($10, `load8_u`, [27461]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1214
+assert_return(() => invoke($10, `load8_u`, [27660]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1215
+assert_return(() => invoke($10, `load8_u`, [27859]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1216
+assert_return(() => invoke($10, `load8_u`, [28058]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1217
+assert_return(() => invoke($10, `load8_u`, [28257]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1218
+assert_return(() => invoke($10, `load8_u`, [28456]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1219
+assert_return(() => invoke($10, `load8_u`, [28655]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1220
+assert_return(() => invoke($10, `load8_u`, [28854]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1221
+assert_return(() => invoke($10, `load8_u`, [29053]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1222
+assert_return(() => invoke($10, `load8_u`, [29252]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1223
+assert_return(() => invoke($10, `load8_u`, [29451]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1224
+assert_return(() => invoke($10, `load8_u`, [29650]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1225
+assert_return(() => invoke($10, `load8_u`, [29849]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1226
+assert_return(() => invoke($10, `load8_u`, [30048]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1227
+assert_return(() => invoke($10, `load8_u`, [30247]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1228
+assert_return(() => invoke($10, `load8_u`, [30446]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1229
+assert_return(() => invoke($10, `load8_u`, [30645]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1230
+assert_return(() => invoke($10, `load8_u`, [30844]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1231
+assert_return(() => invoke($10, `load8_u`, [31043]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1232
+assert_return(() => invoke($10, `load8_u`, [31242]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1233
+assert_return(() => invoke($10, `load8_u`, [31441]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1234
+assert_return(() => invoke($10, `load8_u`, [31640]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1235
+assert_return(() => invoke($10, `load8_u`, [31839]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1236
+assert_return(() => invoke($10, `load8_u`, [32038]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1237
+assert_return(() => invoke($10, `load8_u`, [32237]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1238
+assert_return(() => invoke($10, `load8_u`, [32436]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1239
+assert_return(() => invoke($10, `load8_u`, [32635]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1240
+assert_return(() => invoke($10, `load8_u`, [32834]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1241
+assert_return(() => invoke($10, `load8_u`, [33033]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1242
+assert_return(() => invoke($10, `load8_u`, [33232]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1243
+assert_return(() => invoke($10, `load8_u`, [33431]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1244
+assert_return(() => invoke($10, `load8_u`, [33630]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1245
+assert_return(() => invoke($10, `load8_u`, [33829]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1246
+assert_return(() => invoke($10, `load8_u`, [34028]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1247
+assert_return(() => invoke($10, `load8_u`, [34227]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1248
+assert_return(() => invoke($10, `load8_u`, [34426]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1249
+assert_return(() => invoke($10, `load8_u`, [34625]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1250
+assert_return(() => invoke($10, `load8_u`, [34824]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1251
+assert_return(() => invoke($10, `load8_u`, [35023]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1252
+assert_return(() => invoke($10, `load8_u`, [35222]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1253
+assert_return(() => invoke($10, `load8_u`, [35421]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1254
+assert_return(() => invoke($10, `load8_u`, [35620]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1255
+assert_return(() => invoke($10, `load8_u`, [35819]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1256
+assert_return(() => invoke($10, `load8_u`, [36018]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1257
+assert_return(() => invoke($10, `load8_u`, [36217]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1258
+assert_return(() => invoke($10, `load8_u`, [36416]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1259
+assert_return(() => invoke($10, `load8_u`, [36615]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1260
+assert_return(() => invoke($10, `load8_u`, [36814]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1261
+assert_return(() => invoke($10, `load8_u`, [37013]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1262
+assert_return(() => invoke($10, `load8_u`, [37212]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1263
+assert_return(() => invoke($10, `load8_u`, [37411]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1264
+assert_return(() => invoke($10, `load8_u`, [37610]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1265
+assert_return(() => invoke($10, `load8_u`, [37809]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1266
+assert_return(() => invoke($10, `load8_u`, [38008]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1267
+assert_return(() => invoke($10, `load8_u`, [38207]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1268
+assert_return(() => invoke($10, `load8_u`, [38406]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1269
+assert_return(() => invoke($10, `load8_u`, [38605]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1270
+assert_return(() => invoke($10, `load8_u`, [38804]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1271
+assert_return(() => invoke($10, `load8_u`, [39003]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1272
+assert_return(() => invoke($10, `load8_u`, [39202]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1273
+assert_return(() => invoke($10, `load8_u`, [39401]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1274
+assert_return(() => invoke($10, `load8_u`, [39600]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1275
+assert_return(() => invoke($10, `load8_u`, [39799]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1276
+assert_return(() => invoke($10, `load8_u`, [39998]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1277
+assert_return(() => invoke($10, `load8_u`, [40197]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1278
+assert_return(() => invoke($10, `load8_u`, [40396]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1279
+assert_return(() => invoke($10, `load8_u`, [40595]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1280
+assert_return(() => invoke($10, `load8_u`, [40794]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1281
+assert_return(() => invoke($10, `load8_u`, [40993]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1282
+assert_return(() => invoke($10, `load8_u`, [41192]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1283
+assert_return(() => invoke($10, `load8_u`, [41391]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1284
+assert_return(() => invoke($10, `load8_u`, [41590]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1285
+assert_return(() => invoke($10, `load8_u`, [41789]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1286
+assert_return(() => invoke($10, `load8_u`, [41988]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1287
+assert_return(() => invoke($10, `load8_u`, [42187]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1288
+assert_return(() => invoke($10, `load8_u`, [42386]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1289
+assert_return(() => invoke($10, `load8_u`, [42585]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1290
+assert_return(() => invoke($10, `load8_u`, [42784]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1291
+assert_return(() => invoke($10, `load8_u`, [42983]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1292
+assert_return(() => invoke($10, `load8_u`, [43182]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1293
+assert_return(() => invoke($10, `load8_u`, [43381]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1294
+assert_return(() => invoke($10, `load8_u`, [43580]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1295
+assert_return(() => invoke($10, `load8_u`, [43779]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1296
+assert_return(() => invoke($10, `load8_u`, [43978]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1297
+assert_return(() => invoke($10, `load8_u`, [44177]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1298
+assert_return(() => invoke($10, `load8_u`, [44376]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1299
+assert_return(() => invoke($10, `load8_u`, [44575]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1300
+assert_return(() => invoke($10, `load8_u`, [44774]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1301
+assert_return(() => invoke($10, `load8_u`, [44973]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1302
+assert_return(() => invoke($10, `load8_u`, [45172]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1303
+assert_return(() => invoke($10, `load8_u`, [45371]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1304
+assert_return(() => invoke($10, `load8_u`, [45570]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1305
+assert_return(() => invoke($10, `load8_u`, [45769]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1306
+assert_return(() => invoke($10, `load8_u`, [45968]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1307
+assert_return(() => invoke($10, `load8_u`, [46167]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1308
+assert_return(() => invoke($10, `load8_u`, [46366]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1309
+assert_return(() => invoke($10, `load8_u`, [46565]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1310
+assert_return(() => invoke($10, `load8_u`, [46764]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1311
+assert_return(() => invoke($10, `load8_u`, [46963]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1312
+assert_return(() => invoke($10, `load8_u`, [47162]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1313
+assert_return(() => invoke($10, `load8_u`, [47361]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1314
+assert_return(() => invoke($10, `load8_u`, [47560]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1315
+assert_return(() => invoke($10, `load8_u`, [47759]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1316
+assert_return(() => invoke($10, `load8_u`, [47958]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1317
+assert_return(() => invoke($10, `load8_u`, [48157]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1318
+assert_return(() => invoke($10, `load8_u`, [48356]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1319
+assert_return(() => invoke($10, `load8_u`, [48555]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1320
+assert_return(() => invoke($10, `load8_u`, [48754]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1321
+assert_return(() => invoke($10, `load8_u`, [48953]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1322
+assert_return(() => invoke($10, `load8_u`, [49152]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1323
+assert_return(() => invoke($10, `load8_u`, [49351]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1324
+assert_return(() => invoke($10, `load8_u`, [49550]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1325
+assert_return(() => invoke($10, `load8_u`, [49749]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1326
+assert_return(() => invoke($10, `load8_u`, [49948]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1327
+assert_return(() => invoke($10, `load8_u`, [50147]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1328
+assert_return(() => invoke($10, `load8_u`, [50346]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1329
+assert_return(() => invoke($10, `load8_u`, [50545]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1330
+assert_return(() => invoke($10, `load8_u`, [50744]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1331
+assert_return(() => invoke($10, `load8_u`, [50943]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1332
+assert_return(() => invoke($10, `load8_u`, [51142]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1333
+assert_return(() => invoke($10, `load8_u`, [51341]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1334
+assert_return(() => invoke($10, `load8_u`, [51540]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1335
+assert_return(() => invoke($10, `load8_u`, [51739]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1336
+assert_return(() => invoke($10, `load8_u`, [51938]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1337
+assert_return(() => invoke($10, `load8_u`, [52137]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1338
+assert_return(() => invoke($10, `load8_u`, [52336]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1339
+assert_return(() => invoke($10, `load8_u`, [52535]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1340
+assert_return(() => invoke($10, `load8_u`, [52734]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1341
+assert_return(() => invoke($10, `load8_u`, [52933]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1342
+assert_return(() => invoke($10, `load8_u`, [53132]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1343
+assert_return(() => invoke($10, `load8_u`, [53331]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1344
+assert_return(() => invoke($10, `load8_u`, [53530]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1345
+assert_return(() => invoke($10, `load8_u`, [53729]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1346
+assert_return(() => invoke($10, `load8_u`, [53928]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1347
+assert_return(() => invoke($10, `load8_u`, [54127]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1348
+assert_return(() => invoke($10, `load8_u`, [54326]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1349
+assert_return(() => invoke($10, `load8_u`, [54525]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1350
+assert_return(() => invoke($10, `load8_u`, [54724]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1351
+assert_return(() => invoke($10, `load8_u`, [54923]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1352
+assert_return(() => invoke($10, `load8_u`, [55122]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1353
+assert_return(() => invoke($10, `load8_u`, [55321]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1354
+assert_return(() => invoke($10, `load8_u`, [55520]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1355
+assert_return(() => invoke($10, `load8_u`, [55719]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1356
+assert_return(() => invoke($10, `load8_u`, [55918]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1357
+assert_return(() => invoke($10, `load8_u`, [56117]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1358
+assert_return(() => invoke($10, `load8_u`, [56316]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1359
+assert_return(() => invoke($10, `load8_u`, [56515]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1360
+assert_return(() => invoke($10, `load8_u`, [56714]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1361
+assert_return(() => invoke($10, `load8_u`, [56913]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1362
+assert_return(() => invoke($10, `load8_u`, [57112]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1363
+assert_return(() => invoke($10, `load8_u`, [57311]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1364
+assert_return(() => invoke($10, `load8_u`, [57510]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1365
+assert_return(() => invoke($10, `load8_u`, [57709]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1366
+assert_return(() => invoke($10, `load8_u`, [57908]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1367
+assert_return(() => invoke($10, `load8_u`, [58107]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1368
+assert_return(() => invoke($10, `load8_u`, [58306]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1369
+assert_return(() => invoke($10, `load8_u`, [58505]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1370
+assert_return(() => invoke($10, `load8_u`, [58704]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1371
+assert_return(() => invoke($10, `load8_u`, [58903]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1372
+assert_return(() => invoke($10, `load8_u`, [59102]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1373
+assert_return(() => invoke($10, `load8_u`, [59301]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1374
+assert_return(() => invoke($10, `load8_u`, [59500]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1375
+assert_return(() => invoke($10, `load8_u`, [59699]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1376
+assert_return(() => invoke($10, `load8_u`, [59898]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1377
+assert_return(() => invoke($10, `load8_u`, [60097]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1378
+assert_return(() => invoke($10, `load8_u`, [60296]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1379
+assert_return(() => invoke($10, `load8_u`, [60495]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1380
+assert_return(() => invoke($10, `load8_u`, [60694]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1381
+assert_return(() => invoke($10, `load8_u`, [60893]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1382
+assert_return(() => invoke($10, `load8_u`, [61092]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1383
+assert_return(() => invoke($10, `load8_u`, [61291]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1384
+assert_return(() => invoke($10, `load8_u`, [61490]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1385
+assert_return(() => invoke($10, `load8_u`, [61689]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1386
+assert_return(() => invoke($10, `load8_u`, [61888]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1387
+assert_return(() => invoke($10, `load8_u`, [62087]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1388
+assert_return(() => invoke($10, `load8_u`, [62286]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1389
+assert_return(() => invoke($10, `load8_u`, [62485]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1390
+assert_return(() => invoke($10, `load8_u`, [62684]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1391
+assert_return(() => invoke($10, `load8_u`, [62883]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1392
+assert_return(() => invoke($10, `load8_u`, [63082]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1393
+assert_return(() => invoke($10, `load8_u`, [63281]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1394
+assert_return(() => invoke($10, `load8_u`, [63480]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1395
+assert_return(() => invoke($10, `load8_u`, [63679]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1396
+assert_return(() => invoke($10, `load8_u`, [63878]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1397
+assert_return(() => invoke($10, `load8_u`, [64077]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1398
+assert_return(() => invoke($10, `load8_u`, [64276]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1399
+assert_return(() => invoke($10, `load8_u`, [64475]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1400
+assert_return(() => invoke($10, `load8_u`, [64674]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1401
+assert_return(() => invoke($10, `load8_u`, [64873]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1402
+assert_return(() => invoke($10, `load8_u`, [65072]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1403
+assert_return(() => invoke($10, `load8_u`, [65271]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1404
+assert_return(() => invoke($10, `load8_u`, [65470]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1405
+assert_return(() => invoke($10, `load8_u`, [65516]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1406
+assert_return(() => invoke($10, `load8_u`, [65517]), [value("i32", 1)]);
+
+// ./test/core/memory_copy.wast:1407
+assert_return(() => invoke($10, `load8_u`, [65518]), [value("i32", 2)]);
+
+// ./test/core/memory_copy.wast:1408
+assert_return(() => invoke($10, `load8_u`, [65519]), [value("i32", 3)]);
+
+// ./test/core/memory_copy.wast:1409
+assert_return(() => invoke($10, `load8_u`, [65520]), [value("i32", 4)]);
+
+// ./test/core/memory_copy.wast:1410
+assert_return(() => invoke($10, `load8_u`, [65521]), [value("i32", 5)]);
+
+// ./test/core/memory_copy.wast:1411
+assert_return(() => invoke($10, `load8_u`, [65522]), [value("i32", 6)]);
+
+// ./test/core/memory_copy.wast:1412
+assert_return(() => invoke($10, `load8_u`, [65523]), [value("i32", 7)]);
+
+// ./test/core/memory_copy.wast:1413
+assert_return(() => invoke($10, `load8_u`, [65524]), [value("i32", 8)]);
+
+// ./test/core/memory_copy.wast:1414
+assert_return(() => invoke($10, `load8_u`, [65525]), [value("i32", 9)]);
+
+// ./test/core/memory_copy.wast:1415
+assert_return(() => invoke($10, `load8_u`, [65526]), [value("i32", 10)]);
+
+// ./test/core/memory_copy.wast:1416
+assert_return(() => invoke($10, `load8_u`, [65527]), [value("i32", 11)]);
+
+// ./test/core/memory_copy.wast:1417
+assert_return(() => invoke($10, `load8_u`, [65528]), [value("i32", 12)]);
+
+// ./test/core/memory_copy.wast:1418
+assert_return(() => invoke($10, `load8_u`, [65529]), [value("i32", 13)]);
+
+// ./test/core/memory_copy.wast:1419
+assert_return(() => invoke($10, `load8_u`, [65530]), [value("i32", 14)]);
+
+// ./test/core/memory_copy.wast:1420
+assert_return(() => invoke($10, `load8_u`, [65531]), [value("i32", 15)]);
+
+// ./test/core/memory_copy.wast:1421
+assert_return(() => invoke($10, `load8_u`, [65532]), [value("i32", 16)]);
+
+// ./test/core/memory_copy.wast:1422
+assert_return(() => invoke($10, `load8_u`, [65533]), [value("i32", 17)]);
+
+// ./test/core/memory_copy.wast:1423
+assert_return(() => invoke($10, `load8_u`, [65534]), [value("i32", 18)]);
+
+// ./test/core/memory_copy.wast:1424
+assert_return(() => invoke($10, `load8_u`, [65535]), [value("i32", 19)]);
+
+// ./test/core/memory_copy.wast:1426
+let $11 = instantiate(`(module
+ (memory (export "mem") 1 1 )
+ (data (i32.const 65515) "\\00\\01\\02\\03\\04\\05\\06\\07\\08\\09\\0a\\0b\\0c\\0d\\0e\\0f\\10\\11\\12\\13\\14")
+ (func (export "run") (param $$targetOffs i32) (param $$srcOffs i32) (param $$len i32)
+ (memory.copy (local.get $$targetOffs) (local.get $$srcOffs) (local.get $$len)))
+ (func (export "load8_u") (param i32) (result i32)
+ (i32.load8_u (local.get 0))))`);
+
+// ./test/core/memory_copy.wast:1434
+assert_trap(() => invoke($11, `run`, [0, 65515, 39]), `out of bounds memory access`);
+
+// ./test/core/memory_copy.wast:1437
+assert_return(() => invoke($11, `load8_u`, [198]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1438
+assert_return(() => invoke($11, `load8_u`, [397]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1439
+assert_return(() => invoke($11, `load8_u`, [596]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1440
+assert_return(() => invoke($11, `load8_u`, [795]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1441
+assert_return(() => invoke($11, `load8_u`, [994]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1442
+assert_return(() => invoke($11, `load8_u`, [1193]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1443
+assert_return(() => invoke($11, `load8_u`, [1392]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1444
+assert_return(() => invoke($11, `load8_u`, [1591]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1445
+assert_return(() => invoke($11, `load8_u`, [1790]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1446
+assert_return(() => invoke($11, `load8_u`, [1989]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1447
+assert_return(() => invoke($11, `load8_u`, [2188]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1448
+assert_return(() => invoke($11, `load8_u`, [2387]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1449
+assert_return(() => invoke($11, `load8_u`, [2586]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1450
+assert_return(() => invoke($11, `load8_u`, [2785]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1451
+assert_return(() => invoke($11, `load8_u`, [2984]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1452
+assert_return(() => invoke($11, `load8_u`, [3183]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1453
+assert_return(() => invoke($11, `load8_u`, [3382]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1454
+assert_return(() => invoke($11, `load8_u`, [3581]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1455
+assert_return(() => invoke($11, `load8_u`, [3780]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1456
+assert_return(() => invoke($11, `load8_u`, [3979]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1457
+assert_return(() => invoke($11, `load8_u`, [4178]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1458
+assert_return(() => invoke($11, `load8_u`, [4377]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1459
+assert_return(() => invoke($11, `load8_u`, [4576]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1460
+assert_return(() => invoke($11, `load8_u`, [4775]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1461
+assert_return(() => invoke($11, `load8_u`, [4974]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1462
+assert_return(() => invoke($11, `load8_u`, [5173]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1463
+assert_return(() => invoke($11, `load8_u`, [5372]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1464
+assert_return(() => invoke($11, `load8_u`, [5571]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1465
+assert_return(() => invoke($11, `load8_u`, [5770]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1466
+assert_return(() => invoke($11, `load8_u`, [5969]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1467
+assert_return(() => invoke($11, `load8_u`, [6168]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1468
+assert_return(() => invoke($11, `load8_u`, [6367]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1469
+assert_return(() => invoke($11, `load8_u`, [6566]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1470
+assert_return(() => invoke($11, `load8_u`, [6765]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1471
+assert_return(() => invoke($11, `load8_u`, [6964]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1472
+assert_return(() => invoke($11, `load8_u`, [7163]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1473
+assert_return(() => invoke($11, `load8_u`, [7362]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1474
+assert_return(() => invoke($11, `load8_u`, [7561]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1475
+assert_return(() => invoke($11, `load8_u`, [7760]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1476
+assert_return(() => invoke($11, `load8_u`, [7959]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1477
+assert_return(() => invoke($11, `load8_u`, [8158]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1478
+assert_return(() => invoke($11, `load8_u`, [8357]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1479
+assert_return(() => invoke($11, `load8_u`, [8556]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1480
+assert_return(() => invoke($11, `load8_u`, [8755]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1481
+assert_return(() => invoke($11, `load8_u`, [8954]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1482
+assert_return(() => invoke($11, `load8_u`, [9153]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1483
+assert_return(() => invoke($11, `load8_u`, [9352]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1484
+assert_return(() => invoke($11, `load8_u`, [9551]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1485
+assert_return(() => invoke($11, `load8_u`, [9750]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1486
+assert_return(() => invoke($11, `load8_u`, [9949]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1487
+assert_return(() => invoke($11, `load8_u`, [10148]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1488
+assert_return(() => invoke($11, `load8_u`, [10347]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1489
+assert_return(() => invoke($11, `load8_u`, [10546]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1490
+assert_return(() => invoke($11, `load8_u`, [10745]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1491
+assert_return(() => invoke($11, `load8_u`, [10944]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1492
+assert_return(() => invoke($11, `load8_u`, [11143]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1493
+assert_return(() => invoke($11, `load8_u`, [11342]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1494
+assert_return(() => invoke($11, `load8_u`, [11541]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1495
+assert_return(() => invoke($11, `load8_u`, [11740]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1496
+assert_return(() => invoke($11, `load8_u`, [11939]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1497
+assert_return(() => invoke($11, `load8_u`, [12138]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1498
+assert_return(() => invoke($11, `load8_u`, [12337]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1499
+assert_return(() => invoke($11, `load8_u`, [12536]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1500
+assert_return(() => invoke($11, `load8_u`, [12735]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1501
+assert_return(() => invoke($11, `load8_u`, [12934]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1502
+assert_return(() => invoke($11, `load8_u`, [13133]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1503
+assert_return(() => invoke($11, `load8_u`, [13332]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1504
+assert_return(() => invoke($11, `load8_u`, [13531]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1505
+assert_return(() => invoke($11, `load8_u`, [13730]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1506
+assert_return(() => invoke($11, `load8_u`, [13929]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1507
+assert_return(() => invoke($11, `load8_u`, [14128]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1508
+assert_return(() => invoke($11, `load8_u`, [14327]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1509
+assert_return(() => invoke($11, `load8_u`, [14526]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1510
+assert_return(() => invoke($11, `load8_u`, [14725]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1511
+assert_return(() => invoke($11, `load8_u`, [14924]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1512
+assert_return(() => invoke($11, `load8_u`, [15123]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1513
+assert_return(() => invoke($11, `load8_u`, [15322]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1514
+assert_return(() => invoke($11, `load8_u`, [15521]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1515
+assert_return(() => invoke($11, `load8_u`, [15720]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1516
+assert_return(() => invoke($11, `load8_u`, [15919]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1517
+assert_return(() => invoke($11, `load8_u`, [16118]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1518
+assert_return(() => invoke($11, `load8_u`, [16317]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1519
+assert_return(() => invoke($11, `load8_u`, [16516]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1520
+assert_return(() => invoke($11, `load8_u`, [16715]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1521
+assert_return(() => invoke($11, `load8_u`, [16914]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1522
+assert_return(() => invoke($11, `load8_u`, [17113]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1523
+assert_return(() => invoke($11, `load8_u`, [17312]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1524
+assert_return(() => invoke($11, `load8_u`, [17511]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1525
+assert_return(() => invoke($11, `load8_u`, [17710]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1526
+assert_return(() => invoke($11, `load8_u`, [17909]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1527
+assert_return(() => invoke($11, `load8_u`, [18108]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1528
+assert_return(() => invoke($11, `load8_u`, [18307]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1529
+assert_return(() => invoke($11, `load8_u`, [18506]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1530
+assert_return(() => invoke($11, `load8_u`, [18705]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1531
+assert_return(() => invoke($11, `load8_u`, [18904]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1532
+assert_return(() => invoke($11, `load8_u`, [19103]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1533
+assert_return(() => invoke($11, `load8_u`, [19302]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1534
+assert_return(() => invoke($11, `load8_u`, [19501]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1535
+assert_return(() => invoke($11, `load8_u`, [19700]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1536
+assert_return(() => invoke($11, `load8_u`, [19899]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1537
+assert_return(() => invoke($11, `load8_u`, [20098]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1538
+assert_return(() => invoke($11, `load8_u`, [20297]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1539
+assert_return(() => invoke($11, `load8_u`, [20496]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1540
+assert_return(() => invoke($11, `load8_u`, [20695]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1541
+assert_return(() => invoke($11, `load8_u`, [20894]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1542
+assert_return(() => invoke($11, `load8_u`, [21093]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1543
+assert_return(() => invoke($11, `load8_u`, [21292]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1544
+assert_return(() => invoke($11, `load8_u`, [21491]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1545
+assert_return(() => invoke($11, `load8_u`, [21690]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1546
+assert_return(() => invoke($11, `load8_u`, [21889]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1547
+assert_return(() => invoke($11, `load8_u`, [22088]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1548
+assert_return(() => invoke($11, `load8_u`, [22287]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1549
+assert_return(() => invoke($11, `load8_u`, [22486]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1550
+assert_return(() => invoke($11, `load8_u`, [22685]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1551
+assert_return(() => invoke($11, `load8_u`, [22884]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1552
+assert_return(() => invoke($11, `load8_u`, [23083]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1553
+assert_return(() => invoke($11, `load8_u`, [23282]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1554
+assert_return(() => invoke($11, `load8_u`, [23481]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1555
+assert_return(() => invoke($11, `load8_u`, [23680]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1556
+assert_return(() => invoke($11, `load8_u`, [23879]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1557
+assert_return(() => invoke($11, `load8_u`, [24078]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1558
+assert_return(() => invoke($11, `load8_u`, [24277]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1559
+assert_return(() => invoke($11, `load8_u`, [24476]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1560
+assert_return(() => invoke($11, `load8_u`, [24675]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1561
+assert_return(() => invoke($11, `load8_u`, [24874]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1562
+assert_return(() => invoke($11, `load8_u`, [25073]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1563
+assert_return(() => invoke($11, `load8_u`, [25272]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1564
+assert_return(() => invoke($11, `load8_u`, [25471]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1565
+assert_return(() => invoke($11, `load8_u`, [25670]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1566
+assert_return(() => invoke($11, `load8_u`, [25869]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1567
+assert_return(() => invoke($11, `load8_u`, [26068]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1568
+assert_return(() => invoke($11, `load8_u`, [26267]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1569
+assert_return(() => invoke($11, `load8_u`, [26466]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1570
+assert_return(() => invoke($11, `load8_u`, [26665]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1571
+assert_return(() => invoke($11, `load8_u`, [26864]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1572
+assert_return(() => invoke($11, `load8_u`, [27063]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1573
+assert_return(() => invoke($11, `load8_u`, [27262]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1574
+assert_return(() => invoke($11, `load8_u`, [27461]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1575
+assert_return(() => invoke($11, `load8_u`, [27660]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1576
+assert_return(() => invoke($11, `load8_u`, [27859]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1577
+assert_return(() => invoke($11, `load8_u`, [28058]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1578
+assert_return(() => invoke($11, `load8_u`, [28257]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1579
+assert_return(() => invoke($11, `load8_u`, [28456]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1580
+assert_return(() => invoke($11, `load8_u`, [28655]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1581
+assert_return(() => invoke($11, `load8_u`, [28854]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1582
+assert_return(() => invoke($11, `load8_u`, [29053]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1583
+assert_return(() => invoke($11, `load8_u`, [29252]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1584
+assert_return(() => invoke($11, `load8_u`, [29451]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1585
+assert_return(() => invoke($11, `load8_u`, [29650]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1586
+assert_return(() => invoke($11, `load8_u`, [29849]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1587
+assert_return(() => invoke($11, `load8_u`, [30048]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1588
+assert_return(() => invoke($11, `load8_u`, [30247]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1589
+assert_return(() => invoke($11, `load8_u`, [30446]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1590
+assert_return(() => invoke($11, `load8_u`, [30645]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1591
+assert_return(() => invoke($11, `load8_u`, [30844]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1592
+assert_return(() => invoke($11, `load8_u`, [31043]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1593
+assert_return(() => invoke($11, `load8_u`, [31242]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1594
+assert_return(() => invoke($11, `load8_u`, [31441]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1595
+assert_return(() => invoke($11, `load8_u`, [31640]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1596
+assert_return(() => invoke($11, `load8_u`, [31839]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1597
+assert_return(() => invoke($11, `load8_u`, [32038]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1598
+assert_return(() => invoke($11, `load8_u`, [32237]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1599
+assert_return(() => invoke($11, `load8_u`, [32436]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1600
+assert_return(() => invoke($11, `load8_u`, [32635]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1601
+assert_return(() => invoke($11, `load8_u`, [32834]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1602
+assert_return(() => invoke($11, `load8_u`, [33033]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1603
+assert_return(() => invoke($11, `load8_u`, [33232]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1604
+assert_return(() => invoke($11, `load8_u`, [33431]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1605
+assert_return(() => invoke($11, `load8_u`, [33630]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1606
+assert_return(() => invoke($11, `load8_u`, [33829]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1607
+assert_return(() => invoke($11, `load8_u`, [34028]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1608
+assert_return(() => invoke($11, `load8_u`, [34227]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1609
+assert_return(() => invoke($11, `load8_u`, [34426]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1610
+assert_return(() => invoke($11, `load8_u`, [34625]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1611
+assert_return(() => invoke($11, `load8_u`, [34824]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1612
+assert_return(() => invoke($11, `load8_u`, [35023]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1613
+assert_return(() => invoke($11, `load8_u`, [35222]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1614
+assert_return(() => invoke($11, `load8_u`, [35421]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1615
+assert_return(() => invoke($11, `load8_u`, [35620]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1616
+assert_return(() => invoke($11, `load8_u`, [35819]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1617
+assert_return(() => invoke($11, `load8_u`, [36018]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1618
+assert_return(() => invoke($11, `load8_u`, [36217]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1619
+assert_return(() => invoke($11, `load8_u`, [36416]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1620
+assert_return(() => invoke($11, `load8_u`, [36615]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1621
+assert_return(() => invoke($11, `load8_u`, [36814]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1622
+assert_return(() => invoke($11, `load8_u`, [37013]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1623
+assert_return(() => invoke($11, `load8_u`, [37212]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1624
+assert_return(() => invoke($11, `load8_u`, [37411]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1625
+assert_return(() => invoke($11, `load8_u`, [37610]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1626
+assert_return(() => invoke($11, `load8_u`, [37809]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1627
+assert_return(() => invoke($11, `load8_u`, [38008]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1628
+assert_return(() => invoke($11, `load8_u`, [38207]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1629
+assert_return(() => invoke($11, `load8_u`, [38406]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1630
+assert_return(() => invoke($11, `load8_u`, [38605]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1631
+assert_return(() => invoke($11, `load8_u`, [38804]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1632
+assert_return(() => invoke($11, `load8_u`, [39003]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1633
+assert_return(() => invoke($11, `load8_u`, [39202]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1634
+assert_return(() => invoke($11, `load8_u`, [39401]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1635
+assert_return(() => invoke($11, `load8_u`, [39600]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1636
+assert_return(() => invoke($11, `load8_u`, [39799]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1637
+assert_return(() => invoke($11, `load8_u`, [39998]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1638
+assert_return(() => invoke($11, `load8_u`, [40197]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1639
+assert_return(() => invoke($11, `load8_u`, [40396]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1640
+assert_return(() => invoke($11, `load8_u`, [40595]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1641
+assert_return(() => invoke($11, `load8_u`, [40794]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1642
+assert_return(() => invoke($11, `load8_u`, [40993]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1643
+assert_return(() => invoke($11, `load8_u`, [41192]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1644
+assert_return(() => invoke($11, `load8_u`, [41391]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1645
+assert_return(() => invoke($11, `load8_u`, [41590]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1646
+assert_return(() => invoke($11, `load8_u`, [41789]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1647
+assert_return(() => invoke($11, `load8_u`, [41988]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1648
+assert_return(() => invoke($11, `load8_u`, [42187]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1649
+assert_return(() => invoke($11, `load8_u`, [42386]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1650
+assert_return(() => invoke($11, `load8_u`, [42585]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1651
+assert_return(() => invoke($11, `load8_u`, [42784]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1652
+assert_return(() => invoke($11, `load8_u`, [42983]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1653
+assert_return(() => invoke($11, `load8_u`, [43182]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1654
+assert_return(() => invoke($11, `load8_u`, [43381]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1655
+assert_return(() => invoke($11, `load8_u`, [43580]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1656
+assert_return(() => invoke($11, `load8_u`, [43779]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1657
+assert_return(() => invoke($11, `load8_u`, [43978]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1658
+assert_return(() => invoke($11, `load8_u`, [44177]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1659
+assert_return(() => invoke($11, `load8_u`, [44376]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1660
+assert_return(() => invoke($11, `load8_u`, [44575]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1661
+assert_return(() => invoke($11, `load8_u`, [44774]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1662
+assert_return(() => invoke($11, `load8_u`, [44973]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1663
+assert_return(() => invoke($11, `load8_u`, [45172]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1664
+assert_return(() => invoke($11, `load8_u`, [45371]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1665
+assert_return(() => invoke($11, `load8_u`, [45570]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1666
+assert_return(() => invoke($11, `load8_u`, [45769]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1667
+assert_return(() => invoke($11, `load8_u`, [45968]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1668
+assert_return(() => invoke($11, `load8_u`, [46167]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1669
+assert_return(() => invoke($11, `load8_u`, [46366]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1670
+assert_return(() => invoke($11, `load8_u`, [46565]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1671
+assert_return(() => invoke($11, `load8_u`, [46764]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1672
+assert_return(() => invoke($11, `load8_u`, [46963]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1673
+assert_return(() => invoke($11, `load8_u`, [47162]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1674
+assert_return(() => invoke($11, `load8_u`, [47361]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1675
+assert_return(() => invoke($11, `load8_u`, [47560]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1676
+assert_return(() => invoke($11, `load8_u`, [47759]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1677
+assert_return(() => invoke($11, `load8_u`, [47958]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1678
+assert_return(() => invoke($11, `load8_u`, [48157]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1679
+assert_return(() => invoke($11, `load8_u`, [48356]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1680
+assert_return(() => invoke($11, `load8_u`, [48555]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1681
+assert_return(() => invoke($11, `load8_u`, [48754]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1682
+assert_return(() => invoke($11, `load8_u`, [48953]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1683
+assert_return(() => invoke($11, `load8_u`, [49152]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1684
+assert_return(() => invoke($11, `load8_u`, [49351]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1685
+assert_return(() => invoke($11, `load8_u`, [49550]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1686
+assert_return(() => invoke($11, `load8_u`, [49749]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1687
+assert_return(() => invoke($11, `load8_u`, [49948]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1688
+assert_return(() => invoke($11, `load8_u`, [50147]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1689
+assert_return(() => invoke($11, `load8_u`, [50346]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1690
+assert_return(() => invoke($11, `load8_u`, [50545]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1691
+assert_return(() => invoke($11, `load8_u`, [50744]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1692
+assert_return(() => invoke($11, `load8_u`, [50943]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1693
+assert_return(() => invoke($11, `load8_u`, [51142]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1694
+assert_return(() => invoke($11, `load8_u`, [51341]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1695
+assert_return(() => invoke($11, `load8_u`, [51540]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1696
+assert_return(() => invoke($11, `load8_u`, [51739]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1697
+assert_return(() => invoke($11, `load8_u`, [51938]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1698
+assert_return(() => invoke($11, `load8_u`, [52137]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1699
+assert_return(() => invoke($11, `load8_u`, [52336]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1700
+assert_return(() => invoke($11, `load8_u`, [52535]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1701
+assert_return(() => invoke($11, `load8_u`, [52734]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1702
+assert_return(() => invoke($11, `load8_u`, [52933]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1703
+assert_return(() => invoke($11, `load8_u`, [53132]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1704
+assert_return(() => invoke($11, `load8_u`, [53331]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1705
+assert_return(() => invoke($11, `load8_u`, [53530]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1706
+assert_return(() => invoke($11, `load8_u`, [53729]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1707
+assert_return(() => invoke($11, `load8_u`, [53928]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1708
+assert_return(() => invoke($11, `load8_u`, [54127]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1709
+assert_return(() => invoke($11, `load8_u`, [54326]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1710
+assert_return(() => invoke($11, `load8_u`, [54525]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1711
+assert_return(() => invoke($11, `load8_u`, [54724]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1712
+assert_return(() => invoke($11, `load8_u`, [54923]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1713
+assert_return(() => invoke($11, `load8_u`, [55122]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1714
+assert_return(() => invoke($11, `load8_u`, [55321]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1715
+assert_return(() => invoke($11, `load8_u`, [55520]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1716
+assert_return(() => invoke($11, `load8_u`, [55719]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1717
+assert_return(() => invoke($11, `load8_u`, [55918]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1718
+assert_return(() => invoke($11, `load8_u`, [56117]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1719
+assert_return(() => invoke($11, `load8_u`, [56316]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1720
+assert_return(() => invoke($11, `load8_u`, [56515]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1721
+assert_return(() => invoke($11, `load8_u`, [56714]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1722
+assert_return(() => invoke($11, `load8_u`, [56913]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1723
+assert_return(() => invoke($11, `load8_u`, [57112]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1724
+assert_return(() => invoke($11, `load8_u`, [57311]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1725
+assert_return(() => invoke($11, `load8_u`, [57510]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1726
+assert_return(() => invoke($11, `load8_u`, [57709]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1727
+assert_return(() => invoke($11, `load8_u`, [57908]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1728
+assert_return(() => invoke($11, `load8_u`, [58107]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1729
+assert_return(() => invoke($11, `load8_u`, [58306]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1730
+assert_return(() => invoke($11, `load8_u`, [58505]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1731
+assert_return(() => invoke($11, `load8_u`, [58704]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1732
+assert_return(() => invoke($11, `load8_u`, [58903]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1733
+assert_return(() => invoke($11, `load8_u`, [59102]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1734
+assert_return(() => invoke($11, `load8_u`, [59301]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1735
+assert_return(() => invoke($11, `load8_u`, [59500]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1736
+assert_return(() => invoke($11, `load8_u`, [59699]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1737
+assert_return(() => invoke($11, `load8_u`, [59898]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1738
+assert_return(() => invoke($11, `load8_u`, [60097]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1739
+assert_return(() => invoke($11, `load8_u`, [60296]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1740
+assert_return(() => invoke($11, `load8_u`, [60495]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1741
+assert_return(() => invoke($11, `load8_u`, [60694]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1742
+assert_return(() => invoke($11, `load8_u`, [60893]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1743
+assert_return(() => invoke($11, `load8_u`, [61092]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1744
+assert_return(() => invoke($11, `load8_u`, [61291]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1745
+assert_return(() => invoke($11, `load8_u`, [61490]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1746
+assert_return(() => invoke($11, `load8_u`, [61689]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1747
+assert_return(() => invoke($11, `load8_u`, [61888]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1748
+assert_return(() => invoke($11, `load8_u`, [62087]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1749
+assert_return(() => invoke($11, `load8_u`, [62286]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1750
+assert_return(() => invoke($11, `load8_u`, [62485]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1751
+assert_return(() => invoke($11, `load8_u`, [62684]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1752
+assert_return(() => invoke($11, `load8_u`, [62883]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1753
+assert_return(() => invoke($11, `load8_u`, [63082]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1754
+assert_return(() => invoke($11, `load8_u`, [63281]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1755
+assert_return(() => invoke($11, `load8_u`, [63480]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1756
+assert_return(() => invoke($11, `load8_u`, [63679]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1757
+assert_return(() => invoke($11, `load8_u`, [63878]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1758
+assert_return(() => invoke($11, `load8_u`, [64077]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1759
+assert_return(() => invoke($11, `load8_u`, [64276]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1760
+assert_return(() => invoke($11, `load8_u`, [64475]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1761
+assert_return(() => invoke($11, `load8_u`, [64674]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1762
+assert_return(() => invoke($11, `load8_u`, [64873]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1763
+assert_return(() => invoke($11, `load8_u`, [65072]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1764
+assert_return(() => invoke($11, `load8_u`, [65271]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1765
+assert_return(() => invoke($11, `load8_u`, [65470]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1766
+assert_return(() => invoke($11, `load8_u`, [65515]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1767
+assert_return(() => invoke($11, `load8_u`, [65516]), [value("i32", 1)]);
+
+// ./test/core/memory_copy.wast:1768
+assert_return(() => invoke($11, `load8_u`, [65517]), [value("i32", 2)]);
+
+// ./test/core/memory_copy.wast:1769
+assert_return(() => invoke($11, `load8_u`, [65518]), [value("i32", 3)]);
+
+// ./test/core/memory_copy.wast:1770
+assert_return(() => invoke($11, `load8_u`, [65519]), [value("i32", 4)]);
+
+// ./test/core/memory_copy.wast:1771
+assert_return(() => invoke($11, `load8_u`, [65520]), [value("i32", 5)]);
+
+// ./test/core/memory_copy.wast:1772
+assert_return(() => invoke($11, `load8_u`, [65521]), [value("i32", 6)]);
+
+// ./test/core/memory_copy.wast:1773
+assert_return(() => invoke($11, `load8_u`, [65522]), [value("i32", 7)]);
+
+// ./test/core/memory_copy.wast:1774
+assert_return(() => invoke($11, `load8_u`, [65523]), [value("i32", 8)]);
+
+// ./test/core/memory_copy.wast:1775
+assert_return(() => invoke($11, `load8_u`, [65524]), [value("i32", 9)]);
+
+// ./test/core/memory_copy.wast:1776
+assert_return(() => invoke($11, `load8_u`, [65525]), [value("i32", 10)]);
+
+// ./test/core/memory_copy.wast:1777
+assert_return(() => invoke($11, `load8_u`, [65526]), [value("i32", 11)]);
+
+// ./test/core/memory_copy.wast:1778
+assert_return(() => invoke($11, `load8_u`, [65527]), [value("i32", 12)]);
+
+// ./test/core/memory_copy.wast:1779
+assert_return(() => invoke($11, `load8_u`, [65528]), [value("i32", 13)]);
+
+// ./test/core/memory_copy.wast:1780
+assert_return(() => invoke($11, `load8_u`, [65529]), [value("i32", 14)]);
+
+// ./test/core/memory_copy.wast:1781
+assert_return(() => invoke($11, `load8_u`, [65530]), [value("i32", 15)]);
+
+// ./test/core/memory_copy.wast:1782
+assert_return(() => invoke($11, `load8_u`, [65531]), [value("i32", 16)]);
+
+// ./test/core/memory_copy.wast:1783
+assert_return(() => invoke($11, `load8_u`, [65532]), [value("i32", 17)]);
+
+// ./test/core/memory_copy.wast:1784
+assert_return(() => invoke($11, `load8_u`, [65533]), [value("i32", 18)]);
+
+// ./test/core/memory_copy.wast:1785
+assert_return(() => invoke($11, `load8_u`, [65534]), [value("i32", 19)]);
+
+// ./test/core/memory_copy.wast:1786
+assert_return(() => invoke($11, `load8_u`, [65535]), [value("i32", 20)]);
+
+// ./test/core/memory_copy.wast:1788
+let $12 = instantiate(`(module
+ (memory (export "mem") 1 1 )
+ (data (i32.const 65486) "\\00\\01\\02\\03\\04\\05\\06\\07\\08\\09\\0a\\0b\\0c\\0d\\0e\\0f\\10\\11\\12\\13")
+ (func (export "run") (param $$targetOffs i32) (param $$srcOffs i32) (param $$len i32)
+ (memory.copy (local.get $$targetOffs) (local.get $$srcOffs) (local.get $$len)))
+ (func (export "load8_u") (param i32) (result i32)
+ (i32.load8_u (local.get 0))))`);
+
+// ./test/core/memory_copy.wast:1796
+assert_trap(() => invoke($12, `run`, [65516, 65486, 40]), `out of bounds memory access`);
+
+// ./test/core/memory_copy.wast:1799
+assert_return(() => invoke($12, `load8_u`, [198]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1800
+assert_return(() => invoke($12, `load8_u`, [397]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1801
+assert_return(() => invoke($12, `load8_u`, [596]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1802
+assert_return(() => invoke($12, `load8_u`, [795]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1803
+assert_return(() => invoke($12, `load8_u`, [994]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1804
+assert_return(() => invoke($12, `load8_u`, [1193]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1805
+assert_return(() => invoke($12, `load8_u`, [1392]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1806
+assert_return(() => invoke($12, `load8_u`, [1591]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1807
+assert_return(() => invoke($12, `load8_u`, [1790]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1808
+assert_return(() => invoke($12, `load8_u`, [1989]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1809
+assert_return(() => invoke($12, `load8_u`, [2188]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1810
+assert_return(() => invoke($12, `load8_u`, [2387]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1811
+assert_return(() => invoke($12, `load8_u`, [2586]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1812
+assert_return(() => invoke($12, `load8_u`, [2785]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1813
+assert_return(() => invoke($12, `load8_u`, [2984]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1814
+assert_return(() => invoke($12, `load8_u`, [3183]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1815
+assert_return(() => invoke($12, `load8_u`, [3382]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1816
+assert_return(() => invoke($12, `load8_u`, [3581]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1817
+assert_return(() => invoke($12, `load8_u`, [3780]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1818
+assert_return(() => invoke($12, `load8_u`, [3979]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1819
+assert_return(() => invoke($12, `load8_u`, [4178]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1820
+assert_return(() => invoke($12, `load8_u`, [4377]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1821
+assert_return(() => invoke($12, `load8_u`, [4576]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1822
+assert_return(() => invoke($12, `load8_u`, [4775]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1823
+assert_return(() => invoke($12, `load8_u`, [4974]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1824
+assert_return(() => invoke($12, `load8_u`, [5173]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1825
+assert_return(() => invoke($12, `load8_u`, [5372]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1826
+assert_return(() => invoke($12, `load8_u`, [5571]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1827
+assert_return(() => invoke($12, `load8_u`, [5770]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1828
+assert_return(() => invoke($12, `load8_u`, [5969]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1829
+assert_return(() => invoke($12, `load8_u`, [6168]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1830
+assert_return(() => invoke($12, `load8_u`, [6367]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1831
+assert_return(() => invoke($12, `load8_u`, [6566]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1832
+assert_return(() => invoke($12, `load8_u`, [6765]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1833
+assert_return(() => invoke($12, `load8_u`, [6964]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1834
+assert_return(() => invoke($12, `load8_u`, [7163]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1835
+assert_return(() => invoke($12, `load8_u`, [7362]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1836
+assert_return(() => invoke($12, `load8_u`, [7561]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1837
+assert_return(() => invoke($12, `load8_u`, [7760]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1838
+assert_return(() => invoke($12, `load8_u`, [7959]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1839
+assert_return(() => invoke($12, `load8_u`, [8158]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1840
+assert_return(() => invoke($12, `load8_u`, [8357]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1841
+assert_return(() => invoke($12, `load8_u`, [8556]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1842
+assert_return(() => invoke($12, `load8_u`, [8755]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1843
+assert_return(() => invoke($12, `load8_u`, [8954]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1844
+assert_return(() => invoke($12, `load8_u`, [9153]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1845
+assert_return(() => invoke($12, `load8_u`, [9352]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1846
+assert_return(() => invoke($12, `load8_u`, [9551]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1847
+assert_return(() => invoke($12, `load8_u`, [9750]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1848
+assert_return(() => invoke($12, `load8_u`, [9949]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1849
+assert_return(() => invoke($12, `load8_u`, [10148]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1850
+assert_return(() => invoke($12, `load8_u`, [10347]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1851
+assert_return(() => invoke($12, `load8_u`, [10546]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1852
+assert_return(() => invoke($12, `load8_u`, [10745]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1853
+assert_return(() => invoke($12, `load8_u`, [10944]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1854
+assert_return(() => invoke($12, `load8_u`, [11143]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1855
+assert_return(() => invoke($12, `load8_u`, [11342]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1856
+assert_return(() => invoke($12, `load8_u`, [11541]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1857
+assert_return(() => invoke($12, `load8_u`, [11740]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1858
+assert_return(() => invoke($12, `load8_u`, [11939]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1859
+assert_return(() => invoke($12, `load8_u`, [12138]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1860
+assert_return(() => invoke($12, `load8_u`, [12337]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1861
+assert_return(() => invoke($12, `load8_u`, [12536]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1862
+assert_return(() => invoke($12, `load8_u`, [12735]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1863
+assert_return(() => invoke($12, `load8_u`, [12934]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1864
+assert_return(() => invoke($12, `load8_u`, [13133]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1865
+assert_return(() => invoke($12, `load8_u`, [13332]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1866
+assert_return(() => invoke($12, `load8_u`, [13531]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1867
+assert_return(() => invoke($12, `load8_u`, [13730]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1868
+assert_return(() => invoke($12, `load8_u`, [13929]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1869
+assert_return(() => invoke($12, `load8_u`, [14128]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1870
+assert_return(() => invoke($12, `load8_u`, [14327]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1871
+assert_return(() => invoke($12, `load8_u`, [14526]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1872
+assert_return(() => invoke($12, `load8_u`, [14725]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1873
+assert_return(() => invoke($12, `load8_u`, [14924]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1874
+assert_return(() => invoke($12, `load8_u`, [15123]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1875
+assert_return(() => invoke($12, `load8_u`, [15322]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1876
+assert_return(() => invoke($12, `load8_u`, [15521]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1877
+assert_return(() => invoke($12, `load8_u`, [15720]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1878
+assert_return(() => invoke($12, `load8_u`, [15919]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1879
+assert_return(() => invoke($12, `load8_u`, [16118]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1880
+assert_return(() => invoke($12, `load8_u`, [16317]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1881
+assert_return(() => invoke($12, `load8_u`, [16516]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1882
+assert_return(() => invoke($12, `load8_u`, [16715]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1883
+assert_return(() => invoke($12, `load8_u`, [16914]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1884
+assert_return(() => invoke($12, `load8_u`, [17113]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1885
+assert_return(() => invoke($12, `load8_u`, [17312]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1886
+assert_return(() => invoke($12, `load8_u`, [17511]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1887
+assert_return(() => invoke($12, `load8_u`, [17710]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1888
+assert_return(() => invoke($12, `load8_u`, [17909]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1889
+assert_return(() => invoke($12, `load8_u`, [18108]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1890
+assert_return(() => invoke($12, `load8_u`, [18307]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1891
+assert_return(() => invoke($12, `load8_u`, [18506]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1892
+assert_return(() => invoke($12, `load8_u`, [18705]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1893
+assert_return(() => invoke($12, `load8_u`, [18904]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1894
+assert_return(() => invoke($12, `load8_u`, [19103]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1895
+assert_return(() => invoke($12, `load8_u`, [19302]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1896
+assert_return(() => invoke($12, `load8_u`, [19501]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1897
+assert_return(() => invoke($12, `load8_u`, [19700]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1898
+assert_return(() => invoke($12, `load8_u`, [19899]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1899
+assert_return(() => invoke($12, `load8_u`, [20098]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1900
+assert_return(() => invoke($12, `load8_u`, [20297]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1901
+assert_return(() => invoke($12, `load8_u`, [20496]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1902
+assert_return(() => invoke($12, `load8_u`, [20695]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1903
+assert_return(() => invoke($12, `load8_u`, [20894]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1904
+assert_return(() => invoke($12, `load8_u`, [21093]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1905
+assert_return(() => invoke($12, `load8_u`, [21292]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1906
+assert_return(() => invoke($12, `load8_u`, [21491]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1907
+assert_return(() => invoke($12, `load8_u`, [21690]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1908
+assert_return(() => invoke($12, `load8_u`, [21889]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1909
+assert_return(() => invoke($12, `load8_u`, [22088]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1910
+assert_return(() => invoke($12, `load8_u`, [22287]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1911
+assert_return(() => invoke($12, `load8_u`, [22486]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1912
+assert_return(() => invoke($12, `load8_u`, [22685]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1913
+assert_return(() => invoke($12, `load8_u`, [22884]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1914
+assert_return(() => invoke($12, `load8_u`, [23083]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1915
+assert_return(() => invoke($12, `load8_u`, [23282]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1916
+assert_return(() => invoke($12, `load8_u`, [23481]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1917
+assert_return(() => invoke($12, `load8_u`, [23680]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1918
+assert_return(() => invoke($12, `load8_u`, [23879]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1919
+assert_return(() => invoke($12, `load8_u`, [24078]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1920
+assert_return(() => invoke($12, `load8_u`, [24277]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1921
+assert_return(() => invoke($12, `load8_u`, [24476]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1922
+assert_return(() => invoke($12, `load8_u`, [24675]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1923
+assert_return(() => invoke($12, `load8_u`, [24874]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1924
+assert_return(() => invoke($12, `load8_u`, [25073]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1925
+assert_return(() => invoke($12, `load8_u`, [25272]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1926
+assert_return(() => invoke($12, `load8_u`, [25471]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1927
+assert_return(() => invoke($12, `load8_u`, [25670]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1928
+assert_return(() => invoke($12, `load8_u`, [25869]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1929
+assert_return(() => invoke($12, `load8_u`, [26068]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1930
+assert_return(() => invoke($12, `load8_u`, [26267]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1931
+assert_return(() => invoke($12, `load8_u`, [26466]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1932
+assert_return(() => invoke($12, `load8_u`, [26665]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1933
+assert_return(() => invoke($12, `load8_u`, [26864]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1934
+assert_return(() => invoke($12, `load8_u`, [27063]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1935
+assert_return(() => invoke($12, `load8_u`, [27262]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1936
+assert_return(() => invoke($12, `load8_u`, [27461]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1937
+assert_return(() => invoke($12, `load8_u`, [27660]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1938
+assert_return(() => invoke($12, `load8_u`, [27859]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1939
+assert_return(() => invoke($12, `load8_u`, [28058]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1940
+assert_return(() => invoke($12, `load8_u`, [28257]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1941
+assert_return(() => invoke($12, `load8_u`, [28456]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1942
+assert_return(() => invoke($12, `load8_u`, [28655]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1943
+assert_return(() => invoke($12, `load8_u`, [28854]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1944
+assert_return(() => invoke($12, `load8_u`, [29053]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1945
+assert_return(() => invoke($12, `load8_u`, [29252]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1946
+assert_return(() => invoke($12, `load8_u`, [29451]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1947
+assert_return(() => invoke($12, `load8_u`, [29650]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1948
+assert_return(() => invoke($12, `load8_u`, [29849]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1949
+assert_return(() => invoke($12, `load8_u`, [30048]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1950
+assert_return(() => invoke($12, `load8_u`, [30247]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1951
+assert_return(() => invoke($12, `load8_u`, [30446]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1952
+assert_return(() => invoke($12, `load8_u`, [30645]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1953
+assert_return(() => invoke($12, `load8_u`, [30844]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1954
+assert_return(() => invoke($12, `load8_u`, [31043]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1955
+assert_return(() => invoke($12, `load8_u`, [31242]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1956
+assert_return(() => invoke($12, `load8_u`, [31441]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1957
+assert_return(() => invoke($12, `load8_u`, [31640]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1958
+assert_return(() => invoke($12, `load8_u`, [31839]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1959
+assert_return(() => invoke($12, `load8_u`, [32038]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1960
+assert_return(() => invoke($12, `load8_u`, [32237]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1961
+assert_return(() => invoke($12, `load8_u`, [32436]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1962
+assert_return(() => invoke($12, `load8_u`, [32635]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1963
+assert_return(() => invoke($12, `load8_u`, [32834]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1964
+assert_return(() => invoke($12, `load8_u`, [33033]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1965
+assert_return(() => invoke($12, `load8_u`, [33232]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1966
+assert_return(() => invoke($12, `load8_u`, [33431]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1967
+assert_return(() => invoke($12, `load8_u`, [33630]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1968
+assert_return(() => invoke($12, `load8_u`, [33829]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1969
+assert_return(() => invoke($12, `load8_u`, [34028]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1970
+assert_return(() => invoke($12, `load8_u`, [34227]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1971
+assert_return(() => invoke($12, `load8_u`, [34426]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1972
+assert_return(() => invoke($12, `load8_u`, [34625]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1973
+assert_return(() => invoke($12, `load8_u`, [34824]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1974
+assert_return(() => invoke($12, `load8_u`, [35023]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1975
+assert_return(() => invoke($12, `load8_u`, [35222]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1976
+assert_return(() => invoke($12, `load8_u`, [35421]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1977
+assert_return(() => invoke($12, `load8_u`, [35620]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1978
+assert_return(() => invoke($12, `load8_u`, [35819]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1979
+assert_return(() => invoke($12, `load8_u`, [36018]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1980
+assert_return(() => invoke($12, `load8_u`, [36217]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1981
+assert_return(() => invoke($12, `load8_u`, [36416]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1982
+assert_return(() => invoke($12, `load8_u`, [36615]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1983
+assert_return(() => invoke($12, `load8_u`, [36814]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1984
+assert_return(() => invoke($12, `load8_u`, [37013]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1985
+assert_return(() => invoke($12, `load8_u`, [37212]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1986
+assert_return(() => invoke($12, `load8_u`, [37411]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1987
+assert_return(() => invoke($12, `load8_u`, [37610]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1988
+assert_return(() => invoke($12, `load8_u`, [37809]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1989
+assert_return(() => invoke($12, `load8_u`, [38008]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1990
+assert_return(() => invoke($12, `load8_u`, [38207]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1991
+assert_return(() => invoke($12, `load8_u`, [38406]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1992
+assert_return(() => invoke($12, `load8_u`, [38605]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1993
+assert_return(() => invoke($12, `load8_u`, [38804]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1994
+assert_return(() => invoke($12, `load8_u`, [39003]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1995
+assert_return(() => invoke($12, `load8_u`, [39202]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1996
+assert_return(() => invoke($12, `load8_u`, [39401]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1997
+assert_return(() => invoke($12, `load8_u`, [39600]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1998
+assert_return(() => invoke($12, `load8_u`, [39799]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:1999
+assert_return(() => invoke($12, `load8_u`, [39998]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2000
+assert_return(() => invoke($12, `load8_u`, [40197]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2001
+assert_return(() => invoke($12, `load8_u`, [40396]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2002
+assert_return(() => invoke($12, `load8_u`, [40595]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2003
+assert_return(() => invoke($12, `load8_u`, [40794]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2004
+assert_return(() => invoke($12, `load8_u`, [40993]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2005
+assert_return(() => invoke($12, `load8_u`, [41192]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2006
+assert_return(() => invoke($12, `load8_u`, [41391]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2007
+assert_return(() => invoke($12, `load8_u`, [41590]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2008
+assert_return(() => invoke($12, `load8_u`, [41789]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2009
+assert_return(() => invoke($12, `load8_u`, [41988]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2010
+assert_return(() => invoke($12, `load8_u`, [42187]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2011
+assert_return(() => invoke($12, `load8_u`, [42386]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2012
+assert_return(() => invoke($12, `load8_u`, [42585]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2013
+assert_return(() => invoke($12, `load8_u`, [42784]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2014
+assert_return(() => invoke($12, `load8_u`, [42983]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2015
+assert_return(() => invoke($12, `load8_u`, [43182]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2016
+assert_return(() => invoke($12, `load8_u`, [43381]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2017
+assert_return(() => invoke($12, `load8_u`, [43580]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2018
+assert_return(() => invoke($12, `load8_u`, [43779]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2019
+assert_return(() => invoke($12, `load8_u`, [43978]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2020
+assert_return(() => invoke($12, `load8_u`, [44177]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2021
+assert_return(() => invoke($12, `load8_u`, [44376]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2022
+assert_return(() => invoke($12, `load8_u`, [44575]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2023
+assert_return(() => invoke($12, `load8_u`, [44774]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2024
+assert_return(() => invoke($12, `load8_u`, [44973]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2025
+assert_return(() => invoke($12, `load8_u`, [45172]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2026
+assert_return(() => invoke($12, `load8_u`, [45371]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2027
+assert_return(() => invoke($12, `load8_u`, [45570]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2028
+assert_return(() => invoke($12, `load8_u`, [45769]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2029
+assert_return(() => invoke($12, `load8_u`, [45968]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2030
+assert_return(() => invoke($12, `load8_u`, [46167]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2031
+assert_return(() => invoke($12, `load8_u`, [46366]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2032
+assert_return(() => invoke($12, `load8_u`, [46565]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2033
+assert_return(() => invoke($12, `load8_u`, [46764]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2034
+assert_return(() => invoke($12, `load8_u`, [46963]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2035
+assert_return(() => invoke($12, `load8_u`, [47162]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2036
+assert_return(() => invoke($12, `load8_u`, [47361]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2037
+assert_return(() => invoke($12, `load8_u`, [47560]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2038
+assert_return(() => invoke($12, `load8_u`, [47759]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2039
+assert_return(() => invoke($12, `load8_u`, [47958]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2040
+assert_return(() => invoke($12, `load8_u`, [48157]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2041
+assert_return(() => invoke($12, `load8_u`, [48356]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2042
+assert_return(() => invoke($12, `load8_u`, [48555]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2043
+assert_return(() => invoke($12, `load8_u`, [48754]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2044
+assert_return(() => invoke($12, `load8_u`, [48953]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2045
+assert_return(() => invoke($12, `load8_u`, [49152]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2046
+assert_return(() => invoke($12, `load8_u`, [49351]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2047
+assert_return(() => invoke($12, `load8_u`, [49550]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2048
+assert_return(() => invoke($12, `load8_u`, [49749]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2049
+assert_return(() => invoke($12, `load8_u`, [49948]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2050
+assert_return(() => invoke($12, `load8_u`, [50147]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2051
+assert_return(() => invoke($12, `load8_u`, [50346]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2052
+assert_return(() => invoke($12, `load8_u`, [50545]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2053
+assert_return(() => invoke($12, `load8_u`, [50744]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2054
+assert_return(() => invoke($12, `load8_u`, [50943]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2055
+assert_return(() => invoke($12, `load8_u`, [51142]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2056
+assert_return(() => invoke($12, `load8_u`, [51341]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2057
+assert_return(() => invoke($12, `load8_u`, [51540]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2058
+assert_return(() => invoke($12, `load8_u`, [51739]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2059
+assert_return(() => invoke($12, `load8_u`, [51938]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2060
+assert_return(() => invoke($12, `load8_u`, [52137]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2061
+assert_return(() => invoke($12, `load8_u`, [52336]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2062
+assert_return(() => invoke($12, `load8_u`, [52535]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2063
+assert_return(() => invoke($12, `load8_u`, [52734]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2064
+assert_return(() => invoke($12, `load8_u`, [52933]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2065
+assert_return(() => invoke($12, `load8_u`, [53132]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2066
+assert_return(() => invoke($12, `load8_u`, [53331]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2067
+assert_return(() => invoke($12, `load8_u`, [53530]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2068
+assert_return(() => invoke($12, `load8_u`, [53729]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2069
+assert_return(() => invoke($12, `load8_u`, [53928]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2070
+assert_return(() => invoke($12, `load8_u`, [54127]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2071
+assert_return(() => invoke($12, `load8_u`, [54326]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2072
+assert_return(() => invoke($12, `load8_u`, [54525]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2073
+assert_return(() => invoke($12, `load8_u`, [54724]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2074
+assert_return(() => invoke($12, `load8_u`, [54923]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2075
+assert_return(() => invoke($12, `load8_u`, [55122]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2076
+assert_return(() => invoke($12, `load8_u`, [55321]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2077
+assert_return(() => invoke($12, `load8_u`, [55520]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2078
+assert_return(() => invoke($12, `load8_u`, [55719]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2079
+assert_return(() => invoke($12, `load8_u`, [55918]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2080
+assert_return(() => invoke($12, `load8_u`, [56117]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2081
+assert_return(() => invoke($12, `load8_u`, [56316]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2082
+assert_return(() => invoke($12, `load8_u`, [56515]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2083
+assert_return(() => invoke($12, `load8_u`, [56714]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2084
+assert_return(() => invoke($12, `load8_u`, [56913]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2085
+assert_return(() => invoke($12, `load8_u`, [57112]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2086
+assert_return(() => invoke($12, `load8_u`, [57311]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2087
+assert_return(() => invoke($12, `load8_u`, [57510]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2088
+assert_return(() => invoke($12, `load8_u`, [57709]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2089
+assert_return(() => invoke($12, `load8_u`, [57908]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2090
+assert_return(() => invoke($12, `load8_u`, [58107]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2091
+assert_return(() => invoke($12, `load8_u`, [58306]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2092
+assert_return(() => invoke($12, `load8_u`, [58505]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2093
+assert_return(() => invoke($12, `load8_u`, [58704]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2094
+assert_return(() => invoke($12, `load8_u`, [58903]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2095
+assert_return(() => invoke($12, `load8_u`, [59102]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2096
+assert_return(() => invoke($12, `load8_u`, [59301]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2097
+assert_return(() => invoke($12, `load8_u`, [59500]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2098
+assert_return(() => invoke($12, `load8_u`, [59699]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2099
+assert_return(() => invoke($12, `load8_u`, [59898]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2100
+assert_return(() => invoke($12, `load8_u`, [60097]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2101
+assert_return(() => invoke($12, `load8_u`, [60296]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2102
+assert_return(() => invoke($12, `load8_u`, [60495]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2103
+assert_return(() => invoke($12, `load8_u`, [60694]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2104
+assert_return(() => invoke($12, `load8_u`, [60893]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2105
+assert_return(() => invoke($12, `load8_u`, [61092]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2106
+assert_return(() => invoke($12, `load8_u`, [61291]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2107
+assert_return(() => invoke($12, `load8_u`, [61490]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2108
+assert_return(() => invoke($12, `load8_u`, [61689]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2109
+assert_return(() => invoke($12, `load8_u`, [61888]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2110
+assert_return(() => invoke($12, `load8_u`, [62087]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2111
+assert_return(() => invoke($12, `load8_u`, [62286]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2112
+assert_return(() => invoke($12, `load8_u`, [62485]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2113
+assert_return(() => invoke($12, `load8_u`, [62684]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2114
+assert_return(() => invoke($12, `load8_u`, [62883]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2115
+assert_return(() => invoke($12, `load8_u`, [63082]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2116
+assert_return(() => invoke($12, `load8_u`, [63281]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2117
+assert_return(() => invoke($12, `load8_u`, [63480]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2118
+assert_return(() => invoke($12, `load8_u`, [63679]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2119
+assert_return(() => invoke($12, `load8_u`, [63878]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2120
+assert_return(() => invoke($12, `load8_u`, [64077]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2121
+assert_return(() => invoke($12, `load8_u`, [64276]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2122
+assert_return(() => invoke($12, `load8_u`, [64475]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2123
+assert_return(() => invoke($12, `load8_u`, [64674]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2124
+assert_return(() => invoke($12, `load8_u`, [64873]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2125
+assert_return(() => invoke($12, `load8_u`, [65072]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2126
+assert_return(() => invoke($12, `load8_u`, [65271]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2127
+assert_return(() => invoke($12, `load8_u`, [65470]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2128
+assert_return(() => invoke($12, `load8_u`, [65486]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2129
+assert_return(() => invoke($12, `load8_u`, [65487]), [value("i32", 1)]);
+
+// ./test/core/memory_copy.wast:2130
+assert_return(() => invoke($12, `load8_u`, [65488]), [value("i32", 2)]);
+
+// ./test/core/memory_copy.wast:2131
+assert_return(() => invoke($12, `load8_u`, [65489]), [value("i32", 3)]);
+
+// ./test/core/memory_copy.wast:2132
+assert_return(() => invoke($12, `load8_u`, [65490]), [value("i32", 4)]);
+
+// ./test/core/memory_copy.wast:2133
+assert_return(() => invoke($12, `load8_u`, [65491]), [value("i32", 5)]);
+
+// ./test/core/memory_copy.wast:2134
+assert_return(() => invoke($12, `load8_u`, [65492]), [value("i32", 6)]);
+
+// ./test/core/memory_copy.wast:2135
+assert_return(() => invoke($12, `load8_u`, [65493]), [value("i32", 7)]);
+
+// ./test/core/memory_copy.wast:2136
+assert_return(() => invoke($12, `load8_u`, [65494]), [value("i32", 8)]);
+
+// ./test/core/memory_copy.wast:2137
+assert_return(() => invoke($12, `load8_u`, [65495]), [value("i32", 9)]);
+
+// ./test/core/memory_copy.wast:2138
+assert_return(() => invoke($12, `load8_u`, [65496]), [value("i32", 10)]);
+
+// ./test/core/memory_copy.wast:2139
+assert_return(() => invoke($12, `load8_u`, [65497]), [value("i32", 11)]);
+
+// ./test/core/memory_copy.wast:2140
+assert_return(() => invoke($12, `load8_u`, [65498]), [value("i32", 12)]);
+
+// ./test/core/memory_copy.wast:2141
+assert_return(() => invoke($12, `load8_u`, [65499]), [value("i32", 13)]);
+
+// ./test/core/memory_copy.wast:2142
+assert_return(() => invoke($12, `load8_u`, [65500]), [value("i32", 14)]);
+
+// ./test/core/memory_copy.wast:2143
+assert_return(() => invoke($12, `load8_u`, [65501]), [value("i32", 15)]);
+
+// ./test/core/memory_copy.wast:2144
+assert_return(() => invoke($12, `load8_u`, [65502]), [value("i32", 16)]);
+
+// ./test/core/memory_copy.wast:2145
+assert_return(() => invoke($12, `load8_u`, [65503]), [value("i32", 17)]);
+
+// ./test/core/memory_copy.wast:2146
+assert_return(() => invoke($12, `load8_u`, [65504]), [value("i32", 18)]);
+
+// ./test/core/memory_copy.wast:2147
+assert_return(() => invoke($12, `load8_u`, [65505]), [value("i32", 19)]);
+
+// ./test/core/memory_copy.wast:2149
+let $13 = instantiate(`(module
+ (memory (export "mem") 1 1 )
+ (data (i32.const 65516) "\\00\\01\\02\\03\\04\\05\\06\\07\\08\\09\\0a\\0b\\0c\\0d\\0e\\0f\\10\\11\\12\\13")
+ (func (export "run") (param $$targetOffs i32) (param $$srcOffs i32) (param $$len i32)
+ (memory.copy (local.get $$targetOffs) (local.get $$srcOffs) (local.get $$len)))
+ (func (export "load8_u") (param i32) (result i32)
+ (i32.load8_u (local.get 0))))`);
+
+// ./test/core/memory_copy.wast:2157
+assert_trap(() => invoke($13, `run`, [65486, 65516, 40]), `out of bounds memory access`);
+
+// ./test/core/memory_copy.wast:2160
+assert_return(() => invoke($13, `load8_u`, [198]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2161
+assert_return(() => invoke($13, `load8_u`, [397]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2162
+assert_return(() => invoke($13, `load8_u`, [596]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2163
+assert_return(() => invoke($13, `load8_u`, [795]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2164
+assert_return(() => invoke($13, `load8_u`, [994]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2165
+assert_return(() => invoke($13, `load8_u`, [1193]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2166
+assert_return(() => invoke($13, `load8_u`, [1392]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2167
+assert_return(() => invoke($13, `load8_u`, [1591]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2168
+assert_return(() => invoke($13, `load8_u`, [1790]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2169
+assert_return(() => invoke($13, `load8_u`, [1989]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2170
+assert_return(() => invoke($13, `load8_u`, [2188]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2171
+assert_return(() => invoke($13, `load8_u`, [2387]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2172
+assert_return(() => invoke($13, `load8_u`, [2586]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2173
+assert_return(() => invoke($13, `load8_u`, [2785]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2174
+assert_return(() => invoke($13, `load8_u`, [2984]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2175
+assert_return(() => invoke($13, `load8_u`, [3183]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2176
+assert_return(() => invoke($13, `load8_u`, [3382]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2177
+assert_return(() => invoke($13, `load8_u`, [3581]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2178
+assert_return(() => invoke($13, `load8_u`, [3780]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2179
+assert_return(() => invoke($13, `load8_u`, [3979]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2180
+assert_return(() => invoke($13, `load8_u`, [4178]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2181
+assert_return(() => invoke($13, `load8_u`, [4377]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2182
+assert_return(() => invoke($13, `load8_u`, [4576]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2183
+assert_return(() => invoke($13, `load8_u`, [4775]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2184
+assert_return(() => invoke($13, `load8_u`, [4974]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2185
+assert_return(() => invoke($13, `load8_u`, [5173]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2186
+assert_return(() => invoke($13, `load8_u`, [5372]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2187
+assert_return(() => invoke($13, `load8_u`, [5571]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2188
+assert_return(() => invoke($13, `load8_u`, [5770]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2189
+assert_return(() => invoke($13, `load8_u`, [5969]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2190
+assert_return(() => invoke($13, `load8_u`, [6168]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2191
+assert_return(() => invoke($13, `load8_u`, [6367]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2192
+assert_return(() => invoke($13, `load8_u`, [6566]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2193
+assert_return(() => invoke($13, `load8_u`, [6765]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2194
+assert_return(() => invoke($13, `load8_u`, [6964]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2195
+assert_return(() => invoke($13, `load8_u`, [7163]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2196
+assert_return(() => invoke($13, `load8_u`, [7362]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2197
+assert_return(() => invoke($13, `load8_u`, [7561]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2198
+assert_return(() => invoke($13, `load8_u`, [7760]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2199
+assert_return(() => invoke($13, `load8_u`, [7959]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2200
+assert_return(() => invoke($13, `load8_u`, [8158]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2201
+assert_return(() => invoke($13, `load8_u`, [8357]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2202
+assert_return(() => invoke($13, `load8_u`, [8556]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2203
+assert_return(() => invoke($13, `load8_u`, [8755]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2204
+assert_return(() => invoke($13, `load8_u`, [8954]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2205
+assert_return(() => invoke($13, `load8_u`, [9153]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2206
+assert_return(() => invoke($13, `load8_u`, [9352]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2207
+assert_return(() => invoke($13, `load8_u`, [9551]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2208
+assert_return(() => invoke($13, `load8_u`, [9750]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2209
+assert_return(() => invoke($13, `load8_u`, [9949]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2210
+assert_return(() => invoke($13, `load8_u`, [10148]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2211
+assert_return(() => invoke($13, `load8_u`, [10347]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2212
+assert_return(() => invoke($13, `load8_u`, [10546]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2213
+assert_return(() => invoke($13, `load8_u`, [10745]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2214
+assert_return(() => invoke($13, `load8_u`, [10944]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2215
+assert_return(() => invoke($13, `load8_u`, [11143]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2216
+assert_return(() => invoke($13, `load8_u`, [11342]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2217
+assert_return(() => invoke($13, `load8_u`, [11541]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2218
+assert_return(() => invoke($13, `load8_u`, [11740]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2219
+assert_return(() => invoke($13, `load8_u`, [11939]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2220
+assert_return(() => invoke($13, `load8_u`, [12138]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2221
+assert_return(() => invoke($13, `load8_u`, [12337]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2222
+assert_return(() => invoke($13, `load8_u`, [12536]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2223
+assert_return(() => invoke($13, `load8_u`, [12735]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2224
+assert_return(() => invoke($13, `load8_u`, [12934]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2225
+assert_return(() => invoke($13, `load8_u`, [13133]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2226
+assert_return(() => invoke($13, `load8_u`, [13332]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2227
+assert_return(() => invoke($13, `load8_u`, [13531]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2228
+assert_return(() => invoke($13, `load8_u`, [13730]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2229
+assert_return(() => invoke($13, `load8_u`, [13929]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2230
+assert_return(() => invoke($13, `load8_u`, [14128]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2231
+assert_return(() => invoke($13, `load8_u`, [14327]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2232
+assert_return(() => invoke($13, `load8_u`, [14526]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2233
+assert_return(() => invoke($13, `load8_u`, [14725]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2234
+assert_return(() => invoke($13, `load8_u`, [14924]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2235
+assert_return(() => invoke($13, `load8_u`, [15123]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2236
+assert_return(() => invoke($13, `load8_u`, [15322]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2237
+assert_return(() => invoke($13, `load8_u`, [15521]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2238
+assert_return(() => invoke($13, `load8_u`, [15720]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2239
+assert_return(() => invoke($13, `load8_u`, [15919]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2240
+assert_return(() => invoke($13, `load8_u`, [16118]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2241
+assert_return(() => invoke($13, `load8_u`, [16317]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2242
+assert_return(() => invoke($13, `load8_u`, [16516]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2243
+assert_return(() => invoke($13, `load8_u`, [16715]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2244
+assert_return(() => invoke($13, `load8_u`, [16914]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2245
+assert_return(() => invoke($13, `load8_u`, [17113]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2246
+assert_return(() => invoke($13, `load8_u`, [17312]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2247
+assert_return(() => invoke($13, `load8_u`, [17511]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2248
+assert_return(() => invoke($13, `load8_u`, [17710]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2249
+assert_return(() => invoke($13, `load8_u`, [17909]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2250
+assert_return(() => invoke($13, `load8_u`, [18108]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2251
+assert_return(() => invoke($13, `load8_u`, [18307]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2252
+assert_return(() => invoke($13, `load8_u`, [18506]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2253
+assert_return(() => invoke($13, `load8_u`, [18705]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2254
+assert_return(() => invoke($13, `load8_u`, [18904]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2255
+assert_return(() => invoke($13, `load8_u`, [19103]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2256
+assert_return(() => invoke($13, `load8_u`, [19302]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2257
+assert_return(() => invoke($13, `load8_u`, [19501]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2258
+assert_return(() => invoke($13, `load8_u`, [19700]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2259
+assert_return(() => invoke($13, `load8_u`, [19899]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2260
+assert_return(() => invoke($13, `load8_u`, [20098]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2261
+assert_return(() => invoke($13, `load8_u`, [20297]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2262
+assert_return(() => invoke($13, `load8_u`, [20496]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2263
+assert_return(() => invoke($13, `load8_u`, [20695]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2264
+assert_return(() => invoke($13, `load8_u`, [20894]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2265
+assert_return(() => invoke($13, `load8_u`, [21093]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2266
+assert_return(() => invoke($13, `load8_u`, [21292]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2267
+assert_return(() => invoke($13, `load8_u`, [21491]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2268
+assert_return(() => invoke($13, `load8_u`, [21690]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2269
+assert_return(() => invoke($13, `load8_u`, [21889]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2270
+assert_return(() => invoke($13, `load8_u`, [22088]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2271
+assert_return(() => invoke($13, `load8_u`, [22287]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2272
+assert_return(() => invoke($13, `load8_u`, [22486]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2273
+assert_return(() => invoke($13, `load8_u`, [22685]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2274
+assert_return(() => invoke($13, `load8_u`, [22884]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2275
+assert_return(() => invoke($13, `load8_u`, [23083]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2276
+assert_return(() => invoke($13, `load8_u`, [23282]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2277
+assert_return(() => invoke($13, `load8_u`, [23481]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2278
+assert_return(() => invoke($13, `load8_u`, [23680]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2279
+assert_return(() => invoke($13, `load8_u`, [23879]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2280
+assert_return(() => invoke($13, `load8_u`, [24078]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2281
+assert_return(() => invoke($13, `load8_u`, [24277]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2282
+assert_return(() => invoke($13, `load8_u`, [24476]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2283
+assert_return(() => invoke($13, `load8_u`, [24675]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2284
+assert_return(() => invoke($13, `load8_u`, [24874]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2285
+assert_return(() => invoke($13, `load8_u`, [25073]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2286
+assert_return(() => invoke($13, `load8_u`, [25272]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2287
+assert_return(() => invoke($13, `load8_u`, [25471]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2288
+assert_return(() => invoke($13, `load8_u`, [25670]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2289
+assert_return(() => invoke($13, `load8_u`, [25869]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2290
+assert_return(() => invoke($13, `load8_u`, [26068]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2291
+assert_return(() => invoke($13, `load8_u`, [26267]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2292
+assert_return(() => invoke($13, `load8_u`, [26466]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2293
+assert_return(() => invoke($13, `load8_u`, [26665]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2294
+assert_return(() => invoke($13, `load8_u`, [26864]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2295
+assert_return(() => invoke($13, `load8_u`, [27063]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2296
+assert_return(() => invoke($13, `load8_u`, [27262]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2297
+assert_return(() => invoke($13, `load8_u`, [27461]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2298
+assert_return(() => invoke($13, `load8_u`, [27660]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2299
+assert_return(() => invoke($13, `load8_u`, [27859]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2300
+assert_return(() => invoke($13, `load8_u`, [28058]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2301
+assert_return(() => invoke($13, `load8_u`, [28257]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2302
+assert_return(() => invoke($13, `load8_u`, [28456]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2303
+assert_return(() => invoke($13, `load8_u`, [28655]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2304
+assert_return(() => invoke($13, `load8_u`, [28854]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2305
+assert_return(() => invoke($13, `load8_u`, [29053]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2306
+assert_return(() => invoke($13, `load8_u`, [29252]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2307
+assert_return(() => invoke($13, `load8_u`, [29451]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2308
+assert_return(() => invoke($13, `load8_u`, [29650]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2309
+assert_return(() => invoke($13, `load8_u`, [29849]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2310
+assert_return(() => invoke($13, `load8_u`, [30048]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2311
+assert_return(() => invoke($13, `load8_u`, [30247]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2312
+assert_return(() => invoke($13, `load8_u`, [30446]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2313
+assert_return(() => invoke($13, `load8_u`, [30645]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2314
+assert_return(() => invoke($13, `load8_u`, [30844]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2315
+assert_return(() => invoke($13, `load8_u`, [31043]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2316
+assert_return(() => invoke($13, `load8_u`, [31242]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2317
+assert_return(() => invoke($13, `load8_u`, [31441]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2318
+assert_return(() => invoke($13, `load8_u`, [31640]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2319
+assert_return(() => invoke($13, `load8_u`, [31839]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2320
+assert_return(() => invoke($13, `load8_u`, [32038]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2321
+assert_return(() => invoke($13, `load8_u`, [32237]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2322
+assert_return(() => invoke($13, `load8_u`, [32436]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2323
+assert_return(() => invoke($13, `load8_u`, [32635]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2324
+assert_return(() => invoke($13, `load8_u`, [32834]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2325
+assert_return(() => invoke($13, `load8_u`, [33033]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2326
+assert_return(() => invoke($13, `load8_u`, [33232]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2327
+assert_return(() => invoke($13, `load8_u`, [33431]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2328
+assert_return(() => invoke($13, `load8_u`, [33630]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2329
+assert_return(() => invoke($13, `load8_u`, [33829]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2330
+assert_return(() => invoke($13, `load8_u`, [34028]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2331
+assert_return(() => invoke($13, `load8_u`, [34227]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2332
+assert_return(() => invoke($13, `load8_u`, [34426]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2333
+assert_return(() => invoke($13, `load8_u`, [34625]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2334
+assert_return(() => invoke($13, `load8_u`, [34824]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2335
+assert_return(() => invoke($13, `load8_u`, [35023]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2336
+assert_return(() => invoke($13, `load8_u`, [35222]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2337
+assert_return(() => invoke($13, `load8_u`, [35421]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2338
+assert_return(() => invoke($13, `load8_u`, [35620]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2339
+assert_return(() => invoke($13, `load8_u`, [35819]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2340
+assert_return(() => invoke($13, `load8_u`, [36018]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2341
+assert_return(() => invoke($13, `load8_u`, [36217]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2342
+assert_return(() => invoke($13, `load8_u`, [36416]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2343
+assert_return(() => invoke($13, `load8_u`, [36615]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2344
+assert_return(() => invoke($13, `load8_u`, [36814]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2345
+assert_return(() => invoke($13, `load8_u`, [37013]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2346
+assert_return(() => invoke($13, `load8_u`, [37212]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2347
+assert_return(() => invoke($13, `load8_u`, [37411]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2348
+assert_return(() => invoke($13, `load8_u`, [37610]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2349
+assert_return(() => invoke($13, `load8_u`, [37809]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2350
+assert_return(() => invoke($13, `load8_u`, [38008]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2351
+assert_return(() => invoke($13, `load8_u`, [38207]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2352
+assert_return(() => invoke($13, `load8_u`, [38406]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2353
+assert_return(() => invoke($13, `load8_u`, [38605]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2354
+assert_return(() => invoke($13, `load8_u`, [38804]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2355
+assert_return(() => invoke($13, `load8_u`, [39003]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2356
+assert_return(() => invoke($13, `load8_u`, [39202]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2357
+assert_return(() => invoke($13, `load8_u`, [39401]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2358
+assert_return(() => invoke($13, `load8_u`, [39600]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2359
+assert_return(() => invoke($13, `load8_u`, [39799]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2360
+assert_return(() => invoke($13, `load8_u`, [39998]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2361
+assert_return(() => invoke($13, `load8_u`, [40197]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2362
+assert_return(() => invoke($13, `load8_u`, [40396]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2363
+assert_return(() => invoke($13, `load8_u`, [40595]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2364
+assert_return(() => invoke($13, `load8_u`, [40794]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2365
+assert_return(() => invoke($13, `load8_u`, [40993]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2366
+assert_return(() => invoke($13, `load8_u`, [41192]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2367
+assert_return(() => invoke($13, `load8_u`, [41391]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2368
+assert_return(() => invoke($13, `load8_u`, [41590]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2369
+assert_return(() => invoke($13, `load8_u`, [41789]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2370
+assert_return(() => invoke($13, `load8_u`, [41988]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2371
+assert_return(() => invoke($13, `load8_u`, [42187]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2372
+assert_return(() => invoke($13, `load8_u`, [42386]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2373
+assert_return(() => invoke($13, `load8_u`, [42585]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2374
+assert_return(() => invoke($13, `load8_u`, [42784]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2375
+assert_return(() => invoke($13, `load8_u`, [42983]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2376
+assert_return(() => invoke($13, `load8_u`, [43182]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2377
+assert_return(() => invoke($13, `load8_u`, [43381]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2378
+assert_return(() => invoke($13, `load8_u`, [43580]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2379
+assert_return(() => invoke($13, `load8_u`, [43779]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2380
+assert_return(() => invoke($13, `load8_u`, [43978]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2381
+assert_return(() => invoke($13, `load8_u`, [44177]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2382
+assert_return(() => invoke($13, `load8_u`, [44376]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2383
+assert_return(() => invoke($13, `load8_u`, [44575]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2384
+assert_return(() => invoke($13, `load8_u`, [44774]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2385
+assert_return(() => invoke($13, `load8_u`, [44973]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2386
+assert_return(() => invoke($13, `load8_u`, [45172]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2387
+assert_return(() => invoke($13, `load8_u`, [45371]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2388
+assert_return(() => invoke($13, `load8_u`, [45570]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2389
+assert_return(() => invoke($13, `load8_u`, [45769]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2390
+assert_return(() => invoke($13, `load8_u`, [45968]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2391
+assert_return(() => invoke($13, `load8_u`, [46167]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2392
+assert_return(() => invoke($13, `load8_u`, [46366]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2393
+assert_return(() => invoke($13, `load8_u`, [46565]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2394
+assert_return(() => invoke($13, `load8_u`, [46764]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2395
+assert_return(() => invoke($13, `load8_u`, [46963]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2396
+assert_return(() => invoke($13, `load8_u`, [47162]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2397
+assert_return(() => invoke($13, `load8_u`, [47361]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2398
+assert_return(() => invoke($13, `load8_u`, [47560]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2399
+assert_return(() => invoke($13, `load8_u`, [47759]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2400
+assert_return(() => invoke($13, `load8_u`, [47958]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2401
+assert_return(() => invoke($13, `load8_u`, [48157]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2402
+assert_return(() => invoke($13, `load8_u`, [48356]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2403
+assert_return(() => invoke($13, `load8_u`, [48555]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2404
+assert_return(() => invoke($13, `load8_u`, [48754]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2405
+assert_return(() => invoke($13, `load8_u`, [48953]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2406
+assert_return(() => invoke($13, `load8_u`, [49152]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2407
+assert_return(() => invoke($13, `load8_u`, [49351]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2408
+assert_return(() => invoke($13, `load8_u`, [49550]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2409
+assert_return(() => invoke($13, `load8_u`, [49749]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2410
+assert_return(() => invoke($13, `load8_u`, [49948]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2411
+assert_return(() => invoke($13, `load8_u`, [50147]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2412
+assert_return(() => invoke($13, `load8_u`, [50346]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2413
+assert_return(() => invoke($13, `load8_u`, [50545]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2414
+assert_return(() => invoke($13, `load8_u`, [50744]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2415
+assert_return(() => invoke($13, `load8_u`, [50943]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2416
+assert_return(() => invoke($13, `load8_u`, [51142]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2417
+assert_return(() => invoke($13, `load8_u`, [51341]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2418
+assert_return(() => invoke($13, `load8_u`, [51540]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2419
+assert_return(() => invoke($13, `load8_u`, [51739]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2420
+assert_return(() => invoke($13, `load8_u`, [51938]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2421
+assert_return(() => invoke($13, `load8_u`, [52137]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2422
+assert_return(() => invoke($13, `load8_u`, [52336]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2423
+assert_return(() => invoke($13, `load8_u`, [52535]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2424
+assert_return(() => invoke($13, `load8_u`, [52734]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2425
+assert_return(() => invoke($13, `load8_u`, [52933]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2426
+assert_return(() => invoke($13, `load8_u`, [53132]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2427
+assert_return(() => invoke($13, `load8_u`, [53331]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2428
+assert_return(() => invoke($13, `load8_u`, [53530]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2429
+assert_return(() => invoke($13, `load8_u`, [53729]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2430
+assert_return(() => invoke($13, `load8_u`, [53928]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2431
+assert_return(() => invoke($13, `load8_u`, [54127]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2432
+assert_return(() => invoke($13, `load8_u`, [54326]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2433
+assert_return(() => invoke($13, `load8_u`, [54525]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2434
+assert_return(() => invoke($13, `load8_u`, [54724]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2435
+assert_return(() => invoke($13, `load8_u`, [54923]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2436
+assert_return(() => invoke($13, `load8_u`, [55122]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2437
+assert_return(() => invoke($13, `load8_u`, [55321]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2438
+assert_return(() => invoke($13, `load8_u`, [55520]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2439
+assert_return(() => invoke($13, `load8_u`, [55719]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2440
+assert_return(() => invoke($13, `load8_u`, [55918]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2441
+assert_return(() => invoke($13, `load8_u`, [56117]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2442
+assert_return(() => invoke($13, `load8_u`, [56316]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2443
+assert_return(() => invoke($13, `load8_u`, [56515]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2444
+assert_return(() => invoke($13, `load8_u`, [56714]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2445
+assert_return(() => invoke($13, `load8_u`, [56913]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2446
+assert_return(() => invoke($13, `load8_u`, [57112]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2447
+assert_return(() => invoke($13, `load8_u`, [57311]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2448
+assert_return(() => invoke($13, `load8_u`, [57510]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2449
+assert_return(() => invoke($13, `load8_u`, [57709]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2450
+assert_return(() => invoke($13, `load8_u`, [57908]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2451
+assert_return(() => invoke($13, `load8_u`, [58107]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2452
+assert_return(() => invoke($13, `load8_u`, [58306]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2453
+assert_return(() => invoke($13, `load8_u`, [58505]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2454
+assert_return(() => invoke($13, `load8_u`, [58704]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2455
+assert_return(() => invoke($13, `load8_u`, [58903]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2456
+assert_return(() => invoke($13, `load8_u`, [59102]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2457
+assert_return(() => invoke($13, `load8_u`, [59301]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2458
+assert_return(() => invoke($13, `load8_u`, [59500]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2459
+assert_return(() => invoke($13, `load8_u`, [59699]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2460
+assert_return(() => invoke($13, `load8_u`, [59898]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2461
+assert_return(() => invoke($13, `load8_u`, [60097]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2462
+assert_return(() => invoke($13, `load8_u`, [60296]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2463
+assert_return(() => invoke($13, `load8_u`, [60495]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2464
+assert_return(() => invoke($13, `load8_u`, [60694]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2465
+assert_return(() => invoke($13, `load8_u`, [60893]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2466
+assert_return(() => invoke($13, `load8_u`, [61092]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2467
+assert_return(() => invoke($13, `load8_u`, [61291]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2468
+assert_return(() => invoke($13, `load8_u`, [61490]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2469
+assert_return(() => invoke($13, `load8_u`, [61689]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2470
+assert_return(() => invoke($13, `load8_u`, [61888]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2471
+assert_return(() => invoke($13, `load8_u`, [62087]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2472
+assert_return(() => invoke($13, `load8_u`, [62286]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2473
+assert_return(() => invoke($13, `load8_u`, [62485]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2474
+assert_return(() => invoke($13, `load8_u`, [62684]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2475
+assert_return(() => invoke($13, `load8_u`, [62883]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2476
+assert_return(() => invoke($13, `load8_u`, [63082]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2477
+assert_return(() => invoke($13, `load8_u`, [63281]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2478
+assert_return(() => invoke($13, `load8_u`, [63480]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2479
+assert_return(() => invoke($13, `load8_u`, [63679]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2480
+assert_return(() => invoke($13, `load8_u`, [63878]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2481
+assert_return(() => invoke($13, `load8_u`, [64077]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2482
+assert_return(() => invoke($13, `load8_u`, [64276]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2483
+assert_return(() => invoke($13, `load8_u`, [64475]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2484
+assert_return(() => invoke($13, `load8_u`, [64674]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2485
+assert_return(() => invoke($13, `load8_u`, [64873]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2486
+assert_return(() => invoke($13, `load8_u`, [65072]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2487
+assert_return(() => invoke($13, `load8_u`, [65271]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2488
+assert_return(() => invoke($13, `load8_u`, [65470]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2489
+assert_return(() => invoke($13, `load8_u`, [65516]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2490
+assert_return(() => invoke($13, `load8_u`, [65517]), [value("i32", 1)]);
+
+// ./test/core/memory_copy.wast:2491
+assert_return(() => invoke($13, `load8_u`, [65518]), [value("i32", 2)]);
+
+// ./test/core/memory_copy.wast:2492
+assert_return(() => invoke($13, `load8_u`, [65519]), [value("i32", 3)]);
+
+// ./test/core/memory_copy.wast:2493
+assert_return(() => invoke($13, `load8_u`, [65520]), [value("i32", 4)]);
+
+// ./test/core/memory_copy.wast:2494
+assert_return(() => invoke($13, `load8_u`, [65521]), [value("i32", 5)]);
+
+// ./test/core/memory_copy.wast:2495
+assert_return(() => invoke($13, `load8_u`, [65522]), [value("i32", 6)]);
+
+// ./test/core/memory_copy.wast:2496
+assert_return(() => invoke($13, `load8_u`, [65523]), [value("i32", 7)]);
+
+// ./test/core/memory_copy.wast:2497
+assert_return(() => invoke($13, `load8_u`, [65524]), [value("i32", 8)]);
+
+// ./test/core/memory_copy.wast:2498
+assert_return(() => invoke($13, `load8_u`, [65525]), [value("i32", 9)]);
+
+// ./test/core/memory_copy.wast:2499
+assert_return(() => invoke($13, `load8_u`, [65526]), [value("i32", 10)]);
+
+// ./test/core/memory_copy.wast:2500
+assert_return(() => invoke($13, `load8_u`, [65527]), [value("i32", 11)]);
+
+// ./test/core/memory_copy.wast:2501
+assert_return(() => invoke($13, `load8_u`, [65528]), [value("i32", 12)]);
+
+// ./test/core/memory_copy.wast:2502
+assert_return(() => invoke($13, `load8_u`, [65529]), [value("i32", 13)]);
+
+// ./test/core/memory_copy.wast:2503
+assert_return(() => invoke($13, `load8_u`, [65530]), [value("i32", 14)]);
+
+// ./test/core/memory_copy.wast:2504
+assert_return(() => invoke($13, `load8_u`, [65531]), [value("i32", 15)]);
+
+// ./test/core/memory_copy.wast:2505
+assert_return(() => invoke($13, `load8_u`, [65532]), [value("i32", 16)]);
+
+// ./test/core/memory_copy.wast:2506
+assert_return(() => invoke($13, `load8_u`, [65533]), [value("i32", 17)]);
+
+// ./test/core/memory_copy.wast:2507
+assert_return(() => invoke($13, `load8_u`, [65534]), [value("i32", 18)]);
+
+// ./test/core/memory_copy.wast:2508
+assert_return(() => invoke($13, `load8_u`, [65535]), [value("i32", 19)]);
+
+// ./test/core/memory_copy.wast:2510
+let $14 = instantiate(`(module
+ (memory (export "mem") 1 1 )
+ (data (i32.const 65506) "\\00\\01\\02\\03\\04\\05\\06\\07\\08\\09\\0a\\0b\\0c\\0d\\0e\\0f\\10\\11\\12\\13")
+ (func (export "run") (param $$targetOffs i32) (param $$srcOffs i32) (param $$len i32)
+ (memory.copy (local.get $$targetOffs) (local.get $$srcOffs) (local.get $$len)))
+ (func (export "load8_u") (param i32) (result i32)
+ (i32.load8_u (local.get 0))))`);
+
+// ./test/core/memory_copy.wast:2518
+assert_trap(() => invoke($14, `run`, [65516, 65506, 40]), `out of bounds memory access`);
+
+// ./test/core/memory_copy.wast:2521
+assert_return(() => invoke($14, `load8_u`, [198]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2522
+assert_return(() => invoke($14, `load8_u`, [397]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2523
+assert_return(() => invoke($14, `load8_u`, [596]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2524
+assert_return(() => invoke($14, `load8_u`, [795]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2525
+assert_return(() => invoke($14, `load8_u`, [994]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2526
+assert_return(() => invoke($14, `load8_u`, [1193]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2527
+assert_return(() => invoke($14, `load8_u`, [1392]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2528
+assert_return(() => invoke($14, `load8_u`, [1591]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2529
+assert_return(() => invoke($14, `load8_u`, [1790]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2530
+assert_return(() => invoke($14, `load8_u`, [1989]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2531
+assert_return(() => invoke($14, `load8_u`, [2188]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2532
+assert_return(() => invoke($14, `load8_u`, [2387]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2533
+assert_return(() => invoke($14, `load8_u`, [2586]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2534
+assert_return(() => invoke($14, `load8_u`, [2785]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2535
+assert_return(() => invoke($14, `load8_u`, [2984]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2536
+assert_return(() => invoke($14, `load8_u`, [3183]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2537
+assert_return(() => invoke($14, `load8_u`, [3382]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2538
+assert_return(() => invoke($14, `load8_u`, [3581]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2539
+assert_return(() => invoke($14, `load8_u`, [3780]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2540
+assert_return(() => invoke($14, `load8_u`, [3979]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2541
+assert_return(() => invoke($14, `load8_u`, [4178]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2542
+assert_return(() => invoke($14, `load8_u`, [4377]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2543
+assert_return(() => invoke($14, `load8_u`, [4576]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2544
+assert_return(() => invoke($14, `load8_u`, [4775]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2545
+assert_return(() => invoke($14, `load8_u`, [4974]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2546
+assert_return(() => invoke($14, `load8_u`, [5173]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2547
+assert_return(() => invoke($14, `load8_u`, [5372]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2548
+assert_return(() => invoke($14, `load8_u`, [5571]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2549
+assert_return(() => invoke($14, `load8_u`, [5770]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2550
+assert_return(() => invoke($14, `load8_u`, [5969]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2551
+assert_return(() => invoke($14, `load8_u`, [6168]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2552
+assert_return(() => invoke($14, `load8_u`, [6367]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2553
+assert_return(() => invoke($14, `load8_u`, [6566]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2554
+assert_return(() => invoke($14, `load8_u`, [6765]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2555
+assert_return(() => invoke($14, `load8_u`, [6964]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2556
+assert_return(() => invoke($14, `load8_u`, [7163]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2557
+assert_return(() => invoke($14, `load8_u`, [7362]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2558
+assert_return(() => invoke($14, `load8_u`, [7561]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2559
+assert_return(() => invoke($14, `load8_u`, [7760]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2560
+assert_return(() => invoke($14, `load8_u`, [7959]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2561
+assert_return(() => invoke($14, `load8_u`, [8158]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2562
+assert_return(() => invoke($14, `load8_u`, [8357]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2563
+assert_return(() => invoke($14, `load8_u`, [8556]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2564
+assert_return(() => invoke($14, `load8_u`, [8755]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2565
+assert_return(() => invoke($14, `load8_u`, [8954]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2566
+assert_return(() => invoke($14, `load8_u`, [9153]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2567
+assert_return(() => invoke($14, `load8_u`, [9352]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2568
+assert_return(() => invoke($14, `load8_u`, [9551]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2569
+assert_return(() => invoke($14, `load8_u`, [9750]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2570
+assert_return(() => invoke($14, `load8_u`, [9949]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2571
+assert_return(() => invoke($14, `load8_u`, [10148]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2572
+assert_return(() => invoke($14, `load8_u`, [10347]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2573
+assert_return(() => invoke($14, `load8_u`, [10546]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2574
+assert_return(() => invoke($14, `load8_u`, [10745]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2575
+assert_return(() => invoke($14, `load8_u`, [10944]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2576
+assert_return(() => invoke($14, `load8_u`, [11143]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2577
+assert_return(() => invoke($14, `load8_u`, [11342]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2578
+assert_return(() => invoke($14, `load8_u`, [11541]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2579
+assert_return(() => invoke($14, `load8_u`, [11740]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2580
+assert_return(() => invoke($14, `load8_u`, [11939]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2581
+assert_return(() => invoke($14, `load8_u`, [12138]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2582
+assert_return(() => invoke($14, `load8_u`, [12337]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2583
+assert_return(() => invoke($14, `load8_u`, [12536]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2584
+assert_return(() => invoke($14, `load8_u`, [12735]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2585
+assert_return(() => invoke($14, `load8_u`, [12934]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2586
+assert_return(() => invoke($14, `load8_u`, [13133]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2587
+assert_return(() => invoke($14, `load8_u`, [13332]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2588
+assert_return(() => invoke($14, `load8_u`, [13531]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2589
+assert_return(() => invoke($14, `load8_u`, [13730]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2590
+assert_return(() => invoke($14, `load8_u`, [13929]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2591
+assert_return(() => invoke($14, `load8_u`, [14128]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2592
+assert_return(() => invoke($14, `load8_u`, [14327]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2593
+assert_return(() => invoke($14, `load8_u`, [14526]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2594
+assert_return(() => invoke($14, `load8_u`, [14725]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2595
+assert_return(() => invoke($14, `load8_u`, [14924]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2596
+assert_return(() => invoke($14, `load8_u`, [15123]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2597
+assert_return(() => invoke($14, `load8_u`, [15322]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2598
+assert_return(() => invoke($14, `load8_u`, [15521]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2599
+assert_return(() => invoke($14, `load8_u`, [15720]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2600
+assert_return(() => invoke($14, `load8_u`, [15919]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2601
+assert_return(() => invoke($14, `load8_u`, [16118]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2602
+assert_return(() => invoke($14, `load8_u`, [16317]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2603
+assert_return(() => invoke($14, `load8_u`, [16516]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2604
+assert_return(() => invoke($14, `load8_u`, [16715]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2605
+assert_return(() => invoke($14, `load8_u`, [16914]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2606
+assert_return(() => invoke($14, `load8_u`, [17113]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2607
+assert_return(() => invoke($14, `load8_u`, [17312]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2608
+assert_return(() => invoke($14, `load8_u`, [17511]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2609
+assert_return(() => invoke($14, `load8_u`, [17710]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2610
+assert_return(() => invoke($14, `load8_u`, [17909]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2611
+assert_return(() => invoke($14, `load8_u`, [18108]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2612
+assert_return(() => invoke($14, `load8_u`, [18307]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2613
+assert_return(() => invoke($14, `load8_u`, [18506]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2614
+assert_return(() => invoke($14, `load8_u`, [18705]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2615
+assert_return(() => invoke($14, `load8_u`, [18904]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2616
+assert_return(() => invoke($14, `load8_u`, [19103]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2617
+assert_return(() => invoke($14, `load8_u`, [19302]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2618
+assert_return(() => invoke($14, `load8_u`, [19501]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2619
+assert_return(() => invoke($14, `load8_u`, [19700]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2620
+assert_return(() => invoke($14, `load8_u`, [19899]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2621
+assert_return(() => invoke($14, `load8_u`, [20098]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2622
+assert_return(() => invoke($14, `load8_u`, [20297]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2623
+assert_return(() => invoke($14, `load8_u`, [20496]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2624
+assert_return(() => invoke($14, `load8_u`, [20695]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2625
+assert_return(() => invoke($14, `load8_u`, [20894]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2626
+assert_return(() => invoke($14, `load8_u`, [21093]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2627
+assert_return(() => invoke($14, `load8_u`, [21292]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2628
+assert_return(() => invoke($14, `load8_u`, [21491]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2629
+assert_return(() => invoke($14, `load8_u`, [21690]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2630
+assert_return(() => invoke($14, `load8_u`, [21889]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2631
+assert_return(() => invoke($14, `load8_u`, [22088]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2632
+assert_return(() => invoke($14, `load8_u`, [22287]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2633
+assert_return(() => invoke($14, `load8_u`, [22486]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2634
+assert_return(() => invoke($14, `load8_u`, [22685]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2635
+assert_return(() => invoke($14, `load8_u`, [22884]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2636
+assert_return(() => invoke($14, `load8_u`, [23083]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2637
+assert_return(() => invoke($14, `load8_u`, [23282]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2638
+assert_return(() => invoke($14, `load8_u`, [23481]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2639
+assert_return(() => invoke($14, `load8_u`, [23680]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2640
+assert_return(() => invoke($14, `load8_u`, [23879]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2641
+assert_return(() => invoke($14, `load8_u`, [24078]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2642
+assert_return(() => invoke($14, `load8_u`, [24277]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2643
+assert_return(() => invoke($14, `load8_u`, [24476]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2644
+assert_return(() => invoke($14, `load8_u`, [24675]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2645
+assert_return(() => invoke($14, `load8_u`, [24874]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2646
+assert_return(() => invoke($14, `load8_u`, [25073]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2647
+assert_return(() => invoke($14, `load8_u`, [25272]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2648
+assert_return(() => invoke($14, `load8_u`, [25471]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2649
+assert_return(() => invoke($14, `load8_u`, [25670]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2650
+assert_return(() => invoke($14, `load8_u`, [25869]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2651
+assert_return(() => invoke($14, `load8_u`, [26068]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2652
+assert_return(() => invoke($14, `load8_u`, [26267]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2653
+assert_return(() => invoke($14, `load8_u`, [26466]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2654
+assert_return(() => invoke($14, `load8_u`, [26665]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2655
+assert_return(() => invoke($14, `load8_u`, [26864]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2656
+assert_return(() => invoke($14, `load8_u`, [27063]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2657
+assert_return(() => invoke($14, `load8_u`, [27262]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2658
+assert_return(() => invoke($14, `load8_u`, [27461]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2659
+assert_return(() => invoke($14, `load8_u`, [27660]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2660
+assert_return(() => invoke($14, `load8_u`, [27859]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2661
+assert_return(() => invoke($14, `load8_u`, [28058]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2662
+assert_return(() => invoke($14, `load8_u`, [28257]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2663
+assert_return(() => invoke($14, `load8_u`, [28456]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2664
+assert_return(() => invoke($14, `load8_u`, [28655]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2665
+assert_return(() => invoke($14, `load8_u`, [28854]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2666
+assert_return(() => invoke($14, `load8_u`, [29053]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2667
+assert_return(() => invoke($14, `load8_u`, [29252]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2668
+assert_return(() => invoke($14, `load8_u`, [29451]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2669
+assert_return(() => invoke($14, `load8_u`, [29650]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2670
+assert_return(() => invoke($14, `load8_u`, [29849]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2671
+assert_return(() => invoke($14, `load8_u`, [30048]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2672
+assert_return(() => invoke($14, `load8_u`, [30247]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2673
+assert_return(() => invoke($14, `load8_u`, [30446]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2674
+assert_return(() => invoke($14, `load8_u`, [30645]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2675
+assert_return(() => invoke($14, `load8_u`, [30844]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2676
+assert_return(() => invoke($14, `load8_u`, [31043]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2677
+assert_return(() => invoke($14, `load8_u`, [31242]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2678
+assert_return(() => invoke($14, `load8_u`, [31441]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2679
+assert_return(() => invoke($14, `load8_u`, [31640]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2680
+assert_return(() => invoke($14, `load8_u`, [31839]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2681
+assert_return(() => invoke($14, `load8_u`, [32038]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2682
+assert_return(() => invoke($14, `load8_u`, [32237]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2683
+assert_return(() => invoke($14, `load8_u`, [32436]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2684
+assert_return(() => invoke($14, `load8_u`, [32635]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2685
+assert_return(() => invoke($14, `load8_u`, [32834]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2686
+assert_return(() => invoke($14, `load8_u`, [33033]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2687
+assert_return(() => invoke($14, `load8_u`, [33232]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2688
+assert_return(() => invoke($14, `load8_u`, [33431]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2689
+assert_return(() => invoke($14, `load8_u`, [33630]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2690
+assert_return(() => invoke($14, `load8_u`, [33829]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2691
+assert_return(() => invoke($14, `load8_u`, [34028]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2692
+assert_return(() => invoke($14, `load8_u`, [34227]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2693
+assert_return(() => invoke($14, `load8_u`, [34426]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2694
+assert_return(() => invoke($14, `load8_u`, [34625]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2695
+assert_return(() => invoke($14, `load8_u`, [34824]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2696
+assert_return(() => invoke($14, `load8_u`, [35023]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2697
+assert_return(() => invoke($14, `load8_u`, [35222]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2698
+assert_return(() => invoke($14, `load8_u`, [35421]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2699
+assert_return(() => invoke($14, `load8_u`, [35620]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2700
+assert_return(() => invoke($14, `load8_u`, [35819]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2701
+assert_return(() => invoke($14, `load8_u`, [36018]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2702
+assert_return(() => invoke($14, `load8_u`, [36217]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2703
+assert_return(() => invoke($14, `load8_u`, [36416]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2704
+assert_return(() => invoke($14, `load8_u`, [36615]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2705
+assert_return(() => invoke($14, `load8_u`, [36814]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2706
+assert_return(() => invoke($14, `load8_u`, [37013]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2707
+assert_return(() => invoke($14, `load8_u`, [37212]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2708
+assert_return(() => invoke($14, `load8_u`, [37411]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2709
+assert_return(() => invoke($14, `load8_u`, [37610]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2710
+assert_return(() => invoke($14, `load8_u`, [37809]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2711
+assert_return(() => invoke($14, `load8_u`, [38008]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2712
+assert_return(() => invoke($14, `load8_u`, [38207]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2713
+assert_return(() => invoke($14, `load8_u`, [38406]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2714
+assert_return(() => invoke($14, `load8_u`, [38605]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2715
+assert_return(() => invoke($14, `load8_u`, [38804]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2716
+assert_return(() => invoke($14, `load8_u`, [39003]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2717
+assert_return(() => invoke($14, `load8_u`, [39202]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2718
+assert_return(() => invoke($14, `load8_u`, [39401]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2719
+assert_return(() => invoke($14, `load8_u`, [39600]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2720
+assert_return(() => invoke($14, `load8_u`, [39799]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2721
+assert_return(() => invoke($14, `load8_u`, [39998]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2722
+assert_return(() => invoke($14, `load8_u`, [40197]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2723
+assert_return(() => invoke($14, `load8_u`, [40396]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2724
+assert_return(() => invoke($14, `load8_u`, [40595]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2725
+assert_return(() => invoke($14, `load8_u`, [40794]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2726
+assert_return(() => invoke($14, `load8_u`, [40993]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2727
+assert_return(() => invoke($14, `load8_u`, [41192]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2728
+assert_return(() => invoke($14, `load8_u`, [41391]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2729
+assert_return(() => invoke($14, `load8_u`, [41590]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2730
+assert_return(() => invoke($14, `load8_u`, [41789]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2731
+assert_return(() => invoke($14, `load8_u`, [41988]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2732
+assert_return(() => invoke($14, `load8_u`, [42187]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2733
+assert_return(() => invoke($14, `load8_u`, [42386]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2734
+assert_return(() => invoke($14, `load8_u`, [42585]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2735
+assert_return(() => invoke($14, `load8_u`, [42784]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2736
+assert_return(() => invoke($14, `load8_u`, [42983]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2737
+assert_return(() => invoke($14, `load8_u`, [43182]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2738
+assert_return(() => invoke($14, `load8_u`, [43381]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2739
+assert_return(() => invoke($14, `load8_u`, [43580]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2740
+assert_return(() => invoke($14, `load8_u`, [43779]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2741
+assert_return(() => invoke($14, `load8_u`, [43978]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2742
+assert_return(() => invoke($14, `load8_u`, [44177]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2743
+assert_return(() => invoke($14, `load8_u`, [44376]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2744
+assert_return(() => invoke($14, `load8_u`, [44575]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2745
+assert_return(() => invoke($14, `load8_u`, [44774]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2746
+assert_return(() => invoke($14, `load8_u`, [44973]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2747
+assert_return(() => invoke($14, `load8_u`, [45172]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2748
+assert_return(() => invoke($14, `load8_u`, [45371]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2749
+assert_return(() => invoke($14, `load8_u`, [45570]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2750
+assert_return(() => invoke($14, `load8_u`, [45769]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2751
+assert_return(() => invoke($14, `load8_u`, [45968]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2752
+assert_return(() => invoke($14, `load8_u`, [46167]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2753
+assert_return(() => invoke($14, `load8_u`, [46366]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2754
+assert_return(() => invoke($14, `load8_u`, [46565]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2755
+assert_return(() => invoke($14, `load8_u`, [46764]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2756
+assert_return(() => invoke($14, `load8_u`, [46963]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2757
+assert_return(() => invoke($14, `load8_u`, [47162]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2758
+assert_return(() => invoke($14, `load8_u`, [47361]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2759
+assert_return(() => invoke($14, `load8_u`, [47560]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2760
+assert_return(() => invoke($14, `load8_u`, [47759]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2761
+assert_return(() => invoke($14, `load8_u`, [47958]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2762
+assert_return(() => invoke($14, `load8_u`, [48157]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2763
+assert_return(() => invoke($14, `load8_u`, [48356]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2764
+assert_return(() => invoke($14, `load8_u`, [48555]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2765
+assert_return(() => invoke($14, `load8_u`, [48754]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2766
+assert_return(() => invoke($14, `load8_u`, [48953]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2767
+assert_return(() => invoke($14, `load8_u`, [49152]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2768
+assert_return(() => invoke($14, `load8_u`, [49351]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2769
+assert_return(() => invoke($14, `load8_u`, [49550]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2770
+assert_return(() => invoke($14, `load8_u`, [49749]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2771
+assert_return(() => invoke($14, `load8_u`, [49948]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2772
+assert_return(() => invoke($14, `load8_u`, [50147]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2773
+assert_return(() => invoke($14, `load8_u`, [50346]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2774
+assert_return(() => invoke($14, `load8_u`, [50545]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2775
+assert_return(() => invoke($14, `load8_u`, [50744]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2776
+assert_return(() => invoke($14, `load8_u`, [50943]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2777
+assert_return(() => invoke($14, `load8_u`, [51142]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2778
+assert_return(() => invoke($14, `load8_u`, [51341]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2779
+assert_return(() => invoke($14, `load8_u`, [51540]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2780
+assert_return(() => invoke($14, `load8_u`, [51739]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2781
+assert_return(() => invoke($14, `load8_u`, [51938]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2782
+assert_return(() => invoke($14, `load8_u`, [52137]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2783
+assert_return(() => invoke($14, `load8_u`, [52336]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2784
+assert_return(() => invoke($14, `load8_u`, [52535]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2785
+assert_return(() => invoke($14, `load8_u`, [52734]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2786
+assert_return(() => invoke($14, `load8_u`, [52933]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2787
+assert_return(() => invoke($14, `load8_u`, [53132]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2788
+assert_return(() => invoke($14, `load8_u`, [53331]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2789
+assert_return(() => invoke($14, `load8_u`, [53530]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2790
+assert_return(() => invoke($14, `load8_u`, [53729]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2791
+assert_return(() => invoke($14, `load8_u`, [53928]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2792
+assert_return(() => invoke($14, `load8_u`, [54127]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2793
+assert_return(() => invoke($14, `load8_u`, [54326]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2794
+assert_return(() => invoke($14, `load8_u`, [54525]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2795
+assert_return(() => invoke($14, `load8_u`, [54724]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2796
+assert_return(() => invoke($14, `load8_u`, [54923]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2797
+assert_return(() => invoke($14, `load8_u`, [55122]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2798
+assert_return(() => invoke($14, `load8_u`, [55321]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2799
+assert_return(() => invoke($14, `load8_u`, [55520]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2800
+assert_return(() => invoke($14, `load8_u`, [55719]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2801
+assert_return(() => invoke($14, `load8_u`, [55918]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2802
+assert_return(() => invoke($14, `load8_u`, [56117]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2803
+assert_return(() => invoke($14, `load8_u`, [56316]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2804
+assert_return(() => invoke($14, `load8_u`, [56515]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2805
+assert_return(() => invoke($14, `load8_u`, [56714]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2806
+assert_return(() => invoke($14, `load8_u`, [56913]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2807
+assert_return(() => invoke($14, `load8_u`, [57112]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2808
+assert_return(() => invoke($14, `load8_u`, [57311]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2809
+assert_return(() => invoke($14, `load8_u`, [57510]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2810
+assert_return(() => invoke($14, `load8_u`, [57709]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2811
+assert_return(() => invoke($14, `load8_u`, [57908]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2812
+assert_return(() => invoke($14, `load8_u`, [58107]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2813
+assert_return(() => invoke($14, `load8_u`, [58306]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2814
+assert_return(() => invoke($14, `load8_u`, [58505]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2815
+assert_return(() => invoke($14, `load8_u`, [58704]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2816
+assert_return(() => invoke($14, `load8_u`, [58903]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2817
+assert_return(() => invoke($14, `load8_u`, [59102]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2818
+assert_return(() => invoke($14, `load8_u`, [59301]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2819
+assert_return(() => invoke($14, `load8_u`, [59500]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2820
+assert_return(() => invoke($14, `load8_u`, [59699]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2821
+assert_return(() => invoke($14, `load8_u`, [59898]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2822
+assert_return(() => invoke($14, `load8_u`, [60097]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2823
+assert_return(() => invoke($14, `load8_u`, [60296]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2824
+assert_return(() => invoke($14, `load8_u`, [60495]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2825
+assert_return(() => invoke($14, `load8_u`, [60694]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2826
+assert_return(() => invoke($14, `load8_u`, [60893]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2827
+assert_return(() => invoke($14, `load8_u`, [61092]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2828
+assert_return(() => invoke($14, `load8_u`, [61291]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2829
+assert_return(() => invoke($14, `load8_u`, [61490]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2830
+assert_return(() => invoke($14, `load8_u`, [61689]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2831
+assert_return(() => invoke($14, `load8_u`, [61888]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2832
+assert_return(() => invoke($14, `load8_u`, [62087]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2833
+assert_return(() => invoke($14, `load8_u`, [62286]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2834
+assert_return(() => invoke($14, `load8_u`, [62485]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2835
+assert_return(() => invoke($14, `load8_u`, [62684]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2836
+assert_return(() => invoke($14, `load8_u`, [62883]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2837
+assert_return(() => invoke($14, `load8_u`, [63082]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2838
+assert_return(() => invoke($14, `load8_u`, [63281]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2839
+assert_return(() => invoke($14, `load8_u`, [63480]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2840
+assert_return(() => invoke($14, `load8_u`, [63679]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2841
+assert_return(() => invoke($14, `load8_u`, [63878]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2842
+assert_return(() => invoke($14, `load8_u`, [64077]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2843
+assert_return(() => invoke($14, `load8_u`, [64276]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2844
+assert_return(() => invoke($14, `load8_u`, [64475]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2845
+assert_return(() => invoke($14, `load8_u`, [64674]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2846
+assert_return(() => invoke($14, `load8_u`, [64873]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2847
+assert_return(() => invoke($14, `load8_u`, [65072]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2848
+assert_return(() => invoke($14, `load8_u`, [65271]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2849
+assert_return(() => invoke($14, `load8_u`, [65470]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2850
+assert_return(() => invoke($14, `load8_u`, [65506]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2851
+assert_return(() => invoke($14, `load8_u`, [65507]), [value("i32", 1)]);
+
+// ./test/core/memory_copy.wast:2852
+assert_return(() => invoke($14, `load8_u`, [65508]), [value("i32", 2)]);
+
+// ./test/core/memory_copy.wast:2853
+assert_return(() => invoke($14, `load8_u`, [65509]), [value("i32", 3)]);
+
+// ./test/core/memory_copy.wast:2854
+assert_return(() => invoke($14, `load8_u`, [65510]), [value("i32", 4)]);
+
+// ./test/core/memory_copy.wast:2855
+assert_return(() => invoke($14, `load8_u`, [65511]), [value("i32", 5)]);
+
+// ./test/core/memory_copy.wast:2856
+assert_return(() => invoke($14, `load8_u`, [65512]), [value("i32", 6)]);
+
+// ./test/core/memory_copy.wast:2857
+assert_return(() => invoke($14, `load8_u`, [65513]), [value("i32", 7)]);
+
+// ./test/core/memory_copy.wast:2858
+assert_return(() => invoke($14, `load8_u`, [65514]), [value("i32", 8)]);
+
+// ./test/core/memory_copy.wast:2859
+assert_return(() => invoke($14, `load8_u`, [65515]), [value("i32", 9)]);
+
+// ./test/core/memory_copy.wast:2860
+assert_return(() => invoke($14, `load8_u`, [65516]), [value("i32", 10)]);
+
+// ./test/core/memory_copy.wast:2861
+assert_return(() => invoke($14, `load8_u`, [65517]), [value("i32", 11)]);
+
+// ./test/core/memory_copy.wast:2862
+assert_return(() => invoke($14, `load8_u`, [65518]), [value("i32", 12)]);
+
+// ./test/core/memory_copy.wast:2863
+assert_return(() => invoke($14, `load8_u`, [65519]), [value("i32", 13)]);
+
+// ./test/core/memory_copy.wast:2864
+assert_return(() => invoke($14, `load8_u`, [65520]), [value("i32", 14)]);
+
+// ./test/core/memory_copy.wast:2865
+assert_return(() => invoke($14, `load8_u`, [65521]), [value("i32", 15)]);
+
+// ./test/core/memory_copy.wast:2866
+assert_return(() => invoke($14, `load8_u`, [65522]), [value("i32", 16)]);
+
+// ./test/core/memory_copy.wast:2867
+assert_return(() => invoke($14, `load8_u`, [65523]), [value("i32", 17)]);
+
+// ./test/core/memory_copy.wast:2868
+assert_return(() => invoke($14, `load8_u`, [65524]), [value("i32", 18)]);
+
+// ./test/core/memory_copy.wast:2869
+assert_return(() => invoke($14, `load8_u`, [65525]), [value("i32", 19)]);
+
+// ./test/core/memory_copy.wast:2871
+let $15 = instantiate(`(module
+ (memory (export "mem") 1 1 )
+ (data (i32.const 65516) "\\00\\01\\02\\03\\04\\05\\06\\07\\08\\09\\0a\\0b\\0c\\0d\\0e\\0f\\10\\11\\12\\13")
+ (func (export "run") (param $$targetOffs i32) (param $$srcOffs i32) (param $$len i32)
+ (memory.copy (local.get $$targetOffs) (local.get $$srcOffs) (local.get $$len)))
+ (func (export "load8_u") (param i32) (result i32)
+ (i32.load8_u (local.get 0))))`);
+
+// ./test/core/memory_copy.wast:2879
+assert_trap(() => invoke($15, `run`, [65506, 65516, 40]), `out of bounds memory access`);
+
+// ./test/core/memory_copy.wast:2882
+assert_return(() => invoke($15, `load8_u`, [198]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2883
+assert_return(() => invoke($15, `load8_u`, [397]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2884
+assert_return(() => invoke($15, `load8_u`, [596]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2885
+assert_return(() => invoke($15, `load8_u`, [795]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2886
+assert_return(() => invoke($15, `load8_u`, [994]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2887
+assert_return(() => invoke($15, `load8_u`, [1193]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2888
+assert_return(() => invoke($15, `load8_u`, [1392]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2889
+assert_return(() => invoke($15, `load8_u`, [1591]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2890
+assert_return(() => invoke($15, `load8_u`, [1790]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2891
+assert_return(() => invoke($15, `load8_u`, [1989]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2892
+assert_return(() => invoke($15, `load8_u`, [2188]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2893
+assert_return(() => invoke($15, `load8_u`, [2387]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2894
+assert_return(() => invoke($15, `load8_u`, [2586]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2895
+assert_return(() => invoke($15, `load8_u`, [2785]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2896
+assert_return(() => invoke($15, `load8_u`, [2984]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2897
+assert_return(() => invoke($15, `load8_u`, [3183]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2898
+assert_return(() => invoke($15, `load8_u`, [3382]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2899
+assert_return(() => invoke($15, `load8_u`, [3581]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2900
+assert_return(() => invoke($15, `load8_u`, [3780]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2901
+assert_return(() => invoke($15, `load8_u`, [3979]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2902
+assert_return(() => invoke($15, `load8_u`, [4178]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2903
+assert_return(() => invoke($15, `load8_u`, [4377]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2904
+assert_return(() => invoke($15, `load8_u`, [4576]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2905
+assert_return(() => invoke($15, `load8_u`, [4775]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2906
+assert_return(() => invoke($15, `load8_u`, [4974]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2907
+assert_return(() => invoke($15, `load8_u`, [5173]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2908
+assert_return(() => invoke($15, `load8_u`, [5372]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2909
+assert_return(() => invoke($15, `load8_u`, [5571]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2910
+assert_return(() => invoke($15, `load8_u`, [5770]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2911
+assert_return(() => invoke($15, `load8_u`, [5969]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2912
+assert_return(() => invoke($15, `load8_u`, [6168]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2913
+assert_return(() => invoke($15, `load8_u`, [6367]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2914
+assert_return(() => invoke($15, `load8_u`, [6566]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2915
+assert_return(() => invoke($15, `load8_u`, [6765]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2916
+assert_return(() => invoke($15, `load8_u`, [6964]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2917
+assert_return(() => invoke($15, `load8_u`, [7163]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2918
+assert_return(() => invoke($15, `load8_u`, [7362]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2919
+assert_return(() => invoke($15, `load8_u`, [7561]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2920
+assert_return(() => invoke($15, `load8_u`, [7760]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2921
+assert_return(() => invoke($15, `load8_u`, [7959]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2922
+assert_return(() => invoke($15, `load8_u`, [8158]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2923
+assert_return(() => invoke($15, `load8_u`, [8357]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2924
+assert_return(() => invoke($15, `load8_u`, [8556]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2925
+assert_return(() => invoke($15, `load8_u`, [8755]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2926
+assert_return(() => invoke($15, `load8_u`, [8954]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2927
+assert_return(() => invoke($15, `load8_u`, [9153]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2928
+assert_return(() => invoke($15, `load8_u`, [9352]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2929
+assert_return(() => invoke($15, `load8_u`, [9551]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2930
+assert_return(() => invoke($15, `load8_u`, [9750]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2931
+assert_return(() => invoke($15, `load8_u`, [9949]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2932
+assert_return(() => invoke($15, `load8_u`, [10148]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2933
+assert_return(() => invoke($15, `load8_u`, [10347]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2934
+assert_return(() => invoke($15, `load8_u`, [10546]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2935
+assert_return(() => invoke($15, `load8_u`, [10745]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2936
+assert_return(() => invoke($15, `load8_u`, [10944]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2937
+assert_return(() => invoke($15, `load8_u`, [11143]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2938
+assert_return(() => invoke($15, `load8_u`, [11342]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2939
+assert_return(() => invoke($15, `load8_u`, [11541]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2940
+assert_return(() => invoke($15, `load8_u`, [11740]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2941
+assert_return(() => invoke($15, `load8_u`, [11939]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2942
+assert_return(() => invoke($15, `load8_u`, [12138]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2943
+assert_return(() => invoke($15, `load8_u`, [12337]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2944
+assert_return(() => invoke($15, `load8_u`, [12536]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2945
+assert_return(() => invoke($15, `load8_u`, [12735]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2946
+assert_return(() => invoke($15, `load8_u`, [12934]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2947
+assert_return(() => invoke($15, `load8_u`, [13133]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2948
+assert_return(() => invoke($15, `load8_u`, [13332]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2949
+assert_return(() => invoke($15, `load8_u`, [13531]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2950
+assert_return(() => invoke($15, `load8_u`, [13730]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2951
+assert_return(() => invoke($15, `load8_u`, [13929]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2952
+assert_return(() => invoke($15, `load8_u`, [14128]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2953
+assert_return(() => invoke($15, `load8_u`, [14327]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2954
+assert_return(() => invoke($15, `load8_u`, [14526]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2955
+assert_return(() => invoke($15, `load8_u`, [14725]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2956
+assert_return(() => invoke($15, `load8_u`, [14924]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2957
+assert_return(() => invoke($15, `load8_u`, [15123]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2958
+assert_return(() => invoke($15, `load8_u`, [15322]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2959
+assert_return(() => invoke($15, `load8_u`, [15521]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2960
+assert_return(() => invoke($15, `load8_u`, [15720]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2961
+assert_return(() => invoke($15, `load8_u`, [15919]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2962
+assert_return(() => invoke($15, `load8_u`, [16118]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2963
+assert_return(() => invoke($15, `load8_u`, [16317]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2964
+assert_return(() => invoke($15, `load8_u`, [16516]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2965
+assert_return(() => invoke($15, `load8_u`, [16715]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2966
+assert_return(() => invoke($15, `load8_u`, [16914]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2967
+assert_return(() => invoke($15, `load8_u`, [17113]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2968
+assert_return(() => invoke($15, `load8_u`, [17312]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2969
+assert_return(() => invoke($15, `load8_u`, [17511]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2970
+assert_return(() => invoke($15, `load8_u`, [17710]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2971
+assert_return(() => invoke($15, `load8_u`, [17909]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2972
+assert_return(() => invoke($15, `load8_u`, [18108]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2973
+assert_return(() => invoke($15, `load8_u`, [18307]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2974
+assert_return(() => invoke($15, `load8_u`, [18506]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2975
+assert_return(() => invoke($15, `load8_u`, [18705]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2976
+assert_return(() => invoke($15, `load8_u`, [18904]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2977
+assert_return(() => invoke($15, `load8_u`, [19103]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2978
+assert_return(() => invoke($15, `load8_u`, [19302]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2979
+assert_return(() => invoke($15, `load8_u`, [19501]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2980
+assert_return(() => invoke($15, `load8_u`, [19700]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2981
+assert_return(() => invoke($15, `load8_u`, [19899]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2982
+assert_return(() => invoke($15, `load8_u`, [20098]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2983
+assert_return(() => invoke($15, `load8_u`, [20297]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2984
+assert_return(() => invoke($15, `load8_u`, [20496]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2985
+assert_return(() => invoke($15, `load8_u`, [20695]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2986
+assert_return(() => invoke($15, `load8_u`, [20894]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2987
+assert_return(() => invoke($15, `load8_u`, [21093]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2988
+assert_return(() => invoke($15, `load8_u`, [21292]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2989
+assert_return(() => invoke($15, `load8_u`, [21491]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2990
+assert_return(() => invoke($15, `load8_u`, [21690]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2991
+assert_return(() => invoke($15, `load8_u`, [21889]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2992
+assert_return(() => invoke($15, `load8_u`, [22088]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2993
+assert_return(() => invoke($15, `load8_u`, [22287]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2994
+assert_return(() => invoke($15, `load8_u`, [22486]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2995
+assert_return(() => invoke($15, `load8_u`, [22685]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2996
+assert_return(() => invoke($15, `load8_u`, [22884]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2997
+assert_return(() => invoke($15, `load8_u`, [23083]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2998
+assert_return(() => invoke($15, `load8_u`, [23282]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:2999
+assert_return(() => invoke($15, `load8_u`, [23481]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3000
+assert_return(() => invoke($15, `load8_u`, [23680]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3001
+assert_return(() => invoke($15, `load8_u`, [23879]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3002
+assert_return(() => invoke($15, `load8_u`, [24078]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3003
+assert_return(() => invoke($15, `load8_u`, [24277]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3004
+assert_return(() => invoke($15, `load8_u`, [24476]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3005
+assert_return(() => invoke($15, `load8_u`, [24675]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3006
+assert_return(() => invoke($15, `load8_u`, [24874]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3007
+assert_return(() => invoke($15, `load8_u`, [25073]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3008
+assert_return(() => invoke($15, `load8_u`, [25272]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3009
+assert_return(() => invoke($15, `load8_u`, [25471]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3010
+assert_return(() => invoke($15, `load8_u`, [25670]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3011
+assert_return(() => invoke($15, `load8_u`, [25869]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3012
+assert_return(() => invoke($15, `load8_u`, [26068]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3013
+assert_return(() => invoke($15, `load8_u`, [26267]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3014
+assert_return(() => invoke($15, `load8_u`, [26466]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3015
+assert_return(() => invoke($15, `load8_u`, [26665]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3016
+assert_return(() => invoke($15, `load8_u`, [26864]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3017
+assert_return(() => invoke($15, `load8_u`, [27063]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3018
+assert_return(() => invoke($15, `load8_u`, [27262]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3019
+assert_return(() => invoke($15, `load8_u`, [27461]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3020
+assert_return(() => invoke($15, `load8_u`, [27660]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3021
+assert_return(() => invoke($15, `load8_u`, [27859]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3022
+assert_return(() => invoke($15, `load8_u`, [28058]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3023
+assert_return(() => invoke($15, `load8_u`, [28257]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3024
+assert_return(() => invoke($15, `load8_u`, [28456]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3025
+assert_return(() => invoke($15, `load8_u`, [28655]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3026
+assert_return(() => invoke($15, `load8_u`, [28854]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3027
+assert_return(() => invoke($15, `load8_u`, [29053]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3028
+assert_return(() => invoke($15, `load8_u`, [29252]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3029
+assert_return(() => invoke($15, `load8_u`, [29451]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3030
+assert_return(() => invoke($15, `load8_u`, [29650]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3031
+assert_return(() => invoke($15, `load8_u`, [29849]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3032
+assert_return(() => invoke($15, `load8_u`, [30048]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3033
+assert_return(() => invoke($15, `load8_u`, [30247]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3034
+assert_return(() => invoke($15, `load8_u`, [30446]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3035
+assert_return(() => invoke($15, `load8_u`, [30645]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3036
+assert_return(() => invoke($15, `load8_u`, [30844]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3037
+assert_return(() => invoke($15, `load8_u`, [31043]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3038
+assert_return(() => invoke($15, `load8_u`, [31242]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3039
+assert_return(() => invoke($15, `load8_u`, [31441]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3040
+assert_return(() => invoke($15, `load8_u`, [31640]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3041
+assert_return(() => invoke($15, `load8_u`, [31839]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3042
+assert_return(() => invoke($15, `load8_u`, [32038]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3043
+assert_return(() => invoke($15, `load8_u`, [32237]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3044
+assert_return(() => invoke($15, `load8_u`, [32436]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3045
+assert_return(() => invoke($15, `load8_u`, [32635]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3046
+assert_return(() => invoke($15, `load8_u`, [32834]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3047
+assert_return(() => invoke($15, `load8_u`, [33033]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3048
+assert_return(() => invoke($15, `load8_u`, [33232]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3049
+assert_return(() => invoke($15, `load8_u`, [33431]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3050
+assert_return(() => invoke($15, `load8_u`, [33630]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3051
+assert_return(() => invoke($15, `load8_u`, [33829]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3052
+assert_return(() => invoke($15, `load8_u`, [34028]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3053
+assert_return(() => invoke($15, `load8_u`, [34227]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3054
+assert_return(() => invoke($15, `load8_u`, [34426]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3055
+assert_return(() => invoke($15, `load8_u`, [34625]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3056
+assert_return(() => invoke($15, `load8_u`, [34824]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3057
+assert_return(() => invoke($15, `load8_u`, [35023]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3058
+assert_return(() => invoke($15, `load8_u`, [35222]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3059
+assert_return(() => invoke($15, `load8_u`, [35421]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3060
+assert_return(() => invoke($15, `load8_u`, [35620]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3061
+assert_return(() => invoke($15, `load8_u`, [35819]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3062
+assert_return(() => invoke($15, `load8_u`, [36018]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3063
+assert_return(() => invoke($15, `load8_u`, [36217]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3064
+assert_return(() => invoke($15, `load8_u`, [36416]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3065
+assert_return(() => invoke($15, `load8_u`, [36615]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3066
+assert_return(() => invoke($15, `load8_u`, [36814]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3067
+assert_return(() => invoke($15, `load8_u`, [37013]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3068
+assert_return(() => invoke($15, `load8_u`, [37212]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3069
+assert_return(() => invoke($15, `load8_u`, [37411]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3070
+assert_return(() => invoke($15, `load8_u`, [37610]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3071
+assert_return(() => invoke($15, `load8_u`, [37809]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3072
+assert_return(() => invoke($15, `load8_u`, [38008]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3073
+assert_return(() => invoke($15, `load8_u`, [38207]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3074
+assert_return(() => invoke($15, `load8_u`, [38406]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3075
+assert_return(() => invoke($15, `load8_u`, [38605]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3076
+assert_return(() => invoke($15, `load8_u`, [38804]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3077
+assert_return(() => invoke($15, `load8_u`, [39003]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3078
+assert_return(() => invoke($15, `load8_u`, [39202]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3079
+assert_return(() => invoke($15, `load8_u`, [39401]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3080
+assert_return(() => invoke($15, `load8_u`, [39600]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3081
+assert_return(() => invoke($15, `load8_u`, [39799]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3082
+assert_return(() => invoke($15, `load8_u`, [39998]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3083
+assert_return(() => invoke($15, `load8_u`, [40197]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3084
+assert_return(() => invoke($15, `load8_u`, [40396]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3085
+assert_return(() => invoke($15, `load8_u`, [40595]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3086
+assert_return(() => invoke($15, `load8_u`, [40794]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3087
+assert_return(() => invoke($15, `load8_u`, [40993]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3088
+assert_return(() => invoke($15, `load8_u`, [41192]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3089
+assert_return(() => invoke($15, `load8_u`, [41391]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3090
+assert_return(() => invoke($15, `load8_u`, [41590]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3091
+assert_return(() => invoke($15, `load8_u`, [41789]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3092
+assert_return(() => invoke($15, `load8_u`, [41988]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3093
+assert_return(() => invoke($15, `load8_u`, [42187]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3094
+assert_return(() => invoke($15, `load8_u`, [42386]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3095
+assert_return(() => invoke($15, `load8_u`, [42585]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3096
+assert_return(() => invoke($15, `load8_u`, [42784]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3097
+assert_return(() => invoke($15, `load8_u`, [42983]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3098
+assert_return(() => invoke($15, `load8_u`, [43182]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3099
+assert_return(() => invoke($15, `load8_u`, [43381]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3100
+assert_return(() => invoke($15, `load8_u`, [43580]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3101
+assert_return(() => invoke($15, `load8_u`, [43779]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3102
+assert_return(() => invoke($15, `load8_u`, [43978]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3103
+assert_return(() => invoke($15, `load8_u`, [44177]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3104
+assert_return(() => invoke($15, `load8_u`, [44376]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3105
+assert_return(() => invoke($15, `load8_u`, [44575]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3106
+assert_return(() => invoke($15, `load8_u`, [44774]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3107
+assert_return(() => invoke($15, `load8_u`, [44973]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3108
+assert_return(() => invoke($15, `load8_u`, [45172]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3109
+assert_return(() => invoke($15, `load8_u`, [45371]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3110
+assert_return(() => invoke($15, `load8_u`, [45570]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3111
+assert_return(() => invoke($15, `load8_u`, [45769]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3112
+assert_return(() => invoke($15, `load8_u`, [45968]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3113
+assert_return(() => invoke($15, `load8_u`, [46167]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3114
+assert_return(() => invoke($15, `load8_u`, [46366]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3115
+assert_return(() => invoke($15, `load8_u`, [46565]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3116
+assert_return(() => invoke($15, `load8_u`, [46764]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3117
+assert_return(() => invoke($15, `load8_u`, [46963]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3118
+assert_return(() => invoke($15, `load8_u`, [47162]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3119
+assert_return(() => invoke($15, `load8_u`, [47361]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3120
+assert_return(() => invoke($15, `load8_u`, [47560]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3121
+assert_return(() => invoke($15, `load8_u`, [47759]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3122
+assert_return(() => invoke($15, `load8_u`, [47958]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3123
+assert_return(() => invoke($15, `load8_u`, [48157]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3124
+assert_return(() => invoke($15, `load8_u`, [48356]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3125
+assert_return(() => invoke($15, `load8_u`, [48555]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3126
+assert_return(() => invoke($15, `load8_u`, [48754]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3127
+assert_return(() => invoke($15, `load8_u`, [48953]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3128
+assert_return(() => invoke($15, `load8_u`, [49152]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3129
+assert_return(() => invoke($15, `load8_u`, [49351]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3130
+assert_return(() => invoke($15, `load8_u`, [49550]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3131
+assert_return(() => invoke($15, `load8_u`, [49749]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3132
+assert_return(() => invoke($15, `load8_u`, [49948]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3133
+assert_return(() => invoke($15, `load8_u`, [50147]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3134
+assert_return(() => invoke($15, `load8_u`, [50346]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3135
+assert_return(() => invoke($15, `load8_u`, [50545]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3136
+assert_return(() => invoke($15, `load8_u`, [50744]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3137
+assert_return(() => invoke($15, `load8_u`, [50943]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3138
+assert_return(() => invoke($15, `load8_u`, [51142]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3139
+assert_return(() => invoke($15, `load8_u`, [51341]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3140
+assert_return(() => invoke($15, `load8_u`, [51540]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3141
+assert_return(() => invoke($15, `load8_u`, [51739]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3142
+assert_return(() => invoke($15, `load8_u`, [51938]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3143
+assert_return(() => invoke($15, `load8_u`, [52137]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3144
+assert_return(() => invoke($15, `load8_u`, [52336]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3145
+assert_return(() => invoke($15, `load8_u`, [52535]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3146
+assert_return(() => invoke($15, `load8_u`, [52734]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3147
+assert_return(() => invoke($15, `load8_u`, [52933]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3148
+assert_return(() => invoke($15, `load8_u`, [53132]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3149
+assert_return(() => invoke($15, `load8_u`, [53331]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3150
+assert_return(() => invoke($15, `load8_u`, [53530]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3151
+assert_return(() => invoke($15, `load8_u`, [53729]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3152
+assert_return(() => invoke($15, `load8_u`, [53928]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3153
+assert_return(() => invoke($15, `load8_u`, [54127]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3154
+assert_return(() => invoke($15, `load8_u`, [54326]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3155
+assert_return(() => invoke($15, `load8_u`, [54525]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3156
+assert_return(() => invoke($15, `load8_u`, [54724]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3157
+assert_return(() => invoke($15, `load8_u`, [54923]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3158
+assert_return(() => invoke($15, `load8_u`, [55122]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3159
+assert_return(() => invoke($15, `load8_u`, [55321]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3160
+assert_return(() => invoke($15, `load8_u`, [55520]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3161
+assert_return(() => invoke($15, `load8_u`, [55719]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3162
+assert_return(() => invoke($15, `load8_u`, [55918]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3163
+assert_return(() => invoke($15, `load8_u`, [56117]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3164
+assert_return(() => invoke($15, `load8_u`, [56316]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3165
+assert_return(() => invoke($15, `load8_u`, [56515]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3166
+assert_return(() => invoke($15, `load8_u`, [56714]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3167
+assert_return(() => invoke($15, `load8_u`, [56913]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3168
+assert_return(() => invoke($15, `load8_u`, [57112]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3169
+assert_return(() => invoke($15, `load8_u`, [57311]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3170
+assert_return(() => invoke($15, `load8_u`, [57510]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3171
+assert_return(() => invoke($15, `load8_u`, [57709]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3172
+assert_return(() => invoke($15, `load8_u`, [57908]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3173
+assert_return(() => invoke($15, `load8_u`, [58107]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3174
+assert_return(() => invoke($15, `load8_u`, [58306]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3175
+assert_return(() => invoke($15, `load8_u`, [58505]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3176
+assert_return(() => invoke($15, `load8_u`, [58704]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3177
+assert_return(() => invoke($15, `load8_u`, [58903]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3178
+assert_return(() => invoke($15, `load8_u`, [59102]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3179
+assert_return(() => invoke($15, `load8_u`, [59301]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3180
+assert_return(() => invoke($15, `load8_u`, [59500]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3181
+assert_return(() => invoke($15, `load8_u`, [59699]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3182
+assert_return(() => invoke($15, `load8_u`, [59898]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3183
+assert_return(() => invoke($15, `load8_u`, [60097]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3184
+assert_return(() => invoke($15, `load8_u`, [60296]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3185
+assert_return(() => invoke($15, `load8_u`, [60495]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3186
+assert_return(() => invoke($15, `load8_u`, [60694]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3187
+assert_return(() => invoke($15, `load8_u`, [60893]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3188
+assert_return(() => invoke($15, `load8_u`, [61092]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3189
+assert_return(() => invoke($15, `load8_u`, [61291]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3190
+assert_return(() => invoke($15, `load8_u`, [61490]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3191
+assert_return(() => invoke($15, `load8_u`, [61689]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3192
+assert_return(() => invoke($15, `load8_u`, [61888]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3193
+assert_return(() => invoke($15, `load8_u`, [62087]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3194
+assert_return(() => invoke($15, `load8_u`, [62286]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3195
+assert_return(() => invoke($15, `load8_u`, [62485]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3196
+assert_return(() => invoke($15, `load8_u`, [62684]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3197
+assert_return(() => invoke($15, `load8_u`, [62883]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3198
+assert_return(() => invoke($15, `load8_u`, [63082]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3199
+assert_return(() => invoke($15, `load8_u`, [63281]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3200
+assert_return(() => invoke($15, `load8_u`, [63480]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3201
+assert_return(() => invoke($15, `load8_u`, [63679]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3202
+assert_return(() => invoke($15, `load8_u`, [63878]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3203
+assert_return(() => invoke($15, `load8_u`, [64077]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3204
+assert_return(() => invoke($15, `load8_u`, [64276]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3205
+assert_return(() => invoke($15, `load8_u`, [64475]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3206
+assert_return(() => invoke($15, `load8_u`, [64674]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3207
+assert_return(() => invoke($15, `load8_u`, [64873]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3208
+assert_return(() => invoke($15, `load8_u`, [65072]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3209
+assert_return(() => invoke($15, `load8_u`, [65271]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3210
+assert_return(() => invoke($15, `load8_u`, [65470]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3211
+assert_return(() => invoke($15, `load8_u`, [65516]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3212
+assert_return(() => invoke($15, `load8_u`, [65517]), [value("i32", 1)]);
+
+// ./test/core/memory_copy.wast:3213
+assert_return(() => invoke($15, `load8_u`, [65518]), [value("i32", 2)]);
+
+// ./test/core/memory_copy.wast:3214
+assert_return(() => invoke($15, `load8_u`, [65519]), [value("i32", 3)]);
+
+// ./test/core/memory_copy.wast:3215
+assert_return(() => invoke($15, `load8_u`, [65520]), [value("i32", 4)]);
+
+// ./test/core/memory_copy.wast:3216
+assert_return(() => invoke($15, `load8_u`, [65521]), [value("i32", 5)]);
+
+// ./test/core/memory_copy.wast:3217
+assert_return(() => invoke($15, `load8_u`, [65522]), [value("i32", 6)]);
+
+// ./test/core/memory_copy.wast:3218
+assert_return(() => invoke($15, `load8_u`, [65523]), [value("i32", 7)]);
+
+// ./test/core/memory_copy.wast:3219
+assert_return(() => invoke($15, `load8_u`, [65524]), [value("i32", 8)]);
+
+// ./test/core/memory_copy.wast:3220
+assert_return(() => invoke($15, `load8_u`, [65525]), [value("i32", 9)]);
+
+// ./test/core/memory_copy.wast:3221
+assert_return(() => invoke($15, `load8_u`, [65526]), [value("i32", 10)]);
+
+// ./test/core/memory_copy.wast:3222
+assert_return(() => invoke($15, `load8_u`, [65527]), [value("i32", 11)]);
+
+// ./test/core/memory_copy.wast:3223
+assert_return(() => invoke($15, `load8_u`, [65528]), [value("i32", 12)]);
+
+// ./test/core/memory_copy.wast:3224
+assert_return(() => invoke($15, `load8_u`, [65529]), [value("i32", 13)]);
+
+// ./test/core/memory_copy.wast:3225
+assert_return(() => invoke($15, `load8_u`, [65530]), [value("i32", 14)]);
+
+// ./test/core/memory_copy.wast:3226
+assert_return(() => invoke($15, `load8_u`, [65531]), [value("i32", 15)]);
+
+// ./test/core/memory_copy.wast:3227
+assert_return(() => invoke($15, `load8_u`, [65532]), [value("i32", 16)]);
+
+// ./test/core/memory_copy.wast:3228
+assert_return(() => invoke($15, `load8_u`, [65533]), [value("i32", 17)]);
+
+// ./test/core/memory_copy.wast:3229
+assert_return(() => invoke($15, `load8_u`, [65534]), [value("i32", 18)]);
+
+// ./test/core/memory_copy.wast:3230
+assert_return(() => invoke($15, `load8_u`, [65535]), [value("i32", 19)]);
+
+// ./test/core/memory_copy.wast:3232
+let $16 = instantiate(`(module
+ (memory (export "mem") 1 1 )
+ (data (i32.const 65516) "\\00\\01\\02\\03\\04\\05\\06\\07\\08\\09\\0a\\0b\\0c\\0d\\0e\\0f\\10\\11\\12\\13")
+ (func (export "run") (param $$targetOffs i32) (param $$srcOffs i32) (param $$len i32)
+ (memory.copy (local.get $$targetOffs) (local.get $$srcOffs) (local.get $$len)))
+ (func (export "load8_u") (param i32) (result i32)
+ (i32.load8_u (local.get 0))))`);
+
+// ./test/core/memory_copy.wast:3240
+assert_trap(() => invoke($16, `run`, [65516, 65516, 40]), `out of bounds memory access`);
+
+// ./test/core/memory_copy.wast:3243
+assert_return(() => invoke($16, `load8_u`, [198]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3244
+assert_return(() => invoke($16, `load8_u`, [397]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3245
+assert_return(() => invoke($16, `load8_u`, [596]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3246
+assert_return(() => invoke($16, `load8_u`, [795]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3247
+assert_return(() => invoke($16, `load8_u`, [994]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3248
+assert_return(() => invoke($16, `load8_u`, [1193]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3249
+assert_return(() => invoke($16, `load8_u`, [1392]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3250
+assert_return(() => invoke($16, `load8_u`, [1591]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3251
+assert_return(() => invoke($16, `load8_u`, [1790]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3252
+assert_return(() => invoke($16, `load8_u`, [1989]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3253
+assert_return(() => invoke($16, `load8_u`, [2188]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3254
+assert_return(() => invoke($16, `load8_u`, [2387]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3255
+assert_return(() => invoke($16, `load8_u`, [2586]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3256
+assert_return(() => invoke($16, `load8_u`, [2785]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3257
+assert_return(() => invoke($16, `load8_u`, [2984]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3258
+assert_return(() => invoke($16, `load8_u`, [3183]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3259
+assert_return(() => invoke($16, `load8_u`, [3382]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3260
+assert_return(() => invoke($16, `load8_u`, [3581]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3261
+assert_return(() => invoke($16, `load8_u`, [3780]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3262
+assert_return(() => invoke($16, `load8_u`, [3979]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3263
+assert_return(() => invoke($16, `load8_u`, [4178]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3264
+assert_return(() => invoke($16, `load8_u`, [4377]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3265
+assert_return(() => invoke($16, `load8_u`, [4576]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3266
+assert_return(() => invoke($16, `load8_u`, [4775]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3267
+assert_return(() => invoke($16, `load8_u`, [4974]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3268
+assert_return(() => invoke($16, `load8_u`, [5173]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3269
+assert_return(() => invoke($16, `load8_u`, [5372]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3270
+assert_return(() => invoke($16, `load8_u`, [5571]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3271
+assert_return(() => invoke($16, `load8_u`, [5770]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3272
+assert_return(() => invoke($16, `load8_u`, [5969]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3273
+assert_return(() => invoke($16, `load8_u`, [6168]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3274
+assert_return(() => invoke($16, `load8_u`, [6367]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3275
+assert_return(() => invoke($16, `load8_u`, [6566]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3276
+assert_return(() => invoke($16, `load8_u`, [6765]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3277
+assert_return(() => invoke($16, `load8_u`, [6964]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3278
+assert_return(() => invoke($16, `load8_u`, [7163]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3279
+assert_return(() => invoke($16, `load8_u`, [7362]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3280
+assert_return(() => invoke($16, `load8_u`, [7561]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3281
+assert_return(() => invoke($16, `load8_u`, [7760]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3282
+assert_return(() => invoke($16, `load8_u`, [7959]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3283
+assert_return(() => invoke($16, `load8_u`, [8158]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3284
+assert_return(() => invoke($16, `load8_u`, [8357]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3285
+assert_return(() => invoke($16, `load8_u`, [8556]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3286
+assert_return(() => invoke($16, `load8_u`, [8755]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3287
+assert_return(() => invoke($16, `load8_u`, [8954]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3288
+assert_return(() => invoke($16, `load8_u`, [9153]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3289
+assert_return(() => invoke($16, `load8_u`, [9352]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3290
+assert_return(() => invoke($16, `load8_u`, [9551]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3291
+assert_return(() => invoke($16, `load8_u`, [9750]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3292
+assert_return(() => invoke($16, `load8_u`, [9949]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3293
+assert_return(() => invoke($16, `load8_u`, [10148]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3294
+assert_return(() => invoke($16, `load8_u`, [10347]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3295
+assert_return(() => invoke($16, `load8_u`, [10546]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3296
+assert_return(() => invoke($16, `load8_u`, [10745]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3297
+assert_return(() => invoke($16, `load8_u`, [10944]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3298
+assert_return(() => invoke($16, `load8_u`, [11143]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3299
+assert_return(() => invoke($16, `load8_u`, [11342]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3300
+assert_return(() => invoke($16, `load8_u`, [11541]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3301
+assert_return(() => invoke($16, `load8_u`, [11740]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3302
+assert_return(() => invoke($16, `load8_u`, [11939]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3303
+assert_return(() => invoke($16, `load8_u`, [12138]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3304
+assert_return(() => invoke($16, `load8_u`, [12337]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3305
+assert_return(() => invoke($16, `load8_u`, [12536]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3306
+assert_return(() => invoke($16, `load8_u`, [12735]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3307
+assert_return(() => invoke($16, `load8_u`, [12934]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3308
+assert_return(() => invoke($16, `load8_u`, [13133]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3309
+assert_return(() => invoke($16, `load8_u`, [13332]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3310
+assert_return(() => invoke($16, `load8_u`, [13531]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3311
+assert_return(() => invoke($16, `load8_u`, [13730]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3312
+assert_return(() => invoke($16, `load8_u`, [13929]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3313
+assert_return(() => invoke($16, `load8_u`, [14128]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3314
+assert_return(() => invoke($16, `load8_u`, [14327]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3315
+assert_return(() => invoke($16, `load8_u`, [14526]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3316
+assert_return(() => invoke($16, `load8_u`, [14725]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3317
+assert_return(() => invoke($16, `load8_u`, [14924]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3318
+assert_return(() => invoke($16, `load8_u`, [15123]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3319
+assert_return(() => invoke($16, `load8_u`, [15322]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3320
+assert_return(() => invoke($16, `load8_u`, [15521]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3321
+assert_return(() => invoke($16, `load8_u`, [15720]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3322
+assert_return(() => invoke($16, `load8_u`, [15919]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3323
+assert_return(() => invoke($16, `load8_u`, [16118]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3324
+assert_return(() => invoke($16, `load8_u`, [16317]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3325
+assert_return(() => invoke($16, `load8_u`, [16516]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3326
+assert_return(() => invoke($16, `load8_u`, [16715]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3327
+assert_return(() => invoke($16, `load8_u`, [16914]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3328
+assert_return(() => invoke($16, `load8_u`, [17113]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3329
+assert_return(() => invoke($16, `load8_u`, [17312]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3330
+assert_return(() => invoke($16, `load8_u`, [17511]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3331
+assert_return(() => invoke($16, `load8_u`, [17710]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3332
+assert_return(() => invoke($16, `load8_u`, [17909]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3333
+assert_return(() => invoke($16, `load8_u`, [18108]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3334
+assert_return(() => invoke($16, `load8_u`, [18307]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3335
+assert_return(() => invoke($16, `load8_u`, [18506]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3336
+assert_return(() => invoke($16, `load8_u`, [18705]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3337
+assert_return(() => invoke($16, `load8_u`, [18904]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3338
+assert_return(() => invoke($16, `load8_u`, [19103]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3339
+assert_return(() => invoke($16, `load8_u`, [19302]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3340
+assert_return(() => invoke($16, `load8_u`, [19501]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3341
+assert_return(() => invoke($16, `load8_u`, [19700]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3342
+assert_return(() => invoke($16, `load8_u`, [19899]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3343
+assert_return(() => invoke($16, `load8_u`, [20098]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3344
+assert_return(() => invoke($16, `load8_u`, [20297]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3345
+assert_return(() => invoke($16, `load8_u`, [20496]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3346
+assert_return(() => invoke($16, `load8_u`, [20695]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3347
+assert_return(() => invoke($16, `load8_u`, [20894]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3348
+assert_return(() => invoke($16, `load8_u`, [21093]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3349
+assert_return(() => invoke($16, `load8_u`, [21292]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3350
+assert_return(() => invoke($16, `load8_u`, [21491]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3351
+assert_return(() => invoke($16, `load8_u`, [21690]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3352
+assert_return(() => invoke($16, `load8_u`, [21889]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3353
+assert_return(() => invoke($16, `load8_u`, [22088]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3354
+assert_return(() => invoke($16, `load8_u`, [22287]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3355
+assert_return(() => invoke($16, `load8_u`, [22486]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3356
+assert_return(() => invoke($16, `load8_u`, [22685]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3357
+assert_return(() => invoke($16, `load8_u`, [22884]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3358
+assert_return(() => invoke($16, `load8_u`, [23083]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3359
+assert_return(() => invoke($16, `load8_u`, [23282]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3360
+assert_return(() => invoke($16, `load8_u`, [23481]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3361
+assert_return(() => invoke($16, `load8_u`, [23680]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3362
+assert_return(() => invoke($16, `load8_u`, [23879]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3363
+assert_return(() => invoke($16, `load8_u`, [24078]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3364
+assert_return(() => invoke($16, `load8_u`, [24277]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3365
+assert_return(() => invoke($16, `load8_u`, [24476]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3366
+assert_return(() => invoke($16, `load8_u`, [24675]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3367
+assert_return(() => invoke($16, `load8_u`, [24874]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3368
+assert_return(() => invoke($16, `load8_u`, [25073]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3369
+assert_return(() => invoke($16, `load8_u`, [25272]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3370
+assert_return(() => invoke($16, `load8_u`, [25471]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3371
+assert_return(() => invoke($16, `load8_u`, [25670]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3372
+assert_return(() => invoke($16, `load8_u`, [25869]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3373
+assert_return(() => invoke($16, `load8_u`, [26068]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3374
+assert_return(() => invoke($16, `load8_u`, [26267]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3375
+assert_return(() => invoke($16, `load8_u`, [26466]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3376
+assert_return(() => invoke($16, `load8_u`, [26665]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3377
+assert_return(() => invoke($16, `load8_u`, [26864]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3378
+assert_return(() => invoke($16, `load8_u`, [27063]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3379
+assert_return(() => invoke($16, `load8_u`, [27262]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3380
+assert_return(() => invoke($16, `load8_u`, [27461]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3381
+assert_return(() => invoke($16, `load8_u`, [27660]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3382
+assert_return(() => invoke($16, `load8_u`, [27859]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3383
+assert_return(() => invoke($16, `load8_u`, [28058]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3384
+assert_return(() => invoke($16, `load8_u`, [28257]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3385
+assert_return(() => invoke($16, `load8_u`, [28456]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3386
+assert_return(() => invoke($16, `load8_u`, [28655]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3387
+assert_return(() => invoke($16, `load8_u`, [28854]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3388
+assert_return(() => invoke($16, `load8_u`, [29053]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3389
+assert_return(() => invoke($16, `load8_u`, [29252]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3390
+assert_return(() => invoke($16, `load8_u`, [29451]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3391
+assert_return(() => invoke($16, `load8_u`, [29650]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3392
+assert_return(() => invoke($16, `load8_u`, [29849]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3393
+assert_return(() => invoke($16, `load8_u`, [30048]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3394
+assert_return(() => invoke($16, `load8_u`, [30247]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3395
+assert_return(() => invoke($16, `load8_u`, [30446]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3396
+assert_return(() => invoke($16, `load8_u`, [30645]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3397
+assert_return(() => invoke($16, `load8_u`, [30844]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3398
+assert_return(() => invoke($16, `load8_u`, [31043]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3399
+assert_return(() => invoke($16, `load8_u`, [31242]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3400
+assert_return(() => invoke($16, `load8_u`, [31441]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3401
+assert_return(() => invoke($16, `load8_u`, [31640]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3402
+assert_return(() => invoke($16, `load8_u`, [31839]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3403
+assert_return(() => invoke($16, `load8_u`, [32038]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3404
+assert_return(() => invoke($16, `load8_u`, [32237]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3405
+assert_return(() => invoke($16, `load8_u`, [32436]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3406
+assert_return(() => invoke($16, `load8_u`, [32635]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3407
+assert_return(() => invoke($16, `load8_u`, [32834]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3408
+assert_return(() => invoke($16, `load8_u`, [33033]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3409
+assert_return(() => invoke($16, `load8_u`, [33232]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3410
+assert_return(() => invoke($16, `load8_u`, [33431]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3411
+assert_return(() => invoke($16, `load8_u`, [33630]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3412
+assert_return(() => invoke($16, `load8_u`, [33829]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3413
+assert_return(() => invoke($16, `load8_u`, [34028]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3414
+assert_return(() => invoke($16, `load8_u`, [34227]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3415
+assert_return(() => invoke($16, `load8_u`, [34426]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3416
+assert_return(() => invoke($16, `load8_u`, [34625]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3417
+assert_return(() => invoke($16, `load8_u`, [34824]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3418
+assert_return(() => invoke($16, `load8_u`, [35023]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3419
+assert_return(() => invoke($16, `load8_u`, [35222]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3420
+assert_return(() => invoke($16, `load8_u`, [35421]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3421
+assert_return(() => invoke($16, `load8_u`, [35620]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3422
+assert_return(() => invoke($16, `load8_u`, [35819]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3423
+assert_return(() => invoke($16, `load8_u`, [36018]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3424
+assert_return(() => invoke($16, `load8_u`, [36217]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3425
+assert_return(() => invoke($16, `load8_u`, [36416]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3426
+assert_return(() => invoke($16, `load8_u`, [36615]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3427
+assert_return(() => invoke($16, `load8_u`, [36814]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3428
+assert_return(() => invoke($16, `load8_u`, [37013]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3429
+assert_return(() => invoke($16, `load8_u`, [37212]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3430
+assert_return(() => invoke($16, `load8_u`, [37411]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3431
+assert_return(() => invoke($16, `load8_u`, [37610]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3432
+assert_return(() => invoke($16, `load8_u`, [37809]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3433
+assert_return(() => invoke($16, `load8_u`, [38008]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3434
+assert_return(() => invoke($16, `load8_u`, [38207]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3435
+assert_return(() => invoke($16, `load8_u`, [38406]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3436
+assert_return(() => invoke($16, `load8_u`, [38605]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3437
+assert_return(() => invoke($16, `load8_u`, [38804]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3438
+assert_return(() => invoke($16, `load8_u`, [39003]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3439
+assert_return(() => invoke($16, `load8_u`, [39202]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3440
+assert_return(() => invoke($16, `load8_u`, [39401]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3441
+assert_return(() => invoke($16, `load8_u`, [39600]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3442
+assert_return(() => invoke($16, `load8_u`, [39799]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3443
+assert_return(() => invoke($16, `load8_u`, [39998]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3444
+assert_return(() => invoke($16, `load8_u`, [40197]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3445
+assert_return(() => invoke($16, `load8_u`, [40396]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3446
+assert_return(() => invoke($16, `load8_u`, [40595]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3447
+assert_return(() => invoke($16, `load8_u`, [40794]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3448
+assert_return(() => invoke($16, `load8_u`, [40993]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3449
+assert_return(() => invoke($16, `load8_u`, [41192]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3450
+assert_return(() => invoke($16, `load8_u`, [41391]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3451
+assert_return(() => invoke($16, `load8_u`, [41590]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3452
+assert_return(() => invoke($16, `load8_u`, [41789]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3453
+assert_return(() => invoke($16, `load8_u`, [41988]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3454
+assert_return(() => invoke($16, `load8_u`, [42187]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3455
+assert_return(() => invoke($16, `load8_u`, [42386]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3456
+assert_return(() => invoke($16, `load8_u`, [42585]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3457
+assert_return(() => invoke($16, `load8_u`, [42784]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3458
+assert_return(() => invoke($16, `load8_u`, [42983]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3459
+assert_return(() => invoke($16, `load8_u`, [43182]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3460
+assert_return(() => invoke($16, `load8_u`, [43381]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3461
+assert_return(() => invoke($16, `load8_u`, [43580]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3462
+assert_return(() => invoke($16, `load8_u`, [43779]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3463
+assert_return(() => invoke($16, `load8_u`, [43978]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3464
+assert_return(() => invoke($16, `load8_u`, [44177]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3465
+assert_return(() => invoke($16, `load8_u`, [44376]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3466
+assert_return(() => invoke($16, `load8_u`, [44575]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3467
+assert_return(() => invoke($16, `load8_u`, [44774]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3468
+assert_return(() => invoke($16, `load8_u`, [44973]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3469
+assert_return(() => invoke($16, `load8_u`, [45172]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3470
+assert_return(() => invoke($16, `load8_u`, [45371]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3471
+assert_return(() => invoke($16, `load8_u`, [45570]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3472
+assert_return(() => invoke($16, `load8_u`, [45769]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3473
+assert_return(() => invoke($16, `load8_u`, [45968]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3474
+assert_return(() => invoke($16, `load8_u`, [46167]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3475
+assert_return(() => invoke($16, `load8_u`, [46366]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3476
+assert_return(() => invoke($16, `load8_u`, [46565]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3477
+assert_return(() => invoke($16, `load8_u`, [46764]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3478
+assert_return(() => invoke($16, `load8_u`, [46963]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3479
+assert_return(() => invoke($16, `load8_u`, [47162]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3480
+assert_return(() => invoke($16, `load8_u`, [47361]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3481
+assert_return(() => invoke($16, `load8_u`, [47560]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3482
+assert_return(() => invoke($16, `load8_u`, [47759]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3483
+assert_return(() => invoke($16, `load8_u`, [47958]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3484
+assert_return(() => invoke($16, `load8_u`, [48157]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3485
+assert_return(() => invoke($16, `load8_u`, [48356]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3486
+assert_return(() => invoke($16, `load8_u`, [48555]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3487
+assert_return(() => invoke($16, `load8_u`, [48754]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3488
+assert_return(() => invoke($16, `load8_u`, [48953]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3489
+assert_return(() => invoke($16, `load8_u`, [49152]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3490
+assert_return(() => invoke($16, `load8_u`, [49351]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3491
+assert_return(() => invoke($16, `load8_u`, [49550]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3492
+assert_return(() => invoke($16, `load8_u`, [49749]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3493
+assert_return(() => invoke($16, `load8_u`, [49948]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3494
+assert_return(() => invoke($16, `load8_u`, [50147]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3495
+assert_return(() => invoke($16, `load8_u`, [50346]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3496
+assert_return(() => invoke($16, `load8_u`, [50545]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3497
+assert_return(() => invoke($16, `load8_u`, [50744]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3498
+assert_return(() => invoke($16, `load8_u`, [50943]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3499
+assert_return(() => invoke($16, `load8_u`, [51142]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3500
+assert_return(() => invoke($16, `load8_u`, [51341]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3501
+assert_return(() => invoke($16, `load8_u`, [51540]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3502
+assert_return(() => invoke($16, `load8_u`, [51739]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3503
+assert_return(() => invoke($16, `load8_u`, [51938]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3504
+assert_return(() => invoke($16, `load8_u`, [52137]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3505
+assert_return(() => invoke($16, `load8_u`, [52336]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3506
+assert_return(() => invoke($16, `load8_u`, [52535]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3507
+assert_return(() => invoke($16, `load8_u`, [52734]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3508
+assert_return(() => invoke($16, `load8_u`, [52933]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3509
+assert_return(() => invoke($16, `load8_u`, [53132]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3510
+assert_return(() => invoke($16, `load8_u`, [53331]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3511
+assert_return(() => invoke($16, `load8_u`, [53530]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3512
+assert_return(() => invoke($16, `load8_u`, [53729]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3513
+assert_return(() => invoke($16, `load8_u`, [53928]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3514
+assert_return(() => invoke($16, `load8_u`, [54127]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3515
+assert_return(() => invoke($16, `load8_u`, [54326]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3516
+assert_return(() => invoke($16, `load8_u`, [54525]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3517
+assert_return(() => invoke($16, `load8_u`, [54724]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3518
+assert_return(() => invoke($16, `load8_u`, [54923]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3519
+assert_return(() => invoke($16, `load8_u`, [55122]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3520
+assert_return(() => invoke($16, `load8_u`, [55321]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3521
+assert_return(() => invoke($16, `load8_u`, [55520]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3522
+assert_return(() => invoke($16, `load8_u`, [55719]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3523
+assert_return(() => invoke($16, `load8_u`, [55918]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3524
+assert_return(() => invoke($16, `load8_u`, [56117]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3525
+assert_return(() => invoke($16, `load8_u`, [56316]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3526
+assert_return(() => invoke($16, `load8_u`, [56515]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3527
+assert_return(() => invoke($16, `load8_u`, [56714]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3528
+assert_return(() => invoke($16, `load8_u`, [56913]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3529
+assert_return(() => invoke($16, `load8_u`, [57112]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3530
+assert_return(() => invoke($16, `load8_u`, [57311]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3531
+assert_return(() => invoke($16, `load8_u`, [57510]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3532
+assert_return(() => invoke($16, `load8_u`, [57709]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3533
+assert_return(() => invoke($16, `load8_u`, [57908]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3534
+assert_return(() => invoke($16, `load8_u`, [58107]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3535
+assert_return(() => invoke($16, `load8_u`, [58306]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3536
+assert_return(() => invoke($16, `load8_u`, [58505]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3537
+assert_return(() => invoke($16, `load8_u`, [58704]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3538
+assert_return(() => invoke($16, `load8_u`, [58903]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3539
+assert_return(() => invoke($16, `load8_u`, [59102]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3540
+assert_return(() => invoke($16, `load8_u`, [59301]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3541
+assert_return(() => invoke($16, `load8_u`, [59500]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3542
+assert_return(() => invoke($16, `load8_u`, [59699]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3543
+assert_return(() => invoke($16, `load8_u`, [59898]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3544
+assert_return(() => invoke($16, `load8_u`, [60097]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3545
+assert_return(() => invoke($16, `load8_u`, [60296]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3546
+assert_return(() => invoke($16, `load8_u`, [60495]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3547
+assert_return(() => invoke($16, `load8_u`, [60694]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3548
+assert_return(() => invoke($16, `load8_u`, [60893]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3549
+assert_return(() => invoke($16, `load8_u`, [61092]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3550
+assert_return(() => invoke($16, `load8_u`, [61291]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3551
+assert_return(() => invoke($16, `load8_u`, [61490]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3552
+assert_return(() => invoke($16, `load8_u`, [61689]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3553
+assert_return(() => invoke($16, `load8_u`, [61888]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3554
+assert_return(() => invoke($16, `load8_u`, [62087]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3555
+assert_return(() => invoke($16, `load8_u`, [62286]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3556
+assert_return(() => invoke($16, `load8_u`, [62485]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3557
+assert_return(() => invoke($16, `load8_u`, [62684]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3558
+assert_return(() => invoke($16, `load8_u`, [62883]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3559
+assert_return(() => invoke($16, `load8_u`, [63082]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3560
+assert_return(() => invoke($16, `load8_u`, [63281]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3561
+assert_return(() => invoke($16, `load8_u`, [63480]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3562
+assert_return(() => invoke($16, `load8_u`, [63679]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3563
+assert_return(() => invoke($16, `load8_u`, [63878]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3564
+assert_return(() => invoke($16, `load8_u`, [64077]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3565
+assert_return(() => invoke($16, `load8_u`, [64276]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3566
+assert_return(() => invoke($16, `load8_u`, [64475]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3567
+assert_return(() => invoke($16, `load8_u`, [64674]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3568
+assert_return(() => invoke($16, `load8_u`, [64873]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3569
+assert_return(() => invoke($16, `load8_u`, [65072]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3570
+assert_return(() => invoke($16, `load8_u`, [65271]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3571
+assert_return(() => invoke($16, `load8_u`, [65470]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3572
+assert_return(() => invoke($16, `load8_u`, [65516]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3573
+assert_return(() => invoke($16, `load8_u`, [65517]), [value("i32", 1)]);
+
+// ./test/core/memory_copy.wast:3574
+assert_return(() => invoke($16, `load8_u`, [65518]), [value("i32", 2)]);
+
+// ./test/core/memory_copy.wast:3575
+assert_return(() => invoke($16, `load8_u`, [65519]), [value("i32", 3)]);
+
+// ./test/core/memory_copy.wast:3576
+assert_return(() => invoke($16, `load8_u`, [65520]), [value("i32", 4)]);
+
+// ./test/core/memory_copy.wast:3577
+assert_return(() => invoke($16, `load8_u`, [65521]), [value("i32", 5)]);
+
+// ./test/core/memory_copy.wast:3578
+assert_return(() => invoke($16, `load8_u`, [65522]), [value("i32", 6)]);
+
+// ./test/core/memory_copy.wast:3579
+assert_return(() => invoke($16, `load8_u`, [65523]), [value("i32", 7)]);
+
+// ./test/core/memory_copy.wast:3580
+assert_return(() => invoke($16, `load8_u`, [65524]), [value("i32", 8)]);
+
+// ./test/core/memory_copy.wast:3581
+assert_return(() => invoke($16, `load8_u`, [65525]), [value("i32", 9)]);
+
+// ./test/core/memory_copy.wast:3582
+assert_return(() => invoke($16, `load8_u`, [65526]), [value("i32", 10)]);
+
+// ./test/core/memory_copy.wast:3583
+assert_return(() => invoke($16, `load8_u`, [65527]), [value("i32", 11)]);
+
+// ./test/core/memory_copy.wast:3584
+assert_return(() => invoke($16, `load8_u`, [65528]), [value("i32", 12)]);
+
+// ./test/core/memory_copy.wast:3585
+assert_return(() => invoke($16, `load8_u`, [65529]), [value("i32", 13)]);
+
+// ./test/core/memory_copy.wast:3586
+assert_return(() => invoke($16, `load8_u`, [65530]), [value("i32", 14)]);
+
+// ./test/core/memory_copy.wast:3587
+assert_return(() => invoke($16, `load8_u`, [65531]), [value("i32", 15)]);
+
+// ./test/core/memory_copy.wast:3588
+assert_return(() => invoke($16, `load8_u`, [65532]), [value("i32", 16)]);
+
+// ./test/core/memory_copy.wast:3589
+assert_return(() => invoke($16, `load8_u`, [65533]), [value("i32", 17)]);
+
+// ./test/core/memory_copy.wast:3590
+assert_return(() => invoke($16, `load8_u`, [65534]), [value("i32", 18)]);
+
+// ./test/core/memory_copy.wast:3591
+assert_return(() => invoke($16, `load8_u`, [65535]), [value("i32", 19)]);
+
+// ./test/core/memory_copy.wast:3593
+let $17 = instantiate(`(module
+ (memory (export "mem") 1 )
+ (data (i32.const 65516) "\\00\\01\\02\\03\\04\\05\\06\\07\\08\\09\\0a\\0b\\0c\\0d\\0e\\0f\\10\\11\\12\\13")
+ (func (export "run") (param $$targetOffs i32) (param $$srcOffs i32) (param $$len i32)
+ (memory.copy (local.get $$targetOffs) (local.get $$srcOffs) (local.get $$len)))
+ (func (export "load8_u") (param i32) (result i32)
+ (i32.load8_u (local.get 0))))`);
+
+// ./test/core/memory_copy.wast:3601
+assert_trap(() => invoke($17, `run`, [0, 65516, -4096]), `out of bounds memory access`);
+
+// ./test/core/memory_copy.wast:3604
+assert_return(() => invoke($17, `load8_u`, [198]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3605
+assert_return(() => invoke($17, `load8_u`, [397]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3606
+assert_return(() => invoke($17, `load8_u`, [596]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3607
+assert_return(() => invoke($17, `load8_u`, [795]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3608
+assert_return(() => invoke($17, `load8_u`, [994]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3609
+assert_return(() => invoke($17, `load8_u`, [1193]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3610
+assert_return(() => invoke($17, `load8_u`, [1392]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3611
+assert_return(() => invoke($17, `load8_u`, [1591]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3612
+assert_return(() => invoke($17, `load8_u`, [1790]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3613
+assert_return(() => invoke($17, `load8_u`, [1989]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3614
+assert_return(() => invoke($17, `load8_u`, [2188]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3615
+assert_return(() => invoke($17, `load8_u`, [2387]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3616
+assert_return(() => invoke($17, `load8_u`, [2586]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3617
+assert_return(() => invoke($17, `load8_u`, [2785]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3618
+assert_return(() => invoke($17, `load8_u`, [2984]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3619
+assert_return(() => invoke($17, `load8_u`, [3183]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3620
+assert_return(() => invoke($17, `load8_u`, [3382]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3621
+assert_return(() => invoke($17, `load8_u`, [3581]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3622
+assert_return(() => invoke($17, `load8_u`, [3780]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3623
+assert_return(() => invoke($17, `load8_u`, [3979]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3624
+assert_return(() => invoke($17, `load8_u`, [4178]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3625
+assert_return(() => invoke($17, `load8_u`, [4377]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3626
+assert_return(() => invoke($17, `load8_u`, [4576]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3627
+assert_return(() => invoke($17, `load8_u`, [4775]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3628
+assert_return(() => invoke($17, `load8_u`, [4974]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3629
+assert_return(() => invoke($17, `load8_u`, [5173]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3630
+assert_return(() => invoke($17, `load8_u`, [5372]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3631
+assert_return(() => invoke($17, `load8_u`, [5571]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3632
+assert_return(() => invoke($17, `load8_u`, [5770]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3633
+assert_return(() => invoke($17, `load8_u`, [5969]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3634
+assert_return(() => invoke($17, `load8_u`, [6168]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3635
+assert_return(() => invoke($17, `load8_u`, [6367]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3636
+assert_return(() => invoke($17, `load8_u`, [6566]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3637
+assert_return(() => invoke($17, `load8_u`, [6765]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3638
+assert_return(() => invoke($17, `load8_u`, [6964]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3639
+assert_return(() => invoke($17, `load8_u`, [7163]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3640
+assert_return(() => invoke($17, `load8_u`, [7362]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3641
+assert_return(() => invoke($17, `load8_u`, [7561]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3642
+assert_return(() => invoke($17, `load8_u`, [7760]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3643
+assert_return(() => invoke($17, `load8_u`, [7959]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3644
+assert_return(() => invoke($17, `load8_u`, [8158]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3645
+assert_return(() => invoke($17, `load8_u`, [8357]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3646
+assert_return(() => invoke($17, `load8_u`, [8556]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3647
+assert_return(() => invoke($17, `load8_u`, [8755]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3648
+assert_return(() => invoke($17, `load8_u`, [8954]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3649
+assert_return(() => invoke($17, `load8_u`, [9153]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3650
+assert_return(() => invoke($17, `load8_u`, [9352]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3651
+assert_return(() => invoke($17, `load8_u`, [9551]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3652
+assert_return(() => invoke($17, `load8_u`, [9750]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3653
+assert_return(() => invoke($17, `load8_u`, [9949]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3654
+assert_return(() => invoke($17, `load8_u`, [10148]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3655
+assert_return(() => invoke($17, `load8_u`, [10347]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3656
+assert_return(() => invoke($17, `load8_u`, [10546]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3657
+assert_return(() => invoke($17, `load8_u`, [10745]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3658
+assert_return(() => invoke($17, `load8_u`, [10944]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3659
+assert_return(() => invoke($17, `load8_u`, [11143]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3660
+assert_return(() => invoke($17, `load8_u`, [11342]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3661
+assert_return(() => invoke($17, `load8_u`, [11541]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3662
+assert_return(() => invoke($17, `load8_u`, [11740]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3663
+assert_return(() => invoke($17, `load8_u`, [11939]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3664
+assert_return(() => invoke($17, `load8_u`, [12138]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3665
+assert_return(() => invoke($17, `load8_u`, [12337]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3666
+assert_return(() => invoke($17, `load8_u`, [12536]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3667
+assert_return(() => invoke($17, `load8_u`, [12735]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3668
+assert_return(() => invoke($17, `load8_u`, [12934]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3669
+assert_return(() => invoke($17, `load8_u`, [13133]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3670
+assert_return(() => invoke($17, `load8_u`, [13332]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3671
+assert_return(() => invoke($17, `load8_u`, [13531]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3672
+assert_return(() => invoke($17, `load8_u`, [13730]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3673
+assert_return(() => invoke($17, `load8_u`, [13929]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3674
+assert_return(() => invoke($17, `load8_u`, [14128]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3675
+assert_return(() => invoke($17, `load8_u`, [14327]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3676
+assert_return(() => invoke($17, `load8_u`, [14526]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3677
+assert_return(() => invoke($17, `load8_u`, [14725]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3678
+assert_return(() => invoke($17, `load8_u`, [14924]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3679
+assert_return(() => invoke($17, `load8_u`, [15123]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3680
+assert_return(() => invoke($17, `load8_u`, [15322]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3681
+assert_return(() => invoke($17, `load8_u`, [15521]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3682
+assert_return(() => invoke($17, `load8_u`, [15720]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3683
+assert_return(() => invoke($17, `load8_u`, [15919]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3684
+assert_return(() => invoke($17, `load8_u`, [16118]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3685
+assert_return(() => invoke($17, `load8_u`, [16317]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3686
+assert_return(() => invoke($17, `load8_u`, [16516]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3687
+assert_return(() => invoke($17, `load8_u`, [16715]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3688
+assert_return(() => invoke($17, `load8_u`, [16914]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3689
+assert_return(() => invoke($17, `load8_u`, [17113]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3690
+assert_return(() => invoke($17, `load8_u`, [17312]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3691
+assert_return(() => invoke($17, `load8_u`, [17511]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3692
+assert_return(() => invoke($17, `load8_u`, [17710]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3693
+assert_return(() => invoke($17, `load8_u`, [17909]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3694
+assert_return(() => invoke($17, `load8_u`, [18108]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3695
+assert_return(() => invoke($17, `load8_u`, [18307]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3696
+assert_return(() => invoke($17, `load8_u`, [18506]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3697
+assert_return(() => invoke($17, `load8_u`, [18705]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3698
+assert_return(() => invoke($17, `load8_u`, [18904]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3699
+assert_return(() => invoke($17, `load8_u`, [19103]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3700
+assert_return(() => invoke($17, `load8_u`, [19302]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3701
+assert_return(() => invoke($17, `load8_u`, [19501]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3702
+assert_return(() => invoke($17, `load8_u`, [19700]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3703
+assert_return(() => invoke($17, `load8_u`, [19899]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3704
+assert_return(() => invoke($17, `load8_u`, [20098]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3705
+assert_return(() => invoke($17, `load8_u`, [20297]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3706
+assert_return(() => invoke($17, `load8_u`, [20496]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3707
+assert_return(() => invoke($17, `load8_u`, [20695]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3708
+assert_return(() => invoke($17, `load8_u`, [20894]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3709
+assert_return(() => invoke($17, `load8_u`, [21093]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3710
+assert_return(() => invoke($17, `load8_u`, [21292]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3711
+assert_return(() => invoke($17, `load8_u`, [21491]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3712
+assert_return(() => invoke($17, `load8_u`, [21690]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3713
+assert_return(() => invoke($17, `load8_u`, [21889]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3714
+assert_return(() => invoke($17, `load8_u`, [22088]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3715
+assert_return(() => invoke($17, `load8_u`, [22287]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3716
+assert_return(() => invoke($17, `load8_u`, [22486]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3717
+assert_return(() => invoke($17, `load8_u`, [22685]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3718
+assert_return(() => invoke($17, `load8_u`, [22884]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3719
+assert_return(() => invoke($17, `load8_u`, [23083]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3720
+assert_return(() => invoke($17, `load8_u`, [23282]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3721
+assert_return(() => invoke($17, `load8_u`, [23481]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3722
+assert_return(() => invoke($17, `load8_u`, [23680]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3723
+assert_return(() => invoke($17, `load8_u`, [23879]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3724
+assert_return(() => invoke($17, `load8_u`, [24078]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3725
+assert_return(() => invoke($17, `load8_u`, [24277]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3726
+assert_return(() => invoke($17, `load8_u`, [24476]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3727
+assert_return(() => invoke($17, `load8_u`, [24675]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3728
+assert_return(() => invoke($17, `load8_u`, [24874]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3729
+assert_return(() => invoke($17, `load8_u`, [25073]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3730
+assert_return(() => invoke($17, `load8_u`, [25272]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3731
+assert_return(() => invoke($17, `load8_u`, [25471]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3732
+assert_return(() => invoke($17, `load8_u`, [25670]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3733
+assert_return(() => invoke($17, `load8_u`, [25869]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3734
+assert_return(() => invoke($17, `load8_u`, [26068]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3735
+assert_return(() => invoke($17, `load8_u`, [26267]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3736
+assert_return(() => invoke($17, `load8_u`, [26466]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3737
+assert_return(() => invoke($17, `load8_u`, [26665]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3738
+assert_return(() => invoke($17, `load8_u`, [26864]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3739
+assert_return(() => invoke($17, `load8_u`, [27063]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3740
+assert_return(() => invoke($17, `load8_u`, [27262]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3741
+assert_return(() => invoke($17, `load8_u`, [27461]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3742
+assert_return(() => invoke($17, `load8_u`, [27660]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3743
+assert_return(() => invoke($17, `load8_u`, [27859]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3744
+assert_return(() => invoke($17, `load8_u`, [28058]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3745
+assert_return(() => invoke($17, `load8_u`, [28257]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3746
+assert_return(() => invoke($17, `load8_u`, [28456]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3747
+assert_return(() => invoke($17, `load8_u`, [28655]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3748
+assert_return(() => invoke($17, `load8_u`, [28854]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3749
+assert_return(() => invoke($17, `load8_u`, [29053]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3750
+assert_return(() => invoke($17, `load8_u`, [29252]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3751
+assert_return(() => invoke($17, `load8_u`, [29451]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3752
+assert_return(() => invoke($17, `load8_u`, [29650]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3753
+assert_return(() => invoke($17, `load8_u`, [29849]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3754
+assert_return(() => invoke($17, `load8_u`, [30048]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3755
+assert_return(() => invoke($17, `load8_u`, [30247]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3756
+assert_return(() => invoke($17, `load8_u`, [30446]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3757
+assert_return(() => invoke($17, `load8_u`, [30645]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3758
+assert_return(() => invoke($17, `load8_u`, [30844]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3759
+assert_return(() => invoke($17, `load8_u`, [31043]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3760
+assert_return(() => invoke($17, `load8_u`, [31242]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3761
+assert_return(() => invoke($17, `load8_u`, [31441]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3762
+assert_return(() => invoke($17, `load8_u`, [31640]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3763
+assert_return(() => invoke($17, `load8_u`, [31839]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3764
+assert_return(() => invoke($17, `load8_u`, [32038]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3765
+assert_return(() => invoke($17, `load8_u`, [32237]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3766
+assert_return(() => invoke($17, `load8_u`, [32436]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3767
+assert_return(() => invoke($17, `load8_u`, [32635]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3768
+assert_return(() => invoke($17, `load8_u`, [32834]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3769
+assert_return(() => invoke($17, `load8_u`, [33033]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3770
+assert_return(() => invoke($17, `load8_u`, [33232]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3771
+assert_return(() => invoke($17, `load8_u`, [33431]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3772
+assert_return(() => invoke($17, `load8_u`, [33630]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3773
+assert_return(() => invoke($17, `load8_u`, [33829]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3774
+assert_return(() => invoke($17, `load8_u`, [34028]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3775
+assert_return(() => invoke($17, `load8_u`, [34227]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3776
+assert_return(() => invoke($17, `load8_u`, [34426]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3777
+assert_return(() => invoke($17, `load8_u`, [34625]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3778
+assert_return(() => invoke($17, `load8_u`, [34824]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3779
+assert_return(() => invoke($17, `load8_u`, [35023]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3780
+assert_return(() => invoke($17, `load8_u`, [35222]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3781
+assert_return(() => invoke($17, `load8_u`, [35421]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3782
+assert_return(() => invoke($17, `load8_u`, [35620]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3783
+assert_return(() => invoke($17, `load8_u`, [35819]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3784
+assert_return(() => invoke($17, `load8_u`, [36018]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3785
+assert_return(() => invoke($17, `load8_u`, [36217]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3786
+assert_return(() => invoke($17, `load8_u`, [36416]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3787
+assert_return(() => invoke($17, `load8_u`, [36615]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3788
+assert_return(() => invoke($17, `load8_u`, [36814]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3789
+assert_return(() => invoke($17, `load8_u`, [37013]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3790
+assert_return(() => invoke($17, `load8_u`, [37212]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3791
+assert_return(() => invoke($17, `load8_u`, [37411]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3792
+assert_return(() => invoke($17, `load8_u`, [37610]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3793
+assert_return(() => invoke($17, `load8_u`, [37809]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3794
+assert_return(() => invoke($17, `load8_u`, [38008]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3795
+assert_return(() => invoke($17, `load8_u`, [38207]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3796
+assert_return(() => invoke($17, `load8_u`, [38406]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3797
+assert_return(() => invoke($17, `load8_u`, [38605]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3798
+assert_return(() => invoke($17, `load8_u`, [38804]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3799
+assert_return(() => invoke($17, `load8_u`, [39003]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3800
+assert_return(() => invoke($17, `load8_u`, [39202]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3801
+assert_return(() => invoke($17, `load8_u`, [39401]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3802
+assert_return(() => invoke($17, `load8_u`, [39600]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3803
+assert_return(() => invoke($17, `load8_u`, [39799]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3804
+assert_return(() => invoke($17, `load8_u`, [39998]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3805
+assert_return(() => invoke($17, `load8_u`, [40197]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3806
+assert_return(() => invoke($17, `load8_u`, [40396]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3807
+assert_return(() => invoke($17, `load8_u`, [40595]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3808
+assert_return(() => invoke($17, `load8_u`, [40794]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3809
+assert_return(() => invoke($17, `load8_u`, [40993]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3810
+assert_return(() => invoke($17, `load8_u`, [41192]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3811
+assert_return(() => invoke($17, `load8_u`, [41391]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3812
+assert_return(() => invoke($17, `load8_u`, [41590]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3813
+assert_return(() => invoke($17, `load8_u`, [41789]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3814
+assert_return(() => invoke($17, `load8_u`, [41988]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3815
+assert_return(() => invoke($17, `load8_u`, [42187]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3816
+assert_return(() => invoke($17, `load8_u`, [42386]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3817
+assert_return(() => invoke($17, `load8_u`, [42585]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3818
+assert_return(() => invoke($17, `load8_u`, [42784]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3819
+assert_return(() => invoke($17, `load8_u`, [42983]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3820
+assert_return(() => invoke($17, `load8_u`, [43182]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3821
+assert_return(() => invoke($17, `load8_u`, [43381]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3822
+assert_return(() => invoke($17, `load8_u`, [43580]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3823
+assert_return(() => invoke($17, `load8_u`, [43779]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3824
+assert_return(() => invoke($17, `load8_u`, [43978]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3825
+assert_return(() => invoke($17, `load8_u`, [44177]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3826
+assert_return(() => invoke($17, `load8_u`, [44376]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3827
+assert_return(() => invoke($17, `load8_u`, [44575]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3828
+assert_return(() => invoke($17, `load8_u`, [44774]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3829
+assert_return(() => invoke($17, `load8_u`, [44973]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3830
+assert_return(() => invoke($17, `load8_u`, [45172]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3831
+assert_return(() => invoke($17, `load8_u`, [45371]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3832
+assert_return(() => invoke($17, `load8_u`, [45570]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3833
+assert_return(() => invoke($17, `load8_u`, [45769]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3834
+assert_return(() => invoke($17, `load8_u`, [45968]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3835
+assert_return(() => invoke($17, `load8_u`, [46167]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3836
+assert_return(() => invoke($17, `load8_u`, [46366]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3837
+assert_return(() => invoke($17, `load8_u`, [46565]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3838
+assert_return(() => invoke($17, `load8_u`, [46764]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3839
+assert_return(() => invoke($17, `load8_u`, [46963]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3840
+assert_return(() => invoke($17, `load8_u`, [47162]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3841
+assert_return(() => invoke($17, `load8_u`, [47361]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3842
+assert_return(() => invoke($17, `load8_u`, [47560]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3843
+assert_return(() => invoke($17, `load8_u`, [47759]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3844
+assert_return(() => invoke($17, `load8_u`, [47958]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3845
+assert_return(() => invoke($17, `load8_u`, [48157]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3846
+assert_return(() => invoke($17, `load8_u`, [48356]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3847
+assert_return(() => invoke($17, `load8_u`, [48555]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3848
+assert_return(() => invoke($17, `load8_u`, [48754]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3849
+assert_return(() => invoke($17, `load8_u`, [48953]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3850
+assert_return(() => invoke($17, `load8_u`, [49152]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3851
+assert_return(() => invoke($17, `load8_u`, [49351]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3852
+assert_return(() => invoke($17, `load8_u`, [49550]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3853
+assert_return(() => invoke($17, `load8_u`, [49749]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3854
+assert_return(() => invoke($17, `load8_u`, [49948]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3855
+assert_return(() => invoke($17, `load8_u`, [50147]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3856
+assert_return(() => invoke($17, `load8_u`, [50346]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3857
+assert_return(() => invoke($17, `load8_u`, [50545]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3858
+assert_return(() => invoke($17, `load8_u`, [50744]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3859
+assert_return(() => invoke($17, `load8_u`, [50943]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3860
+assert_return(() => invoke($17, `load8_u`, [51142]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3861
+assert_return(() => invoke($17, `load8_u`, [51341]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3862
+assert_return(() => invoke($17, `load8_u`, [51540]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3863
+assert_return(() => invoke($17, `load8_u`, [51739]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3864
+assert_return(() => invoke($17, `load8_u`, [51938]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3865
+assert_return(() => invoke($17, `load8_u`, [52137]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3866
+assert_return(() => invoke($17, `load8_u`, [52336]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3867
+assert_return(() => invoke($17, `load8_u`, [52535]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3868
+assert_return(() => invoke($17, `load8_u`, [52734]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3869
+assert_return(() => invoke($17, `load8_u`, [52933]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3870
+assert_return(() => invoke($17, `load8_u`, [53132]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3871
+assert_return(() => invoke($17, `load8_u`, [53331]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3872
+assert_return(() => invoke($17, `load8_u`, [53530]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3873
+assert_return(() => invoke($17, `load8_u`, [53729]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3874
+assert_return(() => invoke($17, `load8_u`, [53928]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3875
+assert_return(() => invoke($17, `load8_u`, [54127]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3876
+assert_return(() => invoke($17, `load8_u`, [54326]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3877
+assert_return(() => invoke($17, `load8_u`, [54525]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3878
+assert_return(() => invoke($17, `load8_u`, [54724]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3879
+assert_return(() => invoke($17, `load8_u`, [54923]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3880
+assert_return(() => invoke($17, `load8_u`, [55122]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3881
+assert_return(() => invoke($17, `load8_u`, [55321]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3882
+assert_return(() => invoke($17, `load8_u`, [55520]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3883
+assert_return(() => invoke($17, `load8_u`, [55719]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3884
+assert_return(() => invoke($17, `load8_u`, [55918]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3885
+assert_return(() => invoke($17, `load8_u`, [56117]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3886
+assert_return(() => invoke($17, `load8_u`, [56316]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3887
+assert_return(() => invoke($17, `load8_u`, [56515]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3888
+assert_return(() => invoke($17, `load8_u`, [56714]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3889
+assert_return(() => invoke($17, `load8_u`, [56913]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3890
+assert_return(() => invoke($17, `load8_u`, [57112]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3891
+assert_return(() => invoke($17, `load8_u`, [57311]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3892
+assert_return(() => invoke($17, `load8_u`, [57510]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3893
+assert_return(() => invoke($17, `load8_u`, [57709]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3894
+assert_return(() => invoke($17, `load8_u`, [57908]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3895
+assert_return(() => invoke($17, `load8_u`, [58107]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3896
+assert_return(() => invoke($17, `load8_u`, [58306]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3897
+assert_return(() => invoke($17, `load8_u`, [58505]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3898
+assert_return(() => invoke($17, `load8_u`, [58704]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3899
+assert_return(() => invoke($17, `load8_u`, [58903]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3900
+assert_return(() => invoke($17, `load8_u`, [59102]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3901
+assert_return(() => invoke($17, `load8_u`, [59301]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3902
+assert_return(() => invoke($17, `load8_u`, [59500]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3903
+assert_return(() => invoke($17, `load8_u`, [59699]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3904
+assert_return(() => invoke($17, `load8_u`, [59898]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3905
+assert_return(() => invoke($17, `load8_u`, [60097]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3906
+assert_return(() => invoke($17, `load8_u`, [60296]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3907
+assert_return(() => invoke($17, `load8_u`, [60495]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3908
+assert_return(() => invoke($17, `load8_u`, [60694]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3909
+assert_return(() => invoke($17, `load8_u`, [60893]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3910
+assert_return(() => invoke($17, `load8_u`, [61092]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3911
+assert_return(() => invoke($17, `load8_u`, [61291]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3912
+assert_return(() => invoke($17, `load8_u`, [61490]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3913
+assert_return(() => invoke($17, `load8_u`, [61689]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3914
+assert_return(() => invoke($17, `load8_u`, [61888]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3915
+assert_return(() => invoke($17, `load8_u`, [62087]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3916
+assert_return(() => invoke($17, `load8_u`, [62286]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3917
+assert_return(() => invoke($17, `load8_u`, [62485]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3918
+assert_return(() => invoke($17, `load8_u`, [62684]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3919
+assert_return(() => invoke($17, `load8_u`, [62883]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3920
+assert_return(() => invoke($17, `load8_u`, [63082]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3921
+assert_return(() => invoke($17, `load8_u`, [63281]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3922
+assert_return(() => invoke($17, `load8_u`, [63480]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3923
+assert_return(() => invoke($17, `load8_u`, [63679]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3924
+assert_return(() => invoke($17, `load8_u`, [63878]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3925
+assert_return(() => invoke($17, `load8_u`, [64077]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3926
+assert_return(() => invoke($17, `load8_u`, [64276]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3927
+assert_return(() => invoke($17, `load8_u`, [64475]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3928
+assert_return(() => invoke($17, `load8_u`, [64674]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3929
+assert_return(() => invoke($17, `load8_u`, [64873]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3930
+assert_return(() => invoke($17, `load8_u`, [65072]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3931
+assert_return(() => invoke($17, `load8_u`, [65271]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3932
+assert_return(() => invoke($17, `load8_u`, [65470]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3933
+assert_return(() => invoke($17, `load8_u`, [65516]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3934
+assert_return(() => invoke($17, `load8_u`, [65517]), [value("i32", 1)]);
+
+// ./test/core/memory_copy.wast:3935
+assert_return(() => invoke($17, `load8_u`, [65518]), [value("i32", 2)]);
+
+// ./test/core/memory_copy.wast:3936
+assert_return(() => invoke($17, `load8_u`, [65519]), [value("i32", 3)]);
+
+// ./test/core/memory_copy.wast:3937
+assert_return(() => invoke($17, `load8_u`, [65520]), [value("i32", 4)]);
+
+// ./test/core/memory_copy.wast:3938
+assert_return(() => invoke($17, `load8_u`, [65521]), [value("i32", 5)]);
+
+// ./test/core/memory_copy.wast:3939
+assert_return(() => invoke($17, `load8_u`, [65522]), [value("i32", 6)]);
+
+// ./test/core/memory_copy.wast:3940
+assert_return(() => invoke($17, `load8_u`, [65523]), [value("i32", 7)]);
+
+// ./test/core/memory_copy.wast:3941
+assert_return(() => invoke($17, `load8_u`, [65524]), [value("i32", 8)]);
+
+// ./test/core/memory_copy.wast:3942
+assert_return(() => invoke($17, `load8_u`, [65525]), [value("i32", 9)]);
+
+// ./test/core/memory_copy.wast:3943
+assert_return(() => invoke($17, `load8_u`, [65526]), [value("i32", 10)]);
+
+// ./test/core/memory_copy.wast:3944
+assert_return(() => invoke($17, `load8_u`, [65527]), [value("i32", 11)]);
+
+// ./test/core/memory_copy.wast:3945
+assert_return(() => invoke($17, `load8_u`, [65528]), [value("i32", 12)]);
+
+// ./test/core/memory_copy.wast:3946
+assert_return(() => invoke($17, `load8_u`, [65529]), [value("i32", 13)]);
+
+// ./test/core/memory_copy.wast:3947
+assert_return(() => invoke($17, `load8_u`, [65530]), [value("i32", 14)]);
+
+// ./test/core/memory_copy.wast:3948
+assert_return(() => invoke($17, `load8_u`, [65531]), [value("i32", 15)]);
+
+// ./test/core/memory_copy.wast:3949
+assert_return(() => invoke($17, `load8_u`, [65532]), [value("i32", 16)]);
+
+// ./test/core/memory_copy.wast:3950
+assert_return(() => invoke($17, `load8_u`, [65533]), [value("i32", 17)]);
+
+// ./test/core/memory_copy.wast:3951
+assert_return(() => invoke($17, `load8_u`, [65534]), [value("i32", 18)]);
+
+// ./test/core/memory_copy.wast:3952
+assert_return(() => invoke($17, `load8_u`, [65535]), [value("i32", 19)]);
+
+// ./test/core/memory_copy.wast:3954
+let $18 = instantiate(`(module
+ (memory (export "mem") 1 1 )
+ (data (i32.const 61440) "\\00\\01\\02\\03\\04\\05\\06\\07\\08\\09\\0a\\0b\\0c\\0d\\0e\\0f\\10\\11\\12\\13")
+ (func (export "run") (param $$targetOffs i32) (param $$srcOffs i32) (param $$len i32)
+ (memory.copy (local.get $$targetOffs) (local.get $$srcOffs) (local.get $$len)))
+ (func (export "load8_u") (param i32) (result i32)
+ (i32.load8_u (local.get 0))))`);
+
+// ./test/core/memory_copy.wast:3962
+assert_trap(() => invoke($18, `run`, [65516, 61440, -256]), `out of bounds memory access`);
+
+// ./test/core/memory_copy.wast:3965
+assert_return(() => invoke($18, `load8_u`, [198]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3966
+assert_return(() => invoke($18, `load8_u`, [397]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3967
+assert_return(() => invoke($18, `load8_u`, [596]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3968
+assert_return(() => invoke($18, `load8_u`, [795]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3969
+assert_return(() => invoke($18, `load8_u`, [994]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3970
+assert_return(() => invoke($18, `load8_u`, [1193]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3971
+assert_return(() => invoke($18, `load8_u`, [1392]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3972
+assert_return(() => invoke($18, `load8_u`, [1591]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3973
+assert_return(() => invoke($18, `load8_u`, [1790]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3974
+assert_return(() => invoke($18, `load8_u`, [1989]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3975
+assert_return(() => invoke($18, `load8_u`, [2188]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3976
+assert_return(() => invoke($18, `load8_u`, [2387]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3977
+assert_return(() => invoke($18, `load8_u`, [2586]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3978
+assert_return(() => invoke($18, `load8_u`, [2785]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3979
+assert_return(() => invoke($18, `load8_u`, [2984]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3980
+assert_return(() => invoke($18, `load8_u`, [3183]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3981
+assert_return(() => invoke($18, `load8_u`, [3382]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3982
+assert_return(() => invoke($18, `load8_u`, [3581]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3983
+assert_return(() => invoke($18, `load8_u`, [3780]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3984
+assert_return(() => invoke($18, `load8_u`, [3979]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3985
+assert_return(() => invoke($18, `load8_u`, [4178]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3986
+assert_return(() => invoke($18, `load8_u`, [4377]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3987
+assert_return(() => invoke($18, `load8_u`, [4576]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3988
+assert_return(() => invoke($18, `load8_u`, [4775]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3989
+assert_return(() => invoke($18, `load8_u`, [4974]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3990
+assert_return(() => invoke($18, `load8_u`, [5173]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3991
+assert_return(() => invoke($18, `load8_u`, [5372]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3992
+assert_return(() => invoke($18, `load8_u`, [5571]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3993
+assert_return(() => invoke($18, `load8_u`, [5770]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3994
+assert_return(() => invoke($18, `load8_u`, [5969]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3995
+assert_return(() => invoke($18, `load8_u`, [6168]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3996
+assert_return(() => invoke($18, `load8_u`, [6367]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3997
+assert_return(() => invoke($18, `load8_u`, [6566]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3998
+assert_return(() => invoke($18, `load8_u`, [6765]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:3999
+assert_return(() => invoke($18, `load8_u`, [6964]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4000
+assert_return(() => invoke($18, `load8_u`, [7163]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4001
+assert_return(() => invoke($18, `load8_u`, [7362]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4002
+assert_return(() => invoke($18, `load8_u`, [7561]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4003
+assert_return(() => invoke($18, `load8_u`, [7760]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4004
+assert_return(() => invoke($18, `load8_u`, [7959]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4005
+assert_return(() => invoke($18, `load8_u`, [8158]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4006
+assert_return(() => invoke($18, `load8_u`, [8357]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4007
+assert_return(() => invoke($18, `load8_u`, [8556]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4008
+assert_return(() => invoke($18, `load8_u`, [8755]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4009
+assert_return(() => invoke($18, `load8_u`, [8954]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4010
+assert_return(() => invoke($18, `load8_u`, [9153]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4011
+assert_return(() => invoke($18, `load8_u`, [9352]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4012
+assert_return(() => invoke($18, `load8_u`, [9551]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4013
+assert_return(() => invoke($18, `load8_u`, [9750]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4014
+assert_return(() => invoke($18, `load8_u`, [9949]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4015
+assert_return(() => invoke($18, `load8_u`, [10148]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4016
+assert_return(() => invoke($18, `load8_u`, [10347]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4017
+assert_return(() => invoke($18, `load8_u`, [10546]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4018
+assert_return(() => invoke($18, `load8_u`, [10745]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4019
+assert_return(() => invoke($18, `load8_u`, [10944]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4020
+assert_return(() => invoke($18, `load8_u`, [11143]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4021
+assert_return(() => invoke($18, `load8_u`, [11342]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4022
+assert_return(() => invoke($18, `load8_u`, [11541]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4023
+assert_return(() => invoke($18, `load8_u`, [11740]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4024
+assert_return(() => invoke($18, `load8_u`, [11939]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4025
+assert_return(() => invoke($18, `load8_u`, [12138]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4026
+assert_return(() => invoke($18, `load8_u`, [12337]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4027
+assert_return(() => invoke($18, `load8_u`, [12536]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4028
+assert_return(() => invoke($18, `load8_u`, [12735]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4029
+assert_return(() => invoke($18, `load8_u`, [12934]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4030
+assert_return(() => invoke($18, `load8_u`, [13133]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4031
+assert_return(() => invoke($18, `load8_u`, [13332]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4032
+assert_return(() => invoke($18, `load8_u`, [13531]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4033
+assert_return(() => invoke($18, `load8_u`, [13730]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4034
+assert_return(() => invoke($18, `load8_u`, [13929]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4035
+assert_return(() => invoke($18, `load8_u`, [14128]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4036
+assert_return(() => invoke($18, `load8_u`, [14327]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4037
+assert_return(() => invoke($18, `load8_u`, [14526]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4038
+assert_return(() => invoke($18, `load8_u`, [14725]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4039
+assert_return(() => invoke($18, `load8_u`, [14924]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4040
+assert_return(() => invoke($18, `load8_u`, [15123]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4041
+assert_return(() => invoke($18, `load8_u`, [15322]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4042
+assert_return(() => invoke($18, `load8_u`, [15521]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4043
+assert_return(() => invoke($18, `load8_u`, [15720]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4044
+assert_return(() => invoke($18, `load8_u`, [15919]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4045
+assert_return(() => invoke($18, `load8_u`, [16118]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4046
+assert_return(() => invoke($18, `load8_u`, [16317]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4047
+assert_return(() => invoke($18, `load8_u`, [16516]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4048
+assert_return(() => invoke($18, `load8_u`, [16715]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4049
+assert_return(() => invoke($18, `load8_u`, [16914]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4050
+assert_return(() => invoke($18, `load8_u`, [17113]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4051
+assert_return(() => invoke($18, `load8_u`, [17312]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4052
+assert_return(() => invoke($18, `load8_u`, [17511]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4053
+assert_return(() => invoke($18, `load8_u`, [17710]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4054
+assert_return(() => invoke($18, `load8_u`, [17909]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4055
+assert_return(() => invoke($18, `load8_u`, [18108]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4056
+assert_return(() => invoke($18, `load8_u`, [18307]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4057
+assert_return(() => invoke($18, `load8_u`, [18506]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4058
+assert_return(() => invoke($18, `load8_u`, [18705]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4059
+assert_return(() => invoke($18, `load8_u`, [18904]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4060
+assert_return(() => invoke($18, `load8_u`, [19103]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4061
+assert_return(() => invoke($18, `load8_u`, [19302]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4062
+assert_return(() => invoke($18, `load8_u`, [19501]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4063
+assert_return(() => invoke($18, `load8_u`, [19700]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4064
+assert_return(() => invoke($18, `load8_u`, [19899]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4065
+assert_return(() => invoke($18, `load8_u`, [20098]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4066
+assert_return(() => invoke($18, `load8_u`, [20297]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4067
+assert_return(() => invoke($18, `load8_u`, [20496]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4068
+assert_return(() => invoke($18, `load8_u`, [20695]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4069
+assert_return(() => invoke($18, `load8_u`, [20894]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4070
+assert_return(() => invoke($18, `load8_u`, [21093]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4071
+assert_return(() => invoke($18, `load8_u`, [21292]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4072
+assert_return(() => invoke($18, `load8_u`, [21491]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4073
+assert_return(() => invoke($18, `load8_u`, [21690]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4074
+assert_return(() => invoke($18, `load8_u`, [21889]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4075
+assert_return(() => invoke($18, `load8_u`, [22088]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4076
+assert_return(() => invoke($18, `load8_u`, [22287]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4077
+assert_return(() => invoke($18, `load8_u`, [22486]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4078
+assert_return(() => invoke($18, `load8_u`, [22685]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4079
+assert_return(() => invoke($18, `load8_u`, [22884]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4080
+assert_return(() => invoke($18, `load8_u`, [23083]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4081
+assert_return(() => invoke($18, `load8_u`, [23282]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4082
+assert_return(() => invoke($18, `load8_u`, [23481]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4083
+assert_return(() => invoke($18, `load8_u`, [23680]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4084
+assert_return(() => invoke($18, `load8_u`, [23879]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4085
+assert_return(() => invoke($18, `load8_u`, [24078]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4086
+assert_return(() => invoke($18, `load8_u`, [24277]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4087
+assert_return(() => invoke($18, `load8_u`, [24476]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4088
+assert_return(() => invoke($18, `load8_u`, [24675]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4089
+assert_return(() => invoke($18, `load8_u`, [24874]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4090
+assert_return(() => invoke($18, `load8_u`, [25073]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4091
+assert_return(() => invoke($18, `load8_u`, [25272]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4092
+assert_return(() => invoke($18, `load8_u`, [25471]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4093
+assert_return(() => invoke($18, `load8_u`, [25670]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4094
+assert_return(() => invoke($18, `load8_u`, [25869]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4095
+assert_return(() => invoke($18, `load8_u`, [26068]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4096
+assert_return(() => invoke($18, `load8_u`, [26267]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4097
+assert_return(() => invoke($18, `load8_u`, [26466]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4098
+assert_return(() => invoke($18, `load8_u`, [26665]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4099
+assert_return(() => invoke($18, `load8_u`, [26864]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4100
+assert_return(() => invoke($18, `load8_u`, [27063]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4101
+assert_return(() => invoke($18, `load8_u`, [27262]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4102
+assert_return(() => invoke($18, `load8_u`, [27461]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4103
+assert_return(() => invoke($18, `load8_u`, [27660]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4104
+assert_return(() => invoke($18, `load8_u`, [27859]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4105
+assert_return(() => invoke($18, `load8_u`, [28058]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4106
+assert_return(() => invoke($18, `load8_u`, [28257]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4107
+assert_return(() => invoke($18, `load8_u`, [28456]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4108
+assert_return(() => invoke($18, `load8_u`, [28655]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4109
+assert_return(() => invoke($18, `load8_u`, [28854]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4110
+assert_return(() => invoke($18, `load8_u`, [29053]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4111
+assert_return(() => invoke($18, `load8_u`, [29252]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4112
+assert_return(() => invoke($18, `load8_u`, [29451]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4113
+assert_return(() => invoke($18, `load8_u`, [29650]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4114
+assert_return(() => invoke($18, `load8_u`, [29849]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4115
+assert_return(() => invoke($18, `load8_u`, [30048]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4116
+assert_return(() => invoke($18, `load8_u`, [30247]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4117
+assert_return(() => invoke($18, `load8_u`, [30446]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4118
+assert_return(() => invoke($18, `load8_u`, [30645]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4119
+assert_return(() => invoke($18, `load8_u`, [30844]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4120
+assert_return(() => invoke($18, `load8_u`, [31043]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4121
+assert_return(() => invoke($18, `load8_u`, [31242]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4122
+assert_return(() => invoke($18, `load8_u`, [31441]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4123
+assert_return(() => invoke($18, `load8_u`, [31640]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4124
+assert_return(() => invoke($18, `load8_u`, [31839]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4125
+assert_return(() => invoke($18, `load8_u`, [32038]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4126
+assert_return(() => invoke($18, `load8_u`, [32237]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4127
+assert_return(() => invoke($18, `load8_u`, [32436]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4128
+assert_return(() => invoke($18, `load8_u`, [32635]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4129
+assert_return(() => invoke($18, `load8_u`, [32834]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4130
+assert_return(() => invoke($18, `load8_u`, [33033]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4131
+assert_return(() => invoke($18, `load8_u`, [33232]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4132
+assert_return(() => invoke($18, `load8_u`, [33431]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4133
+assert_return(() => invoke($18, `load8_u`, [33630]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4134
+assert_return(() => invoke($18, `load8_u`, [33829]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4135
+assert_return(() => invoke($18, `load8_u`, [34028]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4136
+assert_return(() => invoke($18, `load8_u`, [34227]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4137
+assert_return(() => invoke($18, `load8_u`, [34426]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4138
+assert_return(() => invoke($18, `load8_u`, [34625]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4139
+assert_return(() => invoke($18, `load8_u`, [34824]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4140
+assert_return(() => invoke($18, `load8_u`, [35023]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4141
+assert_return(() => invoke($18, `load8_u`, [35222]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4142
+assert_return(() => invoke($18, `load8_u`, [35421]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4143
+assert_return(() => invoke($18, `load8_u`, [35620]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4144
+assert_return(() => invoke($18, `load8_u`, [35819]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4145
+assert_return(() => invoke($18, `load8_u`, [36018]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4146
+assert_return(() => invoke($18, `load8_u`, [36217]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4147
+assert_return(() => invoke($18, `load8_u`, [36416]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4148
+assert_return(() => invoke($18, `load8_u`, [36615]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4149
+assert_return(() => invoke($18, `load8_u`, [36814]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4150
+assert_return(() => invoke($18, `load8_u`, [37013]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4151
+assert_return(() => invoke($18, `load8_u`, [37212]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4152
+assert_return(() => invoke($18, `load8_u`, [37411]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4153
+assert_return(() => invoke($18, `load8_u`, [37610]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4154
+assert_return(() => invoke($18, `load8_u`, [37809]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4155
+assert_return(() => invoke($18, `load8_u`, [38008]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4156
+assert_return(() => invoke($18, `load8_u`, [38207]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4157
+assert_return(() => invoke($18, `load8_u`, [38406]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4158
+assert_return(() => invoke($18, `load8_u`, [38605]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4159
+assert_return(() => invoke($18, `load8_u`, [38804]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4160
+assert_return(() => invoke($18, `load8_u`, [39003]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4161
+assert_return(() => invoke($18, `load8_u`, [39202]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4162
+assert_return(() => invoke($18, `load8_u`, [39401]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4163
+assert_return(() => invoke($18, `load8_u`, [39600]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4164
+assert_return(() => invoke($18, `load8_u`, [39799]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4165
+assert_return(() => invoke($18, `load8_u`, [39998]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4166
+assert_return(() => invoke($18, `load8_u`, [40197]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4167
+assert_return(() => invoke($18, `load8_u`, [40396]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4168
+assert_return(() => invoke($18, `load8_u`, [40595]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4169
+assert_return(() => invoke($18, `load8_u`, [40794]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4170
+assert_return(() => invoke($18, `load8_u`, [40993]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4171
+assert_return(() => invoke($18, `load8_u`, [41192]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4172
+assert_return(() => invoke($18, `load8_u`, [41391]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4173
+assert_return(() => invoke($18, `load8_u`, [41590]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4174
+assert_return(() => invoke($18, `load8_u`, [41789]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4175
+assert_return(() => invoke($18, `load8_u`, [41988]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4176
+assert_return(() => invoke($18, `load8_u`, [42187]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4177
+assert_return(() => invoke($18, `load8_u`, [42386]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4178
+assert_return(() => invoke($18, `load8_u`, [42585]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4179
+assert_return(() => invoke($18, `load8_u`, [42784]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4180
+assert_return(() => invoke($18, `load8_u`, [42983]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4181
+assert_return(() => invoke($18, `load8_u`, [43182]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4182
+assert_return(() => invoke($18, `load8_u`, [43381]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4183
+assert_return(() => invoke($18, `load8_u`, [43580]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4184
+assert_return(() => invoke($18, `load8_u`, [43779]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4185
+assert_return(() => invoke($18, `load8_u`, [43978]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4186
+assert_return(() => invoke($18, `load8_u`, [44177]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4187
+assert_return(() => invoke($18, `load8_u`, [44376]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4188
+assert_return(() => invoke($18, `load8_u`, [44575]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4189
+assert_return(() => invoke($18, `load8_u`, [44774]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4190
+assert_return(() => invoke($18, `load8_u`, [44973]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4191
+assert_return(() => invoke($18, `load8_u`, [45172]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4192
+assert_return(() => invoke($18, `load8_u`, [45371]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4193
+assert_return(() => invoke($18, `load8_u`, [45570]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4194
+assert_return(() => invoke($18, `load8_u`, [45769]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4195
+assert_return(() => invoke($18, `load8_u`, [45968]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4196
+assert_return(() => invoke($18, `load8_u`, [46167]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4197
+assert_return(() => invoke($18, `load8_u`, [46366]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4198
+assert_return(() => invoke($18, `load8_u`, [46565]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4199
+assert_return(() => invoke($18, `load8_u`, [46764]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4200
+assert_return(() => invoke($18, `load8_u`, [46963]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4201
+assert_return(() => invoke($18, `load8_u`, [47162]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4202
+assert_return(() => invoke($18, `load8_u`, [47361]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4203
+assert_return(() => invoke($18, `load8_u`, [47560]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4204
+assert_return(() => invoke($18, `load8_u`, [47759]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4205
+assert_return(() => invoke($18, `load8_u`, [47958]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4206
+assert_return(() => invoke($18, `load8_u`, [48157]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4207
+assert_return(() => invoke($18, `load8_u`, [48356]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4208
+assert_return(() => invoke($18, `load8_u`, [48555]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4209
+assert_return(() => invoke($18, `load8_u`, [48754]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4210
+assert_return(() => invoke($18, `load8_u`, [48953]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4211
+assert_return(() => invoke($18, `load8_u`, [49152]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4212
+assert_return(() => invoke($18, `load8_u`, [49351]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4213
+assert_return(() => invoke($18, `load8_u`, [49550]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4214
+assert_return(() => invoke($18, `load8_u`, [49749]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4215
+assert_return(() => invoke($18, `load8_u`, [49948]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4216
+assert_return(() => invoke($18, `load8_u`, [50147]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4217
+assert_return(() => invoke($18, `load8_u`, [50346]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4218
+assert_return(() => invoke($18, `load8_u`, [50545]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4219
+assert_return(() => invoke($18, `load8_u`, [50744]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4220
+assert_return(() => invoke($18, `load8_u`, [50943]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4221
+assert_return(() => invoke($18, `load8_u`, [51142]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4222
+assert_return(() => invoke($18, `load8_u`, [51341]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4223
+assert_return(() => invoke($18, `load8_u`, [51540]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4224
+assert_return(() => invoke($18, `load8_u`, [51739]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4225
+assert_return(() => invoke($18, `load8_u`, [51938]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4226
+assert_return(() => invoke($18, `load8_u`, [52137]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4227
+assert_return(() => invoke($18, `load8_u`, [52336]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4228
+assert_return(() => invoke($18, `load8_u`, [52535]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4229
+assert_return(() => invoke($18, `load8_u`, [52734]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4230
+assert_return(() => invoke($18, `load8_u`, [52933]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4231
+assert_return(() => invoke($18, `load8_u`, [53132]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4232
+assert_return(() => invoke($18, `load8_u`, [53331]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4233
+assert_return(() => invoke($18, `load8_u`, [53530]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4234
+assert_return(() => invoke($18, `load8_u`, [53729]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4235
+assert_return(() => invoke($18, `load8_u`, [53928]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4236
+assert_return(() => invoke($18, `load8_u`, [54127]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4237
+assert_return(() => invoke($18, `load8_u`, [54326]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4238
+assert_return(() => invoke($18, `load8_u`, [54525]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4239
+assert_return(() => invoke($18, `load8_u`, [54724]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4240
+assert_return(() => invoke($18, `load8_u`, [54923]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4241
+assert_return(() => invoke($18, `load8_u`, [55122]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4242
+assert_return(() => invoke($18, `load8_u`, [55321]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4243
+assert_return(() => invoke($18, `load8_u`, [55520]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4244
+assert_return(() => invoke($18, `load8_u`, [55719]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4245
+assert_return(() => invoke($18, `load8_u`, [55918]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4246
+assert_return(() => invoke($18, `load8_u`, [56117]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4247
+assert_return(() => invoke($18, `load8_u`, [56316]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4248
+assert_return(() => invoke($18, `load8_u`, [56515]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4249
+assert_return(() => invoke($18, `load8_u`, [56714]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4250
+assert_return(() => invoke($18, `load8_u`, [56913]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4251
+assert_return(() => invoke($18, `load8_u`, [57112]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4252
+assert_return(() => invoke($18, `load8_u`, [57311]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4253
+assert_return(() => invoke($18, `load8_u`, [57510]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4254
+assert_return(() => invoke($18, `load8_u`, [57709]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4255
+assert_return(() => invoke($18, `load8_u`, [57908]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4256
+assert_return(() => invoke($18, `load8_u`, [58107]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4257
+assert_return(() => invoke($18, `load8_u`, [58306]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4258
+assert_return(() => invoke($18, `load8_u`, [58505]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4259
+assert_return(() => invoke($18, `load8_u`, [58704]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4260
+assert_return(() => invoke($18, `load8_u`, [58903]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4261
+assert_return(() => invoke($18, `load8_u`, [59102]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4262
+assert_return(() => invoke($18, `load8_u`, [59301]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4263
+assert_return(() => invoke($18, `load8_u`, [59500]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4264
+assert_return(() => invoke($18, `load8_u`, [59699]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4265
+assert_return(() => invoke($18, `load8_u`, [59898]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4266
+assert_return(() => invoke($18, `load8_u`, [60097]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4267
+assert_return(() => invoke($18, `load8_u`, [60296]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4268
+assert_return(() => invoke($18, `load8_u`, [60495]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4269
+assert_return(() => invoke($18, `load8_u`, [60694]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4270
+assert_return(() => invoke($18, `load8_u`, [60893]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4271
+assert_return(() => invoke($18, `load8_u`, [61092]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4272
+assert_return(() => invoke($18, `load8_u`, [61291]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4273
+assert_return(() => invoke($18, `load8_u`, [61440]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4274
+assert_return(() => invoke($18, `load8_u`, [61441]), [value("i32", 1)]);
+
+// ./test/core/memory_copy.wast:4275
+assert_return(() => invoke($18, `load8_u`, [61442]), [value("i32", 2)]);
+
+// ./test/core/memory_copy.wast:4276
+assert_return(() => invoke($18, `load8_u`, [61443]), [value("i32", 3)]);
+
+// ./test/core/memory_copy.wast:4277
+assert_return(() => invoke($18, `load8_u`, [61444]), [value("i32", 4)]);
+
+// ./test/core/memory_copy.wast:4278
+assert_return(() => invoke($18, `load8_u`, [61445]), [value("i32", 5)]);
+
+// ./test/core/memory_copy.wast:4279
+assert_return(() => invoke($18, `load8_u`, [61446]), [value("i32", 6)]);
+
+// ./test/core/memory_copy.wast:4280
+assert_return(() => invoke($18, `load8_u`, [61447]), [value("i32", 7)]);
+
+// ./test/core/memory_copy.wast:4281
+assert_return(() => invoke($18, `load8_u`, [61448]), [value("i32", 8)]);
+
+// ./test/core/memory_copy.wast:4282
+assert_return(() => invoke($18, `load8_u`, [61449]), [value("i32", 9)]);
+
+// ./test/core/memory_copy.wast:4283
+assert_return(() => invoke($18, `load8_u`, [61450]), [value("i32", 10)]);
+
+// ./test/core/memory_copy.wast:4284
+assert_return(() => invoke($18, `load8_u`, [61451]), [value("i32", 11)]);
+
+// ./test/core/memory_copy.wast:4285
+assert_return(() => invoke($18, `load8_u`, [61452]), [value("i32", 12)]);
+
+// ./test/core/memory_copy.wast:4286
+assert_return(() => invoke($18, `load8_u`, [61453]), [value("i32", 13)]);
+
+// ./test/core/memory_copy.wast:4287
+assert_return(() => invoke($18, `load8_u`, [61454]), [value("i32", 14)]);
+
+// ./test/core/memory_copy.wast:4288
+assert_return(() => invoke($18, `load8_u`, [61455]), [value("i32", 15)]);
+
+// ./test/core/memory_copy.wast:4289
+assert_return(() => invoke($18, `load8_u`, [61456]), [value("i32", 16)]);
+
+// ./test/core/memory_copy.wast:4290
+assert_return(() => invoke($18, `load8_u`, [61457]), [value("i32", 17)]);
+
+// ./test/core/memory_copy.wast:4291
+assert_return(() => invoke($18, `load8_u`, [61458]), [value("i32", 18)]);
+
+// ./test/core/memory_copy.wast:4292
+assert_return(() => invoke($18, `load8_u`, [61459]), [value("i32", 19)]);
+
+// ./test/core/memory_copy.wast:4293
+assert_return(() => invoke($18, `load8_u`, [61510]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4294
+assert_return(() => invoke($18, `load8_u`, [61709]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4295
+assert_return(() => invoke($18, `load8_u`, [61908]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4296
+assert_return(() => invoke($18, `load8_u`, [62107]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4297
+assert_return(() => invoke($18, `load8_u`, [62306]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4298
+assert_return(() => invoke($18, `load8_u`, [62505]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4299
+assert_return(() => invoke($18, `load8_u`, [62704]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4300
+assert_return(() => invoke($18, `load8_u`, [62903]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4301
+assert_return(() => invoke($18, `load8_u`, [63102]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4302
+assert_return(() => invoke($18, `load8_u`, [63301]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4303
+assert_return(() => invoke($18, `load8_u`, [63500]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4304
+assert_return(() => invoke($18, `load8_u`, [63699]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4305
+assert_return(() => invoke($18, `load8_u`, [63898]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4306
+assert_return(() => invoke($18, `load8_u`, [64097]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4307
+assert_return(() => invoke($18, `load8_u`, [64296]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4308
+assert_return(() => invoke($18, `load8_u`, [64495]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4309
+assert_return(() => invoke($18, `load8_u`, [64694]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4310
+assert_return(() => invoke($18, `load8_u`, [64893]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4311
+assert_return(() => invoke($18, `load8_u`, [65092]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4312
+assert_return(() => invoke($18, `load8_u`, [65291]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4313
+assert_return(() => invoke($18, `load8_u`, [65490]), [value("i32", 0)]);
+
+// ./test/core/memory_copy.wast:4315
+assert_invalid(
+ () => instantiate(`(module
+ (func (export "testfn")
+ (memory.copy (i32.const 10) (i32.const 20) (i32.const 30))))`),
+ `unknown memory 0`,
+);
+
+// ./test/core/memory_copy.wast:4321
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (i32.const 10) (i32.const 20) (f32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4328
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (i32.const 10) (i32.const 20) (i64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4335
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (i32.const 10) (i32.const 20) (f64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4342
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (i32.const 10) (f32.const 20) (i32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4349
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (i32.const 10) (f32.const 20) (f32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4356
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (i32.const 10) (f32.const 20) (i64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4363
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (i32.const 10) (f32.const 20) (f64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4370
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (i32.const 10) (i64.const 20) (i32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4377
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (i32.const 10) (i64.const 20) (f32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4384
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (i32.const 10) (i64.const 20) (i64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4391
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (i32.const 10) (i64.const 20) (f64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4398
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (i32.const 10) (f64.const 20) (i32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4405
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (i32.const 10) (f64.const 20) (f32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4412
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (i32.const 10) (f64.const 20) (i64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4419
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (i32.const 10) (f64.const 20) (f64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4426
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (f32.const 10) (i32.const 20) (i32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4433
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (f32.const 10) (i32.const 20) (f32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4440
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (f32.const 10) (i32.const 20) (i64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4447
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (f32.const 10) (i32.const 20) (f64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4454
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (f32.const 10) (f32.const 20) (i32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4461
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (f32.const 10) (f32.const 20) (f32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4468
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (f32.const 10) (f32.const 20) (i64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4475
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (f32.const 10) (f32.const 20) (f64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4482
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (f32.const 10) (i64.const 20) (i32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4489
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (f32.const 10) (i64.const 20) (f32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4496
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (f32.const 10) (i64.const 20) (i64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4503
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (f32.const 10) (i64.const 20) (f64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4510
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (f32.const 10) (f64.const 20) (i32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4517
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (f32.const 10) (f64.const 20) (f32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4524
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (f32.const 10) (f64.const 20) (i64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4531
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (f32.const 10) (f64.const 20) (f64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4538
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (i64.const 10) (i32.const 20) (i32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4545
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (i64.const 10) (i32.const 20) (f32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4552
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (i64.const 10) (i32.const 20) (i64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4559
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (i64.const 10) (i32.const 20) (f64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4566
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (i64.const 10) (f32.const 20) (i32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4573
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (i64.const 10) (f32.const 20) (f32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4580
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (i64.const 10) (f32.const 20) (i64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4587
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (i64.const 10) (f32.const 20) (f64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4594
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (i64.const 10) (i64.const 20) (i32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4601
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (i64.const 10) (i64.const 20) (f32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4608
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (i64.const 10) (i64.const 20) (i64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4615
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (i64.const 10) (i64.const 20) (f64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4622
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (i64.const 10) (f64.const 20) (i32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4629
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (i64.const 10) (f64.const 20) (f32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4636
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (i64.const 10) (f64.const 20) (i64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4643
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (i64.const 10) (f64.const 20) (f64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4650
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (f64.const 10) (i32.const 20) (i32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4657
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (f64.const 10) (i32.const 20) (f32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4664
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (f64.const 10) (i32.const 20) (i64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4671
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (f64.const 10) (i32.const 20) (f64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4678
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (f64.const 10) (f32.const 20) (i32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4685
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (f64.const 10) (f32.const 20) (f32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4692
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (f64.const 10) (f32.const 20) (i64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4699
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (f64.const 10) (f32.const 20) (f64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4706
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (f64.const 10) (i64.const 20) (i32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4713
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (f64.const 10) (i64.const 20) (f32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4720
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (f64.const 10) (i64.const 20) (i64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4727
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (f64.const 10) (i64.const 20) (f64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4734
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (f64.const 10) (f64.const 20) (i32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4741
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (f64.const 10) (f64.const 20) (f32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4748
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (f64.const 10) (f64.const 20) (i64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4755
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.copy (f64.const 10) (f64.const 20) (f64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_copy.wast:4763
+let $19 = instantiate(`(module
+ (memory 1 1)
+ (func (export "test")
+ (memory.fill (i32.const 10) (i32.const 0x55) (i32.const 10))
+ (memory.copy (i32.const 9) (i32.const 10) (i32.const 5)))
+
+ (func (export "checkRange") (param $$from i32) (param $$to i32) (param $$expected i32) (result i32)
+ (loop $$cont
+ (if (i32.eq (local.get $$from) (local.get $$to))
+ (then
+ (return (i32.const -1))))
+ (if (i32.eq (i32.load8_u (local.get $$from)) (local.get $$expected))
+ (then
+ (local.set $$from (i32.add (local.get $$from) (i32.const 1)))
+ (br $$cont))))
+ (return (local.get $$from)))
+)`);
+
+// ./test/core/memory_copy.wast:4780
+invoke($19, `test`, []);
+
+// ./test/core/memory_copy.wast:4782
+assert_return(() => invoke($19, `checkRange`, [0, 9, 0]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:4784
+assert_return(() => invoke($19, `checkRange`, [9, 20, 85]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:4786
+assert_return(() => invoke($19, `checkRange`, [20, 65536, 0]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:4789
+let $20 = instantiate(`(module
+ (memory 1 1)
+ (func (export "test")
+ (memory.fill (i32.const 10) (i32.const 0x55) (i32.const 10))
+ (memory.copy (i32.const 16) (i32.const 15) (i32.const 5)))
+
+ (func (export "checkRange") (param $$from i32) (param $$to i32) (param $$expected i32) (result i32)
+ (loop $$cont
+ (if (i32.eq (local.get $$from) (local.get $$to))
+ (then
+ (return (i32.const -1))))
+ (if (i32.eq (i32.load8_u (local.get $$from)) (local.get $$expected))
+ (then
+ (local.set $$from (i32.add (local.get $$from) (i32.const 1)))
+ (br $$cont))))
+ (return (local.get $$from)))
+)`);
+
+// ./test/core/memory_copy.wast:4806
+invoke($20, `test`, []);
+
+// ./test/core/memory_copy.wast:4808
+assert_return(() => invoke($20, `checkRange`, [0, 10, 0]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:4810
+assert_return(() => invoke($20, `checkRange`, [10, 21, 85]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:4812
+assert_return(() => invoke($20, `checkRange`, [21, 65536, 0]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:4815
+let $21 = instantiate(`(module
+ (memory 1 1)
+ (func (export "test")
+ (memory.copy (i32.const 0xFF00) (i32.const 0x8000) (i32.const 257))))`);
+
+// ./test/core/memory_copy.wast:4819
+assert_trap(() => invoke($21, `test`, []), `out of bounds memory access`);
+
+// ./test/core/memory_copy.wast:4821
+let $22 = instantiate(`(module
+ (memory 1 1)
+ (func (export "test")
+ (memory.copy (i32.const 0xFFFFFF00) (i32.const 0x4000) (i32.const 257))))`);
+
+// ./test/core/memory_copy.wast:4825
+assert_trap(() => invoke($22, `test`, []), `out of bounds memory access`);
+
+// ./test/core/memory_copy.wast:4827
+let $23 = instantiate(`(module
+ (memory 1 1)
+ (func (export "test")
+ (memory.copy (i32.const 0x8000) (i32.const 0xFF00) (i32.const 257))))`);
+
+// ./test/core/memory_copy.wast:4831
+assert_trap(() => invoke($23, `test`, []), `out of bounds memory access`);
+
+// ./test/core/memory_copy.wast:4833
+let $24 = instantiate(`(module
+ (memory 1 1)
+ (func (export "test")
+ (memory.copy (i32.const 0x4000) (i32.const 0xFFFFFF00) (i32.const 257))))`);
+
+// ./test/core/memory_copy.wast:4837
+assert_trap(() => invoke($24, `test`, []), `out of bounds memory access`);
+
+// ./test/core/memory_copy.wast:4839
+let $25 = instantiate(`(module
+ (memory 1 1)
+ (func (export "test")
+ (memory.fill (i32.const 0x0000) (i32.const 0x55) (i32.const 0x8000))
+ (memory.fill (i32.const 0x8000) (i32.const 0xAA) (i32.const 0x8000))
+ (memory.copy (i32.const 0x9000) (i32.const 0x7000) (i32.const 0)))
+
+ (func (export "checkRange") (param $$from i32) (param $$to i32) (param $$expected i32) (result i32)
+ (loop $$cont
+ (if (i32.eq (local.get $$from) (local.get $$to))
+ (then
+ (return (i32.const -1))))
+ (if (i32.eq (i32.load8_u (local.get $$from)) (local.get $$expected))
+ (then
+ (local.set $$from (i32.add (local.get $$from) (i32.const 1)))
+ (br $$cont))))
+ (return (local.get $$from)))
+)`);
+
+// ./test/core/memory_copy.wast:4857
+invoke($25, `test`, []);
+
+// ./test/core/memory_copy.wast:4859
+assert_return(() => invoke($25, `checkRange`, [0, 32768, 85]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:4861
+assert_return(() => invoke($25, `checkRange`, [32768, 65536, 170]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:4863
+let $26 = instantiate(`(module
+ (memory 1 1)
+ (func (export "test")
+ (memory.copy (i32.const 0x10000) (i32.const 0x7000) (i32.const 0))))`);
+
+// ./test/core/memory_copy.wast:4867
+invoke($26, `test`, []);
+
+// ./test/core/memory_copy.wast:4869
+let $27 = instantiate(`(module
+ (memory 1 1)
+ (func (export "test")
+ (memory.copy (i32.const 0x20000) (i32.const 0x7000) (i32.const 0))))`);
+
+// ./test/core/memory_copy.wast:4873
+assert_trap(() => invoke($27, `test`, []), `out of bounds memory access`);
+
+// ./test/core/memory_copy.wast:4875
+let $28 = instantiate(`(module
+ (memory 1 1)
+ (func (export "test")
+ (memory.copy (i32.const 0x9000) (i32.const 0x10000) (i32.const 0))))`);
+
+// ./test/core/memory_copy.wast:4879
+invoke($28, `test`, []);
+
+// ./test/core/memory_copy.wast:4881
+let $29 = instantiate(`(module
+ (memory 1 1)
+ (func (export "test")
+ (memory.copy (i32.const 0x9000) (i32.const 0x20000) (i32.const 0))))`);
+
+// ./test/core/memory_copy.wast:4885
+assert_trap(() => invoke($29, `test`, []), `out of bounds memory access`);
+
+// ./test/core/memory_copy.wast:4887
+let $30 = instantiate(`(module
+ (memory 1 1)
+ (func (export "test")
+ (memory.copy (i32.const 0x10000) (i32.const 0x10000) (i32.const 0))))`);
+
+// ./test/core/memory_copy.wast:4891
+invoke($30, `test`, []);
+
+// ./test/core/memory_copy.wast:4893
+let $31 = instantiate(`(module
+ (memory 1 1)
+ (func (export "test")
+ (memory.copy (i32.const 0x20000) (i32.const 0x20000) (i32.const 0))))`);
+
+// ./test/core/memory_copy.wast:4897
+assert_trap(() => invoke($31, `test`, []), `out of bounds memory access`);
+
+// ./test/core/memory_copy.wast:4899
+let $32 = instantiate(`(module
+ (memory 1 1)
+ (func (export "test")
+ (memory.fill (i32.const 17767) (i32.const 1) (i32.const 1344))
+ (memory.fill (i32.const 39017) (i32.const 2) (i32.const 1055))
+ (memory.fill (i32.const 56401) (i32.const 3) (i32.const 988))
+ (memory.fill (i32.const 37962) (i32.const 4) (i32.const 322))
+ (memory.fill (i32.const 7977) (i32.const 5) (i32.const 1994))
+ (memory.fill (i32.const 22714) (i32.const 6) (i32.const 3036))
+ (memory.fill (i32.const 16882) (i32.const 7) (i32.const 2372))
+ (memory.fill (i32.const 43491) (i32.const 8) (i32.const 835))
+ (memory.fill (i32.const 124) (i32.const 9) (i32.const 1393))
+ (memory.fill (i32.const 2132) (i32.const 10) (i32.const 2758))
+ (memory.fill (i32.const 8987) (i32.const 11) (i32.const 3098))
+ (memory.fill (i32.const 52711) (i32.const 12) (i32.const 741))
+ (memory.fill (i32.const 3958) (i32.const 13) (i32.const 2823))
+ (memory.fill (i32.const 49715) (i32.const 14) (i32.const 1280))
+ (memory.fill (i32.const 50377) (i32.const 15) (i32.const 1466))
+ (memory.fill (i32.const 20493) (i32.const 16) (i32.const 3158))
+ (memory.fill (i32.const 47665) (i32.const 17) (i32.const 544))
+ (memory.fill (i32.const 12451) (i32.const 18) (i32.const 2669))
+ (memory.fill (i32.const 24869) (i32.const 19) (i32.const 2651))
+ (memory.fill (i32.const 45317) (i32.const 20) (i32.const 1570))
+ (memory.fill (i32.const 43096) (i32.const 21) (i32.const 1691))
+ (memory.fill (i32.const 33886) (i32.const 22) (i32.const 646))
+ (memory.fill (i32.const 48555) (i32.const 23) (i32.const 1858))
+ (memory.fill (i32.const 53453) (i32.const 24) (i32.const 2657))
+ (memory.fill (i32.const 30363) (i32.const 25) (i32.const 981))
+ (memory.fill (i32.const 9300) (i32.const 26) (i32.const 1807))
+ (memory.fill (i32.const 50190) (i32.const 27) (i32.const 487))
+ (memory.fill (i32.const 62753) (i32.const 28) (i32.const 530))
+ (memory.fill (i32.const 36316) (i32.const 29) (i32.const 943))
+ (memory.fill (i32.const 6768) (i32.const 30) (i32.const 381))
+ (memory.fill (i32.const 51262) (i32.const 31) (i32.const 3089))
+ (memory.fill (i32.const 49729) (i32.const 32) (i32.const 658))
+ (memory.fill (i32.const 44540) (i32.const 33) (i32.const 1702))
+ (memory.fill (i32.const 33342) (i32.const 34) (i32.const 1092))
+ (memory.fill (i32.const 50814) (i32.const 35) (i32.const 1410))
+ (memory.fill (i32.const 47594) (i32.const 36) (i32.const 2204))
+ (memory.fill (i32.const 54123) (i32.const 37) (i32.const 2394))
+ (memory.fill (i32.const 55183) (i32.const 38) (i32.const 250))
+ (memory.fill (i32.const 22620) (i32.const 39) (i32.const 2097))
+ (memory.fill (i32.const 17132) (i32.const 40) (i32.const 3264))
+ (memory.fill (i32.const 54331) (i32.const 41) (i32.const 3299))
+ (memory.fill (i32.const 39474) (i32.const 42) (i32.const 2796))
+ (memory.fill (i32.const 36156) (i32.const 43) (i32.const 2070))
+ (memory.fill (i32.const 35308) (i32.const 44) (i32.const 2763))
+ (memory.fill (i32.const 32731) (i32.const 45) (i32.const 312))
+ (memory.fill (i32.const 63746) (i32.const 46) (i32.const 192))
+ (memory.fill (i32.const 30974) (i32.const 47) (i32.const 596))
+ (memory.fill (i32.const 16635) (i32.const 48) (i32.const 501))
+ (memory.fill (i32.const 57002) (i32.const 49) (i32.const 686))
+ (memory.fill (i32.const 34299) (i32.const 50) (i32.const 385))
+ (memory.fill (i32.const 60881) (i32.const 51) (i32.const 903))
+ (memory.fill (i32.const 61445) (i32.const 52) (i32.const 2390))
+ (memory.fill (i32.const 46972) (i32.const 53) (i32.const 1441))
+ (memory.fill (i32.const 25973) (i32.const 54) (i32.const 3162))
+ (memory.fill (i32.const 5566) (i32.const 55) (i32.const 2135))
+ (memory.fill (i32.const 35977) (i32.const 56) (i32.const 519))
+ (memory.fill (i32.const 44892) (i32.const 57) (i32.const 3280))
+ (memory.fill (i32.const 46760) (i32.const 58) (i32.const 1678))
+ (memory.fill (i32.const 46607) (i32.const 59) (i32.const 3168))
+ (memory.fill (i32.const 22449) (i32.const 60) (i32.const 1441))
+ (memory.fill (i32.const 58609) (i32.const 61) (i32.const 663))
+ (memory.fill (i32.const 32261) (i32.const 62) (i32.const 1671))
+ (memory.fill (i32.const 3063) (i32.const 63) (i32.const 721))
+ (memory.fill (i32.const 34025) (i32.const 64) (i32.const 84))
+ (memory.fill (i32.const 33338) (i32.const 65) (i32.const 2029))
+ (memory.fill (i32.const 36810) (i32.const 66) (i32.const 29))
+ (memory.fill (i32.const 19147) (i32.const 67) (i32.const 3034))
+ (memory.fill (i32.const 12616) (i32.const 68) (i32.const 1043))
+ (memory.fill (i32.const 18276) (i32.const 69) (i32.const 3324))
+ (memory.fill (i32.const 4639) (i32.const 70) (i32.const 1091))
+ (memory.fill (i32.const 16158) (i32.const 71) (i32.const 1997))
+ (memory.fill (i32.const 18204) (i32.const 72) (i32.const 2259))
+ (memory.fill (i32.const 50532) (i32.const 73) (i32.const 3189))
+ (memory.fill (i32.const 11028) (i32.const 74) (i32.const 1968))
+ (memory.fill (i32.const 15962) (i32.const 75) (i32.const 1455))
+ (memory.fill (i32.const 45406) (i32.const 76) (i32.const 1177))
+ (memory.fill (i32.const 54137) (i32.const 77) (i32.const 1568))
+ (memory.fill (i32.const 33083) (i32.const 78) (i32.const 1642))
+ (memory.fill (i32.const 61028) (i32.const 79) (i32.const 3284))
+ (memory.fill (i32.const 51729) (i32.const 80) (i32.const 223))
+ (memory.fill (i32.const 4361) (i32.const 81) (i32.const 2171))
+ (memory.fill (i32.const 57514) (i32.const 82) (i32.const 1322))
+ (memory.fill (i32.const 55724) (i32.const 83) (i32.const 2648))
+ (memory.fill (i32.const 24091) (i32.const 84) (i32.const 1045))
+ (memory.fill (i32.const 43183) (i32.const 85) (i32.const 3097))
+ (memory.fill (i32.const 32307) (i32.const 86) (i32.const 2796))
+ (memory.fill (i32.const 3811) (i32.const 87) (i32.const 2010))
+ (memory.fill (i32.const 54856) (i32.const 88) (i32.const 0))
+ (memory.fill (i32.const 49941) (i32.const 89) (i32.const 2069))
+ (memory.fill (i32.const 20411) (i32.const 90) (i32.const 2896))
+ (memory.fill (i32.const 33826) (i32.const 91) (i32.const 192))
+ (memory.fill (i32.const 9402) (i32.const 92) (i32.const 2195))
+ (memory.fill (i32.const 12413) (i32.const 93) (i32.const 24))
+ (memory.fill (i32.const 14091) (i32.const 94) (i32.const 577))
+ (memory.fill (i32.const 44058) (i32.const 95) (i32.const 2089))
+ (memory.fill (i32.const 36735) (i32.const 96) (i32.const 3436))
+ (memory.fill (i32.const 23288) (i32.const 97) (i32.const 2765))
+ (memory.fill (i32.const 6392) (i32.const 98) (i32.const 830))
+ (memory.fill (i32.const 33307) (i32.const 99) (i32.const 1938))
+ (memory.fill (i32.const 21941) (i32.const 100) (i32.const 2750))
+ (memory.copy (i32.const 59214) (i32.const 54248) (i32.const 2098))
+ (memory.copy (i32.const 63026) (i32.const 39224) (i32.const 230))
+ (memory.copy (i32.const 51833) (i32.const 23629) (i32.const 2300))
+ (memory.copy (i32.const 6708) (i32.const 23996) (i32.const 639))
+ (memory.copy (i32.const 6990) (i32.const 33399) (i32.const 1097))
+ (memory.copy (i32.const 19403) (i32.const 10348) (i32.const 3197))
+ (memory.copy (i32.const 27308) (i32.const 54406) (i32.const 100))
+ (memory.copy (i32.const 27221) (i32.const 43682) (i32.const 1717))
+ (memory.copy (i32.const 60528) (i32.const 8629) (i32.const 119))
+ (memory.copy (i32.const 5947) (i32.const 2308) (i32.const 658))
+ (memory.copy (i32.const 4787) (i32.const 51631) (i32.const 2269))
+ (memory.copy (i32.const 12617) (i32.const 19197) (i32.const 833))
+ (memory.copy (i32.const 11854) (i32.const 46505) (i32.const 3300))
+ (memory.copy (i32.const 11376) (i32.const 45012) (i32.const 2281))
+ (memory.copy (i32.const 34186) (i32.const 6697) (i32.const 2572))
+ (memory.copy (i32.const 4936) (i32.const 1690) (i32.const 1328))
+ (memory.copy (i32.const 63164) (i32.const 7637) (i32.const 1670))
+ (memory.copy (i32.const 44568) (i32.const 18344) (i32.const 33))
+ (memory.copy (i32.const 43918) (i32.const 22348) (i32.const 1427))
+ (memory.copy (i32.const 46637) (i32.const 49819) (i32.const 1434))
+ (memory.copy (i32.const 63684) (i32.const 8755) (i32.const 834))
+ (memory.copy (i32.const 33485) (i32.const 20131) (i32.const 3317))
+ (memory.copy (i32.const 40575) (i32.const 54317) (i32.const 3201))
+ (memory.copy (i32.const 25812) (i32.const 59254) (i32.const 2452))
+ (memory.copy (i32.const 19678) (i32.const 56882) (i32.const 346))
+ (memory.copy (i32.const 15852) (i32.const 35914) (i32.const 2430))
+ (memory.copy (i32.const 11824) (i32.const 35574) (i32.const 300))
+ (memory.copy (i32.const 59427) (i32.const 13957) (i32.const 3153))
+ (memory.copy (i32.const 34299) (i32.const 60594) (i32.const 1281))
+ (memory.copy (i32.const 8964) (i32.const 12276) (i32.const 943))
+ (memory.copy (i32.const 2827) (i32.const 10425) (i32.const 1887))
+ (memory.copy (i32.const 43194) (i32.const 43910) (i32.const 738))
+ (memory.copy (i32.const 63038) (i32.const 18949) (i32.const 122))
+ (memory.copy (i32.const 24044) (i32.const 44761) (i32.const 1755))
+ (memory.copy (i32.const 22608) (i32.const 14755) (i32.const 702))
+ (memory.copy (i32.const 11284) (i32.const 26579) (i32.const 1830))
+ (memory.copy (i32.const 23092) (i32.const 20471) (i32.const 1064))
+ (memory.copy (i32.const 57248) (i32.const 54770) (i32.const 2631))
+ (memory.copy (i32.const 25492) (i32.const 1025) (i32.const 3113))
+ (memory.copy (i32.const 49588) (i32.const 44220) (i32.const 975))
+ (memory.copy (i32.const 28280) (i32.const 41722) (i32.const 2336))
+ (memory.copy (i32.const 61289) (i32.const 230) (i32.const 2872))
+ (memory.copy (i32.const 22480) (i32.const 52506) (i32.const 2197))
+ (memory.copy (i32.const 40553) (i32.const 9578) (i32.const 1958))
+ (memory.copy (i32.const 29004) (i32.const 20862) (i32.const 2186))
+ (memory.copy (i32.const 53029) (i32.const 43955) (i32.const 1037))
+ (memory.copy (i32.const 25476) (i32.const 35667) (i32.const 1650))
+ (memory.copy (i32.const 58516) (i32.const 45819) (i32.const 1986))
+ (memory.copy (i32.const 38297) (i32.const 5776) (i32.const 1955))
+ (memory.copy (i32.const 28503) (i32.const 55364) (i32.const 2368))
+ (memory.copy (i32.const 62619) (i32.const 18108) (i32.const 1356))
+ (memory.copy (i32.const 50149) (i32.const 13861) (i32.const 382))
+ (memory.copy (i32.const 16904) (i32.const 36341) (i32.const 1900))
+ (memory.copy (i32.const 48098) (i32.const 11358) (i32.const 2807))
+ (memory.copy (i32.const 28512) (i32.const 40362) (i32.const 323))
+ (memory.copy (i32.const 35506) (i32.const 27856) (i32.const 1670))
+ (memory.copy (i32.const 62970) (i32.const 53332) (i32.const 1341))
+ (memory.copy (i32.const 14133) (i32.const 46312) (i32.const 644))
+ (memory.copy (i32.const 29030) (i32.const 19074) (i32.const 496))
+ (memory.copy (i32.const 44952) (i32.const 47577) (i32.const 2784))
+ (memory.copy (i32.const 39559) (i32.const 44661) (i32.const 1350))
+ (memory.copy (i32.const 10352) (i32.const 29274) (i32.const 1475))
+ (memory.copy (i32.const 46911) (i32.const 46178) (i32.const 1467))
+ (memory.copy (i32.const 4905) (i32.const 28740) (i32.const 1895))
+ (memory.copy (i32.const 38012) (i32.const 57253) (i32.const 1751))
+ (memory.copy (i32.const 26446) (i32.const 27223) (i32.const 1127))
+ (memory.copy (i32.const 58835) (i32.const 24657) (i32.const 1063))
+ (memory.copy (i32.const 61356) (i32.const 38790) (i32.const 766))
+ (memory.copy (i32.const 44160) (i32.const 2284) (i32.const 1520))
+ (memory.copy (i32.const 32740) (i32.const 47237) (i32.const 3014))
+ (memory.copy (i32.const 11148) (i32.const 21260) (i32.const 1011))
+ (memory.copy (i32.const 7665) (i32.const 31612) (i32.const 3034))
+ (memory.copy (i32.const 18044) (i32.const 12987) (i32.const 3320))
+ (memory.copy (i32.const 57306) (i32.const 55905) (i32.const 308))
+ (memory.copy (i32.const 24675) (i32.const 16815) (i32.const 1155))
+ (memory.copy (i32.const 19900) (i32.const 10115) (i32.const 722))
+ (memory.copy (i32.const 2921) (i32.const 5935) (i32.const 2370))
+ (memory.copy (i32.const 32255) (i32.const 50095) (i32.const 2926))
+ (memory.copy (i32.const 15126) (i32.const 17299) (i32.const 2607))
+ (memory.copy (i32.const 45575) (i32.const 28447) (i32.const 2045))
+ (memory.copy (i32.const 55149) (i32.const 36113) (i32.const 2596))
+ (memory.copy (i32.const 28461) (i32.const 54157) (i32.const 1168))
+ (memory.copy (i32.const 47951) (i32.const 53385) (i32.const 3137))
+ (memory.copy (i32.const 30646) (i32.const 45155) (i32.const 2649))
+ (memory.copy (i32.const 5057) (i32.const 4295) (i32.const 52))
+ (memory.copy (i32.const 6692) (i32.const 24195) (i32.const 441))
+ (memory.copy (i32.const 32984) (i32.const 27117) (i32.const 3445))
+ (memory.copy (i32.const 32530) (i32.const 59372) (i32.const 2785))
+ (memory.copy (i32.const 34361) (i32.const 8962) (i32.const 2406))
+ (memory.copy (i32.const 17893) (i32.const 54538) (i32.const 3381))
+ (memory.copy (i32.const 22685) (i32.const 44151) (i32.const 136))
+ (memory.copy (i32.const 59089) (i32.const 7077) (i32.const 1045))
+ (memory.copy (i32.const 42945) (i32.const 55028) (i32.const 2389))
+ (memory.copy (i32.const 44693) (i32.const 20138) (i32.const 877))
+ (memory.copy (i32.const 36810) (i32.const 25196) (i32.const 3447))
+ (memory.copy (i32.const 45742) (i32.const 31888) (i32.const 854))
+ (memory.copy (i32.const 24236) (i32.const 31866) (i32.const 1377))
+ (memory.copy (i32.const 33778) (i32.const 692) (i32.const 1594))
+ (memory.copy (i32.const 60618) (i32.const 18585) (i32.const 2987))
+ (memory.copy (i32.const 50370) (i32.const 41271) (i32.const 1406))
+ )
+
+ (func (export "checkRange") (param $$from i32) (param $$to i32) (param $$expected i32) (result i32)
+ (loop $$cont
+ (if (i32.eq (local.get $$from) (local.get $$to))
+ (then
+ (return (i32.const -1))))
+ (if (i32.eq (i32.load8_u (local.get $$from)) (local.get $$expected))
+ (then
+ (local.set $$from (i32.add (local.get $$from) (i32.const 1)))
+ (br $$cont))))
+ (return (local.get $$from)))
+)`);
+
+// ./test/core/memory_copy.wast:5115
+invoke($32, `test`, []);
+
+// ./test/core/memory_copy.wast:5117
+assert_return(() => invoke($32, `checkRange`, [0, 124, 0]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5119
+assert_return(() => invoke($32, `checkRange`, [124, 1517, 9]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5121
+assert_return(() => invoke($32, `checkRange`, [1517, 2132, 0]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5123
+assert_return(() => invoke($32, `checkRange`, [2132, 2827, 10]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5125
+assert_return(() => invoke($32, `checkRange`, [2827, 2921, 92]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5127
+assert_return(() => invoke($32, `checkRange`, [2921, 3538, 83]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5129
+assert_return(() => invoke($32, `checkRange`, [3538, 3786, 77]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5131
+assert_return(() => invoke($32, `checkRange`, [3786, 4042, 97]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5133
+assert_return(() => invoke($32, `checkRange`, [4042, 4651, 99]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5135
+assert_return(() => invoke($32, `checkRange`, [4651, 5057, 0]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5137
+assert_return(() => invoke($32, `checkRange`, [5057, 5109, 99]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5139
+assert_return(() => invoke($32, `checkRange`, [5109, 5291, 0]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5141
+assert_return(() => invoke($32, `checkRange`, [5291, 5524, 72]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5143
+assert_return(() => invoke($32, `checkRange`, [5524, 5691, 92]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5145
+assert_return(() => invoke($32, `checkRange`, [5691, 6552, 83]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5147
+assert_return(() => invoke($32, `checkRange`, [6552, 7133, 77]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5149
+assert_return(() => invoke($32, `checkRange`, [7133, 7665, 99]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5151
+assert_return(() => invoke($32, `checkRange`, [7665, 8314, 0]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5153
+assert_return(() => invoke($32, `checkRange`, [8314, 8360, 62]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5155
+assert_return(() => invoke($32, `checkRange`, [8360, 8793, 86]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5157
+assert_return(() => invoke($32, `checkRange`, [8793, 8979, 83]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5159
+assert_return(() => invoke($32, `checkRange`, [8979, 9373, 79]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5161
+assert_return(() => invoke($32, `checkRange`, [9373, 9518, 95]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5163
+assert_return(() => invoke($32, `checkRange`, [9518, 9934, 59]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5165
+assert_return(() => invoke($32, `checkRange`, [9934, 10087, 77]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5167
+assert_return(() => invoke($32, `checkRange`, [10087, 10206, 5]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5169
+assert_return(() => invoke($32, `checkRange`, [10206, 10230, 77]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5171
+assert_return(() => invoke($32, `checkRange`, [10230, 10249, 41]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5173
+assert_return(() => invoke($32, `checkRange`, [10249, 11148, 83]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5175
+assert_return(() => invoke($32, `checkRange`, [11148, 11356, 74]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5177
+assert_return(() => invoke($32, `checkRange`, [11356, 11380, 93]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5179
+assert_return(() => invoke($32, `checkRange`, [11380, 11939, 74]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5181
+assert_return(() => invoke($32, `checkRange`, [11939, 12159, 68]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5183
+assert_return(() => invoke($32, `checkRange`, [12159, 12575, 83]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5185
+assert_return(() => invoke($32, `checkRange`, [12575, 12969, 79]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5187
+assert_return(() => invoke($32, `checkRange`, [12969, 13114, 95]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5189
+assert_return(() => invoke($32, `checkRange`, [13114, 14133, 59]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5191
+assert_return(() => invoke($32, `checkRange`, [14133, 14404, 76]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5193
+assert_return(() => invoke($32, `checkRange`, [14404, 14428, 57]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5195
+assert_return(() => invoke($32, `checkRange`, [14428, 14458, 59]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5197
+assert_return(() => invoke($32, `checkRange`, [14458, 14580, 32]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5199
+assert_return(() => invoke($32, `checkRange`, [14580, 14777, 89]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5201
+assert_return(() => invoke($32, `checkRange`, [14777, 15124, 59]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5203
+assert_return(() => invoke($32, `checkRange`, [15124, 15126, 36]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5205
+assert_return(() => invoke($32, `checkRange`, [15126, 15192, 100]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5207
+assert_return(() => invoke($32, `checkRange`, [15192, 15871, 96]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5209
+assert_return(() => invoke($32, `checkRange`, [15871, 15998, 95]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5211
+assert_return(() => invoke($32, `checkRange`, [15998, 17017, 59]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5213
+assert_return(() => invoke($32, `checkRange`, [17017, 17288, 76]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5215
+assert_return(() => invoke($32, `checkRange`, [17288, 17312, 57]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5217
+assert_return(() => invoke($32, `checkRange`, [17312, 17342, 59]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5219
+assert_return(() => invoke($32, `checkRange`, [17342, 17464, 32]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5221
+assert_return(() => invoke($32, `checkRange`, [17464, 17661, 89]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5223
+assert_return(() => invoke($32, `checkRange`, [17661, 17727, 59]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5225
+assert_return(() => invoke($32, `checkRange`, [17727, 17733, 5]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5227
+assert_return(() => invoke($32, `checkRange`, [17733, 17893, 96]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5229
+assert_return(() => invoke($32, `checkRange`, [17893, 18553, 77]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5231
+assert_return(() => invoke($32, `checkRange`, [18553, 18744, 42]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5233
+assert_return(() => invoke($32, `checkRange`, [18744, 18801, 76]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5235
+assert_return(() => invoke($32, `checkRange`, [18801, 18825, 57]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5237
+assert_return(() => invoke($32, `checkRange`, [18825, 18876, 59]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5239
+assert_return(() => invoke($32, `checkRange`, [18876, 18885, 77]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5241
+assert_return(() => invoke($32, `checkRange`, [18885, 18904, 41]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5243
+assert_return(() => invoke($32, `checkRange`, [18904, 19567, 83]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5245
+assert_return(() => invoke($32, `checkRange`, [19567, 20403, 96]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5247
+assert_return(() => invoke($32, `checkRange`, [20403, 21274, 77]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5249
+assert_return(() => invoke($32, `checkRange`, [21274, 21364, 100]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5251
+assert_return(() => invoke($32, `checkRange`, [21364, 21468, 74]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5253
+assert_return(() => invoke($32, `checkRange`, [21468, 21492, 93]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5255
+assert_return(() => invoke($32, `checkRange`, [21492, 22051, 74]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5257
+assert_return(() => invoke($32, `checkRange`, [22051, 22480, 68]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5259
+assert_return(() => invoke($32, `checkRange`, [22480, 22685, 100]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5261
+assert_return(() => invoke($32, `checkRange`, [22685, 22694, 68]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5263
+assert_return(() => invoke($32, `checkRange`, [22694, 22821, 10]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5265
+assert_return(() => invoke($32, `checkRange`, [22821, 22869, 100]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5267
+assert_return(() => invoke($32, `checkRange`, [22869, 24107, 97]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5269
+assert_return(() => invoke($32, `checkRange`, [24107, 24111, 37]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5271
+assert_return(() => invoke($32, `checkRange`, [24111, 24236, 77]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5273
+assert_return(() => invoke($32, `checkRange`, [24236, 24348, 72]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5275
+assert_return(() => invoke($32, `checkRange`, [24348, 24515, 92]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5277
+assert_return(() => invoke($32, `checkRange`, [24515, 24900, 83]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5279
+assert_return(() => invoke($32, `checkRange`, [24900, 25136, 95]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5281
+assert_return(() => invoke($32, `checkRange`, [25136, 25182, 85]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5283
+assert_return(() => invoke($32, `checkRange`, [25182, 25426, 68]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5285
+assert_return(() => invoke($32, `checkRange`, [25426, 25613, 89]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5287
+assert_return(() => invoke($32, `checkRange`, [25613, 25830, 96]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5289
+assert_return(() => invoke($32, `checkRange`, [25830, 26446, 100]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5291
+assert_return(() => invoke($32, `checkRange`, [26446, 26517, 10]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5293
+assert_return(() => invoke($32, `checkRange`, [26517, 27468, 92]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5295
+assert_return(() => invoke($32, `checkRange`, [27468, 27503, 95]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5297
+assert_return(() => invoke($32, `checkRange`, [27503, 27573, 77]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5299
+assert_return(() => invoke($32, `checkRange`, [27573, 28245, 92]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5301
+assert_return(() => invoke($32, `checkRange`, [28245, 28280, 95]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5303
+assert_return(() => invoke($32, `checkRange`, [28280, 29502, 77]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5305
+assert_return(() => invoke($32, `checkRange`, [29502, 29629, 42]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5307
+assert_return(() => invoke($32, `checkRange`, [29629, 30387, 83]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5309
+assert_return(() => invoke($32, `checkRange`, [30387, 30646, 77]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5311
+assert_return(() => invoke($32, `checkRange`, [30646, 31066, 92]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5313
+assert_return(() => invoke($32, `checkRange`, [31066, 31131, 77]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5315
+assert_return(() => invoke($32, `checkRange`, [31131, 31322, 42]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5317
+assert_return(() => invoke($32, `checkRange`, [31322, 31379, 76]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5319
+assert_return(() => invoke($32, `checkRange`, [31379, 31403, 57]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5321
+assert_return(() => invoke($32, `checkRange`, [31403, 31454, 59]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5323
+assert_return(() => invoke($32, `checkRange`, [31454, 31463, 77]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5325
+assert_return(() => invoke($32, `checkRange`, [31463, 31482, 41]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5327
+assert_return(() => invoke($32, `checkRange`, [31482, 31649, 83]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5329
+assert_return(() => invoke($32, `checkRange`, [31649, 31978, 72]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5331
+assert_return(() => invoke($32, `checkRange`, [31978, 32145, 92]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5333
+assert_return(() => invoke($32, `checkRange`, [32145, 32530, 83]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5335
+assert_return(() => invoke($32, `checkRange`, [32530, 32766, 95]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5337
+assert_return(() => invoke($32, `checkRange`, [32766, 32812, 85]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5339
+assert_return(() => invoke($32, `checkRange`, [32812, 33056, 68]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5341
+assert_return(() => invoke($32, `checkRange`, [33056, 33660, 89]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5343
+assert_return(() => invoke($32, `checkRange`, [33660, 33752, 59]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5345
+assert_return(() => invoke($32, `checkRange`, [33752, 33775, 36]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5347
+assert_return(() => invoke($32, `checkRange`, [33775, 33778, 32]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5349
+assert_return(() => invoke($32, `checkRange`, [33778, 34603, 9]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5351
+assert_return(() => invoke($32, `checkRange`, [34603, 35218, 0]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5353
+assert_return(() => invoke($32, `checkRange`, [35218, 35372, 10]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5355
+assert_return(() => invoke($32, `checkRange`, [35372, 35486, 77]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5357
+assert_return(() => invoke($32, `checkRange`, [35486, 35605, 5]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5359
+assert_return(() => invoke($32, `checkRange`, [35605, 35629, 77]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5361
+assert_return(() => invoke($32, `checkRange`, [35629, 35648, 41]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5363
+assert_return(() => invoke($32, `checkRange`, [35648, 36547, 83]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5365
+assert_return(() => invoke($32, `checkRange`, [36547, 36755, 74]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5367
+assert_return(() => invoke($32, `checkRange`, [36755, 36767, 93]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5369
+assert_return(() => invoke($32, `checkRange`, [36767, 36810, 83]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5371
+assert_return(() => invoke($32, `checkRange`, [36810, 36839, 100]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5373
+assert_return(() => invoke($32, `checkRange`, [36839, 37444, 96]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5375
+assert_return(() => invoke($32, `checkRange`, [37444, 38060, 100]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5377
+assert_return(() => invoke($32, `checkRange`, [38060, 38131, 10]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5379
+assert_return(() => invoke($32, `checkRange`, [38131, 39082, 92]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5381
+assert_return(() => invoke($32, `checkRange`, [39082, 39117, 95]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5383
+assert_return(() => invoke($32, `checkRange`, [39117, 39187, 77]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5385
+assert_return(() => invoke($32, `checkRange`, [39187, 39859, 92]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5387
+assert_return(() => invoke($32, `checkRange`, [39859, 39894, 95]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5389
+assert_return(() => invoke($32, `checkRange`, [39894, 40257, 77]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5391
+assert_return(() => invoke($32, `checkRange`, [40257, 40344, 89]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5393
+assert_return(() => invoke($32, `checkRange`, [40344, 40371, 59]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5395
+assert_return(() => invoke($32, `checkRange`, [40371, 40804, 77]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5397
+assert_return(() => invoke($32, `checkRange`, [40804, 40909, 5]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5399
+assert_return(() => invoke($32, `checkRange`, [40909, 42259, 92]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5401
+assert_return(() => invoke($32, `checkRange`, [42259, 42511, 77]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5403
+assert_return(() => invoke($32, `checkRange`, [42511, 42945, 83]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5405
+assert_return(() => invoke($32, `checkRange`, [42945, 43115, 77]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5407
+assert_return(() => invoke($32, `checkRange`, [43115, 43306, 42]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5409
+assert_return(() => invoke($32, `checkRange`, [43306, 43363, 76]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5411
+assert_return(() => invoke($32, `checkRange`, [43363, 43387, 57]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5413
+assert_return(() => invoke($32, `checkRange`, [43387, 43438, 59]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5415
+assert_return(() => invoke($32, `checkRange`, [43438, 43447, 77]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5417
+assert_return(() => invoke($32, `checkRange`, [43447, 43466, 41]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5419
+assert_return(() => invoke($32, `checkRange`, [43466, 44129, 83]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5421
+assert_return(() => invoke($32, `checkRange`, [44129, 44958, 96]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5423
+assert_return(() => invoke($32, `checkRange`, [44958, 45570, 77]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5425
+assert_return(() => invoke($32, `checkRange`, [45570, 45575, 92]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5427
+assert_return(() => invoke($32, `checkRange`, [45575, 45640, 77]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5429
+assert_return(() => invoke($32, `checkRange`, [45640, 45742, 42]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5431
+assert_return(() => invoke($32, `checkRange`, [45742, 45832, 72]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5433
+assert_return(() => invoke($32, `checkRange`, [45832, 45999, 92]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5435
+assert_return(() => invoke($32, `checkRange`, [45999, 46384, 83]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5437
+assert_return(() => invoke($32, `checkRange`, [46384, 46596, 95]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5439
+assert_return(() => invoke($32, `checkRange`, [46596, 46654, 92]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5441
+assert_return(() => invoke($32, `checkRange`, [46654, 47515, 83]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5443
+assert_return(() => invoke($32, `checkRange`, [47515, 47620, 77]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5445
+assert_return(() => invoke($32, `checkRange`, [47620, 47817, 79]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5447
+assert_return(() => invoke($32, `checkRange`, [47817, 47951, 95]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5449
+assert_return(() => invoke($32, `checkRange`, [47951, 48632, 100]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5451
+assert_return(() => invoke($32, `checkRange`, [48632, 48699, 97]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5453
+assert_return(() => invoke($32, `checkRange`, [48699, 48703, 37]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5455
+assert_return(() => invoke($32, `checkRange`, [48703, 49764, 77]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5457
+assert_return(() => invoke($32, `checkRange`, [49764, 49955, 42]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5459
+assert_return(() => invoke($32, `checkRange`, [49955, 50012, 76]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5461
+assert_return(() => invoke($32, `checkRange`, [50012, 50036, 57]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5463
+assert_return(() => invoke($32, `checkRange`, [50036, 50087, 59]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5465
+assert_return(() => invoke($32, `checkRange`, [50087, 50096, 77]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5467
+assert_return(() => invoke($32, `checkRange`, [50096, 50115, 41]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5469
+assert_return(() => invoke($32, `checkRange`, [50115, 50370, 83]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5471
+assert_return(() => invoke($32, `checkRange`, [50370, 51358, 92]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5473
+assert_return(() => invoke($32, `checkRange`, [51358, 51610, 77]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5475
+assert_return(() => invoke($32, `checkRange`, [51610, 51776, 83]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5477
+assert_return(() => invoke($32, `checkRange`, [51776, 51833, 89]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5479
+assert_return(() => invoke($32, `checkRange`, [51833, 52895, 100]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5481
+assert_return(() => invoke($32, `checkRange`, [52895, 53029, 97]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5483
+assert_return(() => invoke($32, `checkRange`, [53029, 53244, 68]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5485
+assert_return(() => invoke($32, `checkRange`, [53244, 54066, 100]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5487
+assert_return(() => invoke($32, `checkRange`, [54066, 54133, 97]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5489
+assert_return(() => invoke($32, `checkRange`, [54133, 54137, 37]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5491
+assert_return(() => invoke($32, `checkRange`, [54137, 55198, 77]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5493
+assert_return(() => invoke($32, `checkRange`, [55198, 55389, 42]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5495
+assert_return(() => invoke($32, `checkRange`, [55389, 55446, 76]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5497
+assert_return(() => invoke($32, `checkRange`, [55446, 55470, 57]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5499
+assert_return(() => invoke($32, `checkRange`, [55470, 55521, 59]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5501
+assert_return(() => invoke($32, `checkRange`, [55521, 55530, 77]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5503
+assert_return(() => invoke($32, `checkRange`, [55530, 55549, 41]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5505
+assert_return(() => invoke($32, `checkRange`, [55549, 56212, 83]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5507
+assert_return(() => invoke($32, `checkRange`, [56212, 57048, 96]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5509
+assert_return(() => invoke($32, `checkRange`, [57048, 58183, 77]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5511
+assert_return(() => invoke($32, `checkRange`, [58183, 58202, 41]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5513
+assert_return(() => invoke($32, `checkRange`, [58202, 58516, 83]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5515
+assert_return(() => invoke($32, `checkRange`, [58516, 58835, 95]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5517
+assert_return(() => invoke($32, `checkRange`, [58835, 58855, 77]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5519
+assert_return(() => invoke($32, `checkRange`, [58855, 59089, 95]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5521
+assert_return(() => invoke($32, `checkRange`, [59089, 59145, 77]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5523
+assert_return(() => invoke($32, `checkRange`, [59145, 59677, 99]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5525
+assert_return(() => invoke($32, `checkRange`, [59677, 60134, 0]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5527
+assert_return(() => invoke($32, `checkRange`, [60134, 60502, 89]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5529
+assert_return(() => invoke($32, `checkRange`, [60502, 60594, 59]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5531
+assert_return(() => invoke($32, `checkRange`, [60594, 60617, 36]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5533
+assert_return(() => invoke($32, `checkRange`, [60617, 60618, 32]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5535
+assert_return(() => invoke($32, `checkRange`, [60618, 60777, 42]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5537
+assert_return(() => invoke($32, `checkRange`, [60777, 60834, 76]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5539
+assert_return(() => invoke($32, `checkRange`, [60834, 60858, 57]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5541
+assert_return(() => invoke($32, `checkRange`, [60858, 60909, 59]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5543
+assert_return(() => invoke($32, `checkRange`, [60909, 60918, 77]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5545
+assert_return(() => invoke($32, `checkRange`, [60918, 60937, 41]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5547
+assert_return(() => invoke($32, `checkRange`, [60937, 61600, 83]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5549
+assert_return(() => invoke($32, `checkRange`, [61600, 62436, 96]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5551
+assert_return(() => invoke($32, `checkRange`, [62436, 63307, 77]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5553
+assert_return(() => invoke($32, `checkRange`, [63307, 63397, 100]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5555
+assert_return(() => invoke($32, `checkRange`, [63397, 63501, 74]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5557
+assert_return(() => invoke($32, `checkRange`, [63501, 63525, 93]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5559
+assert_return(() => invoke($32, `checkRange`, [63525, 63605, 74]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5561
+assert_return(() => invoke($32, `checkRange`, [63605, 63704, 100]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5563
+assert_return(() => invoke($32, `checkRange`, [63704, 63771, 97]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5565
+assert_return(() => invoke($32, `checkRange`, [63771, 63775, 37]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5567
+assert_return(() => invoke($32, `checkRange`, [63775, 64311, 77]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5569
+assert_return(() => invoke($32, `checkRange`, [64311, 64331, 26]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5571
+assert_return(() => invoke($32, `checkRange`, [64331, 64518, 92]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5573
+assert_return(() => invoke($32, `checkRange`, [64518, 64827, 11]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5575
+assert_return(() => invoke($32, `checkRange`, [64827, 64834, 26]), [value("i32", -1)]);
+
+// ./test/core/memory_copy.wast:5577
+assert_return(() => invoke($32, `checkRange`, [64834, 65536, 0]), [value("i32", -1)]);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/memory_fill.wast.js b/js/src/jit-test/tests/wasm/spec/spec/memory_fill.wast.js
new file mode 100644
index 0000000000..f0a122fc66
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/memory_fill.wast.js
@@ -0,0 +1,865 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/memory_fill.wast
+
+// ./test/core/memory_fill.wast:6
+let $0 = instantiate(`(module
+ (memory 1 1)
+
+ (func (export "checkRange") (param $$from i32) (param $$to i32) (param $$expected i32) (result i32)
+ (loop $$cont
+ (if (i32.eq (local.get $$from) (local.get $$to))
+ (then
+ (return (i32.const -1))))
+ (if (i32.eq (i32.load8_u (local.get $$from)) (local.get $$expected))
+ (then
+ (local.set $$from (i32.add (local.get $$from) (i32.const 1)))
+ (br $$cont))))
+ (return (local.get $$from)))
+
+ (func (export "test")
+ (memory.fill (i32.const 0xFF00) (i32.const 0x55) (i32.const 256))))`);
+
+// ./test/core/memory_fill.wast:22
+invoke($0, `test`, []);
+
+// ./test/core/memory_fill.wast:24
+assert_return(() => invoke($0, `checkRange`, [0, 65280, 0]), [value("i32", -1)]);
+
+// ./test/core/memory_fill.wast:26
+assert_return(() => invoke($0, `checkRange`, [65280, 65536, 85]), [value("i32", -1)]);
+
+// ./test/core/memory_fill.wast:28
+let $1 = instantiate(`(module
+ (memory 1 1)
+
+ (func (export "checkRange") (param $$from i32) (param $$to i32) (param $$expected i32) (result i32)
+ (loop $$cont
+ (if (i32.eq (local.get $$from) (local.get $$to))
+ (then
+ (return (i32.const -1))))
+ (if (i32.eq (i32.load8_u (local.get $$from)) (local.get $$expected))
+ (then
+ (local.set $$from (i32.add (local.get $$from) (i32.const 1)))
+ (br $$cont))))
+ (return (local.get $$from)))
+
+ (func (export "test")
+ (memory.fill (i32.const 0xFF00) (i32.const 0x55) (i32.const 257))))`);
+
+// ./test/core/memory_fill.wast:44
+assert_trap(() => invoke($1, `test`, []), `out of bounds memory access`);
+
+// ./test/core/memory_fill.wast:46
+let $2 = instantiate(`(module
+ (memory 1 1)
+
+ (func (export "checkRange") (param $$from i32) (param $$to i32) (param $$expected i32) (result i32)
+ (loop $$cont
+ (if (i32.eq (local.get $$from) (local.get $$to))
+ (then
+ (return (i32.const -1))))
+ (if (i32.eq (i32.load8_u (local.get $$from)) (local.get $$expected))
+ (then
+ (local.set $$from (i32.add (local.get $$from) (i32.const 1)))
+ (br $$cont))))
+ (return (local.get $$from)))
+
+ (func (export "test")
+ (memory.fill (i32.const 0xFFFFFF00) (i32.const 0x55) (i32.const 257))))`);
+
+// ./test/core/memory_fill.wast:62
+assert_trap(() => invoke($2, `test`, []), `out of bounds memory access`);
+
+// ./test/core/memory_fill.wast:64
+let $3 = instantiate(`(module
+ (memory 1 1)
+
+ (func (export "checkRange") (param $$from i32) (param $$to i32) (param $$expected i32) (result i32)
+ (loop $$cont
+ (if (i32.eq (local.get $$from) (local.get $$to))
+ (then
+ (return (i32.const -1))))
+ (if (i32.eq (i32.load8_u (local.get $$from)) (local.get $$expected))
+ (then
+ (local.set $$from (i32.add (local.get $$from) (i32.const 1)))
+ (br $$cont))))
+ (return (local.get $$from)))
+
+ (func (export "test")
+ (memory.fill (i32.const 0x12) (i32.const 0x55) (i32.const 0))))`);
+
+// ./test/core/memory_fill.wast:80
+invoke($3, `test`, []);
+
+// ./test/core/memory_fill.wast:82
+assert_return(() => invoke($3, `checkRange`, [0, 65536, 0]), [value("i32", -1)]);
+
+// ./test/core/memory_fill.wast:84
+let $4 = instantiate(`(module
+ (memory 1 1)
+
+ (func (export "checkRange") (param $$from i32) (param $$to i32) (param $$expected i32) (result i32)
+ (loop $$cont
+ (if (i32.eq (local.get $$from) (local.get $$to))
+ (then
+ (return (i32.const -1))))
+ (if (i32.eq (i32.load8_u (local.get $$from)) (local.get $$expected))
+ (then
+ (local.set $$from (i32.add (local.get $$from) (i32.const 1)))
+ (br $$cont))))
+ (return (local.get $$from)))
+
+ (func (export "test")
+ (memory.fill (i32.const 0x10000) (i32.const 0x55) (i32.const 0))))`);
+
+// ./test/core/memory_fill.wast:100
+invoke($4, `test`, []);
+
+// ./test/core/memory_fill.wast:102
+let $5 = instantiate(`(module
+ (memory 1 1)
+
+ (func (export "checkRange") (param $$from i32) (param $$to i32) (param $$expected i32) (result i32)
+ (loop $$cont
+ (if (i32.eq (local.get $$from) (local.get $$to))
+ (then
+ (return (i32.const -1))))
+ (if (i32.eq (i32.load8_u (local.get $$from)) (local.get $$expected))
+ (then
+ (local.set $$from (i32.add (local.get $$from) (i32.const 1)))
+ (br $$cont))))
+ (return (local.get $$from)))
+
+ (func (export "test")
+ (memory.fill (i32.const 0x20000) (i32.const 0x55) (i32.const 0))))`);
+
+// ./test/core/memory_fill.wast:118
+assert_trap(() => invoke($5, `test`, []), `out of bounds memory access`);
+
+// ./test/core/memory_fill.wast:120
+let $6 = instantiate(`(module
+ (memory 1 1)
+
+ (func (export "checkRange") (param $$from i32) (param $$to i32) (param $$expected i32) (result i32)
+ (loop $$cont
+ (if (i32.eq (local.get $$from) (local.get $$to))
+ (then
+ (return (i32.const -1))))
+ (if (i32.eq (i32.load8_u (local.get $$from)) (local.get $$expected))
+ (then
+ (local.set $$from (i32.add (local.get $$from) (i32.const 1)))
+ (br $$cont))))
+ (return (local.get $$from)))
+
+ (func (export "test")
+ (memory.fill (i32.const 0x1) (i32.const 0xAA) (i32.const 0xFFFE))))`);
+
+// ./test/core/memory_fill.wast:136
+invoke($6, `test`, []);
+
+// ./test/core/memory_fill.wast:138
+assert_return(() => invoke($6, `checkRange`, [0, 1, 0]), [value("i32", -1)]);
+
+// ./test/core/memory_fill.wast:140
+assert_return(() => invoke($6, `checkRange`, [1, 65535, 170]), [value("i32", -1)]);
+
+// ./test/core/memory_fill.wast:142
+assert_return(() => invoke($6, `checkRange`, [65535, 65536, 0]), [value("i32", -1)]);
+
+// ./test/core/memory_fill.wast:145
+let $7 = instantiate(`(module
+ (memory 1 1)
+
+ (func (export "checkRange") (param $$from i32) (param $$to i32) (param $$expected i32) (result i32)
+ (loop $$cont
+ (if (i32.eq (local.get $$from) (local.get $$to))
+ (then
+ (return (i32.const -1))))
+ (if (i32.eq (i32.load8_u (local.get $$from)) (local.get $$expected))
+ (then
+ (local.set $$from (i32.add (local.get $$from) (i32.const 1)))
+ (br $$cont))))
+ (return (local.get $$from)))
+
+ (func (export "test")
+ (memory.fill (i32.const 0x12) (i32.const 0x55) (i32.const 10))
+ (memory.fill (i32.const 0x15) (i32.const 0xAA) (i32.const 4))))`);
+
+// ./test/core/memory_fill.wast:162
+invoke($7, `test`, []);
+
+// ./test/core/memory_fill.wast:164
+assert_return(() => invoke($7, `checkRange`, [0, 18, 0]), [value("i32", -1)]);
+
+// ./test/core/memory_fill.wast:166
+assert_return(() => invoke($7, `checkRange`, [18, 21, 85]), [value("i32", -1)]);
+
+// ./test/core/memory_fill.wast:168
+assert_return(() => invoke($7, `checkRange`, [21, 25, 170]), [value("i32", -1)]);
+
+// ./test/core/memory_fill.wast:170
+assert_return(() => invoke($7, `checkRange`, [25, 28, 85]), [value("i32", -1)]);
+
+// ./test/core/memory_fill.wast:172
+assert_return(() => invoke($7, `checkRange`, [28, 65536, 0]), [value("i32", -1)]);
+
+// ./test/core/memory_fill.wast:174
+assert_invalid(
+ () => instantiate(`(module
+ (func (export "testfn")
+ (memory.fill (i32.const 10) (i32.const 20) (i32.const 30))))`),
+ `unknown memory 0`,
+);
+
+// ./test/core/memory_fill.wast:180
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (i32.const 10) (i32.const 20) (f32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:187
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (i32.const 10) (i32.const 20) (i64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:194
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (i32.const 10) (i32.const 20) (f64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:201
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (i32.const 10) (f32.const 20) (i32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:208
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (i32.const 10) (f32.const 20) (f32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:215
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (i32.const 10) (f32.const 20) (i64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:222
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (i32.const 10) (f32.const 20) (f64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:229
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (i32.const 10) (i64.const 20) (i32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:236
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (i32.const 10) (i64.const 20) (f32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:243
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (i32.const 10) (i64.const 20) (i64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:250
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (i32.const 10) (i64.const 20) (f64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:257
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (i32.const 10) (f64.const 20) (i32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:264
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (i32.const 10) (f64.const 20) (f32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:271
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (i32.const 10) (f64.const 20) (i64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:278
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (i32.const 10) (f64.const 20) (f64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:285
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (f32.const 10) (i32.const 20) (i32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:292
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (f32.const 10) (i32.const 20) (f32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:299
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (f32.const 10) (i32.const 20) (i64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:306
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (f32.const 10) (i32.const 20) (f64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:313
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (f32.const 10) (f32.const 20) (i32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:320
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (f32.const 10) (f32.const 20) (f32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:327
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (f32.const 10) (f32.const 20) (i64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:334
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (f32.const 10) (f32.const 20) (f64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:341
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (f32.const 10) (i64.const 20) (i32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:348
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (f32.const 10) (i64.const 20) (f32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:355
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (f32.const 10) (i64.const 20) (i64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:362
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (f32.const 10) (i64.const 20) (f64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:369
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (f32.const 10) (f64.const 20) (i32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:376
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (f32.const 10) (f64.const 20) (f32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:383
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (f32.const 10) (f64.const 20) (i64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:390
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (f32.const 10) (f64.const 20) (f64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:397
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (i64.const 10) (i32.const 20) (i32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:404
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (i64.const 10) (i32.const 20) (f32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:411
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (i64.const 10) (i32.const 20) (i64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:418
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (i64.const 10) (i32.const 20) (f64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:425
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (i64.const 10) (f32.const 20) (i32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:432
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (i64.const 10) (f32.const 20) (f32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:439
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (i64.const 10) (f32.const 20) (i64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:446
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (i64.const 10) (f32.const 20) (f64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:453
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (i64.const 10) (i64.const 20) (i32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:460
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (i64.const 10) (i64.const 20) (f32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:467
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (i64.const 10) (i64.const 20) (i64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:474
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (i64.const 10) (i64.const 20) (f64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:481
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (i64.const 10) (f64.const 20) (i32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:488
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (i64.const 10) (f64.const 20) (f32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:495
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (i64.const 10) (f64.const 20) (i64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:502
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (i64.const 10) (f64.const 20) (f64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:509
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (f64.const 10) (i32.const 20) (i32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:516
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (f64.const 10) (i32.const 20) (f32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:523
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (f64.const 10) (i32.const 20) (i64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:530
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (f64.const 10) (i32.const 20) (f64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:537
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (f64.const 10) (f32.const 20) (i32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:544
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (f64.const 10) (f32.const 20) (f32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:551
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (f64.const 10) (f32.const 20) (i64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:558
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (f64.const 10) (f32.const 20) (f64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:565
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (f64.const 10) (i64.const 20) (i32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:572
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (f64.const 10) (i64.const 20) (f32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:579
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (f64.const 10) (i64.const 20) (i64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:586
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (f64.const 10) (i64.const 20) (f64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:593
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (f64.const 10) (f64.const 20) (i32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:600
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (f64.const 10) (f64.const 20) (f32.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:607
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (f64.const 10) (f64.const 20) (i64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:614
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1 1)
+ (func (export "testfn")
+ (memory.fill (f64.const 10) (f64.const 20) (f64.const 30))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_fill.wast:621
+let $8 = instantiate(`(module
+ (memory 1 1 )
+
+ (func (export "checkRange") (param $$from i32) (param $$to i32) (param $$expected i32) (result i32)
+ (loop $$cont
+ (if (i32.eq (local.get $$from) (local.get $$to))
+ (then
+ (return (i32.const -1))))
+ (if (i32.eq (i32.load8_u (local.get $$from)) (local.get $$expected))
+ (then
+ (local.set $$from (i32.add (local.get $$from) (i32.const 1)))
+ (br $$cont))))
+ (return (local.get $$from)))
+
+ (func (export "run") (param $$offs i32) (param $$val i32) (param $$len i32)
+ (memory.fill (local.get $$offs) (local.get $$val) (local.get $$len))))`);
+
+// ./test/core/memory_fill.wast:638
+assert_trap(() => invoke($8, `run`, [65280, 37, 512]), `out of bounds memory access`);
+
+// ./test/core/memory_fill.wast:641
+assert_return(() => invoke($8, `checkRange`, [0, 1, 0]), [value("i32", -1)]);
+
+// ./test/core/memory_fill.wast:643
+let $9 = instantiate(`(module
+ (memory 1 1 )
+
+ (func (export "checkRange") (param $$from i32) (param $$to i32) (param $$expected i32) (result i32)
+ (loop $$cont
+ (if (i32.eq (local.get $$from) (local.get $$to))
+ (then
+ (return (i32.const -1))))
+ (if (i32.eq (i32.load8_u (local.get $$from)) (local.get $$expected))
+ (then
+ (local.set $$from (i32.add (local.get $$from) (i32.const 1)))
+ (br $$cont))))
+ (return (local.get $$from)))
+
+ (func (export "run") (param $$offs i32) (param $$val i32) (param $$len i32)
+ (memory.fill (local.get $$offs) (local.get $$val) (local.get $$len))))`);
+
+// ./test/core/memory_fill.wast:660
+assert_trap(() => invoke($9, `run`, [65279, 37, 514]), `out of bounds memory access`);
+
+// ./test/core/memory_fill.wast:663
+assert_return(() => invoke($9, `checkRange`, [0, 1, 0]), [value("i32", -1)]);
+
+// ./test/core/memory_fill.wast:665
+let $10 = instantiate(`(module
+ (memory 1 1 )
+
+ (func (export "checkRange") (param $$from i32) (param $$to i32) (param $$expected i32) (result i32)
+ (loop $$cont
+ (if (i32.eq (local.get $$from) (local.get $$to))
+ (then
+ (return (i32.const -1))))
+ (if (i32.eq (i32.load8_u (local.get $$from)) (local.get $$expected))
+ (then
+ (local.set $$from (i32.add (local.get $$from) (i32.const 1)))
+ (br $$cont))))
+ (return (local.get $$from)))
+
+ (func (export "run") (param $$offs i32) (param $$val i32) (param $$len i32)
+ (memory.fill (local.get $$offs) (local.get $$val) (local.get $$len))))`);
+
+// ./test/core/memory_fill.wast:682
+assert_trap(() => invoke($10, `run`, [65279, 37, -1]), `out of bounds memory access`);
+
+// ./test/core/memory_fill.wast:685
+assert_return(() => invoke($10, `checkRange`, [0, 1, 0]), [value("i32", -1)]);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/memory_grow.wast.js b/js/src/jit-test/tests/wasm/spec/spec/memory_grow.wast.js
new file mode 100644
index 0000000000..fafa7007f4
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/memory_grow.wast.js
@@ -0,0 +1,555 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/memory_grow.wast
+
+// ./test/core/memory_grow.wast:1
+let $0 = instantiate(`(module
+ (memory 0)
+
+ (func (export "load_at_zero") (result i32) (i32.load (i32.const 0)))
+ (func (export "store_at_zero") (i32.store (i32.const 0) (i32.const 2)))
+
+ (func (export "load_at_page_size") (result i32) (i32.load (i32.const 0x10000)))
+ (func (export "store_at_page_size") (i32.store (i32.const 0x10000) (i32.const 3)))
+
+ (func (export "grow") (param $$sz i32) (result i32) (memory.grow (local.get $$sz)))
+ (func (export "size") (result i32) (memory.size))
+)`);
+
+// ./test/core/memory_grow.wast:14
+assert_return(() => invoke($0, `size`, []), [value("i32", 0)]);
+
+// ./test/core/memory_grow.wast:15
+assert_trap(() => invoke($0, `store_at_zero`, []), `out of bounds memory access`);
+
+// ./test/core/memory_grow.wast:16
+assert_trap(() => invoke($0, `load_at_zero`, []), `out of bounds memory access`);
+
+// ./test/core/memory_grow.wast:17
+assert_trap(() => invoke($0, `store_at_page_size`, []), `out of bounds memory access`);
+
+// ./test/core/memory_grow.wast:18
+assert_trap(() => invoke($0, `load_at_page_size`, []), `out of bounds memory access`);
+
+// ./test/core/memory_grow.wast:19
+assert_return(() => invoke($0, `grow`, [1]), [value("i32", 0)]);
+
+// ./test/core/memory_grow.wast:20
+assert_return(() => invoke($0, `size`, []), [value("i32", 1)]);
+
+// ./test/core/memory_grow.wast:21
+assert_return(() => invoke($0, `load_at_zero`, []), [value("i32", 0)]);
+
+// ./test/core/memory_grow.wast:22
+assert_return(() => invoke($0, `store_at_zero`, []), []);
+
+// ./test/core/memory_grow.wast:23
+assert_return(() => invoke($0, `load_at_zero`, []), [value("i32", 2)]);
+
+// ./test/core/memory_grow.wast:24
+assert_trap(() => invoke($0, `store_at_page_size`, []), `out of bounds memory access`);
+
+// ./test/core/memory_grow.wast:25
+assert_trap(() => invoke($0, `load_at_page_size`, []), `out of bounds memory access`);
+
+// ./test/core/memory_grow.wast:26
+assert_return(() => invoke($0, `grow`, [4]), [value("i32", 1)]);
+
+// ./test/core/memory_grow.wast:27
+assert_return(() => invoke($0, `size`, []), [value("i32", 5)]);
+
+// ./test/core/memory_grow.wast:28
+assert_return(() => invoke($0, `load_at_zero`, []), [value("i32", 2)]);
+
+// ./test/core/memory_grow.wast:29
+assert_return(() => invoke($0, `store_at_zero`, []), []);
+
+// ./test/core/memory_grow.wast:30
+assert_return(() => invoke($0, `load_at_zero`, []), [value("i32", 2)]);
+
+// ./test/core/memory_grow.wast:31
+assert_return(() => invoke($0, `load_at_page_size`, []), [value("i32", 0)]);
+
+// ./test/core/memory_grow.wast:32
+assert_return(() => invoke($0, `store_at_page_size`, []), []);
+
+// ./test/core/memory_grow.wast:33
+assert_return(() => invoke($0, `load_at_page_size`, []), [value("i32", 3)]);
+
+// ./test/core/memory_grow.wast:36
+let $1 = instantiate(`(module
+ (memory 0)
+ (func (export "grow") (param i32) (result i32) (memory.grow (local.get 0)))
+)`);
+
+// ./test/core/memory_grow.wast:41
+assert_return(() => invoke($1, `grow`, [0]), [value("i32", 0)]);
+
+// ./test/core/memory_grow.wast:42
+assert_return(() => invoke($1, `grow`, [1]), [value("i32", 0)]);
+
+// ./test/core/memory_grow.wast:43
+assert_return(() => invoke($1, `grow`, [0]), [value("i32", 1)]);
+
+// ./test/core/memory_grow.wast:44
+assert_return(() => invoke($1, `grow`, [2]), [value("i32", 1)]);
+
+// ./test/core/memory_grow.wast:45
+assert_return(() => invoke($1, `grow`, [800]), [value("i32", 3)]);
+
+// ./test/core/memory_grow.wast:46
+assert_return(() => invoke($1, `grow`, [65536]), [value("i32", -1)]);
+
+// ./test/core/memory_grow.wast:47
+assert_return(() => invoke($1, `grow`, [64736]), [value("i32", -1)]);
+
+// ./test/core/memory_grow.wast:48
+assert_return(() => invoke($1, `grow`, [1]), [value("i32", 803)]);
+
+// ./test/core/memory_grow.wast:50
+let $2 = instantiate(`(module
+ (memory 0 10)
+ (func (export "grow") (param i32) (result i32) (memory.grow (local.get 0)))
+)`);
+
+// ./test/core/memory_grow.wast:55
+assert_return(() => invoke($2, `grow`, [0]), [value("i32", 0)]);
+
+// ./test/core/memory_grow.wast:56
+assert_return(() => invoke($2, `grow`, [1]), [value("i32", 0)]);
+
+// ./test/core/memory_grow.wast:57
+assert_return(() => invoke($2, `grow`, [1]), [value("i32", 1)]);
+
+// ./test/core/memory_grow.wast:58
+assert_return(() => invoke($2, `grow`, [2]), [value("i32", 2)]);
+
+// ./test/core/memory_grow.wast:59
+assert_return(() => invoke($2, `grow`, [6]), [value("i32", 4)]);
+
+// ./test/core/memory_grow.wast:60
+assert_return(() => invoke($2, `grow`, [0]), [value("i32", 10)]);
+
+// ./test/core/memory_grow.wast:61
+assert_return(() => invoke($2, `grow`, [1]), [value("i32", -1)]);
+
+// ./test/core/memory_grow.wast:62
+assert_return(() => invoke($2, `grow`, [65536]), [value("i32", -1)]);
+
+// ./test/core/memory_grow.wast:66
+let $3 = instantiate(`(module
+ (memory 1)
+ (func (export "grow") (param i32) (result i32)
+ (memory.grow (local.get 0))
+ )
+ (func (export "check-memory-zero") (param i32 i32) (result i32)
+ (local i32)
+ (local.set 2 (i32.const 1))
+ (block
+ (loop
+ (local.set 2 (i32.load8_u (local.get 0)))
+ (br_if 1 (i32.ne (local.get 2) (i32.const 0)))
+ (br_if 1 (i32.ge_u (local.get 0) (local.get 1)))
+ (local.set 0 (i32.add (local.get 0) (i32.const 1)))
+ (br_if 0 (i32.le_u (local.get 0) (local.get 1)))
+ )
+ )
+ (local.get 2)
+ )
+)`);
+
+// ./test/core/memory_grow.wast:87
+assert_return(() => invoke($3, `check-memory-zero`, [0, 65535]), [value("i32", 0)]);
+
+// ./test/core/memory_grow.wast:88
+assert_return(() => invoke($3, `grow`, [1]), [value("i32", 1)]);
+
+// ./test/core/memory_grow.wast:89
+assert_return(() => invoke($3, `check-memory-zero`, [65536, 131071]), [value("i32", 0)]);
+
+// ./test/core/memory_grow.wast:90
+assert_return(() => invoke($3, `grow`, [1]), [value("i32", 2)]);
+
+// ./test/core/memory_grow.wast:91
+assert_return(() => invoke($3, `check-memory-zero`, [131072, 196607]), [value("i32", 0)]);
+
+// ./test/core/memory_grow.wast:92
+assert_return(() => invoke($3, `grow`, [1]), [value("i32", 3)]);
+
+// ./test/core/memory_grow.wast:93
+assert_return(() => invoke($3, `check-memory-zero`, [196608, 262143]), [value("i32", 0)]);
+
+// ./test/core/memory_grow.wast:94
+assert_return(() => invoke($3, `grow`, [1]), [value("i32", 4)]);
+
+// ./test/core/memory_grow.wast:95
+assert_return(() => invoke($3, `check-memory-zero`, [262144, 327679]), [value("i32", 0)]);
+
+// ./test/core/memory_grow.wast:96
+assert_return(() => invoke($3, `grow`, [1]), [value("i32", 5)]);
+
+// ./test/core/memory_grow.wast:97
+assert_return(() => invoke($3, `check-memory-zero`, [327680, 393215]), [value("i32", 0)]);
+
+// ./test/core/memory_grow.wast:101
+let $4 = instantiate(`(module
+ (memory 1)
+
+ (func (export "as-br-value") (result i32)
+ (block (result i32) (br 0 (memory.grow (i32.const 0))))
+ )
+
+ (func (export "as-br_if-cond")
+ (block (br_if 0 (memory.grow (i32.const 0))))
+ )
+ (func (export "as-br_if-value") (result i32)
+ (block (result i32)
+ (drop (br_if 0 (memory.grow (i32.const 0)) (i32.const 1))) (i32.const 7)
+ )
+ )
+ (func (export "as-br_if-value-cond") (result i32)
+ (block (result i32)
+ (drop (br_if 0 (i32.const 6) (memory.grow (i32.const 0)))) (i32.const 7)
+ )
+ )
+
+ (func (export "as-br_table-index")
+ (block (br_table 0 0 0 (memory.grow (i32.const 0))))
+ )
+ (func (export "as-br_table-value") (result i32)
+ (block (result i32)
+ (br_table 0 0 0 (memory.grow (i32.const 0)) (i32.const 1)) (i32.const 7)
+ )
+ )
+ (func (export "as-br_table-value-index") (result i32)
+ (block (result i32)
+ (br_table 0 0 (i32.const 6) (memory.grow (i32.const 0))) (i32.const 7)
+ )
+ )
+
+ (func (export "as-return-value") (result i32)
+ (return (memory.grow (i32.const 0)))
+ )
+
+ (func (export "as-if-cond") (result i32)
+ (if (result i32) (memory.grow (i32.const 0))
+ (then (i32.const 0)) (else (i32.const 1))
+ )
+ )
+ (func (export "as-if-then") (result i32)
+ (if (result i32) (i32.const 1)
+ (then (memory.grow (i32.const 0))) (else (i32.const 0))
+ )
+ )
+ (func (export "as-if-else") (result i32)
+ (if (result i32) (i32.const 0)
+ (then (i32.const 0)) (else (memory.grow (i32.const 0)))
+ )
+ )
+
+ (func (export "as-select-first") (param i32 i32) (result i32)
+ (select (memory.grow (i32.const 0)) (local.get 0) (local.get 1))
+ )
+ (func (export "as-select-second") (param i32 i32) (result i32)
+ (select (local.get 0) (memory.grow (i32.const 0)) (local.get 1))
+ )
+ (func (export "as-select-cond") (result i32)
+ (select (i32.const 0) (i32.const 1) (memory.grow (i32.const 0)))
+ )
+
+ (func $$f (param i32 i32 i32) (result i32) (i32.const -1))
+ (func (export "as-call-first") (result i32)
+ (call $$f (memory.grow (i32.const 0)) (i32.const 2) (i32.const 3))
+ )
+ (func (export "as-call-mid") (result i32)
+ (call $$f (i32.const 1) (memory.grow (i32.const 0)) (i32.const 3))
+ )
+ (func (export "as-call-last") (result i32)
+ (call $$f (i32.const 1) (i32.const 2) (memory.grow (i32.const 0)))
+ )
+
+ (type $$sig (func (param i32 i32 i32) (result i32)))
+ (table funcref (elem $$f))
+ (func (export "as-call_indirect-first") (result i32)
+ (call_indirect (type $$sig)
+ (memory.grow (i32.const 0)) (i32.const 2) (i32.const 3) (i32.const 0)
+ )
+ )
+ (func (export "as-call_indirect-mid") (result i32)
+ (call_indirect (type $$sig)
+ (i32.const 1) (memory.grow (i32.const 0)) (i32.const 3) (i32.const 0)
+ )
+ )
+ (func (export "as-call_indirect-last") (result i32)
+ (call_indirect (type $$sig)
+ (i32.const 1) (i32.const 2) (memory.grow (i32.const 0)) (i32.const 0)
+ )
+ )
+ (func (export "as-call_indirect-index") (result i32)
+ (call_indirect (type $$sig)
+ (i32.const 1) (i32.const 2) (i32.const 3) (memory.grow (i32.const 0))
+ )
+ )
+
+ (func (export "as-local.set-value") (local i32)
+ (local.set 0 (memory.grow (i32.const 0)))
+ )
+ (func (export "as-local.tee-value") (result i32) (local i32)
+ (local.tee 0 (memory.grow (i32.const 0)))
+ )
+ (global $$g (mut i32) (i32.const 0))
+ (func (export "as-global.set-value") (local i32)
+ (global.set $$g (memory.grow (i32.const 0)))
+ )
+
+ (func (export "as-load-address") (result i32)
+ (i32.load (memory.grow (i32.const 0)))
+ )
+ (func (export "as-loadN-address") (result i32)
+ (i32.load8_s (memory.grow (i32.const 0)))
+ )
+
+ (func (export "as-store-address")
+ (i32.store (memory.grow (i32.const 0)) (i32.const 7))
+ )
+ (func (export "as-store-value")
+ (i32.store (i32.const 2) (memory.grow (i32.const 0)))
+ )
+
+ (func (export "as-storeN-address")
+ (i32.store8 (memory.grow (i32.const 0)) (i32.const 7))
+ )
+ (func (export "as-storeN-value")
+ (i32.store16 (i32.const 2) (memory.grow (i32.const 0)))
+ )
+
+ (func (export "as-unary-operand") (result i32)
+ (i32.clz (memory.grow (i32.const 0)))
+ )
+
+ (func (export "as-binary-left") (result i32)
+ (i32.add (memory.grow (i32.const 0)) (i32.const 10))
+ )
+ (func (export "as-binary-right") (result i32)
+ (i32.sub (i32.const 10) (memory.grow (i32.const 0)))
+ )
+
+ (func (export "as-test-operand") (result i32)
+ (i32.eqz (memory.grow (i32.const 0)))
+ )
+
+ (func (export "as-compare-left") (result i32)
+ (i32.le_s (memory.grow (i32.const 0)) (i32.const 10))
+ )
+ (func (export "as-compare-right") (result i32)
+ (i32.ne (i32.const 10) (memory.grow (i32.const 0)))
+ )
+
+ (func (export "as-memory.grow-size") (result i32)
+ (memory.grow (memory.grow (i32.const 0)))
+ )
+)`);
+
+// ./test/core/memory_grow.wast:259
+assert_return(() => invoke($4, `as-br-value`, []), [value("i32", 1)]);
+
+// ./test/core/memory_grow.wast:261
+assert_return(() => invoke($4, `as-br_if-cond`, []), []);
+
+// ./test/core/memory_grow.wast:262
+assert_return(() => invoke($4, `as-br_if-value`, []), [value("i32", 1)]);
+
+// ./test/core/memory_grow.wast:263
+assert_return(() => invoke($4, `as-br_if-value-cond`, []), [value("i32", 6)]);
+
+// ./test/core/memory_grow.wast:265
+assert_return(() => invoke($4, `as-br_table-index`, []), []);
+
+// ./test/core/memory_grow.wast:266
+assert_return(() => invoke($4, `as-br_table-value`, []), [value("i32", 1)]);
+
+// ./test/core/memory_grow.wast:267
+assert_return(() => invoke($4, `as-br_table-value-index`, []), [value("i32", 6)]);
+
+// ./test/core/memory_grow.wast:269
+assert_return(() => invoke($4, `as-return-value`, []), [value("i32", 1)]);
+
+// ./test/core/memory_grow.wast:271
+assert_return(() => invoke($4, `as-if-cond`, []), [value("i32", 0)]);
+
+// ./test/core/memory_grow.wast:272
+assert_return(() => invoke($4, `as-if-then`, []), [value("i32", 1)]);
+
+// ./test/core/memory_grow.wast:273
+assert_return(() => invoke($4, `as-if-else`, []), [value("i32", 1)]);
+
+// ./test/core/memory_grow.wast:275
+assert_return(() => invoke($4, `as-select-first`, [0, 1]), [value("i32", 1)]);
+
+// ./test/core/memory_grow.wast:276
+assert_return(() => invoke($4, `as-select-second`, [0, 0]), [value("i32", 1)]);
+
+// ./test/core/memory_grow.wast:277
+assert_return(() => invoke($4, `as-select-cond`, []), [value("i32", 0)]);
+
+// ./test/core/memory_grow.wast:279
+assert_return(() => invoke($4, `as-call-first`, []), [value("i32", -1)]);
+
+// ./test/core/memory_grow.wast:280
+assert_return(() => invoke($4, `as-call-mid`, []), [value("i32", -1)]);
+
+// ./test/core/memory_grow.wast:281
+assert_return(() => invoke($4, `as-call-last`, []), [value("i32", -1)]);
+
+// ./test/core/memory_grow.wast:283
+assert_return(() => invoke($4, `as-call_indirect-first`, []), [value("i32", -1)]);
+
+// ./test/core/memory_grow.wast:284
+assert_return(() => invoke($4, `as-call_indirect-mid`, []), [value("i32", -1)]);
+
+// ./test/core/memory_grow.wast:285
+assert_return(() => invoke($4, `as-call_indirect-last`, []), [value("i32", -1)]);
+
+// ./test/core/memory_grow.wast:286
+assert_trap(() => invoke($4, `as-call_indirect-index`, []), `undefined element`);
+
+// ./test/core/memory_grow.wast:288
+assert_return(() => invoke($4, `as-local.set-value`, []), []);
+
+// ./test/core/memory_grow.wast:289
+assert_return(() => invoke($4, `as-local.tee-value`, []), [value("i32", 1)]);
+
+// ./test/core/memory_grow.wast:290
+assert_return(() => invoke($4, `as-global.set-value`, []), []);
+
+// ./test/core/memory_grow.wast:292
+assert_return(() => invoke($4, `as-load-address`, []), [value("i32", 0)]);
+
+// ./test/core/memory_grow.wast:293
+assert_return(() => invoke($4, `as-loadN-address`, []), [value("i32", 0)]);
+
+// ./test/core/memory_grow.wast:294
+assert_return(() => invoke($4, `as-store-address`, []), []);
+
+// ./test/core/memory_grow.wast:295
+assert_return(() => invoke($4, `as-store-value`, []), []);
+
+// ./test/core/memory_grow.wast:296
+assert_return(() => invoke($4, `as-storeN-address`, []), []);
+
+// ./test/core/memory_grow.wast:297
+assert_return(() => invoke($4, `as-storeN-value`, []), []);
+
+// ./test/core/memory_grow.wast:299
+assert_return(() => invoke($4, `as-unary-operand`, []), [value("i32", 31)]);
+
+// ./test/core/memory_grow.wast:301
+assert_return(() => invoke($4, `as-binary-left`, []), [value("i32", 11)]);
+
+// ./test/core/memory_grow.wast:302
+assert_return(() => invoke($4, `as-binary-right`, []), [value("i32", 9)]);
+
+// ./test/core/memory_grow.wast:304
+assert_return(() => invoke($4, `as-test-operand`, []), [value("i32", 0)]);
+
+// ./test/core/memory_grow.wast:306
+assert_return(() => invoke($4, `as-compare-left`, []), [value("i32", 1)]);
+
+// ./test/core/memory_grow.wast:307
+assert_return(() => invoke($4, `as-compare-right`, []), [value("i32", 1)]);
+
+// ./test/core/memory_grow.wast:309
+assert_return(() => invoke($4, `as-memory.grow-size`, []), [value("i32", 1)]);
+
+// ./test/core/memory_grow.wast:312
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (func $$type-size-empty-vs-i32 (result i32)
+ (memory.grow)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_grow.wast:321
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (func $$type-size-empty-vs-i32-in-block (result i32)
+ (i32.const 0)
+ (block (result i32) (memory.grow))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_grow.wast:331
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (func $$type-size-empty-vs-i32-in-loop (result i32)
+ (i32.const 0)
+ (loop (result i32) (memory.grow))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_grow.wast:341
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (func $$type-size-empty-vs-i32-in-then (result i32)
+ (i32.const 0) (i32.const 0)
+ (if (result i32) (then (memory.grow)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_grow.wast:352
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-size-f32-vs-i32 (result i32)
+ (memory.grow (f32.const 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_grow.wast:362
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-result-i32-vs-empty
+ (memory.grow (i32.const 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_grow.wast:371
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-result-i32-vs-f32 (result f32)
+ (memory.grow (i32.const 0))
+ )
+ )`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/memory_init.wast.js b/js/src/jit-test/tests/wasm/spec/spec/memory_init.wast.js
new file mode 100644
index 0000000000..9885c42f81
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/memory_init.wast.js
@@ -0,0 +1,1409 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/memory_init.wast
+
+// ./test/core/memory_init.wast:6
+let $0 = instantiate(`(module
+ (memory (export "memory0") 1 1)
+ (data (i32.const 2) "\\03\\01\\04\\01")
+ (data "\\02\\07\\01\\08")
+ (data (i32.const 12) "\\07\\05\\02\\03\\06")
+ (data "\\05\\09\\02\\07\\06")
+ (func (export "test")
+ (nop))
+ (func (export "load8_u") (param i32) (result i32)
+ (i32.load8_u (local.get 0))))`);
+
+// ./test/core/memory_init.wast:17
+invoke($0, `test`, []);
+
+// ./test/core/memory_init.wast:19
+assert_return(() => invoke($0, `load8_u`, [0]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:20
+assert_return(() => invoke($0, `load8_u`, [1]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:21
+assert_return(() => invoke($0, `load8_u`, [2]), [value("i32", 3)]);
+
+// ./test/core/memory_init.wast:22
+assert_return(() => invoke($0, `load8_u`, [3]), [value("i32", 1)]);
+
+// ./test/core/memory_init.wast:23
+assert_return(() => invoke($0, `load8_u`, [4]), [value("i32", 4)]);
+
+// ./test/core/memory_init.wast:24
+assert_return(() => invoke($0, `load8_u`, [5]), [value("i32", 1)]);
+
+// ./test/core/memory_init.wast:25
+assert_return(() => invoke($0, `load8_u`, [6]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:26
+assert_return(() => invoke($0, `load8_u`, [7]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:27
+assert_return(() => invoke($0, `load8_u`, [8]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:28
+assert_return(() => invoke($0, `load8_u`, [9]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:29
+assert_return(() => invoke($0, `load8_u`, [10]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:30
+assert_return(() => invoke($0, `load8_u`, [11]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:31
+assert_return(() => invoke($0, `load8_u`, [12]), [value("i32", 7)]);
+
+// ./test/core/memory_init.wast:32
+assert_return(() => invoke($0, `load8_u`, [13]), [value("i32", 5)]);
+
+// ./test/core/memory_init.wast:33
+assert_return(() => invoke($0, `load8_u`, [14]), [value("i32", 2)]);
+
+// ./test/core/memory_init.wast:34
+assert_return(() => invoke($0, `load8_u`, [15]), [value("i32", 3)]);
+
+// ./test/core/memory_init.wast:35
+assert_return(() => invoke($0, `load8_u`, [16]), [value("i32", 6)]);
+
+// ./test/core/memory_init.wast:36
+assert_return(() => invoke($0, `load8_u`, [17]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:37
+assert_return(() => invoke($0, `load8_u`, [18]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:38
+assert_return(() => invoke($0, `load8_u`, [19]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:39
+assert_return(() => invoke($0, `load8_u`, [20]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:40
+assert_return(() => invoke($0, `load8_u`, [21]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:41
+assert_return(() => invoke($0, `load8_u`, [22]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:42
+assert_return(() => invoke($0, `load8_u`, [23]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:43
+assert_return(() => invoke($0, `load8_u`, [24]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:44
+assert_return(() => invoke($0, `load8_u`, [25]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:45
+assert_return(() => invoke($0, `load8_u`, [26]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:46
+assert_return(() => invoke($0, `load8_u`, [27]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:47
+assert_return(() => invoke($0, `load8_u`, [28]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:48
+assert_return(() => invoke($0, `load8_u`, [29]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:50
+let $1 = instantiate(`(module
+ (memory (export "memory0") 1 1)
+ (data (i32.const 2) "\\03\\01\\04\\01")
+ (data "\\02\\07\\01\\08")
+ (data (i32.const 12) "\\07\\05\\02\\03\\06")
+ (data "\\05\\09\\02\\07\\06")
+ (func (export "test")
+ (memory.init 1 (i32.const 7) (i32.const 0) (i32.const 4)))
+ (func (export "load8_u") (param i32) (result i32)
+ (i32.load8_u (local.get 0))))`);
+
+// ./test/core/memory_init.wast:61
+invoke($1, `test`, []);
+
+// ./test/core/memory_init.wast:63
+assert_return(() => invoke($1, `load8_u`, [0]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:64
+assert_return(() => invoke($1, `load8_u`, [1]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:65
+assert_return(() => invoke($1, `load8_u`, [2]), [value("i32", 3)]);
+
+// ./test/core/memory_init.wast:66
+assert_return(() => invoke($1, `load8_u`, [3]), [value("i32", 1)]);
+
+// ./test/core/memory_init.wast:67
+assert_return(() => invoke($1, `load8_u`, [4]), [value("i32", 4)]);
+
+// ./test/core/memory_init.wast:68
+assert_return(() => invoke($1, `load8_u`, [5]), [value("i32", 1)]);
+
+// ./test/core/memory_init.wast:69
+assert_return(() => invoke($1, `load8_u`, [6]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:70
+assert_return(() => invoke($1, `load8_u`, [7]), [value("i32", 2)]);
+
+// ./test/core/memory_init.wast:71
+assert_return(() => invoke($1, `load8_u`, [8]), [value("i32", 7)]);
+
+// ./test/core/memory_init.wast:72
+assert_return(() => invoke($1, `load8_u`, [9]), [value("i32", 1)]);
+
+// ./test/core/memory_init.wast:73
+assert_return(() => invoke($1, `load8_u`, [10]), [value("i32", 8)]);
+
+// ./test/core/memory_init.wast:74
+assert_return(() => invoke($1, `load8_u`, [11]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:75
+assert_return(() => invoke($1, `load8_u`, [12]), [value("i32", 7)]);
+
+// ./test/core/memory_init.wast:76
+assert_return(() => invoke($1, `load8_u`, [13]), [value("i32", 5)]);
+
+// ./test/core/memory_init.wast:77
+assert_return(() => invoke($1, `load8_u`, [14]), [value("i32", 2)]);
+
+// ./test/core/memory_init.wast:78
+assert_return(() => invoke($1, `load8_u`, [15]), [value("i32", 3)]);
+
+// ./test/core/memory_init.wast:79
+assert_return(() => invoke($1, `load8_u`, [16]), [value("i32", 6)]);
+
+// ./test/core/memory_init.wast:80
+assert_return(() => invoke($1, `load8_u`, [17]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:81
+assert_return(() => invoke($1, `load8_u`, [18]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:82
+assert_return(() => invoke($1, `load8_u`, [19]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:83
+assert_return(() => invoke($1, `load8_u`, [20]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:84
+assert_return(() => invoke($1, `load8_u`, [21]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:85
+assert_return(() => invoke($1, `load8_u`, [22]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:86
+assert_return(() => invoke($1, `load8_u`, [23]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:87
+assert_return(() => invoke($1, `load8_u`, [24]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:88
+assert_return(() => invoke($1, `load8_u`, [25]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:89
+assert_return(() => invoke($1, `load8_u`, [26]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:90
+assert_return(() => invoke($1, `load8_u`, [27]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:91
+assert_return(() => invoke($1, `load8_u`, [28]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:92
+assert_return(() => invoke($1, `load8_u`, [29]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:94
+let $2 = instantiate(`(module
+ (memory (export "memory0") 1 1)
+ (data (i32.const 2) "\\03\\01\\04\\01")
+ (data "\\02\\07\\01\\08")
+ (data (i32.const 12) "\\07\\05\\02\\03\\06")
+ (data "\\05\\09\\02\\07\\06")
+ (func (export "test")
+ (memory.init 3 (i32.const 15) (i32.const 1) (i32.const 3)))
+ (func (export "load8_u") (param i32) (result i32)
+ (i32.load8_u (local.get 0))))`);
+
+// ./test/core/memory_init.wast:105
+invoke($2, `test`, []);
+
+// ./test/core/memory_init.wast:107
+assert_return(() => invoke($2, `load8_u`, [0]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:108
+assert_return(() => invoke($2, `load8_u`, [1]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:109
+assert_return(() => invoke($2, `load8_u`, [2]), [value("i32", 3)]);
+
+// ./test/core/memory_init.wast:110
+assert_return(() => invoke($2, `load8_u`, [3]), [value("i32", 1)]);
+
+// ./test/core/memory_init.wast:111
+assert_return(() => invoke($2, `load8_u`, [4]), [value("i32", 4)]);
+
+// ./test/core/memory_init.wast:112
+assert_return(() => invoke($2, `load8_u`, [5]), [value("i32", 1)]);
+
+// ./test/core/memory_init.wast:113
+assert_return(() => invoke($2, `load8_u`, [6]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:114
+assert_return(() => invoke($2, `load8_u`, [7]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:115
+assert_return(() => invoke($2, `load8_u`, [8]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:116
+assert_return(() => invoke($2, `load8_u`, [9]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:117
+assert_return(() => invoke($2, `load8_u`, [10]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:118
+assert_return(() => invoke($2, `load8_u`, [11]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:119
+assert_return(() => invoke($2, `load8_u`, [12]), [value("i32", 7)]);
+
+// ./test/core/memory_init.wast:120
+assert_return(() => invoke($2, `load8_u`, [13]), [value("i32", 5)]);
+
+// ./test/core/memory_init.wast:121
+assert_return(() => invoke($2, `load8_u`, [14]), [value("i32", 2)]);
+
+// ./test/core/memory_init.wast:122
+assert_return(() => invoke($2, `load8_u`, [15]), [value("i32", 9)]);
+
+// ./test/core/memory_init.wast:123
+assert_return(() => invoke($2, `load8_u`, [16]), [value("i32", 2)]);
+
+// ./test/core/memory_init.wast:124
+assert_return(() => invoke($2, `load8_u`, [17]), [value("i32", 7)]);
+
+// ./test/core/memory_init.wast:125
+assert_return(() => invoke($2, `load8_u`, [18]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:126
+assert_return(() => invoke($2, `load8_u`, [19]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:127
+assert_return(() => invoke($2, `load8_u`, [20]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:128
+assert_return(() => invoke($2, `load8_u`, [21]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:129
+assert_return(() => invoke($2, `load8_u`, [22]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:130
+assert_return(() => invoke($2, `load8_u`, [23]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:131
+assert_return(() => invoke($2, `load8_u`, [24]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:132
+assert_return(() => invoke($2, `load8_u`, [25]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:133
+assert_return(() => invoke($2, `load8_u`, [26]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:134
+assert_return(() => invoke($2, `load8_u`, [27]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:135
+assert_return(() => invoke($2, `load8_u`, [28]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:136
+assert_return(() => invoke($2, `load8_u`, [29]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:138
+let $3 = instantiate(`(module
+ (memory (export "memory0") 1 1)
+ (data (i32.const 2) "\\03\\01\\04\\01")
+ (data "\\02\\07\\01\\08")
+ (data (i32.const 12) "\\07\\05\\02\\03\\06")
+ (data "\\05\\09\\02\\07\\06")
+ (func (export "test")
+ (memory.init 1 (i32.const 7) (i32.const 0) (i32.const 4))
+ (data.drop 1)
+ (memory.init 3 (i32.const 15) (i32.const 1) (i32.const 3))
+ (data.drop 3)
+ (memory.copy (i32.const 20) (i32.const 15) (i32.const 5))
+ (memory.copy (i32.const 21) (i32.const 29) (i32.const 1))
+ (memory.copy (i32.const 24) (i32.const 10) (i32.const 1))
+ (memory.copy (i32.const 13) (i32.const 11) (i32.const 4))
+ (memory.copy (i32.const 19) (i32.const 20) (i32.const 5)))
+ (func (export "load8_u") (param i32) (result i32)
+ (i32.load8_u (local.get 0))))`);
+
+// ./test/core/memory_init.wast:157
+invoke($3, `test`, []);
+
+// ./test/core/memory_init.wast:159
+assert_return(() => invoke($3, `load8_u`, [0]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:160
+assert_return(() => invoke($3, `load8_u`, [1]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:161
+assert_return(() => invoke($3, `load8_u`, [2]), [value("i32", 3)]);
+
+// ./test/core/memory_init.wast:162
+assert_return(() => invoke($3, `load8_u`, [3]), [value("i32", 1)]);
+
+// ./test/core/memory_init.wast:163
+assert_return(() => invoke($3, `load8_u`, [4]), [value("i32", 4)]);
+
+// ./test/core/memory_init.wast:164
+assert_return(() => invoke($3, `load8_u`, [5]), [value("i32", 1)]);
+
+// ./test/core/memory_init.wast:165
+assert_return(() => invoke($3, `load8_u`, [6]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:166
+assert_return(() => invoke($3, `load8_u`, [7]), [value("i32", 2)]);
+
+// ./test/core/memory_init.wast:167
+assert_return(() => invoke($3, `load8_u`, [8]), [value("i32", 7)]);
+
+// ./test/core/memory_init.wast:168
+assert_return(() => invoke($3, `load8_u`, [9]), [value("i32", 1)]);
+
+// ./test/core/memory_init.wast:169
+assert_return(() => invoke($3, `load8_u`, [10]), [value("i32", 8)]);
+
+// ./test/core/memory_init.wast:170
+assert_return(() => invoke($3, `load8_u`, [11]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:171
+assert_return(() => invoke($3, `load8_u`, [12]), [value("i32", 7)]);
+
+// ./test/core/memory_init.wast:172
+assert_return(() => invoke($3, `load8_u`, [13]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:173
+assert_return(() => invoke($3, `load8_u`, [14]), [value("i32", 7)]);
+
+// ./test/core/memory_init.wast:174
+assert_return(() => invoke($3, `load8_u`, [15]), [value("i32", 5)]);
+
+// ./test/core/memory_init.wast:175
+assert_return(() => invoke($3, `load8_u`, [16]), [value("i32", 2)]);
+
+// ./test/core/memory_init.wast:176
+assert_return(() => invoke($3, `load8_u`, [17]), [value("i32", 7)]);
+
+// ./test/core/memory_init.wast:177
+assert_return(() => invoke($3, `load8_u`, [18]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:178
+assert_return(() => invoke($3, `load8_u`, [19]), [value("i32", 9)]);
+
+// ./test/core/memory_init.wast:179
+assert_return(() => invoke($3, `load8_u`, [20]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:180
+assert_return(() => invoke($3, `load8_u`, [21]), [value("i32", 7)]);
+
+// ./test/core/memory_init.wast:181
+assert_return(() => invoke($3, `load8_u`, [22]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:182
+assert_return(() => invoke($3, `load8_u`, [23]), [value("i32", 8)]);
+
+// ./test/core/memory_init.wast:183
+assert_return(() => invoke($3, `load8_u`, [24]), [value("i32", 8)]);
+
+// ./test/core/memory_init.wast:184
+assert_return(() => invoke($3, `load8_u`, [25]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:185
+assert_return(() => invoke($3, `load8_u`, [26]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:186
+assert_return(() => invoke($3, `load8_u`, [27]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:187
+assert_return(() => invoke($3, `load8_u`, [28]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:188
+assert_return(() => invoke($3, `load8_u`, [29]), [value("i32", 0)]);
+
+// ./test/core/memory_init.wast:189
+assert_invalid(
+ () => instantiate(`(module
+ (func (export "test")
+ (data.drop 0)))`),
+ `unknown data segment`,
+);
+
+// ./test/core/memory_init.wast:195
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (data.drop 4)))`),
+ `unknown data segment`,
+);
+
+// ./test/core/memory_init.wast:203
+let $4 = instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (data.drop 0)
+ (data.drop 0)))`);
+
+// ./test/core/memory_init.wast:209
+invoke($4, `test`, []);
+
+// ./test/core/memory_init.wast:211
+let $5 = instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (data.drop 0)
+ (memory.init 0 (i32.const 1234) (i32.const 1) (i32.const 1))))`);
+
+// ./test/core/memory_init.wast:217
+assert_trap(() => invoke($5, `test`, []), `out of bounds memory access`);
+
+// ./test/core/memory_init.wast:219
+let $6 = instantiate(`(module
+ (memory 1)
+ (data (i32.const 0) "\\37")
+ (func (export "test")
+ (memory.init 0 (i32.const 1234) (i32.const 1) (i32.const 1))))`);
+
+// ./test/core/memory_init.wast:224
+assert_trap(() => invoke($6, `test`, []), `out of bounds memory access`);
+
+// ./test/core/memory_init.wast:226
+assert_invalid(
+ () => instantiate(`(module
+ (func (export "test")
+ (memory.init 1 (i32.const 1234) (i32.const 1) (i32.const 1))))`),
+ `unknown memory 0`,
+);
+
+// ./test/core/memory_init.wast:232
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 1 (i32.const 1234) (i32.const 1) (i32.const 1))))`),
+ `unknown data segment 1`,
+);
+
+// ./test/core/memory_init.wast:240
+let $7 = instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (i32.const 1) (i32.const 0) (i32.const 1))
+ (memory.init 0 (i32.const 1) (i32.const 0) (i32.const 1))))`);
+
+// ./test/core/memory_init.wast:246
+invoke($7, `test`, []);
+
+// ./test/core/memory_init.wast:248
+let $8 = instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (i32.const 1234) (i32.const 0) (i32.const 5))))`);
+
+// ./test/core/memory_init.wast:253
+assert_trap(() => invoke($8, `test`, []), `out of bounds memory access`);
+
+// ./test/core/memory_init.wast:255
+let $9 = instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (i32.const 1234) (i32.const 2) (i32.const 3))))`);
+
+// ./test/core/memory_init.wast:260
+assert_trap(() => invoke($9, `test`, []), `out of bounds memory access`);
+
+// ./test/core/memory_init.wast:262
+let $10 = instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (i32.const 0xFFFE) (i32.const 1) (i32.const 3))))`);
+
+// ./test/core/memory_init.wast:267
+assert_trap(() => invoke($10, `test`, []), `out of bounds memory access`);
+
+// ./test/core/memory_init.wast:269
+let $11 = instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (i32.const 1234) (i32.const 4) (i32.const 0))))`);
+
+// ./test/core/memory_init.wast:274
+assert_trap(() => invoke($11, `test`, []), `out of bounds memory access`);
+
+// ./test/core/memory_init.wast:276
+let $12 = instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (i32.const 1234) (i32.const 1) (i32.const 0))))`);
+
+// ./test/core/memory_init.wast:281
+invoke($12, `test`, []);
+
+// ./test/core/memory_init.wast:283
+let $13 = instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (i32.const 0x10001) (i32.const 0) (i32.const 0))))`);
+
+// ./test/core/memory_init.wast:288
+assert_trap(() => invoke($13, `test`, []), `out of bounds memory access`);
+
+// ./test/core/memory_init.wast:290
+let $14 = instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (i32.const 0x10000) (i32.const 0) (i32.const 0))))`);
+
+// ./test/core/memory_init.wast:295
+invoke($14, `test`, []);
+
+// ./test/core/memory_init.wast:297
+let $15 = instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (i32.const 0x10000) (i32.const 1) (i32.const 0))))`);
+
+// ./test/core/memory_init.wast:302
+invoke($15, `test`, []);
+
+// ./test/core/memory_init.wast:304
+let $16 = instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (i32.const 0x10001) (i32.const 4) (i32.const 0))))`);
+
+// ./test/core/memory_init.wast:309
+assert_trap(() => invoke($16, `test`, []), `out of bounds memory access`);
+
+// ./test/core/memory_init.wast:311
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (i32.const 1) (i32.const 1) (f32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:319
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (i32.const 1) (i32.const 1) (i64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:327
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (i32.const 1) (i32.const 1) (f64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:335
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (i32.const 1) (f32.const 1) (i32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:343
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (i32.const 1) (f32.const 1) (f32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:351
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (i32.const 1) (f32.const 1) (i64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:359
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (i32.const 1) (f32.const 1) (f64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:367
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (i32.const 1) (i64.const 1) (i32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:375
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (i32.const 1) (i64.const 1) (f32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:383
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (i32.const 1) (i64.const 1) (i64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:391
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (i32.const 1) (i64.const 1) (f64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:399
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (i32.const 1) (f64.const 1) (i32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:407
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (i32.const 1) (f64.const 1) (f32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:415
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (i32.const 1) (f64.const 1) (i64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:423
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (i32.const 1) (f64.const 1) (f64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:431
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (f32.const 1) (i32.const 1) (i32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:439
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (f32.const 1) (i32.const 1) (f32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:447
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (f32.const 1) (i32.const 1) (i64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:455
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (f32.const 1) (i32.const 1) (f64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:463
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (f32.const 1) (f32.const 1) (i32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:471
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (f32.const 1) (f32.const 1) (f32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:479
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (f32.const 1) (f32.const 1) (i64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:487
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (f32.const 1) (f32.const 1) (f64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:495
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (f32.const 1) (i64.const 1) (i32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:503
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (f32.const 1) (i64.const 1) (f32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:511
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (f32.const 1) (i64.const 1) (i64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:519
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (f32.const 1) (i64.const 1) (f64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:527
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (f32.const 1) (f64.const 1) (i32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:535
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (f32.const 1) (f64.const 1) (f32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:543
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (f32.const 1) (f64.const 1) (i64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:551
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (f32.const 1) (f64.const 1) (f64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:559
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (i64.const 1) (i32.const 1) (i32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:567
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (i64.const 1) (i32.const 1) (f32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:575
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (i64.const 1) (i32.const 1) (i64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:583
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (i64.const 1) (i32.const 1) (f64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:591
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (i64.const 1) (f32.const 1) (i32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:599
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (i64.const 1) (f32.const 1) (f32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:607
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (i64.const 1) (f32.const 1) (i64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:615
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (i64.const 1) (f32.const 1) (f64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:623
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (i64.const 1) (i64.const 1) (i32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:631
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (i64.const 1) (i64.const 1) (f32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:639
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (i64.const 1) (i64.const 1) (i64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:647
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (i64.const 1) (i64.const 1) (f64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:655
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (i64.const 1) (f64.const 1) (i32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:663
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (i64.const 1) (f64.const 1) (f32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:671
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (i64.const 1) (f64.const 1) (i64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:679
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (i64.const 1) (f64.const 1) (f64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:687
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (f64.const 1) (i32.const 1) (i32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:695
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (f64.const 1) (i32.const 1) (f32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:703
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (f64.const 1) (i32.const 1) (i64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:711
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (f64.const 1) (i32.const 1) (f64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:719
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (f64.const 1) (f32.const 1) (i32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:727
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (f64.const 1) (f32.const 1) (f32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:735
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (f64.const 1) (f32.const 1) (i64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:743
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (f64.const 1) (f32.const 1) (f64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:751
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (f64.const 1) (i64.const 1) (i32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:759
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (f64.const 1) (i64.const 1) (f32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:767
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (f64.const 1) (i64.const 1) (i64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:775
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (f64.const 1) (i64.const 1) (f64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:783
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (f64.const 1) (f64.const 1) (i32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:791
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (f64.const 1) (f64.const 1) (f32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:799
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (f64.const 1) (f64.const 1) (i64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:807
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (data "\\37")
+ (func (export "test")
+ (memory.init 0 (f64.const 1) (f64.const 1) (f64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_init.wast:815
+let $17 = instantiate(`(module
+ (memory 1 1 )
+ (data "\\42\\42\\42\\42\\42\\42\\42\\42\\42\\42\\42\\42\\42\\42\\42\\42")
+
+ (func (export "checkRange") (param $$from i32) (param $$to i32) (param $$expected i32) (result i32)
+ (loop $$cont
+ (if (i32.eq (local.get $$from) (local.get $$to))
+ (then
+ (return (i32.const -1))))
+ (if (i32.eq (i32.load8_u (local.get $$from)) (local.get $$expected))
+ (then
+ (local.set $$from (i32.add (local.get $$from) (i32.const 1)))
+ (br $$cont))))
+ (return (local.get $$from)))
+
+ (func (export "run") (param $$offs i32) (param $$len i32)
+ (memory.init 0 (local.get $$offs) (i32.const 0) (local.get $$len))))`);
+
+// ./test/core/memory_init.wast:833
+assert_trap(() => invoke($17, `run`, [65528, 16]), `out of bounds memory access`);
+
+// ./test/core/memory_init.wast:836
+assert_return(() => invoke($17, `checkRange`, [0, 1, 0]), [value("i32", -1)]);
+
+// ./test/core/memory_init.wast:838
+let $18 = instantiate(`(module
+ (memory 1 1 )
+ (data "\\42\\42\\42\\42\\42\\42\\42\\42\\42\\42\\42\\42\\42\\42\\42\\42")
+
+ (func (export "checkRange") (param $$from i32) (param $$to i32) (param $$expected i32) (result i32)
+ (loop $$cont
+ (if (i32.eq (local.get $$from) (local.get $$to))
+ (then
+ (return (i32.const -1))))
+ (if (i32.eq (i32.load8_u (local.get $$from)) (local.get $$expected))
+ (then
+ (local.set $$from (i32.add (local.get $$from) (i32.const 1)))
+ (br $$cont))))
+ (return (local.get $$from)))
+
+ (func (export "run") (param $$offs i32) (param $$len i32)
+ (memory.init 0 (local.get $$offs) (i32.const 0) (local.get $$len))))`);
+
+// ./test/core/memory_init.wast:856
+assert_trap(() => invoke($18, `run`, [65527, 16]), `out of bounds memory access`);
+
+// ./test/core/memory_init.wast:859
+assert_return(() => invoke($18, `checkRange`, [0, 1, 0]), [value("i32", -1)]);
+
+// ./test/core/memory_init.wast:861
+let $19 = instantiate(`(module
+ (memory 1 1 )
+ (data "\\42\\42\\42\\42\\42\\42\\42\\42\\42\\42\\42\\42\\42\\42\\42\\42")
+
+ (func (export "checkRange") (param $$from i32) (param $$to i32) (param $$expected i32) (result i32)
+ (loop $$cont
+ (if (i32.eq (local.get $$from) (local.get $$to))
+ (then
+ (return (i32.const -1))))
+ (if (i32.eq (i32.load8_u (local.get $$from)) (local.get $$expected))
+ (then
+ (local.set $$from (i32.add (local.get $$from) (i32.const 1)))
+ (br $$cont))))
+ (return (local.get $$from)))
+
+ (func (export "run") (param $$offs i32) (param $$len i32)
+ (memory.init 0 (local.get $$offs) (i32.const 0) (local.get $$len))))`);
+
+// ./test/core/memory_init.wast:879
+assert_trap(() => invoke($19, `run`, [65472, 30]), `out of bounds memory access`);
+
+// ./test/core/memory_init.wast:882
+assert_return(() => invoke($19, `checkRange`, [0, 1, 0]), [value("i32", -1)]);
+
+// ./test/core/memory_init.wast:884
+let $20 = instantiate(`(module
+ (memory 1 1 )
+ (data "\\42\\42\\42\\42\\42\\42\\42\\42\\42\\42\\42\\42\\42\\42\\42\\42")
+
+ (func (export "checkRange") (param $$from i32) (param $$to i32) (param $$expected i32) (result i32)
+ (loop $$cont
+ (if (i32.eq (local.get $$from) (local.get $$to))
+ (then
+ (return (i32.const -1))))
+ (if (i32.eq (i32.load8_u (local.get $$from)) (local.get $$expected))
+ (then
+ (local.set $$from (i32.add (local.get $$from) (i32.const 1)))
+ (br $$cont))))
+ (return (local.get $$from)))
+
+ (func (export "run") (param $$offs i32) (param $$len i32)
+ (memory.init 0 (local.get $$offs) (i32.const 0) (local.get $$len))))`);
+
+// ./test/core/memory_init.wast:902
+assert_trap(() => invoke($20, `run`, [65473, 31]), `out of bounds memory access`);
+
+// ./test/core/memory_init.wast:905
+assert_return(() => invoke($20, `checkRange`, [0, 1, 0]), [value("i32", -1)]);
+
+// ./test/core/memory_init.wast:907
+let $21 = instantiate(`(module
+ (memory 1 )
+ (data "\\42\\42\\42\\42\\42\\42\\42\\42\\42\\42\\42\\42\\42\\42\\42\\42")
+
+ (func (export "checkRange") (param $$from i32) (param $$to i32) (param $$expected i32) (result i32)
+ (loop $$cont
+ (if (i32.eq (local.get $$from) (local.get $$to))
+ (then
+ (return (i32.const -1))))
+ (if (i32.eq (i32.load8_u (local.get $$from)) (local.get $$expected))
+ (then
+ (local.set $$from (i32.add (local.get $$from) (i32.const 1)))
+ (br $$cont))))
+ (return (local.get $$from)))
+
+ (func (export "run") (param $$offs i32) (param $$len i32)
+ (memory.init 0 (local.get $$offs) (i32.const 0) (local.get $$len))))`);
+
+// ./test/core/memory_init.wast:925
+assert_trap(() => invoke($21, `run`, [65528, -256]), `out of bounds memory access`);
+
+// ./test/core/memory_init.wast:928
+assert_return(() => invoke($21, `checkRange`, [0, 1, 0]), [value("i32", -1)]);
+
+// ./test/core/memory_init.wast:930
+let $22 = instantiate(`(module
+ (memory 1 )
+ (data "\\42\\42\\42\\42\\42\\42\\42\\42\\42\\42\\42\\42\\42\\42\\42\\42")
+
+ (func (export "checkRange") (param $$from i32) (param $$to i32) (param $$expected i32) (result i32)
+ (loop $$cont
+ (if (i32.eq (local.get $$from) (local.get $$to))
+ (then
+ (return (i32.const -1))))
+ (if (i32.eq (i32.load8_u (local.get $$from)) (local.get $$expected))
+ (then
+ (local.set $$from (i32.add (local.get $$from) (i32.const 1)))
+ (br $$cont))))
+ (return (local.get $$from)))
+
+ (func (export "run") (param $$offs i32) (param $$len i32)
+ (memory.init 0 (local.get $$offs) (i32.const 0) (local.get $$len))))`);
+
+// ./test/core/memory_init.wast:948
+assert_trap(() => invoke($22, `run`, [0, -4]), `out of bounds memory access`);
+
+// ./test/core/memory_init.wast:951
+assert_return(() => invoke($22, `checkRange`, [0, 1, 0]), [value("i32", -1)]);
+
+// ./test/core/memory_init.wast:954
+let $23 = instantiate(`(module
+ (memory 1)
+ ;; 65 data segments. 64 is the smallest positive number that is encoded
+ ;; differently as a signed LEB.
+ (data "") (data "") (data "") (data "") (data "") (data "") (data "") (data "")
+ (data "") (data "") (data "") (data "") (data "") (data "") (data "") (data "")
+ (data "") (data "") (data "") (data "") (data "") (data "") (data "") (data "")
+ (data "") (data "") (data "") (data "") (data "") (data "") (data "") (data "")
+ (data "") (data "") (data "") (data "") (data "") (data "") (data "") (data "")
+ (data "") (data "") (data "") (data "") (data "") (data "") (data "") (data "")
+ (data "") (data "") (data "") (data "") (data "") (data "") (data "") (data "")
+ (data "") (data "") (data "") (data "") (data "") (data "") (data "") (data "")
+ (data "")
+ (func (memory.init 64 (i32.const 0) (i32.const 0) (i32.const 0))))`);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/memory_redundancy.wast.js b/js/src/jit-test/tests/wasm/spec/spec/memory_redundancy.wast.js
new file mode 100644
index 0000000000..cd2d894092
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/memory_redundancy.wast.js
@@ -0,0 +1,95 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/memory_redundancy.wast
+
+// ./test/core/memory_redundancy.wast:5
+let $0 = instantiate(`(module
+ (memory 1 1)
+
+ (func (export "zero_everything")
+ (i32.store (i32.const 0) (i32.const 0))
+ (i32.store (i32.const 4) (i32.const 0))
+ (i32.store (i32.const 8) (i32.const 0))
+ (i32.store (i32.const 12) (i32.const 0))
+ )
+
+ (func (export "test_store_to_load") (result i32)
+ (i32.store (i32.const 8) (i32.const 0))
+ (f32.store (i32.const 5) (f32.const -0.0))
+ (i32.load (i32.const 8))
+ )
+
+ (func (export "test_redundant_load") (result i32)
+ (local $$t i32)
+ (local $$s i32)
+ (local.set $$t (i32.load (i32.const 8)))
+ (i32.store (i32.const 5) (i32.const 0x80000000))
+ (local.set $$s (i32.load (i32.const 8)))
+ (i32.add (local.get $$t) (local.get $$s))
+ )
+
+ (func (export "test_dead_store") (result f32)
+ (local $$t f32)
+ (i32.store (i32.const 8) (i32.const 0x23232323))
+ (local.set $$t (f32.load (i32.const 11)))
+ (i32.store (i32.const 8) (i32.const 0))
+ (local.get $$t)
+ )
+
+ ;; A function named "malloc" which implementations nonetheless shouldn't
+ ;; assume behaves like C malloc.
+ (func $$malloc (export "malloc")
+ (param $$size i32)
+ (result i32)
+ (i32.const 16)
+ )
+
+ ;; Call malloc twice, but unlike C malloc, we don't get non-aliasing pointers.
+ (func (export "malloc_aliasing")
+ (result i32)
+ (local $$x i32)
+ (local $$y i32)
+ (local.set $$x (call $$malloc (i32.const 4)))
+ (local.set $$y (call $$malloc (i32.const 4)))
+ (i32.store (local.get $$x) (i32.const 42))
+ (i32.store (local.get $$y) (i32.const 43))
+ (i32.load (local.get $$x))
+ )
+)`);
+
+// ./test/core/memory_redundancy.wast:59
+assert_return(() => invoke($0, `test_store_to_load`, []), [value("i32", 128)]);
+
+// ./test/core/memory_redundancy.wast:60
+invoke($0, `zero_everything`, []);
+
+// ./test/core/memory_redundancy.wast:61
+assert_return(() => invoke($0, `test_redundant_load`, []), [value("i32", 128)]);
+
+// ./test/core/memory_redundancy.wast:62
+invoke($0, `zero_everything`, []);
+
+// ./test/core/memory_redundancy.wast:63
+assert_return(
+ () => invoke($0, `test_dead_store`, []),
+ [value("f32", 0.000000000000000000000000000000000000000000049)],
+);
+
+// ./test/core/memory_redundancy.wast:64
+invoke($0, `zero_everything`, []);
+
+// ./test/core/memory_redundancy.wast:65
+assert_return(() => invoke($0, `malloc_aliasing`, []), [value("i32", 43)]);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/memory_size.wast.js b/js/src/jit-test/tests/wasm/spec/spec/memory_size.wast.js
new file mode 100644
index 0000000000..0ce58ebddf
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/memory_size.wast.js
@@ -0,0 +1,174 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/memory_size.wast
+
+// ./test/core/memory_size.wast:1
+let $0 = instantiate(`(module
+ (memory 0)
+ (func (export "size") (result i32) (memory.size))
+ (func (export "grow") (param $$sz i32) (drop (memory.grow (local.get $$sz))))
+)`);
+
+// ./test/core/memory_size.wast:7
+assert_return(() => invoke($0, `size`, []), [value("i32", 0)]);
+
+// ./test/core/memory_size.wast:8
+assert_return(() => invoke($0, `grow`, [1]), []);
+
+// ./test/core/memory_size.wast:9
+assert_return(() => invoke($0, `size`, []), [value("i32", 1)]);
+
+// ./test/core/memory_size.wast:10
+assert_return(() => invoke($0, `grow`, [4]), []);
+
+// ./test/core/memory_size.wast:11
+assert_return(() => invoke($0, `size`, []), [value("i32", 5)]);
+
+// ./test/core/memory_size.wast:12
+assert_return(() => invoke($0, `grow`, [0]), []);
+
+// ./test/core/memory_size.wast:13
+assert_return(() => invoke($0, `size`, []), [value("i32", 5)]);
+
+// ./test/core/memory_size.wast:15
+let $1 = instantiate(`(module
+ (memory 1)
+ (func (export "size") (result i32) (memory.size))
+ (func (export "grow") (param $$sz i32) (drop (memory.grow (local.get $$sz))))
+)`);
+
+// ./test/core/memory_size.wast:21
+assert_return(() => invoke($1, `size`, []), [value("i32", 1)]);
+
+// ./test/core/memory_size.wast:22
+assert_return(() => invoke($1, `grow`, [1]), []);
+
+// ./test/core/memory_size.wast:23
+assert_return(() => invoke($1, `size`, []), [value("i32", 2)]);
+
+// ./test/core/memory_size.wast:24
+assert_return(() => invoke($1, `grow`, [4]), []);
+
+// ./test/core/memory_size.wast:25
+assert_return(() => invoke($1, `size`, []), [value("i32", 6)]);
+
+// ./test/core/memory_size.wast:26
+assert_return(() => invoke($1, `grow`, [0]), []);
+
+// ./test/core/memory_size.wast:27
+assert_return(() => invoke($1, `size`, []), [value("i32", 6)]);
+
+// ./test/core/memory_size.wast:29
+let $2 = instantiate(`(module
+ (memory 0 2)
+ (func (export "size") (result i32) (memory.size))
+ (func (export "grow") (param $$sz i32) (drop (memory.grow (local.get $$sz))))
+)`);
+
+// ./test/core/memory_size.wast:35
+assert_return(() => invoke($2, `size`, []), [value("i32", 0)]);
+
+// ./test/core/memory_size.wast:36
+assert_return(() => invoke($2, `grow`, [3]), []);
+
+// ./test/core/memory_size.wast:37
+assert_return(() => invoke($2, `size`, []), [value("i32", 0)]);
+
+// ./test/core/memory_size.wast:38
+assert_return(() => invoke($2, `grow`, [1]), []);
+
+// ./test/core/memory_size.wast:39
+assert_return(() => invoke($2, `size`, []), [value("i32", 1)]);
+
+// ./test/core/memory_size.wast:40
+assert_return(() => invoke($2, `grow`, [0]), []);
+
+// ./test/core/memory_size.wast:41
+assert_return(() => invoke($2, `size`, []), [value("i32", 1)]);
+
+// ./test/core/memory_size.wast:42
+assert_return(() => invoke($2, `grow`, [4]), []);
+
+// ./test/core/memory_size.wast:43
+assert_return(() => invoke($2, `size`, []), [value("i32", 1)]);
+
+// ./test/core/memory_size.wast:44
+assert_return(() => invoke($2, `grow`, [1]), []);
+
+// ./test/core/memory_size.wast:45
+assert_return(() => invoke($2, `size`, []), [value("i32", 2)]);
+
+// ./test/core/memory_size.wast:47
+let $3 = instantiate(`(module
+ (memory 3 8)
+ (func (export "size") (result i32) (memory.size))
+ (func (export "grow") (param $$sz i32) (drop (memory.grow (local.get $$sz))))
+)`);
+
+// ./test/core/memory_size.wast:53
+assert_return(() => invoke($3, `size`, []), [value("i32", 3)]);
+
+// ./test/core/memory_size.wast:54
+assert_return(() => invoke($3, `grow`, [1]), []);
+
+// ./test/core/memory_size.wast:55
+assert_return(() => invoke($3, `size`, []), [value("i32", 4)]);
+
+// ./test/core/memory_size.wast:56
+assert_return(() => invoke($3, `grow`, [3]), []);
+
+// ./test/core/memory_size.wast:57
+assert_return(() => invoke($3, `size`, []), [value("i32", 7)]);
+
+// ./test/core/memory_size.wast:58
+assert_return(() => invoke($3, `grow`, [0]), []);
+
+// ./test/core/memory_size.wast:59
+assert_return(() => invoke($3, `size`, []), [value("i32", 7)]);
+
+// ./test/core/memory_size.wast:60
+assert_return(() => invoke($3, `grow`, [2]), []);
+
+// ./test/core/memory_size.wast:61
+assert_return(() => invoke($3, `size`, []), [value("i32", 7)]);
+
+// ./test/core/memory_size.wast:62
+assert_return(() => invoke($3, `grow`, [1]), []);
+
+// ./test/core/memory_size.wast:63
+assert_return(() => invoke($3, `size`, []), [value("i32", 8)]);
+
+// ./test/core/memory_size.wast:68
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-result-i32-vs-empty
+ (memory.size)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/memory_size.wast:77
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-result-i32-vs-f32 (result f32)
+ (memory.size)
+ )
+ )`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/names.wast.js b/js/src/jit-test/tests/wasm/spec/spec/names.wast.js
new file mode 100644
index 0000000000..9ae7902b03
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/names.wast.js
@@ -0,0 +1,2158 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/names.wast
+
+// ./test/core/names.wast:4
+let $0 = instantiate(`(module
+ (func (export "foo") (result i32) (i32.const 0))
+)`);
+
+// ./test/core/names.wast:8
+assert_return(() => invoke($0, `foo`, []), [value("i32", 0)]);
+
+// ./test/core/names.wast:12
+let $1 = instantiate(`(module
+ (func (export "foo") (result i32) (i32.const 1))
+)`);
+
+// ./test/core/names.wast:16
+assert_return(() => invoke($1, `foo`, []), [value("i32", 1)]);
+
+// ./test/core/names.wast:19
+let $2 = instantiate(`(module
+ ;; Test that we can use the empty string as a symbol.
+ (func (export "") (result i32) (i32.const 0))
+
+ ;; Test that we can use names beginning with a digit.
+ (func (export "0") (result i32) (i32.const 1))
+
+ ;; Test that we can use names beginning with a dash.
+ (func (export "-0") (result i32) (i32.const 2))
+
+ ;; Test that we can use names beginning with an underscore.
+ (func (export "_") (result i32) (i32.const 3))
+
+ ;; Test that we can use names beginning with a dollar sign.
+ (func (export "$$") (result i32) (i32.const 4))
+
+ ;; Test that we can use names beginning with an at sign.
+ (func (export "@") (result i32) (i32.const 5))
+
+ ;; Test that we can use non-alphanumeric names.
+ (func (export "~!@#$$%^&*()_+\`-={}|[]\\\\:\\";'<>?,./ ") (result i32) (i32.const 6))
+
+ ;; Test that we can use names that have special meaning in JS.
+ (func (export "NaN") (result i32) (i32.const 7))
+ (func (export "Infinity") (result i32) (i32.const 8))
+ (func (export "if") (result i32) (i32.const 9))
+
+ ;; Test that we can use common libc names without conflict.
+ (func (export "malloc") (result i32) (i32.const 10))
+
+ ;; Test that we can use some libc hidden names without conflict.
+ (func (export "_malloc") (result i32) (i32.const 11))
+ (func (export "__malloc") (result i32) (i32.const 12))
+
+ ;; Test that names are case-sensitive.
+ (func (export "a") (result i32) (i32.const 13))
+ (func (export "A") (result i32) (i32.const 14))
+
+ ;; Test that UTF-8 BOM code points can appear in identifiers.
+ (func (export "\u{feff}") (result i32) (i32.const 15))
+
+ ;; Test that Unicode normalization is not applied. These function names
+ ;; contain different codepoints which normalize to the same thing under
+ ;; NFC or NFD.
+ (func (export "\u{c5}") (result i32) (i32.const 16))
+ (func (export "A\u{30a}") (result i32) (i32.const 17))
+ (func (export "\u{212b}") (result i32) (i32.const 18))
+
+ ;; Test that Unicode compatibility normalization is not applied. These
+ ;; function names contain different codepoints which normalize to the
+ ;; same thing under NFKC or NFKD.
+ (func (export "\u{fb03}") (result i32) (i32.const 19))
+ (func (export "f\u{fb01}") (result i32) (i32.const 20))
+ (func (export "ffi") (result i32) (i32.const 21))
+
+ ;; Test the C0 control codes.
+ (func (export "\\00\\01\\02\\03\\04\\05\\06\\07\\08\\09\\0a\\0b\\0c\\0d\\0e\\0f") (result i32) (i32.const 22))
+ (func (export "\\10\\11\\12\\13\\14\\15\\16\\17\\18\\19\\1a\\1b\\1c\\1d\\1e\\1f") (result i32) (i32.const 23))
+ ;; Test miscellaneous control codes.
+ (func (export " \\7f") (result i32) (i32.const 24))
+ ;; Test the C1 control codes.
+ (func (export "\\c2\\80\\c2\\81\\c2\\82\\c2\\83\\c2\\84\\c2\\85\\c2\\86\\c2\\87\\c2\\88\\c2\\89\\c2\\8a\\c2\\8b\\c2\\8c\\c2\\8d\\c2\\8e\\c2\\8f") (result i32) (i32.const 25))
+ (func (export "\\c2\\90\\c2\\91\\c2\\92\\c2\\93\\c2\\94\\c2\\95\\c2\\96\\c2\\97\\c2\\98\\c2\\99\\c2\\9a\\c2\\9b\\c2\\9c\\c2\\9d\\c2\\9e\\c2\\9f") (result i32) (i32.const 26))
+ ;; Test the Unicode Specials.
+ (func (export "\\ef\\bf\\b0\\ef\\bf\\b1\\ef\\bf\\b2\\ef\\bf\\b3\\ef\\bf\\b4\\ef\\bf\\b5\\ef\\bf\\b6\\ef\\bf\\b7") (result i32) (i32.const 27))
+ (func (export "\\ef\\bf\\b8\\ef\\bf\\b9\\ef\\bf\\ba\\ef\\bf\\bb\\ef\\bf\\bc\\ef\\bf\\bd\\ef\\bf\\be\\ef\\bf\\bf") (result i32) (i32.const 28))
+
+ ;; Test that the control pictures are distinct from the control codes they
+ ;; depict. These correspond to the C0 and miscellaneous control code tests
+ ;; above.
+ (func (export "\u{2400}\u{2401}\u{2402}\u{2403}\u{2404}\u{2405}\u{2406}\u{2407}\u{2408}\u{2409}\u{240a}\u{240b}\u{240c}\u{240d}\u{240e}\u{240f}") (result i32) (i32.const 29))
+ (func (export "\u{2410}\u{2411}\u{2412}\u{2413}\u{2414}\u{2415}\u{2416}\u{2417}\u{2418}\u{2419}\u{241a}\u{241b}\u{241c}\u{241d}\u{241e}\u{241f}") (result i32) (i32.const 30))
+ (func (export "\u{2420}\u{2421}") (result i32) (i32.const 31))
+
+ ;; Test the Unicode Specials in non-escaped form (excluding U+FFFE and
+ ;; U+FFFF, so that generic tools don't detect this file as non-UTF-8).
+ (func (export "\u{fff0}\u{fff1}\u{fff2}\u{fff3}\u{fff4}\u{fff5}\u{fff6}\u{fff7}\u{fff8}\u{fff9}\u{fffa}\u{fffb}\u{fffc}\u{fffd}") (result i32) (i32.const 32))
+
+ ;; Test a bare ZWJ code point.
+ (func (export "\u{200d}") (result i32) (i32.const 33))
+ ;; Test a bare ZWNJ code point.
+ (func (export "\u{200c}") (result i32) (i32.const 34))
+
+ ;; Test various bare joiner code points.
+ (func (export "\u{34f}") (result i32) (i32.const 35))
+ (func (export "\u{2060}") (result i32) (i32.const 36))
+ (func (export "\u{2d7f}") (result i32) (i32.const 37))
+ (func (export "\u{1107f}") (result i32) (i32.const 38))
+ (func (export "\u{180e}") (result i32) (i32.const 39))
+
+ ;; Test various interesting code points: reverse BOM, zero-width space,
+ ;; no-break space, soft hyphen, word joiner, ogham space mark,
+ ;; right-to-left override, left-to-right override.
+ (func (export "\u{ffef}\u{200b}\u{a0}\u{ad}\u{2060}\u{1680}\u{202e}\u{202d}") (result i32) (i32.const 40))
+
+ ;; Test more interesting code points: left-to-right mark, right-to-left mark,
+ ;; non-breaking hyphen, line separator, paragraph separator,
+ ;; left-to-right embedding, right-to-left embedding,
+ ;; pop directional formatting, narrow no-break space, left-to-right isolate,
+ ;; right-to-left isolate, first strong isolate, pop directional isolate.
+ (func (export "\u{200e}\u{200f}\u{2011}\u{2028}\u{2029}\u{202a}\u{202b}\u{202c}\u{202f}\u{2066}\u{2067}\u{2068}\u{2069}") (result i32) (i32.const 41))
+
+ ;; Test some deprecated code points: inhibit symmetric swapping,
+ ;; activate symmetric swapping, inhibit arabic form shaping,
+ ;; activate arabic form shaping, national digit shapes, nominal digit shapes.
+ (func (export "\u{206a}\u{206b}\u{206c}\u{206d}\u{206e}\u{206f}") (result i32) (i32.const 42))
+
+ ;; Test "invisible" operator code points.
+ (func (export "\u{2061}\u{2062}\u{2063}\u{2064}") (result i32) (i32.const 43))
+
+ ;; Test that code points outside the BMP are supported.
+ (func (export "\u{10000}\u{dffff}\u{10ffff}") (result i32) (i32.const 44))
+
+ ;; Test that WebAssembly implementations cope in the presence of Zalgo.
+ (func (export "Z\u{30f}\u{346}\u{306}\u{35b}\u{34c}\u{334}\u{358}\u{35e}\u{347}\u{32b}\u{325}\u{32a}\u{353}\u{348}\u{354}\u{34e}\u{317}\u{31e}\u{33a}\u{32f}\u{331}\u{31e}\u{319}\u{331}\u{31c}\u{316}\u{320}a\u{357}\u{368}\u{30e}\u{304}\u{306}\u{357}\u{33f}\u{361}\u{35f}\u{340}\u{336}\u{341}\u{325}\u{330}\u{333}\u{32d}\u{359}\u{332}\u{331}\u{339}\u{31d}\u{34e}\u{33c}l\u{344}\u{34a}\u{31a}\u{357}\u{366}\u{344}\u{36b}\u{307}\u{341}\u{336}\u{337}\u{349}\u{329}\u{339}\u{32b}\u{31d}\u{356}\u{345}\u{319}\u{332}\u{33c}\u{347}\u{35a}\u{34d}\u{32e}\u{34e}\u{325}\u{345}\u{31e}g\u{343}\u{310}\u{305}\u{36e}\u{314}\u{310}\u{30e}\u{302}\u{30f}\u{33e}\u{34a}\u{30d}\u{34b}\u{34a}\u{367}\u{301}\u{306}\u{366}\u{35e}\u{336}\u{355}\u{354}\u{35a}\u{329}o\u{34b}\u{314}\u{350}\u{36a}\u{369}\u{321}\u{34f}\u{322}\u{327}\u{341}\u{32b}\u{319}\u{324}\u{32e}\u{356}\u{359}\u{353}\u{33a}\u{31c}\u{329}\u{33c}\u{318}\u{320}") (result i32) (i32.const 45))
+
+ ;; Test Hangul filler code points.
+ (func (export "\u{115f}\u{1160}\u{3164}\u{ffa0}") (result i32) (i32.const 46))
+
+ ;; Test variation selectors (which are also ID_Continue code points).
+ (func (export "\u{fe00}") (result i32) (i32.const 47))
+ (func (export "\u{fe04}") (result i32) (i32.const 48))
+ (func (export "\u{e0100}") (result i32) (i32.const 49))
+ (func (export "\u{e01ef}") (result i32) (i32.const 50))
+
+ ;; Test an uncombined combining code point.
+ (func (export "\u{308}") (result i32) (i32.const 51))
+
+ ;; Test that numerous different present and historical representations of the
+ ;; "newline" concept are distinct. Tests largely inspired by:
+ ;; https://en.wikipedia.org/wiki/Newline#Representations
+ ;; https://en.wikipedia.org/wiki/Newline#Unicode and
+ ;; https://en.wikipedia.org/wiki/Newline#Reverse_and_partial_line_feeds
+ (func (export "\\0a") (result i32) (i32.const 52))
+ (func (export "\u{2424}") (result i32) (i32.const 53))
+ (func (export "\u{2028}") (result i32) (i32.const 54))
+ (func (export "\\0d") (result i32) (i32.const 55))
+ (func (export "\\0d\\0a") (result i32) (i32.const 56))
+ (func (export "\\0a\\0d") (result i32) (i32.const 57))
+ (func (export "\\1e") (result i32) (i32.const 58))
+ (func (export "\\0b") (result i32) (i32.const 59))
+ (func (export "\\0c") (result i32) (i32.const 60))
+ (func (export "\\c2\\85") (result i32) (i32.const 61))
+ (func (export "\u{2029}") (result i32) (i32.const 62))
+ (func (export "\u{2026}") (result i32) (i32.const 63))
+ (func (export "\u{23ce}") (result i32) (i32.const 64))
+ (func (export "\\c2\\8b") (result i32) (i32.const 65))
+ (func (export "\\c2\\8c") (result i32) (i32.const 66))
+ (func (export "\\c2\\8d") (result i32) (i32.const 67))
+ (func (export "\u{21b5}") (result i32) (i32.const 68))
+ (func (export "\u{21a9}") (result i32) (i32.const 69))
+ (func (export "\u{2324}") (result i32) (i32.const 70))
+ (func (export "\u{2936}") (result i32) (i32.const 71))
+ (func (export "\u{21b2}") (result i32) (i32.const 72))
+ (func (export "\u{2ba8}") (result i32) (i32.const 73))
+ (func (export "\u{2bb0}") (result i32) (i32.const 74))
+
+ ;; Test that non-characters are not replaced by the replacement character.
+ (func (export "\u{fffd}") (result i32) (i32.const 75))
+ (func (export "\\ef\\b7\\90") (result i32) (i32.const 76))
+ (func (export "\\ef\\b7\\91") (result i32) (i32.const 77))
+ (func (export "\\ef\\b7\\92") (result i32) (i32.const 78))
+ (func (export "\\ef\\b7\\93") (result i32) (i32.const 79))
+ (func (export "\\ef\\b7\\94") (result i32) (i32.const 80))
+ (func (export "\\ef\\b7\\95") (result i32) (i32.const 81))
+ (func (export "\\ef\\b7\\96") (result i32) (i32.const 82))
+ (func (export "\\ef\\b7\\97") (result i32) (i32.const 83))
+ (func (export "\\ef\\b7\\98") (result i32) (i32.const 84))
+ (func (export "\\ef\\b7\\99") (result i32) (i32.const 85))
+ (func (export "\\ef\\b7\\9a") (result i32) (i32.const 86))
+ (func (export "\\ef\\b7\\9b") (result i32) (i32.const 87))
+ (func (export "\\ef\\b7\\9c") (result i32) (i32.const 88))
+ (func (export "\\ef\\b7\\9d") (result i32) (i32.const 89))
+ (func (export "\\ef\\b7\\9e") (result i32) (i32.const 90))
+ (func (export "\\ef\\b7\\9f") (result i32) (i32.const 91))
+ (func (export "\\ef\\b7\\a0") (result i32) (i32.const 92))
+ (func (export "\\ef\\b7\\a1") (result i32) (i32.const 93))
+ (func (export "\\ef\\b7\\a2") (result i32) (i32.const 94))
+ (func (export "\\ef\\b7\\a3") (result i32) (i32.const 95))
+ (func (export "\\ef\\b7\\a4") (result i32) (i32.const 96))
+ (func (export "\\ef\\b7\\a5") (result i32) (i32.const 97))
+ (func (export "\\ef\\b7\\a6") (result i32) (i32.const 98))
+ (func (export "\\ef\\b7\\a7") (result i32) (i32.const 99))
+ (func (export "\\ef\\b7\\a8") (result i32) (i32.const 100))
+ (func (export "\\ef\\b7\\a9") (result i32) (i32.const 101))
+ (func (export "\\ef\\b7\\aa") (result i32) (i32.const 102))
+ (func (export "\\ef\\b7\\ab") (result i32) (i32.const 103))
+ (func (export "\\ef\\b7\\ac") (result i32) (i32.const 104))
+ (func (export "\\ef\\b7\\ad") (result i32) (i32.const 105))
+ (func (export "\\ef\\b7\\ae") (result i32) (i32.const 106))
+ (func (export "\\ef\\b7\\af") (result i32) (i32.const 107))
+ (func (export "\\ef\\bf\\be") (result i32) (i32.const 108))
+ (func (export "\\ef\\bf\\bf") (result i32) (i32.const 109))
+ (func (export "\\f0\\9f\\bf\\be") (result i32) (i32.const 110))
+ (func (export "\\f0\\9f\\bf\\bf") (result i32) (i32.const 111))
+ (func (export "\\f0\\af\\bf\\be") (result i32) (i32.const 112))
+ (func (export "\\f0\\af\\bf\\bf") (result i32) (i32.const 113))
+ (func (export "\\f0\\bf\\bf\\be") (result i32) (i32.const 114))
+ (func (export "\\f0\\bf\\bf\\bf") (result i32) (i32.const 115))
+ (func (export "\\f1\\8f\\bf\\be") (result i32) (i32.const 116))
+ (func (export "\\f1\\8f\\bf\\bf") (result i32) (i32.const 117))
+ (func (export "\\f1\\9f\\bf\\be") (result i32) (i32.const 118))
+ (func (export "\\f1\\9f\\bf\\bf") (result i32) (i32.const 119))
+ (func (export "\\f1\\af\\bf\\be") (result i32) (i32.const 120))
+ (func (export "\\f1\\af\\bf\\bf") (result i32) (i32.const 121))
+ (func (export "\\f1\\bf\\bf\\be") (result i32) (i32.const 122))
+ (func (export "\\f1\\bf\\bf\\bf") (result i32) (i32.const 123))
+ (func (export "\\f2\\8f\\bf\\be") (result i32) (i32.const 124))
+ (func (export "\\f2\\8f\\bf\\bf") (result i32) (i32.const 125))
+ (func (export "\\f2\\9f\\bf\\be") (result i32) (i32.const 126))
+ (func (export "\\f2\\9f\\bf\\bf") (result i32) (i32.const 127))
+ (func (export "\\f2\\af\\bf\\be") (result i32) (i32.const 128))
+ (func (export "\\f2\\af\\bf\\bf") (result i32) (i32.const 129))
+ (func (export "\\f2\\bf\\bf\\be") (result i32) (i32.const 130))
+ (func (export "\\f2\\bf\\bf\\bf") (result i32) (i32.const 131))
+ (func (export "\\f3\\8f\\bf\\be") (result i32) (i32.const 132))
+ (func (export "\\f3\\8f\\bf\\bf") (result i32) (i32.const 133))
+ (func (export "\\f3\\9f\\bf\\be") (result i32) (i32.const 134))
+ (func (export "\\f3\\9f\\bf\\bf") (result i32) (i32.const 135))
+ (func (export "\\f3\\af\\bf\\be") (result i32) (i32.const 136))
+ (func (export "\\f3\\af\\bf\\bf") (result i32) (i32.const 137))
+ (func (export "\\f3\\bf\\bf\\be") (result i32) (i32.const 138))
+ (func (export "\\f3\\bf\\bf\\bf") (result i32) (i32.const 139))
+ (func (export "\\f4\\8f\\bf\\be") (result i32) (i32.const 140))
+ (func (export "\\f4\\8f\\bf\\bf") (result i32) (i32.const 141))
+
+ ;; Test an interrobang with combining diacritical marks above.
+ ;; https://xkcd.com/1209/
+ (func (export "\u{308}\u{203d}\u{308}\u{309}") (result i32) (i32.const 142))
+
+ ;; Test that RLM/LRM don't change the logical byte order.
+ (func (export "abc") (result i32) (i32.const 143))
+ (func (export "\u{202d}abc") (result i32) (i32.const 144))
+ (func (export "\u{202e}cba") (result i32) (i32.const 145))
+ (func (export "\u{202d}abc\u{202e}") (result i32) (i32.const 146))
+ (func (export "\u{202e}cba\u{202d}") (result i32) (i32.const 147))
+
+ ;; Test that Unicode font variations are preserved.
+ (func (export "\u{1d468}") (result i32) (i32.const 148))
+ (func (export "\u{1d434}") (result i32) (i32.const 149))
+ (func (export "\u{1d608}") (result i32) (i32.const 150))
+ (func (export "\u{1d63c}") (result i32) (i32.const 151))
+ (func (export "\u{1d400}") (result i32) (i32.const 152))
+ (func (export "\u{1d4d0}") (result i32) (i32.const 153))
+ (func (export "\u{1d56c}") (result i32) (i32.const 154))
+ (func (export "\u{1d5d4}") (result i32) (i32.const 155))
+ (func (export "\u{1d49c}") (result i32) (i32.const 156))
+ (func (export "\u{1d504}") (result i32) (i32.const 157))
+ (func (export "\u{1d538}") (result i32) (i32.const 158))
+ (func (export "\u{1d5a0}") (result i32) (i32.const 159))
+ (func (export "\u{1d670}") (result i32) (i32.const 160))
+ (func (export "\u{1d00}") (result i32) (i32.const 161))
+
+ ;; Test that various additional letter variations are preserved.
+ ;; (U+0040, U+0061, U+0041, U+00C5, U+0041 U+030A, U+212B, and the font
+ ;; variations are covered above.)
+ (func (export "\u{1d2c}") (result i32) (i32.const 162))
+ (func (export "\u{24b6}") (result i32) (i32.const 163))
+ (func (export "\u{ff21}") (result i32) (i32.const 164))
+ (func (export "\u{1f110}") (result i32) (i32.const 165))
+ (func (export "\u{1f130}") (result i32) (i32.const 166))
+ (func (export "\u{e0041}") (result i32) (i32.const 167))
+ (func (export "U+0041") (result i32) (i32.const 168))
+ (func (export "A\u{200b}") (result i32) (i32.const 169))
+ (func (export "\u{410}") (result i32) (i32.const 170))
+ (func (export "\u{a656}") (result i32) (i32.const 171))
+ (func (export "\u{2dfc}") (result i32) (i32.const 172))
+ (func (export "\u{2df6}") (result i32) (i32.const 173))
+ (func (export "\u{2c6f}") (result i32) (i32.const 174))
+ (func (export "\u{1f150}") (result i32) (i32.const 175))
+ (func (export "\u{1f170}") (result i32) (i32.const 176))
+ (func (export "\u{2c2d}") (result i32) (i32.const 177))
+ (func (export "\u{10402}") (result i32) (i32.const 178))
+ (func (export "\u{10408}") (result i32) (i32.const 179))
+ (func (export "\u{104b0}") (result i32) (i32.const 180))
+ (func (export "\u{c0}") (result i32) (i32.const 181))
+ (func (export "\u{c1}") (result i32) (i32.const 182))
+ (func (export "\u{c2}") (result i32) (i32.const 183))
+ (func (export "\u{c3}") (result i32) (i32.const 184))
+ (func (export "\u{c4}") (result i32) (i32.const 185))
+ (func (export "\u{100}") (result i32) (i32.const 186))
+ (func (export "\u{102}") (result i32) (i32.const 187))
+ (func (export "\u{104}") (result i32) (i32.const 188))
+ (func (export "\u{1cd}") (result i32) (i32.const 189))
+ (func (export "\u{1de}") (result i32) (i32.const 190))
+ (func (export "\u{1e0}") (result i32) (i32.const 191))
+ (func (export "\u{1fa}") (result i32) (i32.const 192))
+ (func (export "\u{200}") (result i32) (i32.const 193))
+ (func (export "\u{202}") (result i32) (i32.const 194))
+ (func (export "\u{226}") (result i32) (i32.const 195))
+ (func (export "\u{23a}") (result i32) (i32.const 196))
+ (func (export "\u{4d0}") (result i32) (i32.const 197))
+ (func (export "\u{4d2}") (result i32) (i32.const 198))
+ (func (export "\u{7ca}") (result i32) (i32.const 199))
+ (func (export "\u{821}") (result i32) (i32.const 200))
+ (func (export "\u{822}") (result i32) (i32.const 201))
+ (func (export "\u{823}") (result i32) (i32.const 202))
+ (func (export "\u{824}") (result i32) (i32.const 203))
+ (func (export "\u{825}") (result i32) (i32.const 204))
+ (func (export "\u{904}") (result i32) (i32.const 205))
+ (func (export "\u{905}") (result i32) (i32.const 206))
+ (func (export "\u{972}") (result i32) (i32.const 207))
+ (func (export "\u{985}") (result i32) (i32.const 208))
+ (func (export "\u{a05}") (result i32) (i32.const 209))
+ (func (export "\u{a85}") (result i32) (i32.const 210))
+ (func (export "\u{b05}") (result i32) (i32.const 211))
+ (func (export "\u{b85}") (result i32) (i32.const 212))
+ (func (export "\u{c05}") (result i32) (i32.const 213))
+ (func (export "\u{c85}") (result i32) (i32.const 214))
+ (func (export "\u{d05}") (result i32) (i32.const 215))
+ (func (export "\u{e30}") (result i32) (i32.const 216))
+ (func (export "\u{eb0}") (result i32) (i32.const 217))
+ (func (export "\u{f01}") (result i32) (i32.const 218))
+ (func (export "\u{f68}") (result i32) (i32.const 219))
+ (func (export "\u{fb8}") (result i32) (i32.const 220))
+ (func (export "\u{1021}") (result i32) (i32.const 221))
+ (func (export "\u{1022}") (result i32) (i32.const 222))
+ (func (export "\u{109c}") (result i32) (i32.const 223))
+ (func (export "\u{1161}") (result i32) (i32.const 224))
+ (func (export "\u{12a0}") (result i32) (i32.const 225))
+ (func (export "\u{12d0}") (result i32) (i32.const 226))
+ (func (export "\u{13a0}") (result i32) (i32.const 227))
+ (func (export "\u{140a}") (result i32) (i32.const 228))
+ (func (export "\u{15b3}") (result i32) (i32.const 229))
+ (func (export "\u{16a8}") (result i32) (i32.const 230))
+ (func (export "\u{16aa}") (result i32) (i32.const 231))
+ (func (export "\u{16c6}") (result i32) (i32.const 232))
+ (func (export "\u{1700}") (result i32) (i32.const 233))
+ (func (export "\u{1720}") (result i32) (i32.const 234))
+ (func (export "\u{1740}") (result i32) (i32.const 235))
+ (func (export "\u{1760}") (result i32) (i32.const 236))
+ (func (export "\u{1820}") (result i32) (i32.const 237))
+ (func (export "\u{1887}") (result i32) (i32.const 238))
+ (func (export "\u{1920}") (result i32) (i32.const 239))
+ (func (export "\u{1963}") (result i32) (i32.const 240))
+ (func (export "\u{1a15}") (result i32) (i32.const 241))
+ (func (export "\u{1a4b}") (result i32) (i32.const 242))
+ (func (export "\u{1a61}") (result i32) (i32.const 243))
+ (func (export "\u{1b83}") (result i32) (i32.const 244))
+ (func (export "\u{1bc0}") (result i32) (i32.const 245))
+ (func (export "\u{1bc1}") (result i32) (i32.const 246))
+ (func (export "\u{1c23}") (result i32) (i32.const 247))
+ (func (export "\u{1e00}") (result i32) (i32.const 248))
+ (func (export "\u{1ea0}") (result i32) (i32.const 249))
+ (func (export "\u{1ea2}") (result i32) (i32.const 250))
+ (func (export "\u{1ea4}") (result i32) (i32.const 251))
+ (func (export "\u{1ea6}") (result i32) (i32.const 252))
+ (func (export "\u{1ea8}") (result i32) (i32.const 253))
+ (func (export "\u{1eaa}") (result i32) (i32.const 254))
+ (func (export "\u{1eac}") (result i32) (i32.const 255))
+ (func (export "\u{1eae}") (result i32) (i32.const 256))
+ (func (export "\u{1eb0}") (result i32) (i32.const 257))
+ (func (export "\u{1eb2}") (result i32) (i32.const 258))
+ (func (export "\u{1eb4}") (result i32) (i32.const 259))
+ (func (export "\u{1eb6}") (result i32) (i32.const 260))
+ (func (export "\u{3042}") (result i32) (i32.const 261))
+ (func (export "\u{30a2}") (result i32) (i32.const 262))
+ (func (export "\u{311a}") (result i32) (i32.const 263))
+ (func (export "\u{314f}") (result i32) (i32.const 264))
+ (func (export "\u{320e}") (result i32) (i32.const 265))
+ (func (export "\u{320f}") (result i32) (i32.const 266))
+ (func (export "\u{3210}") (result i32) (i32.const 267))
+ (func (export "\u{3211}") (result i32) (i32.const 268))
+ (func (export "\u{3212}") (result i32) (i32.const 269))
+ (func (export "\u{3213}") (result i32) (i32.const 270))
+ (func (export "\u{3214}") (result i32) (i32.const 271))
+ (func (export "\u{3215}") (result i32) (i32.const 272))
+ (func (export "\u{3216}") (result i32) (i32.const 273))
+ (func (export "\u{3217}") (result i32) (i32.const 274))
+ (func (export "\u{3218}") (result i32) (i32.const 275))
+ (func (export "\u{3219}") (result i32) (i32.const 276))
+ (func (export "\u{321a}") (result i32) (i32.const 277))
+ (func (export "\u{321b}") (result i32) (i32.const 278))
+ (func (export "\u{326e}") (result i32) (i32.const 279))
+ (func (export "\u{326f}") (result i32) (i32.const 280))
+ (func (export "\u{3270}") (result i32) (i32.const 281))
+ (func (export "\u{3271}") (result i32) (i32.const 282))
+ (func (export "\u{3272}") (result i32) (i32.const 283))
+ (func (export "\u{3273}") (result i32) (i32.const 284))
+ (func (export "\u{3274}") (result i32) (i32.const 285))
+ (func (export "\u{3275}") (result i32) (i32.const 286))
+ (func (export "\u{3276}") (result i32) (i32.const 287))
+ (func (export "\u{3277}") (result i32) (i32.const 288))
+ (func (export "\u{3278}") (result i32) (i32.const 289))
+ (func (export "\u{3279}") (result i32) (i32.const 290))
+ (func (export "\u{327a}") (result i32) (i32.const 291))
+ (func (export "\u{327b}") (result i32) (i32.const 292))
+ (func (export "\u{32d0}") (result i32) (i32.const 293))
+ (func (export "\u{a00a}") (result i32) (i32.const 294))
+ (func (export "\u{a4ee}") (result i32) (i32.const 295))
+ (func (export "\u{a549}") (result i32) (i32.const 296))
+ (func (export "\u{a6a0}") (result i32) (i32.const 297))
+ (func (export "\u{a800}") (result i32) (i32.const 298))
+ (func (export "\u{a823}") (result i32) (i32.const 299))
+ (func (export "\u{a85d}") (result i32) (i32.const 300))
+ (func (export "\u{a882}") (result i32) (i32.const 301))
+ (func (export "\u{a8ea}") (result i32) (i32.const 302))
+ (func (export "\u{a922}") (result i32) (i32.const 303))
+ (func (export "\u{a946}") (result i32) (i32.const 304))
+ (func (export "\u{a984}") (result i32) (i32.const 305))
+ (func (export "\u{aa00}") (result i32) (i32.const 306))
+ (func (export "\u{ff71}") (result i32) (i32.const 307))
+ (func (export "\u{ffc2}") (result i32) (i32.const 308))
+ (func (export "\u{10000}") (result i32) (i32.const 309))
+ (func (export "\u{10280}") (result i32) (i32.const 310))
+ (func (export "\u{102a0}") (result i32) (i32.const 311))
+ (func (export "\u{10300}") (result i32) (i32.const 312))
+ (func (export "\u{103a0}") (result i32) (i32.const 313))
+ (func (export "\u{10496}") (result i32) (i32.const 314))
+ (func (export "\u{10500}") (result i32) (i32.const 315))
+ (func (export "\u{10740}") (result i32) (i32.const 316))
+ (func (export "\u{10800}") (result i32) (i32.const 317))
+ (func (export "\u{10920}") (result i32) (i32.const 318))
+ (func (export "\u{10980}") (result i32) (i32.const 319))
+ (func (export "\u{109a0}") (result i32) (i32.const 320))
+ (func (export "\u{10a00}") (result i32) (i32.const 321))
+ (func (export "\u{10b00}") (result i32) (i32.const 322))
+ (func (export "\u{10c00}") (result i32) (i32.const 323))
+ (func (export "\u{10c01}") (result i32) (i32.const 324))
+ (func (export "\u{10c80}") (result i32) (i32.const 325))
+ (func (export "\u{11005}") (result i32) (i32.const 326))
+ (func (export "\u{11083}") (result i32) (i32.const 327))
+ (func (export "\u{11127}") (result i32) (i32.const 328))
+ (func (export "\u{11150}") (result i32) (i32.const 329))
+ (func (export "\u{11183}") (result i32) (i32.const 330))
+ (func (export "\u{11200}") (result i32) (i32.const 331))
+ (func (export "\u{11280}") (result i32) (i32.const 332))
+ (func (export "\u{112b0}") (result i32) (i32.const 333))
+ (func (export "\u{11305}") (result i32) (i32.const 334))
+ (func (export "\u{11370}") (result i32) (i32.const 335))
+ (func (export "\u{11400}") (result i32) (i32.const 336))
+ (func (export "\u{11481}") (result i32) (i32.const 337))
+ (func (export "\u{11580}") (result i32) (i32.const 338))
+ (func (export "\u{11600}") (result i32) (i32.const 339))
+ (func (export "\u{11680}") (result i32) (i32.const 340))
+ (func (export "\u{11712}") (result i32) (i32.const 341))
+ (func (export "\u{11720}") (result i32) (i32.const 342))
+ (func (export "\u{118a1}") (result i32) (i32.const 343))
+ (func (export "\u{11ad5}") (result i32) (i32.const 344))
+ (func (export "\u{11c00}") (result i32) (i32.const 345))
+ (func (export "\u{11c8f}") (result i32) (i32.const 346))
+ (func (export "\u{11caf}") (result i32) (i32.const 347))
+ (func (export "\u{12000}") (result i32) (i32.const 348))
+ (func (export "\u{169d5}") (result i32) (i32.const 349))
+ (func (export "\u{16a46}") (result i32) (i32.const 350))
+ (func (export "\u{16ae7}") (result i32) (i32.const 351))
+ (func (export "\u{16f54}") (result i32) (i32.const 352))
+ (func (export "\u{1bc41}") (result i32) (i32.const 353))
+ (func (export "\u{1bc64}") (result i32) (i32.const 354))
+ (func (export "\u{1e823}") (result i32) (i32.const 355))
+ (func (export "\u{1f1e6}") (result i32) (i32.const 356))
+ (func (export "\u{2c6d}") (result i32) (i32.const 357))
+ (func (export "\u{39b}") (result i32) (i32.const 358))
+ (func (export "\u{2c70}") (result i32) (i32.const 359))
+ (func (export "\u{aa}") (result i32) (i32.const 360))
+ (func (export "\u{2200}") (result i32) (i32.const 361))
+ (func (export "\u{20b3}") (result i32) (i32.const 362))
+ (func (export "\u{10900}") (result i32) (i32.const 363))
+ (func (export "\u{2c80}") (result i32) (i32.const 364))
+ (func (export "\u{10330}") (result i32) (i32.const 365))
+ (func (export "\u{386}") (result i32) (i32.const 366))
+ (func (export "\u{391}") (result i32) (i32.const 367))
+ (func (export "\u{1f08}") (result i32) (i32.const 368))
+ (func (export "\u{1f09}") (result i32) (i32.const 369))
+ (func (export "\u{1f0a}") (result i32) (i32.const 370))
+ (func (export "\u{1f0b}") (result i32) (i32.const 371))
+ (func (export "\u{1f0c}") (result i32) (i32.const 372))
+ (func (export "\u{1f0d}") (result i32) (i32.const 373))
+ (func (export "\u{1f0e}") (result i32) (i32.const 374))
+ (func (export "\u{1f0f}") (result i32) (i32.const 375))
+ (func (export "\u{1f88}") (result i32) (i32.const 376))
+ (func (export "\u{1f89}") (result i32) (i32.const 377))
+ (func (export "\u{1f8a}") (result i32) (i32.const 378))
+ (func (export "\u{1f8b}") (result i32) (i32.const 379))
+ (func (export "\u{1f8c}") (result i32) (i32.const 380))
+ (func (export "\u{1f8d}") (result i32) (i32.const 381))
+ (func (export "\u{1f8e}") (result i32) (i32.const 382))
+ (func (export "\u{1f8f}") (result i32) (i32.const 383))
+ (func (export "\u{1fb8}") (result i32) (i32.const 384))
+ (func (export "\u{1fb9}") (result i32) (i32.const 385))
+ (func (export "\u{1fba}") (result i32) (i32.const 386))
+ (func (export "\u{1fbb}") (result i32) (i32.const 387))
+ (func (export "\u{1fbc}") (result i32) (i32.const 388))
+ (func (export "\u{1d6a8}") (result i32) (i32.const 389))
+ (func (export "\u{1d6e2}") (result i32) (i32.const 390))
+ (func (export "\u{1d71c}") (result i32) (i32.const 391))
+ (func (export "\u{1d756}") (result i32) (i32.const 392))
+ (func (export "\u{1d790}") (result i32) (i32.const 393))
+ (func (export "\u{2376}") (result i32) (i32.const 394))
+ (func (export "\u{237a}") (result i32) (i32.const 395))
+ (func (export "\u{2a5c}") (result i32) (i32.const 396))
+ (func (export "\u{15c5}") (result i32) (i32.const 397))
+ (func (export "\u{13aa}") (result i32) (i32.const 398))
+
+ ;; Test unmatched "closing" and "opening" code points.
+ (func (export ")\u{2fa}\u{2fc}\u{145cf}\u{1d174}\u{1d176}\u{1d178}\u{1d17a}\u{207e}\u{208e}\u{2769}\u{276b}\u{27ef}\u{fd3f}\u{fe36}\u{fe5a}\u{ff09}\u{ff60}\u{e0029}\u{2773}\u{2775}\u{27e7}\u{27e9}\u{27eb}\u{27ed}\u{2988}\u{298a}\u{2996}\u{2e23}\u{2e25}\u{fe18}\u{fe38}\u{fe3a}\u{fe3c}\u{fe3e}\u{fe40}\u{fe42}\u{fe44}\u{fe48}\u{fe5c}\u{fe5e}\u{ff3d}\u{ff5d}\u{ff63}\u{e005d}\u{e007d}\u{bb}\u{2019}\u{201d}\u{203a}\u{276f}") (result i32) (i32.const 399))
+ (func (export "(\u{2f9}\u{2fb}\u{145ce}\u{1d173}\u{1d175}\u{1d177}\u{1d179}\u{207d}\u{208d}\u{2768}\u{276a}\u{27ee}\u{fd3e}\u{fe35}\u{fe59}\u{ff08}\u{ff5f}\u{e0028}\u{2772}\u{2774}\u{27e6}\u{27e8}\u{27ea}\u{27ec}\u{2987}\u{2989}\u{2995}\u{2e22}\u{2e24}\u{fe17}\u{fe37}\u{fe39}\u{fe3b}\u{fe3d}\u{fe3f}\u{fe41}\u{fe43}\u{fe47}\u{fe5b}\u{fe5d}\u{ff3b}\u{ff5b}\u{ff62}\u{e005b}\u{e007b}\u{ab}\u{2018}\u{201c}\u{2039}\u{276e}") (result i32) (i32.const 400))
+ (func (export "\u{1da8b}\u{1daa4}") (result i32) (i32.const 401))
+ (func (export "\u{1da8b}") (result i32) (i32.const 402))
+
+ ;; Test that Unicode fraction normalization is not applied.
+ (func (export "\u{bd}") (result i32) (i32.const 403))
+ (func (export "1\u{2044}2") (result i32) (i32.const 404))
+ (func (export "1/2") (result i32) (i32.const 405))
+ (func (export "\u{b73}") (result i32) (i32.const 406))
+ (func (export "\u{d74}") (result i32) (i32.const 407))
+ (func (export "\u{2cfd}") (result i32) (i32.const 408))
+ (func (export "\u{a831}") (result i32) (i32.const 409))
+ (func (export "\u{10141}") (result i32) (i32.const 410))
+ (func (export "\u{10175}") (result i32) (i32.const 411))
+ (func (export "\u{10176}") (result i32) (i32.const 412))
+ (func (export "\u{109bd}") (result i32) (i32.const 413))
+ (func (export "\u{10e7b}") (result i32) (i32.const 414))
+
+ ;; Test a full-width quote.
+ (func (export "\u{ff02}") (result i32) (i32.const 415))
+
+ ;; Test that different present and historical representations of the "delete"
+ ;; concept are distinct.
+ (func (export "\\7f") (result i32) (i32.const 416))
+ (func (export "\\08") (result i32) (i32.const 417))
+ (func (export "\u{232b}") (result i32) (i32.const 418))
+ (func (export "\u{2326}") (result i32) (i32.const 419))
+ (func (export "\u{2408}") (result i32) (i32.const 420))
+ (func (export "\u{2421}") (result i32) (i32.const 421))
+ (func (export "\u{1dfb}") (result i32) (i32.const 422))
+ (func (export "\\0f") (result i32) (i32.const 423))
+ (func (export "\u{2190}") (result i32) (i32.const 424))
+ (func (export "\u{2327}") (result i32) (i32.const 425))
+ (func (export "\u{2352}") (result i32) (i32.const 426))
+ (func (export "\u{2354}") (result i32) (i32.const 427))
+ (func (export "\u{2362}") (result i32) (i32.const 428))
+ (func (export "\u{236b}") (result i32) (i32.const 429))
+
+ ;; Test that different representations of the "substitute" concept are
+ ;; distinct. (U+FFFD is covered above.)
+ (func (export "\\1a") (result i32) (i32.const 430))
+ (func (export "\u{2426}") (result i32) (i32.const 431))
+ (func (export "\u{241a}") (result i32) (i32.const 432))
+ (func (export "\u{fffc}") (result i32) (i32.const 433))
+ (func (export "?") (result i32) (i32.const 434))
+ (func (export "\u{bf}") (result i32) (i32.const 435))
+ (func (export "\u{1945}") (result i32) (i32.const 436))
+ (func (export "\u{37e}") (result i32) (i32.const 437))
+ (func (export "\u{55e}") (result i32) (i32.const 438))
+ (func (export "\u{61f}") (result i32) (i32.const 439))
+ (func (export "\u{1367}") (result i32) (i32.const 440))
+ (func (export "\u{2047}") (result i32) (i32.const 441))
+ (func (export "\u{2370}") (result i32) (i32.const 442))
+ (func (export "\u{2753}") (result i32) (i32.const 443))
+ (func (export "\u{2754}") (result i32) (i32.const 444))
+ (func (export "\u{2cfa}") (result i32) (i32.const 445))
+ (func (export "\u{2cfb}") (result i32) (i32.const 446))
+ (func (export "\u{2e2e}") (result i32) (i32.const 447))
+ (func (export "\u{3244}") (result i32) (i32.const 448))
+ (func (export "\u{a60f}") (result i32) (i32.const 449))
+ (func (export "\u{a6f7}") (result i32) (i32.const 450))
+ (func (export "\u{fe16}") (result i32) (i32.const 451))
+ (func (export "\u{fe56}") (result i32) (i32.const 452))
+ (func (export "\u{ff1f}") (result i32) (i32.const 453))
+ (func (export "\u{11143}") (result i32) (i32.const 454))
+ (func (export "\u{1e95f}") (result i32) (i32.const 455))
+ (func (export "\u{e003f}") (result i32) (i32.const 456))
+ (func (export "\u{16844}") (result i32) (i32.const 457))
+ (func (export "\u{2bd1}") (result i32) (i32.const 458))
+
+ ;; Test that different present and historical representations of the
+ ;; "paragraph" concept are distinct. (U+2029 is covered above).
+ (func (export "\u{b6}") (result i32) (i32.const 459))
+ (func (export "\u{204b}") (result i32) (i32.const 460))
+ (func (export "\u{700}") (result i32) (i32.const 461))
+ (func (export "\u{10fb}") (result i32) (i32.const 462))
+ (func (export "\u{1368}") (result i32) (i32.const 463))
+ (func (export "\u{3037}") (result i32) (i32.const 464))
+ (func (export "\u{2761}") (result i32) (i32.const 465))
+ (func (export "\u{2e0f}") (result i32) (i32.const 466))
+ (func (export "\u{2e10}") (result i32) (i32.const 467))
+ (func (export "\u{2e11}") (result i32) (i32.const 468))
+ (func (export "\u{2e0e}") (result i32) (i32.const 469))
+ (func (export "\\14") (result i32) (i32.const 470)) ;; \u{b6} in CP437
+ (func (export "\u{2619}") (result i32) (i32.const 471))
+ (func (export "\u{2e3f}") (result i32) (i32.const 472))
+ (func (export "\u{3007}") (result i32) (i32.const 473))
+ (func (export "\u{e5b}") (result i32) (i32.const 474))
+
+ ;; Test an unusual character.
+ (func (export "\u{a66e}") (result i32) (i32.const 475))
+
+ ;; Test the three characters whose normalization forms under NFC, NFD, NFKC,
+ ;; and NFKD are all different.
+ ;; http://unicode.org/faq/normalization.html#6
+ (func (export "\u{3d3}") (result i32) (i32.const 476))
+ (func (export "\u{3d4}") (result i32) (i32.const 477))
+ (func (export "\u{1e9b}") (result i32) (i32.const 478))
+)`);
+
+// ./test/core/names.wast:615
+assert_return(() => invoke($2, ``, []), [value("i32", 0)]);
+
+// ./test/core/names.wast:616
+assert_return(() => invoke($2, `0`, []), [value("i32", 1)]);
+
+// ./test/core/names.wast:617
+assert_return(() => invoke($2, `-0`, []), [value("i32", 2)]);
+
+// ./test/core/names.wast:618
+assert_return(() => invoke($2, `_`, []), [value("i32", 3)]);
+
+// ./test/core/names.wast:619
+assert_return(() => invoke($2, `$$`, []), [value("i32", 4)]);
+
+// ./test/core/names.wast:620
+assert_return(() => invoke($2, `@`, []), [value("i32", 5)]);
+
+// ./test/core/names.wast:621
+assert_return(() => invoke($2, `~!@#$$%^&*()_+\`-={}|[]\\:";'<>?,./ `, []), [value("i32", 6)]);
+
+// ./test/core/names.wast:622
+assert_return(() => invoke($2, `NaN`, []), [value("i32", 7)]);
+
+// ./test/core/names.wast:623
+assert_return(() => invoke($2, `Infinity`, []), [value("i32", 8)]);
+
+// ./test/core/names.wast:624
+assert_return(() => invoke($2, `if`, []), [value("i32", 9)]);
+
+// ./test/core/names.wast:625
+assert_return(() => invoke($2, `malloc`, []), [value("i32", 10)]);
+
+// ./test/core/names.wast:626
+assert_return(() => invoke($2, `_malloc`, []), [value("i32", 11)]);
+
+// ./test/core/names.wast:627
+assert_return(() => invoke($2, `__malloc`, []), [value("i32", 12)]);
+
+// ./test/core/names.wast:628
+assert_return(() => invoke($2, `a`, []), [value("i32", 13)]);
+
+// ./test/core/names.wast:629
+assert_return(() => invoke($2, `A`, []), [value("i32", 14)]);
+
+// ./test/core/names.wast:630
+assert_return(() => invoke($2, `\u{feff}`, []), [value("i32", 15)]);
+
+// ./test/core/names.wast:631
+assert_return(() => invoke($2, `\u{c5}`, []), [value("i32", 16)]);
+
+// ./test/core/names.wast:632
+assert_return(() => invoke($2, `A\u{30a}`, []), [value("i32", 17)]);
+
+// ./test/core/names.wast:633
+assert_return(() => invoke($2, `\u{212b}`, []), [value("i32", 18)]);
+
+// ./test/core/names.wast:634
+assert_return(() => invoke($2, `\u{fb03}`, []), [value("i32", 19)]);
+
+// ./test/core/names.wast:635
+assert_return(() => invoke($2, `f\u{fb01}`, []), [value("i32", 20)]);
+
+// ./test/core/names.wast:636
+assert_return(() => invoke($2, `ffi`, []), [value("i32", 21)]);
+
+// ./test/core/names.wast:637
+assert_return(
+ () => invoke($2, `\x00\x01\x02\x03\x04\x05\x06\x07\x08
+\x0b\x0c\x0d\x0e\x0f`, []),
+ [value("i32", 22)],
+);
+
+// ./test/core/names.wast:638
+assert_return(
+ () => invoke($2, `\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f`, []),
+ [value("i32", 23)],
+);
+
+// ./test/core/names.wast:639
+assert_return(() => invoke($2, ` \x7f`, []), [value("i32", 24)]);
+
+// ./test/core/names.wast:640
+assert_return(
+ () => invoke($2,
+ `\u{80}\u{81}\u{82}\u{83}\u{84}\u{85}\u{86}\u{87}\u{88}\u{89}\u{8a}\u{8b}\u{8c}\u{8d}\u{8e}\u{8f}`,
+ [],
+ ),
+ [value("i32", 25)],
+);
+
+// ./test/core/names.wast:641
+assert_return(
+ () => invoke($2,
+ `\u{90}\u{91}\u{92}\u{93}\u{94}\u{95}\u{96}\u{97}\u{98}\u{99}\u{9a}\u{9b}\u{9c}\u{9d}\u{9e}\u{9f}`,
+ [],
+ ),
+ [value("i32", 26)],
+);
+
+// ./test/core/names.wast:642
+assert_return(
+ () => invoke($2, `\u{fff0}\u{fff1}\u{fff2}\u{fff3}\u{fff4}\u{fff5}\u{fff6}\u{fff7}`, []),
+ [value("i32", 27)],
+);
+
+// ./test/core/names.wast:643
+assert_return(
+ () => invoke($2, `\u{fff8}\u{fff9}\u{fffa}\u{fffb}\u{fffc}\u{fffd}\u{fffe}\u{ffff}`, []),
+ [value("i32", 28)],
+);
+
+// ./test/core/names.wast:644
+assert_return(
+ () => invoke($2,
+ `\u{2400}\u{2401}\u{2402}\u{2403}\u{2404}\u{2405}\u{2406}\u{2407}\u{2408}\u{2409}\u{240a}\u{240b}\u{240c}\u{240d}\u{240e}\u{240f}`,
+ [],
+ ),
+ [value("i32", 29)],
+);
+
+// ./test/core/names.wast:645
+assert_return(
+ () => invoke($2,
+ `\u{2410}\u{2411}\u{2412}\u{2413}\u{2414}\u{2415}\u{2416}\u{2417}\u{2418}\u{2419}\u{241a}\u{241b}\u{241c}\u{241d}\u{241e}\u{241f}`,
+ [],
+ ),
+ [value("i32", 30)],
+);
+
+// ./test/core/names.wast:646
+assert_return(() => invoke($2, `\u{2420}\u{2421}`, []), [value("i32", 31)]);
+
+// ./test/core/names.wast:647
+assert_return(
+ () => invoke($2,
+ `\u{fff0}\u{fff1}\u{fff2}\u{fff3}\u{fff4}\u{fff5}\u{fff6}\u{fff7}\u{fff8}\u{fff9}\u{fffa}\u{fffb}\u{fffc}\u{fffd}`,
+ [],
+ ),
+ [value("i32", 32)],
+);
+
+// ./test/core/names.wast:648
+assert_return(() => invoke($2, `\u{200d}`, []), [value("i32", 33)]);
+
+// ./test/core/names.wast:649
+assert_return(() => invoke($2, `\u{200c}`, []), [value("i32", 34)]);
+
+// ./test/core/names.wast:650
+assert_return(() => invoke($2, `\u{34f}`, []), [value("i32", 35)]);
+
+// ./test/core/names.wast:651
+assert_return(() => invoke($2, `\u{2060}`, []), [value("i32", 36)]);
+
+// ./test/core/names.wast:652
+assert_return(() => invoke($2, `\u{2d7f}`, []), [value("i32", 37)]);
+
+// ./test/core/names.wast:653
+assert_return(() => invoke($2, `\u{1107f}`, []), [value("i32", 38)]);
+
+// ./test/core/names.wast:654
+assert_return(() => invoke($2, `\u{180e}`, []), [value("i32", 39)]);
+
+// ./test/core/names.wast:655
+assert_return(
+ () => invoke($2, `\u{ffef}\u{200b}\u{a0}\u{ad}\u{2060}\u{1680}\u{202e}\u{202d}`, []),
+ [value("i32", 40)],
+);
+
+// ./test/core/names.wast:656
+assert_return(
+ () => invoke($2,
+ `\u{200e}\u{200f}\u{2011}\u{2028}\u{2029}\u{202a}\u{202b}\u{202c}\u{202f}\u{2066}\u{2067}\u{2068}\u{2069}`,
+ [],
+ ),
+ [value("i32", 41)],
+);
+
+// ./test/core/names.wast:657
+assert_return(
+ () => invoke($2, `\u{206a}\u{206b}\u{206c}\u{206d}\u{206e}\u{206f}`, []),
+ [value("i32", 42)],
+);
+
+// ./test/core/names.wast:658
+assert_return(() => invoke($2, `\u{2061}\u{2062}\u{2063}\u{2064}`, []), [value("i32", 43)]);
+
+// ./test/core/names.wast:659
+assert_return(() => invoke($2, `\u{10000}\u{dffff}\u{10ffff}`, []), [value("i32", 44)]);
+
+// ./test/core/names.wast:660
+assert_return(
+ () => invoke($2,
+ `Z\u{30f}\u{346}\u{306}\u{35b}\u{34c}\u{334}\u{358}\u{35e}\u{347}\u{32b}\u{325}\u{32a}\u{353}\u{348}\u{354}\u{34e}\u{317}\u{31e}\u{33a}\u{32f}\u{331}\u{31e}\u{319}\u{331}\u{31c}\u{316}\u{320}a\u{357}\u{368}\u{30e}\u{304}\u{306}\u{357}\u{33f}\u{361}\u{35f}\u{340}\u{336}\u{341}\u{325}\u{330}\u{333}\u{32d}\u{359}\u{332}\u{331}\u{339}\u{31d}\u{34e}\u{33c}l\u{344}\u{34a}\u{31a}\u{357}\u{366}\u{344}\u{36b}\u{307}\u{341}\u{336}\u{337}\u{349}\u{329}\u{339}\u{32b}\u{31d}\u{356}\u{345}\u{319}\u{332}\u{33c}\u{347}\u{35a}\u{34d}\u{32e}\u{34e}\u{325}\u{345}\u{31e}g\u{343}\u{310}\u{305}\u{36e}\u{314}\u{310}\u{30e}\u{302}\u{30f}\u{33e}\u{34a}\u{30d}\u{34b}\u{34a}\u{367}\u{301}\u{306}\u{366}\u{35e}\u{336}\u{355}\u{354}\u{35a}\u{329}o\u{34b}\u{314}\u{350}\u{36a}\u{369}\u{321}\u{34f}\u{322}\u{327}\u{341}\u{32b}\u{319}\u{324}\u{32e}\u{356}\u{359}\u{353}\u{33a}\u{31c}\u{329}\u{33c}\u{318}\u{320}`,
+ [],
+ ),
+ [value("i32", 45)],
+);
+
+// ./test/core/names.wast:661
+assert_return(() => invoke($2, `\u{115f}\u{1160}\u{3164}\u{ffa0}`, []), [value("i32", 46)]);
+
+// ./test/core/names.wast:662
+assert_return(() => invoke($2, `\u{fe00}`, []), [value("i32", 47)]);
+
+// ./test/core/names.wast:663
+assert_return(() => invoke($2, `\u{fe04}`, []), [value("i32", 48)]);
+
+// ./test/core/names.wast:664
+assert_return(() => invoke($2, `\u{e0100}`, []), [value("i32", 49)]);
+
+// ./test/core/names.wast:665
+assert_return(() => invoke($2, `\u{e01ef}`, []), [value("i32", 50)]);
+
+// ./test/core/names.wast:666
+assert_return(() => invoke($2, `\u{308}`, []), [value("i32", 51)]);
+
+// ./test/core/names.wast:667
+assert_return(() => invoke($2, `
+`, []), [value("i32", 52)]);
+
+// ./test/core/names.wast:668
+assert_return(() => invoke($2, `\u{2424}`, []), [value("i32", 53)]);
+
+// ./test/core/names.wast:669
+assert_return(() => invoke($2, `\u{2028}`, []), [value("i32", 54)]);
+
+// ./test/core/names.wast:670
+assert_return(() => invoke($2, `\x0d`, []), [value("i32", 55)]);
+
+// ./test/core/names.wast:671
+assert_return(() => invoke($2, `\x0d
+`, []), [value("i32", 56)]);
+
+// ./test/core/names.wast:672
+assert_return(() => invoke($2, `
+\x0d`, []), [value("i32", 57)]);
+
+// ./test/core/names.wast:673
+assert_return(() => invoke($2, `\x1e`, []), [value("i32", 58)]);
+
+// ./test/core/names.wast:674
+assert_return(() => invoke($2, `\x0b`, []), [value("i32", 59)]);
+
+// ./test/core/names.wast:675
+assert_return(() => invoke($2, `\x0c`, []), [value("i32", 60)]);
+
+// ./test/core/names.wast:676
+assert_return(() => invoke($2, `\u{85}`, []), [value("i32", 61)]);
+
+// ./test/core/names.wast:677
+assert_return(() => invoke($2, `\u{2029}`, []), [value("i32", 62)]);
+
+// ./test/core/names.wast:678
+assert_return(() => invoke($2, `\u{2026}`, []), [value("i32", 63)]);
+
+// ./test/core/names.wast:679
+assert_return(() => invoke($2, `\u{23ce}`, []), [value("i32", 64)]);
+
+// ./test/core/names.wast:680
+assert_return(() => invoke($2, `\u{8b}`, []), [value("i32", 65)]);
+
+// ./test/core/names.wast:681
+assert_return(() => invoke($2, `\u{8c}`, []), [value("i32", 66)]);
+
+// ./test/core/names.wast:682
+assert_return(() => invoke($2, `\u{8d}`, []), [value("i32", 67)]);
+
+// ./test/core/names.wast:683
+assert_return(() => invoke($2, `\u{21b5}`, []), [value("i32", 68)]);
+
+// ./test/core/names.wast:684
+assert_return(() => invoke($2, `\u{21a9}`, []), [value("i32", 69)]);
+
+// ./test/core/names.wast:685
+assert_return(() => invoke($2, `\u{2324}`, []), [value("i32", 70)]);
+
+// ./test/core/names.wast:686
+assert_return(() => invoke($2, `\u{2936}`, []), [value("i32", 71)]);
+
+// ./test/core/names.wast:687
+assert_return(() => invoke($2, `\u{21b2}`, []), [value("i32", 72)]);
+
+// ./test/core/names.wast:688
+assert_return(() => invoke($2, `\u{2ba8}`, []), [value("i32", 73)]);
+
+// ./test/core/names.wast:689
+assert_return(() => invoke($2, `\u{2bb0}`, []), [value("i32", 74)]);
+
+// ./test/core/names.wast:690
+assert_return(() => invoke($2, `\u{fffd}`, []), [value("i32", 75)]);
+
+// ./test/core/names.wast:691
+assert_return(() => invoke($2, `\u{fdd0}`, []), [value("i32", 76)]);
+
+// ./test/core/names.wast:692
+assert_return(() => invoke($2, `\u{fdd1}`, []), [value("i32", 77)]);
+
+// ./test/core/names.wast:693
+assert_return(() => invoke($2, `\u{fdd2}`, []), [value("i32", 78)]);
+
+// ./test/core/names.wast:694
+assert_return(() => invoke($2, `\u{fdd3}`, []), [value("i32", 79)]);
+
+// ./test/core/names.wast:695
+assert_return(() => invoke($2, `\u{fdd4}`, []), [value("i32", 80)]);
+
+// ./test/core/names.wast:696
+assert_return(() => invoke($2, `\u{fdd5}`, []), [value("i32", 81)]);
+
+// ./test/core/names.wast:697
+assert_return(() => invoke($2, `\u{fdd6}`, []), [value("i32", 82)]);
+
+// ./test/core/names.wast:698
+assert_return(() => invoke($2, `\u{fdd7}`, []), [value("i32", 83)]);
+
+// ./test/core/names.wast:699
+assert_return(() => invoke($2, `\u{fdd8}`, []), [value("i32", 84)]);
+
+// ./test/core/names.wast:700
+assert_return(() => invoke($2, `\u{fdd9}`, []), [value("i32", 85)]);
+
+// ./test/core/names.wast:701
+assert_return(() => invoke($2, `\u{fdda}`, []), [value("i32", 86)]);
+
+// ./test/core/names.wast:702
+assert_return(() => invoke($2, `\u{fddb}`, []), [value("i32", 87)]);
+
+// ./test/core/names.wast:703
+assert_return(() => invoke($2, `\u{fddc}`, []), [value("i32", 88)]);
+
+// ./test/core/names.wast:704
+assert_return(() => invoke($2, `\u{fddd}`, []), [value("i32", 89)]);
+
+// ./test/core/names.wast:705
+assert_return(() => invoke($2, `\u{fdde}`, []), [value("i32", 90)]);
+
+// ./test/core/names.wast:706
+assert_return(() => invoke($2, `\u{fddf}`, []), [value("i32", 91)]);
+
+// ./test/core/names.wast:707
+assert_return(() => invoke($2, `\u{fde0}`, []), [value("i32", 92)]);
+
+// ./test/core/names.wast:708
+assert_return(() => invoke($2, `\u{fde1}`, []), [value("i32", 93)]);
+
+// ./test/core/names.wast:709
+assert_return(() => invoke($2, `\u{fde2}`, []), [value("i32", 94)]);
+
+// ./test/core/names.wast:710
+assert_return(() => invoke($2, `\u{fde3}`, []), [value("i32", 95)]);
+
+// ./test/core/names.wast:711
+assert_return(() => invoke($2, `\u{fde4}`, []), [value("i32", 96)]);
+
+// ./test/core/names.wast:712
+assert_return(() => invoke($2, `\u{fde5}`, []), [value("i32", 97)]);
+
+// ./test/core/names.wast:713
+assert_return(() => invoke($2, `\u{fde6}`, []), [value("i32", 98)]);
+
+// ./test/core/names.wast:714
+assert_return(() => invoke($2, `\u{fde7}`, []), [value("i32", 99)]);
+
+// ./test/core/names.wast:715
+assert_return(() => invoke($2, `\u{fde8}`, []), [value("i32", 100)]);
+
+// ./test/core/names.wast:716
+assert_return(() => invoke($2, `\u{fde9}`, []), [value("i32", 101)]);
+
+// ./test/core/names.wast:717
+assert_return(() => invoke($2, `\u{fdea}`, []), [value("i32", 102)]);
+
+// ./test/core/names.wast:718
+assert_return(() => invoke($2, `\u{fdeb}`, []), [value("i32", 103)]);
+
+// ./test/core/names.wast:719
+assert_return(() => invoke($2, `\u{fdec}`, []), [value("i32", 104)]);
+
+// ./test/core/names.wast:720
+assert_return(() => invoke($2, `\u{fded}`, []), [value("i32", 105)]);
+
+// ./test/core/names.wast:721
+assert_return(() => invoke($2, `\u{fdee}`, []), [value("i32", 106)]);
+
+// ./test/core/names.wast:722
+assert_return(() => invoke($2, `\u{fdef}`, []), [value("i32", 107)]);
+
+// ./test/core/names.wast:723
+assert_return(() => invoke($2, `\u{fffe}`, []), [value("i32", 108)]);
+
+// ./test/core/names.wast:724
+assert_return(() => invoke($2, `\u{ffff}`, []), [value("i32", 109)]);
+
+// ./test/core/names.wast:725
+assert_return(() => invoke($2, `\u{1fffe}`, []), [value("i32", 110)]);
+
+// ./test/core/names.wast:726
+assert_return(() => invoke($2, `\u{1ffff}`, []), [value("i32", 111)]);
+
+// ./test/core/names.wast:727
+assert_return(() => invoke($2, `\u{2fffe}`, []), [value("i32", 112)]);
+
+// ./test/core/names.wast:728
+assert_return(() => invoke($2, `\u{2ffff}`, []), [value("i32", 113)]);
+
+// ./test/core/names.wast:729
+assert_return(() => invoke($2, `\u{3fffe}`, []), [value("i32", 114)]);
+
+// ./test/core/names.wast:730
+assert_return(() => invoke($2, `\u{3ffff}`, []), [value("i32", 115)]);
+
+// ./test/core/names.wast:731
+assert_return(() => invoke($2, `\u{4fffe}`, []), [value("i32", 116)]);
+
+// ./test/core/names.wast:732
+assert_return(() => invoke($2, `\u{4ffff}`, []), [value("i32", 117)]);
+
+// ./test/core/names.wast:733
+assert_return(() => invoke($2, `\u{5fffe}`, []), [value("i32", 118)]);
+
+// ./test/core/names.wast:734
+assert_return(() => invoke($2, `\u{5ffff}`, []), [value("i32", 119)]);
+
+// ./test/core/names.wast:735
+assert_return(() => invoke($2, `\u{6fffe}`, []), [value("i32", 120)]);
+
+// ./test/core/names.wast:736
+assert_return(() => invoke($2, `\u{6ffff}`, []), [value("i32", 121)]);
+
+// ./test/core/names.wast:737
+assert_return(() => invoke($2, `\u{7fffe}`, []), [value("i32", 122)]);
+
+// ./test/core/names.wast:738
+assert_return(() => invoke($2, `\u{7ffff}`, []), [value("i32", 123)]);
+
+// ./test/core/names.wast:739
+assert_return(() => invoke($2, `\u{8fffe}`, []), [value("i32", 124)]);
+
+// ./test/core/names.wast:740
+assert_return(() => invoke($2, `\u{8ffff}`, []), [value("i32", 125)]);
+
+// ./test/core/names.wast:741
+assert_return(() => invoke($2, `\u{9fffe}`, []), [value("i32", 126)]);
+
+// ./test/core/names.wast:742
+assert_return(() => invoke($2, `\u{9ffff}`, []), [value("i32", 127)]);
+
+// ./test/core/names.wast:743
+assert_return(() => invoke($2, `\u{afffe}`, []), [value("i32", 128)]);
+
+// ./test/core/names.wast:744
+assert_return(() => invoke($2, `\u{affff}`, []), [value("i32", 129)]);
+
+// ./test/core/names.wast:745
+assert_return(() => invoke($2, `\u{bfffe}`, []), [value("i32", 130)]);
+
+// ./test/core/names.wast:746
+assert_return(() => invoke($2, `\u{bffff}`, []), [value("i32", 131)]);
+
+// ./test/core/names.wast:747
+assert_return(() => invoke($2, `\u{cfffe}`, []), [value("i32", 132)]);
+
+// ./test/core/names.wast:748
+assert_return(() => invoke($2, `\u{cffff}`, []), [value("i32", 133)]);
+
+// ./test/core/names.wast:749
+assert_return(() => invoke($2, `\u{dfffe}`, []), [value("i32", 134)]);
+
+// ./test/core/names.wast:750
+assert_return(() => invoke($2, `\u{dffff}`, []), [value("i32", 135)]);
+
+// ./test/core/names.wast:751
+assert_return(() => invoke($2, `\u{efffe}`, []), [value("i32", 136)]);
+
+// ./test/core/names.wast:752
+assert_return(() => invoke($2, `\u{effff}`, []), [value("i32", 137)]);
+
+// ./test/core/names.wast:753
+assert_return(() => invoke($2, `\u{ffffe}`, []), [value("i32", 138)]);
+
+// ./test/core/names.wast:754
+assert_return(() => invoke($2, `\u{fffff}`, []), [value("i32", 139)]);
+
+// ./test/core/names.wast:755
+assert_return(() => invoke($2, `\u{10fffe}`, []), [value("i32", 140)]);
+
+// ./test/core/names.wast:756
+assert_return(() => invoke($2, `\u{10ffff}`, []), [value("i32", 141)]);
+
+// ./test/core/names.wast:757
+assert_return(() => invoke($2, `\u{308}\u{203d}\u{308}\u{309}`, []), [value("i32", 142)]);
+
+// ./test/core/names.wast:758
+assert_return(() => invoke($2, `abc`, []), [value("i32", 143)]);
+
+// ./test/core/names.wast:759
+assert_return(() => invoke($2, `\u{202d}abc`, []), [value("i32", 144)]);
+
+// ./test/core/names.wast:760
+assert_return(() => invoke($2, `\u{202e}cba`, []), [value("i32", 145)]);
+
+// ./test/core/names.wast:761
+assert_return(() => invoke($2, `\u{202d}abc\u{202e}`, []), [value("i32", 146)]);
+
+// ./test/core/names.wast:762
+assert_return(() => invoke($2, `\u{202e}cba\u{202d}`, []), [value("i32", 147)]);
+
+// ./test/core/names.wast:763
+assert_return(() => invoke($2, `\u{1d468}`, []), [value("i32", 148)]);
+
+// ./test/core/names.wast:764
+assert_return(() => invoke($2, `\u{1d434}`, []), [value("i32", 149)]);
+
+// ./test/core/names.wast:765
+assert_return(() => invoke($2, `\u{1d608}`, []), [value("i32", 150)]);
+
+// ./test/core/names.wast:766
+assert_return(() => invoke($2, `\u{1d63c}`, []), [value("i32", 151)]);
+
+// ./test/core/names.wast:767
+assert_return(() => invoke($2, `\u{1d400}`, []), [value("i32", 152)]);
+
+// ./test/core/names.wast:768
+assert_return(() => invoke($2, `\u{1d4d0}`, []), [value("i32", 153)]);
+
+// ./test/core/names.wast:769
+assert_return(() => invoke($2, `\u{1d56c}`, []), [value("i32", 154)]);
+
+// ./test/core/names.wast:770
+assert_return(() => invoke($2, `\u{1d5d4}`, []), [value("i32", 155)]);
+
+// ./test/core/names.wast:771
+assert_return(() => invoke($2, `\u{1d49c}`, []), [value("i32", 156)]);
+
+// ./test/core/names.wast:772
+assert_return(() => invoke($2, `\u{1d504}`, []), [value("i32", 157)]);
+
+// ./test/core/names.wast:773
+assert_return(() => invoke($2, `\u{1d538}`, []), [value("i32", 158)]);
+
+// ./test/core/names.wast:774
+assert_return(() => invoke($2, `\u{1d5a0}`, []), [value("i32", 159)]);
+
+// ./test/core/names.wast:775
+assert_return(() => invoke($2, `\u{1d670}`, []), [value("i32", 160)]);
+
+// ./test/core/names.wast:776
+assert_return(() => invoke($2, `\u{1d00}`, []), [value("i32", 161)]);
+
+// ./test/core/names.wast:777
+assert_return(() => invoke($2, `\u{1d2c}`, []), [value("i32", 162)]);
+
+// ./test/core/names.wast:778
+assert_return(() => invoke($2, `\u{24b6}`, []), [value("i32", 163)]);
+
+// ./test/core/names.wast:779
+assert_return(() => invoke($2, `\u{ff21}`, []), [value("i32", 164)]);
+
+// ./test/core/names.wast:780
+assert_return(() => invoke($2, `\u{1f110}`, []), [value("i32", 165)]);
+
+// ./test/core/names.wast:781
+assert_return(() => invoke($2, `\u{1f130}`, []), [value("i32", 166)]);
+
+// ./test/core/names.wast:782
+assert_return(() => invoke($2, `\u{e0041}`, []), [value("i32", 167)]);
+
+// ./test/core/names.wast:783
+assert_return(() => invoke($2, `U+0041`, []), [value("i32", 168)]);
+
+// ./test/core/names.wast:784
+assert_return(() => invoke($2, `A\u{200b}`, []), [value("i32", 169)]);
+
+// ./test/core/names.wast:785
+assert_return(() => invoke($2, `\u{410}`, []), [value("i32", 170)]);
+
+// ./test/core/names.wast:786
+assert_return(() => invoke($2, `\u{a656}`, []), [value("i32", 171)]);
+
+// ./test/core/names.wast:787
+assert_return(() => invoke($2, `\u{2dfc}`, []), [value("i32", 172)]);
+
+// ./test/core/names.wast:788
+assert_return(() => invoke($2, `\u{2df6}`, []), [value("i32", 173)]);
+
+// ./test/core/names.wast:789
+assert_return(() => invoke($2, `\u{2c6f}`, []), [value("i32", 174)]);
+
+// ./test/core/names.wast:790
+assert_return(() => invoke($2, `\u{1f150}`, []), [value("i32", 175)]);
+
+// ./test/core/names.wast:791
+assert_return(() => invoke($2, `\u{1f170}`, []), [value("i32", 176)]);
+
+// ./test/core/names.wast:792
+assert_return(() => invoke($2, `\u{2c2d}`, []), [value("i32", 177)]);
+
+// ./test/core/names.wast:793
+assert_return(() => invoke($2, `\u{10402}`, []), [value("i32", 178)]);
+
+// ./test/core/names.wast:794
+assert_return(() => invoke($2, `\u{10408}`, []), [value("i32", 179)]);
+
+// ./test/core/names.wast:795
+assert_return(() => invoke($2, `\u{104b0}`, []), [value("i32", 180)]);
+
+// ./test/core/names.wast:796
+assert_return(() => invoke($2, `\u{c0}`, []), [value("i32", 181)]);
+
+// ./test/core/names.wast:797
+assert_return(() => invoke($2, `\u{c1}`, []), [value("i32", 182)]);
+
+// ./test/core/names.wast:798
+assert_return(() => invoke($2, `\u{c2}`, []), [value("i32", 183)]);
+
+// ./test/core/names.wast:799
+assert_return(() => invoke($2, `\u{c3}`, []), [value("i32", 184)]);
+
+// ./test/core/names.wast:800
+assert_return(() => invoke($2, `\u{c4}`, []), [value("i32", 185)]);
+
+// ./test/core/names.wast:801
+assert_return(() => invoke($2, `\u{100}`, []), [value("i32", 186)]);
+
+// ./test/core/names.wast:802
+assert_return(() => invoke($2, `\u{102}`, []), [value("i32", 187)]);
+
+// ./test/core/names.wast:803
+assert_return(() => invoke($2, `\u{104}`, []), [value("i32", 188)]);
+
+// ./test/core/names.wast:804
+assert_return(() => invoke($2, `\u{1cd}`, []), [value("i32", 189)]);
+
+// ./test/core/names.wast:805
+assert_return(() => invoke($2, `\u{1de}`, []), [value("i32", 190)]);
+
+// ./test/core/names.wast:806
+assert_return(() => invoke($2, `\u{1e0}`, []), [value("i32", 191)]);
+
+// ./test/core/names.wast:807
+assert_return(() => invoke($2, `\u{1fa}`, []), [value("i32", 192)]);
+
+// ./test/core/names.wast:808
+assert_return(() => invoke($2, `\u{200}`, []), [value("i32", 193)]);
+
+// ./test/core/names.wast:809
+assert_return(() => invoke($2, `\u{202}`, []), [value("i32", 194)]);
+
+// ./test/core/names.wast:810
+assert_return(() => invoke($2, `\u{226}`, []), [value("i32", 195)]);
+
+// ./test/core/names.wast:811
+assert_return(() => invoke($2, `\u{23a}`, []), [value("i32", 196)]);
+
+// ./test/core/names.wast:812
+assert_return(() => invoke($2, `\u{4d0}`, []), [value("i32", 197)]);
+
+// ./test/core/names.wast:813
+assert_return(() => invoke($2, `\u{4d2}`, []), [value("i32", 198)]);
+
+// ./test/core/names.wast:814
+assert_return(() => invoke($2, `\u{7ca}`, []), [value("i32", 199)]);
+
+// ./test/core/names.wast:815
+assert_return(() => invoke($2, `\u{821}`, []), [value("i32", 200)]);
+
+// ./test/core/names.wast:816
+assert_return(() => invoke($2, `\u{822}`, []), [value("i32", 201)]);
+
+// ./test/core/names.wast:817
+assert_return(() => invoke($2, `\u{823}`, []), [value("i32", 202)]);
+
+// ./test/core/names.wast:818
+assert_return(() => invoke($2, `\u{824}`, []), [value("i32", 203)]);
+
+// ./test/core/names.wast:819
+assert_return(() => invoke($2, `\u{825}`, []), [value("i32", 204)]);
+
+// ./test/core/names.wast:820
+assert_return(() => invoke($2, `\u{904}`, []), [value("i32", 205)]);
+
+// ./test/core/names.wast:821
+assert_return(() => invoke($2, `\u{905}`, []), [value("i32", 206)]);
+
+// ./test/core/names.wast:822
+assert_return(() => invoke($2, `\u{972}`, []), [value("i32", 207)]);
+
+// ./test/core/names.wast:823
+assert_return(() => invoke($2, `\u{985}`, []), [value("i32", 208)]);
+
+// ./test/core/names.wast:824
+assert_return(() => invoke($2, `\u{a05}`, []), [value("i32", 209)]);
+
+// ./test/core/names.wast:825
+assert_return(() => invoke($2, `\u{a85}`, []), [value("i32", 210)]);
+
+// ./test/core/names.wast:826
+assert_return(() => invoke($2, `\u{b05}`, []), [value("i32", 211)]);
+
+// ./test/core/names.wast:827
+assert_return(() => invoke($2, `\u{b85}`, []), [value("i32", 212)]);
+
+// ./test/core/names.wast:828
+assert_return(() => invoke($2, `\u{c05}`, []), [value("i32", 213)]);
+
+// ./test/core/names.wast:829
+assert_return(() => invoke($2, `\u{c85}`, []), [value("i32", 214)]);
+
+// ./test/core/names.wast:830
+assert_return(() => invoke($2, `\u{d05}`, []), [value("i32", 215)]);
+
+// ./test/core/names.wast:831
+assert_return(() => invoke($2, `\u{e30}`, []), [value("i32", 216)]);
+
+// ./test/core/names.wast:832
+assert_return(() => invoke($2, `\u{eb0}`, []), [value("i32", 217)]);
+
+// ./test/core/names.wast:833
+assert_return(() => invoke($2, `\u{f01}`, []), [value("i32", 218)]);
+
+// ./test/core/names.wast:834
+assert_return(() => invoke($2, `\u{f68}`, []), [value("i32", 219)]);
+
+// ./test/core/names.wast:835
+assert_return(() => invoke($2, `\u{fb8}`, []), [value("i32", 220)]);
+
+// ./test/core/names.wast:836
+assert_return(() => invoke($2, `\u{1021}`, []), [value("i32", 221)]);
+
+// ./test/core/names.wast:837
+assert_return(() => invoke($2, `\u{1022}`, []), [value("i32", 222)]);
+
+// ./test/core/names.wast:838
+assert_return(() => invoke($2, `\u{109c}`, []), [value("i32", 223)]);
+
+// ./test/core/names.wast:839
+assert_return(() => invoke($2, `\u{1161}`, []), [value("i32", 224)]);
+
+// ./test/core/names.wast:840
+assert_return(() => invoke($2, `\u{12a0}`, []), [value("i32", 225)]);
+
+// ./test/core/names.wast:841
+assert_return(() => invoke($2, `\u{12d0}`, []), [value("i32", 226)]);
+
+// ./test/core/names.wast:842
+assert_return(() => invoke($2, `\u{13a0}`, []), [value("i32", 227)]);
+
+// ./test/core/names.wast:843
+assert_return(() => invoke($2, `\u{140a}`, []), [value("i32", 228)]);
+
+// ./test/core/names.wast:844
+assert_return(() => invoke($2, `\u{15b3}`, []), [value("i32", 229)]);
+
+// ./test/core/names.wast:845
+assert_return(() => invoke($2, `\u{16a8}`, []), [value("i32", 230)]);
+
+// ./test/core/names.wast:846
+assert_return(() => invoke($2, `\u{16aa}`, []), [value("i32", 231)]);
+
+// ./test/core/names.wast:847
+assert_return(() => invoke($2, `\u{16c6}`, []), [value("i32", 232)]);
+
+// ./test/core/names.wast:848
+assert_return(() => invoke($2, `\u{1700}`, []), [value("i32", 233)]);
+
+// ./test/core/names.wast:849
+assert_return(() => invoke($2, `\u{1720}`, []), [value("i32", 234)]);
+
+// ./test/core/names.wast:850
+assert_return(() => invoke($2, `\u{1740}`, []), [value("i32", 235)]);
+
+// ./test/core/names.wast:851
+assert_return(() => invoke($2, `\u{1760}`, []), [value("i32", 236)]);
+
+// ./test/core/names.wast:852
+assert_return(() => invoke($2, `\u{1820}`, []), [value("i32", 237)]);
+
+// ./test/core/names.wast:853
+assert_return(() => invoke($2, `\u{1887}`, []), [value("i32", 238)]);
+
+// ./test/core/names.wast:854
+assert_return(() => invoke($2, `\u{1920}`, []), [value("i32", 239)]);
+
+// ./test/core/names.wast:855
+assert_return(() => invoke($2, `\u{1963}`, []), [value("i32", 240)]);
+
+// ./test/core/names.wast:856
+assert_return(() => invoke($2, `\u{1a15}`, []), [value("i32", 241)]);
+
+// ./test/core/names.wast:857
+assert_return(() => invoke($2, `\u{1a4b}`, []), [value("i32", 242)]);
+
+// ./test/core/names.wast:858
+assert_return(() => invoke($2, `\u{1a61}`, []), [value("i32", 243)]);
+
+// ./test/core/names.wast:859
+assert_return(() => invoke($2, `\u{1b83}`, []), [value("i32", 244)]);
+
+// ./test/core/names.wast:860
+assert_return(() => invoke($2, `\u{1bc0}`, []), [value("i32", 245)]);
+
+// ./test/core/names.wast:861
+assert_return(() => invoke($2, `\u{1bc1}`, []), [value("i32", 246)]);
+
+// ./test/core/names.wast:862
+assert_return(() => invoke($2, `\u{1c23}`, []), [value("i32", 247)]);
+
+// ./test/core/names.wast:863
+assert_return(() => invoke($2, `\u{1e00}`, []), [value("i32", 248)]);
+
+// ./test/core/names.wast:864
+assert_return(() => invoke($2, `\u{1ea0}`, []), [value("i32", 249)]);
+
+// ./test/core/names.wast:865
+assert_return(() => invoke($2, `\u{1ea2}`, []), [value("i32", 250)]);
+
+// ./test/core/names.wast:866
+assert_return(() => invoke($2, `\u{1ea4}`, []), [value("i32", 251)]);
+
+// ./test/core/names.wast:867
+assert_return(() => invoke($2, `\u{1ea6}`, []), [value("i32", 252)]);
+
+// ./test/core/names.wast:868
+assert_return(() => invoke($2, `\u{1ea8}`, []), [value("i32", 253)]);
+
+// ./test/core/names.wast:869
+assert_return(() => invoke($2, `\u{1eaa}`, []), [value("i32", 254)]);
+
+// ./test/core/names.wast:870
+assert_return(() => invoke($2, `\u{1eac}`, []), [value("i32", 255)]);
+
+// ./test/core/names.wast:871
+assert_return(() => invoke($2, `\u{1eae}`, []), [value("i32", 256)]);
+
+// ./test/core/names.wast:872
+assert_return(() => invoke($2, `\u{1eb0}`, []), [value("i32", 257)]);
+
+// ./test/core/names.wast:873
+assert_return(() => invoke($2, `\u{1eb2}`, []), [value("i32", 258)]);
+
+// ./test/core/names.wast:874
+assert_return(() => invoke($2, `\u{1eb4}`, []), [value("i32", 259)]);
+
+// ./test/core/names.wast:875
+assert_return(() => invoke($2, `\u{1eb6}`, []), [value("i32", 260)]);
+
+// ./test/core/names.wast:876
+assert_return(() => invoke($2, `\u{3042}`, []), [value("i32", 261)]);
+
+// ./test/core/names.wast:877
+assert_return(() => invoke($2, `\u{30a2}`, []), [value("i32", 262)]);
+
+// ./test/core/names.wast:878
+assert_return(() => invoke($2, `\u{311a}`, []), [value("i32", 263)]);
+
+// ./test/core/names.wast:879
+assert_return(() => invoke($2, `\u{314f}`, []), [value("i32", 264)]);
+
+// ./test/core/names.wast:880
+assert_return(() => invoke($2, `\u{320e}`, []), [value("i32", 265)]);
+
+// ./test/core/names.wast:881
+assert_return(() => invoke($2, `\u{320f}`, []), [value("i32", 266)]);
+
+// ./test/core/names.wast:882
+assert_return(() => invoke($2, `\u{3210}`, []), [value("i32", 267)]);
+
+// ./test/core/names.wast:883
+assert_return(() => invoke($2, `\u{3211}`, []), [value("i32", 268)]);
+
+// ./test/core/names.wast:884
+assert_return(() => invoke($2, `\u{3212}`, []), [value("i32", 269)]);
+
+// ./test/core/names.wast:885
+assert_return(() => invoke($2, `\u{3213}`, []), [value("i32", 270)]);
+
+// ./test/core/names.wast:886
+assert_return(() => invoke($2, `\u{3214}`, []), [value("i32", 271)]);
+
+// ./test/core/names.wast:887
+assert_return(() => invoke($2, `\u{3215}`, []), [value("i32", 272)]);
+
+// ./test/core/names.wast:888
+assert_return(() => invoke($2, `\u{3216}`, []), [value("i32", 273)]);
+
+// ./test/core/names.wast:889
+assert_return(() => invoke($2, `\u{3217}`, []), [value("i32", 274)]);
+
+// ./test/core/names.wast:890
+assert_return(() => invoke($2, `\u{3218}`, []), [value("i32", 275)]);
+
+// ./test/core/names.wast:891
+assert_return(() => invoke($2, `\u{3219}`, []), [value("i32", 276)]);
+
+// ./test/core/names.wast:892
+assert_return(() => invoke($2, `\u{321a}`, []), [value("i32", 277)]);
+
+// ./test/core/names.wast:893
+assert_return(() => invoke($2, `\u{321b}`, []), [value("i32", 278)]);
+
+// ./test/core/names.wast:894
+assert_return(() => invoke($2, `\u{326e}`, []), [value("i32", 279)]);
+
+// ./test/core/names.wast:895
+assert_return(() => invoke($2, `\u{326f}`, []), [value("i32", 280)]);
+
+// ./test/core/names.wast:896
+assert_return(() => invoke($2, `\u{3270}`, []), [value("i32", 281)]);
+
+// ./test/core/names.wast:897
+assert_return(() => invoke($2, `\u{3271}`, []), [value("i32", 282)]);
+
+// ./test/core/names.wast:898
+assert_return(() => invoke($2, `\u{3272}`, []), [value("i32", 283)]);
+
+// ./test/core/names.wast:899
+assert_return(() => invoke($2, `\u{3273}`, []), [value("i32", 284)]);
+
+// ./test/core/names.wast:900
+assert_return(() => invoke($2, `\u{3274}`, []), [value("i32", 285)]);
+
+// ./test/core/names.wast:901
+assert_return(() => invoke($2, `\u{3275}`, []), [value("i32", 286)]);
+
+// ./test/core/names.wast:902
+assert_return(() => invoke($2, `\u{3276}`, []), [value("i32", 287)]);
+
+// ./test/core/names.wast:903
+assert_return(() => invoke($2, `\u{3277}`, []), [value("i32", 288)]);
+
+// ./test/core/names.wast:904
+assert_return(() => invoke($2, `\u{3278}`, []), [value("i32", 289)]);
+
+// ./test/core/names.wast:905
+assert_return(() => invoke($2, `\u{3279}`, []), [value("i32", 290)]);
+
+// ./test/core/names.wast:906
+assert_return(() => invoke($2, `\u{327a}`, []), [value("i32", 291)]);
+
+// ./test/core/names.wast:907
+assert_return(() => invoke($2, `\u{327b}`, []), [value("i32", 292)]);
+
+// ./test/core/names.wast:908
+assert_return(() => invoke($2, `\u{32d0}`, []), [value("i32", 293)]);
+
+// ./test/core/names.wast:909
+assert_return(() => invoke($2, `\u{a00a}`, []), [value("i32", 294)]);
+
+// ./test/core/names.wast:910
+assert_return(() => invoke($2, `\u{a4ee}`, []), [value("i32", 295)]);
+
+// ./test/core/names.wast:911
+assert_return(() => invoke($2, `\u{a549}`, []), [value("i32", 296)]);
+
+// ./test/core/names.wast:912
+assert_return(() => invoke($2, `\u{a6a0}`, []), [value("i32", 297)]);
+
+// ./test/core/names.wast:913
+assert_return(() => invoke($2, `\u{a800}`, []), [value("i32", 298)]);
+
+// ./test/core/names.wast:914
+assert_return(() => invoke($2, `\u{a823}`, []), [value("i32", 299)]);
+
+// ./test/core/names.wast:915
+assert_return(() => invoke($2, `\u{a85d}`, []), [value("i32", 300)]);
+
+// ./test/core/names.wast:916
+assert_return(() => invoke($2, `\u{a882}`, []), [value("i32", 301)]);
+
+// ./test/core/names.wast:917
+assert_return(() => invoke($2, `\u{a8ea}`, []), [value("i32", 302)]);
+
+// ./test/core/names.wast:918
+assert_return(() => invoke($2, `\u{a922}`, []), [value("i32", 303)]);
+
+// ./test/core/names.wast:919
+assert_return(() => invoke($2, `\u{a946}`, []), [value("i32", 304)]);
+
+// ./test/core/names.wast:920
+assert_return(() => invoke($2, `\u{a984}`, []), [value("i32", 305)]);
+
+// ./test/core/names.wast:921
+assert_return(() => invoke($2, `\u{aa00}`, []), [value("i32", 306)]);
+
+// ./test/core/names.wast:922
+assert_return(() => invoke($2, `\u{ff71}`, []), [value("i32", 307)]);
+
+// ./test/core/names.wast:923
+assert_return(() => invoke($2, `\u{ffc2}`, []), [value("i32", 308)]);
+
+// ./test/core/names.wast:924
+assert_return(() => invoke($2, `\u{10000}`, []), [value("i32", 309)]);
+
+// ./test/core/names.wast:925
+assert_return(() => invoke($2, `\u{10280}`, []), [value("i32", 310)]);
+
+// ./test/core/names.wast:926
+assert_return(() => invoke($2, `\u{102a0}`, []), [value("i32", 311)]);
+
+// ./test/core/names.wast:927
+assert_return(() => invoke($2, `\u{10300}`, []), [value("i32", 312)]);
+
+// ./test/core/names.wast:928
+assert_return(() => invoke($2, `\u{103a0}`, []), [value("i32", 313)]);
+
+// ./test/core/names.wast:929
+assert_return(() => invoke($2, `\u{10496}`, []), [value("i32", 314)]);
+
+// ./test/core/names.wast:930
+assert_return(() => invoke($2, `\u{10500}`, []), [value("i32", 315)]);
+
+// ./test/core/names.wast:931
+assert_return(() => invoke($2, `\u{10740}`, []), [value("i32", 316)]);
+
+// ./test/core/names.wast:932
+assert_return(() => invoke($2, `\u{10800}`, []), [value("i32", 317)]);
+
+// ./test/core/names.wast:933
+assert_return(() => invoke($2, `\u{10920}`, []), [value("i32", 318)]);
+
+// ./test/core/names.wast:934
+assert_return(() => invoke($2, `\u{10980}`, []), [value("i32", 319)]);
+
+// ./test/core/names.wast:935
+assert_return(() => invoke($2, `\u{109a0}`, []), [value("i32", 320)]);
+
+// ./test/core/names.wast:936
+assert_return(() => invoke($2, `\u{10a00}`, []), [value("i32", 321)]);
+
+// ./test/core/names.wast:937
+assert_return(() => invoke($2, `\u{10b00}`, []), [value("i32", 322)]);
+
+// ./test/core/names.wast:938
+assert_return(() => invoke($2, `\u{10c00}`, []), [value("i32", 323)]);
+
+// ./test/core/names.wast:939
+assert_return(() => invoke($2, `\u{10c01}`, []), [value("i32", 324)]);
+
+// ./test/core/names.wast:940
+assert_return(() => invoke($2, `\u{10c80}`, []), [value("i32", 325)]);
+
+// ./test/core/names.wast:941
+assert_return(() => invoke($2, `\u{11005}`, []), [value("i32", 326)]);
+
+// ./test/core/names.wast:942
+assert_return(() => invoke($2, `\u{11083}`, []), [value("i32", 327)]);
+
+// ./test/core/names.wast:943
+assert_return(() => invoke($2, `\u{11127}`, []), [value("i32", 328)]);
+
+// ./test/core/names.wast:944
+assert_return(() => invoke($2, `\u{11150}`, []), [value("i32", 329)]);
+
+// ./test/core/names.wast:945
+assert_return(() => invoke($2, `\u{11183}`, []), [value("i32", 330)]);
+
+// ./test/core/names.wast:946
+assert_return(() => invoke($2, `\u{11200}`, []), [value("i32", 331)]);
+
+// ./test/core/names.wast:947
+assert_return(() => invoke($2, `\u{11280}`, []), [value("i32", 332)]);
+
+// ./test/core/names.wast:948
+assert_return(() => invoke($2, `\u{112b0}`, []), [value("i32", 333)]);
+
+// ./test/core/names.wast:949
+assert_return(() => invoke($2, `\u{11305}`, []), [value("i32", 334)]);
+
+// ./test/core/names.wast:950
+assert_return(() => invoke($2, `\u{11370}`, []), [value("i32", 335)]);
+
+// ./test/core/names.wast:951
+assert_return(() => invoke($2, `\u{11400}`, []), [value("i32", 336)]);
+
+// ./test/core/names.wast:952
+assert_return(() => invoke($2, `\u{11481}`, []), [value("i32", 337)]);
+
+// ./test/core/names.wast:953
+assert_return(() => invoke($2, `\u{11580}`, []), [value("i32", 338)]);
+
+// ./test/core/names.wast:954
+assert_return(() => invoke($2, `\u{11600}`, []), [value("i32", 339)]);
+
+// ./test/core/names.wast:955
+assert_return(() => invoke($2, `\u{11680}`, []), [value("i32", 340)]);
+
+// ./test/core/names.wast:956
+assert_return(() => invoke($2, `\u{11712}`, []), [value("i32", 341)]);
+
+// ./test/core/names.wast:957
+assert_return(() => invoke($2, `\u{11720}`, []), [value("i32", 342)]);
+
+// ./test/core/names.wast:958
+assert_return(() => invoke($2, `\u{118a1}`, []), [value("i32", 343)]);
+
+// ./test/core/names.wast:959
+assert_return(() => invoke($2, `\u{11ad5}`, []), [value("i32", 344)]);
+
+// ./test/core/names.wast:960
+assert_return(() => invoke($2, `\u{11c00}`, []), [value("i32", 345)]);
+
+// ./test/core/names.wast:961
+assert_return(() => invoke($2, `\u{11c8f}`, []), [value("i32", 346)]);
+
+// ./test/core/names.wast:962
+assert_return(() => invoke($2, `\u{11caf}`, []), [value("i32", 347)]);
+
+// ./test/core/names.wast:963
+assert_return(() => invoke($2, `\u{12000}`, []), [value("i32", 348)]);
+
+// ./test/core/names.wast:964
+assert_return(() => invoke($2, `\u{169d5}`, []), [value("i32", 349)]);
+
+// ./test/core/names.wast:965
+assert_return(() => invoke($2, `\u{16a46}`, []), [value("i32", 350)]);
+
+// ./test/core/names.wast:966
+assert_return(() => invoke($2, `\u{16ae7}`, []), [value("i32", 351)]);
+
+// ./test/core/names.wast:967
+assert_return(() => invoke($2, `\u{16f54}`, []), [value("i32", 352)]);
+
+// ./test/core/names.wast:968
+assert_return(() => invoke($2, `\u{1bc41}`, []), [value("i32", 353)]);
+
+// ./test/core/names.wast:969
+assert_return(() => invoke($2, `\u{1bc64}`, []), [value("i32", 354)]);
+
+// ./test/core/names.wast:970
+assert_return(() => invoke($2, `\u{1e823}`, []), [value("i32", 355)]);
+
+// ./test/core/names.wast:971
+assert_return(() => invoke($2, `\u{1f1e6}`, []), [value("i32", 356)]);
+
+// ./test/core/names.wast:972
+assert_return(() => invoke($2, `\u{2c6d}`, []), [value("i32", 357)]);
+
+// ./test/core/names.wast:973
+assert_return(() => invoke($2, `\u{39b}`, []), [value("i32", 358)]);
+
+// ./test/core/names.wast:974
+assert_return(() => invoke($2, `\u{2c70}`, []), [value("i32", 359)]);
+
+// ./test/core/names.wast:975
+assert_return(() => invoke($2, `\u{aa}`, []), [value("i32", 360)]);
+
+// ./test/core/names.wast:976
+assert_return(() => invoke($2, `\u{2200}`, []), [value("i32", 361)]);
+
+// ./test/core/names.wast:977
+assert_return(() => invoke($2, `\u{20b3}`, []), [value("i32", 362)]);
+
+// ./test/core/names.wast:978
+assert_return(() => invoke($2, `\u{10900}`, []), [value("i32", 363)]);
+
+// ./test/core/names.wast:979
+assert_return(() => invoke($2, `\u{2c80}`, []), [value("i32", 364)]);
+
+// ./test/core/names.wast:980
+assert_return(() => invoke($2, `\u{10330}`, []), [value("i32", 365)]);
+
+// ./test/core/names.wast:981
+assert_return(() => invoke($2, `\u{386}`, []), [value("i32", 366)]);
+
+// ./test/core/names.wast:982
+assert_return(() => invoke($2, `\u{391}`, []), [value("i32", 367)]);
+
+// ./test/core/names.wast:983
+assert_return(() => invoke($2, `\u{1f08}`, []), [value("i32", 368)]);
+
+// ./test/core/names.wast:984
+assert_return(() => invoke($2, `\u{1f09}`, []), [value("i32", 369)]);
+
+// ./test/core/names.wast:985
+assert_return(() => invoke($2, `\u{1f0a}`, []), [value("i32", 370)]);
+
+// ./test/core/names.wast:986
+assert_return(() => invoke($2, `\u{1f0b}`, []), [value("i32", 371)]);
+
+// ./test/core/names.wast:987
+assert_return(() => invoke($2, `\u{1f0c}`, []), [value("i32", 372)]);
+
+// ./test/core/names.wast:988
+assert_return(() => invoke($2, `\u{1f0d}`, []), [value("i32", 373)]);
+
+// ./test/core/names.wast:989
+assert_return(() => invoke($2, `\u{1f0e}`, []), [value("i32", 374)]);
+
+// ./test/core/names.wast:990
+assert_return(() => invoke($2, `\u{1f0f}`, []), [value("i32", 375)]);
+
+// ./test/core/names.wast:991
+assert_return(() => invoke($2, `\u{1f88}`, []), [value("i32", 376)]);
+
+// ./test/core/names.wast:992
+assert_return(() => invoke($2, `\u{1f89}`, []), [value("i32", 377)]);
+
+// ./test/core/names.wast:993
+assert_return(() => invoke($2, `\u{1f8a}`, []), [value("i32", 378)]);
+
+// ./test/core/names.wast:994
+assert_return(() => invoke($2, `\u{1f8b}`, []), [value("i32", 379)]);
+
+// ./test/core/names.wast:995
+assert_return(() => invoke($2, `\u{1f8c}`, []), [value("i32", 380)]);
+
+// ./test/core/names.wast:996
+assert_return(() => invoke($2, `\u{1f8d}`, []), [value("i32", 381)]);
+
+// ./test/core/names.wast:997
+assert_return(() => invoke($2, `\u{1f8e}`, []), [value("i32", 382)]);
+
+// ./test/core/names.wast:998
+assert_return(() => invoke($2, `\u{1f8f}`, []), [value("i32", 383)]);
+
+// ./test/core/names.wast:999
+assert_return(() => invoke($2, `\u{1fb8}`, []), [value("i32", 384)]);
+
+// ./test/core/names.wast:1000
+assert_return(() => invoke($2, `\u{1fb9}`, []), [value("i32", 385)]);
+
+// ./test/core/names.wast:1001
+assert_return(() => invoke($2, `\u{1fba}`, []), [value("i32", 386)]);
+
+// ./test/core/names.wast:1002
+assert_return(() => invoke($2, `\u{1fbb}`, []), [value("i32", 387)]);
+
+// ./test/core/names.wast:1003
+assert_return(() => invoke($2, `\u{1fbc}`, []), [value("i32", 388)]);
+
+// ./test/core/names.wast:1004
+assert_return(() => invoke($2, `\u{1d6a8}`, []), [value("i32", 389)]);
+
+// ./test/core/names.wast:1005
+assert_return(() => invoke($2, `\u{1d6e2}`, []), [value("i32", 390)]);
+
+// ./test/core/names.wast:1006
+assert_return(() => invoke($2, `\u{1d71c}`, []), [value("i32", 391)]);
+
+// ./test/core/names.wast:1007
+assert_return(() => invoke($2, `\u{1d756}`, []), [value("i32", 392)]);
+
+// ./test/core/names.wast:1008
+assert_return(() => invoke($2, `\u{1d790}`, []), [value("i32", 393)]);
+
+// ./test/core/names.wast:1009
+assert_return(() => invoke($2, `\u{2376}`, []), [value("i32", 394)]);
+
+// ./test/core/names.wast:1010
+assert_return(() => invoke($2, `\u{237a}`, []), [value("i32", 395)]);
+
+// ./test/core/names.wast:1011
+assert_return(() => invoke($2, `\u{2a5c}`, []), [value("i32", 396)]);
+
+// ./test/core/names.wast:1012
+assert_return(() => invoke($2, `\u{15c5}`, []), [value("i32", 397)]);
+
+// ./test/core/names.wast:1013
+assert_return(() => invoke($2, `\u{13aa}`, []), [value("i32", 398)]);
+
+// ./test/core/names.wast:1014
+assert_return(
+ () => invoke($2,
+ `)\u{2fa}\u{2fc}\u{145cf}\u{1d174}\u{1d176}\u{1d178}\u{1d17a}\u{207e}\u{208e}\u{2769}\u{276b}\u{27ef}\u{fd3f}\u{fe36}\u{fe5a}\u{ff09}\u{ff60}\u{e0029}\u{2773}\u{2775}\u{27e7}\u{27e9}\u{27eb}\u{27ed}\u{2988}\u{298a}\u{2996}\u{2e23}\u{2e25}\u{fe18}\u{fe38}\u{fe3a}\u{fe3c}\u{fe3e}\u{fe40}\u{fe42}\u{fe44}\u{fe48}\u{fe5c}\u{fe5e}\u{ff3d}\u{ff5d}\u{ff63}\u{e005d}\u{e007d}\u{bb}\u{2019}\u{201d}\u{203a}\u{276f}`,
+ [],
+ ),
+ [value("i32", 399)],
+);
+
+// ./test/core/names.wast:1015
+assert_return(
+ () => invoke($2,
+ `(\u{2f9}\u{2fb}\u{145ce}\u{1d173}\u{1d175}\u{1d177}\u{1d179}\u{207d}\u{208d}\u{2768}\u{276a}\u{27ee}\u{fd3e}\u{fe35}\u{fe59}\u{ff08}\u{ff5f}\u{e0028}\u{2772}\u{2774}\u{27e6}\u{27e8}\u{27ea}\u{27ec}\u{2987}\u{2989}\u{2995}\u{2e22}\u{2e24}\u{fe17}\u{fe37}\u{fe39}\u{fe3b}\u{fe3d}\u{fe3f}\u{fe41}\u{fe43}\u{fe47}\u{fe5b}\u{fe5d}\u{ff3b}\u{ff5b}\u{ff62}\u{e005b}\u{e007b}\u{ab}\u{2018}\u{201c}\u{2039}\u{276e}`,
+ [],
+ ),
+ [value("i32", 400)],
+);
+
+// ./test/core/names.wast:1016
+assert_return(() => invoke($2, `\u{1da8b}\u{1daa4}`, []), [value("i32", 401)]);
+
+// ./test/core/names.wast:1017
+assert_return(() => invoke($2, `\u{1da8b}`, []), [value("i32", 402)]);
+
+// ./test/core/names.wast:1018
+assert_return(() => invoke($2, `\u{bd}`, []), [value("i32", 403)]);
+
+// ./test/core/names.wast:1019
+assert_return(() => invoke($2, `1\u{2044}2`, []), [value("i32", 404)]);
+
+// ./test/core/names.wast:1020
+assert_return(() => invoke($2, `1/2`, []), [value("i32", 405)]);
+
+// ./test/core/names.wast:1021
+assert_return(() => invoke($2, `\u{b73}`, []), [value("i32", 406)]);
+
+// ./test/core/names.wast:1022
+assert_return(() => invoke($2, `\u{d74}`, []), [value("i32", 407)]);
+
+// ./test/core/names.wast:1023
+assert_return(() => invoke($2, `\u{2cfd}`, []), [value("i32", 408)]);
+
+// ./test/core/names.wast:1024
+assert_return(() => invoke($2, `\u{a831}`, []), [value("i32", 409)]);
+
+// ./test/core/names.wast:1025
+assert_return(() => invoke($2, `\u{10141}`, []), [value("i32", 410)]);
+
+// ./test/core/names.wast:1026
+assert_return(() => invoke($2, `\u{10175}`, []), [value("i32", 411)]);
+
+// ./test/core/names.wast:1027
+assert_return(() => invoke($2, `\u{10176}`, []), [value("i32", 412)]);
+
+// ./test/core/names.wast:1028
+assert_return(() => invoke($2, `\u{109bd}`, []), [value("i32", 413)]);
+
+// ./test/core/names.wast:1029
+assert_return(() => invoke($2, `\u{10e7b}`, []), [value("i32", 414)]);
+
+// ./test/core/names.wast:1030
+assert_return(() => invoke($2, `\u{ff02}`, []), [value("i32", 415)]);
+
+// ./test/core/names.wast:1031
+assert_return(() => invoke($2, `\x7f`, []), [value("i32", 416)]);
+
+// ./test/core/names.wast:1032
+assert_return(() => invoke($2, `\x08`, []), [value("i32", 417)]);
+
+// ./test/core/names.wast:1033
+assert_return(() => invoke($2, `\u{232b}`, []), [value("i32", 418)]);
+
+// ./test/core/names.wast:1034
+assert_return(() => invoke($2, `\u{2326}`, []), [value("i32", 419)]);
+
+// ./test/core/names.wast:1035
+assert_return(() => invoke($2, `\u{2408}`, []), [value("i32", 420)]);
+
+// ./test/core/names.wast:1036
+assert_return(() => invoke($2, `\u{2421}`, []), [value("i32", 421)]);
+
+// ./test/core/names.wast:1037
+assert_return(() => invoke($2, `\u{1dfb}`, []), [value("i32", 422)]);
+
+// ./test/core/names.wast:1038
+assert_return(() => invoke($2, `\x0f`, []), [value("i32", 423)]);
+
+// ./test/core/names.wast:1039
+assert_return(() => invoke($2, `\u{2190}`, []), [value("i32", 424)]);
+
+// ./test/core/names.wast:1040
+assert_return(() => invoke($2, `\u{2327}`, []), [value("i32", 425)]);
+
+// ./test/core/names.wast:1041
+assert_return(() => invoke($2, `\u{2352}`, []), [value("i32", 426)]);
+
+// ./test/core/names.wast:1042
+assert_return(() => invoke($2, `\u{2354}`, []), [value("i32", 427)]);
+
+// ./test/core/names.wast:1043
+assert_return(() => invoke($2, `\u{2362}`, []), [value("i32", 428)]);
+
+// ./test/core/names.wast:1044
+assert_return(() => invoke($2, `\u{236b}`, []), [value("i32", 429)]);
+
+// ./test/core/names.wast:1045
+assert_return(() => invoke($2, `\x1a`, []), [value("i32", 430)]);
+
+// ./test/core/names.wast:1046
+assert_return(() => invoke($2, `\u{2426}`, []), [value("i32", 431)]);
+
+// ./test/core/names.wast:1047
+assert_return(() => invoke($2, `\u{241a}`, []), [value("i32", 432)]);
+
+// ./test/core/names.wast:1048
+assert_return(() => invoke($2, `\u{fffc}`, []), [value("i32", 433)]);
+
+// ./test/core/names.wast:1049
+assert_return(() => invoke($2, `?`, []), [value("i32", 434)]);
+
+// ./test/core/names.wast:1050
+assert_return(() => invoke($2, `\u{bf}`, []), [value("i32", 435)]);
+
+// ./test/core/names.wast:1051
+assert_return(() => invoke($2, `\u{1945}`, []), [value("i32", 436)]);
+
+// ./test/core/names.wast:1052
+assert_return(() => invoke($2, `\u{37e}`, []), [value("i32", 437)]);
+
+// ./test/core/names.wast:1053
+assert_return(() => invoke($2, `\u{55e}`, []), [value("i32", 438)]);
+
+// ./test/core/names.wast:1054
+assert_return(() => invoke($2, `\u{61f}`, []), [value("i32", 439)]);
+
+// ./test/core/names.wast:1055
+assert_return(() => invoke($2, `\u{1367}`, []), [value("i32", 440)]);
+
+// ./test/core/names.wast:1056
+assert_return(() => invoke($2, `\u{2047}`, []), [value("i32", 441)]);
+
+// ./test/core/names.wast:1057
+assert_return(() => invoke($2, `\u{2370}`, []), [value("i32", 442)]);
+
+// ./test/core/names.wast:1058
+assert_return(() => invoke($2, `\u{2753}`, []), [value("i32", 443)]);
+
+// ./test/core/names.wast:1059
+assert_return(() => invoke($2, `\u{2754}`, []), [value("i32", 444)]);
+
+// ./test/core/names.wast:1060
+assert_return(() => invoke($2, `\u{2cfa}`, []), [value("i32", 445)]);
+
+// ./test/core/names.wast:1061
+assert_return(() => invoke($2, `\u{2cfb}`, []), [value("i32", 446)]);
+
+// ./test/core/names.wast:1062
+assert_return(() => invoke($2, `\u{2e2e}`, []), [value("i32", 447)]);
+
+// ./test/core/names.wast:1063
+assert_return(() => invoke($2, `\u{3244}`, []), [value("i32", 448)]);
+
+// ./test/core/names.wast:1064
+assert_return(() => invoke($2, `\u{a60f}`, []), [value("i32", 449)]);
+
+// ./test/core/names.wast:1065
+assert_return(() => invoke($2, `\u{a6f7}`, []), [value("i32", 450)]);
+
+// ./test/core/names.wast:1066
+assert_return(() => invoke($2, `\u{fe16}`, []), [value("i32", 451)]);
+
+// ./test/core/names.wast:1067
+assert_return(() => invoke($2, `\u{fe56}`, []), [value("i32", 452)]);
+
+// ./test/core/names.wast:1068
+assert_return(() => invoke($2, `\u{ff1f}`, []), [value("i32", 453)]);
+
+// ./test/core/names.wast:1069
+assert_return(() => invoke($2, `\u{11143}`, []), [value("i32", 454)]);
+
+// ./test/core/names.wast:1070
+assert_return(() => invoke($2, `\u{1e95f}`, []), [value("i32", 455)]);
+
+// ./test/core/names.wast:1071
+assert_return(() => invoke($2, `\u{e003f}`, []), [value("i32", 456)]);
+
+// ./test/core/names.wast:1072
+assert_return(() => invoke($2, `\u{16844}`, []), [value("i32", 457)]);
+
+// ./test/core/names.wast:1073
+assert_return(() => invoke($2, `\u{2bd1}`, []), [value("i32", 458)]);
+
+// ./test/core/names.wast:1074
+assert_return(() => invoke($2, `\u{b6}`, []), [value("i32", 459)]);
+
+// ./test/core/names.wast:1075
+assert_return(() => invoke($2, `\u{204b}`, []), [value("i32", 460)]);
+
+// ./test/core/names.wast:1076
+assert_return(() => invoke($2, `\u{700}`, []), [value("i32", 461)]);
+
+// ./test/core/names.wast:1077
+assert_return(() => invoke($2, `\u{10fb}`, []), [value("i32", 462)]);
+
+// ./test/core/names.wast:1078
+assert_return(() => invoke($2, `\u{1368}`, []), [value("i32", 463)]);
+
+// ./test/core/names.wast:1079
+assert_return(() => invoke($2, `\u{3037}`, []), [value("i32", 464)]);
+
+// ./test/core/names.wast:1080
+assert_return(() => invoke($2, `\u{2761}`, []), [value("i32", 465)]);
+
+// ./test/core/names.wast:1081
+assert_return(() => invoke($2, `\u{2e0f}`, []), [value("i32", 466)]);
+
+// ./test/core/names.wast:1082
+assert_return(() => invoke($2, `\u{2e10}`, []), [value("i32", 467)]);
+
+// ./test/core/names.wast:1083
+assert_return(() => invoke($2, `\u{2e11}`, []), [value("i32", 468)]);
+
+// ./test/core/names.wast:1084
+assert_return(() => invoke($2, `\u{2e0e}`, []), [value("i32", 469)]);
+
+// ./test/core/names.wast:1085
+assert_return(() => invoke($2, `\x14`, []), [value("i32", 470)]);
+
+// ./test/core/names.wast:1086
+assert_return(() => invoke($2, `\u{2619}`, []), [value("i32", 471)]);
+
+// ./test/core/names.wast:1087
+assert_return(() => invoke($2, `\u{2e3f}`, []), [value("i32", 472)]);
+
+// ./test/core/names.wast:1088
+assert_return(() => invoke($2, `\u{3007}`, []), [value("i32", 473)]);
+
+// ./test/core/names.wast:1089
+assert_return(() => invoke($2, `\u{e5b}`, []), [value("i32", 474)]);
+
+// ./test/core/names.wast:1090
+assert_return(() => invoke($2, `\u{a66e}`, []), [value("i32", 475)]);
+
+// ./test/core/names.wast:1091
+assert_return(() => invoke($2, `\u{3d3}`, []), [value("i32", 476)]);
+
+// ./test/core/names.wast:1092
+assert_return(() => invoke($2, `\u{3d4}`, []), [value("i32", 477)]);
+
+// ./test/core/names.wast:1093
+assert_return(() => invoke($2, `\u{1e9b}`, []), [value("i32", 478)]);
+
+// ./test/core/names.wast:1095
+let $3 = instantiate(`(module
+ ;; Test that we can use indices instead of names to reference imports,
+ ;; exports, functions and parameters.
+ (import "spectest" "print_i32" (func (param i32)))
+ (func (import "spectest" "print_i32") (param i32))
+ (func (param i32) (param i32)
+ (call 0 (local.get 0))
+ (call 1 (local.get 1))
+ )
+ (export "print32" (func 2))
+)`);
+
+// ./test/core/names.wast:1107
+assert_return(() => invoke($3, `print32`, [42, 123]), []);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/nop.wast.js b/js/src/jit-test/tests/wasm/spec/spec/nop.wast.js
new file mode 100644
index 0000000000..c736361363
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/nop.wast.js
@@ -0,0 +1,593 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/nop.wast
+
+// ./test/core/nop.wast:3
+let $0 = instantiate(`(module
+ ;; Auxiliary definitions
+ (func $$dummy)
+ (func $$3-ary (param i32 i32 i32) (result i32)
+ local.get 0 local.get 1 local.get 2 i32.sub i32.add
+ )
+ (memory 1)
+
+ (func (export "as-func-first") (result i32)
+ (nop) (i32.const 1)
+ )
+ (func (export "as-func-mid") (result i32)
+ (call $$dummy) (nop) (i32.const 2)
+ )
+ (func (export "as-func-last") (result i32)
+ (call $$dummy) (i32.const 3) (nop)
+ )
+ (func (export "as-func-everywhere") (result i32)
+ (nop) (nop) (call $$dummy) (nop) (i32.const 4) (nop) (nop)
+ )
+
+ (func (export "as-drop-first") (param i32)
+ (nop) (local.get 0) (drop)
+ )
+ (func (export "as-drop-last") (param i32)
+ (local.get 0) (nop) (drop)
+ )
+ (func (export "as-drop-everywhere") (param i32)
+ (nop) (nop) (local.get 0) (nop) (nop) (drop)
+ )
+
+ (func (export "as-select-first") (param i32) (result i32)
+ (nop) (local.get 0) (local.get 0) (local.get 0) (select)
+ )
+ (func (export "as-select-mid1") (param i32) (result i32)
+ (local.get 0) (nop) (local.get 0) (local.get 0) (select)
+ )
+ (func (export "as-select-mid2") (param i32) (result i32)
+ (local.get 0) (local.get 0) (nop) (local.get 0) (select)
+ )
+ (func (export "as-select-last") (param i32) (result i32)
+ (local.get 0) (local.get 0) (local.get 0) (nop) (select)
+ )
+ (func (export "as-select-everywhere") (param i32) (result i32)
+ (nop) (local.get 0) (nop) (nop) (local.get 0)
+ (nop) (nop) (local.get 0) (nop) (nop) (select)
+ )
+
+ (func (export "as-block-first") (result i32)
+ (block (result i32) (nop) (i32.const 2))
+ )
+ (func (export "as-block-mid") (result i32)
+ (block (result i32) (call $$dummy) (nop) (i32.const 2))
+ )
+ (func (export "as-block-last") (result i32)
+ (block (result i32) (nop) (call $$dummy) (i32.const 3) (nop))
+ )
+ (func (export "as-block-everywhere") (result i32)
+ (block (result i32)
+ (nop) (nop) (call $$dummy) (nop) (i32.const 4) (nop) (nop)
+ )
+ )
+
+ (func (export "as-loop-first") (result i32)
+ (loop (result i32) (nop) (i32.const 2))
+ )
+ (func (export "as-loop-mid") (result i32)
+ (loop (result i32) (call $$dummy) (nop) (i32.const 2))
+ )
+ (func (export "as-loop-last") (result i32)
+ (loop (result i32) (call $$dummy) (i32.const 3) (nop))
+ )
+ (func (export "as-loop-everywhere") (result i32)
+ (loop (result i32)
+ (nop) (nop) (call $$dummy) (nop) (i32.const 4) (nop) (nop)
+ )
+ )
+
+ (func (export "as-if-condition") (param i32)
+ (local.get 0) (nop) (if (then (call $$dummy)))
+ )
+ (func (export "as-if-then") (param i32)
+ (if (local.get 0) (then (nop)) (else (call $$dummy)))
+ )
+ (func (export "as-if-else") (param i32)
+ (if (local.get 0) (then (call $$dummy)) (else (nop)))
+ )
+
+ (func (export "as-br-first") (param i32) (result i32)
+ (block (result i32) (nop) (local.get 0) (br 0))
+ )
+ (func (export "as-br-last") (param i32) (result i32)
+ (block (result i32) (local.get 0) (nop) (br 0))
+ )
+ (func (export "as-br-everywhere") (param i32) (result i32)
+ (block (result i32) (nop) (nop) (local.get 0) (nop) (nop) (br 0))
+ )
+
+ (func (export "as-br_if-first") (param i32) (result i32)
+ (block (result i32) (nop) (local.get 0) (local.get 0) (br_if 0))
+ )
+ (func (export "as-br_if-mid") (param i32) (result i32)
+ (block (result i32) (local.get 0) (nop) (local.get 0) (br_if 0))
+ )
+ (func (export "as-br_if-last") (param i32) (result i32)
+ (block (result i32) (local.get 0) (local.get 0) (nop) (br_if 0))
+ )
+ (func (export "as-br_if-everywhere") (param i32) (result i32)
+ (block (result i32)
+ (nop) (nop) (local.get 0) (nop) (nop) (local.get 0) (nop) (nop)
+ (br_if 0)
+ )
+ )
+
+ (func (export "as-br_table-first") (param i32) (result i32)
+ (block (result i32) (nop) (local.get 0) (local.get 0) (br_table 0 0))
+ )
+ (func (export "as-br_table-mid") (param i32) (result i32)
+ (block (result i32) (local.get 0) (nop) (local.get 0) (br_table 0 0))
+ )
+ (func (export "as-br_table-last") (param i32) (result i32)
+ (block (result i32) (local.get 0) (local.get 0) (nop) (br_table 0 0))
+ )
+ (func (export "as-br_table-everywhere") (param i32) (result i32)
+ (block (result i32)
+ (nop) (nop) (local.get 0) (nop) (nop) (local.get 0) (nop) (nop)
+ (br_table 0 0)
+ )
+ )
+
+ (func (export "as-return-first") (param i32) (result i32)
+ (nop) (local.get 0) (return)
+ )
+ (func (export "as-return-last") (param i32) (result i32)
+ (local.get 0) (nop) (return)
+ )
+ (func (export "as-return-everywhere") (param i32) (result i32)
+ (nop) (nop) (local.get 0) (nop) (nop) (return)
+ )
+
+ (func (export "as-call-first") (param i32 i32 i32) (result i32)
+ (nop) (local.get 0) (local.get 1) (local.get 2) (call $$3-ary)
+ )
+ (func (export "as-call-mid1") (param i32 i32 i32) (result i32)
+ (local.get 0) (nop) (local.get 1) (local.get 2) (call $$3-ary)
+ )
+ (func (export "as-call-mid2") (param i32 i32 i32) (result i32)
+ (local.get 0) (local.get 1) (nop) (local.get 2) (call $$3-ary)
+ )
+ (func (export "as-call-last") (param i32 i32 i32) (result i32)
+ (local.get 0) (local.get 1) (local.get 2) (nop) (call $$3-ary)
+ )
+ (func (export "as-call-everywhere") (param i32 i32 i32) (result i32)
+ (nop) (nop) (local.get 0) (nop) (nop) (local.get 1)
+ (nop) (nop) (local.get 2) (nop) (nop) (call $$3-ary)
+ )
+
+ (func (export "as-unary-first") (param i32) (result i32)
+ (nop) (local.get 0) (i32.ctz)
+ )
+ (func (export "as-unary-last") (param i32) (result i32)
+ (local.get 0) (nop) (i32.ctz)
+ )
+ (func (export "as-unary-everywhere") (param i32) (result i32)
+ (nop) (nop) (local.get 0) (nop) (nop) (i32.ctz)
+ )
+
+ (func (export "as-binary-first") (param i32) (result i32)
+ (nop) (local.get 0) (local.get 0) (i32.add)
+ )
+ (func (export "as-binary-mid") (param i32) (result i32)
+ (local.get 0) (nop) (local.get 0) (i32.add)
+ )
+ (func (export "as-binary-last") (param i32) (result i32)
+ (local.get 0) (local.get 0) (nop) (i32.add)
+ )
+ (func (export "as-binary-everywhere") (param i32) (result i32)
+ (nop) (local.get 0) (nop) (nop) (local.get 0) (nop) (nop) (i32.add)
+ )
+
+ (func (export "as-test-first") (param i32) (result i32)
+ (nop) (local.get 0) (i32.eqz)
+ )
+ (func (export "as-test-last") (param i32) (result i32)
+ (local.get 0) (nop) (i32.eqz)
+ )
+ (func (export "as-test-everywhere") (param i32) (result i32)
+ (nop) (nop) (local.get 0) (nop) (nop) i32.eqz
+ )
+
+ (func (export "as-compare-first") (param i32) (result i32)
+ (nop) (local.get 0) (local.get 0) (i32.ne)
+ )
+ (func (export "as-compare-mid") (param i32) (result i32)
+ (local.get 0) (nop) (local.get 0) (i32.ne)
+ )
+ (func (export "as-compare-last") (param i32) (result i32)
+ (local.get 0) (local.get 0) (nop) (i32.lt_u)
+ )
+ (func (export "as-compare-everywhere") (param i32) (result i32)
+ (nop) (local.get 0) (nop) (nop) (local.get 0) (nop) (nop) (i32.le_s)
+ )
+
+ (func (export "as-memory.grow-first") (param i32) (result i32)
+ (nop) (local.get 0) (memory.grow)
+ )
+ (func (export "as-memory.grow-last") (param i32) (result i32)
+ (local.get 0) (nop) (memory.grow)
+ )
+ (func (export "as-memory.grow-everywhere") (param i32) (result i32)
+ (nop) (nop) (local.get 0) (nop) (nop) (memory.grow)
+ )
+
+ (func $$func (param i32 i32) (result i32) (local.get 0))
+ (type $$check (func (param i32 i32) (result i32)))
+ (table funcref (elem $$func))
+ (func (export "as-call_indirect-first") (result i32)
+ (block (result i32)
+ (nop) (i32.const 1) (i32.const 2) (i32.const 0)
+ (call_indirect (type $$check))
+ )
+ )
+ (func (export "as-call_indirect-mid1") (result i32)
+ (block (result i32)
+ (i32.const 1) (nop) (i32.const 2) (i32.const 0)
+ (call_indirect (type $$check))
+ )
+ )
+ (func (export "as-call_indirect-mid2") (result i32)
+ (block (result i32)
+ (i32.const 1) (i32.const 2) (nop) (i32.const 0)
+ (call_indirect (type $$check))
+ )
+ )
+ (func (export "as-call_indirect-last") (result i32)
+ (block (result i32)
+ (i32.const 1) (i32.const 2) (i32.const 0) (nop)
+ (call_indirect (type $$check))
+ )
+ )
+ (func (export "as-call_indirect-everywhere") (result i32)
+ (block (result i32)
+ (nop) (nop) (i32.const 1) (nop) (nop) (i32.const 2) (nop) (nop) (i32.const 0) (nop) (nop)
+ (call_indirect (type $$check))
+ )
+ )
+
+ (func (export "as-local.set-first") (param i32) (result i32)
+ (nop) (i32.const 2) (local.set 0) (local.get 0)
+ )
+ (func (export "as-local.set-last") (param i32) (result i32)
+ (i32.const 2) (nop) (local.set 0) (local.get 0)
+ )
+ (func (export "as-local.set-everywhere") (param i32) (result i32)
+ (nop) (nop) (i32.const 2) (nop) (nop) (local.set 0) (local.get 0)
+ )
+
+ (func (export "as-local.tee-first") (param i32) (result i32)
+ (nop) (i32.const 2) (local.tee 0)
+ )
+ (func (export "as-local.tee-last") (param i32) (result i32)
+ (i32.const 2) (nop) (local.tee 0)
+ )
+ (func (export "as-local.tee-everywhere") (param i32) (result i32)
+ (nop) (nop) (i32.const 2) (nop) (nop) (local.tee 0)
+ )
+
+ (global $$a (mut i32) (i32.const 0))
+ (func (export "as-global.set-first") (result i32)
+ (nop) (i32.const 2) (global.set $$a) (global.get $$a)
+ )
+ (func (export "as-global.set-last") (result i32)
+ (i32.const 2) (nop) (global.set $$a) (global.get $$a)
+ )
+ (func (export "as-global.set-everywhere") (result i32)
+ (nop) (nop) (i32.const 2) (nop) (nop) (global.set 0)
+ (global.get $$a)
+ )
+
+ (func (export "as-load-first") (param i32) (result i32)
+ (nop) (local.get 0) (i32.load)
+ )
+ (func (export "as-load-last") (param i32) (result i32)
+ (local.get 0) (nop) (i32.load)
+ )
+ (func (export "as-load-everywhere") (param i32) (result i32)
+ (nop) (nop) (local.get 0) (nop) (nop) (i32.load)
+ )
+
+ (func (export "as-store-first") (param i32 i32)
+ (nop) (local.get 0) (local.get 1) (i32.store)
+ )
+ (func (export "as-store-mid") (param i32 i32)
+ (local.get 0) (nop) (local.get 1) (i32.store)
+ )
+ (func (export "as-store-last") (param i32 i32)
+ (local.get 0) (local.get 1) (nop) (i32.store)
+ )
+ (func (export "as-store-everywhere") (param i32 i32)
+ (nop) (nop) (local.get 0) (nop) (nop) (local.get 1) (nop) (nop) (i32.store)
+ )
+)`);
+
+// ./test/core/nop.wast:306
+assert_return(() => invoke($0, `as-func-first`, []), [value("i32", 1)]);
+
+// ./test/core/nop.wast:307
+assert_return(() => invoke($0, `as-func-mid`, []), [value("i32", 2)]);
+
+// ./test/core/nop.wast:308
+assert_return(() => invoke($0, `as-func-last`, []), [value("i32", 3)]);
+
+// ./test/core/nop.wast:309
+assert_return(() => invoke($0, `as-func-everywhere`, []), [value("i32", 4)]);
+
+// ./test/core/nop.wast:311
+assert_return(() => invoke($0, `as-drop-first`, [0]), []);
+
+// ./test/core/nop.wast:312
+assert_return(() => invoke($0, `as-drop-last`, [0]), []);
+
+// ./test/core/nop.wast:313
+assert_return(() => invoke($0, `as-drop-everywhere`, [0]), []);
+
+// ./test/core/nop.wast:315
+assert_return(() => invoke($0, `as-select-first`, [3]), [value("i32", 3)]);
+
+// ./test/core/nop.wast:316
+assert_return(() => invoke($0, `as-select-mid1`, [3]), [value("i32", 3)]);
+
+// ./test/core/nop.wast:317
+assert_return(() => invoke($0, `as-select-mid2`, [3]), [value("i32", 3)]);
+
+// ./test/core/nop.wast:318
+assert_return(() => invoke($0, `as-select-last`, [3]), [value("i32", 3)]);
+
+// ./test/core/nop.wast:319
+assert_return(() => invoke($0, `as-select-everywhere`, [3]), [value("i32", 3)]);
+
+// ./test/core/nop.wast:321
+assert_return(() => invoke($0, `as-block-first`, []), [value("i32", 2)]);
+
+// ./test/core/nop.wast:322
+assert_return(() => invoke($0, `as-block-mid`, []), [value("i32", 2)]);
+
+// ./test/core/nop.wast:323
+assert_return(() => invoke($0, `as-block-last`, []), [value("i32", 3)]);
+
+// ./test/core/nop.wast:324
+assert_return(() => invoke($0, `as-block-everywhere`, []), [value("i32", 4)]);
+
+// ./test/core/nop.wast:326
+assert_return(() => invoke($0, `as-loop-first`, []), [value("i32", 2)]);
+
+// ./test/core/nop.wast:327
+assert_return(() => invoke($0, `as-loop-mid`, []), [value("i32", 2)]);
+
+// ./test/core/nop.wast:328
+assert_return(() => invoke($0, `as-loop-last`, []), [value("i32", 3)]);
+
+// ./test/core/nop.wast:329
+assert_return(() => invoke($0, `as-loop-everywhere`, []), [value("i32", 4)]);
+
+// ./test/core/nop.wast:331
+assert_return(() => invoke($0, `as-if-condition`, [0]), []);
+
+// ./test/core/nop.wast:332
+assert_return(() => invoke($0, `as-if-condition`, [-1]), []);
+
+// ./test/core/nop.wast:333
+assert_return(() => invoke($0, `as-if-then`, [0]), []);
+
+// ./test/core/nop.wast:334
+assert_return(() => invoke($0, `as-if-then`, [4]), []);
+
+// ./test/core/nop.wast:335
+assert_return(() => invoke($0, `as-if-else`, [0]), []);
+
+// ./test/core/nop.wast:336
+assert_return(() => invoke($0, `as-if-else`, [3]), []);
+
+// ./test/core/nop.wast:338
+assert_return(() => invoke($0, `as-br-first`, [5]), [value("i32", 5)]);
+
+// ./test/core/nop.wast:339
+assert_return(() => invoke($0, `as-br-last`, [6]), [value("i32", 6)]);
+
+// ./test/core/nop.wast:340
+assert_return(() => invoke($0, `as-br-everywhere`, [7]), [value("i32", 7)]);
+
+// ./test/core/nop.wast:342
+assert_return(() => invoke($0, `as-br_if-first`, [4]), [value("i32", 4)]);
+
+// ./test/core/nop.wast:343
+assert_return(() => invoke($0, `as-br_if-mid`, [5]), [value("i32", 5)]);
+
+// ./test/core/nop.wast:344
+assert_return(() => invoke($0, `as-br_if-last`, [6]), [value("i32", 6)]);
+
+// ./test/core/nop.wast:345
+assert_return(() => invoke($0, `as-br_if-everywhere`, [7]), [value("i32", 7)]);
+
+// ./test/core/nop.wast:347
+assert_return(() => invoke($0, `as-br_table-first`, [4]), [value("i32", 4)]);
+
+// ./test/core/nop.wast:348
+assert_return(() => invoke($0, `as-br_table-mid`, [5]), [value("i32", 5)]);
+
+// ./test/core/nop.wast:349
+assert_return(() => invoke($0, `as-br_table-last`, [6]), [value("i32", 6)]);
+
+// ./test/core/nop.wast:350
+assert_return(() => invoke($0, `as-br_table-everywhere`, [7]), [value("i32", 7)]);
+
+// ./test/core/nop.wast:352
+assert_return(() => invoke($0, `as-return-first`, [5]), [value("i32", 5)]);
+
+// ./test/core/nop.wast:353
+assert_return(() => invoke($0, `as-return-last`, [6]), [value("i32", 6)]);
+
+// ./test/core/nop.wast:354
+assert_return(() => invoke($0, `as-return-everywhere`, [7]), [value("i32", 7)]);
+
+// ./test/core/nop.wast:356
+assert_return(() => invoke($0, `as-call-first`, [3, 1, 2]), [value("i32", 2)]);
+
+// ./test/core/nop.wast:357
+assert_return(() => invoke($0, `as-call-mid1`, [3, 1, 2]), [value("i32", 2)]);
+
+// ./test/core/nop.wast:358
+assert_return(() => invoke($0, `as-call-mid2`, [0, 3, 1]), [value("i32", 2)]);
+
+// ./test/core/nop.wast:359
+assert_return(() => invoke($0, `as-call-last`, [10, 9, -1]), [value("i32", 20)]);
+
+// ./test/core/nop.wast:360
+assert_return(() => invoke($0, `as-call-everywhere`, [2, 1, 5]), [value("i32", -2)]);
+
+// ./test/core/nop.wast:362
+assert_return(() => invoke($0, `as-unary-first`, [30]), [value("i32", 1)]);
+
+// ./test/core/nop.wast:363
+assert_return(() => invoke($0, `as-unary-last`, [30]), [value("i32", 1)]);
+
+// ./test/core/nop.wast:364
+assert_return(() => invoke($0, `as-unary-everywhere`, [12]), [value("i32", 2)]);
+
+// ./test/core/nop.wast:366
+assert_return(() => invoke($0, `as-binary-first`, [3]), [value("i32", 6)]);
+
+// ./test/core/nop.wast:367
+assert_return(() => invoke($0, `as-binary-mid`, [3]), [value("i32", 6)]);
+
+// ./test/core/nop.wast:368
+assert_return(() => invoke($0, `as-binary-last`, [3]), [value("i32", 6)]);
+
+// ./test/core/nop.wast:369
+assert_return(() => invoke($0, `as-binary-everywhere`, [3]), [value("i32", 6)]);
+
+// ./test/core/nop.wast:371
+assert_return(() => invoke($0, `as-test-first`, [0]), [value("i32", 1)]);
+
+// ./test/core/nop.wast:372
+assert_return(() => invoke($0, `as-test-last`, [0]), [value("i32", 1)]);
+
+// ./test/core/nop.wast:373
+assert_return(() => invoke($0, `as-test-everywhere`, [0]), [value("i32", 1)]);
+
+// ./test/core/nop.wast:375
+assert_return(() => invoke($0, `as-compare-first`, [3]), [value("i32", 0)]);
+
+// ./test/core/nop.wast:376
+assert_return(() => invoke($0, `as-compare-mid`, [3]), [value("i32", 0)]);
+
+// ./test/core/nop.wast:377
+assert_return(() => invoke($0, `as-compare-last`, [3]), [value("i32", 0)]);
+
+// ./test/core/nop.wast:378
+assert_return(() => invoke($0, `as-compare-everywhere`, [3]), [value("i32", 1)]);
+
+// ./test/core/nop.wast:380
+assert_return(() => invoke($0, `as-memory.grow-first`, [0]), [value("i32", 1)]);
+
+// ./test/core/nop.wast:381
+assert_return(() => invoke($0, `as-memory.grow-last`, [2]), [value("i32", 1)]);
+
+// ./test/core/nop.wast:382
+assert_return(() => invoke($0, `as-memory.grow-everywhere`, [12]), [value("i32", 3)]);
+
+// ./test/core/nop.wast:384
+assert_return(() => invoke($0, `as-call_indirect-first`, []), [value("i32", 1)]);
+
+// ./test/core/nop.wast:385
+assert_return(() => invoke($0, `as-call_indirect-mid1`, []), [value("i32", 1)]);
+
+// ./test/core/nop.wast:386
+assert_return(() => invoke($0, `as-call_indirect-mid2`, []), [value("i32", 1)]);
+
+// ./test/core/nop.wast:387
+assert_return(() => invoke($0, `as-call_indirect-last`, []), [value("i32", 1)]);
+
+// ./test/core/nop.wast:388
+assert_return(() => invoke($0, `as-call_indirect-everywhere`, []), [value("i32", 1)]);
+
+// ./test/core/nop.wast:390
+assert_return(() => invoke($0, `as-local.set-first`, [1]), [value("i32", 2)]);
+
+// ./test/core/nop.wast:391
+assert_return(() => invoke($0, `as-local.set-last`, [1]), [value("i32", 2)]);
+
+// ./test/core/nop.wast:392
+assert_return(() => invoke($0, `as-local.set-everywhere`, [1]), [value("i32", 2)]);
+
+// ./test/core/nop.wast:394
+assert_return(() => invoke($0, `as-local.tee-first`, [1]), [value("i32", 2)]);
+
+// ./test/core/nop.wast:395
+assert_return(() => invoke($0, `as-local.tee-last`, [1]), [value("i32", 2)]);
+
+// ./test/core/nop.wast:396
+assert_return(() => invoke($0, `as-local.tee-everywhere`, [1]), [value("i32", 2)]);
+
+// ./test/core/nop.wast:398
+assert_return(() => invoke($0, `as-global.set-first`, []), [value("i32", 2)]);
+
+// ./test/core/nop.wast:399
+assert_return(() => invoke($0, `as-global.set-last`, []), [value("i32", 2)]);
+
+// ./test/core/nop.wast:400
+assert_return(() => invoke($0, `as-global.set-everywhere`, []), [value("i32", 2)]);
+
+// ./test/core/nop.wast:402
+assert_return(() => invoke($0, `as-load-first`, [100]), [value("i32", 0)]);
+
+// ./test/core/nop.wast:403
+assert_return(() => invoke($0, `as-load-last`, [100]), [value("i32", 0)]);
+
+// ./test/core/nop.wast:404
+assert_return(() => invoke($0, `as-load-everywhere`, [100]), [value("i32", 0)]);
+
+// ./test/core/nop.wast:406
+assert_return(() => invoke($0, `as-store-first`, [0, 1]), []);
+
+// ./test/core/nop.wast:407
+assert_return(() => invoke($0, `as-store-mid`, [0, 2]), []);
+
+// ./test/core/nop.wast:408
+assert_return(() => invoke($0, `as-store-last`, [0, 3]), []);
+
+// ./test/core/nop.wast:409
+assert_return(() => invoke($0, `as-store-everywhere`, [0, 4]), []);
+
+// ./test/core/nop.wast:411
+assert_invalid(
+ () => instantiate(`(module (func $$type-i32 (result i32) (nop)))`),
+ `type mismatch`,
+);
+
+// ./test/core/nop.wast:415
+assert_invalid(
+ () => instantiate(`(module (func $$type-i64 (result i64) (nop)))`),
+ `type mismatch`,
+);
+
+// ./test/core/nop.wast:419
+assert_invalid(
+ () => instantiate(`(module (func $$type-f32 (result f32) (nop)))`),
+ `type mismatch`,
+);
+
+// ./test/core/nop.wast:423
+assert_invalid(
+ () => instantiate(`(module (func $$type-f64 (result f64) (nop)))`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/ref_func.wast.js b/js/src/jit-test/tests/wasm/spec/spec/ref_func.wast.js
new file mode 100644
index 0000000000..3ca5cea002
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/ref_func.wast.js
@@ -0,0 +1,156 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/ref_func.wast
+
+// ./test/core/ref_func.wast:1
+let $0 = instantiate(`(module
+ (func (export "f") (param $$x i32) (result i32) (local.get $$x))
+)`);
+
+// ./test/core/ref_func.wast:4
+register($0, `M`);
+
+// ./test/core/ref_func.wast:6
+let $1 = instantiate(`(module
+ (func $$f (import "M" "f") (param i32) (result i32))
+ (func $$g (param $$x i32) (result i32)
+ (i32.add (local.get $$x) (i32.const 1))
+ )
+
+ (global funcref (ref.func $$f))
+ (global funcref (ref.func $$g))
+ (global $$v (mut funcref) (ref.func $$f))
+
+ (global funcref (ref.func $$gf1))
+ (global funcref (ref.func $$gf2))
+ (func (drop (ref.func $$ff1)) (drop (ref.func $$ff2)))
+ (elem declare func $$gf1 $$ff1)
+ (elem declare funcref (ref.func $$gf2) (ref.func $$ff2))
+ (func $$gf1)
+ (func $$gf2)
+ (func $$ff1)
+ (func $$ff2)
+
+ (func (export "is_null-f") (result i32)
+ (ref.is_null (ref.func $$f))
+ )
+ (func (export "is_null-g") (result i32)
+ (ref.is_null (ref.func $$g))
+ )
+ (func (export "is_null-v") (result i32)
+ (ref.is_null (global.get $$v))
+ )
+
+ (func (export "set-f") (global.set $$v (ref.func $$f)))
+ (func (export "set-g") (global.set $$v (ref.func $$g)))
+
+ (table $$t 1 funcref)
+ (elem declare func $$f $$g)
+
+ (func (export "call-f") (param $$x i32) (result i32)
+ (table.set $$t (i32.const 0) (ref.func $$f))
+ (call_indirect $$t (param i32) (result i32) (local.get $$x) (i32.const 0))
+ )
+ (func (export "call-g") (param $$x i32) (result i32)
+ (table.set $$t (i32.const 0) (ref.func $$g))
+ (call_indirect $$t (param i32) (result i32) (local.get $$x) (i32.const 0))
+ )
+ (func (export "call-v") (param $$x i32) (result i32)
+ (table.set $$t (i32.const 0) (global.get $$v))
+ (call_indirect $$t (param i32) (result i32) (local.get $$x) (i32.const 0))
+ )
+)`);
+
+// ./test/core/ref_func.wast:56
+assert_return(() => invoke($1, `is_null-f`, []), [value("i32", 0)]);
+
+// ./test/core/ref_func.wast:57
+assert_return(() => invoke($1, `is_null-g`, []), [value("i32", 0)]);
+
+// ./test/core/ref_func.wast:58
+assert_return(() => invoke($1, `is_null-v`, []), [value("i32", 0)]);
+
+// ./test/core/ref_func.wast:60
+assert_return(() => invoke($1, `call-f`, [4]), [value("i32", 4)]);
+
+// ./test/core/ref_func.wast:61
+assert_return(() => invoke($1, `call-g`, [4]), [value("i32", 5)]);
+
+// ./test/core/ref_func.wast:62
+assert_return(() => invoke($1, `call-v`, [4]), [value("i32", 4)]);
+
+// ./test/core/ref_func.wast:63
+invoke($1, `set-g`, []);
+
+// ./test/core/ref_func.wast:64
+assert_return(() => invoke($1, `call-v`, [4]), [value("i32", 5)]);
+
+// ./test/core/ref_func.wast:65
+invoke($1, `set-f`, []);
+
+// ./test/core/ref_func.wast:66
+assert_return(() => invoke($1, `call-v`, [4]), [value("i32", 4)]);
+
+// ./test/core/ref_func.wast:68
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f (import "M" "f") (param i32) (result i32))
+ (func $$g (import "M" "g") (param i32) (result i32))
+ (global funcref (ref.func 7))
+ )`),
+ `unknown function 7`,
+);
+
+// ./test/core/ref_func.wast:80
+let $2 = instantiate(`(module
+ (func $$f1)
+ (func $$f2)
+ (func $$f3)
+ (func $$f4)
+ (func $$f5)
+ (func $$f6)
+
+ (table $$t 1 funcref)
+
+ (global funcref (ref.func $$f1))
+ (export "f" (func $$f2))
+ (elem (table $$t) (i32.const 0) func $$f3)
+ (elem (table $$t) (i32.const 0) funcref (ref.func $$f4))
+ (elem func $$f5)
+ (elem funcref (ref.func $$f6))
+
+ (func
+ (ref.func $$f1)
+ (ref.func $$f2)
+ (ref.func $$f3)
+ (ref.func $$f4)
+ (ref.func $$f5)
+ (ref.func $$f6)
+ (return)
+ )
+)`);
+
+// ./test/core/ref_func.wast:108
+assert_invalid(
+ () => instantiate(`(module (func $$f (drop (ref.func $$f))))`),
+ `undeclared function reference`,
+);
+
+// ./test/core/ref_func.wast:112
+assert_invalid(
+ () => instantiate(`(module (start $$f) (func $$f (drop (ref.func $$f))))`),
+ `undeclared function reference`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/ref_is_null.wast.js b/js/src/jit-test/tests/wasm/spec/spec/ref_is_null.wast.js
new file mode 100644
index 0000000000..2c7aee86e0
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/ref_is_null.wast.js
@@ -0,0 +1,97 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/ref_is_null.wast
+
+// ./test/core/ref_is_null.wast:1
+let $0 = instantiate(`(module
+ (func $$f1 (export "funcref") (param $$x funcref) (result i32)
+ (ref.is_null (local.get $$x))
+ )
+ (func $$f2 (export "externref") (param $$x externref) (result i32)
+ (ref.is_null (local.get $$x))
+ )
+
+ (table $$t1 2 funcref)
+ (table $$t2 2 externref)
+ (elem (table $$t1) (i32.const 1) func $$dummy)
+ (func $$dummy)
+
+ (func (export "init") (param $$r externref)
+ (table.set $$t2 (i32.const 1) (local.get $$r))
+ )
+ (func (export "deinit")
+ (table.set $$t1 (i32.const 1) (ref.null func))
+ (table.set $$t2 (i32.const 1) (ref.null extern))
+ )
+
+ (func (export "funcref-elem") (param $$x i32) (result i32)
+ (call $$f1 (table.get $$t1 (local.get $$x)))
+ )
+ (func (export "externref-elem") (param $$x i32) (result i32)
+ (call $$f2 (table.get $$t2 (local.get $$x)))
+ )
+)`);
+
+// ./test/core/ref_is_null.wast:30
+assert_return(() => invoke($0, `funcref`, [null]), [value("i32", 1)]);
+
+// ./test/core/ref_is_null.wast:31
+assert_return(() => invoke($0, `externref`, [null]), [value("i32", 1)]);
+
+// ./test/core/ref_is_null.wast:33
+assert_return(() => invoke($0, `externref`, [externref(1)]), [value("i32", 0)]);
+
+// ./test/core/ref_is_null.wast:35
+invoke($0, `init`, [externref(0)]);
+
+// ./test/core/ref_is_null.wast:37
+assert_return(() => invoke($0, `funcref-elem`, [0]), [value("i32", 1)]);
+
+// ./test/core/ref_is_null.wast:38
+assert_return(() => invoke($0, `externref-elem`, [0]), [value("i32", 1)]);
+
+// ./test/core/ref_is_null.wast:40
+assert_return(() => invoke($0, `funcref-elem`, [1]), [value("i32", 0)]);
+
+// ./test/core/ref_is_null.wast:41
+assert_return(() => invoke($0, `externref-elem`, [1]), [value("i32", 0)]);
+
+// ./test/core/ref_is_null.wast:43
+invoke($0, `deinit`, []);
+
+// ./test/core/ref_is_null.wast:45
+assert_return(() => invoke($0, `funcref-elem`, [0]), [value("i32", 1)]);
+
+// ./test/core/ref_is_null.wast:46
+assert_return(() => invoke($0, `externref-elem`, [0]), [value("i32", 1)]);
+
+// ./test/core/ref_is_null.wast:48
+assert_return(() => invoke($0, `funcref-elem`, [1]), [value("i32", 1)]);
+
+// ./test/core/ref_is_null.wast:49
+assert_return(() => invoke($0, `externref-elem`, [1]), [value("i32", 1)]);
+
+// ./test/core/ref_is_null.wast:51
+assert_invalid(
+ () => instantiate(`(module (func $$ref-vs-num (param i32) (ref.is_null (local.get 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/ref_is_null.wast:55
+assert_invalid(
+ () => instantiate(`(module (func $$ref-vs-empty (ref.is_null)))`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/ref_null.wast.js b/js/src/jit-test/tests/wasm/spec/spec/ref_null.wast.js
new file mode 100644
index 0000000000..bae6ecd4b2
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/ref_null.wast.js
@@ -0,0 +1,31 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/ref_null.wast
+
+// ./test/core/ref_null.wast:1
+let $0 = instantiate(`(module
+ (func (export "externref") (result externref) (ref.null extern))
+ (func (export "funcref") (result funcref) (ref.null func))
+
+ (global externref (ref.null extern))
+ (global funcref (ref.null func))
+)`);
+
+// ./test/core/ref_null.wast:9
+assert_return(() => invoke($0, `externref`, []), [value('externref', null)]);
+
+// ./test/core/ref_null.wast:10
+assert_return(() => invoke($0, `funcref`, []), [value('anyfunc', null)]);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/return.wast.js b/js/src/jit-test/tests/wasm/spec/spec/return.wast.js
new file mode 100644
index 0000000000..7d09ec6a2e
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/return.wast.js
@@ -0,0 +1,636 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/return.wast
+
+// ./test/core/return.wast:3
+let $0 = instantiate(`(module
+ ;; Auxiliary definition
+ (func $$dummy)
+
+ (func (export "type-i32") (drop (i32.ctz (return))))
+ (func (export "type-i64") (drop (i64.ctz (return))))
+ (func (export "type-f32") (drop (f32.neg (return))))
+ (func (export "type-f64") (drop (f64.neg (return))))
+
+ (func (export "type-i32-value") (result i32)
+ (block (result i32) (i32.ctz (return (i32.const 1))))
+ )
+ (func (export "type-i64-value") (result i64)
+ (block (result i64) (i64.ctz (return (i64.const 2))))
+ )
+ (func (export "type-f32-value") (result f32)
+ (block (result f32) (f32.neg (return (f32.const 3))))
+ )
+ (func (export "type-f64-value") (result f64)
+ (block (result f64) (f64.neg (return (f64.const 4))))
+ )
+
+ (func (export "nullary") (return))
+ (func (export "unary") (result f64) (return (f64.const 3)))
+
+ (func (export "as-func-first") (result i32)
+ (return (i32.const 1)) (i32.const 2)
+ )
+ (func (export "as-func-mid") (result i32)
+ (call $$dummy) (return (i32.const 2)) (i32.const 3)
+ )
+ (func (export "as-func-last")
+ (nop) (call $$dummy) (return)
+ )
+ (func (export "as-func-value") (result i32)
+ (nop) (call $$dummy) (return (i32.const 3))
+ )
+
+ (func (export "as-block-first")
+ (block (return) (call $$dummy))
+ )
+ (func (export "as-block-mid")
+ (block (call $$dummy) (return) (call $$dummy))
+ )
+ (func (export "as-block-last")
+ (block (nop) (call $$dummy) (return))
+ )
+ (func (export "as-block-value") (result i32)
+ (block (result i32) (nop) (call $$dummy) (return (i32.const 2)))
+ )
+
+ (func (export "as-loop-first") (result i32)
+ (loop (result i32) (return (i32.const 3)) (i32.const 2))
+ )
+ (func (export "as-loop-mid") (result i32)
+ (loop (result i32) (call $$dummy) (return (i32.const 4)) (i32.const 2))
+ )
+ (func (export "as-loop-last") (result i32)
+ (loop (result i32) (nop) (call $$dummy) (return (i32.const 5)))
+ )
+
+ (func (export "as-br-value") (result i32)
+ (block (result i32) (br 0 (return (i32.const 9))))
+ )
+
+ (func (export "as-br_if-cond")
+ (block (br_if 0 (return)))
+ )
+ (func (export "as-br_if-value") (result i32)
+ (block (result i32)
+ (drop (br_if 0 (return (i32.const 8)) (i32.const 1))) (i32.const 7)
+ )
+ )
+ (func (export "as-br_if-value-cond") (result i32)
+ (block (result i32)
+ (drop (br_if 0 (i32.const 6) (return (i32.const 9)))) (i32.const 7)
+ )
+ )
+
+ (func (export "as-br_table-index") (result i64)
+ (block (br_table 0 0 0 (return (i64.const 9)))) (i64.const -1)
+ )
+ (func (export "as-br_table-value") (result i32)
+ (block (result i32)
+ (br_table 0 0 0 (return (i32.const 10)) (i32.const 1)) (i32.const 7)
+ )
+ )
+ (func (export "as-br_table-value-index") (result i32)
+ (block (result i32)
+ (br_table 0 0 (i32.const 6) (return (i32.const 11))) (i32.const 7)
+ )
+ )
+
+ (func (export "as-return-value") (result i64)
+ (return (return (i64.const 7)))
+ )
+
+ (func (export "as-if-cond") (result i32)
+ (if (result i32)
+ (return (i32.const 2)) (then (i32.const 0)) (else (i32.const 1))
+ )
+ )
+ (func (export "as-if-then") (param i32 i32) (result i32)
+ (if (result i32)
+ (local.get 0) (then (return (i32.const 3))) (else (local.get 1))
+ )
+ )
+ (func (export "as-if-else") (param i32 i32) (result i32)
+ (if (result i32)
+ (local.get 0) (then (local.get 1)) (else (return (i32.const 4)))
+ )
+ )
+
+ (func (export "as-select-first") (param i32 i32) (result i32)
+ (select (return (i32.const 5)) (local.get 0) (local.get 1))
+ )
+ (func (export "as-select-second") (param i32 i32) (result i32)
+ (select (local.get 0) (return (i32.const 6)) (local.get 1))
+ )
+ (func (export "as-select-cond") (result i32)
+ (select (i32.const 0) (i32.const 1) (return (i32.const 7)))
+ )
+
+ (func $$f (param i32 i32 i32) (result i32) (i32.const -1))
+ (func (export "as-call-first") (result i32)
+ (call $$f (return (i32.const 12)) (i32.const 2) (i32.const 3))
+ )
+ (func (export "as-call-mid") (result i32)
+ (call $$f (i32.const 1) (return (i32.const 13)) (i32.const 3))
+ )
+ (func (export "as-call-last") (result i32)
+ (call $$f (i32.const 1) (i32.const 2) (return (i32.const 14)))
+ )
+
+ (type $$sig (func (param i32 i32 i32) (result i32)))
+ (table funcref (elem $$f))
+ (func (export "as-call_indirect-func") (result i32)
+ (call_indirect (type $$sig)
+ (return (i32.const 20)) (i32.const 1) (i32.const 2) (i32.const 3)
+ )
+ )
+ (func (export "as-call_indirect-first") (result i32)
+ (call_indirect (type $$sig)
+ (i32.const 0) (return (i32.const 21)) (i32.const 2) (i32.const 3)
+ )
+ )
+ (func (export "as-call_indirect-mid") (result i32)
+ (call_indirect (type $$sig)
+ (i32.const 0) (i32.const 1) (return (i32.const 22)) (i32.const 3)
+ )
+ )
+ (func (export "as-call_indirect-last") (result i32)
+ (call_indirect (type $$sig)
+ (i32.const 0) (i32.const 1) (i32.const 2) (return (i32.const 23))
+ )
+ )
+
+ (func (export "as-local.set-value") (result i32) (local f32)
+ (local.set 0 (return (i32.const 17))) (i32.const -1)
+ )
+ (func (export "as-local.tee-value") (result i32) (local i32)
+ (local.tee 0 (return (i32.const 1)))
+ )
+ (global $$a (mut i32) (i32.const 0))
+ (func (export "as-global.set-value") (result i32)
+ (global.set $$a (return (i32.const 1)))
+ )
+
+ (memory 1)
+ (func (export "as-load-address") (result f32)
+ (f32.load (return (f32.const 1.7)))
+ )
+ (func (export "as-loadN-address") (result i64)
+ (i64.load8_s (return (i64.const 30)))
+ )
+
+ (func (export "as-store-address") (result i32)
+ (f64.store (return (i32.const 30)) (f64.const 7)) (i32.const -1)
+ )
+ (func (export "as-store-value") (result i32)
+ (i64.store (i32.const 2) (return (i32.const 31))) (i32.const -1)
+ )
+
+ (func (export "as-storeN-address") (result i32)
+ (i32.store8 (return (i32.const 32)) (i32.const 7)) (i32.const -1)
+ )
+ (func (export "as-storeN-value") (result i32)
+ (i64.store16 (i32.const 2) (return (i32.const 33))) (i32.const -1)
+ )
+
+ (func (export "as-unary-operand") (result f32)
+ (f32.neg (return (f32.const 3.4)))
+ )
+
+ (func (export "as-binary-left") (result i32)
+ (i32.add (return (i32.const 3)) (i32.const 10))
+ )
+ (func (export "as-binary-right") (result i64)
+ (i64.sub (i64.const 10) (return (i64.const 45)))
+ )
+
+ (func (export "as-test-operand") (result i32)
+ (i32.eqz (return (i32.const 44)))
+ )
+
+ (func (export "as-compare-left") (result i32)
+ (f64.le (return (i32.const 43)) (f64.const 10))
+ )
+ (func (export "as-compare-right") (result i32)
+ (f32.ne (f32.const 10) (return (i32.const 42)))
+ )
+
+ (func (export "as-convert-operand") (result i32)
+ (i32.wrap_i64 (return (i32.const 41)))
+ )
+
+ (func (export "as-memory.grow-size") (result i32)
+ (memory.grow (return (i32.const 40)))
+ )
+)`);
+
+// ./test/core/return.wast:224
+assert_return(() => invoke($0, `type-i32`, []), []);
+
+// ./test/core/return.wast:225
+assert_return(() => invoke($0, `type-i64`, []), []);
+
+// ./test/core/return.wast:226
+assert_return(() => invoke($0, `type-f32`, []), []);
+
+// ./test/core/return.wast:227
+assert_return(() => invoke($0, `type-f64`, []), []);
+
+// ./test/core/return.wast:229
+assert_return(() => invoke($0, `type-i32-value`, []), [value("i32", 1)]);
+
+// ./test/core/return.wast:230
+assert_return(() => invoke($0, `type-i64-value`, []), [value("i64", 2n)]);
+
+// ./test/core/return.wast:231
+assert_return(() => invoke($0, `type-f32-value`, []), [value("f32", 3)]);
+
+// ./test/core/return.wast:232
+assert_return(() => invoke($0, `type-f64-value`, []), [value("f64", 4)]);
+
+// ./test/core/return.wast:234
+assert_return(() => invoke($0, `nullary`, []), []);
+
+// ./test/core/return.wast:235
+assert_return(() => invoke($0, `unary`, []), [value("f64", 3)]);
+
+// ./test/core/return.wast:237
+assert_return(() => invoke($0, `as-func-first`, []), [value("i32", 1)]);
+
+// ./test/core/return.wast:238
+assert_return(() => invoke($0, `as-func-mid`, []), [value("i32", 2)]);
+
+// ./test/core/return.wast:239
+assert_return(() => invoke($0, `as-func-last`, []), []);
+
+// ./test/core/return.wast:240
+assert_return(() => invoke($0, `as-func-value`, []), [value("i32", 3)]);
+
+// ./test/core/return.wast:242
+assert_return(() => invoke($0, `as-block-first`, []), []);
+
+// ./test/core/return.wast:243
+assert_return(() => invoke($0, `as-block-mid`, []), []);
+
+// ./test/core/return.wast:244
+assert_return(() => invoke($0, `as-block-last`, []), []);
+
+// ./test/core/return.wast:245
+assert_return(() => invoke($0, `as-block-value`, []), [value("i32", 2)]);
+
+// ./test/core/return.wast:247
+assert_return(() => invoke($0, `as-loop-first`, []), [value("i32", 3)]);
+
+// ./test/core/return.wast:248
+assert_return(() => invoke($0, `as-loop-mid`, []), [value("i32", 4)]);
+
+// ./test/core/return.wast:249
+assert_return(() => invoke($0, `as-loop-last`, []), [value("i32", 5)]);
+
+// ./test/core/return.wast:251
+assert_return(() => invoke($0, `as-br-value`, []), [value("i32", 9)]);
+
+// ./test/core/return.wast:253
+assert_return(() => invoke($0, `as-br_if-cond`, []), []);
+
+// ./test/core/return.wast:254
+assert_return(() => invoke($0, `as-br_if-value`, []), [value("i32", 8)]);
+
+// ./test/core/return.wast:255
+assert_return(() => invoke($0, `as-br_if-value-cond`, []), [value("i32", 9)]);
+
+// ./test/core/return.wast:257
+assert_return(() => invoke($0, `as-br_table-index`, []), [value("i64", 9n)]);
+
+// ./test/core/return.wast:258
+assert_return(() => invoke($0, `as-br_table-value`, []), [value("i32", 10)]);
+
+// ./test/core/return.wast:259
+assert_return(() => invoke($0, `as-br_table-value-index`, []), [value("i32", 11)]);
+
+// ./test/core/return.wast:261
+assert_return(() => invoke($0, `as-return-value`, []), [value("i64", 7n)]);
+
+// ./test/core/return.wast:263
+assert_return(() => invoke($0, `as-if-cond`, []), [value("i32", 2)]);
+
+// ./test/core/return.wast:264
+assert_return(() => invoke($0, `as-if-then`, [1, 6]), [value("i32", 3)]);
+
+// ./test/core/return.wast:265
+assert_return(() => invoke($0, `as-if-then`, [0, 6]), [value("i32", 6)]);
+
+// ./test/core/return.wast:266
+assert_return(() => invoke($0, `as-if-else`, [0, 6]), [value("i32", 4)]);
+
+// ./test/core/return.wast:267
+assert_return(() => invoke($0, `as-if-else`, [1, 6]), [value("i32", 6)]);
+
+// ./test/core/return.wast:269
+assert_return(() => invoke($0, `as-select-first`, [0, 6]), [value("i32", 5)]);
+
+// ./test/core/return.wast:270
+assert_return(() => invoke($0, `as-select-first`, [1, 6]), [value("i32", 5)]);
+
+// ./test/core/return.wast:271
+assert_return(() => invoke($0, `as-select-second`, [0, 6]), [value("i32", 6)]);
+
+// ./test/core/return.wast:272
+assert_return(() => invoke($0, `as-select-second`, [1, 6]), [value("i32", 6)]);
+
+// ./test/core/return.wast:273
+assert_return(() => invoke($0, `as-select-cond`, []), [value("i32", 7)]);
+
+// ./test/core/return.wast:275
+assert_return(() => invoke($0, `as-call-first`, []), [value("i32", 12)]);
+
+// ./test/core/return.wast:276
+assert_return(() => invoke($0, `as-call-mid`, []), [value("i32", 13)]);
+
+// ./test/core/return.wast:277
+assert_return(() => invoke($0, `as-call-last`, []), [value("i32", 14)]);
+
+// ./test/core/return.wast:279
+assert_return(() => invoke($0, `as-call_indirect-func`, []), [value("i32", 20)]);
+
+// ./test/core/return.wast:280
+assert_return(() => invoke($0, `as-call_indirect-first`, []), [value("i32", 21)]);
+
+// ./test/core/return.wast:281
+assert_return(() => invoke($0, `as-call_indirect-mid`, []), [value("i32", 22)]);
+
+// ./test/core/return.wast:282
+assert_return(() => invoke($0, `as-call_indirect-last`, []), [value("i32", 23)]);
+
+// ./test/core/return.wast:284
+assert_return(() => invoke($0, `as-local.set-value`, []), [value("i32", 17)]);
+
+// ./test/core/return.wast:285
+assert_return(() => invoke($0, `as-local.tee-value`, []), [value("i32", 1)]);
+
+// ./test/core/return.wast:286
+assert_return(() => invoke($0, `as-global.set-value`, []), [value("i32", 1)]);
+
+// ./test/core/return.wast:288
+assert_return(() => invoke($0, `as-load-address`, []), [value("f32", 1.7)]);
+
+// ./test/core/return.wast:289
+assert_return(() => invoke($0, `as-loadN-address`, []), [value("i64", 30n)]);
+
+// ./test/core/return.wast:291
+assert_return(() => invoke($0, `as-store-address`, []), [value("i32", 30)]);
+
+// ./test/core/return.wast:292
+assert_return(() => invoke($0, `as-store-value`, []), [value("i32", 31)]);
+
+// ./test/core/return.wast:293
+assert_return(() => invoke($0, `as-storeN-address`, []), [value("i32", 32)]);
+
+// ./test/core/return.wast:294
+assert_return(() => invoke($0, `as-storeN-value`, []), [value("i32", 33)]);
+
+// ./test/core/return.wast:296
+assert_return(() => invoke($0, `as-unary-operand`, []), [value("f32", 3.4)]);
+
+// ./test/core/return.wast:298
+assert_return(() => invoke($0, `as-binary-left`, []), [value("i32", 3)]);
+
+// ./test/core/return.wast:299
+assert_return(() => invoke($0, `as-binary-right`, []), [value("i64", 45n)]);
+
+// ./test/core/return.wast:301
+assert_return(() => invoke($0, `as-test-operand`, []), [value("i32", 44)]);
+
+// ./test/core/return.wast:303
+assert_return(() => invoke($0, `as-compare-left`, []), [value("i32", 43)]);
+
+// ./test/core/return.wast:304
+assert_return(() => invoke($0, `as-compare-right`, []), [value("i32", 42)]);
+
+// ./test/core/return.wast:306
+assert_return(() => invoke($0, `as-convert-operand`, []), [value("i32", 41)]);
+
+// ./test/core/return.wast:308
+assert_return(() => invoke($0, `as-memory.grow-size`, []), [value("i32", 40)]);
+
+// ./test/core/return.wast:310
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-empty-vs-num (result i32) (return)))`),
+ `type mismatch`,
+);
+
+// ./test/core/return.wast:314
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-value-empty-vs-num-in-block (result i32)
+ (i32.const 0)
+ (block (return))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/return.wast:323
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-value-empty-vs-num-in-loop (result i32)
+ (i32.const 0)
+ (loop (return))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/return.wast:332
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-value-empty-vs-num-in-then (result i32)
+ (i32.const 0) (i32.const 0)
+ (if (then (return)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/return.wast:341
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-value-empty-vs-num-in-else (result i32)
+ (i32.const 0) (i32.const 0)
+ (if (result i32) (then (i32.const 0)) (else (return))) (drop)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/return.wast:350
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-value-empty-vs-num-in-br (result i32)
+ (i32.const 0)
+ (block (br 0 (return)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/return.wast:359
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-value-empty-vs-num-in-br_if (result i32)
+ (i32.const 0)
+ (block (br_if 0 (return) (i32.const 1)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/return.wast:368
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-value-empty-vs-num-in-br_table (result i32)
+ (i32.const 0)
+ (block (br_table 0 (return)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/return.wast:377
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-value-empty-vs-num-in-return (result i32)
+ (return (return))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/return.wast:385
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-value-empty-vs-num-in-select (result i32)
+ (select (return) (i32.const 1) (i32.const 2))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/return.wast:393
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-value-empty-vs-num-in-call (result i32)
+ (call 1 (return))
+ )
+ (func (param i32) (result i32) (local.get 0))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/return.wast:402
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f (param i32) (result i32) (local.get 0))
+ (type $$sig (func (param i32) (result i32)))
+ (table funcref (elem $$f))
+ (func $$type-value-empty-vs-num-in-call_indirect (result i32)
+ (block (result i32)
+ (call_indirect (type $$sig)
+ (return) (i32.const 0)
+ )
+ )
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/return.wast:417
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-value-empty-vs-num-in-local.set (result i32)
+ (local i32)
+ (local.set 0 (return)) (local.get 0)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/return.wast:426
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-value-empty-vs-num-in-local.tee (result i32)
+ (local i32)
+ (local.tee 0 (return))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/return.wast:435
+assert_invalid(
+ () => instantiate(`(module
+ (global $$x (mut i32) (i32.const 0))
+ (func $$type-value-empty-vs-num-in-global.set (result i32)
+ (global.set $$x (return)) (global.get $$x)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/return.wast:444
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (func $$type-value-empty-vs-num-in-memory.grow (result i32)
+ (memory.grow (return))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/return.wast:453
+assert_invalid(
+ () => instantiate(`(module
+ (memory 0)
+ (func $$type-value-empty-vs-num-in-load (result i32)
+ (i32.load (return))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/return.wast:462
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-value-empty-vs-num-in-store (result i32)
+ (i32.store (return) (i32.const 1))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/return.wast:471
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-void-vs-num (result f64) (return (nop))))`),
+ `type mismatch`,
+);
+
+// ./test/core/return.wast:475
+assert_invalid(
+ () => instantiate(`(module (func $$type-value-num-vs-num (result f64) (return (i64.const 1))))`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/simd_address.wast.js b/js/src/jit-test/tests/wasm/spec/spec/simd_address.wast.js
new file mode 100644
index 0000000000..c94be782b9
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/simd_address.wast.js
@@ -0,0 +1,348 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_address.wast
+
+// ./test/core/simd/simd_address.wast:3
+let $0 = instantiate(`(module
+ (memory 1)
+ (data (i32.const 0) "\\00\\01\\02\\03\\04\\05\\06\\07\\08\\09\\10\\11\\12\\13\\14\\15")
+ (data (offset (i32.const 65505)) "\\16\\17\\18\\19\\20\\21\\22\\23\\24\\25\\26\\27\\28\\29\\30\\31")
+
+ (func (export "load_data_1") (param $$i i32) (result v128)
+ (v128.load offset=0 (local.get $$i)) ;; 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x10 0x11 0x12 0x13 0x14 0x15
+ )
+ (func (export "load_data_2") (param $$i i32) (result v128)
+ (v128.load align=1 (local.get $$i)) ;; 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x10 0x11 0x12 0x13 0x14 0x15
+ )
+ (func (export "load_data_3") (param $$i i32) (result v128)
+ (v128.load offset=1 align=1 (local.get $$i)) ;; 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x10 0x11 0x12 0x13 0x14 0x15 0x00
+ )
+ (func (export "load_data_4") (param $$i i32) (result v128)
+ (v128.load offset=2 align=1 (local.get $$i)) ;; 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x10 0x11 0x12 0x13 0x14 0x15 0x00 0x00
+ )
+ (func (export "load_data_5") (param $$i i32) (result v128)
+ (v128.load offset=15 align=1 (local.get $$i)) ;; 0x15 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
+ )
+
+ (func (export "store_data_0") (result v128)
+ (v128.store offset=0 (i32.const 0) (v128.const f32x4 0 1 2 3))
+ (v128.load offset=0 (i32.const 0))
+ )
+ (func (export "store_data_1") (result v128)
+ (v128.store align=1 (i32.const 0) (v128.const i32x4 0 1 2 3))
+ (v128.load align=1 (i32.const 0))
+ )
+ (func (export "store_data_2") (result v128)
+ (v128.store offset=1 align=1 (i32.const 0) (v128.const i16x8 0 1 2 3 4 5 6 7))
+ (v128.load offset=1 align=1 (i32.const 0))
+ )
+ (func (export "store_data_3") (result v128)
+ (v128.store offset=2 align=1 (i32.const 0) (v128.const i8x16 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15))
+ (v128.load offset=2 align=1 (i32.const 0))
+ )
+ (func (export "store_data_4") (result v128)
+ (v128.store offset=15 align=1 (i32.const 0) (v128.const i32x4 0 1 2 3))
+ (v128.load offset=15 (i32.const 0))
+ )
+ (func (export "store_data_5") (result v128)
+ (v128.store offset=65520 align=1 (i32.const 0) (v128.const i32x4 0 1 2 3))
+ (v128.load offset=65520 (i32.const 0))
+ )
+ (func (export "store_data_6") (param $$i i32)
+ (v128.store offset=1 align=1 (local.get $$i) (v128.const i32x4 0 1 2 3))
+ )
+)`);
+
+// ./test/core/simd/simd_address.wast:53
+assert_return(
+ () => invoke($0, `load_data_1`, [0]),
+ [i32x4([0x3020100, 0x7060504, 0x11100908, 0x15141312])],
+);
+
+// ./test/core/simd/simd_address.wast:54
+assert_return(
+ () => invoke($0, `load_data_2`, [0]),
+ [i32x4([0x3020100, 0x7060504, 0x11100908, 0x15141312])],
+);
+
+// ./test/core/simd/simd_address.wast:55
+assert_return(
+ () => invoke($0, `load_data_3`, [0]),
+ [i32x4([0x4030201, 0x8070605, 0x12111009, 0x151413])],
+);
+
+// ./test/core/simd/simd_address.wast:56
+assert_return(() => invoke($0, `load_data_4`, [0]), [i32x4([0x5040302, 0x9080706, 0x13121110, 0x1514])]);
+
+// ./test/core/simd/simd_address.wast:57
+assert_return(() => invoke($0, `load_data_5`, [0]), [i32x4([0x15, 0x0, 0x0, 0x0])]);
+
+// ./test/core/simd/simd_address.wast:59
+assert_return(
+ () => invoke($0, `load_data_1`, [0]),
+ [i16x8([0x100, 0x302, 0x504, 0x706, 0x908, 0x1110, 0x1312, 0x1514])],
+);
+
+// ./test/core/simd/simd_address.wast:60
+assert_return(
+ () => invoke($0, `load_data_2`, [0]),
+ [i16x8([0x100, 0x302, 0x504, 0x706, 0x908, 0x1110, 0x1312, 0x1514])],
+);
+
+// ./test/core/simd/simd_address.wast:61
+assert_return(
+ () => invoke($0, `load_data_3`, [0]),
+ [i16x8([0x201, 0x403, 0x605, 0x807, 0x1009, 0x1211, 0x1413, 0x15])],
+);
+
+// ./test/core/simd/simd_address.wast:62
+assert_return(
+ () => invoke($0, `load_data_4`, [0]),
+ [i16x8([0x302, 0x504, 0x706, 0x908, 0x1110, 0x1312, 0x1514, 0x0])],
+);
+
+// ./test/core/simd/simd_address.wast:63
+assert_return(() => invoke($0, `load_data_5`, [0]), [i16x8([0x15, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])]);
+
+// ./test/core/simd/simd_address.wast:65
+assert_return(
+ () => invoke($0, `load_data_1`, [0]),
+ [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15]),
+ ],
+);
+
+// ./test/core/simd/simd_address.wast:66
+assert_return(
+ () => invoke($0, `load_data_2`, [0]),
+ [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15]),
+ ],
+);
+
+// ./test/core/simd/simd_address.wast:67
+assert_return(
+ () => invoke($0, `load_data_3`, [0]),
+ [
+ i8x16([0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_address.wast:68
+assert_return(
+ () => invoke($0, `load_data_4`, [0]),
+ [
+ i8x16([0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_address.wast:69
+assert_return(
+ () => invoke($0, `load_data_5`, [0]),
+ [
+ i8x16([0x15, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_address.wast:71
+assert_return(
+ () => invoke($0, `load_data_1`, [65505]),
+ [i32x4([0x19181716, 0x23222120, 0x27262524, 0x31302928])],
+);
+
+// ./test/core/simd/simd_address.wast:72
+assert_return(
+ () => invoke($0, `load_data_2`, [65505]),
+ [i32x4([0x19181716, 0x23222120, 0x27262524, 0x31302928])],
+);
+
+// ./test/core/simd/simd_address.wast:73
+assert_return(
+ () => invoke($0, `load_data_3`, [65505]),
+ [i32x4([0x20191817, 0x24232221, 0x28272625, 0x313029])],
+);
+
+// ./test/core/simd/simd_address.wast:74
+assert_return(
+ () => invoke($0, `load_data_4`, [65505]),
+ [i32x4([0x21201918, 0x25242322, 0x29282726, 0x3130])],
+);
+
+// ./test/core/simd/simd_address.wast:75
+assert_return(() => invoke($0, `load_data_5`, [65505]), [i32x4([0x31, 0x0, 0x0, 0x0])]);
+
+// ./test/core/simd/simd_address.wast:77
+assert_return(
+ () => invoke($0, `load_data_1`, [65505]),
+ [i16x8([0x1716, 0x1918, 0x2120, 0x2322, 0x2524, 0x2726, 0x2928, 0x3130])],
+);
+
+// ./test/core/simd/simd_address.wast:78
+assert_return(
+ () => invoke($0, `load_data_2`, [65505]),
+ [i16x8([0x1716, 0x1918, 0x2120, 0x2322, 0x2524, 0x2726, 0x2928, 0x3130])],
+);
+
+// ./test/core/simd/simd_address.wast:79
+assert_return(
+ () => invoke($0, `load_data_3`, [65505]),
+ [i16x8([0x1817, 0x2019, 0x2221, 0x2423, 0x2625, 0x2827, 0x3029, 0x31])],
+);
+
+// ./test/core/simd/simd_address.wast:80
+assert_return(
+ () => invoke($0, `load_data_4`, [65505]),
+ [i16x8([0x1918, 0x2120, 0x2322, 0x2524, 0x2726, 0x2928, 0x3130, 0x0])],
+);
+
+// ./test/core/simd/simd_address.wast:81
+assert_return(
+ () => invoke($0, `load_data_5`, [65505]),
+ [i16x8([0x31, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_address.wast:83
+assert_return(
+ () => invoke($0, `load_data_1`, [65505]),
+ [
+ i8x16([0x16, 0x17, 0x18, 0x19, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x30, 0x31]),
+ ],
+);
+
+// ./test/core/simd/simd_address.wast:84
+assert_return(
+ () => invoke($0, `load_data_2`, [65505]),
+ [
+ i8x16([0x16, 0x17, 0x18, 0x19, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x30, 0x31]),
+ ],
+);
+
+// ./test/core/simd/simd_address.wast:85
+assert_return(
+ () => invoke($0, `load_data_3`, [65505]),
+ [
+ i8x16([0x17, 0x18, 0x19, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x30, 0x31, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_address.wast:86
+assert_return(
+ () => invoke($0, `load_data_4`, [65505]),
+ [
+ i8x16([0x18, 0x19, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x30, 0x31, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_address.wast:87
+assert_return(
+ () => invoke($0, `load_data_5`, [65505]),
+ [
+ i8x16([0x31, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_address.wast:89
+assert_trap(() => invoke($0, `load_data_3`, [-1]), `out of bounds memory access`);
+
+// ./test/core/simd/simd_address.wast:90
+assert_trap(() => invoke($0, `load_data_5`, [65506]), `out of bounds memory access`);
+
+// ./test/core/simd/simd_address.wast:92
+assert_return(
+ () => invoke($0, `store_data_0`, []),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 1),
+ value("f32", 2),
+ value("f32", 3),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_address.wast:93
+assert_return(() => invoke($0, `store_data_1`, []), [i32x4([0x0, 0x1, 0x2, 0x3])]);
+
+// ./test/core/simd/simd_address.wast:94
+assert_return(() => invoke($0, `store_data_2`, []), [i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7])]);
+
+// ./test/core/simd/simd_address.wast:95
+assert_return(
+ () => invoke($0, `store_data_3`, []),
+ [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ],
+);
+
+// ./test/core/simd/simd_address.wast:96
+assert_return(() => invoke($0, `store_data_4`, []), [i32x4([0x0, 0x1, 0x2, 0x3])]);
+
+// ./test/core/simd/simd_address.wast:97
+assert_return(() => invoke($0, `store_data_5`, []), [i32x4([0x0, 0x1, 0x2, 0x3])]);
+
+// ./test/core/simd/simd_address.wast:99
+assert_trap(() => invoke($0, `store_data_6`, [-1]), `out of bounds memory access`);
+
+// ./test/core/simd/simd_address.wast:100
+assert_trap(() => invoke($0, `store_data_6`, [65535]), `out of bounds memory access`);
+
+// ./test/core/simd/simd_address.wast:104
+let $1 = instantiate(`(module
+ (memory 1)
+ (func (export "v128.load_offset_65521")
+ (drop (v128.load offset=65521 (i32.const 0)))
+ )
+)`);
+
+// ./test/core/simd/simd_address.wast:110
+assert_trap(() => invoke($1, `v128.load_offset_65521`, []), `out of bounds memory access`);
+
+// ./test/core/simd/simd_address.wast:112
+assert_malformed(
+ () => instantiate(`(memory 1) (func (drop (v128.load offset=-1 (i32.const 0))) ) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_address.wast:122
+let $2 = instantiate(`(module
+ (memory 1)
+ (func (export "v128.store_offset_65521")
+ (v128.store offset=65521 (i32.const 0) (v128.const i32x4 0 0 0 0))
+ )
+)`);
+
+// ./test/core/simd/simd_address.wast:128
+assert_trap(() => invoke($2, `v128.store_offset_65521`, []), `out of bounds memory access`);
+
+// ./test/core/simd/simd_address.wast:130
+assert_malformed(
+ () => instantiate(`(memory 1) (func (v128.store offset=-1 (i32.const 0) (v128.const i32x4 0 0 0 0)) ) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_address.wast:143
+assert_malformed(
+ () => instantiate(`(memory 1) (func (drop (v128.load offset=4294967296 (i32.const 0)))) `),
+ `i32 constant`,
+);
+
+// ./test/core/simd/simd_address.wast:151
+assert_malformed(
+ () => instantiate(`(memory 1) (func (v128.store offset=4294967296 (i32.const 0) (v128.const i32x4 0 0 0 0))) `),
+ `i32 constant`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/simd_bit_shift.wast.js b/js/src/jit-test/tests/wasm/spec/spec/simd_bit_shift.wast.js
new file mode 100644
index 0000000000..485ec62861
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/simd_bit_shift.wast.js
@@ -0,0 +1,2102 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_bit_shift.wast
+
+// ./test/core/simd/simd_bit_shift.wast:3
+let $0 = instantiate(`(module
+ (func (export "i8x16.shl") (param $$0 v128) (param $$1 i32) (result v128) (i8x16.shl (local.get $$0) (local.get $$1)))
+ (func (export "i8x16.shr_s") (param $$0 v128) (param $$1 i32) (result v128) (i8x16.shr_s (local.get $$0) (local.get $$1)))
+ (func (export "i8x16.shr_u") (param $$0 v128) (param $$1 i32) (result v128) (i8x16.shr_u (local.get $$0) (local.get $$1)))
+
+ (func (export "i16x8.shl") (param $$0 v128) (param $$1 i32) (result v128) (i16x8.shl (local.get $$0) (local.get $$1)))
+ (func (export "i16x8.shr_s") (param $$0 v128) (param $$1 i32) (result v128) (i16x8.shr_s (local.get $$0) (local.get $$1)))
+ (func (export "i16x8.shr_u") (param $$0 v128) (param $$1 i32) (result v128) (i16x8.shr_u (local.get $$0) (local.get $$1)))
+
+ (func (export "i32x4.shl") (param $$0 v128) (param $$1 i32) (result v128) (i32x4.shl (local.get $$0) (local.get $$1)))
+ (func (export "i32x4.shr_s") (param $$0 v128) (param $$1 i32) (result v128) (i32x4.shr_s (local.get $$0) (local.get $$1)))
+ (func (export "i32x4.shr_u") (param $$0 v128) (param $$1 i32) (result v128) (i32x4.shr_u (local.get $$0) (local.get $$1)))
+
+ (func (export "i64x2.shl") (param $$0 v128) (param $$1 i32) (result v128) (i64x2.shl (local.get $$0) (local.get $$1)))
+ (func (export "i64x2.shr_s") (param $$0 v128) (param $$1 i32) (result v128) (i64x2.shr_s (local.get $$0) (local.get $$1)))
+ (func (export "i64x2.shr_u") (param $$0 v128) (param $$1 i32) (result v128) (i64x2.shr_u (local.get $$0) (local.get $$1)))
+
+ ;; shifting by a constant amount
+ ;; i8x16
+ (func (export "i8x16.shl_1") (param $$0 v128) (result v128) (i8x16.shl (local.get $$0) (i32.const 1)))
+ (func (export "i8x16.shr_u_8") (param $$0 v128) (result v128) (i8x16.shr_u (local.get $$0) (i32.const 8)))
+ (func (export "i8x16.shr_s_9") (param $$0 v128) (result v128) (i8x16.shr_s (local.get $$0) (i32.const 9)))
+
+ ;; i16x8
+ (func (export "i16x8.shl_1") (param $$0 v128) (result v128) (i16x8.shl (local.get $$0) (i32.const 1)))
+ (func (export "i16x8.shr_u_16") (param $$0 v128) (result v128) (i16x8.shr_u (local.get $$0) (i32.const 16)))
+ (func (export "i16x8.shr_s_17") (param $$0 v128) (result v128) (i16x8.shr_s (local.get $$0) (i32.const 17)))
+
+ ;; i32x4
+ (func (export "i32x4.shl_1") (param $$0 v128) (result v128) (i32x4.shl (local.get $$0) (i32.const 1)))
+ (func (export "i32x4.shr_u_32") (param $$0 v128) (result v128) (i32x4.shr_u (local.get $$0) (i32.const 32)))
+ (func (export "i32x4.shr_s_33") (param $$0 v128) (result v128) (i32x4.shr_s (local.get $$0) (i32.const 33)))
+
+ ;; i64x2
+ (func (export "i64x2.shl_1") (param $$0 v128) (result v128) (i64x2.shl (local.get $$0) (i32.const 1)))
+ (func (export "i64x2.shr_u_64") (param $$0 v128) (result v128) (i64x2.shr_u (local.get $$0) (i32.const 64)))
+ (func (export "i64x2.shr_s_65") (param $$0 v128) (result v128) (i64x2.shr_s (local.get $$0) (i32.const 65)))
+)`);
+
+// ./test/core/simd/simd_bit_shift.wast:44
+assert_return(
+ () => invoke($0, `i8x16.shl`, [
+ i8x16([0x80, 0xc0, 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd]),
+ 1,
+ ]),
+ [
+ i8x16([0x0, 0x80, 0x0, 0x2, 0x4, 0x6, 0x8, 0xa, 0xc, 0xe, 0x10, 0x12, 0x14, 0x16, 0x18, 0x1a]),
+ ],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:47
+assert_return(
+ () => invoke($0, `i8x16.shl`, [
+ i8x16([0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff, 0xa0, 0xb0, 0xc0, 0xd0, 0xe0, 0xf0, 0xa, 0xb, 0xc, 0xd]),
+ 4,
+ ]),
+ [
+ i8x16([0xa0, 0xb0, 0xc0, 0xd0, 0xe0, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa0, 0xb0, 0xc0, 0xd0]),
+ ],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:51
+assert_return(
+ () => invoke($0, `i8x16.shl`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ 8,
+ ]),
+ [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:54
+assert_return(
+ () => invoke($0, `i8x16.shl`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ 32,
+ ]),
+ [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:57
+assert_return(
+ () => invoke($0, `i8x16.shl`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ 128,
+ ]),
+ [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:60
+assert_return(
+ () => invoke($0, `i8x16.shl`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ 256,
+ ]),
+ [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:64
+assert_return(
+ () => invoke($0, `i8x16.shl`, [
+ i8x16([0x80, 0xc0, 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd]),
+ 9,
+ ]),
+ [
+ i8x16([0x0, 0x80, 0x0, 0x2, 0x4, 0x6, 0x8, 0xa, 0xc, 0xe, 0x10, 0x12, 0x14, 0x16, 0x18, 0x1a]),
+ ],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:67
+assert_return(
+ () => invoke($0, `i8x16.shl`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ 9,
+ ]),
+ [
+ i8x16([0x0, 0x2, 0x4, 0x6, 0x8, 0xa, 0xc, 0xe, 0x10, 0x12, 0x14, 0x16, 0x18, 0x1a, 0x1c, 0x1e]),
+ ],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:70
+assert_return(
+ () => invoke($0, `i8x16.shl`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ 17,
+ ]),
+ [
+ i8x16([0x0, 0x2, 0x4, 0x6, 0x8, 0xa, 0xc, 0xe, 0x10, 0x12, 0x14, 0x16, 0x18, 0x1a, 0x1c, 0x1e]),
+ ],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:73
+assert_return(
+ () => invoke($0, `i8x16.shl`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ 33,
+ ]),
+ [
+ i8x16([0x0, 0x2, 0x4, 0x6, 0x8, 0xa, 0xc, 0xe, 0x10, 0x12, 0x14, 0x16, 0x18, 0x1a, 0x1c, 0x1e]),
+ ],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:76
+assert_return(
+ () => invoke($0, `i8x16.shl`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ 129,
+ ]),
+ [
+ i8x16([0x0, 0x2, 0x4, 0x6, 0x8, 0xa, 0xc, 0xe, 0x10, 0x12, 0x14, 0x16, 0x18, 0x1a, 0x1c, 0x1e]),
+ ],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:79
+assert_return(
+ () => invoke($0, `i8x16.shl`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ 257,
+ ]),
+ [
+ i8x16([0x0, 0x2, 0x4, 0x6, 0x8, 0xa, 0xc, 0xe, 0x10, 0x12, 0x14, 0x16, 0x18, 0x1a, 0x1c, 0x1e]),
+ ],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:82
+assert_return(
+ () => invoke($0, `i8x16.shl`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ 513,
+ ]),
+ [
+ i8x16([0x0, 0x2, 0x4, 0x6, 0x8, 0xa, 0xc, 0xe, 0x10, 0x12, 0x14, 0x16, 0x18, 0x1a, 0x1c, 0x1e]),
+ ],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:85
+assert_return(
+ () => invoke($0, `i8x16.shl`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ 514,
+ ]),
+ [
+ i8x16([0x0, 0x4, 0x8, 0xc, 0x10, 0x14, 0x18, 0x1c, 0x20, 0x24, 0x28, 0x2c, 0x30, 0x34, 0x38, 0x3c]),
+ ],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:90
+assert_return(
+ () => invoke($0, `i8x16.shr_u`, [
+ i8x16([0x80, 0xc0, 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd]),
+ 1,
+ ]),
+ [
+ i8x16([0x40, 0x60, 0x0, 0x0, 0x1, 0x1, 0x2, 0x2, 0x3, 0x3, 0x4, 0x4, 0x5, 0x5, 0x6, 0x6]),
+ ],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:93
+assert_return(
+ () => invoke($0, `i8x16.shr_u`, [
+ i8x16([0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff, 0xa0, 0xb0, 0xc0, 0xd0, 0xe0, 0xf0, 0xa, 0xb, 0xc, 0xd]),
+ 4,
+ ]),
+ [
+ i8x16([0xa, 0xb, 0xc, 0xd, 0xe, 0xf, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:97
+assert_return(
+ () => invoke($0, `i8x16.shr_u`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ 8,
+ ]),
+ [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:100
+assert_return(
+ () => invoke($0, `i8x16.shr_u`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ 32,
+ ]),
+ [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:103
+assert_return(
+ () => invoke($0, `i8x16.shr_u`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ 128,
+ ]),
+ [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:106
+assert_return(
+ () => invoke($0, `i8x16.shr_u`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ 256,
+ ]),
+ [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:110
+assert_return(
+ () => invoke($0, `i8x16.shr_u`, [
+ i8x16([0x80, 0xc0, 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd]),
+ 9,
+ ]),
+ [
+ i8x16([0x40, 0x60, 0x0, 0x0, 0x1, 0x1, 0x2, 0x2, 0x3, 0x3, 0x4, 0x4, 0x5, 0x5, 0x6, 0x6]),
+ ],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:113
+assert_return(
+ () => invoke($0, `i8x16.shr_u`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ 9,
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x1, 0x1, 0x2, 0x2, 0x3, 0x3, 0x4, 0x4, 0x5, 0x5, 0x6, 0x6, 0x7, 0x7]),
+ ],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:116
+assert_return(
+ () => invoke($0, `i8x16.shr_u`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ 17,
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x1, 0x1, 0x2, 0x2, 0x3, 0x3, 0x4, 0x4, 0x5, 0x5, 0x6, 0x6, 0x7, 0x7]),
+ ],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:119
+assert_return(
+ () => invoke($0, `i8x16.shr_u`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ 33,
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x1, 0x1, 0x2, 0x2, 0x3, 0x3, 0x4, 0x4, 0x5, 0x5, 0x6, 0x6, 0x7, 0x7]),
+ ],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:122
+assert_return(
+ () => invoke($0, `i8x16.shr_u`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ 129,
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x1, 0x1, 0x2, 0x2, 0x3, 0x3, 0x4, 0x4, 0x5, 0x5, 0x6, 0x6, 0x7, 0x7]),
+ ],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:125
+assert_return(
+ () => invoke($0, `i8x16.shr_u`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ 257,
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x1, 0x1, 0x2, 0x2, 0x3, 0x3, 0x4, 0x4, 0x5, 0x5, 0x6, 0x6, 0x7, 0x7]),
+ ],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:128
+assert_return(
+ () => invoke($0, `i8x16.shr_u`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ 513,
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x1, 0x1, 0x2, 0x2, 0x3, 0x3, 0x4, 0x4, 0x5, 0x5, 0x6, 0x6, 0x7, 0x7]),
+ ],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:131
+assert_return(
+ () => invoke($0, `i8x16.shr_u`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ 514,
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x2, 0x2, 0x2, 0x2, 0x3, 0x3, 0x3, 0x3]),
+ ],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:136
+assert_return(
+ () => invoke($0, `i8x16.shr_s`, [
+ i8x16([0x80, 0xc0, 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd]),
+ 1,
+ ]),
+ [
+ i8x16([0xc0, 0xe0, 0x0, 0x0, 0x1, 0x1, 0x2, 0x2, 0x3, 0x3, 0x4, 0x4, 0x5, 0x5, 0x6, 0x6]),
+ ],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:139
+assert_return(
+ () => invoke($0, `i8x16.shr_s`, [
+ i8x16([0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff, 0xa0, 0xb0, 0xc0, 0xd0, 0xe0, 0xf0, 0xa, 0xb, 0xc, 0xd]),
+ 4,
+ ]),
+ [
+ i8x16([0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:143
+assert_return(
+ () => invoke($0, `i8x16.shr_s`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ 8,
+ ]),
+ [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:146
+assert_return(
+ () => invoke($0, `i8x16.shr_s`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ 32,
+ ]),
+ [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:149
+assert_return(
+ () => invoke($0, `i8x16.shr_s`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ 128,
+ ]),
+ [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:152
+assert_return(
+ () => invoke($0, `i8x16.shr_s`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ 256,
+ ]),
+ [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:156
+assert_return(
+ () => invoke($0, `i8x16.shr_s`, [
+ i8x16([0x80, 0xc0, 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd]),
+ 9,
+ ]),
+ [
+ i8x16([0xc0, 0xe0, 0x0, 0x0, 0x1, 0x1, 0x2, 0x2, 0x3, 0x3, 0x4, 0x4, 0x5, 0x5, 0x6, 0x6]),
+ ],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:159
+assert_return(
+ () => invoke($0, `i8x16.shr_s`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ 9,
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x1, 0x1, 0x2, 0x2, 0x3, 0x3, 0x4, 0x4, 0x5, 0x5, 0x6, 0x6, 0x7, 0x7]),
+ ],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:162
+assert_return(
+ () => invoke($0, `i8x16.shr_s`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ 17,
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x1, 0x1, 0x2, 0x2, 0x3, 0x3, 0x4, 0x4, 0x5, 0x5, 0x6, 0x6, 0x7, 0x7]),
+ ],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:165
+assert_return(
+ () => invoke($0, `i8x16.shr_s`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ 33,
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x1, 0x1, 0x2, 0x2, 0x3, 0x3, 0x4, 0x4, 0x5, 0x5, 0x6, 0x6, 0x7, 0x7]),
+ ],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:168
+assert_return(
+ () => invoke($0, `i8x16.shr_s`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ 129,
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x1, 0x1, 0x2, 0x2, 0x3, 0x3, 0x4, 0x4, 0x5, 0x5, 0x6, 0x6, 0x7, 0x7]),
+ ],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:171
+assert_return(
+ () => invoke($0, `i8x16.shr_s`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ 257,
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x1, 0x1, 0x2, 0x2, 0x3, 0x3, 0x4, 0x4, 0x5, 0x5, 0x6, 0x6, 0x7, 0x7]),
+ ],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:174
+assert_return(
+ () => invoke($0, `i8x16.shr_s`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ 513,
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x1, 0x1, 0x2, 0x2, 0x3, 0x3, 0x4, 0x4, 0x5, 0x5, 0x6, 0x6, 0x7, 0x7]),
+ ],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:177
+assert_return(
+ () => invoke($0, `i8x16.shr_s`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ 514,
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x2, 0x2, 0x2, 0x2, 0x3, 0x3, 0x3, 0x3]),
+ ],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:181
+assert_return(
+ () => invoke($0, `i8x16.shl_1`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ]),
+ [
+ i8x16([0x0, 0x2, 0x4, 0x6, 0x8, 0xa, 0xc, 0xe, 0x10, 0x12, 0x14, 0x16, 0x18, 0x1a, 0x1c, 0x1e]),
+ ],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:183
+assert_return(
+ () => invoke($0, `i8x16.shr_u_8`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ]),
+ [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:185
+assert_return(
+ () => invoke($0, `i8x16.shr_s_9`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x1, 0x1, 0x2, 0x2, 0x3, 0x3, 0x4, 0x4, 0x5, 0x5, 0x6, 0x6, 0x7, 0x7]),
+ ],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:190
+assert_return(
+ () => invoke($0, `i16x8.shl`, [
+ i16x8([0xff80, 0xffc0, 0x0, 0x1, 0x2, 0x3, 0x4, 0x5]),
+ 1,
+ ]),
+ [i16x8([0xff00, 0xff80, 0x0, 0x2, 0x4, 0x6, 0x8, 0xa])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:193
+assert_return(
+ () => invoke($0, `i16x8.shl`, [
+ i16x8([0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039]),
+ 2,
+ ]),
+ [i16x8([0xc0e4, 0xc0e4, 0xc0e4, 0xc0e4, 0xc0e4, 0xc0e4, 0xc0e4, 0xc0e4])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:196
+assert_return(
+ () => invoke($0, `i16x8.shl`, [
+ i16x8([0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234]),
+ 2,
+ ]),
+ [i16x8([0x48d0, 0x48d0, 0x48d0, 0x48d0, 0x48d0, 0x48d0, 0x48d0, 0x48d0])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:199
+assert_return(
+ () => invoke($0, `i16x8.shl`, [
+ i16x8([0xaabb, 0xccdd, 0xeeff, 0xa0b0, 0xc0d0, 0xe0f0, 0xa0b, 0xc0d]),
+ 4,
+ ]),
+ [i16x8([0xabb0, 0xcdd0, 0xeff0, 0xb00, 0xd00, 0xf00, 0xa0b0, 0xc0d0])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:202
+assert_return(
+ () => invoke($0, `i16x8.shl`, [i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7]), 8]),
+ [i16x8([0x0, 0x100, 0x200, 0x300, 0x400, 0x500, 0x600, 0x700])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:206
+assert_return(
+ () => invoke($0, `i16x8.shl`, [i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7]), 32]),
+ [i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:209
+assert_return(
+ () => invoke($0, `i16x8.shl`, [i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7]), 128]),
+ [i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:212
+assert_return(
+ () => invoke($0, `i16x8.shl`, [i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7]), 256]),
+ [i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:216
+assert_return(
+ () => invoke($0, `i16x8.shl`, [
+ i16x8([0xff80, 0xffc0, 0x0, 0x1, 0x2, 0x3, 0x4, 0x5]),
+ 17,
+ ]),
+ [i16x8([0xff00, 0xff80, 0x0, 0x2, 0x4, 0x6, 0x8, 0xa])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:219
+assert_return(
+ () => invoke($0, `i16x8.shl`, [i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7]), 17]),
+ [i16x8([0x0, 0x2, 0x4, 0x6, 0x8, 0xa, 0xc, 0xe])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:222
+assert_return(
+ () => invoke($0, `i16x8.shl`, [i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7]), 33]),
+ [i16x8([0x0, 0x2, 0x4, 0x6, 0x8, 0xa, 0xc, 0xe])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:225
+assert_return(
+ () => invoke($0, `i16x8.shl`, [i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7]), 129]),
+ [i16x8([0x0, 0x2, 0x4, 0x6, 0x8, 0xa, 0xc, 0xe])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:228
+assert_return(
+ () => invoke($0, `i16x8.shl`, [i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7]), 257]),
+ [i16x8([0x0, 0x2, 0x4, 0x6, 0x8, 0xa, 0xc, 0xe])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:231
+assert_return(
+ () => invoke($0, `i16x8.shl`, [i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7]), 513]),
+ [i16x8([0x0, 0x2, 0x4, 0x6, 0x8, 0xa, 0xc, 0xe])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:234
+assert_return(
+ () => invoke($0, `i16x8.shl`, [i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7]), 514]),
+ [i16x8([0x0, 0x4, 0x8, 0xc, 0x10, 0x14, 0x18, 0x1c])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:240
+assert_return(
+ () => invoke($0, `i16x8.shr_u`, [
+ i16x8([0xff80, 0xffc0, 0x0, 0x1, 0x2, 0x3, 0x4, 0x5]),
+ 1,
+ ]),
+ [i16x8([0x7fc0, 0x7fe0, 0x0, 0x0, 0x1, 0x1, 0x2, 0x2])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:243
+assert_return(
+ () => invoke($0, `i16x8.shr_u`, [
+ i16x8([0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039]),
+ 2,
+ ]),
+ [i16x8([0xc0e, 0xc0e, 0xc0e, 0xc0e, 0xc0e, 0xc0e, 0xc0e, 0xc0e])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:246
+assert_return(
+ () => invoke($0, `i16x8.shr_u`, [
+ i16x8([0x90ab, 0x90ab, 0x90ab, 0x90ab, 0x90ab, 0x90ab, 0x90ab, 0x90ab]),
+ 2,
+ ]),
+ [i16x8([0x242a, 0x242a, 0x242a, 0x242a, 0x242a, 0x242a, 0x242a, 0x242a])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:249
+assert_return(
+ () => invoke($0, `i16x8.shr_u`, [
+ i16x8([0xaabb, 0xccdd, 0xeeff, 0xa0b0, 0xc0d0, 0xe0f0, 0xa0b, 0xc0d]),
+ 4,
+ ]),
+ [i16x8([0xaab, 0xccd, 0xeef, 0xa0b, 0xc0d, 0xe0f, 0xa0, 0xc0])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:252
+assert_return(
+ () => invoke($0, `i16x8.shr_u`, [i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7]), 8]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:256
+assert_return(
+ () => invoke($0, `i16x8.shr_u`, [i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7]), 32]),
+ [i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:259
+assert_return(
+ () => invoke($0, `i16x8.shr_u`, [
+ i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7]),
+ 128,
+ ]),
+ [i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:262
+assert_return(
+ () => invoke($0, `i16x8.shr_u`, [
+ i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7]),
+ 256,
+ ]),
+ [i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:266
+assert_return(
+ () => invoke($0, `i16x8.shr_u`, [
+ i16x8([0xff80, 0xffc0, 0x0, 0x1, 0x2, 0x3, 0x4, 0x5]),
+ 17,
+ ]),
+ [i16x8([0x7fc0, 0x7fe0, 0x0, 0x0, 0x1, 0x1, 0x2, 0x2])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:269
+assert_return(
+ () => invoke($0, `i16x8.shr_u`, [i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7]), 17]),
+ [i16x8([0x0, 0x0, 0x1, 0x1, 0x2, 0x2, 0x3, 0x3])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:272
+assert_return(
+ () => invoke($0, `i16x8.shr_u`, [i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7]), 33]),
+ [i16x8([0x0, 0x0, 0x1, 0x1, 0x2, 0x2, 0x3, 0x3])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:275
+assert_return(
+ () => invoke($0, `i16x8.shr_u`, [
+ i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7]),
+ 129,
+ ]),
+ [i16x8([0x0, 0x0, 0x1, 0x1, 0x2, 0x2, 0x3, 0x3])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:278
+assert_return(
+ () => invoke($0, `i16x8.shr_u`, [
+ i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7]),
+ 257,
+ ]),
+ [i16x8([0x0, 0x0, 0x1, 0x1, 0x2, 0x2, 0x3, 0x3])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:281
+assert_return(
+ () => invoke($0, `i16x8.shr_u`, [
+ i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7]),
+ 513,
+ ]),
+ [i16x8([0x0, 0x0, 0x1, 0x1, 0x2, 0x2, 0x3, 0x3])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:284
+assert_return(
+ () => invoke($0, `i16x8.shr_u`, [
+ i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7]),
+ 514,
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:290
+assert_return(
+ () => invoke($0, `i16x8.shr_s`, [
+ i16x8([0xff80, 0xffc0, 0x0, 0x1, 0x2, 0x3, 0x4, 0x5]),
+ 1,
+ ]),
+ [i16x8([0xffc0, 0xffe0, 0x0, 0x0, 0x1, 0x1, 0x2, 0x2])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:293
+assert_return(
+ () => invoke($0, `i16x8.shr_s`, [
+ i16x8([0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039]),
+ 2,
+ ]),
+ [i16x8([0xc0e, 0xc0e, 0xc0e, 0xc0e, 0xc0e, 0xc0e, 0xc0e, 0xc0e])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:296
+assert_return(
+ () => invoke($0, `i16x8.shr_s`, [
+ i16x8([0x90ab, 0x90ab, 0x90ab, 0x90ab, 0x90ab, 0x90ab, 0x90ab, 0x90ab]),
+ 2,
+ ]),
+ [i16x8([0xe42a, 0xe42a, 0xe42a, 0xe42a, 0xe42a, 0xe42a, 0xe42a, 0xe42a])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:299
+assert_return(
+ () => invoke($0, `i16x8.shr_s`, [
+ i16x8([0xaabb, 0xccdd, 0xeeff, 0xa0b0, 0xc0d0, 0xe0f0, 0xa0b, 0xc0d]),
+ 4,
+ ]),
+ [i16x8([0xfaab, 0xfccd, 0xfeef, 0xfa0b, 0xfc0d, 0xfe0f, 0xa0, 0xc0])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:302
+assert_return(
+ () => invoke($0, `i16x8.shr_s`, [i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7]), 8]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:306
+assert_return(
+ () => invoke($0, `i16x8.shr_s`, [i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7]), 32]),
+ [i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:309
+assert_return(
+ () => invoke($0, `i16x8.shr_s`, [
+ i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7]),
+ 128,
+ ]),
+ [i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:312
+assert_return(
+ () => invoke($0, `i16x8.shr_s`, [
+ i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7]),
+ 256,
+ ]),
+ [i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:316
+assert_return(
+ () => invoke($0, `i16x8.shr_s`, [
+ i16x8([0xff80, 0xffc0, 0x0, 0x1, 0x2, 0x3, 0x4, 0x5]),
+ 17,
+ ]),
+ [i16x8([0xffc0, 0xffe0, 0x0, 0x0, 0x1, 0x1, 0x2, 0x2])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:319
+assert_return(
+ () => invoke($0, `i16x8.shr_s`, [i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7]), 17]),
+ [i16x8([0x0, 0x0, 0x1, 0x1, 0x2, 0x2, 0x3, 0x3])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:322
+assert_return(
+ () => invoke($0, `i16x8.shr_s`, [i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7]), 33]),
+ [i16x8([0x0, 0x0, 0x1, 0x1, 0x2, 0x2, 0x3, 0x3])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:325
+assert_return(
+ () => invoke($0, `i16x8.shr_s`, [
+ i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7]),
+ 129,
+ ]),
+ [i16x8([0x0, 0x0, 0x1, 0x1, 0x2, 0x2, 0x3, 0x3])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:328
+assert_return(
+ () => invoke($0, `i16x8.shr_s`, [
+ i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7]),
+ 257,
+ ]),
+ [i16x8([0x0, 0x0, 0x1, 0x1, 0x2, 0x2, 0x3, 0x3])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:331
+assert_return(
+ () => invoke($0, `i16x8.shr_s`, [
+ i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7]),
+ 513,
+ ]),
+ [i16x8([0x0, 0x0, 0x1, 0x1, 0x2, 0x2, 0x3, 0x3])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:334
+assert_return(
+ () => invoke($0, `i16x8.shr_s`, [
+ i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7]),
+ 514,
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:339
+assert_return(
+ () => invoke($0, `i16x8.shl_1`, [i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7])]),
+ [i16x8([0x0, 0x2, 0x4, 0x6, 0x8, 0xa, 0xc, 0xe])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:341
+assert_return(
+ () => invoke($0, `i16x8.shr_u_16`, [i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7])]),
+ [i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:343
+assert_return(
+ () => invoke($0, `i16x8.shr_s_17`, [i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7])]),
+ [i16x8([0x0, 0x0, 0x1, 0x1, 0x2, 0x2, 0x3, 0x3])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:348
+assert_return(
+ () => invoke($0, `i32x4.shl`, [i32x4([0x80000000, 0xffff8000, 0x0, 0xa0b0c0d]), 1]),
+ [i32x4([0x0, 0xffff0000, 0x0, 0x1416181a])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:351
+assert_return(
+ () => invoke($0, `i32x4.shl`, [
+ i32x4([0x499602d2, 0x499602d2, 0x499602d2, 0x499602d2]),
+ 2,
+ ]),
+ [i32x4([0x26580b48, 0x26580b48, 0x26580b48, 0x26580b48])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:354
+assert_return(
+ () => invoke($0, `i32x4.shl`, [
+ i32x4([0x12345678, 0x12345678, 0x12345678, 0x12345678]),
+ 2,
+ ]),
+ [i32x4([0x48d159e0, 0x48d159e0, 0x48d159e0, 0x48d159e0])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:357
+assert_return(
+ () => invoke($0, `i32x4.shl`, [
+ i32x4([0xaabbccdd, 0xeeffa0b0, 0xc0d0e0f0, 0xa0b0c0d]),
+ 4,
+ ]),
+ [i32x4([0xabbccdd0, 0xeffa0b00, 0xd0e0f00, 0xa0b0c0d0])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:360
+assert_return(
+ () => invoke($0, `i32x4.shl`, [i32x4([0x0, 0x1, 0xe, 0xf]), 8]),
+ [i32x4([0x0, 0x100, 0xe00, 0xf00])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:364
+assert_return(
+ () => invoke($0, `i32x4.shl`, [i32x4([0x0, 0x1, 0xe, 0xf]), 32]),
+ [i32x4([0x0, 0x1, 0xe, 0xf])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:367
+assert_return(
+ () => invoke($0, `i32x4.shl`, [i32x4([0x0, 0x1, 0xe, 0xf]), 128]),
+ [i32x4([0x0, 0x1, 0xe, 0xf])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:370
+assert_return(
+ () => invoke($0, `i32x4.shl`, [i32x4([0x0, 0x1, 0xe, 0xf]), 256]),
+ [i32x4([0x0, 0x1, 0xe, 0xf])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:374
+assert_return(
+ () => invoke($0, `i32x4.shl`, [i32x4([0x80000000, 0xffff8000, 0x0, 0xa0b0c0d]), 33]),
+ [i32x4([0x0, 0xffff0000, 0x0, 0x1416181a])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:377
+assert_return(
+ () => invoke($0, `i32x4.shl`, [i32x4([0x0, 0x1, 0xe, 0xf]), 33]),
+ [i32x4([0x0, 0x2, 0x1c, 0x1e])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:380
+assert_return(
+ () => invoke($0, `i32x4.shl`, [i32x4([0x0, 0x1, 0xe, 0xf]), 65]),
+ [i32x4([0x0, 0x2, 0x1c, 0x1e])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:383
+assert_return(
+ () => invoke($0, `i32x4.shl`, [i32x4([0x0, 0x1, 0xe, 0xf]), 129]),
+ [i32x4([0x0, 0x2, 0x1c, 0x1e])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:386
+assert_return(
+ () => invoke($0, `i32x4.shl`, [i32x4([0x0, 0x1, 0xe, 0xf]), 257]),
+ [i32x4([0x0, 0x2, 0x1c, 0x1e])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:389
+assert_return(
+ () => invoke($0, `i32x4.shl`, [i32x4([0x0, 0x1, 0xe, 0xf]), 513]),
+ [i32x4([0x0, 0x2, 0x1c, 0x1e])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:392
+assert_return(
+ () => invoke($0, `i32x4.shl`, [i32x4([0x0, 0x1, 0xe, 0xf]), 514]),
+ [i32x4([0x0, 0x4, 0x38, 0x3c])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:398
+assert_return(
+ () => invoke($0, `i32x4.shr_u`, [i32x4([0x80000000, 0xffff8000, 0xc, 0xd]), 1]),
+ [i32x4([0x40000000, 0x7fffc000, 0x6, 0x6])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:401
+assert_return(
+ () => invoke($0, `i32x4.shr_u`, [
+ i32x4([0x499602d2, 0x499602d2, 0x499602d2, 0x499602d2]),
+ 2,
+ ]),
+ [i32x4([0x126580b4, 0x126580b4, 0x126580b4, 0x126580b4])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:404
+assert_return(
+ () => invoke($0, `i32x4.shr_u`, [
+ i32x4([0x90abcdef, 0x90abcdef, 0x90abcdef, 0x90abcdef]),
+ 2,
+ ]),
+ [i32x4([0x242af37b, 0x242af37b, 0x242af37b, 0x242af37b])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:407
+assert_return(
+ () => invoke($0, `i32x4.shr_u`, [
+ i32x4([0xaabbccdd, 0xeeffa0b0, 0xc0d0e0f0, 0xa0b0c0d]),
+ 4,
+ ]),
+ [i32x4([0xaabbccd, 0xeeffa0b, 0xc0d0e0f, 0xa0b0c0])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:410
+assert_return(
+ () => invoke($0, `i32x4.shr_u`, [i32x4([0x0, 0x1, 0xe, 0xf]), 8]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:414
+assert_return(
+ () => invoke($0, `i32x4.shr_u`, [i32x4([0x0, 0x1, 0xe, 0xf]), 32]),
+ [i32x4([0x0, 0x1, 0xe, 0xf])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:417
+assert_return(
+ () => invoke($0, `i32x4.shr_u`, [i32x4([0x0, 0x1, 0xe, 0xf]), 128]),
+ [i32x4([0x0, 0x1, 0xe, 0xf])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:420
+assert_return(
+ () => invoke($0, `i32x4.shr_u`, [i32x4([0x0, 0x1, 0xe, 0xf]), 256]),
+ [i32x4([0x0, 0x1, 0xe, 0xf])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:424
+assert_return(
+ () => invoke($0, `i32x4.shr_u`, [i32x4([0x80000000, 0xffff8000, 0xc, 0xd]), 33]),
+ [i32x4([0x40000000, 0x7fffc000, 0x6, 0x6])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:427
+assert_return(
+ () => invoke($0, `i32x4.shr_u`, [i32x4([0x0, 0x1, 0xe, 0xf]), 33]),
+ [i32x4([0x0, 0x0, 0x7, 0x7])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:430
+assert_return(
+ () => invoke($0, `i32x4.shr_u`, [i32x4([0x0, 0x1, 0xe, 0xf]), 65]),
+ [i32x4([0x0, 0x0, 0x7, 0x7])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:433
+assert_return(
+ () => invoke($0, `i32x4.shr_u`, [i32x4([0x0, 0x1, 0xe, 0xf]), 129]),
+ [i32x4([0x0, 0x0, 0x7, 0x7])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:436
+assert_return(
+ () => invoke($0, `i32x4.shr_u`, [i32x4([0x0, 0x1, 0xe, 0xf]), 257]),
+ [i32x4([0x0, 0x0, 0x7, 0x7])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:439
+assert_return(
+ () => invoke($0, `i32x4.shr_u`, [i32x4([0x0, 0x1, 0xe, 0xf]), 513]),
+ [i32x4([0x0, 0x0, 0x7, 0x7])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:442
+assert_return(
+ () => invoke($0, `i32x4.shr_u`, [i32x4([0x0, 0x1, 0xe, 0xf]), 514]),
+ [i32x4([0x0, 0x0, 0x3, 0x3])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:448
+assert_return(
+ () => invoke($0, `i32x4.shr_s`, [i32x4([0x80000000, 0xffff8000, 0xc, 0xd]), 1]),
+ [i32x4([0xc0000000, 0xffffc000, 0x6, 0x6])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:451
+assert_return(
+ () => invoke($0, `i32x4.shr_s`, [
+ i32x4([0x499602d2, 0x499602d2, 0x499602d2, 0x499602d2]),
+ 2,
+ ]),
+ [i32x4([0x126580b4, 0x126580b4, 0x126580b4, 0x126580b4])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:454
+assert_return(
+ () => invoke($0, `i32x4.shr_s`, [
+ i32x4([0x90abcdef, 0x90abcdef, 0x90abcdef, 0x90abcdef]),
+ 2,
+ ]),
+ [i32x4([0xe42af37b, 0xe42af37b, 0xe42af37b, 0xe42af37b])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:457
+assert_return(
+ () => invoke($0, `i32x4.shr_s`, [
+ i32x4([0xaabbccdd, 0xeeffa0b0, 0xc0d0e0f0, 0xa0b0c0d]),
+ 4,
+ ]),
+ [i32x4([0xfaabbccd, 0xfeeffa0b, 0xfc0d0e0f, 0xa0b0c0])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:461
+assert_return(
+ () => invoke($0, `i32x4.shr_s`, [i32x4([0x0, 0x1, 0xe, 0xf]), 8]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:464
+assert_return(
+ () => invoke($0, `i32x4.shr_s`, [i32x4([0x0, 0x1, 0xe, 0xf]), 32]),
+ [i32x4([0x0, 0x1, 0xe, 0xf])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:467
+assert_return(
+ () => invoke($0, `i32x4.shr_s`, [i32x4([0x0, 0x1, 0xe, 0xf]), 128]),
+ [i32x4([0x0, 0x1, 0xe, 0xf])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:470
+assert_return(
+ () => invoke($0, `i32x4.shr_s`, [i32x4([0x0, 0x1, 0xe, 0xf]), 256]),
+ [i32x4([0x0, 0x1, 0xe, 0xf])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:474
+assert_return(
+ () => invoke($0, `i32x4.shr_s`, [i32x4([0x80000000, 0xffff8000, 0xc, 0xd]), 33]),
+ [i32x4([0xc0000000, 0xffffc000, 0x6, 0x6])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:477
+assert_return(
+ () => invoke($0, `i32x4.shr_s`, [i32x4([0x0, 0x1, 0xe, 0xf]), 33]),
+ [i32x4([0x0, 0x0, 0x7, 0x7])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:480
+assert_return(
+ () => invoke($0, `i32x4.shr_s`, [i32x4([0x0, 0x1, 0xe, 0xf]), 65]),
+ [i32x4([0x0, 0x0, 0x7, 0x7])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:483
+assert_return(
+ () => invoke($0, `i32x4.shr_s`, [i32x4([0x0, 0x1, 0xe, 0xf]), 129]),
+ [i32x4([0x0, 0x0, 0x7, 0x7])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:486
+assert_return(
+ () => invoke($0, `i32x4.shr_s`, [i32x4([0x0, 0x1, 0xe, 0xf]), 257]),
+ [i32x4([0x0, 0x0, 0x7, 0x7])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:489
+assert_return(
+ () => invoke($0, `i32x4.shr_s`, [i32x4([0x0, 0x1, 0xe, 0xf]), 513]),
+ [i32x4([0x0, 0x0, 0x7, 0x7])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:492
+assert_return(
+ () => invoke($0, `i32x4.shr_s`, [i32x4([0x0, 0x1, 0xe, 0xf]), 514]),
+ [i32x4([0x0, 0x0, 0x3, 0x3])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:497
+assert_return(
+ () => invoke($0, `i32x4.shl_1`, [i32x4([0x0, 0x1, 0xe, 0xf])]),
+ [i32x4([0x0, 0x2, 0x1c, 0x1e])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:499
+assert_return(
+ () => invoke($0, `i32x4.shr_u_32`, [i32x4([0x0, 0x1, 0xe, 0xf])]),
+ [i32x4([0x0, 0x1, 0xe, 0xf])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:501
+assert_return(
+ () => invoke($0, `i32x4.shr_s_33`, [i32x4([0x0, 0x1, 0xe, 0xf])]),
+ [i32x4([0x0, 0x0, 0x7, 0x7])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:506
+assert_return(
+ () => invoke($0, `i64x2.shl`, [i64x2([0x8000000000000000n, 0xffffffff80000000n]), 1]),
+ [i64x2([0x0n, 0xffffffff00000000n])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:509
+assert_return(
+ () => invoke($0, `i64x2.shl`, [i64x2([0x112210f47de98115n, 0x112210f47de98115n]), 2]),
+ [i64x2([0x448843d1f7a60454n, 0x448843d1f7a60454n])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:512
+assert_return(
+ () => invoke($0, `i64x2.shl`, [i64x2([0x1234567890abcdefn, 0x1234567890abcdefn]), 2]),
+ [i64x2([0x48d159e242af37bcn, 0x48d159e242af37bcn])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:515
+assert_return(
+ () => invoke($0, `i64x2.shl`, [i64x2([0xaabbccddeeffa0b0n, 0xc0d0e0f00a0b0c0dn]), 4]),
+ [i64x2([0xabbccddeeffa0b00n, 0xd0e0f00a0b0c0d0n])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:518
+assert_return(
+ () => invoke($0, `i64x2.shl`, [i64x2([0xaabbccddeeffa0b0n, 0xc0d0e0f00a0b0c0dn]), 8]),
+ [i64x2([0xbbccddeeffa0b000n, 0xd0e0f00a0b0c0d00n])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:521
+assert_return(() => invoke($0, `i64x2.shl`, [i64x2([0x1n, 0xfn]), 16]), [i64x2([0x10000n, 0xf0000n])]);
+
+// ./test/core/simd/simd_bit_shift.wast:524
+assert_return(
+ () => invoke($0, `i64x2.shl`, [i64x2([0x1n, 0xfn]), 32]),
+ [i64x2([0x100000000n, 0xf00000000n])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:528
+assert_return(() => invoke($0, `i64x2.shl`, [i64x2([0x1n, 0xfn]), 128]), [i64x2([0x1n, 0xfn])]);
+
+// ./test/core/simd/simd_bit_shift.wast:531
+assert_return(() => invoke($0, `i64x2.shl`, [i64x2([0x1n, 0xfn]), 256]), [i64x2([0x1n, 0xfn])]);
+
+// ./test/core/simd/simd_bit_shift.wast:535
+assert_return(() => invoke($0, `i64x2.shl`, [i64x2([0x1n, 0xfn]), 65]), [i64x2([0x2n, 0x1en])]);
+
+// ./test/core/simd/simd_bit_shift.wast:538
+assert_return(() => invoke($0, `i64x2.shl`, [i64x2([0x1n, 0xfn]), 129]), [i64x2([0x2n, 0x1en])]);
+
+// ./test/core/simd/simd_bit_shift.wast:541
+assert_return(() => invoke($0, `i64x2.shl`, [i64x2([0x1n, 0xfn]), 257]), [i64x2([0x2n, 0x1en])]);
+
+// ./test/core/simd/simd_bit_shift.wast:544
+assert_return(() => invoke($0, `i64x2.shl`, [i64x2([0x1n, 0xfn]), 513]), [i64x2([0x2n, 0x1en])]);
+
+// ./test/core/simd/simd_bit_shift.wast:547
+assert_return(() => invoke($0, `i64x2.shl`, [i64x2([0x1n, 0xfn]), 514]), [i64x2([0x4n, 0x3cn])]);
+
+// ./test/core/simd/simd_bit_shift.wast:553
+assert_return(
+ () => invoke($0, `i64x2.shr_u`, [
+ i64x2([0x8000000000000000n, 0xffffffff80000000n]),
+ 1,
+ ]),
+ [i64x2([0x4000000000000000n, 0x7fffffffc0000000n])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:556
+assert_return(
+ () => invoke($0, `i64x2.shr_u`, [
+ i64x2([0x112210f47de98115n, 0x112210f47de98115n]),
+ 2,
+ ]),
+ [i64x2([0x448843d1f7a6045n, 0x448843d1f7a6045n])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:559
+assert_return(
+ () => invoke($0, `i64x2.shr_u`, [
+ i64x2([0x90abcdef87654321n, 0x90abcdef87654321n]),
+ 2,
+ ]),
+ [i64x2([0x242af37be1d950c8n, 0x242af37be1d950c8n])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:562
+assert_return(
+ () => invoke($0, `i64x2.shr_u`, [
+ i64x2([0xaabbccddeeffa0b0n, 0xc0d0e0f00a0b0c0dn]),
+ 4,
+ ]),
+ [i64x2([0xaabbccddeeffa0bn, 0xc0d0e0f00a0b0c0n])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:565
+assert_return(
+ () => invoke($0, `i64x2.shr_u`, [
+ i64x2([0xaabbccddeeffa0b0n, 0xc0d0e0f00a0b0c0dn]),
+ 8,
+ ]),
+ [i64x2([0xaabbccddeeffa0n, 0xc0d0e0f00a0b0cn])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:568
+assert_return(() => invoke($0, `i64x2.shr_u`, [i64x2([0x1n, 0xfn]), 16]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_bit_shift.wast:571
+assert_return(() => invoke($0, `i64x2.shr_u`, [i64x2([0x1n, 0xfn]), 32]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_bit_shift.wast:575
+assert_return(() => invoke($0, `i64x2.shr_u`, [i64x2([0x1n, 0xfn]), 128]), [i64x2([0x1n, 0xfn])]);
+
+// ./test/core/simd/simd_bit_shift.wast:578
+assert_return(() => invoke($0, `i64x2.shr_u`, [i64x2([0x1n, 0xfn]), 256]), [i64x2([0x1n, 0xfn])]);
+
+// ./test/core/simd/simd_bit_shift.wast:582
+assert_return(() => invoke($0, `i64x2.shr_u`, [i64x2([0x1n, 0xfn]), 65]), [i64x2([0x0n, 0x7n])]);
+
+// ./test/core/simd/simd_bit_shift.wast:585
+assert_return(() => invoke($0, `i64x2.shr_u`, [i64x2([0x1n, 0xfn]), 129]), [i64x2([0x0n, 0x7n])]);
+
+// ./test/core/simd/simd_bit_shift.wast:588
+assert_return(() => invoke($0, `i64x2.shr_u`, [i64x2([0x1n, 0xfn]), 257]), [i64x2([0x0n, 0x7n])]);
+
+// ./test/core/simd/simd_bit_shift.wast:591
+assert_return(() => invoke($0, `i64x2.shr_u`, [i64x2([0x1n, 0xfn]), 513]), [i64x2([0x0n, 0x7n])]);
+
+// ./test/core/simd/simd_bit_shift.wast:594
+assert_return(() => invoke($0, `i64x2.shr_u`, [i64x2([0x0n, 0xfn]), 514]), [i64x2([0x0n, 0x3n])]);
+
+// ./test/core/simd/simd_bit_shift.wast:600
+assert_return(
+ () => invoke($0, `i64x2.shr_s`, [
+ i64x2([0x8000000000000000n, 0xffffffff80000000n]),
+ 1,
+ ]),
+ [i64x2([0xc000000000000000n, 0xffffffffc0000000n])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:603
+assert_return(
+ () => invoke($0, `i64x2.shr_s`, [
+ i64x2([0x112210f47de98115n, 0x112210f47de98115n]),
+ 2,
+ ]),
+ [i64x2([0x448843d1f7a6045n, 0x448843d1f7a6045n])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:606
+assert_return(
+ () => invoke($0, `i64x2.shr_s`, [
+ i64x2([0x90abcdef87654321n, 0x90abcdef87654321n]),
+ 2,
+ ]),
+ [i64x2([0xe42af37be1d950c8n, 0xe42af37be1d950c8n])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:609
+assert_return(
+ () => invoke($0, `i64x2.shr_s`, [
+ i64x2([0xaabbccddeeffa0b0n, 0xc0d0e0f00a0b0c0dn]),
+ 4,
+ ]),
+ [i64x2([0xfaabbccddeeffa0bn, 0xfc0d0e0f00a0b0c0n])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:612
+assert_return(
+ () => invoke($0, `i64x2.shr_s`, [
+ i64x2([0xffaabbccddeeffa0n, 0xc0d0e0f00a0b0c0dn]),
+ 8,
+ ]),
+ [i64x2([0xffffaabbccddeeffn, 0xffc0d0e0f00a0b0cn])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:615
+assert_return(() => invoke($0, `i64x2.shr_s`, [i64x2([0x1n, 0xfn]), 16]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_bit_shift.wast:618
+assert_return(() => invoke($0, `i64x2.shr_s`, [i64x2([0x1n, 0xfn]), 32]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_bit_shift.wast:622
+assert_return(() => invoke($0, `i64x2.shr_s`, [i64x2([0x1n, 0xfn]), 128]), [i64x2([0x1n, 0xfn])]);
+
+// ./test/core/simd/simd_bit_shift.wast:625
+assert_return(() => invoke($0, `i64x2.shr_s`, [i64x2([0x1n, 0xfn]), 256]), [i64x2([0x1n, 0xfn])]);
+
+// ./test/core/simd/simd_bit_shift.wast:629
+assert_return(
+ () => invoke($0, `i64x2.shr_s`, [
+ i64x2([0x8000000000000000n, 0xffffffff80000000n]),
+ 65,
+ ]),
+ [i64x2([0xc000000000000000n, 0xffffffffc0000000n])],
+);
+
+// ./test/core/simd/simd_bit_shift.wast:632
+assert_return(() => invoke($0, `i64x2.shr_s`, [i64x2([0xcn, 0xdn]), 65]), [i64x2([0x6n, 0x6n])]);
+
+// ./test/core/simd/simd_bit_shift.wast:635
+assert_return(() => invoke($0, `i64x2.shr_s`, [i64x2([0x1n, 0xfn]), 129]), [i64x2([0x0n, 0x7n])]);
+
+// ./test/core/simd/simd_bit_shift.wast:638
+assert_return(() => invoke($0, `i64x2.shr_s`, [i64x2([0x1n, 0xfn]), 257]), [i64x2([0x0n, 0x7n])]);
+
+// ./test/core/simd/simd_bit_shift.wast:641
+assert_return(() => invoke($0, `i64x2.shr_s`, [i64x2([0x1n, 0xfn]), 513]), [i64x2([0x0n, 0x7n])]);
+
+// ./test/core/simd/simd_bit_shift.wast:644
+assert_return(() => invoke($0, `i64x2.shr_s`, [i64x2([0x1n, 0xfn]), 514]), [i64x2([0x0n, 0x3n])]);
+
+// ./test/core/simd/simd_bit_shift.wast:649
+assert_return(() => invoke($0, `i64x2.shl_1`, [i64x2([0x1n, 0xfn])]), [i64x2([0x2n, 0x1en])]);
+
+// ./test/core/simd/simd_bit_shift.wast:651
+assert_return(() => invoke($0, `i64x2.shr_u_64`, [i64x2([0x1n, 0xfn])]), [i64x2([0x1n, 0xfn])]);
+
+// ./test/core/simd/simd_bit_shift.wast:653
+assert_return(() => invoke($0, `i64x2.shr_s_65`, [i64x2([0x1n, 0xfn])]), [i64x2([0x0n, 0x7n])]);
+
+// ./test/core/simd/simd_bit_shift.wast:658
+let $1 = instantiate(`(module (memory 1)
+ (func (export "i8x16.shl-in-block")
+ (block
+ (drop
+ (block (result v128)
+ (i8x16.shl
+ (block (result v128) (v128.load (i32.const 0))) (i32.const 1)
+ )
+ )
+ )
+ )
+ )
+ (func (export "i8x16.shr_s-in-block")
+ (block
+ (drop
+ (block (result v128)
+ (i8x16.shr_s
+ (block (result v128) (v128.load (i32.const 0))) (i32.const 1)
+ )
+ )
+ )
+ )
+ )
+ (func (export "i8x16.shr_u-in-block")
+ (block
+ (drop
+ (block (result v128)
+ (i8x16.shr_u
+ (block (result v128) (v128.load (i32.const 0))) (i32.const 1)
+ )
+ )
+ )
+ )
+ )
+ (func (export "i16x8.shl-in-block")
+ (block
+ (drop
+ (block (result v128)
+ (i16x8.shl
+ (block (result v128) (v128.load (i32.const 0))) (i32.const 1)
+ )
+ )
+ )
+ )
+ )
+ (func (export "i16x8.shr_s-in-block")
+ (block
+ (drop
+ (block (result v128)
+ (i16x8.shr_s
+ (block (result v128) (v128.load (i32.const 0))) (i32.const 1)
+ )
+ )
+ )
+ )
+ )
+ (func (export "i16x8.shr_u-in-block")
+ (block
+ (drop
+ (block (result v128)
+ (i16x8.shr_u
+ (block (result v128) (v128.load (i32.const 0))) (i32.const 1)
+ )
+ )
+ )
+ )
+ )
+ (func (export "i32x4.shl-in-block")
+ (block
+ (drop
+ (block (result v128)
+ (i32x4.shl
+ (block (result v128) (v128.load (i32.const 0))) (i32.const 1)
+ )
+ )
+ )
+ )
+ )
+ (func (export "i32x4.shr_s-in-block")
+ (block
+ (drop
+ (block (result v128)
+ (i32x4.shr_s
+ (block (result v128) (v128.load (i32.const 0))) (i32.const 1)
+ )
+ )
+ )
+ )
+ )
+ (func (export "i32x4.shr_u-in-block")
+ (block
+ (drop
+ (block (result v128)
+ (i32x4.shr_u
+ (block (result v128) (v128.load (i32.const 0))) (i32.const 1)
+ )
+ )
+ )
+ )
+ )
+ (func (export "i64x2.shl-in-block")
+ (block
+ (drop
+ (block (result v128)
+ (i64x2.shl
+ (block (result v128) (v128.load (i32.const 0))) (i32.const 1)
+ )
+ )
+ )
+ )
+ )
+ (func (export "i64x2.shr_s-in-block")
+ (block
+ (drop
+ (block (result v128)
+ (i64x2.shr_s
+ (block (result v128) (v128.load (i32.const 0))) (i32.const 1)
+ )
+ )
+ )
+ )
+ )
+ (func (export "i64x2.shr_u-in-block")
+ (block
+ (drop
+ (block (result v128)
+ (i64x2.shr_u
+ (block (result v128) (v128.load (i32.const 0))) (i32.const 1)
+ )
+ )
+ )
+ )
+ )
+ (func (export "nested-i8x16.shl")
+ (drop
+ (i8x16.shl
+ (i8x16.shl
+ (i8x16.shl
+ (v128.load (i32.const 0)) (i32.const 1)
+ )
+ (i32.const 1)
+ )
+ (i32.const 1)
+ )
+ )
+ )
+ (func (export "nested-i8x16.shr_s")
+ (drop
+ (i8x16.shr_s
+ (i8x16.shr_s
+ (i8x16.shr_s
+ (v128.load (i32.const 0)) (i32.const 1)
+ )
+ (i32.const 1)
+ )
+ (i32.const 1)
+ )
+ )
+ )
+ (func (export "nested-i8x16.shr_u")
+ (drop
+ (i8x16.shr_u
+ (i8x16.shr_u
+ (i8x16.shr_u
+ (v128.load (i32.const 0)) (i32.const 1)
+ )
+ (i32.const 1)
+ )
+ (i32.const 1)
+ )
+ )
+ )
+ (func (export "nested-i16x8.shl")
+ (drop
+ (i16x8.shl
+ (i16x8.shl
+ (i16x8.shl
+ (v128.load (i32.const 0)) (i32.const 1)
+ )
+ (i32.const 1)
+ )
+ (i32.const 1)
+ )
+ )
+ )
+ (func (export "nested-i16x8.shr_s")
+ (drop
+ (i16x8.shr_s
+ (i16x8.shr_s
+ (i16x8.shr_s
+ (v128.load (i32.const 0)) (i32.const 1)
+ )
+ (i32.const 1)
+ )
+ (i32.const 1)
+ )
+ )
+ )
+ (func (export "nested-i16x8.shr_u")
+ (drop
+ (i16x8.shr_u
+ (i16x8.shr_u
+ (i16x8.shr_u
+ (v128.load (i32.const 0)) (i32.const 1)
+ )
+ (i32.const 1)
+ )
+ (i32.const 1)
+ )
+ )
+ )
+ (func (export "nested-i32x4.shl")
+ (drop
+ (i32x4.shl
+ (i32x4.shl
+ (i32x4.shl
+ (v128.load (i32.const 0)) (i32.const 1)
+ )
+ (i32.const 1)
+ )
+ (i32.const 1)
+ )
+ )
+ )
+ (func (export "nested-i32x4.shr_s")
+ (drop
+ (i32x4.shr_s
+ (i32x4.shr_s
+ (i32x4.shr_s
+ (v128.load (i32.const 0)) (i32.const 1)
+ )
+ (i32.const 1)
+ )
+ (i32.const 1)
+ )
+ )
+ )
+ (func (export "nested-i32x4.shr_u")
+ (drop
+ (i32x4.shr_u
+ (i32x4.shr_u
+ (i32x4.shr_u
+ (v128.load (i32.const 0)) (i32.const 1)
+ )
+ (i32.const 1)
+ )
+ (i32.const 1)
+ )
+ )
+ )
+ (func (export "nested-i64x2.shl")
+ (drop
+ (i64x2.shl
+ (i64x2.shl
+ (i64x2.shl
+ (v128.load (i32.const 0)) (i32.const 1)
+ )
+ (i32.const 1)
+ )
+ (i32.const 1)
+ )
+ )
+ )
+ (func (export "nested-i64x2.shr_s")
+ (drop
+ (i64x2.shr_s
+ (i64x2.shr_s
+ (i64x2.shr_s
+ (v128.load (i32.const 0)) (i32.const 1)
+ )
+ (i32.const 1)
+ )
+ (i32.const 1)
+ )
+ )
+ )
+ (func (export "nested-i64x2.shr_u")
+ (drop
+ (i64x2.shr_u
+ (i64x2.shr_u
+ (i64x2.shr_u
+ (v128.load (i32.const 0)) (i32.const 1)
+ )
+ (i32.const 1)
+ )
+ (i32.const 1)
+ )
+ )
+ )
+)`);
+
+// ./test/core/simd/simd_bit_shift.wast:949
+assert_return(() => invoke($1, `i8x16.shl-in-block`, []), []);
+
+// ./test/core/simd/simd_bit_shift.wast:950
+assert_return(() => invoke($1, `i8x16.shr_s-in-block`, []), []);
+
+// ./test/core/simd/simd_bit_shift.wast:951
+assert_return(() => invoke($1, `i8x16.shr_u-in-block`, []), []);
+
+// ./test/core/simd/simd_bit_shift.wast:952
+assert_return(() => invoke($1, `i16x8.shl-in-block`, []), []);
+
+// ./test/core/simd/simd_bit_shift.wast:953
+assert_return(() => invoke($1, `i16x8.shr_s-in-block`, []), []);
+
+// ./test/core/simd/simd_bit_shift.wast:954
+assert_return(() => invoke($1, `i16x8.shr_u-in-block`, []), []);
+
+// ./test/core/simd/simd_bit_shift.wast:955
+assert_return(() => invoke($1, `i32x4.shl-in-block`, []), []);
+
+// ./test/core/simd/simd_bit_shift.wast:956
+assert_return(() => invoke($1, `i32x4.shr_s-in-block`, []), []);
+
+// ./test/core/simd/simd_bit_shift.wast:957
+assert_return(() => invoke($1, `i32x4.shr_u-in-block`, []), []);
+
+// ./test/core/simd/simd_bit_shift.wast:958
+assert_return(() => invoke($1, `i64x2.shl-in-block`, []), []);
+
+// ./test/core/simd/simd_bit_shift.wast:959
+assert_return(() => invoke($1, `i64x2.shr_s-in-block`, []), []);
+
+// ./test/core/simd/simd_bit_shift.wast:960
+assert_return(() => invoke($1, `i64x2.shr_u-in-block`, []), []);
+
+// ./test/core/simd/simd_bit_shift.wast:961
+assert_return(() => invoke($1, `nested-i8x16.shl`, []), []);
+
+// ./test/core/simd/simd_bit_shift.wast:962
+assert_return(() => invoke($1, `nested-i8x16.shr_s`, []), []);
+
+// ./test/core/simd/simd_bit_shift.wast:963
+assert_return(() => invoke($1, `nested-i8x16.shr_u`, []), []);
+
+// ./test/core/simd/simd_bit_shift.wast:964
+assert_return(() => invoke($1, `nested-i16x8.shl`, []), []);
+
+// ./test/core/simd/simd_bit_shift.wast:965
+assert_return(() => invoke($1, `nested-i16x8.shr_s`, []), []);
+
+// ./test/core/simd/simd_bit_shift.wast:966
+assert_return(() => invoke($1, `nested-i16x8.shr_u`, []), []);
+
+// ./test/core/simd/simd_bit_shift.wast:967
+assert_return(() => invoke($1, `nested-i32x4.shl`, []), []);
+
+// ./test/core/simd/simd_bit_shift.wast:968
+assert_return(() => invoke($1, `nested-i32x4.shr_s`, []), []);
+
+// ./test/core/simd/simd_bit_shift.wast:969
+assert_return(() => invoke($1, `nested-i32x4.shr_u`, []), []);
+
+// ./test/core/simd/simd_bit_shift.wast:970
+assert_return(() => invoke($1, `nested-i64x2.shl`, []), []);
+
+// ./test/core/simd/simd_bit_shift.wast:971
+assert_return(() => invoke($1, `nested-i64x2.shr_s`, []), []);
+
+// ./test/core/simd/simd_bit_shift.wast:972
+assert_return(() => invoke($1, `nested-i64x2.shr_u`, []), []);
+
+// ./test/core/simd/simd_bit_shift.wast:976
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i8x16.shl (i32.const 0) (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_bit_shift.wast:977
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i8x16.shr_s (i32.const 0) (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_bit_shift.wast:978
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i8x16.shr_u (i32.const 0) (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_bit_shift.wast:979
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i16x8.shl (i32.const 0) (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_bit_shift.wast:980
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i16x8.shr_s (i32.const 0) (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_bit_shift.wast:981
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i16x8.shr_u (i32.const 0) (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_bit_shift.wast:982
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i32x4.shl (i32.const 0) (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_bit_shift.wast:983
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i32x4.shr_s (i32.const 0) (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_bit_shift.wast:984
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i32x4.shr_u (i32.const 0) (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_bit_shift.wast:985
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i64x2.shl (i32.const 0) (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_bit_shift.wast:986
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i64x2.shr_s (i32.const 0) (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_bit_shift.wast:987
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i64x2.shr_u (i32.const 0) (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_bit_shift.wast:991
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i8x16.shl_s (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_bit_shift.wast:992
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i8x16.shl_r (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_bit_shift.wast:993
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i8x16.shr (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_bit_shift.wast:994
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i16x8.shl_s (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_bit_shift.wast:995
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i16x8.shl_r (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_bit_shift.wast:996
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i16x8.shr (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_bit_shift.wast:997
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i32x4.shl_s (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_bit_shift.wast:998
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i32x4.shl_r (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_bit_shift.wast:999
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i32x4.shr (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_bit_shift.wast:1000
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i64x2.shl_s (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_bit_shift.wast:1001
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i64x2.shl_r (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_bit_shift.wast:1002
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i64x2.shr (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_bit_shift.wast:1003
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (f32x4.shl (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_bit_shift.wast:1004
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (f32x4.shr_s (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_bit_shift.wast:1005
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (f32x4.shr_u (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_bit_shift.wast:1009
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.shl-1st-arg-empty (result v128)
+ (i8x16.shl (i32.const 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_bit_shift.wast:1017
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.shl-last-arg-empty (result v128)
+ (i8x16.shl (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_bit_shift.wast:1025
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.shl-arg-empty (result v128)
+ (i8x16.shl)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_bit_shift.wast:1033
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.shr_u-1st-arg-empty (result v128)
+ (i16x8.shr_u (i32.const 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_bit_shift.wast:1041
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.shr_u-last-arg-empty (result v128)
+ (i16x8.shr_u (v128.const i16x8 0 0 0 0 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_bit_shift.wast:1049
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.shr_u-arg-empty (result v128)
+ (i16x8.shr_u)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_bit_shift.wast:1057
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.shr_s-1st-arg-empty (result v128)
+ (i32x4.shr_s (i32.const 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_bit_shift.wast:1065
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.shr_s-last-arg-empty (result v128)
+ (i32x4.shr_s (v128.const i32x4 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_bit_shift.wast:1073
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.shr_s-arg-empty (result v128)
+ (i32x4.shr_s)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_bit_shift.wast:1081
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i64x2.shl-1st-arg-empty (result v128)
+ (i64x2.shl (i32.const 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_bit_shift.wast:1089
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i64x2.shr_u-last-arg-empty (result v128)
+ (i64x2.shr_u (v128.const i64x2 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_bit_shift.wast:1097
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i64x2.shr_s-arg-empty (result v128)
+ (i64x2.shr_s)
+ )
+ )`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/simd_bitwise.wast.js b/js/src/jit-test/tests/wasm/spec/spec/simd_bitwise.wast.js
new file mode 100644
index 0000000000..0c270c4cc7
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/simd_bitwise.wast.js
@@ -0,0 +1,2769 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_bitwise.wast
+
+// ./test/core/simd/simd_bitwise.wast:3
+let $0 = instantiate(`(module
+ (func (export "not") (param $$0 v128) (result v128) (v128.not (local.get $$0)))
+ (func (export "and") (param $$0 v128) (param $$1 v128) (result v128) (v128.and (local.get $$0) (local.get $$1)))
+ (func (export "or") (param $$0 v128) (param $$1 v128) (result v128) (v128.or (local.get $$0) (local.get $$1)))
+ (func (export "xor") (param $$0 v128) (param $$1 v128) (result v128) (v128.xor (local.get $$0) (local.get $$1)))
+ (func (export "bitselect") (param $$0 v128) (param $$1 v128) (param $$2 v128) (result v128)
+ (v128.bitselect (local.get $$0) (local.get $$1) (local.get $$2))
+ )
+ (func (export "andnot") (param $$0 v128) (param $$1 v128) (result v128) (v128.andnot (local.get $$0) (local.get $$1)))
+)`);
+
+// ./test/core/simd/simd_bitwise.wast:15
+assert_return(
+ () => invoke($0, `not`, [i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:17
+assert_return(
+ () => invoke($0, `not`, [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:19
+assert_return(
+ () => invoke($0, `not`, [i32x4([0xffffffff, 0x0, 0xffffffff, 0x0])]),
+ [i32x4([0x0, 0xffffffff, 0x0, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:21
+assert_return(
+ () => invoke($0, `not`, [i32x4([0x0, 0xffffffff, 0x0, 0xffffffff])]),
+ [i32x4([0xffffffff, 0x0, 0xffffffff, 0x0])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:23
+assert_return(
+ () => invoke($0, `not`, [i32x4([0x55555555, 0x55555555, 0x55555555, 0x55555555])]),
+ [i32x4([0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:25
+assert_return(
+ () => invoke($0, `not`, [i32x4([0xcccccccc, 0xcccccccc, 0xcccccccc, 0xcccccccc])]),
+ [i32x4([0x33333333, 0x33333333, 0x33333333, 0x33333333])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:27
+assert_return(
+ () => invoke($0, `not`, [i32x4([0x499602d2, 0x499602d2, 0x499602d2, 0x499602d2])]),
+ [i32x4([0xb669fd2d, 0xb669fd2d, 0xb669fd2d, 0xb669fd2d])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:29
+assert_return(
+ () => invoke($0, `not`, [i32x4([0x12345678, 0x12345678, 0x12345678, 0x12345678])]),
+ [i32x4([0xedcba987, 0xedcba987, 0xedcba987, 0xedcba987])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:31
+assert_return(
+ () => invoke($0, `and`, [
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ i32x4([0x0, 0xffffffff, 0x0, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:34
+assert_return(
+ () => invoke($0, `and`, [i32x4([0x0, 0x0, 0x0, 0x0]), i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:37
+assert_return(
+ () => invoke($0, `and`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:40
+assert_return(
+ () => invoke($0, `and`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:43
+assert_return(
+ () => invoke($0, `and`, [i32x4([0x1, 0x1, 0x1, 0x1]), i32x4([0x1, 0x1, 0x1, 0x1])]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:46
+assert_return(
+ () => invoke($0, `and`, [
+ i32x4([0xff, 0xff, 0xff, 0xff]),
+ i32x4([0x55, 0x55, 0x55, 0x55]),
+ ]),
+ [i32x4([0x55, 0x55, 0x55, 0x55])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:49
+assert_return(
+ () => invoke($0, `and`, [
+ i32x4([0xff, 0xff, 0xff, 0xff]),
+ i32x4([0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [i32x4([0x80, 0x80, 0x80, 0x80])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:52
+assert_return(
+ () => invoke($0, `and`, [
+ i32x4([0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa]),
+ i32x4([0xa, 0x80, 0x5, 0xa5]),
+ ]),
+ [i32x4([0xa, 0x80, 0x0, 0xa0])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:55
+assert_return(
+ () => invoke($0, `and`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0x55555555, 0x55555555, 0x55555555, 0x55555555]),
+ ]),
+ [i32x4([0x55555555, 0x55555555, 0x55555555, 0x55555555])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:58
+assert_return(
+ () => invoke($0, `and`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa]),
+ ]),
+ [i32x4([0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:61
+assert_return(
+ () => invoke($0, `and`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:64
+assert_return(
+ () => invoke($0, `and`, [
+ i32x4([0x55555555, 0x55555555, 0x55555555, 0x55555555]),
+ i32x4([0x5555, 0xffff, 0x55ff, 0x5fff]),
+ ]),
+ [i32x4([0x5555, 0x5555, 0x5555, 0x5555])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:67
+assert_return(
+ () => invoke($0, `and`, [
+ i32x4([0x499602d2, 0x499602d2, 0x499602d2, 0x499602d2]),
+ i32x4([0x499602d2, 0x499602d2, 0x499602d2, 0x499602d2]),
+ ]),
+ [i32x4([0x499602d2, 0x499602d2, 0x499602d2, 0x499602d2])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:70
+assert_return(
+ () => invoke($0, `and`, [
+ i32x4([0x12345678, 0x12345678, 0x12345678, 0x12345678]),
+ i32x4([0x90abcdef, 0x90abcdef, 0x90abcdef, 0x90abcdef]),
+ ]),
+ [i32x4([0x10204468, 0x10204468, 0x10204468, 0x10204468])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:73
+assert_return(
+ () => invoke($0, `or`, [
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ i32x4([0x0, 0xffffffff, 0x0, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:76
+assert_return(
+ () => invoke($0, `or`, [i32x4([0x0, 0x0, 0x0, 0x0]), i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:79
+assert_return(
+ () => invoke($0, `or`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:82
+assert_return(
+ () => invoke($0, `or`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:85
+assert_return(
+ () => invoke($0, `or`, [i32x4([0x1, 0x1, 0x1, 0x1]), i32x4([0x1, 0x1, 0x1, 0x1])]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:88
+assert_return(
+ () => invoke($0, `or`, [
+ i32x4([0xff, 0xff, 0xff, 0xff]),
+ i32x4([0x55, 0x55, 0x55, 0x55]),
+ ]),
+ [i32x4([0xff, 0xff, 0xff, 0xff])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:91
+assert_return(
+ () => invoke($0, `or`, [
+ i32x4([0xff, 0xff, 0xff, 0xff]),
+ i32x4([0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [i32x4([0xff, 0xff, 0xff, 0xff])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:94
+assert_return(
+ () => invoke($0, `or`, [
+ i32x4([0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa]),
+ i32x4([0xa, 0x80, 0x5, 0xa5]),
+ ]),
+ [i32x4([0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaf, 0xaaaaaaaf])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:97
+assert_return(
+ () => invoke($0, `or`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0x55555555, 0x55555555, 0x55555555, 0x55555555]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:100
+assert_return(
+ () => invoke($0, `or`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:103
+assert_return(
+ () => invoke($0, `or`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:106
+assert_return(
+ () => invoke($0, `or`, [
+ i32x4([0x55555555, 0x55555555, 0x55555555, 0x55555555]),
+ i32x4([0x5555, 0xffff, 0x55ff, 0x5fff]),
+ ]),
+ [i32x4([0x55555555, 0x5555ffff, 0x555555ff, 0x55555fff])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:109
+assert_return(
+ () => invoke($0, `or`, [
+ i32x4([0x499602d2, 0x499602d2, 0x499602d2, 0x499602d2]),
+ i32x4([0x499602d2, 0x499602d2, 0x499602d2, 0x499602d2]),
+ ]),
+ [i32x4([0x499602d2, 0x499602d2, 0x499602d2, 0x499602d2])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:112
+assert_return(
+ () => invoke($0, `or`, [
+ i32x4([0x12345678, 0x12345678, 0x12345678, 0x12345678]),
+ i32x4([0x90abcdef, 0x90abcdef, 0x90abcdef, 0x90abcdef]),
+ ]),
+ [i32x4([0x92bfdfff, 0x92bfdfff, 0x92bfdfff, 0x92bfdfff])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:115
+assert_return(
+ () => invoke($0, `xor`, [
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ i32x4([0x0, 0xffffffff, 0x0, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0xffffffff, 0xffffffff, 0x0])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:118
+assert_return(
+ () => invoke($0, `xor`, [i32x4([0x0, 0x0, 0x0, 0x0]), i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:121
+assert_return(
+ () => invoke($0, `xor`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:124
+assert_return(
+ () => invoke($0, `xor`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:127
+assert_return(
+ () => invoke($0, `xor`, [i32x4([0x1, 0x1, 0x1, 0x1]), i32x4([0x1, 0x1, 0x1, 0x1])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:130
+assert_return(
+ () => invoke($0, `xor`, [
+ i32x4([0xff, 0xff, 0xff, 0xff]),
+ i32x4([0x55, 0x55, 0x55, 0x55]),
+ ]),
+ [i32x4([0xaa, 0xaa, 0xaa, 0xaa])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:133
+assert_return(
+ () => invoke($0, `xor`, [
+ i32x4([0xff, 0xff, 0xff, 0xff]),
+ i32x4([0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [i32x4([0x7f, 0x7f, 0x7f, 0x7f])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:136
+assert_return(
+ () => invoke($0, `xor`, [
+ i32x4([0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa]),
+ i32x4([0xa, 0x80, 0x5, 0xa5]),
+ ]),
+ [i32x4([0xaaaaaaa0, 0xaaaaaa2a, 0xaaaaaaaf, 0xaaaaaa0f])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:139
+assert_return(
+ () => invoke($0, `xor`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0x55555555, 0x55555555, 0x55555555, 0x55555555]),
+ ]),
+ [i32x4([0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:142
+assert_return(
+ () => invoke($0, `xor`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa]),
+ ]),
+ [i32x4([0x55555555, 0x55555555, 0x55555555, 0x55555555])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:145
+assert_return(
+ () => invoke($0, `xor`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:148
+assert_return(
+ () => invoke($0, `xor`, [
+ i32x4([0x55555555, 0x55555555, 0x55555555, 0x55555555]),
+ i32x4([0x5555, 0xffff, 0x55ff, 0x5fff]),
+ ]),
+ [i32x4([0x55550000, 0x5555aaaa, 0x555500aa, 0x55550aaa])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:151
+assert_return(
+ () => invoke($0, `xor`, [
+ i32x4([0x499602d2, 0x499602d2, 0x499602d2, 0x499602d2]),
+ i32x4([0x499602d2, 0x499602d2, 0x499602d2, 0x499602d2]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:154
+assert_return(
+ () => invoke($0, `xor`, [
+ i32x4([0x12345678, 0x12345678, 0x12345678, 0x12345678]),
+ i32x4([0x90abcdef, 0x90abcdef, 0x90abcdef, 0x90abcdef]),
+ ]),
+ [i32x4([0x829f9b97, 0x829f9b97, 0x829f9b97, 0x829f9b97])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:157
+assert_return(
+ () => invoke($0, `bitselect`, [
+ i32x4([0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa]),
+ i32x4([0xbbbbbbbb, 0xbbbbbbbb, 0xbbbbbbbb, 0xbbbbbbbb]),
+ i32x4([0x112345, 0xf00fffff, 0x10112021, 0xbbaabbaa]),
+ ]),
+ [i32x4([0xbbaababa, 0xabbaaaaa, 0xabaabbba, 0xaabbaabb])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:161
+assert_return(
+ () => invoke($0, `bitselect`, [
+ i32x4([0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa]),
+ i32x4([0xbbbbbbbb, 0xbbbbbbbb, 0xbbbbbbbb, 0xbbbbbbbb]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0xbbbbbbbb, 0xbbbbbbbb, 0xbbbbbbbb, 0xbbbbbbbb])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:165
+assert_return(
+ () => invoke($0, `bitselect`, [
+ i32x4([0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa]),
+ i32x4([0xbbbbbbbb, 0xbbbbbbbb, 0xbbbbbbbb, 0xbbbbbbbb]),
+ i32x4([0x11111111, 0x11111111, 0x11111111, 0x11111111]),
+ ]),
+ [i32x4([0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:169
+assert_return(
+ () => invoke($0, `bitselect`, [
+ i32x4([0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa]),
+ i32x4([0xbbbbbbbb, 0xbbbbbbbb, 0xbbbbbbbb, 0xbbbbbbbb]),
+ i32x4([0x1234567, 0x89abcdef, 0xfedcba98, 0x76543210]),
+ ]),
+ [i32x4([0xbabababa, 0xbabababa, 0xabababab, 0xabababab])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:173
+assert_return(
+ () => invoke($0, `bitselect`, [
+ i32x4([0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa]),
+ i32x4([0x55555555, 0x55555555, 0x55555555, 0x55555555]),
+ i32x4([0x1234567, 0x89abcdef, 0xfedcba98, 0x76543210]),
+ ]),
+ [i32x4([0x54761032, 0xdcfe98ba, 0xab89efcd, 0x23016745])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:177
+assert_return(
+ () => invoke($0, `bitselect`, [
+ i32x4([0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa]),
+ i32x4([0x55555555, 0x55555555, 0x55555555, 0x55555555]),
+ i32x4([0x55555555, 0xaaaaaaaa, 0x0, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0xffffffff, 0x55555555, 0xaaaaaaaa])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:181
+assert_return(
+ () => invoke($0, `bitselect`, [
+ i32x4([0x499602d2, 0x499602d2, 0x499602d2, 0x499602d2]),
+ i32x4([0xb669fd2e, 0xb669fd2e, 0xb669fd2e, 0xb669fd2e]),
+ i32x4([0xcdefcdef, 0xcdefcdef, 0xcdefcdef, 0xcdefcdef]),
+ ]),
+ [i32x4([0x7b8630c2, 0x7b8630c2, 0x7b8630c2, 0x7b8630c2])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:185
+assert_return(
+ () => invoke($0, `bitselect`, [
+ i32x4([0x12345678, 0x12345678, 0x12345678, 0x12345678]),
+ i32x4([0x90abcdef, 0x90abcdef, 0x90abcdef, 0x90abcdef]),
+ i32x4([0xcdefcdef, 0xcdefcdef, 0xcdefcdef, 0xcdefcdef]),
+ ]),
+ [i32x4([0x10244468, 0x10244468, 0x10244468, 0x10244468])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:189
+assert_return(
+ () => invoke($0, `andnot`, [
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ i32x4([0x0, 0xffffffff, 0x0, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0xffffffff, 0x0])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:192
+assert_return(
+ () => invoke($0, `andnot`, [i32x4([0x0, 0x0, 0x0, 0x0]), i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:195
+assert_return(
+ () => invoke($0, `andnot`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:198
+assert_return(
+ () => invoke($0, `andnot`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:201
+assert_return(
+ () => invoke($0, `andnot`, [i32x4([0x1, 0x1, 0x1, 0x1]), i32x4([0x1, 0x1, 0x1, 0x1])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:204
+assert_return(
+ () => invoke($0, `andnot`, [
+ i32x4([0xff, 0xff, 0xff, 0xff]),
+ i32x4([0x55, 0x55, 0x55, 0x55]),
+ ]),
+ [i32x4([0xaa, 0xaa, 0xaa, 0xaa])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:207
+assert_return(
+ () => invoke($0, `andnot`, [
+ i32x4([0xff, 0xff, 0xff, 0xff]),
+ i32x4([0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [i32x4([0x7f, 0x7f, 0x7f, 0x7f])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:210
+assert_return(
+ () => invoke($0, `andnot`, [
+ i32x4([0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa]),
+ i32x4([0xa, 0x80, 0x5, 0xa5]),
+ ]),
+ [i32x4([0xaaaaaaa0, 0xaaaaaa2a, 0xaaaaaaaa, 0xaaaaaa0a])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:213
+assert_return(
+ () => invoke($0, `andnot`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0x55555555, 0x55555555, 0x55555555, 0x55555555]),
+ ]),
+ [i32x4([0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:216
+assert_return(
+ () => invoke($0, `andnot`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa]),
+ ]),
+ [i32x4([0x55555555, 0x55555555, 0x55555555, 0x55555555])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:219
+assert_return(
+ () => invoke($0, `andnot`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:222
+assert_return(
+ () => invoke($0, `andnot`, [
+ i32x4([0x55555555, 0x55555555, 0x55555555, 0x55555555]),
+ i32x4([0x5555, 0xffff, 0x55ff, 0x5fff]),
+ ]),
+ [i32x4([0x55550000, 0x55550000, 0x55550000, 0x55550000])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:225
+assert_return(
+ () => invoke($0, `andnot`, [
+ i32x4([0x499602d2, 0x499602d2, 0x499602d2, 0x499602d2]),
+ i32x4([0x499602d2, 0x499602d2, 0x499602d2, 0x499602d2]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:228
+assert_return(
+ () => invoke($0, `andnot`, [
+ i32x4([0x12345678, 0x12345678, 0x12345678, 0x12345678]),
+ i32x4([0x90abcdef, 0x90abcdef, 0x90abcdef, 0x90abcdef]),
+ ]),
+ [i32x4([0x2141210, 0x2141210, 0x2141210, 0x2141210])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:233
+assert_return(
+ () => invoke($0, `not`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.00000000000000000000000000000000000000587747),
+ value("f32", 0.00000000000000000000000000000000000000587747),
+ value("f32", 0.00000000000000000000000000000000000000587747),
+ value("f32", 0.00000000000000000000000000000000000000587747),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_bitwise.wast:235
+assert_return(
+ () => invoke($0, `not`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.00000000000000000000000000000000000000587747),
+ value("f32", -0.00000000000000000000000000000000000000587747),
+ value("f32", -0.00000000000000000000000000000000000000587747),
+ value("f32", -0.00000000000000000000000000000000000000587747),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_bitwise.wast:237
+assert_return(
+ () => invoke($0, `not`, [f32x4([-Infinity, -Infinity, -Infinity, -Infinity])]),
+ [i32x4([0x7fffff, 0x7fffff, 0x7fffff, 0x7fffff])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:239
+assert_return(
+ () => invoke($0, `not`, [f32x4([Infinity, Infinity, Infinity, Infinity])]),
+ [i32x4([0x807fffff, 0x807fffff, 0x807fffff, 0x807fffff])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:241
+assert_return(
+ () => invoke($0, `and`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0xffc00000, 0xffc00000, 0xffc00000, 0xffc00000])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:244
+assert_return(
+ () => invoke($0, `and`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_bitwise.wast:247
+assert_return(
+ () => invoke($0, `and`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_bitwise.wast:250
+assert_return(
+ () => invoke($0, `and`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_bitwise.wast:253
+assert_return(
+ () => invoke($0, `and`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_bitwise.wast:256
+assert_return(
+ () => invoke($0, `and`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_bitwise.wast:259
+assert_return(
+ () => invoke($0, `and`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_bitwise.wast:262
+assert_return(
+ () => invoke($0, `and`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_bitwise.wast:265
+assert_return(
+ () => invoke($0, `and`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_bitwise.wast:268
+assert_return(
+ () => invoke($0, `and`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_bitwise.wast:271
+assert_return(
+ () => invoke($0, `or`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0xffc00000, 0xffc00000, 0xffc00000, 0xffc00000])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:274
+assert_return(
+ () => invoke($0, `or`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0xffc00000, 0xffc00000, 0xffc00000, 0xffc00000])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:277
+assert_return(
+ () => invoke($0, `or`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0xffc00000, 0xffc00000, 0xffc00000, 0xffc00000])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:280
+assert_return(
+ () => invoke($0, `or`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0xffc00000, 0xffc00000, 0xffc00000, 0xffc00000])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:283
+assert_return(
+ () => invoke($0, `or`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_bitwise.wast:286
+assert_return(
+ () => invoke($0, `or`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0xffc00000, 0xffc00000, 0xffc00000, 0xffc00000])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:289
+assert_return(
+ () => invoke($0, `or`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_bitwise.wast:292
+assert_return(
+ () => invoke($0, `or`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_bitwise.wast:295
+assert_return(
+ () => invoke($0, `or`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_bitwise.wast:298
+assert_return(
+ () => invoke($0, `or`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_bitwise.wast:301
+assert_return(
+ () => invoke($0, `xor`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_bitwise.wast:304
+assert_return(
+ () => invoke($0, `xor`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_bitwise.wast:307
+assert_return(
+ () => invoke($0, `xor`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x400000, 0x400000, 0x400000, 0x400000])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:310
+assert_return(
+ () => invoke($0, `xor`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x80400000, 0x80400000, 0x80400000, 0x80400000])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:313
+assert_return(
+ () => invoke($0, `xor`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_bitwise.wast:316
+assert_return(
+ () => invoke($0, `xor`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x80400000, 0x80400000, 0x80400000, 0x80400000])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:319
+assert_return(
+ () => invoke($0, `xor`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x400000, 0x400000, 0x400000, 0x400000])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:322
+assert_return(
+ () => invoke($0, `xor`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_bitwise.wast:325
+assert_return(
+ () => invoke($0, `xor`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:328
+assert_return(
+ () => invoke($0, `xor`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_bitwise.wast:331
+assert_return(
+ () => invoke($0, `bitselect`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([2779096600, 2779096600, 2779096600, 2779096600]),
+ ]),
+ [i32x4([0xffc00000, 0xffc00000, 0xffc00000, 0xffc00000])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:335
+assert_return(
+ () => invoke($0, `bitselect`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([2779096600, 2779096600, 2779096600, 2779096600]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_bitwise.wast:339
+assert_return(
+ () => invoke($0, `bitselect`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([2779096600, 2779096600, 2779096600, 2779096600]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_bitwise.wast:343
+assert_return(
+ () => invoke($0, `bitselect`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([2779096600, 2779096600, 2779096600, 2779096600]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_bitwise.wast:347
+assert_return(
+ () => invoke($0, `bitselect`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([2779096600, 2779096600, 2779096600, 2779096600]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_bitwise.wast:351
+assert_return(
+ () => invoke($0, `bitselect`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([2779096600, 2779096600, 2779096600, 2779096600]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_bitwise.wast:355
+assert_return(
+ () => invoke($0, `bitselect`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([2779096600, 2779096600, 2779096600, 2779096600]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_bitwise.wast:359
+assert_return(
+ () => invoke($0, `bitselect`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([2779096600, 2779096600, 2779096600, 2779096600]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_bitwise.wast:363
+assert_return(
+ () => invoke($0, `bitselect`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([2779096600, 2779096600, 2779096600, 2779096600]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_bitwise.wast:367
+assert_return(
+ () => invoke($0, `bitselect`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([2779096600, 2779096600, 2779096600, 2779096600]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_bitwise.wast:371
+assert_return(
+ () => invoke($0, `andnot`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:374
+assert_return(
+ () => invoke($0, `andnot`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_bitwise.wast:377
+assert_return(
+ () => invoke($0, `andnot`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x400000, 0x400000, 0x400000, 0x400000])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:380
+assert_return(
+ () => invoke($0, `andnot`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x80400000, 0x80400000, 0x80400000, 0x80400000])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:383
+assert_return(
+ () => invoke($0, `andnot`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_bitwise.wast:386
+assert_return(
+ () => invoke($0, `andnot`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x400000, 0x400000, 0x400000, 0x400000])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:389
+assert_return(
+ () => invoke($0, `andnot`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x400000, 0x400000, 0x400000, 0x400000])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:392
+assert_return(
+ () => invoke($0, `andnot`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_bitwise.wast:395
+assert_return(
+ () => invoke($0, `andnot`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:398
+assert_return(
+ () => invoke($0, `andnot`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_bitwise.wast:405
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (v128.not (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_bitwise.wast:407
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (v128.and (i32.const 0) (v128.const i32x4 0 0 0 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_bitwise.wast:408
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (v128.and (v128.const i32x4 0 0 0 0) (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_bitwise.wast:409
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (v128.and (i32.const 0) (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_bitwise.wast:411
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (v128.or (i32.const 0) (v128.const i32x4 0 0 0 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_bitwise.wast:412
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (v128.or (v128.const i32x4 0 0 0 0) (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_bitwise.wast:413
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (v128.or (i32.const 0) (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_bitwise.wast:415
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (v128.xor (i32.const 0) (v128.const i32x4 0 0 0 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_bitwise.wast:416
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (v128.xor (v128.const i32x4 0 0 0 0) (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_bitwise.wast:417
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (v128.xor (i32.const 0) (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_bitwise.wast:419
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (v128.bitselect (i32.const 0) (v128.const i32x4 0 0 0 0) (v128.const i32x4 0 0 0 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_bitwise.wast:420
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (v128.bitselect (v128.const i32x4 0 0 0 0) (v128.const i32x4 0 0 0 0) (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_bitwise.wast:421
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (v128.bitselect (i32.const 0) (i32.const 0) (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_bitwise.wast:423
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (v128.andnot (i32.const 0) (v128.const i32x4 0 0 0 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_bitwise.wast:424
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (v128.andnot (v128.const i32x4 0 0 0 0) (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_bitwise.wast:425
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (v128.andnot (i32.const 0) (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_bitwise.wast:429
+let $1 = instantiate(`(module (memory 1)
+ (func (export "v128.not-in-block")
+ (block
+ (drop
+ (block (result v128)
+ (v128.not
+ (block (result v128) (v128.load (i32.const 0)))
+ )
+ )
+ )
+ )
+ )
+ (func (export "v128.and-in-block")
+ (block
+ (drop
+ (block (result v128)
+ (v128.and
+ (block (result v128) (v128.load (i32.const 0)))
+ (block (result v128) (v128.load (i32.const 1)))
+ )
+ )
+ )
+ )
+ )
+ (func (export "v128.or-in-block")
+ (block
+ (drop
+ (block (result v128)
+ (v128.or
+ (block (result v128) (v128.load (i32.const 0)))
+ (block (result v128) (v128.load (i32.const 1)))
+ )
+ )
+ )
+ )
+ )
+ (func (export "v128.xor-in-block")
+ (block
+ (drop
+ (block (result v128)
+ (v128.xor
+ (block (result v128) (v128.load (i32.const 0)))
+ (block (result v128) (v128.load (i32.const 1)))
+ )
+ )
+ )
+ )
+ )
+ (func (export "v128.bitselect-in-block")
+ (block
+ (drop
+ (block (result v128)
+ (v128.bitselect
+ (block (result v128) (v128.load (i32.const 0)))
+ (block (result v128) (v128.load (i32.const 1)))
+ (block (result v128) (v128.load (i32.const 2)))
+ )
+ )
+ )
+ )
+ )
+ (func (export "v128.andnot-in-block")
+ (block
+ (drop
+ (block (result v128)
+ (v128.andnot
+ (block (result v128) (v128.load (i32.const 0)))
+ (block (result v128) (v128.load (i32.const 1)))
+ )
+ )
+ )
+ )
+ )
+ (func (export "nested-v128.not")
+ (drop
+ (v128.not
+ (v128.not
+ (v128.not
+ (v128.load (i32.const 0))
+ )
+ )
+ )
+ )
+ )
+ (func (export "nested-v128.and")
+ (drop
+ (v128.and
+ (v128.and
+ (v128.and
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (v128.and
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ )
+ (v128.and
+ (v128.and
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (v128.and
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ )
+ )
+ )
+ )
+ (func (export "nested-v128.or")
+ (drop
+ (v128.or
+ (v128.or
+ (v128.or
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (v128.or
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ )
+ (v128.or
+ (v128.or
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (v128.or
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ )
+ )
+ )
+ )
+ (func (export "nested-v128.xor")
+ (drop
+ (v128.xor
+ (v128.xor
+ (v128.xor
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (v128.xor
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ )
+ (v128.xor
+ (v128.xor
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (v128.xor
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ )
+ )
+ )
+ )
+ (func (export "nested-v128.bitselect")
+ (drop
+ (v128.bitselect
+ (v128.bitselect
+ (v128.bitselect
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ (v128.load (i32.const 2))
+ )
+ (v128.bitselect
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ (v128.load (i32.const 2))
+ )
+ (v128.bitselect
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ (v128.load (i32.const 2))
+ )
+ )
+ (v128.bitselect
+ (v128.bitselect
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ (v128.load (i32.const 2))
+ )
+ (v128.bitselect
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ (v128.load (i32.const 2))
+ )
+ (v128.bitselect
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ (v128.load (i32.const 2))
+ )
+ )
+ (v128.bitselect
+ (v128.bitselect
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ (v128.load (i32.const 2))
+ )
+ (v128.bitselect
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ (v128.load (i32.const 2))
+ )
+ (v128.bitselect
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ (v128.load (i32.const 2))
+ )
+ )
+ )
+ )
+ )
+ (func (export "nested-v128.andnot")
+ (drop
+ (v128.andnot
+ (v128.andnot
+ (v128.andnot
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (v128.andnot
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ )
+ (v128.andnot
+ (v128.andnot
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (v128.andnot
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ )
+ )
+ )
+ )
+ (func (export "as-param")
+ (drop
+ (v128.or
+ (v128.and
+ (v128.not
+ (v128.load (i32.const 0))
+ )
+ (v128.not
+ (v128.load (i32.const 1))
+ )
+ )
+ (v128.xor
+ (v128.bitselect
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ (v128.load (i32.const 2))
+ )
+ (v128.andnot
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ )
+ )
+ )
+ )
+)`);
+
+// ./test/core/simd/simd_bitwise.wast:700
+assert_return(() => invoke($1, `v128.not-in-block`, []), []);
+
+// ./test/core/simd/simd_bitwise.wast:701
+assert_return(() => invoke($1, `v128.and-in-block`, []), []);
+
+// ./test/core/simd/simd_bitwise.wast:702
+assert_return(() => invoke($1, `v128.or-in-block`, []), []);
+
+// ./test/core/simd/simd_bitwise.wast:703
+assert_return(() => invoke($1, `v128.xor-in-block`, []), []);
+
+// ./test/core/simd/simd_bitwise.wast:704
+assert_return(() => invoke($1, `v128.bitselect-in-block`, []), []);
+
+// ./test/core/simd/simd_bitwise.wast:705
+assert_return(() => invoke($1, `v128.andnot-in-block`, []), []);
+
+// ./test/core/simd/simd_bitwise.wast:706
+assert_return(() => invoke($1, `nested-v128.not`, []), []);
+
+// ./test/core/simd/simd_bitwise.wast:707
+assert_return(() => invoke($1, `nested-v128.and`, []), []);
+
+// ./test/core/simd/simd_bitwise.wast:708
+assert_return(() => invoke($1, `nested-v128.or`, []), []);
+
+// ./test/core/simd/simd_bitwise.wast:709
+assert_return(() => invoke($1, `nested-v128.xor`, []), []);
+
+// ./test/core/simd/simd_bitwise.wast:710
+assert_return(() => invoke($1, `nested-v128.bitselect`, []), []);
+
+// ./test/core/simd/simd_bitwise.wast:711
+assert_return(() => invoke($1, `nested-v128.andnot`, []), []);
+
+// ./test/core/simd/simd_bitwise.wast:712
+assert_return(() => invoke($1, `as-param`, []), []);
+
+// ./test/core/simd/simd_bitwise.wast:717
+assert_invalid(
+ () => instantiate(`(module
+ (func $$v128.not-arg-empty (result v128)
+ (v128.not)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_bitwise.wast:725
+assert_invalid(
+ () => instantiate(`(module
+ (func $$v128.and-1st-arg-empty (result v128)
+ (v128.and (v128.const i32x4 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_bitwise.wast:733
+assert_invalid(
+ () => instantiate(`(module
+ (func $$v128.and-arg-empty (result v128)
+ (v128.and)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_bitwise.wast:741
+assert_invalid(
+ () => instantiate(`(module
+ (func $$v128.or-1st-arg-empty (result v128)
+ (v128.or (v128.const i32x4 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_bitwise.wast:749
+assert_invalid(
+ () => instantiate(`(module
+ (func $$v128.or-arg-empty (result v128)
+ (v128.or)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_bitwise.wast:757
+assert_invalid(
+ () => instantiate(`(module
+ (func $$v128.xor-1st-arg-empty (result v128)
+ (v128.xor (v128.const i32x4 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_bitwise.wast:765
+assert_invalid(
+ () => instantiate(`(module
+ (func $$v128.xor-arg-empty (result v128)
+ (v128.xor)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_bitwise.wast:773
+assert_invalid(
+ () => instantiate(`(module
+ (func $$v128.andnot-1st-arg-empty (result v128)
+ (v128.andnot (v128.const i32x4 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_bitwise.wast:781
+assert_invalid(
+ () => instantiate(`(module
+ (func $$v128.andnot-arg-empty (result v128)
+ (v128.andnot)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_bitwise.wast:789
+assert_invalid(
+ () => instantiate(`(module
+ (func $$v128.bitselect-1st-arg-empty (result v128)
+ (v128.bitselect (v128.const i32x4 0 0 0 0) (v128.const i32x4 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_bitwise.wast:797
+assert_invalid(
+ () => instantiate(`(module
+ (func $$v128.bitselect-two-args-empty (result v128)
+ (v128.bitselect (v128.const i32x4 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_bitwise.wast:805
+assert_invalid(
+ () => instantiate(`(module
+ (func $$v128.bitselect-arg-empty (result v128)
+ (v128.bitselect)
+ )
+ )`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/simd_boolean.wast.js b/js/src/jit-test/tests/wasm/spec/spec/simd_boolean.wast.js
new file mode 100644
index 0000000000..63959fad79
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/simd_boolean.wast.js
@@ -0,0 +1,2455 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_boolean.wast
+
+// ./test/core/simd/simd_boolean.wast:3
+let $0 = instantiate(`(module
+ (func (export "i8x16.any_true") (param $$0 v128) (result i32) (v128.any_true (local.get $$0)))
+ (func (export "i8x16.all_true") (param $$0 v128) (result i32) (i8x16.all_true (local.get $$0)))
+ (func (export "i8x16.bitmask") (param $$0 v128) (result i32) (i8x16.bitmask (local.get $$0)))
+
+ (func (export "i16x8.any_true") (param $$0 v128) (result i32) (v128.any_true (local.get $$0)))
+ (func (export "i16x8.all_true") (param $$0 v128) (result i32) (i16x8.all_true (local.get $$0)))
+ (func (export "i16x8.bitmask") (param $$0 v128) (result i32) (i16x8.bitmask (local.get $$0)))
+
+ (func (export "i32x4.any_true") (param $$0 v128) (result i32) (v128.any_true (local.get $$0)))
+ (func (export "i32x4.all_true") (param $$0 v128) (result i32) (i32x4.all_true (local.get $$0)))
+ (func (export "i32x4.bitmask") (param $$0 v128) (result i32) (i32x4.bitmask (local.get $$0)))
+
+ (func (export "i64x2.all_true") (param $$0 v128) (result i32) (i64x2.all_true (local.get $$0)))
+ (func (export "i64x2.bitmask") (param $$0 v128) (result i32) (i64x2.bitmask (local.get $$0)))
+)`);
+
+// ./test/core/simd/simd_boolean.wast:21
+assert_return(
+ () => invoke($0, `i8x16.any_true`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:23
+assert_return(
+ () => invoke($0, `i8x16.any_true`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:25
+assert_return(
+ () => invoke($0, `i8x16.any_true`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x1]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:27
+assert_return(
+ () => invoke($0, `i8x16.any_true`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:29
+assert_return(
+ () => invoke($0, `i8x16.any_true`, [
+ i8x16([0xff, 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xf]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:31
+assert_return(
+ () => invoke($0, `i8x16.any_true`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:33
+assert_return(
+ () => invoke($0, `i8x16.any_true`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:35
+assert_return(
+ () => invoke($0, `i8x16.any_true`, [
+ i8x16([0xab, 0xab, 0xab, 0xab, 0xab, 0xab, 0xab, 0xab, 0xab, 0xab, 0xab, 0xab, 0xab, 0xab, 0xab, 0xab]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:37
+assert_return(
+ () => invoke($0, `i8x16.any_true`, [
+ i8x16([0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:39
+assert_return(
+ () => invoke($0, `i8x16.all_true`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:41
+assert_return(
+ () => invoke($0, `i8x16.all_true`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:43
+assert_return(
+ () => invoke($0, `i8x16.all_true`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x1]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:45
+assert_return(
+ () => invoke($0, `i8x16.all_true`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:47
+assert_return(
+ () => invoke($0, `i8x16.all_true`, [
+ i8x16([0xff, 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xf]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:49
+assert_return(
+ () => invoke($0, `i8x16.all_true`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:51
+assert_return(
+ () => invoke($0, `i8x16.all_true`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:53
+assert_return(
+ () => invoke($0, `i8x16.all_true`, [
+ i8x16([0xab, 0xab, 0xab, 0xab, 0xab, 0xab, 0xab, 0xab, 0xab, 0xab, 0xab, 0xab, 0xab, 0xab, 0xab, 0xab]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:55
+assert_return(
+ () => invoke($0, `i8x16.all_true`, [
+ i8x16([0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:57
+assert_return(
+ () => invoke($0, `i8x16.bitmask`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [value("i32", 65535)],
+);
+
+// ./test/core/simd/simd_boolean.wast:59
+assert_return(
+ () => invoke($0, `i8x16.bitmask`, [
+ i8x16([0xff, 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xf]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:63
+assert_return(
+ () => invoke($0, `i16x8.any_true`, [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:65
+assert_return(
+ () => invoke($0, `i16x8.any_true`, [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0])]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:67
+assert_return(
+ () => invoke($0, `i16x8.any_true`, [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x1])]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:69
+assert_return(
+ () => invoke($0, `i16x8.any_true`, [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:71
+assert_return(
+ () => invoke($0, `i16x8.any_true`, [
+ i16x8([0xffff, 0x0, 0x1, 0x2, 0xb, 0xc, 0xd, 0xf]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:73
+assert_return(
+ () => invoke($0, `i16x8.any_true`, [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:75
+assert_return(
+ () => invoke($0, `i16x8.any_true`, [
+ i16x8([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:77
+assert_return(
+ () => invoke($0, `i16x8.any_true`, [
+ i16x8([0xab, 0xab, 0xab, 0xab, 0xab, 0xab, 0xab, 0xab]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:79
+assert_return(
+ () => invoke($0, `i16x8.any_true`, [
+ i16x8([0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:81
+assert_return(
+ () => invoke($0, `i16x8.any_true`, [
+ i16x8([0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:83
+assert_return(
+ () => invoke($0, `i16x8.any_true`, [
+ i16x8([0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:85
+assert_return(
+ () => invoke($0, `i16x8.all_true`, [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:87
+assert_return(
+ () => invoke($0, `i16x8.all_true`, [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:89
+assert_return(
+ () => invoke($0, `i16x8.all_true`, [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x1])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:91
+assert_return(
+ () => invoke($0, `i16x8.all_true`, [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:93
+assert_return(
+ () => invoke($0, `i16x8.all_true`, [
+ i16x8([0xffff, 0x0, 0x1, 0x2, 0xb, 0xc, 0xd, 0xf]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:95
+assert_return(
+ () => invoke($0, `i16x8.all_true`, [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:97
+assert_return(
+ () => invoke($0, `i16x8.all_true`, [
+ i16x8([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:99
+assert_return(
+ () => invoke($0, `i16x8.all_true`, [
+ i16x8([0xab, 0xab, 0xab, 0xab, 0xab, 0xab, 0xab, 0xab]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:101
+assert_return(
+ () => invoke($0, `i16x8.all_true`, [
+ i16x8([0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:103
+assert_return(
+ () => invoke($0, `i16x8.all_true`, [
+ i16x8([0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:105
+assert_return(
+ () => invoke($0, `i16x8.all_true`, [
+ i16x8([0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:107
+assert_return(
+ () => invoke($0, `i16x8.bitmask`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [value("i32", 255)],
+);
+
+// ./test/core/simd/simd_boolean.wast:109
+assert_return(
+ () => invoke($0, `i16x8.bitmask`, [
+ i16x8([0xffff, 0x0, 0x1, 0x2, 0xb, 0xc, 0xd, 0xf]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:113
+assert_return(() => invoke($0, `i32x4.any_true`, [i32x4([0x0, 0x0, 0x0, 0x0])]), [value("i32", 0)]);
+
+// ./test/core/simd/simd_boolean.wast:115
+assert_return(() => invoke($0, `i32x4.any_true`, [i32x4([0x0, 0x0, 0x1, 0x0])]), [value("i32", 1)]);
+
+// ./test/core/simd/simd_boolean.wast:117
+assert_return(() => invoke($0, `i32x4.any_true`, [i32x4([0x1, 0x1, 0x0, 0x1])]), [value("i32", 1)]);
+
+// ./test/core/simd/simd_boolean.wast:119
+assert_return(() => invoke($0, `i32x4.any_true`, [i32x4([0x1, 0x1, 0x1, 0x1])]), [value("i32", 1)]);
+
+// ./test/core/simd/simd_boolean.wast:121
+assert_return(
+ () => invoke($0, `i32x4.any_true`, [i32x4([0xffffffff, 0x0, 0x1, 0xf])]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:123
+assert_return(() => invoke($0, `i32x4.any_true`, [i32x4([0x0, 0x0, 0x0, 0x0])]), [value("i32", 0)]);
+
+// ./test/core/simd/simd_boolean.wast:125
+assert_return(() => invoke($0, `i32x4.any_true`, [i32x4([0xff, 0xff, 0xff, 0xff])]), [value("i32", 1)]);
+
+// ./test/core/simd/simd_boolean.wast:127
+assert_return(() => invoke($0, `i32x4.any_true`, [i32x4([0xab, 0xab, 0xab, 0xab])]), [value("i32", 1)]);
+
+// ./test/core/simd/simd_boolean.wast:129
+assert_return(() => invoke($0, `i32x4.any_true`, [i32x4([0x55, 0x55, 0x55, 0x55])]), [value("i32", 1)]);
+
+// ./test/core/simd/simd_boolean.wast:131
+assert_return(
+ () => invoke($0, `i32x4.any_true`, [
+ i32x4([0x499602d2, 0x499602d2, 0x499602d2, 0x499602d2]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:133
+assert_return(
+ () => invoke($0, `i32x4.any_true`, [
+ i32x4([0x12345678, 0x12345678, 0x12345678, 0x12345678]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:135
+assert_return(() => invoke($0, `i32x4.all_true`, [i32x4([0x0, 0x0, 0x0, 0x0])]), [value("i32", 0)]);
+
+// ./test/core/simd/simd_boolean.wast:137
+assert_return(() => invoke($0, `i32x4.all_true`, [i32x4([0x0, 0x0, 0x1, 0x0])]), [value("i32", 0)]);
+
+// ./test/core/simd/simd_boolean.wast:139
+assert_return(() => invoke($0, `i32x4.all_true`, [i32x4([0x1, 0x1, 0x0, 0x1])]), [value("i32", 0)]);
+
+// ./test/core/simd/simd_boolean.wast:141
+assert_return(() => invoke($0, `i32x4.all_true`, [i32x4([0x1, 0x1, 0x1, 0x1])]), [value("i32", 1)]);
+
+// ./test/core/simd/simd_boolean.wast:143
+assert_return(
+ () => invoke($0, `i32x4.all_true`, [i32x4([0xffffffff, 0x0, 0x1, 0xf])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:145
+assert_return(() => invoke($0, `i32x4.all_true`, [i32x4([0x0, 0x0, 0x0, 0x0])]), [value("i32", 0)]);
+
+// ./test/core/simd/simd_boolean.wast:147
+assert_return(() => invoke($0, `i32x4.all_true`, [i32x4([0xff, 0xff, 0xff, 0xff])]), [value("i32", 1)]);
+
+// ./test/core/simd/simd_boolean.wast:149
+assert_return(() => invoke($0, `i32x4.all_true`, [i32x4([0xab, 0xab, 0xab, 0xab])]), [value("i32", 1)]);
+
+// ./test/core/simd/simd_boolean.wast:151
+assert_return(() => invoke($0, `i32x4.all_true`, [i32x4([0x55, 0x55, 0x55, 0x55])]), [value("i32", 1)]);
+
+// ./test/core/simd/simd_boolean.wast:153
+assert_return(
+ () => invoke($0, `i32x4.all_true`, [
+ i32x4([0x499602d2, 0x499602d2, 0x499602d2, 0x499602d2]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:155
+assert_return(
+ () => invoke($0, `i32x4.all_true`, [
+ i32x4([0x12345678, 0x12345678, 0x12345678, 0x12345678]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:157
+assert_return(
+ () => invoke($0, `i32x4.bitmask`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [value("i32", 15)],
+);
+
+// ./test/core/simd/simd_boolean.wast:159
+assert_return(
+ () => invoke($0, `i32x4.bitmask`, [i32x4([0xffffffff, 0x0, 0x1, 0xf])]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:163
+assert_return(() => invoke($0, `i64x2.all_true`, [i64x2([0x0n, 0x0n])]), [value("i32", 0)]);
+
+// ./test/core/simd/simd_boolean.wast:165
+assert_return(() => invoke($0, `i64x2.all_true`, [i64x2([0x0n, 0x1n])]), [value("i32", 0)]);
+
+// ./test/core/simd/simd_boolean.wast:167
+assert_return(() => invoke($0, `i64x2.all_true`, [i64x2([0x1n, 0x0n])]), [value("i32", 0)]);
+
+// ./test/core/simd/simd_boolean.wast:169
+assert_return(() => invoke($0, `i64x2.all_true`, [i64x2([0x1n, 0x1n])]), [value("i32", 1)]);
+
+// ./test/core/simd/simd_boolean.wast:171
+assert_return(
+ () => invoke($0, `i64x2.all_true`, [i64x2([0xffffffffffffffffn, 0x0n])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:173
+assert_return(() => invoke($0, `i64x2.all_true`, [i64x2([0x0n, 0x0n])]), [value("i32", 0)]);
+
+// ./test/core/simd/simd_boolean.wast:175
+assert_return(() => invoke($0, `i64x2.all_true`, [i64x2([0xffn, 0xffn])]), [value("i32", 1)]);
+
+// ./test/core/simd/simd_boolean.wast:177
+assert_return(() => invoke($0, `i64x2.all_true`, [i64x2([0xabn, 0xabn])]), [value("i32", 1)]);
+
+// ./test/core/simd/simd_boolean.wast:179
+assert_return(() => invoke($0, `i64x2.all_true`, [i64x2([0x55n, 0x55n])]), [value("i32", 1)]);
+
+// ./test/core/simd/simd_boolean.wast:181
+assert_return(
+ () => invoke($0, `i64x2.bitmask`, [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])]),
+ [value("i32", 3)],
+);
+
+// ./test/core/simd/simd_boolean.wast:183
+assert_return(
+ () => invoke($0, `i64x2.bitmask`, [i64x2([0xffffffffffffffffn, 0xfn])]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:188
+let $1 = instantiate(`(module (memory 1)
+ ;; as if condition
+ (func (export "i8x16_any_true_as_if_cond") (param v128) (result i32)
+ (if (result i32) (v128.any_true (local.get 0))
+ (then (i32.const 1))
+ (else (i32.const 0))
+ )
+ )
+ (func (export "i16x8_any_true_as_if_cond") (param v128) (result i32)
+ (if (result i32) (v128.any_true (local.get 0))
+ (then (i32.const 1))
+ (else (i32.const 0))
+ )
+ )
+ (func (export "i32x4_any_true_as_if_cond") (param v128) (result i32)
+ (if (result i32) (v128.any_true (local.get 0))
+ (then (i32.const 1))
+ (else (i32.const 0))
+ )
+ )
+ (func (export "i8x16_all_true_as_if_cond") (param v128) (result i32)
+ (if (result i32) (i8x16.all_true (local.get 0))
+ (then (i32.const 1))
+ (else (i32.const 0))
+ )
+ )
+ (func (export "i16x8_all_true_as_if_cond") (param v128) (result i32)
+ (if (result i32) (i16x8.all_true (local.get 0))
+ (then (i32.const 1))
+ (else (i32.const 0))
+ )
+ )
+ (func (export "i32x4_all_true_as_if_cond") (param v128) (result i32)
+ (if (result i32) (i32x4.all_true (local.get 0))
+ (then (i32.const 1))
+ (else (i32.const 0))
+ )
+ )
+ ;; any_true as select condition
+ (func (export "i8x16_any_true_as_select_cond") (param v128) (result i32)
+ (select (i32.const 1) (i32.const 0) (v128.any_true (local.get 0)))
+ )
+ (func (export "i16x8_any_true_as_select_cond") (param v128) (result i32)
+ (select (i32.const 1) (i32.const 0) (v128.any_true (local.get 0)))
+ )
+ (func (export "i32x4_any_true_as_select_cond") (param v128) (result i32)
+ (select (i32.const 1) (i32.const 0) (v128.any_true (local.get 0)))
+ )
+ ;; all_true as select condition
+ (func (export "i8x16_all_true_as_select_cond") (param v128) (result i32)
+ (select (i32.const 1) (i32.const 0) (i8x16.all_true (local.get 0)))
+ )
+ (func (export "i16x8_all_true_as_select_cond") (param v128) (result i32)
+ (select (i32.const 1) (i32.const 0) (i16x8.all_true (local.get 0)))
+ )
+ (func (export "i32x4_all_true_as_select_cond") (param v128) (result i32)
+ (select (i32.const 1) (i32.const 0) (i32x4.all_true (local.get 0)))
+ )
+ ;; any_true as br_if condition
+ (func (export "i8x16_any_true_as_br_if_cond") (param $$0 v128) (result i32)
+ (local $$1 i32)
+ (local.set $$1 (i32.const 2))
+ (block
+ (local.set $$1 (i32.const 1))
+ (br_if 0 (v128.any_true (local.get $$0)))
+ (local.set $$1 (i32.const 0))
+ )
+ (local.get $$1)
+ )
+ (func (export "i16x8_any_true_as_br_if_cond") (param $$0 v128) (result i32)
+ (local $$1 i32)
+ (local.set $$1 (i32.const 2))
+ (block
+ (local.set $$1 (i32.const 1))
+ (br_if 0 (v128.any_true (local.get $$0)))
+ (local.set $$1 (i32.const 0))
+ )
+ (local.get $$1)
+ )
+ (func (export "i32x4_any_true_as_br_if_cond") (param $$0 v128) (result i32)
+ (local $$1 i32)
+ (local.set $$1 (i32.const 2))
+ (block
+ (local.set $$1 (i32.const 1))
+ (br_if 0 (v128.any_true (local.get $$0)))
+ (local.set $$1 (i32.const 0))
+ )
+ (local.get $$1)
+ )
+ ;; all_true as br_if condition
+ (func (export "i8x16_all_true_as_br_if_cond") (param $$0 v128) (result i32)
+ (local $$1 i32)
+ (local.set $$1 (i32.const 2))
+ (block
+ (local.set $$1 (i32.const 1))
+ (br_if 0 (i8x16.all_true (local.get $$0)))
+ (local.set $$1 (i32.const 0))
+ )
+ (local.get $$1)
+ )
+ (func (export "i16x8_all_true_as_br_if_cond") (param $$0 v128) (result i32)
+ (local $$1 i32)
+ (local.set $$1 (i32.const 2))
+ (block
+ (local.set $$1 (i32.const 1))
+ (br_if 0 (i16x8.all_true (local.get $$0)))
+ (local.set $$1 (i32.const 0))
+ )
+ (local.get $$1)
+ )
+ (func (export "i32x4_all_true_as_br_if_cond") (param $$0 v128) (result i32)
+ (local $$1 i32)
+ (local.set $$1 (i32.const 2))
+ (block
+ (local.set $$1 (i32.const 1))
+ (br_if 0 (i32x4.all_true (local.get $$0)))
+ (local.set $$1 (i32.const 0))
+ )
+ (local.get $$1)
+ )
+ ;; any_true as i32.and operand
+ (func (export "i8x16_any_true_as_i32.and_operand") (param $$0 v128) (param $$1 v128) (result i32)
+ (i32.and (v128.any_true (local.get $$0)) (v128.any_true (local.get $$1)))
+ )
+ (func (export "i16x8_any_true_as_i32.and_operand") (param $$0 v128) (param $$1 v128) (result i32)
+ (i32.and (v128.any_true (local.get $$0)) (v128.any_true (local.get $$1)))
+ )
+ (func (export "i32x4_any_true_as_i32.and_operand") (param $$0 v128) (param $$1 v128) (result i32)
+ (i32.and (v128.any_true (local.get $$0)) (v128.any_true (local.get $$1)))
+ )
+ ;; any_true as i32.or operand
+ (func (export "i8x16_any_true_as_i32.or_operand") (param $$0 v128) (param $$1 v128) (result i32)
+ (i32.or (v128.any_true (local.get $$0)) (v128.any_true (local.get $$1)))
+ )
+ (func (export "i16x8_any_true_as_i32.or_operand") (param $$0 v128) (param $$1 v128) (result i32)
+ (i32.or (v128.any_true (local.get $$0)) (v128.any_true (local.get $$1)))
+ )
+ (func (export "i32x4_any_true_as_i32.or_operand") (param $$0 v128) (param $$1 v128) (result i32)
+ (i32.or (v128.any_true (local.get $$0)) (v128.any_true (local.get $$1)))
+ )
+ ;; any_true as i32.xor operand
+ (func (export "i8x16_any_true_as_i32.xor_operand") (param $$0 v128) (param $$1 v128) (result i32)
+ (i32.xor (v128.any_true (local.get $$0)) (v128.any_true (local.get $$1)))
+ )
+ (func (export "i16x8_any_true_as_i32.xor_operand") (param $$0 v128) (param $$1 v128) (result i32)
+ (i32.xor (v128.any_true (local.get $$0)) (v128.any_true (local.get $$1)))
+ )
+ (func (export "i32x4_any_true_as_i32.xor_operand") (param $$0 v128) (param $$1 v128) (result i32)
+ (i32.xor (v128.any_true (local.get $$0)) (v128.any_true (local.get $$1)))
+ )
+ ;; all_true as i32.and operand
+ (func (export "i8x16_all_true_as_i32.and_operand") (param $$0 v128) (param $$1 v128) (result i32)
+ (i32.and (i8x16.all_true (local.get $$0)) (i8x16.all_true (local.get $$1)))
+ )
+ (func (export "i16x8_all_true_as_i32.and_operand") (param $$0 v128) (param $$1 v128) (result i32)
+ (i32.and (i16x8.all_true (local.get $$0)) (i16x8.all_true (local.get $$1)))
+ )
+ (func (export "i32x4_all_true_as_i32.and_operand") (param $$0 v128) (param $$1 v128) (result i32)
+ (i32.and (i32x4.all_true (local.get $$0)) (i32x4.all_true (local.get $$1)))
+ )
+ ;; all_true as i32.or operand
+ (func (export "i8x16_all_true_as_i32.or_operand") (param $$0 v128) (param $$1 v128) (result i32)
+ (i32.or (i8x16.all_true (local.get $$0)) (i8x16.all_true (local.get $$1)))
+ )
+ (func (export "i16x8_all_true_as_i32.or_operand") (param $$0 v128) (param $$1 v128) (result i32)
+ (i32.or (i16x8.all_true (local.get $$0)) (i16x8.all_true (local.get $$1)))
+ )
+ (func (export "i32x4_all_true_as_i32.or_operand") (param $$0 v128) (param $$1 v128) (result i32)
+ (i32.or (i32x4.all_true (local.get $$0)) (i32x4.all_true (local.get $$1)))
+ )
+ ;; all_true as i32.xor operand
+ (func (export "i8x16_all_true_as_i32.xor_operand") (param $$0 v128) (param $$1 v128) (result i32)
+ (i32.xor (i8x16.all_true (local.get $$0)) (i8x16.all_true (local.get $$1)))
+ )
+ (func (export "i16x8_all_true_as_i32.xor_operand") (param $$0 v128) (param $$1 v128) (result i32)
+ (i32.xor (i16x8.all_true (local.get $$0)) (i16x8.all_true (local.get $$1)))
+ )
+ (func (export "i32x4_all_true_as_i32.xor_operand") (param $$0 v128) (param $$1 v128) (result i32)
+ (i32.xor (i32x4.all_true (local.get $$0)) (i32x4.all_true (local.get $$1)))
+ )
+ ;; any_true with v128.not
+ (func (export "i8x16_any_true_with_v128.not") (param $$0 v128) (result i32)
+ (v128.any_true (v128.not (local.get $$0)))
+ )
+ (func (export "i16x8_any_true_with_v128.not") (param $$0 v128) (result i32)
+ (v128.any_true (v128.not (local.get $$0)))
+ )
+ (func (export "i32x4_any_true_with_v128.not") (param $$0 v128) (result i32)
+ (v128.any_true (v128.not (local.get $$0)))
+ )
+ ;; any_true with v128.and
+ (func (export "i8x16_any_true_with_v128.and") (param $$0 v128) (param $$1 v128) (result i32)
+ (v128.any_true (v128.and (local.get $$0) (local.get $$1)))
+ )
+ (func (export "i16x8_any_true_with_v128.and") (param $$0 v128) (param $$1 v128) (result i32)
+ (v128.any_true (v128.and (local.get $$0) (local.get $$1)))
+ )
+ (func (export "i32x4_any_true_with_v128.and") (param $$0 v128) (param $$1 v128) (result i32)
+ (v128.any_true (v128.and (local.get $$0) (local.get $$1)))
+ )
+ ;; any_true with v128.or
+ (func (export "i8x16_any_true_with_v128.or") (param $$0 v128) (param $$1 v128) (result i32)
+ (v128.any_true (v128.or (local.get $$0) (local.get $$1)))
+ )
+ (func (export "i16x8_any_true_with_v128.or") (param $$0 v128) (param $$1 v128) (result i32)
+ (v128.any_true (v128.or (local.get $$0) (local.get $$1)))
+ )
+ (func (export "i32x4_any_true_with_v128.or") (param $$0 v128) (param $$1 v128) (result i32)
+ (v128.any_true (v128.or (local.get $$0) (local.get $$1)))
+ )
+ ;; any_true with v128.xor
+ (func (export "i8x16_any_true_with_v128.xor") (param $$0 v128) (param $$1 v128) (result i32)
+ (v128.any_true (v128.xor (local.get $$0) (local.get $$1)))
+ )
+ (func (export "i16x8_any_true_with_v128.xor") (param $$0 v128) (param $$1 v128) (result i32)
+ (v128.any_true (v128.xor (local.get $$0) (local.get $$1)))
+ )
+ (func (export "i32x4_any_true_with_v128.xor") (param $$0 v128) (param $$1 v128) (result i32)
+ (v128.any_true (v128.xor (local.get $$0) (local.get $$1)))
+ )
+ ;; any_true with v128.bitselect
+ (func (export "i8x16_any_true_with_v128.bitselect") (param $$0 v128) (param $$1 v128) (param $$2 v128) (result i32)
+ (v128.any_true (v128.bitselect (local.get $$0) (local.get $$1) (local.get $$2)))
+ )
+ (func (export "i16x8_any_true_with_v128.bitselect") (param $$0 v128) (param $$1 v128) (param $$2 v128) (result i32)
+ (v128.any_true (v128.bitselect (local.get $$0) (local.get $$1) (local.get $$2)))
+ )
+ (func (export "i32x4_any_true_with_v128.bitselect") (param $$0 v128) (param $$1 v128) (param $$2 v128) (result i32)
+ (v128.any_true (v128.bitselect (local.get $$0) (local.get $$1) (local.get $$2)))
+ )
+ ;; all_true with v128.not
+ (func (export "i8x16_all_true_with_v128.not") (param $$0 v128) (result i32)
+ (i8x16.all_true (v128.not (local.get $$0)))
+ )
+ (func (export "i16x8_all_true_with_v128.not") (param $$0 v128) (result i32)
+ (i16x8.all_true (v128.not (local.get $$0)))
+ )
+ (func (export "i32x4_all_true_with_v128.not") (param $$0 v128) (result i32)
+ (i32x4.all_true (v128.not (local.get $$0)))
+ )
+ ;; all_true with v128.and
+ (func (export "i8x16_all_true_with_v128.and") (param $$0 v128) (param $$1 v128) (result i32)
+ (i8x16.all_true (v128.and (local.get $$0) (local.get $$1)))
+ )
+ (func (export "i16x8_all_true_with_v128.and") (param $$0 v128) (param $$1 v128) (result i32)
+ (i16x8.all_true (v128.and (local.get $$0) (local.get $$1)))
+ )
+ (func (export "i32x4_all_true_with_v128.and") (param $$0 v128) (param $$1 v128) (result i32)
+ (i32x4.all_true (v128.and (local.get $$0) (local.get $$1)))
+ )
+ ;; all_true with v128.or
+ (func (export "i8x16_all_true_with_v128.or") (param $$0 v128) (param $$1 v128) (result i32)
+ (i8x16.all_true (v128.or (local.get $$0) (local.get $$1)))
+ )
+ (func (export "i16x8_all_true_with_v128.or") (param $$0 v128) (param $$1 v128) (result i32)
+ (i16x8.all_true (v128.or (local.get $$0) (local.get $$1)))
+ )
+ (func (export "i32x4_all_true_with_v128.or") (param $$0 v128) (param $$1 v128) (result i32)
+ (i32x4.all_true (v128.or (local.get $$0) (local.get $$1)))
+ )
+ ;; all_true with v128.xor
+ (func (export "i8x16_all_true_with_v128.xor") (param $$0 v128) (param $$1 v128) (result i32)
+ (i8x16.all_true (v128.xor (local.get $$0) (local.get $$1)))
+ )
+ (func (export "i16x8_all_true_with_v128.xor") (param $$0 v128) (param $$1 v128) (result i32)
+ (i16x8.all_true (v128.xor (local.get $$0) (local.get $$1)))
+ )
+ (func (export "i32x4_all_true_with_v128.xor") (param $$0 v128) (param $$1 v128) (result i32)
+ (i32x4.all_true (v128.xor (local.get $$0) (local.get $$1)))
+ )
+ ;; all_true with v128.bitselect
+ (func (export "i8x16_all_true_with_v128.bitselect") (param $$0 v128) (param $$1 v128) (param $$2 v128) (result i32)
+ (i8x16.all_true (v128.bitselect (local.get $$0) (local.get $$1) (local.get $$2)))
+ )
+ (func (export "i16x8_all_true_with_v128.bitselect") (param $$0 v128) (param $$1 v128) (param $$2 v128) (result i32)
+ (i16x8.all_true (v128.bitselect (local.get $$0) (local.get $$1) (local.get $$2)))
+ )
+ (func (export "i32x4_all_true_with_v128.bitselect") (param $$0 v128) (param $$1 v128) (param $$2 v128) (result i32)
+ (i32x4.all_true (v128.bitselect (local.get $$0) (local.get $$1) (local.get $$2)))
+ )
+)`);
+
+// ./test/core/simd/simd_boolean.wast:472
+assert_return(
+ () => invoke($1, `i8x16_any_true_as_if_cond`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:474
+assert_return(
+ () => invoke($1, `i8x16_any_true_as_if_cond`, [
+ i8x16([0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:476
+assert_return(
+ () => invoke($1, `i8x16_any_true_as_if_cond`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:479
+assert_return(
+ () => invoke($1, `i16x8_any_true_as_if_cond`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:481
+assert_return(
+ () => invoke($1, `i16x8_any_true_as_if_cond`, [
+ i16x8([0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:483
+assert_return(
+ () => invoke($1, `i16x8_any_true_as_if_cond`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:486
+assert_return(
+ () => invoke($1, `i32x4_any_true_as_if_cond`, [i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:488
+assert_return(
+ () => invoke($1, `i32x4_any_true_as_if_cond`, [i32x4([0x0, 0x0, 0x1, 0x0])]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:490
+assert_return(
+ () => invoke($1, `i32x4_any_true_as_if_cond`, [i32x4([0x1, 0x1, 0x1, 0x1])]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:495
+assert_return(
+ () => invoke($1, `i8x16_all_true_as_if_cond`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:497
+assert_return(
+ () => invoke($1, `i8x16_all_true_as_if_cond`, [
+ i8x16([0x1, 0x1, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:499
+assert_return(
+ () => invoke($1, `i8x16_all_true_as_if_cond`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:502
+assert_return(
+ () => invoke($1, `i16x8_all_true_as_if_cond`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:504
+assert_return(
+ () => invoke($1, `i16x8_all_true_as_if_cond`, [
+ i16x8([0x1, 0x1, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:506
+assert_return(
+ () => invoke($1, `i16x8_all_true_as_if_cond`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:509
+assert_return(
+ () => invoke($1, `i32x4_all_true_as_if_cond`, [i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:511
+assert_return(
+ () => invoke($1, `i32x4_all_true_as_if_cond`, [i32x4([0x1, 0x1, 0x1, 0x0])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:513
+assert_return(
+ () => invoke($1, `i32x4_all_true_as_if_cond`, [i32x4([0x1, 0x1, 0x1, 0x1])]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:517
+assert_return(
+ () => invoke($1, `i8x16_any_true_as_select_cond`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:519
+assert_return(
+ () => invoke($1, `i8x16_any_true_as_select_cond`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:521
+assert_return(
+ () => invoke($1, `i16x8_any_true_as_select_cond`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:523
+assert_return(
+ () => invoke($1, `i16x8_any_true_as_select_cond`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:525
+assert_return(
+ () => invoke($1, `i32x4_any_true_as_select_cond`, [i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:527
+assert_return(
+ () => invoke($1, `i32x4_any_true_as_select_cond`, [i32x4([0x0, 0x0, 0x1, 0x0])]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:530
+assert_return(
+ () => invoke($1, `i8x16_all_true_as_select_cond`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:532
+assert_return(
+ () => invoke($1, `i8x16_all_true_as_select_cond`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x1]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:534
+assert_return(
+ () => invoke($1, `i16x8_all_true_as_select_cond`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:536
+assert_return(
+ () => invoke($1, `i16x8_all_true_as_select_cond`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x1]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:538
+assert_return(
+ () => invoke($1, `i32x4_all_true_as_select_cond`, [i32x4([0x1, 0x1, 0x1, 0x1])]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:540
+assert_return(
+ () => invoke($1, `i32x4_all_true_as_select_cond`, [i32x4([0x1, 0x1, 0x0, 0x1])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:543
+assert_return(
+ () => invoke($1, `i8x16_any_true_as_br_if_cond`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:545
+assert_return(
+ () => invoke($1, `i8x16_any_true_as_br_if_cond`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:547
+assert_return(
+ () => invoke($1, `i16x8_any_true_as_br_if_cond`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:549
+assert_return(
+ () => invoke($1, `i16x8_any_true_as_br_if_cond`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:551
+assert_return(
+ () => invoke($1, `i32x4_any_true_as_br_if_cond`, [i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:553
+assert_return(
+ () => invoke($1, `i32x4_any_true_as_br_if_cond`, [i32x4([0x0, 0x0, 0x1, 0x0])]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:556
+assert_return(
+ () => invoke($1, `i8x16_all_true_as_br_if_cond`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:558
+assert_return(
+ () => invoke($1, `i8x16_all_true_as_br_if_cond`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x1]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:560
+assert_return(
+ () => invoke($1, `i16x8_all_true_as_br_if_cond`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:562
+assert_return(
+ () => invoke($1, `i16x8_all_true_as_br_if_cond`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x1]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:564
+assert_return(
+ () => invoke($1, `i32x4_all_true_as_br_if_cond`, [i32x4([0x1, 0x1, 0x1, 0x1])]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:566
+assert_return(
+ () => invoke($1, `i32x4_all_true_as_br_if_cond`, [i32x4([0x1, 0x1, 0x0, 0x1])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:569
+assert_return(
+ () => invoke($1, `i8x16_any_true_as_i32.and_operand`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:572
+assert_return(
+ () => invoke($1, `i8x16_any_true_as_i32.and_operand`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:575
+assert_return(
+ () => invoke($1, `i8x16_any_true_as_i32.and_operand`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:578
+assert_return(
+ () => invoke($1, `i16x8_any_true_as_i32.and_operand`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:581
+assert_return(
+ () => invoke($1, `i16x8_any_true_as_i32.and_operand`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:584
+assert_return(
+ () => invoke($1, `i16x8_any_true_as_i32.and_operand`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:587
+assert_return(
+ () => invoke($1, `i32x4_any_true_as_i32.and_operand`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:590
+assert_return(
+ () => invoke($1, `i32x4_any_true_as_i32.and_operand`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x0, 0x0, 0x1, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:593
+assert_return(
+ () => invoke($1, `i32x4_any_true_as_i32.and_operand`, [
+ i32x4([0x0, 0x0, 0x1, 0x0]),
+ i32x4([0x0, 0x0, 0x1, 0x0]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:597
+assert_return(
+ () => invoke($1, `i8x16_any_true_as_i32.or_operand`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:600
+assert_return(
+ () => invoke($1, `i8x16_any_true_as_i32.or_operand`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:603
+assert_return(
+ () => invoke($1, `i8x16_any_true_as_i32.or_operand`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:606
+assert_return(
+ () => invoke($1, `i16x8_any_true_as_i32.or_operand`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:609
+assert_return(
+ () => invoke($1, `i16x8_any_true_as_i32.or_operand`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:612
+assert_return(
+ () => invoke($1, `i16x8_any_true_as_i32.or_operand`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:615
+assert_return(
+ () => invoke($1, `i32x4_any_true_as_i32.or_operand`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:618
+assert_return(
+ () => invoke($1, `i32x4_any_true_as_i32.or_operand`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x0, 0x0, 0x1, 0x0]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:621
+assert_return(
+ () => invoke($1, `i32x4_any_true_as_i32.or_operand`, [
+ i32x4([0x0, 0x0, 0x1, 0x0]),
+ i32x4([0x0, 0x0, 0x1, 0x0]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:625
+assert_return(
+ () => invoke($1, `i8x16_any_true_as_i32.xor_operand`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:628
+assert_return(
+ () => invoke($1, `i8x16_any_true_as_i32.xor_operand`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:631
+assert_return(
+ () => invoke($1, `i8x16_any_true_as_i32.xor_operand`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:634
+assert_return(
+ () => invoke($1, `i16x8_any_true_as_i32.xor_operand`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:637
+assert_return(
+ () => invoke($1, `i16x8_any_true_as_i32.xor_operand`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:640
+assert_return(
+ () => invoke($1, `i16x8_any_true_as_i32.xor_operand`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:643
+assert_return(
+ () => invoke($1, `i32x4_any_true_as_i32.xor_operand`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:646
+assert_return(
+ () => invoke($1, `i32x4_any_true_as_i32.xor_operand`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x0, 0x0, 0x1, 0x0]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:649
+assert_return(
+ () => invoke($1, `i32x4_any_true_as_i32.xor_operand`, [
+ i32x4([0x0, 0x0, 0x1, 0x0]),
+ i32x4([0x0, 0x0, 0x1, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:653
+assert_return(
+ () => invoke($1, `i8x16_all_true_as_i32.and_operand`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:656
+assert_return(
+ () => invoke($1, `i8x16_all_true_as_i32.and_operand`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x1]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:659
+assert_return(
+ () => invoke($1, `i8x16_all_true_as_i32.and_operand`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:662
+assert_return(
+ () => invoke($1, `i16x8_all_true_as_i32.and_operand`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:665
+assert_return(
+ () => invoke($1, `i16x8_all_true_as_i32.and_operand`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x1]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:668
+assert_return(
+ () => invoke($1, `i16x8_all_true_as_i32.and_operand`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:671
+assert_return(
+ () => invoke($1, `i32x4_all_true_as_i32.and_operand`, [
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:674
+assert_return(
+ () => invoke($1, `i32x4_all_true_as_i32.and_operand`, [
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ i32x4([0x1, 0x1, 0x0, 0x1]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:677
+assert_return(
+ () => invoke($1, `i32x4_all_true_as_i32.and_operand`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x0, 0x0, 0x1, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:681
+assert_return(
+ () => invoke($1, `i8x16_all_true_as_i32.or_operand`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:684
+assert_return(
+ () => invoke($1, `i8x16_all_true_as_i32.or_operand`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x1]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:687
+assert_return(
+ () => invoke($1, `i8x16_all_true_as_i32.or_operand`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:690
+assert_return(
+ () => invoke($1, `i16x8_all_true_as_i32.or_operand`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:693
+assert_return(
+ () => invoke($1, `i16x8_all_true_as_i32.or_operand`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x1]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:696
+assert_return(
+ () => invoke($1, `i16x8_all_true_as_i32.or_operand`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:699
+assert_return(
+ () => invoke($1, `i32x4_all_true_as_i32.or_operand`, [
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:702
+assert_return(
+ () => invoke($1, `i32x4_all_true_as_i32.or_operand`, [
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ i32x4([0x1, 0x1, 0x0, 0x1]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:705
+assert_return(
+ () => invoke($1, `i32x4_all_true_as_i32.or_operand`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:709
+assert_return(
+ () => invoke($1, `i8x16_all_true_as_i32.xor_operand`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:712
+assert_return(
+ () => invoke($1, `i8x16_all_true_as_i32.xor_operand`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x1]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:715
+assert_return(
+ () => invoke($1, `i8x16_all_true_as_i32.xor_operand`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:718
+assert_return(
+ () => invoke($1, `i16x8_all_true_as_i32.xor_operand`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:721
+assert_return(
+ () => invoke($1, `i16x8_all_true_as_i32.xor_operand`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x1]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:724
+assert_return(
+ () => invoke($1, `i16x8_all_true_as_i32.xor_operand`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:727
+assert_return(
+ () => invoke($1, `i32x4_all_true_as_i32.xor_operand`, [
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:730
+assert_return(
+ () => invoke($1, `i32x4_all_true_as_i32.xor_operand`, [
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ i32x4([0x1, 0x1, 0x0, 0x1]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:733
+assert_return(
+ () => invoke($1, `i32x4_all_true_as_i32.xor_operand`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:737
+assert_return(
+ () => invoke($1, `i8x16_any_true_with_v128.not`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:739
+assert_return(
+ () => invoke($1, `i8x16_any_true_with_v128.not`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:741
+assert_return(
+ () => invoke($1, `i8x16_any_true_with_v128.not`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:743
+assert_return(
+ () => invoke($1, `i16x8_any_true_with_v128.not`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:745
+assert_return(
+ () => invoke($1, `i16x8_any_true_with_v128.not`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:747
+assert_return(
+ () => invoke($1, `i16x8_any_true_with_v128.not`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffff, 0x0]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:749
+assert_return(
+ () => invoke($1, `i32x4_any_true_with_v128.not`, [i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:751
+assert_return(
+ () => invoke($1, `i32x4_any_true_with_v128.not`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:753
+assert_return(
+ () => invoke($1, `i32x4_any_true_with_v128.not`, [i32x4([0x0, 0x0, 0xffffffff, 0x0])]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:756
+assert_return(
+ () => invoke($1, `i8x16_any_true_with_v128.and`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:759
+assert_return(
+ () => invoke($1, `i8x16_any_true_with_v128.and`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:762
+assert_return(
+ () => invoke($1, `i8x16_any_true_with_v128.and`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:765
+assert_return(
+ () => invoke($1, `i16x8_any_true_with_v128.and`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:768
+assert_return(
+ () => invoke($1, `i16x8_any_true_with_v128.and`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:771
+assert_return(
+ () => invoke($1, `i16x8_any_true_with_v128.and`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffff, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffff, 0x0]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:774
+assert_return(
+ () => invoke($1, `i32x4_any_true_with_v128.and`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:777
+assert_return(
+ () => invoke($1, `i32x4_any_true_with_v128.and`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:780
+assert_return(
+ () => invoke($1, `i32x4_any_true_with_v128.and`, [
+ i32x4([0x0, 0x0, 0xffffffff, 0x0]),
+ i32x4([0x0, 0x0, 0xffffffff, 0x0]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:784
+assert_return(
+ () => invoke($1, `i8x16_any_true_with_v128.or`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:787
+assert_return(
+ () => invoke($1, `i8x16_any_true_with_v128.or`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:790
+assert_return(
+ () => invoke($1, `i8x16_any_true_with_v128.or`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:793
+assert_return(
+ () => invoke($1, `i16x8_any_true_with_v128.or`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:796
+assert_return(
+ () => invoke($1, `i16x8_any_true_with_v128.or`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:799
+assert_return(
+ () => invoke($1, `i16x8_any_true_with_v128.or`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffff, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffff, 0x0]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:802
+assert_return(
+ () => invoke($1, `i32x4_any_true_with_v128.or`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:805
+assert_return(
+ () => invoke($1, `i32x4_any_true_with_v128.or`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:808
+assert_return(
+ () => invoke($1, `i32x4_any_true_with_v128.or`, [
+ i32x4([0x0, 0x0, 0xffffffff, 0x0]),
+ i32x4([0x0, 0x0, 0xffffffff, 0x0]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:812
+assert_return(
+ () => invoke($1, `i8x16_any_true_with_v128.xor`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:815
+assert_return(
+ () => invoke($1, `i8x16_any_true_with_v128.xor`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:818
+assert_return(
+ () => invoke($1, `i8x16_any_true_with_v128.xor`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:821
+assert_return(
+ () => invoke($1, `i16x8_any_true_with_v128.xor`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:824
+assert_return(
+ () => invoke($1, `i16x8_any_true_with_v128.xor`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:827
+assert_return(
+ () => invoke($1, `i16x8_any_true_with_v128.xor`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffff, 0x0]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:830
+assert_return(
+ () => invoke($1, `i32x4_any_true_with_v128.xor`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:833
+assert_return(
+ () => invoke($1, `i32x4_any_true_with_v128.xor`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:836
+assert_return(
+ () => invoke($1, `i32x4_any_true_with_v128.xor`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x0, 0x0, 0xffffffff, 0x0]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:840
+assert_return(
+ () => invoke($1, `i8x16_any_true_with_v128.bitselect`, [
+ i8x16([0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa]),
+ i8x16([0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55]),
+ i8x16([0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:844
+assert_return(
+ () => invoke($1, `i8x16_any_true_with_v128.bitselect`, [
+ i8x16([0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa]),
+ i8x16([0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55]),
+ i8x16([0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xff, 0x55]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:848
+assert_return(
+ () => invoke($1, `i16x8_any_true_with_v128.bitselect`, [
+ i16x8([0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa]),
+ i16x8([0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55]),
+ i16x8([0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:852
+assert_return(
+ () => invoke($1, `i16x8_any_true_with_v128.bitselect`, [
+ i16x8([0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa]),
+ i16x8([0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55]),
+ i16x8([0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xff, 0x55]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:856
+assert_return(
+ () => invoke($1, `i32x4_any_true_with_v128.bitselect`, [
+ i32x4([0xaa, 0xaa, 0xaa, 0xaa]),
+ i32x4([0x55, 0x55, 0x55, 0x55]),
+ i32x4([0x55, 0x55, 0x55, 0x55]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:860
+assert_return(
+ () => invoke($1, `i32x4_any_true_with_v128.bitselect`, [
+ i32x4([0xaa, 0xaa, 0xaa, 0xaa]),
+ i32x4([0x55, 0x55, 0x55, 0x55]),
+ i32x4([0x55, 0x55, 0xff, 0x55]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:865
+assert_return(
+ () => invoke($1, `i8x16_all_true_with_v128.not`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:867
+assert_return(
+ () => invoke($1, `i8x16_all_true_with_v128.not`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:869
+assert_return(
+ () => invoke($1, `i8x16_all_true_with_v128.not`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:871
+assert_return(
+ () => invoke($1, `i16x8_all_true_with_v128.not`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:873
+assert_return(
+ () => invoke($1, `i16x8_all_true_with_v128.not`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:875
+assert_return(
+ () => invoke($1, `i16x8_all_true_with_v128.not`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffff, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:877
+assert_return(
+ () => invoke($1, `i32x4_all_true_with_v128.not`, [i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:879
+assert_return(
+ () => invoke($1, `i32x4_all_true_with_v128.not`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:881
+assert_return(
+ () => invoke($1, `i32x4_all_true_with_v128.not`, [i32x4([0x0, 0x0, 0xffffffff, 0x0])]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:884
+assert_return(
+ () => invoke($1, `i8x16_all_true_with_v128.and`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:887
+assert_return(
+ () => invoke($1, `i8x16_all_true_with_v128.and`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:890
+assert_return(
+ () => invoke($1, `i8x16_all_true_with_v128.and`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:893
+assert_return(
+ () => invoke($1, `i16x8_all_true_with_v128.and`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:896
+assert_return(
+ () => invoke($1, `i16x8_all_true_with_v128.and`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:899
+assert_return(
+ () => invoke($1, `i16x8_all_true_with_v128.and`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffff, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffff, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:902
+assert_return(
+ () => invoke($1, `i32x4_all_true_with_v128.and`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:905
+assert_return(
+ () => invoke($1, `i32x4_all_true_with_v128.and`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:908
+assert_return(
+ () => invoke($1, `i32x4_all_true_with_v128.and`, [
+ i32x4([0x0, 0x0, 0xffffffff, 0x0]),
+ i32x4([0x0, 0x0, 0xffffffff, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:912
+assert_return(
+ () => invoke($1, `i8x16_all_true_with_v128.or`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:915
+assert_return(
+ () => invoke($1, `i8x16_all_true_with_v128.or`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:918
+assert_return(
+ () => invoke($1, `i8x16_all_true_with_v128.or`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:921
+assert_return(
+ () => invoke($1, `i16x8_all_true_with_v128.or`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:924
+assert_return(
+ () => invoke($1, `i16x8_all_true_with_v128.or`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:927
+assert_return(
+ () => invoke($1, `i16x8_all_true_with_v128.or`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffff, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffff, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:930
+assert_return(
+ () => invoke($1, `i32x4_all_true_with_v128.or`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:933
+assert_return(
+ () => invoke($1, `i32x4_all_true_with_v128.or`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:936
+assert_return(
+ () => invoke($1, `i32x4_all_true_with_v128.or`, [
+ i32x4([0x0, 0x0, 0xffffffff, 0x0]),
+ i32x4([0x0, 0x0, 0xffffffff, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:940
+assert_return(
+ () => invoke($1, `i8x16_all_true_with_v128.xor`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:943
+assert_return(
+ () => invoke($1, `i8x16_all_true_with_v128.xor`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:946
+assert_return(
+ () => invoke($1, `i8x16_all_true_with_v128.xor`, [
+ i8x16([0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff]),
+ i8x16([0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:949
+assert_return(
+ () => invoke($1, `i16x8_all_true_with_v128.xor`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:952
+assert_return(
+ () => invoke($1, `i16x8_all_true_with_v128.xor`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:955
+assert_return(
+ () => invoke($1, `i16x8_all_true_with_v128.xor`, [
+ i16x8([0x0, 0xffff, 0x0, 0xffff, 0x0, 0xffff, 0x0, 0xffff]),
+ i16x8([0xffff, 0x0, 0xffff, 0x0, 0xffff, 0x0, 0xffff, 0x0]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:958
+assert_return(
+ () => invoke($1, `i32x4_all_true_with_v128.xor`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:961
+assert_return(
+ () => invoke($1, `i32x4_all_true_with_v128.xor`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:964
+assert_return(
+ () => invoke($1, `i32x4_all_true_with_v128.xor`, [
+ i32x4([0x0, 0xffffffff, 0x0, 0xffffffff]),
+ i32x4([0xffffffff, 0x0, 0xffffffff, 0x0]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:968
+assert_return(
+ () => invoke($1, `i8x16_all_true_with_v128.bitselect`, [
+ i8x16([0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa]),
+ i8x16([0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55]),
+ i8x16([0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:972
+assert_return(
+ () => invoke($1, `i8x16_all_true_with_v128.bitselect`, [
+ i8x16([0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa]),
+ i8x16([0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55]),
+ i8x16([0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:976
+assert_return(
+ () => invoke($1, `i16x8_all_true_with_v128.bitselect`, [
+ i16x8([0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa]),
+ i16x8([0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55]),
+ i16x8([0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:980
+assert_return(
+ () => invoke($1, `i16x8_all_true_with_v128.bitselect`, [
+ i16x8([0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa]),
+ i16x8([0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55]),
+ i16x8([0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:984
+assert_return(
+ () => invoke($1, `i32x4_all_true_with_v128.bitselect`, [
+ i32x4([0xaa, 0xaa, 0xaa, 0xaa]),
+ i32x4([0x55, 0x55, 0x55, 0x55]),
+ i32x4([0x55, 0x55, 0x55, 0x55]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_boolean.wast:988
+assert_return(
+ () => invoke($1, `i32x4_all_true_with_v128.bitselect`, [
+ i32x4([0xaa, 0xaa, 0xaa, 0xaa]),
+ i32x4([0x55, 0x55, 0x55, 0x55]),
+ i32x4([0xaa, 0xaa, 0xaa, 0xaa]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_boolean.wast:995
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (v128.any_true (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_boolean.wast:996
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (i8x16.all_true (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_boolean.wast:997
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (v128.any_true (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_boolean.wast:998
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (i16x8.all_true (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_boolean.wast:999
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (v128.any_true (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_boolean.wast:1000
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (i32x4.all_true (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_boolean.wast:1004
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result i32) (f32x4.any_true (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_boolean.wast:1005
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result i32) (f32x4.all_true (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_boolean.wast:1006
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result i32) (f64x2.any_true (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_boolean.wast:1007
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result i32) (f64x2.all_true (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_boolean.wast:1011
+assert_invalid(
+ () => instantiate(`(module
+ (func $$v128.any_true-arg-empty (result v128)
+ (v128.any_true)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_boolean.wast:1019
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.all_true-arg-empty (result v128)
+ (i8x16.all_true)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_boolean.wast:1027
+assert_invalid(
+ () => instantiate(`(module
+ (func $$v128.any_true-arg-empty (result v128)
+ (v128.any_true)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_boolean.wast:1035
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.all_true-arg-empty (result v128)
+ (i16x8.all_true)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_boolean.wast:1043
+assert_invalid(
+ () => instantiate(`(module
+ (func $$v128.any_true-arg-empty (result v128)
+ (v128.any_true)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_boolean.wast:1051
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.all_true-arg-empty (result v128)
+ (i32x4.all_true)
+ )
+ )`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/simd_const.wast.js b/js/src/jit-test/tests/wasm/spec/spec/simd_const.wast.js
new file mode 100644
index 0000000000..76c05b43bc
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/simd_const.wast.js
@@ -0,0 +1,4681 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_const.wast
+
+// ./test/core/simd/simd_const.wast:3
+let $0 = instantiate(`(module (func (v128.const i8x16 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF) drop))`);
+
+// ./test/core/simd/simd_const.wast:4
+let $1 = instantiate(`(module (func (v128.const i8x16 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80) drop))`);
+
+// ./test/core/simd/simd_const.wast:5
+let $2 = instantiate(`(module (func (v128.const i8x16 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255) drop))`);
+
+// ./test/core/simd/simd_const.wast:6
+let $3 = instantiate(`(module (func (v128.const i8x16 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128) drop))`);
+
+// ./test/core/simd/simd_const.wast:7
+let $4 = instantiate(`(module (func (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF) drop))`);
+
+// ./test/core/simd/simd_const.wast:8
+let $5 = instantiate(`(module (func (v128.const i16x8 -0x8000 -0x8000 -0x8000 -0x8000 -0x8000 -0x8000 -0x8000 -0x8000) drop))`);
+
+// ./test/core/simd/simd_const.wast:9
+let $6 = instantiate(`(module (func (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535) drop))`);
+
+// ./test/core/simd/simd_const.wast:10
+let $7 = instantiate(`(module (func (v128.const i16x8 -32768 -32768 -32768 -32768 -32768 -32768 -32768 -32768) drop))`);
+
+// ./test/core/simd/simd_const.wast:11
+let $8 = instantiate(`(module (func (v128.const i16x8 65_535 65_535 65_535 65_535 65_535 65_535 65_535 65_535) drop))`);
+
+// ./test/core/simd/simd_const.wast:12
+let $9 = instantiate(`(module (func (v128.const i16x8 -32_768 -32_768 -32_768 -32_768 -32_768 -32_768 -32_768 -32_768) drop))`);
+
+// ./test/core/simd/simd_const.wast:13
+let $10 = instantiate(`(module (func (v128.const i16x8 0_123_45 0_123_45 0_123_45 0_123_45 0_123_45 0_123_45 0_123_45 0_123_45) drop))`);
+
+// ./test/core/simd/simd_const.wast:14
+let $11 = instantiate(`(module (func (v128.const i16x8 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234) drop))`);
+
+// ./test/core/simd/simd_const.wast:15
+let $12 = instantiate(`(module (func (v128.const i32x4 0xffffffff 0xffffffff 0xffffffff 0xffffffff) drop))`);
+
+// ./test/core/simd/simd_const.wast:16
+let $13 = instantiate(`(module (func (v128.const i32x4 -0x80000000 -0x80000000 -0x80000000 -0x80000000) drop))`);
+
+// ./test/core/simd/simd_const.wast:17
+let $14 = instantiate(`(module (func (v128.const i32x4 4294967295 4294967295 4294967295 4294967295) drop))`);
+
+// ./test/core/simd/simd_const.wast:18
+let $15 = instantiate(`(module (func (v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648) drop))`);
+
+// ./test/core/simd/simd_const.wast:19
+let $16 = instantiate(`(module (func (v128.const i32x4 0xffff_ffff 0xffff_ffff 0xffff_ffff 0xffff_ffff) drop))`);
+
+// ./test/core/simd/simd_const.wast:20
+let $17 = instantiate(`(module (func (v128.const i32x4 -0x8000_0000 -0x8000_0000 -0x8000_0000 -0x8000_0000) drop))`);
+
+// ./test/core/simd/simd_const.wast:21
+let $18 = instantiate(`(module (func (v128.const i32x4 4_294_967_295 4_294_967_295 4_294_967_295 4_294_967_295) drop))`);
+
+// ./test/core/simd/simd_const.wast:22
+let $19 = instantiate(`(module (func (v128.const i32x4 -2_147_483_648 -2_147_483_648 -2_147_483_648 -2_147_483_648) drop))`);
+
+// ./test/core/simd/simd_const.wast:23
+let $20 = instantiate(`(module (func (v128.const i32x4 0_123_456_789 0_123_456_789 0_123_456_789 0_123_456_789) drop))`);
+
+// ./test/core/simd/simd_const.wast:24
+let $21 = instantiate(`(module (func (v128.const i32x4 0x0_9acf_fBDF 0x0_9acf_fBDF 0x0_9acf_fBDF 0x0_9acf_fBDF) drop))`);
+
+// ./test/core/simd/simd_const.wast:25
+let $22 = instantiate(`(module (func (v128.const i64x2 0xffffffffffffffff 0xffffffffffffffff) drop))`);
+
+// ./test/core/simd/simd_const.wast:26
+let $23 = instantiate(`(module (func (v128.const i64x2 -0x8000000000000000 -0x8000000000000000) drop))`);
+
+// ./test/core/simd/simd_const.wast:27
+let $24 = instantiate(`(module (func (v128.const i64x2 18446744073709551615 18446744073709551615) drop))`);
+
+// ./test/core/simd/simd_const.wast:28
+let $25 = instantiate(`(module (func (v128.const i64x2 -9223372036854775808 -9223372036854775808) drop))`);
+
+// ./test/core/simd/simd_const.wast:29
+let $26 = instantiate(`(module (func (v128.const i64x2 0xffff_ffff_ffff_ffff 0xffff_ffff_ffff_ffff) drop))`);
+
+// ./test/core/simd/simd_const.wast:30
+let $27 = instantiate(`(module (func (v128.const i64x2 -0x8000_0000_0000_0000 -0x8000_0000_0000_0000) drop))`);
+
+// ./test/core/simd/simd_const.wast:31
+let $28 = instantiate(`(module (func (v128.const i64x2 18_446_744_073_709_551_615 18_446_744_073_709_551_615) drop))`);
+
+// ./test/core/simd/simd_const.wast:32
+let $29 = instantiate(`(module (func (v128.const i64x2 -9_223_372_036_854_775_808 -9_223_372_036_854_775_808) drop))`);
+
+// ./test/core/simd/simd_const.wast:33
+let $30 = instantiate(`(module (func (v128.const i64x2 0_123_456_789 0_123_456_789) drop))`);
+
+// ./test/core/simd/simd_const.wast:34
+let $31 = instantiate(`(module (func (v128.const i64x2 0x0125_6789_ADEF_bcef 0x0125_6789_ADEF_bcef) drop))`);
+
+// ./test/core/simd/simd_const.wast:35
+let $32 = instantiate(`(module (func (v128.const f32x4 0x1p127 0x1p127 0x1p127 0x1p127) drop))`);
+
+// ./test/core/simd/simd_const.wast:36
+let $33 = instantiate(`(module (func (v128.const f32x4 -0x1p127 -0x1p127 -0x1p127 -0x1p127) drop))`);
+
+// ./test/core/simd/simd_const.wast:37
+let $34 = instantiate(`(module (func (v128.const f32x4 1e38 1e38 1e38 1e38) drop))`);
+
+// ./test/core/simd/simd_const.wast:38
+let $35 = instantiate(`(module (func (v128.const f32x4 -1e38 -1e38 -1e38 -1e38) drop))`);
+
+// ./test/core/simd/simd_const.wast:39
+let $36 = instantiate(`(module (func (v128.const f32x4 340282356779733623858607532500980858880 340282356779733623858607532500980858880
+ 340282356779733623858607532500980858880 340282356779733623858607532500980858880) drop))`);
+
+// ./test/core/simd/simd_const.wast:41
+let $37 = instantiate(`(module (func (v128.const f32x4 -340282356779733623858607532500980858880 -340282356779733623858607532500980858880
+ -340282356779733623858607532500980858880 -340282356779733623858607532500980858880) drop))`);
+
+// ./test/core/simd/simd_const.wast:43
+let $38 = instantiate(`(module (func (v128.const f32x4 nan:0x1 nan:0x1 nan:0x1 nan:0x1) drop))`);
+
+// ./test/core/simd/simd_const.wast:44
+let $39 = instantiate(`(module (func (v128.const f32x4 nan:0x7f_ffff nan:0x7f_ffff nan:0x7f_ffff nan:0x7f_ffff) drop))`);
+
+// ./test/core/simd/simd_const.wast:45
+let $40 = instantiate(`(module (func (v128.const f32x4 0123456789 0123456789 0123456789 0123456789) drop))`);
+
+// ./test/core/simd/simd_const.wast:46
+let $41 = instantiate(`(module (func (v128.const f32x4 0123456789e019 0123456789e019 0123456789e019 0123456789e019) drop))`);
+
+// ./test/core/simd/simd_const.wast:47
+let $42 = instantiate(`(module (func (v128.const f32x4 0123456789e+019 0123456789e+019 0123456789e+019 0123456789e+019) drop))`);
+
+// ./test/core/simd/simd_const.wast:48
+let $43 = instantiate(`(module (func (v128.const f32x4 0123456789e-019 0123456789e-019 0123456789e-019 0123456789e-019) drop))`);
+
+// ./test/core/simd/simd_const.wast:49
+let $44 = instantiate(`(module (func (v128.const f32x4 0123456789. 0123456789. 0123456789. 0123456789.) drop))`);
+
+// ./test/core/simd/simd_const.wast:50
+let $45 = instantiate(`(module (func (v128.const f32x4 0123456789.e019 0123456789.e019 0123456789.e019 0123456789.e019) drop))`);
+
+// ./test/core/simd/simd_const.wast:51
+let $46 = instantiate(`(module (func (v128.const f32x4 0123456789.e+019 0123456789.e+019 0123456789.e+019 0123456789.e+019) drop))`);
+
+// ./test/core/simd/simd_const.wast:52
+let $47 = instantiate(`(module (func (v128.const f32x4 0123456789.e-019 0123456789.e-019 0123456789.e-019 0123456789.e-019) drop))`);
+
+// ./test/core/simd/simd_const.wast:53
+let $48 = instantiate(`(module (func (v128.const f32x4 0123456789.0123456789 0123456789.0123456789 0123456789.0123456789 0123456789.0123456789) drop))`);
+
+// ./test/core/simd/simd_const.wast:54
+let $49 = instantiate(`(module (func (v128.const f32x4 0123456789.0123456789e019 0123456789.0123456789e019 0123456789.0123456789e019 0123456789.0123456789e019) drop))`);
+
+// ./test/core/simd/simd_const.wast:55
+let $50 = instantiate(`(module (func (v128.const f32x4 0123456789.0123456789e+019 0123456789.0123456789e+019 0123456789.0123456789e+019 0123456789.0123456789e+019) drop))`);
+
+// ./test/core/simd/simd_const.wast:56
+let $51 = instantiate(`(module (func (v128.const f32x4 0123456789.0123456789e-019 0123456789.0123456789e-019 0123456789.0123456789e-019 0123456789.0123456789e-019) drop))`);
+
+// ./test/core/simd/simd_const.wast:57
+let $52 = instantiate(`(module (func (v128.const f32x4 0x0123456789ABCDEF 0x0123456789ABCDEF 0x0123456789ABCDEF 0x0123456789ABCDEF) drop))`);
+
+// ./test/core/simd/simd_const.wast:58
+let $53 = instantiate(`(module (func (v128.const f32x4 0x0123456789ABCDEFp019 0x0123456789ABCDEFp019 0x0123456789ABCDEFp019 0x0123456789ABCDEFp019) drop))`);
+
+// ./test/core/simd/simd_const.wast:59
+let $54 = instantiate(`(module (func (v128.const f32x4 0x0123456789ABCDEFp+019 0x0123456789ABCDEFp+019 0x0123456789ABCDEFp+019 0x0123456789ABCDEFp+019) drop))`);
+
+// ./test/core/simd/simd_const.wast:60
+let $55 = instantiate(`(module (func (v128.const f32x4 0x0123456789ABCDEFp-019 0x0123456789ABCDEFp-019 0x0123456789ABCDEFp-019 0x0123456789ABCDEFp-019) drop))`);
+
+// ./test/core/simd/simd_const.wast:61
+let $56 = instantiate(`(module (func (v128.const f32x4 0x0123456789ABCDEF. 0x0123456789ABCDEF. 0x0123456789ABCDEF. 0x0123456789ABCDEF.) drop))`);
+
+// ./test/core/simd/simd_const.wast:62
+let $57 = instantiate(`(module (func (v128.const f32x4 0x0123456789ABCDEF.p019 0x0123456789ABCDEF.p019 0x0123456789ABCDEF.p019 0x0123456789ABCDEF.p019) drop))`);
+
+// ./test/core/simd/simd_const.wast:63
+let $58 = instantiate(`(module (func (v128.const f32x4 0x0123456789ABCDEF.p+019 0x0123456789ABCDEF.p+019 0x0123456789ABCDEF.p+019 0x0123456789ABCDEF.p+019) drop))`);
+
+// ./test/core/simd/simd_const.wast:64
+let $59 = instantiate(`(module (func (v128.const f32x4 0x0123456789ABCDEF.p-019 0x0123456789ABCDEF.p-019 0x0123456789ABCDEF.p-019 0x0123456789ABCDEF.p-019) drop))`);
+
+// ./test/core/simd/simd_const.wast:65
+let $60 = instantiate(`(module (func (v128.const f32x4 0x0123456789ABCDEF.019aF 0x0123456789ABCDEF.019aF 0x0123456789ABCDEF.019aF 0x0123456789ABCDEF.019aF) drop))`);
+
+// ./test/core/simd/simd_const.wast:66
+let $61 = instantiate(`(module (func (v128.const f32x4 0x0123456789ABCDEF.019aFp019 0x0123456789ABCDEF.019aFp019 0x0123456789ABCDEF.019aFp019 0x0123456789ABCDEF.019aFp019) drop))`);
+
+// ./test/core/simd/simd_const.wast:67
+let $62 = instantiate(`(module (func (v128.const f32x4 0x0123456789ABCDEF.019aFp+019 0x0123456789ABCDEF.019aFp+019 0x0123456789ABCDEF.019aFp+019 0x0123456789ABCDEF.019aFp+019) drop))`);
+
+// ./test/core/simd/simd_const.wast:68
+let $63 = instantiate(`(module (func (v128.const f32x4 0x0123456789ABCDEF.019aFp-019 0x0123456789ABCDEF.019aFp-019 0x0123456789ABCDEF.019aFp-019 0x0123456789ABCDEF.019aFp-019) drop))`);
+
+// ./test/core/simd/simd_const.wast:69
+let $64 = instantiate(`(module (func (v128.const f64x2 0x1p1023 0x1p1023) drop))`);
+
+// ./test/core/simd/simd_const.wast:70
+let $65 = instantiate(`(module (func (v128.const f64x2 -0x1p1023 -0x1p1023) drop))`);
+
+// ./test/core/simd/simd_const.wast:71
+let $66 = instantiate(`(module (func (v128.const f64x2 1e308 1e308) drop))`);
+
+// ./test/core/simd/simd_const.wast:72
+let $67 = instantiate(`(module (func (v128.const f64x2 -1e308 -1e308) drop))`);
+
+// ./test/core/simd/simd_const.wast:73
+let $68 = instantiate(`(module (func (v128.const f64x2 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368
+ 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368) drop))`);
+
+// ./test/core/simd/simd_const.wast:75
+let $69 = instantiate(`(module (func (v128.const f64x2 -179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368
+ -179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368) drop))`);
+
+// ./test/core/simd/simd_const.wast:77
+let $70 = instantiate(`(module (func (v128.const f64x2 nan:0x1 nan:0x1) drop))`);
+
+// ./test/core/simd/simd_const.wast:78
+let $71 = instantiate(`(module (func (v128.const f64x2 nan:0xf_ffff_ffff_ffff nan:0xf_ffff_ffff_ffff) drop))`);
+
+// ./test/core/simd/simd_const.wast:79
+let $72 = instantiate(`(module (func (v128.const f64x2 0123456789 0123456789) drop))`);
+
+// ./test/core/simd/simd_const.wast:80
+let $73 = instantiate(`(module (func (v128.const f64x2 0123456789e019 0123456789e019) drop))`);
+
+// ./test/core/simd/simd_const.wast:81
+let $74 = instantiate(`(module (func (v128.const f64x2 0123456789e+019 0123456789e+019) drop))`);
+
+// ./test/core/simd/simd_const.wast:82
+let $75 = instantiate(`(module (func (v128.const f64x2 0123456789e-019 0123456789e-019) drop))`);
+
+// ./test/core/simd/simd_const.wast:83
+let $76 = instantiate(`(module (func (v128.const f64x2 0123456789. 0123456789.) drop))`);
+
+// ./test/core/simd/simd_const.wast:84
+let $77 = instantiate(`(module (func (v128.const f64x2 0123456789.e019 0123456789.e019) drop))`);
+
+// ./test/core/simd/simd_const.wast:85
+let $78 = instantiate(`(module (func (v128.const f64x2 0123456789.e+019 0123456789.e+019) drop))`);
+
+// ./test/core/simd/simd_const.wast:86
+let $79 = instantiate(`(module (func (v128.const f64x2 0123456789.e-019 0123456789.e-019) drop))`);
+
+// ./test/core/simd/simd_const.wast:87
+let $80 = instantiate(`(module (func (v128.const f64x2 0123456789.0123456789 0123456789.0123456789) drop))`);
+
+// ./test/core/simd/simd_const.wast:88
+let $81 = instantiate(`(module (func (v128.const f64x2 0123456789.0123456789e019 0123456789.0123456789e019) drop))`);
+
+// ./test/core/simd/simd_const.wast:89
+let $82 = instantiate(`(module (func (v128.const f64x2 0123456789.0123456789e+019 0123456789.0123456789e+019) drop))`);
+
+// ./test/core/simd/simd_const.wast:90
+let $83 = instantiate(`(module (func (v128.const f64x2 0123456789.0123456789e-019 0123456789.0123456789e-019) drop))`);
+
+// ./test/core/simd/simd_const.wast:91
+let $84 = instantiate(`(module (func (v128.const f64x2 0x0123456789ABCDEFabcdef 0x0123456789ABCDEFabcdef) drop))`);
+
+// ./test/core/simd/simd_const.wast:92
+let $85 = instantiate(`(module (func (v128.const f64x2 0x0123456789ABCDEFabcdefp019 0x0123456789ABCDEFabcdefp019) drop))`);
+
+// ./test/core/simd/simd_const.wast:93
+let $86 = instantiate(`(module (func (v128.const f64x2 0x0123456789ABCDEFabcdefp+019 0x0123456789ABCDEFabcdefp+019) drop))`);
+
+// ./test/core/simd/simd_const.wast:94
+let $87 = instantiate(`(module (func (v128.const f64x2 0x0123456789ABCDEFabcdefp-019 0x0123456789ABCDEFabcdefp-019) drop))`);
+
+// ./test/core/simd/simd_const.wast:95
+let $88 = instantiate(`(module (func (v128.const f64x2 0x0123456789ABCDEFabcdef. 0x0123456789ABCDEFabcdef.) drop))`);
+
+// ./test/core/simd/simd_const.wast:96
+let $89 = instantiate(`(module (func (v128.const f64x2 0x0123456789ABCDEFabcdef.p019 0x0123456789ABCDEFabcdef.p019) drop))`);
+
+// ./test/core/simd/simd_const.wast:97
+let $90 = instantiate(`(module (func (v128.const f64x2 0x0123456789ABCDEFabcdef.p+019 0x0123456789ABCDEFabcdef.p+019) drop))`);
+
+// ./test/core/simd/simd_const.wast:98
+let $91 = instantiate(`(module (func (v128.const f64x2 0x0123456789ABCDEFabcdef.p-019 0x0123456789ABCDEFabcdef.p-019) drop))`);
+
+// ./test/core/simd/simd_const.wast:99
+let $92 = instantiate(`(module (func (v128.const f64x2 0x0123456789ABCDEFabcdef.0123456789ABCDEFabcdef 0x0123456789ABCDEFabcdef.0123456789ABCDEFabcdef) drop))`);
+
+// ./test/core/simd/simd_const.wast:100
+let $93 = instantiate(`(module (func (v128.const f64x2 0x0123456789ABCDEFabcdef.0123456789ABCDEFabcdefp019 0x0123456789ABCDEFabcdef.0123456789ABCDEFabcdefp019) drop))`);
+
+// ./test/core/simd/simd_const.wast:101
+let $94 = instantiate(`(module (func (v128.const f64x2 0x0123456789ABCDEFabcdef.0123456789ABCDEFabcdefp+019 0x0123456789ABCDEFabcdef.0123456789ABCDEFabcdefp+019) drop))`);
+
+// ./test/core/simd/simd_const.wast:102
+let $95 = instantiate(`(module (func (v128.const f64x2 0x0123456789ABCDEFabcdef.0123456789ABCDEFabcdefp-019 0x0123456789ABCDEFabcdef.0123456789ABCDEFabcdefp-019) drop))`);
+
+// ./test/core/simd/simd_const.wast:106
+let $96 = instantiate(`(module (func (v128.const i8x16 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
+ -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80) drop))`);
+
+// ./test/core/simd/simd_const.wast:108
+let $97 = instantiate(`(module (func (v128.const i8x16 0xFF 0xFF 0xFF 0xFF 255 255 255 255
+ -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80) drop))`);
+
+// ./test/core/simd/simd_const.wast:110
+let $98 = instantiate(`(module (func (v128.const i8x16 0xFF 0xFF 0xFF 0xFF 255 255 255 255
+ -0x80 -0x80 -0x80 -0x80 -128 -128 -128 -128) drop))`);
+
+// ./test/core/simd/simd_const.wast:112
+let $99 = instantiate(`(module (func (v128.const i16x8 0xFF 0xFF 0xFF 0xFF -0x8000 -0x8000 -0x8000 -0x8000) drop))`);
+
+// ./test/core/simd/simd_const.wast:113
+let $100 = instantiate(`(module (func (v128.const i16x8 0xFF 0xFF 65535 65535 -0x8000 -0x8000 -0x8000 -0x8000) drop))`);
+
+// ./test/core/simd/simd_const.wast:114
+let $101 = instantiate(`(module (func (v128.const i16x8 0xFF 0xFF 65535 65535 -0x8000 -0x8000 -32768 -32768) drop))`);
+
+// ./test/core/simd/simd_const.wast:115
+let $102 = instantiate(`(module (func (v128.const i32x4 0xffffffff 0xffffffff -0x80000000 -0x80000000) drop))`);
+
+// ./test/core/simd/simd_const.wast:116
+let $103 = instantiate(`(module (func (v128.const i32x4 0xffffffff 4294967295 -0x80000000 -0x80000000) drop))`);
+
+// ./test/core/simd/simd_const.wast:117
+let $104 = instantiate(`(module (func (v128.const i32x4 0xffffffff 4294967295 -0x80000000 -2147483648) drop))`);
+
+// ./test/core/simd/simd_const.wast:118
+let $105 = instantiate(`(module (func (v128.const f32x4 0x1p127 0x1p127 -0x1p127 -1e38) drop))`);
+
+// ./test/core/simd/simd_const.wast:119
+let $106 = instantiate(`(module (func (v128.const f32x4 0x1p127 340282356779733623858607532500980858880 -1e38 -340282356779733623858607532500980858880) drop))`);
+
+// ./test/core/simd/simd_const.wast:120
+let $107 = instantiate(`(module (func (v128.const f32x4 nan -nan inf -inf) drop))`);
+
+// ./test/core/simd/simd_const.wast:121
+let $108 = instantiate(`(module (func (v128.const i64x2 0xffffffffffffffff 0x8000000000000000) drop))`);
+
+// ./test/core/simd/simd_const.wast:122
+let $109 = instantiate(`(module (func (v128.const i64x2 0xffffffffffffffff -9223372036854775808) drop))`);
+
+// ./test/core/simd/simd_const.wast:123
+let $110 = instantiate(`(module (func (v128.const f64x2 0x1p1023 -1e308) drop))`);
+
+// ./test/core/simd/simd_const.wast:124
+let $111 = instantiate(`(module (func (v128.const f64x2 nan -inf) drop))`);
+
+// ./test/core/simd/simd_const.wast:128
+let $112 = instantiate(`(module (memory 1))`);
+
+// ./test/core/simd/simd_const.wast:129
+assert_malformed(
+ () => instantiate(`(func (v128.const i8x16 0x100 0x100 0x100 0x100 0x100 0x100 0x100 0x100 0x100 0x100 0x100 0x100 0x100 0x100 0x100 0x100) drop) `),
+ `constant out of range`,
+);
+
+// ./test/core/simd/simd_const.wast:133
+assert_malformed(
+ () => instantiate(`(func (v128.const i8x16 -0x81 -0x81 -0x81 -0x81 -0x81 -0x81 -0x81 -0x81 -0x81 -0x81 -0x81 -0x81 -0x81 -0x81 -0x81 -0x81) drop) `),
+ `constant out of range`,
+);
+
+// ./test/core/simd/simd_const.wast:137
+assert_malformed(
+ () => instantiate(`(func (v128.const i8x16 256 256 256 256 256 256 256 256 256 256 256 256 256 256 256 256) drop) `),
+ `constant out of range`,
+);
+
+// ./test/core/simd/simd_const.wast:141
+assert_malformed(
+ () => instantiate(`(func (v128.const i8x16 -129 -129 -129 -129 -129 -129 -129 -129 -129 -129 -129 -129 -129 -129 -129 -129) drop) `),
+ `constant out of range`,
+);
+
+// ./test/core/simd/simd_const.wast:145
+assert_malformed(
+ () => instantiate(`(func (v128.const i16x8 0x10000 0x10000 0x10000 0x10000 0x10000 0x10000 0x10000 0x10000) drop) `),
+ `constant out of range`,
+);
+
+// ./test/core/simd/simd_const.wast:149
+assert_malformed(
+ () => instantiate(`(func (v128.const i16x8 -0x8001 -0x8001 -0x8001 -0x8001 -0x8001 -0x8001 -0x8001 -0x8001) drop) `),
+ `constant out of range`,
+);
+
+// ./test/core/simd/simd_const.wast:153
+assert_malformed(
+ () => instantiate(`(func (v128.const i16x8 65536 65536 65536 65536 65536 65536 65536 65536) drop) `),
+ `constant out of range`,
+);
+
+// ./test/core/simd/simd_const.wast:157
+assert_malformed(
+ () => instantiate(`(func (v128.const i16x8 -32769 -32769 -32769 -32769 -32769 -32769 -32769 -32769) drop) `),
+ `constant out of range`,
+);
+
+// ./test/core/simd/simd_const.wast:161
+assert_malformed(
+ () => instantiate(`(func (v128.const i32x4 0x100000000 0x100000000 0x100000000 0x100000000) drop) `),
+ `constant out of range`,
+);
+
+// ./test/core/simd/simd_const.wast:165
+assert_malformed(
+ () => instantiate(`(func (v128.const i32x4 -0x80000001 -0x80000001 -0x80000001 -0x80000001) drop) `),
+ `constant out of range`,
+);
+
+// ./test/core/simd/simd_const.wast:169
+assert_malformed(
+ () => instantiate(`(func (v128.const i32x4 4294967296 4294967296 4294967296 4294967296) drop) `),
+ `constant out of range`,
+);
+
+// ./test/core/simd/simd_const.wast:173
+assert_malformed(
+ () => instantiate(`(func (v128.const i32x4 -2147483649 -2147483649 -2147483649 -2147483649) drop) `),
+ `constant out of range`,
+);
+
+// ./test/core/simd/simd_const.wast:177
+assert_malformed(
+ () => instantiate(`(func (v128.const f32x4 0x1p128 0x1p128 0x1p128 0x1p128) drop) `),
+ `constant out of range`,
+);
+
+// ./test/core/simd/simd_const.wast:181
+assert_malformed(
+ () => instantiate(`(func (v128.const f32x4 -0x1p128 -0x1p128 -0x1p128 -0x1p128) drop) `),
+ `constant out of range`,
+);
+
+// ./test/core/simd/simd_const.wast:185
+assert_malformed(
+ () => instantiate(`(func (v128.const f32x4 1e39 1e39 1e39 1e39) drop) `),
+ `constant out of range`,
+);
+
+// ./test/core/simd/simd_const.wast:189
+assert_malformed(
+ () => instantiate(`(func (v128.const f32x4 -1e39 -1e39 -1e39 -1e39) drop) `),
+ `constant out of range`,
+);
+
+// ./test/core/simd/simd_const.wast:193
+assert_malformed(
+ () => instantiate(`(func (v128.const f32x4 340282356779733661637539395458142568448 340282356779733661637539395458142568448 340282356779733661637539395458142568448 340282356779733661637539395458142568448) drop) `),
+ `constant out of range`,
+);
+
+// ./test/core/simd/simd_const.wast:198
+assert_malformed(
+ () => instantiate(`(func (v128.const f32x4 -340282356779733661637539395458142568448 -340282356779733661637539395458142568448 -340282356779733661637539395458142568448 -340282356779733661637539395458142568448) drop) `),
+ `constant out of range`,
+);
+
+// ./test/core/simd/simd_const.wast:204
+assert_malformed(
+ () => instantiate(`(func (v128.const f32x4 nan:0x80_0000 nan:0x80_0000 nan:0x80_0000 nan:0x80_0000) drop) `),
+ `constant out of range`,
+);
+
+// ./test/core/simd/simd_const.wast:209
+assert_malformed(
+ () => instantiate(`(func (v128.const f64x2 269653970229347356221791135597556535197105851288767494898376215204735891170042808140884337949150317257310688430271573696351481990334196274152701320055306275479074865864826923114368235135583993416113802762682700913456874855354834422248712838998185022412196739306217084753107265771378949821875606039276187287552 269653970229347356221791135597556535197105851288767494898376215204735891170042808140884337949150317257310688430271573696351481990334196274152701320055306275479074865864826923114368235135583993416113802762682700913456874855354834422248712838998185022412196739306217084753107265771378949821875606039276187287552) drop) `),
+ `constant out of range`,
+);
+
+// ./test/core/simd/simd_const.wast:214
+assert_malformed(
+ () => instantiate(`(func (v128.const f64x2 -269653970229347356221791135597556535197105851288767494898376215204735891170042808140884337949150317257310688430271573696351481990334196274152701320055306275479074865864826923114368235135583993416113802762682700913456874855354834422248712838998185022412196739306217084753107265771378949821875606039276187287552 -269653970229347356221791135597556535197105851288767494898376215204735891170042808140884337949150317257310688430271573696351481990334196274152701320055306275479074865864826923114368235135583993416113802762682700913456874855354834422248712838998185022412196739306217084753107265771378949821875606039276187287552) drop) `),
+ `constant out of range`,
+);
+
+// ./test/core/simd/simd_const.wast:220
+assert_malformed(
+ () => instantiate(`(func (v128.const f64x2 nan:0x10_0000_0000_0000 nan:0x10_0000_0000_0000) drop) `),
+ `constant out of range`,
+);
+
+// ./test/core/simd/simd_const.wast:226
+assert_malformed(() => instantiate(`(func (v128.const) drop) `), `unexpected token`);
+
+// ./test/core/simd/simd_const.wast:231
+assert_malformed(
+ () => instantiate(`(func (v128.const 0 0 0 0) drop) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_const.wast:235
+assert_malformed(
+ () => instantiate(`(func (v128.const i8x16) drop) `),
+ `wrong number of lane literals`,
+);
+
+// ./test/core/simd/simd_const.wast:239
+assert_malformed(
+ () => instantiate(`(func (v128.const i8x16 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x) drop) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:243
+assert_malformed(
+ () => instantiate(`(func (v128.const i8x16 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x) drop) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:247
+assert_malformed(
+ () => instantiate(`(func (v128.const i8x16 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg) drop) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:252
+assert_malformed(
+ () => instantiate(`(func (v128.const i16x8) drop) `),
+ `wrong number of lane literals`,
+);
+
+// ./test/core/simd/simd_const.wast:256
+assert_malformed(
+ () => instantiate(`(func (v128.const i16x8 0x 0x 0x 0x 0x 0x 0x 0x) drop) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:260
+assert_malformed(
+ () => instantiate(`(func (v128.const i16x8 1x 1x 1x 1x 1x 1x 1x 1x) drop) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:264
+assert_malformed(
+ () => instantiate(`(func (v128.const i16x8 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg) drop) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:269
+assert_malformed(
+ () => instantiate(`(func (v128.const i32x4) drop) `),
+ `wrong number of lane literals`,
+);
+
+// ./test/core/simd/simd_const.wast:273
+assert_malformed(
+ () => instantiate(`(func (v128.const i32x4 0x 0x 0x 0x) drop) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:277
+assert_malformed(
+ () => instantiate(`(func (v128.const i32x4 1x 1x 1x 1x) drop) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:281
+assert_malformed(
+ () => instantiate(`(func (v128.const i32x4 0xg 0xg 0xg 0xg) drop) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:286
+assert_malformed(
+ () => instantiate(`(func (v128.const i64x2) drop) `),
+ `wrong number of lane literals`,
+);
+
+// ./test/core/simd/simd_const.wast:290
+assert_malformed(
+ () => instantiate(`(func (v128.const i64x2 0x 0x) drop) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:294
+assert_malformed(
+ () => instantiate(`(func (v128.const f64x2 1x 1x) drop) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:298
+assert_malformed(
+ () => instantiate(`(func (v128.const f64x2 0xg 0xg) drop) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:303
+assert_malformed(
+ () => instantiate(`(func (v128.const f32x4) drop) `),
+ `wrong number of lane literals`,
+);
+
+// ./test/core/simd/simd_const.wast:307
+assert_malformed(
+ () => instantiate(`(func (v128.const f32x4 .0 .0 .0 .0) drop) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:311
+assert_malformed(
+ () => instantiate(`(func (v128.const f32x4 .0e0 .0e0 .0e0 .0e0) drop) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:315
+assert_malformed(
+ () => instantiate(`(func (v128.const f32x4 0e 0e 0e 0e) drop) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:319
+assert_malformed(
+ () => instantiate(`(func (v128.const f32x4 0e+ 0e+ 0e+ 0e+) drop) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:323
+assert_malformed(
+ () => instantiate(`(func (v128.const f32x4 0.0e 0.0e 0.0e 0.0e) drop) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:327
+assert_malformed(
+ () => instantiate(`(func (v128.const f32x4 0.0e- 0.0e- 0.0e- 0.0e-) drop) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:331
+assert_malformed(
+ () => instantiate(`(func (v128.const f32x4 0x 0x 0x 0x) drop) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:335
+assert_malformed(
+ () => instantiate(`(func (v128.const f32x4 1x 1x 1x 1x) drop) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:339
+assert_malformed(
+ () => instantiate(`(func (v128.const f32x4 0xg 0xg 0xg 0xg) drop) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:343
+assert_malformed(
+ () => instantiate(`(func (v128.const f32x4 0x. 0x. 0x. 0x.) drop) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:347
+assert_malformed(
+ () => instantiate(`(func (v128.const f32x4 0x0.g 0x0.g 0x0.g 0x0.g) drop) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:351
+assert_malformed(
+ () => instantiate(`(func (v128.const f32x4 0x0p 0x0p 0x0p 0x0p) drop) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:355
+assert_malformed(
+ () => instantiate(`(func (v128.const f32x4 0x0p+ 0x0p+ 0x0p+ 0x0p+) drop) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:359
+assert_malformed(
+ () => instantiate(`(func (v128.const f32x4 0x0p- 0x0p- 0x0p- 0x0p-) drop) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:363
+assert_malformed(
+ () => instantiate(`(func (v128.const f32x4 0x0.0p 0x0.0p 0x0.0p 0x0.0p) drop) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:367
+assert_malformed(
+ () => instantiate(`(func (v128.const f32x4 0x0.0p+ 0x0.0p+ 0x0.0p+ 0x0.0p+) drop) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:371
+assert_malformed(
+ () => instantiate(`(func (v128.const f32x4 0x0.0p- 0x0.0p- 0x0.0p- 0x0.0p-) drop) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:375
+assert_malformed(
+ () => instantiate(`(func (v128.const f32x4 0x0pA 0x0pA 0x0pA 0x0pA) drop) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:379
+assert_malformed(
+ () => instantiate(`(func (v128.const f32x4 nan:1 nan:1 nan:1 nan:1) drop) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:383
+assert_malformed(
+ () => instantiate(`(func (v128.const f32x4 nan:0x0 nan:0x0 nan:0x0 nan:0x0) drop) `),
+ `constant out of range`,
+);
+
+// ./test/core/simd/simd_const.wast:388
+assert_malformed(
+ () => instantiate(`(func (v128.const f64x2) drop) `),
+ `wrong number of lane literals`,
+);
+
+// ./test/core/simd/simd_const.wast:392
+assert_malformed(
+ () => instantiate(`(func (v128.const f64x2 .0 .0) drop) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:396
+assert_malformed(
+ () => instantiate(`(func (v128.const f64x2 .0e0 .0e0) drop) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:400
+assert_malformed(
+ () => instantiate(`(func (v128.const f64x2 0e 0e) drop) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:404
+assert_malformed(
+ () => instantiate(`(func (v128.const f64x2 0e+ 0e+) drop) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:408
+assert_malformed(
+ () => instantiate(`(func (v128.const f64x2 0.0e+ 0.0e+) drop) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:412
+assert_malformed(
+ () => instantiate(`(func (v128.const f64x2 0.0e- 0.0e-) drop) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:416
+assert_malformed(
+ () => instantiate(`(func (v128.const f64x2 0x 0x) drop) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:420
+assert_malformed(
+ () => instantiate(`(func (v128.const f64x2 1x 1x) drop) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:424
+assert_malformed(
+ () => instantiate(`(func (v128.const f64x2 0xg 0xg) drop) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:428
+assert_malformed(
+ () => instantiate(`(func (v128.const f64x2 0x. 0x.) drop) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:432
+assert_malformed(
+ () => instantiate(`(func (v128.const f64x2 0x0.g 0x0.g) drop) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:436
+assert_malformed(
+ () => instantiate(`(func (v128.const f64x2 0x0p 0x0p) drop) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:440
+assert_malformed(
+ () => instantiate(`(func (v128.const f64x2 0x0p+ 0x0p+) drop) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:444
+assert_malformed(
+ () => instantiate(`(func (v128.const f64x2 0x0p- 0x0p-) drop) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:448
+assert_malformed(
+ () => instantiate(`(func (v128.const f64x2 0x0.0p 0x0.0p) drop) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:452
+assert_malformed(
+ () => instantiate(`(func (v128.const f64x2 0x0.0p+ 0x0.0p+) drop) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:456
+assert_malformed(
+ () => instantiate(`(func (v128.const f64x2 0x0.0p- 0x0.0p-) drop) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:460
+assert_malformed(
+ () => instantiate(`(func (v128.const f64x2 0x0pA 0x0pA) drop) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:464
+assert_malformed(
+ () => instantiate(`(func (v128.const f64x2 nan:1 nan:1) drop) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:468
+assert_malformed(
+ () => instantiate(`(func (v128.const f64x2 nan:0x0 nan:0x0) drop) `),
+ `constant out of range`,
+);
+
+// ./test/core/simd/simd_const.wast:475
+assert_malformed(
+ () => instantiate(`(func (v128.const i32x4 0x10000000000000000 0x10000000000000000) drop) `),
+ `wrong number of lane literals`,
+);
+
+// ./test/core/simd/simd_const.wast:481
+assert_malformed(
+ () => instantiate(`(func (v128.const i32x4 0x1 0x1 0x1 0x1 0x1) drop) `),
+ `wrong number of lane literals`,
+);
+
+// ./test/core/simd/simd_const.wast:489
+let $113 = instantiate(`(module (func (export "f") (result v128) (v128.const f32x4 +0x1.00000100000000000p-50 +0x1.00000100000000000p-50 +0x1.00000100000000000p-50 +0x1.00000100000000000p-50)))`);
+
+// ./test/core/simd/simd_const.wast:490
+assert_return(
+ () => invoke($113, `f`, []),
+ [
+ new F32x4Pattern(
+ value("f32", 0.0000000000000008881784),
+ value("f32", 0.0000000000000008881784),
+ value("f32", 0.0000000000000008881784),
+ value("f32", 0.0000000000000008881784),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:491
+let $114 = instantiate(`(module (func (export "f") (result v128) (v128.const f32x4 -0x1.00000100000000000p-50 -0x1.00000100000000000p-50 -0x1.00000100000000000p-50 -0x1.00000100000000000p-50)))`);
+
+// ./test/core/simd/simd_const.wast:492
+assert_return(
+ () => invoke($114, `f`, []),
+ [
+ new F32x4Pattern(
+ value("f32", -0.0000000000000008881784),
+ value("f32", -0.0000000000000008881784),
+ value("f32", -0.0000000000000008881784),
+ value("f32", -0.0000000000000008881784),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:493
+let $115 = instantiate(`(module (func (export "f") (result v128) (v128.const f32x4 +0x1.00000500000000001p-50 +0x1.00000500000000001p-50 +0x1.00000500000000001p-50 +0x1.00000500000000001p-50)))`);
+
+// ./test/core/simd/simd_const.wast:494
+assert_return(
+ () => invoke($115, `f`, []),
+ [
+ new F32x4Pattern(
+ value("f32", 0.0000000000000008881787),
+ value("f32", 0.0000000000000008881787),
+ value("f32", 0.0000000000000008881787),
+ value("f32", 0.0000000000000008881787),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:495
+let $116 = instantiate(`(module (func (export "f") (result v128) (v128.const f32x4 -0x1.00000500000000001p-50 -0x1.00000500000000001p-50 -0x1.00000500000000001p-50 -0x1.00000500000000001p-50)))`);
+
+// ./test/core/simd/simd_const.wast:496
+assert_return(
+ () => invoke($116, `f`, []),
+ [
+ new F32x4Pattern(
+ value("f32", -0.0000000000000008881787),
+ value("f32", -0.0000000000000008881787),
+ value("f32", -0.0000000000000008881787),
+ value("f32", -0.0000000000000008881787),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:498
+let $117 = instantiate(`(module (func (export "f") (result v128) (v128.const f32x4 +0x4000.004000000p-64 +0x4000.004000000p-64 +0x4000.004000000p-64 +0x4000.004000000p-64)))`);
+
+// ./test/core/simd/simd_const.wast:499
+assert_return(
+ () => invoke($117, `f`, []),
+ [
+ new F32x4Pattern(
+ value("f32", 0.0000000000000008881784),
+ value("f32", 0.0000000000000008881784),
+ value("f32", 0.0000000000000008881784),
+ value("f32", 0.0000000000000008881784),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:500
+let $118 = instantiate(`(module (func (export "f") (result v128) (v128.const f32x4 -0x4000.004000000p-64 -0x4000.004000000p-64 -0x4000.004000000p-64 -0x4000.004000000p-64)))`);
+
+// ./test/core/simd/simd_const.wast:501
+assert_return(
+ () => invoke($118, `f`, []),
+ [
+ new F32x4Pattern(
+ value("f32", -0.0000000000000008881784),
+ value("f32", -0.0000000000000008881784),
+ value("f32", -0.0000000000000008881784),
+ value("f32", -0.0000000000000008881784),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:502
+let $119 = instantiate(`(module (func (export "f") (result v128) (v128.const f32x4 +0x4000.014000001p-64 +0x4000.014000001p-64 +0x4000.014000001p-64 +0x4000.014000001p-64)))`);
+
+// ./test/core/simd/simd_const.wast:503
+assert_return(
+ () => invoke($119, `f`, []),
+ [
+ new F32x4Pattern(
+ value("f32", 0.0000000000000008881787),
+ value("f32", 0.0000000000000008881787),
+ value("f32", 0.0000000000000008881787),
+ value("f32", 0.0000000000000008881787),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:504
+let $120 = instantiate(`(module (func (export "f") (result v128) (v128.const f32x4 -0x4000.014000001p-64 -0x4000.014000001p-64 -0x4000.014000001p-64 -0x4000.014000001p-64)))`);
+
+// ./test/core/simd/simd_const.wast:505
+assert_return(
+ () => invoke($120, `f`, []),
+ [
+ new F32x4Pattern(
+ value("f32", -0.0000000000000008881787),
+ value("f32", -0.0000000000000008881787),
+ value("f32", -0.0000000000000008881787),
+ value("f32", -0.0000000000000008881787),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:507
+let $121 = instantiate(`(module (func (export "f") (result v128) (v128.const f32x4 +8.8817847263968443573e-16 +8.8817847263968443573e-16 +8.8817847263968443573e-16 +8.8817847263968443573e-16)))`);
+
+// ./test/core/simd/simd_const.wast:508
+assert_return(
+ () => invoke($121, `f`, []),
+ [
+ new F32x4Pattern(
+ value("f32", 0.0000000000000008881784),
+ value("f32", 0.0000000000000008881784),
+ value("f32", 0.0000000000000008881784),
+ value("f32", 0.0000000000000008881784),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:509
+let $122 = instantiate(`(module (func (export "f") (result v128) (v128.const f32x4 -8.8817847263968443573e-16 -8.8817847263968443573e-16 -8.8817847263968443573e-16 -8.8817847263968443573e-16)))`);
+
+// ./test/core/simd/simd_const.wast:510
+assert_return(
+ () => invoke($122, `f`, []),
+ [
+ new F32x4Pattern(
+ value("f32", -0.0000000000000008881784),
+ value("f32", -0.0000000000000008881784),
+ value("f32", -0.0000000000000008881784),
+ value("f32", -0.0000000000000008881784),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:511
+let $123 = instantiate(`(module (func (export "f") (result v128) (v128.const f32x4 +8.8817857851880284253e-16 +8.8817857851880284253e-16 +8.8817857851880284253e-16 +8.8817857851880284253e-16)))`);
+
+// ./test/core/simd/simd_const.wast:512
+assert_return(
+ () => invoke($123, `f`, []),
+ [
+ new F32x4Pattern(
+ value("f32", 0.0000000000000008881786),
+ value("f32", 0.0000000000000008881786),
+ value("f32", 0.0000000000000008881786),
+ value("f32", 0.0000000000000008881786),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:513
+let $124 = instantiate(`(module (func (export "f") (result v128) (v128.const f32x4 -8.8817857851880284253e-16 -8.8817857851880284253e-16 -8.8817857851880284253e-16 -8.8817857851880284253e-16)))`);
+
+// ./test/core/simd/simd_const.wast:514
+assert_return(
+ () => invoke($124, `f`, []),
+ [
+ new F32x4Pattern(
+ value("f32", -0.0000000000000008881786),
+ value("f32", -0.0000000000000008881786),
+ value("f32", -0.0000000000000008881786),
+ value("f32", -0.0000000000000008881786),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:517
+let $125 = instantiate(`(module (func (export "f") (result v128) (v128.const f32x4 +0x1.00000100000000000p+50 +0x1.00000100000000000p+50 +0x1.00000100000000000p+50 +0x1.00000100000000000p+50)))`);
+
+// ./test/core/simd/simd_const.wast:518
+assert_return(
+ () => invoke($125, `f`, []),
+ [
+ new F32x4Pattern(
+ value("f32", 1125899900000000),
+ value("f32", 1125899900000000),
+ value("f32", 1125899900000000),
+ value("f32", 1125899900000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:519
+let $126 = instantiate(`(module (func (export "f") (result v128) (v128.const f32x4 -0x1.00000100000000000p+50 -0x1.00000100000000000p+50 -0x1.00000100000000000p+50 -0x1.00000100000000000p+50)))`);
+
+// ./test/core/simd/simd_const.wast:520
+assert_return(
+ () => invoke($126, `f`, []),
+ [
+ new F32x4Pattern(
+ value("f32", -1125899900000000),
+ value("f32", -1125899900000000),
+ value("f32", -1125899900000000),
+ value("f32", -1125899900000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:521
+let $127 = instantiate(`(module (func (export "f") (result v128) (v128.const f32x4 +0x1.00000500000000001p+50 +0x1.00000500000000001p+50 +0x1.00000500000000001p+50 +0x1.00000500000000001p+50)))`);
+
+// ./test/core/simd/simd_const.wast:522
+assert_return(
+ () => invoke($127, `f`, []),
+ [
+ new F32x4Pattern(
+ value("f32", 1125900300000000),
+ value("f32", 1125900300000000),
+ value("f32", 1125900300000000),
+ value("f32", 1125900300000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:523
+let $128 = instantiate(`(module (func (export "f") (result v128) (v128.const f32x4 -0x1.00000500000000001p+50 -0x1.00000500000000001p+50 -0x1.00000500000000001p+50 -0x1.00000500000000001p+50)))`);
+
+// ./test/core/simd/simd_const.wast:524
+assert_return(
+ () => invoke($128, `f`, []),
+ [
+ new F32x4Pattern(
+ value("f32", -1125900300000000),
+ value("f32", -1125900300000000),
+ value("f32", -1125900300000000),
+ value("f32", -1125900300000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:526
+let $129 = instantiate(`(module (func (export "f") (result v128) (v128.const f32x4 +0x4000004000000 +0x4000004000000 +0x4000004000000 +0x4000004000000)))`);
+
+// ./test/core/simd/simd_const.wast:527
+assert_return(
+ () => invoke($129, `f`, []),
+ [
+ new F32x4Pattern(
+ value("f32", 1125899900000000),
+ value("f32", 1125899900000000),
+ value("f32", 1125899900000000),
+ value("f32", 1125899900000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:528
+let $130 = instantiate(`(module (func (export "f") (result v128) (v128.const f32x4 -0x4000004000000 -0x4000004000000 -0x4000004000000 -0x4000004000000)))`);
+
+// ./test/core/simd/simd_const.wast:529
+assert_return(
+ () => invoke($130, `f`, []),
+ [
+ new F32x4Pattern(
+ value("f32", -1125899900000000),
+ value("f32", -1125899900000000),
+ value("f32", -1125899900000000),
+ value("f32", -1125899900000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:530
+let $131 = instantiate(`(module (func (export "f") (result v128) (v128.const f32x4 +0x400000c000000 +0x400000c000000 +0x400000c000000 +0x400000c000000)))`);
+
+// ./test/core/simd/simd_const.wast:531
+assert_return(
+ () => invoke($131, `f`, []),
+ [
+ new F32x4Pattern(
+ value("f32", 1125900200000000),
+ value("f32", 1125900200000000),
+ value("f32", 1125900200000000),
+ value("f32", 1125900200000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:532
+let $132 = instantiate(`(module (func (export "f") (result v128) (v128.const f32x4 -0x400000c000000 -0x400000c000000 -0x400000c000000 -0x400000c000000)))`);
+
+// ./test/core/simd/simd_const.wast:533
+assert_return(
+ () => invoke($132, `f`, []),
+ [
+ new F32x4Pattern(
+ value("f32", -1125900200000000),
+ value("f32", -1125900200000000),
+ value("f32", -1125900200000000),
+ value("f32", -1125900200000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:535
+let $133 = instantiate(`(module (func (export "f") (result v128) (v128.const f32x4 +1125899973951488 +1125899973951488 +1125899973951488 +1125899973951488)))`);
+
+// ./test/core/simd/simd_const.wast:536
+assert_return(
+ () => invoke($133, `f`, []),
+ [
+ new F32x4Pattern(
+ value("f32", 1125899900000000),
+ value("f32", 1125899900000000),
+ value("f32", 1125899900000000),
+ value("f32", 1125899900000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:537
+let $134 = instantiate(`(module (func (export "f") (result v128) (v128.const f32x4 -1125899973951488 -1125899973951488 -1125899973951488 -1125899973951488)))`);
+
+// ./test/core/simd/simd_const.wast:538
+assert_return(
+ () => invoke($134, `f`, []),
+ [
+ new F32x4Pattern(
+ value("f32", -1125899900000000),
+ value("f32", -1125899900000000),
+ value("f32", -1125899900000000),
+ value("f32", -1125899900000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:539
+let $135 = instantiate(`(module (func (export "f") (result v128) (v128.const f32x4 +1125900108169216 +1125900108169216 +1125900108169216 +1125900108169216)))`);
+
+// ./test/core/simd/simd_const.wast:540
+assert_return(
+ () => invoke($135, `f`, []),
+ [
+ new F32x4Pattern(
+ value("f32", 1125900200000000),
+ value("f32", 1125900200000000),
+ value("f32", 1125900200000000),
+ value("f32", 1125900200000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:541
+let $136 = instantiate(`(module (func (export "f") (result v128) (v128.const f32x4 -1125900108169216 -1125900108169216 -1125900108169216 -1125900108169216)))`);
+
+// ./test/core/simd/simd_const.wast:542
+assert_return(
+ () => invoke($136, `f`, []),
+ [
+ new F32x4Pattern(
+ value("f32", -1125900200000000),
+ value("f32", -1125900200000000),
+ value("f32", -1125900200000000),
+ value("f32", -1125900200000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:545
+let $137 = instantiate(`(module (func (export "f") (result v128) (v128.const f32x4 +0x0.00000100000000000p-126 +0x0.00000100000000000p-126 +0x0.00000100000000000p-126 +0x0.00000100000000000p-126)))`);
+
+// ./test/core/simd/simd_const.wast:546
+assert_return(
+ () => invoke($137, `f`, []),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:547
+let $138 = instantiate(`(module (func (export "f") (result v128) (v128.const f32x4 -0x0.00000100000000000p-126 -0x0.00000100000000000p-126 -0x0.00000100000000000p-126 -0x0.00000100000000000p-126)))`);
+
+// ./test/core/simd/simd_const.wast:548
+assert_return(
+ () => invoke($138, `f`, []),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:549
+let $139 = instantiate(`(module (func (export "f") (result v128) (v128.const f32x4 +0x0.00000500000000001p-126 +0x0.00000500000000001p-126 +0x0.00000500000000001p-126 +0x0.00000500000000001p-126)))`);
+
+// ./test/core/simd/simd_const.wast:550
+assert_return(
+ () => invoke($139, `f`, []),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000004),
+ value("f32", 0.000000000000000000000000000000000000000000004),
+ value("f32", 0.000000000000000000000000000000000000000000004),
+ value("f32", 0.000000000000000000000000000000000000000000004),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:551
+let $140 = instantiate(`(module (func (export "f") (result v128) (v128.const f32x4 -0x0.00000500000000001p-126 -0x0.00000500000000001p-126 -0x0.00000500000000001p-126 -0x0.00000500000000001p-126)))`);
+
+// ./test/core/simd/simd_const.wast:552
+assert_return(
+ () => invoke($140, `f`, []),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000004),
+ value("f32", -0.000000000000000000000000000000000000000000004),
+ value("f32", -0.000000000000000000000000000000000000000000004),
+ value("f32", -0.000000000000000000000000000000000000000000004),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:555
+let $141 = instantiate(`(module (func (export "f") (result v128) (v128.const f32x4 +0x1.fffffe8p127 +0x1.fffffe8p127 +0x1.fffffe8p127 +0x1.fffffe8p127)))`);
+
+// ./test/core/simd/simd_const.wast:556
+assert_return(
+ () => invoke($141, `f`, []),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:557
+let $142 = instantiate(`(module (func (export "f") (result v128) (v128.const f32x4 -0x1.fffffe8p127 -0x1.fffffe8p127 -0x1.fffffe8p127 -0x1.fffffe8p127)))`);
+
+// ./test/core/simd/simd_const.wast:558
+assert_return(
+ () => invoke($142, `f`, []),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:559
+let $143 = instantiate(`(module (func (export "f") (result v128) (v128.const f32x4 +0x1.fffffefffffffffffp127 +0x1.fffffefffffffffffp127 +0x1.fffffefffffffffffp127 +0x1.fffffefffffffffffp127)))`);
+
+// ./test/core/simd/simd_const.wast:560
+assert_return(
+ () => invoke($143, `f`, []),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:561
+let $144 = instantiate(`(module (func (export "f") (result v128) (v128.const f32x4 -0x1.fffffefffffffffffp127 -0x1.fffffefffffffffffp127 -0x1.fffffefffffffffffp127 -0x1.fffffefffffffffffp127)))`);
+
+// ./test/core/simd/simd_const.wast:562
+assert_return(
+ () => invoke($144, `f`, []),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:565
+let $145 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x1.000000000000080000000000p-600)))`);
+
+// ./test/core/simd/simd_const.wast:566
+assert_return(
+ () => invoke($145, `f`, []),
+ [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002409919865102884),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:567
+let $146 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x1.000000000000080000000000p-600)))`);
+
+// ./test/core/simd/simd_const.wast:568
+assert_return(
+ () => invoke($146, `f`, []),
+ [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002409919865102884),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:569
+let $147 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x1.000000000000080000000001p-600)))`);
+
+// ./test/core/simd/simd_const.wast:570
+assert_return(
+ () => invoke($147, `f`, []),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024099198651028847),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:571
+let $148 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x1.000000000000080000000001p-600)))`);
+
+// ./test/core/simd/simd_const.wast:572
+assert_return(
+ () => invoke($148, `f`, []),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024099198651028847),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:573
+let $149 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x1.0000000000000fffffffffffp-600)))`);
+
+// ./test/core/simd/simd_const.wast:574
+assert_return(
+ () => invoke($149, `f`, []),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024099198651028847),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:575
+let $150 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x1.0000000000000fffffffffffp-600)))`);
+
+// ./test/core/simd/simd_const.wast:576
+assert_return(
+ () => invoke($150, `f`, []),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024099198651028847),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:577
+let $151 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x1.000000000000100000000000p-600)))`);
+
+// ./test/core/simd/simd_const.wast:578
+assert_return(
+ () => invoke($151, `f`, []),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024099198651028847),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:579
+let $152 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x1.000000000000100000000000p-600)))`);
+
+// ./test/core/simd/simd_const.wast:580
+assert_return(
+ () => invoke($152, `f`, []),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024099198651028847),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:581
+let $153 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x1.000000000000100000000001p-600)))`);
+
+// ./test/core/simd/simd_const.wast:582
+assert_return(
+ () => invoke($153, `f`, []),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024099198651028847),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:583
+let $154 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x1.000000000000100000000001p-600)))`);
+
+// ./test/core/simd/simd_const.wast:584
+assert_return(
+ () => invoke($154, `f`, []),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024099198651028847),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:585
+let $155 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x1.00000000000017ffffffffffp-600)))`);
+
+// ./test/core/simd/simd_const.wast:586
+assert_return(
+ () => invoke($155, `f`, []),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024099198651028847),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:587
+let $156 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x1.00000000000017ffffffffffp-600)))`);
+
+// ./test/core/simd/simd_const.wast:588
+assert_return(
+ () => invoke($156, `f`, []),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024099198651028847),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:589
+let $157 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x1.000000000000180000000000p-600)))`);
+
+// ./test/core/simd/simd_const.wast:590
+assert_return(
+ () => invoke($157, `f`, []),
+ [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002409919865102885),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:591
+let $158 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x1.000000000000180000000000p-600)))`);
+
+// ./test/core/simd/simd_const.wast:592
+assert_return(
+ () => invoke($158, `f`, []),
+ [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002409919865102885),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:593
+let $159 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x1.000000000000180000000001p-600)))`);
+
+// ./test/core/simd/simd_const.wast:594
+assert_return(
+ () => invoke($159, `f`, []),
+ [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002409919865102885),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:595
+let $160 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x1.000000000000180000000001p-600)))`);
+
+// ./test/core/simd/simd_const.wast:596
+assert_return(
+ () => invoke($160, `f`, []),
+ [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002409919865102885),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:597
+let $161 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x1.0000000000001fffffffffffp-600)))`);
+
+// ./test/core/simd/simd_const.wast:598
+assert_return(
+ () => invoke($161, `f`, []),
+ [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002409919865102885),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:599
+let $162 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x1.0000000000001fffffffffffp-600)))`);
+
+// ./test/core/simd/simd_const.wast:600
+assert_return(
+ () => invoke($162, `f`, []),
+ [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002409919865102885),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:601
+let $163 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x1.000000000000200000000000p-600)))`);
+
+// ./test/core/simd/simd_const.wast:602
+assert_return(
+ () => invoke($163, `f`, []),
+ [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002409919865102885),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:603
+let $164 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x1.000000000000200000000000p-600)))`);
+
+// ./test/core/simd/simd_const.wast:604
+assert_return(
+ () => invoke($164, `f`, []),
+ [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002409919865102885),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:605
+let $165 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x1.000000000000200000000001p-600)))`);
+
+// ./test/core/simd/simd_const.wast:606
+assert_return(
+ () => invoke($165, `f`, []),
+ [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002409919865102885),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:607
+let $166 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x1.000000000000200000000001p-600)))`);
+
+// ./test/core/simd/simd_const.wast:608
+assert_return(
+ () => invoke($166, `f`, []),
+ [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002409919865102885),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:609
+let $167 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x1.00000000000027ffffffffffp-600)))`);
+
+// ./test/core/simd/simd_const.wast:610
+assert_return(
+ () => invoke($167, `f`, []),
+ [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002409919865102885),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:611
+let $168 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x1.00000000000027ffffffffffp-600)))`);
+
+// ./test/core/simd/simd_const.wast:612
+assert_return(
+ () => invoke($168, `f`, []),
+ [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002409919865102885),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:613
+let $169 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x1.000000000000280000000001p-600)))`);
+
+// ./test/core/simd/simd_const.wast:614
+assert_return(
+ () => invoke($169, `f`, []),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024099198651028857),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:615
+let $170 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x1.000000000000280000000001p-600)))`);
+
+// ./test/core/simd/simd_const.wast:616
+assert_return(
+ () => invoke($170, `f`, []),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024099198651028857),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:617
+let $171 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x8000000.000000400000000000p-627)))`);
+
+// ./test/core/simd/simd_const.wast:618
+assert_return(
+ () => invoke($171, `f`, []),
+ [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002409919865102884),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:619
+let $172 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x8000000.000000400000000000p-627)))`);
+
+// ./test/core/simd/simd_const.wast:620
+assert_return(
+ () => invoke($172, `f`, []),
+ [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002409919865102884),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:621
+let $173 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x8000000.000000400000000001p-627)))`);
+
+// ./test/core/simd/simd_const.wast:622
+assert_return(
+ () => invoke($173, `f`, []),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024099198651028847),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:623
+let $174 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x8000000.000000400000000001p-627)))`);
+
+// ./test/core/simd/simd_const.wast:624
+assert_return(
+ () => invoke($174, `f`, []),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024099198651028847),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:625
+let $175 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x8000000.0000007fffffffffffp-627)))`);
+
+// ./test/core/simd/simd_const.wast:626
+assert_return(
+ () => invoke($175, `f`, []),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024099198651028847),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:627
+let $176 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x8000000.0000007fffffffffffp-627)))`);
+
+// ./test/core/simd/simd_const.wast:628
+assert_return(
+ () => invoke($176, `f`, []),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024099198651028847),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:629
+let $177 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x8000000.000000800000000000p-627)))`);
+
+// ./test/core/simd/simd_const.wast:630
+assert_return(
+ () => invoke($177, `f`, []),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024099198651028847),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:631
+let $178 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x8000000.000000800000000000p-627)))`);
+
+// ./test/core/simd/simd_const.wast:632
+assert_return(
+ () => invoke($178, `f`, []),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024099198651028847),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:633
+let $179 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x8000000.000000800000000001p-627)))`);
+
+// ./test/core/simd/simd_const.wast:634
+assert_return(
+ () => invoke($179, `f`, []),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024099198651028847),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:635
+let $180 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x8000000.000000800000000001p-627)))`);
+
+// ./test/core/simd/simd_const.wast:636
+assert_return(
+ () => invoke($180, `f`, []),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024099198651028847),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:637
+let $181 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x8000000.000000bfffffffffffp-627)))`);
+
+// ./test/core/simd/simd_const.wast:638
+assert_return(
+ () => invoke($181, `f`, []),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024099198651028847),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:639
+let $182 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x8000000.000000bfffffffffffp-627)))`);
+
+// ./test/core/simd/simd_const.wast:640
+assert_return(
+ () => invoke($182, `f`, []),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024099198651028847),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:641
+let $183 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x8000000.000000c00000000000p-627)))`);
+
+// ./test/core/simd/simd_const.wast:642
+assert_return(
+ () => invoke($183, `f`, []),
+ [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002409919865102885),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:643
+let $184 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x8000000.000000c00000000000p-627)))`);
+
+// ./test/core/simd/simd_const.wast:644
+assert_return(
+ () => invoke($184, `f`, []),
+ [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002409919865102885),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:645
+let $185 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x8000000.000000c00000000001p-627)))`);
+
+// ./test/core/simd/simd_const.wast:646
+assert_return(
+ () => invoke($185, `f`, []),
+ [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002409919865102885),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:647
+let $186 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x8000000.000000c00000000001p-627)))`);
+
+// ./test/core/simd/simd_const.wast:648
+assert_return(
+ () => invoke($186, `f`, []),
+ [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002409919865102885),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:649
+let $187 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x8000000.000000ffffffffffffp-627)))`);
+
+// ./test/core/simd/simd_const.wast:650
+assert_return(
+ () => invoke($187, `f`, []),
+ [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002409919865102885),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:651
+let $188 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x8000000.000000ffffffffffffp-627)))`);
+
+// ./test/core/simd/simd_const.wast:652
+assert_return(
+ () => invoke($188, `f`, []),
+ [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002409919865102885),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:653
+let $189 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x8000000.000001000000000000p-627)))`);
+
+// ./test/core/simd/simd_const.wast:654
+assert_return(
+ () => invoke($189, `f`, []),
+ [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002409919865102885),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:655
+let $190 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x8000000.000001000000000000p-627)))`);
+
+// ./test/core/simd/simd_const.wast:656
+assert_return(
+ () => invoke($190, `f`, []),
+ [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002409919865102885),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:657
+let $191 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x8000000.000001000000000001p-627)))`);
+
+// ./test/core/simd/simd_const.wast:658
+assert_return(
+ () => invoke($191, `f`, []),
+ [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002409919865102885),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:659
+let $192 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x8000000.000001000000000001p-627)))`);
+
+// ./test/core/simd/simd_const.wast:660
+assert_return(
+ () => invoke($192, `f`, []),
+ [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002409919865102885),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:661
+let $193 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x8000000.0000013fffffffffffp-627)))`);
+
+// ./test/core/simd/simd_const.wast:662
+assert_return(
+ () => invoke($193, `f`, []),
+ [
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002409919865102885),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:663
+let $194 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x8000000.0000013fffffffffffp-627)))`);
+
+// ./test/core/simd/simd_const.wast:664
+assert_return(
+ () => invoke($194, `f`, []),
+ [
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002409919865102885),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:665
+let $195 = instantiate(`(module (func (export "f") (result f64) (f64.const +0x8000000.000001400000000001p-627)))`);
+
+// ./test/core/simd/simd_const.wast:666
+assert_return(
+ () => invoke($195, `f`, []),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024099198651028857),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:667
+let $196 = instantiate(`(module (func (export "f") (result f64) (f64.const -0x8000000.000001400000000001p-627)))`);
+
+// ./test/core/simd/simd_const.wast:668
+assert_return(
+ () => invoke($196, `f`, []),
+ [
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024099198651028857),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:669
+let $197 = instantiate(`(module (func (export "f") (result f64) (f64.const +5.3575430359313371995e+300)))`);
+
+// ./test/core/simd/simd_const.wast:670
+assert_return(
+ () => invoke($197, `f`, []),
+ [
+ value("f64", 5357543035931337000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:671
+let $198 = instantiate(`(module (func (export "f") (result f64) (f64.const -5.3575430359313371995e+300)))`);
+
+// ./test/core/simd/simd_const.wast:672
+assert_return(
+ () => invoke($198, `f`, []),
+ [
+ value("f64", -5357543035931337000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:673
+let $199 = instantiate(`(module (func (export "f") (result f64) (f64.const +5.3575430359313371996e+300)))`);
+
+// ./test/core/simd/simd_const.wast:674
+assert_return(
+ () => invoke($199, `f`, []),
+ [
+ value("f64", 5357543035931338000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:675
+let $200 = instantiate(`(module (func (export "f") (result f64) (f64.const -5.3575430359313371996e+300)))`);
+
+// ./test/core/simd/simd_const.wast:676
+assert_return(
+ () => invoke($200, `f`, []),
+ [
+ value("f64", -5357543035931338000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:677
+let $201 = instantiate(`(module (func (export "f") (result f64) (f64.const +5.3575430359313383891e+300)))`);
+
+// ./test/core/simd/simd_const.wast:678
+assert_return(
+ () => invoke($201, `f`, []),
+ [
+ value("f64", 5357543035931338000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:679
+let $202 = instantiate(`(module (func (export "f") (result f64) (f64.const -5.3575430359313383891e+300)))`);
+
+// ./test/core/simd/simd_const.wast:680
+assert_return(
+ () => invoke($202, `f`, []),
+ [
+ value("f64", -5357543035931338000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:681
+let $203 = instantiate(`(module (func (export "f") (result f64) (f64.const +5.3575430359313383892e+300)))`);
+
+// ./test/core/simd/simd_const.wast:682
+assert_return(
+ () => invoke($203, `f`, []),
+ [
+ value("f64", 5357543035931339000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:683
+let $204 = instantiate(`(module (func (export "f") (result f64) (f64.const -5.3575430359313383892e+300)))`);
+
+// ./test/core/simd/simd_const.wast:684
+assert_return(
+ () => invoke($204, `f`, []),
+ [
+ value("f64", -5357543035931339000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:687
+let $205 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 +0x1.000000000000080000000000p+600 +0x1.000000000000080000000000p+600)))`);
+
+// ./test/core/simd/simd_const.wast:688
+assert_return(
+ () => invoke($205, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", 4149515568880993000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 4149515568880993000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:689
+let $206 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 -0x1.000000000000080000000000p+600 -0x1.000000000000080000000000p+600)))`);
+
+// ./test/core/simd/simd_const.wast:690
+assert_return(
+ () => invoke($206, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", -4149515568880993000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -4149515568880993000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:691
+let $207 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 +0x1.000000000000080000000001p+600 +0x1.000000000000080000000001p+600)))`);
+
+// ./test/core/simd/simd_const.wast:692
+assert_return(
+ () => invoke($207, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", 4149515568880994000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 4149515568880994000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:693
+let $208 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 -0x1.000000000000080000000001p+600 -0x1.000000000000080000000001p+600)))`);
+
+// ./test/core/simd/simd_const.wast:694
+assert_return(
+ () => invoke($208, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", -4149515568880994000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -4149515568880994000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:695
+let $209 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 +0x1.0000000000000fffffffffffp+600 +0x1.0000000000000fffffffffffp+600)))`);
+
+// ./test/core/simd/simd_const.wast:696
+assert_return(
+ () => invoke($209, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", 4149515568880994000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 4149515568880994000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:697
+let $210 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 -0x1.0000000000000fffffffffffp+600 -0x1.0000000000000fffffffffffp+600)))`);
+
+// ./test/core/simd/simd_const.wast:698
+assert_return(
+ () => invoke($210, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", -4149515568880994000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -4149515568880994000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:699
+let $211 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 +0x1.000000000000100000000000p+600 +0x1.000000000000100000000000p+600)))`);
+
+// ./test/core/simd/simd_const.wast:700
+assert_return(
+ () => invoke($211, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", 4149515568880994000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 4149515568880994000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:701
+let $212 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 -0x1.000000000000100000000000p+600 -0x1.000000000000100000000000p+600)))`);
+
+// ./test/core/simd/simd_const.wast:702
+assert_return(
+ () => invoke($212, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", -4149515568880994000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -4149515568880994000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:703
+let $213 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 +0x1.000000000000100000000001p+600 +0x1.000000000000100000000001p+600)))`);
+
+// ./test/core/simd/simd_const.wast:704
+assert_return(
+ () => invoke($213, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", 4149515568880994000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 4149515568880994000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:705
+let $214 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 -0x1.000000000000100000000001p+600 -0x1.000000000000100000000001p+600)))`);
+
+// ./test/core/simd/simd_const.wast:706
+assert_return(
+ () => invoke($214, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", -4149515568880994000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -4149515568880994000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:707
+let $215 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 +0x1.00000000000017ffffffffffp+600 +0x1.00000000000017ffffffffffp+600)))`);
+
+// ./test/core/simd/simd_const.wast:708
+assert_return(
+ () => invoke($215, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", 4149515568880994000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 4149515568880994000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:709
+let $216 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 -0x1.00000000000017ffffffffffp+600 -0x1.00000000000017ffffffffffp+600)))`);
+
+// ./test/core/simd/simd_const.wast:710
+assert_return(
+ () => invoke($216, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", -4149515568880994000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -4149515568880994000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:711
+let $217 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 +0x1.000000000000180000000000p+600 +0x1.000000000000180000000000p+600)))`);
+
+// ./test/core/simd/simd_const.wast:712
+assert_return(
+ () => invoke($217, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", 4149515568880995000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 4149515568880995000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:713
+let $218 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 -0x1.000000000000180000000000p+600 -0x1.000000000000180000000000p+600)))`);
+
+// ./test/core/simd/simd_const.wast:714
+assert_return(
+ () => invoke($218, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", -4149515568880995000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -4149515568880995000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:715
+let $219 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 +0x1.000000000000180000000001p+600 +0x1.000000000000180000000001p+600)))`);
+
+// ./test/core/simd/simd_const.wast:716
+assert_return(
+ () => invoke($219, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", 4149515568880995000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 4149515568880995000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:717
+let $220 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 -0x1.000000000000180000000001p+600 -0x1.000000000000180000000001p+600)))`);
+
+// ./test/core/simd/simd_const.wast:718
+assert_return(
+ () => invoke($220, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", -4149515568880995000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -4149515568880995000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:719
+let $221 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 +0x1.0000000000001fffffffffffp+600 +0x1.0000000000001fffffffffffp+600)))`);
+
+// ./test/core/simd/simd_const.wast:720
+assert_return(
+ () => invoke($221, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", 4149515568880995000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 4149515568880995000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:721
+let $222 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 -0x1.0000000000001fffffffffffp+600 -0x1.0000000000001fffffffffffp+600)))`);
+
+// ./test/core/simd/simd_const.wast:722
+assert_return(
+ () => invoke($222, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", -4149515568880995000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -4149515568880995000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:723
+let $223 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 +0x1.000000000000200000000000p+600 +0x1.000000000000200000000000p+600)))`);
+
+// ./test/core/simd/simd_const.wast:724
+assert_return(
+ () => invoke($223, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", 4149515568880995000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 4149515568880995000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:725
+let $224 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 -0x1.000000000000200000000000p+600 -0x1.000000000000200000000000p+600)))`);
+
+// ./test/core/simd/simd_const.wast:726
+assert_return(
+ () => invoke($224, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", -4149515568880995000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -4149515568880995000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:727
+let $225 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 +0x1.000000000000200000000001p+600 +0x1.000000000000200000000001p+600)))`);
+
+// ./test/core/simd/simd_const.wast:728
+assert_return(
+ () => invoke($225, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", 4149515568880995000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 4149515568880995000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:729
+let $226 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 -0x1.000000000000200000000001p+600 -0x1.000000000000200000000001p+600)))`);
+
+// ./test/core/simd/simd_const.wast:730
+assert_return(
+ () => invoke($226, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", -4149515568880995000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -4149515568880995000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:731
+let $227 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 +0x1.00000000000027ffffffffffp+600 +0x1.00000000000027ffffffffffp+600)))`);
+
+// ./test/core/simd/simd_const.wast:732
+assert_return(
+ () => invoke($227, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", 4149515568880995000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 4149515568880995000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:733
+let $228 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 -0x1.00000000000027ffffffffffp+600 -0x1.00000000000027ffffffffffp+600)))`);
+
+// ./test/core/simd/simd_const.wast:734
+assert_return(
+ () => invoke($228, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", -4149515568880995000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -4149515568880995000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:735
+let $229 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 +0x1.000000000000280000000000p+600 +0x1.000000000000280000000000p+600)))`);
+
+// ./test/core/simd/simd_const.wast:736
+assert_return(
+ () => invoke($229, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", 4149515568880995000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 4149515568880995000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:737
+let $230 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 -0x1.000000000000280000000000p+600 -0x1.000000000000280000000000p+600)))`);
+
+// ./test/core/simd/simd_const.wast:738
+assert_return(
+ () => invoke($230, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", -4149515568880995000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -4149515568880995000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:739
+let $231 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 +0x1.000000000000280000000001p+600 +0x1.000000000000280000000001p+600)))`);
+
+// ./test/core/simd/simd_const.wast:740
+assert_return(
+ () => invoke($231, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", 4149515568880996000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 4149515568880996000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:741
+let $232 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 -0x1.000000000000280000000001p+600 -0x1.000000000000280000000001p+600)))`);
+
+// ./test/core/simd/simd_const.wast:742
+assert_return(
+ () => invoke($232, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", -4149515568880996000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -4149515568880996000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:743
+let $233 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 +0x2000000000000100000000000 +0x2000000000000100000000000)))`);
+
+// ./test/core/simd/simd_const.wast:744
+assert_return(
+ () => invoke($233, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", 158456325028528680000000000000),
+ value("f64", 158456325028528680000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:745
+let $234 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 -0x2000000000000100000000000 -0x2000000000000100000000000)))`);
+
+// ./test/core/simd/simd_const.wast:746
+assert_return(
+ () => invoke($234, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", -158456325028528680000000000000),
+ value("f64", -158456325028528680000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:747
+let $235 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 +0x2000000000000100000000001 +0x2000000000000100000000001)))`);
+
+// ./test/core/simd/simd_const.wast:748
+assert_return(
+ () => invoke($235, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", 158456325028528700000000000000),
+ value("f64", 158456325028528700000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:749
+let $236 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 -0x2000000000000100000000001 -0x2000000000000100000000001)))`);
+
+// ./test/core/simd/simd_const.wast:750
+assert_return(
+ () => invoke($236, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", -158456325028528700000000000000),
+ value("f64", -158456325028528700000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:751
+let $237 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 +0x20000000000001fffffffffff +0x20000000000001fffffffffff)))`);
+
+// ./test/core/simd/simd_const.wast:752
+assert_return(
+ () => invoke($237, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", 158456325028528700000000000000),
+ value("f64", 158456325028528700000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:753
+let $238 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 -0x20000000000001fffffffffff -0x20000000000001fffffffffff)))`);
+
+// ./test/core/simd/simd_const.wast:754
+assert_return(
+ () => invoke($238, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", -158456325028528700000000000000),
+ value("f64", -158456325028528700000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:755
+let $239 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 +0x2000000000000200000000000 +0x2000000000000200000000000)))`);
+
+// ./test/core/simd/simd_const.wast:756
+assert_return(
+ () => invoke($239, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", 158456325028528700000000000000),
+ value("f64", 158456325028528700000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:757
+let $240 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 -0x2000000000000200000000000 -0x2000000000000200000000000)))`);
+
+// ./test/core/simd/simd_const.wast:758
+assert_return(
+ () => invoke($240, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", -158456325028528700000000000000),
+ value("f64", -158456325028528700000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:759
+let $241 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 +0x2000000000000200000000001 +0x2000000000000200000000001)))`);
+
+// ./test/core/simd/simd_const.wast:760
+assert_return(
+ () => invoke($241, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", 158456325028528700000000000000),
+ value("f64", 158456325028528700000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:761
+let $242 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 -0x2000000000000200000000001 -0x2000000000000200000000001)))`);
+
+// ./test/core/simd/simd_const.wast:762
+assert_return(
+ () => invoke($242, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", -158456325028528700000000000000),
+ value("f64", -158456325028528700000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:763
+let $243 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 +0x20000000000002fffffffffff +0x20000000000002fffffffffff)))`);
+
+// ./test/core/simd/simd_const.wast:764
+assert_return(
+ () => invoke($243, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", 158456325028528700000000000000),
+ value("f64", 158456325028528700000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:765
+let $244 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 -0x20000000000002fffffffffff -0x20000000000002fffffffffff)))`);
+
+// ./test/core/simd/simd_const.wast:766
+assert_return(
+ () => invoke($244, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", -158456325028528700000000000000),
+ value("f64", -158456325028528700000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:767
+let $245 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 +0x2000000000000300000000000 +0x2000000000000300000000000)))`);
+
+// ./test/core/simd/simd_const.wast:768
+assert_return(
+ () => invoke($245, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", 158456325028528750000000000000),
+ value("f64", 158456325028528750000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:769
+let $246 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 -0x2000000000000300000000000 -0x2000000000000300000000000)))`);
+
+// ./test/core/simd/simd_const.wast:770
+assert_return(
+ () => invoke($246, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", -158456325028528750000000000000),
+ value("f64", -158456325028528750000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:771
+let $247 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 +0x2000000000000300000000001 +0x2000000000000300000000001)))`);
+
+// ./test/core/simd/simd_const.wast:772
+assert_return(
+ () => invoke($247, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", 158456325028528750000000000000),
+ value("f64", 158456325028528750000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:773
+let $248 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 -0x2000000000000300000000001 -0x2000000000000300000000001)))`);
+
+// ./test/core/simd/simd_const.wast:774
+assert_return(
+ () => invoke($248, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", -158456325028528750000000000000),
+ value("f64", -158456325028528750000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:775
+let $249 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 +0x20000000000003fffffffffff +0x20000000000003fffffffffff)))`);
+
+// ./test/core/simd/simd_const.wast:776
+assert_return(
+ () => invoke($249, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", 158456325028528750000000000000),
+ value("f64", 158456325028528750000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:777
+let $250 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 -0x20000000000003fffffffffff -0x20000000000003fffffffffff)))`);
+
+// ./test/core/simd/simd_const.wast:778
+assert_return(
+ () => invoke($250, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", -158456325028528750000000000000),
+ value("f64", -158456325028528750000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:779
+let $251 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 +0x2000000000000400000000000 +0x2000000000000400000000000)))`);
+
+// ./test/core/simd/simd_const.wast:780
+assert_return(
+ () => invoke($251, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", 158456325028528750000000000000),
+ value("f64", 158456325028528750000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:781
+let $252 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 -0x2000000000000400000000000 -0x2000000000000400000000000)))`);
+
+// ./test/core/simd/simd_const.wast:782
+assert_return(
+ () => invoke($252, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", -158456325028528750000000000000),
+ value("f64", -158456325028528750000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:783
+let $253 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 +0x2000000000000400000000001 +0x2000000000000400000000001)))`);
+
+// ./test/core/simd/simd_const.wast:784
+assert_return(
+ () => invoke($253, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", 158456325028528750000000000000),
+ value("f64", 158456325028528750000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:785
+let $254 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 -0x2000000000000400000000001 -0x2000000000000400000000001)))`);
+
+// ./test/core/simd/simd_const.wast:786
+assert_return(
+ () => invoke($254, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", -158456325028528750000000000000),
+ value("f64", -158456325028528750000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:787
+let $255 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 +0x20000000000004fffffffffff +0x20000000000004fffffffffff)))`);
+
+// ./test/core/simd/simd_const.wast:788
+assert_return(
+ () => invoke($255, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", 158456325028528750000000000000),
+ value("f64", 158456325028528750000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:789
+let $256 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 -0x20000000000004fffffffffff -0x20000000000004fffffffffff)))`);
+
+// ./test/core/simd/simd_const.wast:790
+assert_return(
+ () => invoke($256, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", -158456325028528750000000000000),
+ value("f64", -158456325028528750000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:791
+let $257 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 +0x2000000000000500000000000 +0x2000000000000500000000000)))`);
+
+// ./test/core/simd/simd_const.wast:792
+assert_return(
+ () => invoke($257, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", 158456325028528750000000000000),
+ value("f64", 158456325028528750000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:793
+let $258 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 -0x2000000000000500000000000 -0x2000000000000500000000000)))`);
+
+// ./test/core/simd/simd_const.wast:794
+assert_return(
+ () => invoke($258, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", -158456325028528750000000000000),
+ value("f64", -158456325028528750000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:795
+let $259 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 +0x2000000000000500000000001 +0x2000000000000500000000001)))`);
+
+// ./test/core/simd/simd_const.wast:796
+assert_return(
+ () => invoke($259, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", 158456325028528780000000000000),
+ value("f64", 158456325028528780000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:797
+let $260 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 -0x2000000000000500000000001 -0x2000000000000500000000001)))`);
+
+// ./test/core/simd/simd_const.wast:798
+assert_return(
+ () => invoke($260, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", -158456325028528780000000000000),
+ value("f64", -158456325028528780000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:799
+let $261 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 +1152921504606847104 +1152921504606847104)))`);
+
+// ./test/core/simd/simd_const.wast:800
+assert_return(
+ () => invoke($261, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", 1152921504606847000),
+ value("f64", 1152921504606847000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:801
+let $262 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 -1152921504606847104 -1152921504606847104)))`);
+
+// ./test/core/simd/simd_const.wast:802
+assert_return(
+ () => invoke($262, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", -1152921504606847000),
+ value("f64", -1152921504606847000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:803
+let $263 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 +1152921504606847105 +1152921504606847105)))`);
+
+// ./test/core/simd/simd_const.wast:804
+assert_return(
+ () => invoke($263, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", 1152921504606847200),
+ value("f64", 1152921504606847200),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:805
+let $264 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 -1152921504606847105 -1152921504606847105)))`);
+
+// ./test/core/simd/simd_const.wast:806
+assert_return(
+ () => invoke($264, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", -1152921504606847200),
+ value("f64", -1152921504606847200),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:807
+let $265 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 +1152921504606847359 +1152921504606847359)))`);
+
+// ./test/core/simd/simd_const.wast:808
+assert_return(
+ () => invoke($265, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", 1152921504606847200),
+ value("f64", 1152921504606847200),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:809
+let $266 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 -1152921504606847359 -1152921504606847359)))`);
+
+// ./test/core/simd/simd_const.wast:810
+assert_return(
+ () => invoke($266, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", -1152921504606847200),
+ value("f64", -1152921504606847200),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:811
+let $267 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 +1152921504606847360 +1152921504606847360)))`);
+
+// ./test/core/simd/simd_const.wast:812
+assert_return(
+ () => invoke($267, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", 1152921504606847500),
+ value("f64", 1152921504606847500),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:813
+let $268 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 -1152921504606847360 -1152921504606847360)))`);
+
+// ./test/core/simd/simd_const.wast:814
+assert_return(
+ () => invoke($268, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", -1152921504606847500),
+ value("f64", -1152921504606847500),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:817
+let $269 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 +0x0.000000000000080000000000p-1022 +0x0.000000000000080000000000p-1022)))`);
+
+// ./test/core/simd/simd_const.wast:818
+assert_return(() => invoke($269, `f`, []), [new F64x2Pattern(value("f64", 0), value("f64", 0))]);
+
+// ./test/core/simd/simd_const.wast:819
+let $270 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 -0x0.000000000000080000000000p-1022 -0x0.000000000000080000000000p-1022)))`);
+
+// ./test/core/simd/simd_const.wast:820
+assert_return(() => invoke($270, `f`, []), [new F64x2Pattern(value("f64", -0), value("f64", -0))]);
+
+// ./test/core/simd/simd_const.wast:821
+let $271 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 +0x0.000000000000080000000001p-1022 +0x0.000000000000080000000001p-1022)))`);
+
+// ./test/core/simd/simd_const.wast:822
+assert_return(
+ () => invoke($271, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:823
+let $272 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 -0x0.000000000000080000000001p-1022 -0x0.000000000000080000000001p-1022)))`);
+
+// ./test/core/simd/simd_const.wast:824
+assert_return(
+ () => invoke($272, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:825
+let $273 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 +0x0.0000000000000fffffffffffp-1022 +0x0.0000000000000fffffffffffp-1022)))`);
+
+// ./test/core/simd/simd_const.wast:826
+assert_return(
+ () => invoke($273, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:827
+let $274 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 -0x0.0000000000000fffffffffffp-1022 -0x0.0000000000000fffffffffffp-1022)))`);
+
+// ./test/core/simd/simd_const.wast:828
+assert_return(
+ () => invoke($274, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:829
+let $275 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 +0x0.000000000000100000000000p-1022 +0x0.000000000000100000000000p-1022)))`);
+
+// ./test/core/simd/simd_const.wast:830
+assert_return(
+ () => invoke($275, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:831
+let $276 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 -0x0.000000000000100000000000p-1022 -0x0.000000000000100000000000p-1022)))`);
+
+// ./test/core/simd/simd_const.wast:832
+assert_return(
+ () => invoke($276, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:833
+let $277 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 +0x0.000000000000100000000001p-1022 +0x0.000000000000100000000001p-1022)))`);
+
+// ./test/core/simd/simd_const.wast:834
+assert_return(
+ () => invoke($277, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:835
+let $278 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 -0x0.000000000000100000000001p-1022 -0x0.000000000000100000000001p-1022)))`);
+
+// ./test/core/simd/simd_const.wast:836
+assert_return(
+ () => invoke($278, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:837
+let $279 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 +0x0.00000000000017ffffffffffp-1022 +0x0.00000000000017ffffffffffp-1022)))`);
+
+// ./test/core/simd/simd_const.wast:838
+assert_return(
+ () => invoke($279, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:839
+let $280 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 -0x0.00000000000017ffffffffffp-1022 -0x0.00000000000017ffffffffffp-1022)))`);
+
+// ./test/core/simd/simd_const.wast:840
+assert_return(
+ () => invoke($280, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:841
+let $281 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 +0x0.000000000000180000000000p-1022 +0x0.000000000000180000000000p-1022)))`);
+
+// ./test/core/simd/simd_const.wast:842
+assert_return(
+ () => invoke($281, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:843
+let $282 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 -0x0.000000000000180000000000p-1022 -0x0.000000000000180000000000p-1022)))`);
+
+// ./test/core/simd/simd_const.wast:844
+assert_return(
+ () => invoke($282, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:845
+let $283 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 +0x0.000000000000180000000001p-1022 +0x0.000000000000180000000001p-1022)))`);
+
+// ./test/core/simd/simd_const.wast:846
+assert_return(
+ () => invoke($283, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:847
+let $284 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 -0x0.000000000000180000000001p-1022 -0x0.000000000000180000000001p-1022)))`);
+
+// ./test/core/simd/simd_const.wast:848
+assert_return(
+ () => invoke($284, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:849
+let $285 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 +0x0.0000000000001fffffffffffp-1022 +0x0.0000000000001fffffffffffp-1022)))`);
+
+// ./test/core/simd/simd_const.wast:850
+assert_return(
+ () => invoke($285, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:851
+let $286 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 -0x0.0000000000001fffffffffffp-1022 -0x0.0000000000001fffffffffffp-1022)))`);
+
+// ./test/core/simd/simd_const.wast:852
+assert_return(
+ () => invoke($286, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:853
+let $287 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 +0x0.000000000000200000000000p-1022 +0x0.000000000000200000000000p-1022)))`);
+
+// ./test/core/simd/simd_const.wast:854
+assert_return(
+ () => invoke($287, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:855
+let $288 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 -0x0.000000000000200000000000p-1022 -0x0.000000000000200000000000p-1022)))`);
+
+// ./test/core/simd/simd_const.wast:856
+assert_return(
+ () => invoke($288, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:857
+let $289 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 +0x0.000000000000200000000001p-1022 +0x0.000000000000200000000001p-1022)))`);
+
+// ./test/core/simd/simd_const.wast:858
+assert_return(
+ () => invoke($289, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:859
+let $290 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 -0x0.000000000000200000000001p-1022 -0x0.000000000000200000000001p-1022)))`);
+
+// ./test/core/simd/simd_const.wast:860
+assert_return(
+ () => invoke($290, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:861
+let $291 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 +0x0.00000000000027ffffffffffp-1022 +0x0.00000000000027ffffffffffp-1022)))`);
+
+// ./test/core/simd/simd_const.wast:862
+assert_return(
+ () => invoke($291, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:863
+let $292 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 -0x0.00000000000027ffffffffffp-1022 -0x0.00000000000027ffffffffffp-1022)))`);
+
+// ./test/core/simd/simd_const.wast:864
+assert_return(
+ () => invoke($292, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:865
+let $293 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 +0x0.000000000000280000000000p-1022 +0x0.000000000000280000000000p-1022)))`);
+
+// ./test/core/simd/simd_const.wast:866
+assert_return(
+ () => invoke($293, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:867
+let $294 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 -0x0.000000000000280000000000p-1022 -0x0.000000000000280000000000p-1022)))`);
+
+// ./test/core/simd/simd_const.wast:868
+assert_return(
+ () => invoke($294, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:869
+let $295 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 +0x1.000000000000280000000001p-1022 +0x1.000000000000280000000001p-1022)))`);
+
+// ./test/core/simd/simd_const.wast:870
+assert_return(
+ () => invoke($295, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507203),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507203),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:871
+let $296 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 -0x1.000000000000280000000001p-1022 -0x1.000000000000280000000001p-1022)))`);
+
+// ./test/core/simd/simd_const.wast:872
+assert_return(
+ () => invoke($296, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507203),
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507203),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:875
+let $297 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 +0x1.fffffffffffff4p1023 +0x1.fffffffffffff4p1023)))`);
+
+// ./test/core/simd/simd_const.wast:876
+assert_return(
+ () => invoke($297, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:877
+let $298 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 -0x1.fffffffffffff4p1023 -0x1.fffffffffffff4p1023)))`);
+
+// ./test/core/simd/simd_const.wast:878
+assert_return(
+ () => invoke($298, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:879
+let $299 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 +0x1.fffffffffffff7ffffffp1023 +0x1.fffffffffffff7ffffffp1023)))`);
+
+// ./test/core/simd/simd_const.wast:880
+assert_return(
+ () => invoke($299, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:881
+let $300 = instantiate(`(module (func (export "f") (result v128) (v128.const f64x2 -0x1.fffffffffffff7ffffffp1023 -0x1.fffffffffffff7ffffffp1023)))`);
+
+// ./test/core/simd/simd_const.wast:882
+assert_return(
+ () => invoke($300, `f`, []),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:886
+let $301 = instantiate(`(module (memory 1)
+ (func (export "as-br-retval") (result v128)
+ (block (result v128) (br 0 (v128.const i32x4 0x03020100 0x07060504 0x0b0a0908 0x0f0e0d0c)))
+ )
+ (func (export "as-br_if-retval") (result v128)
+ (block (result v128)
+ (br_if 0 (v128.const i32x4 0 1 2 3) (i32.const 1))
+ )
+ )
+ (func (export "as-return-retval") (result v128)
+ (return (v128.const i32x4 0 1 2 3))
+ )
+ (func (export "as-if-then-retval") (result v128)
+ (if (result v128) (i32.const 1)
+ (then (v128.const i32x4 0 1 2 3)) (else (v128.const i32x4 3 2 1 0))
+ )
+ )
+ (func (export "as-if-else-retval") (result v128)
+ (if (result v128) (i32.const 0)
+ (then (v128.const i32x4 0 1 2 3)) (else (v128.const i32x4 3 2 1 0))
+ )
+ )
+ (func $$f (param v128 v128 v128) (result v128) (v128.const i32x4 0 1 2 3))
+ (func (export "as-call-param") (result v128)
+ (call $$f (v128.const i32x4 0 1 2 3) (v128.const i32x4 0 1 2 3) (v128.const i32x4 0 1 2 3))
+ )
+ (func (export "as-block-retval") (result v128)
+ (block (result v128) (v128.const i32x4 0 1 2 3))
+ )
+ (func (export "as-loop-retval") (result v128)
+ (loop (result v128) (v128.const i32x4 0 1 2 3))
+ )
+ (func (export "as-drop-operand")
+ (drop (v128.const i32x4 0 1 2 3))
+ )
+
+ (func (export "as-br-retval2") (result v128)
+ (block (result v128) (br 0 (v128.const i64x2 0x0302010007060504 0x0b0a09080f0e0d0c)))
+ )
+ (func (export "as-br_if-retval2") (result v128)
+ (block (result v128)
+ (br_if 0 (v128.const i64x2 0 1) (i32.const 1))
+ )
+ )
+ (func (export "as-return-retval2") (result v128)
+ (return (v128.const i64x2 0 1))
+ )
+ (func (export "as-if-then-retval2") (result v128)
+ (if (result v128) (i32.const 1)
+ (then (v128.const i64x2 0 1)) (else (v128.const i64x2 1 0))
+ )
+ )
+ (func (export "as-if-else-retval2") (result v128)
+ (if (result v128) (i32.const 0)
+ (then (v128.const i64x2 0 1)) (else (v128.const i64x2 1 0))
+ )
+ )
+ (func $$f2 (param v128 v128 v128) (result v128) (v128.const i64x2 0 1))
+ (func (export "as-call-param2") (result v128)
+ (call $$f2 (v128.const i64x2 0 1) (v128.const i64x2 0 1) (v128.const i64x2 0 1))
+ )
+
+ (type $$sig (func (param v128 v128 v128) (result v128)))
+ (table funcref (elem $$f $$f2))
+ (func (export "as-call_indirect-param") (result v128)
+ (call_indirect (type $$sig)
+ (v128.const i32x4 0 1 2 3) (v128.const i32x4 0 1 2 3) (v128.const i32x4 0 1 2 3) (i32.const 0)
+ )
+ )
+ (func (export "as-call_indirect-param2") (result v128)
+ (call_indirect (type $$sig)
+ (v128.const i64x2 0 1) (v128.const i64x2 0 1) (v128.const i64x2 0 1) (i32.const 1)
+ )
+ )
+ (func (export "as-block-retval2") (result v128)
+ (block (result v128) (v128.const i64x2 0 1))
+ )
+ (func (export "as-loop-retval2") (result v128)
+ (loop (result v128) (v128.const i64x2 0 1))
+ )
+ (func (export "as-drop-operand2")
+ (drop (v128.const i64x2 0 1))
+ )
+)`);
+
+// ./test/core/simd/simd_const.wast:971
+assert_return(
+ () => invoke($301, `as-br-retval`, []),
+ [i32x4([0x3020100, 0x7060504, 0xb0a0908, 0xf0e0d0c])],
+);
+
+// ./test/core/simd/simd_const.wast:972
+assert_return(() => invoke($301, `as-br_if-retval`, []), [i32x4([0x0, 0x1, 0x2, 0x3])]);
+
+// ./test/core/simd/simd_const.wast:973
+assert_return(() => invoke($301, `as-return-retval`, []), [i32x4([0x0, 0x1, 0x2, 0x3])]);
+
+// ./test/core/simd/simd_const.wast:974
+assert_return(() => invoke($301, `as-if-then-retval`, []), [i32x4([0x0, 0x1, 0x2, 0x3])]);
+
+// ./test/core/simd/simd_const.wast:975
+assert_return(() => invoke($301, `as-if-else-retval`, []), [i32x4([0x3, 0x2, 0x1, 0x0])]);
+
+// ./test/core/simd/simd_const.wast:976
+assert_return(() => invoke($301, `as-call-param`, []), [i32x4([0x0, 0x1, 0x2, 0x3])]);
+
+// ./test/core/simd/simd_const.wast:977
+assert_return(() => invoke($301, `as-call_indirect-param`, []), [i32x4([0x0, 0x1, 0x2, 0x3])]);
+
+// ./test/core/simd/simd_const.wast:978
+assert_return(() => invoke($301, `as-block-retval`, []), [i32x4([0x0, 0x1, 0x2, 0x3])]);
+
+// ./test/core/simd/simd_const.wast:979
+assert_return(() => invoke($301, `as-loop-retval`, []), [i32x4([0x0, 0x1, 0x2, 0x3])]);
+
+// ./test/core/simd/simd_const.wast:980
+assert_return(() => invoke($301, `as-drop-operand`, []), []);
+
+// ./test/core/simd/simd_const.wast:982
+assert_return(() => invoke($301, `as-br-retval2`, []), [i64x2([0x302010007060504n, 0xb0a09080f0e0d0cn])]);
+
+// ./test/core/simd/simd_const.wast:983
+assert_return(() => invoke($301, `as-br_if-retval2`, []), [i64x2([0x0n, 0x1n])]);
+
+// ./test/core/simd/simd_const.wast:984
+assert_return(() => invoke($301, `as-return-retval2`, []), [i64x2([0x0n, 0x1n])]);
+
+// ./test/core/simd/simd_const.wast:985
+assert_return(() => invoke($301, `as-if-then-retval2`, []), [i64x2([0x0n, 0x1n])]);
+
+// ./test/core/simd/simd_const.wast:986
+assert_return(() => invoke($301, `as-if-else-retval2`, []), [i64x2([0x1n, 0x0n])]);
+
+// ./test/core/simd/simd_const.wast:987
+assert_return(() => invoke($301, `as-call-param2`, []), [i64x2([0x0n, 0x1n])]);
+
+// ./test/core/simd/simd_const.wast:988
+assert_return(() => invoke($301, `as-call_indirect-param2`, []), [i64x2([0x0n, 0x1n])]);
+
+// ./test/core/simd/simd_const.wast:989
+assert_return(() => invoke($301, `as-block-retval2`, []), [i64x2([0x0n, 0x1n])]);
+
+// ./test/core/simd/simd_const.wast:990
+assert_return(() => invoke($301, `as-loop-retval2`, []), [i64x2([0x0n, 0x1n])]);
+
+// ./test/core/simd/simd_const.wast:991
+assert_return(() => invoke($301, `as-drop-operand2`, []), []);
+
+// ./test/core/simd/simd_const.wast:995
+let $302 = instantiate(`(module (memory 1)
+ (func (export "as-local.set/get-value_0_0") (param $$0 v128) (result v128)
+ (local v128 v128 v128 v128)
+ (local.set 0 (local.get $$0))
+ (local.get 0)
+ )
+ (func (export "as-local.set/get-value_0_1") (param $$0 v128) (result v128)
+ (local v128 v128 v128 v128)
+ (local.set 0 (local.get $$0))
+ (local.set 1 (local.get 0))
+ (local.set 2 (local.get 1))
+ (local.set 3 (local.get 2))
+ (local.get 0)
+ )
+ (func (export "as-local.set/get-value_3_0") (param $$0 v128) (result v128)
+ (local v128 v128 v128 v128)
+ (local.set 0 (local.get $$0))
+ (local.set 1 (local.get 0))
+ (local.set 2 (local.get 1))
+ (local.set 3 (local.get 2))
+ (local.get 3)
+ )
+ (func (export "as-local.tee-value") (result v128)
+ (local v128)
+ (local.tee 0 (v128.const i32x4 0 1 2 3))
+ )
+)`);
+
+// ./test/core/simd/simd_const.wast:1023
+assert_return(
+ () => invoke($302, `as-local.set/get-value_0_0`, [i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_const.wast:1024
+assert_return(
+ () => invoke($302, `as-local.set/get-value_0_1`, [i32x4([0x1, 0x1, 0x1, 0x1])]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_const.wast:1025
+assert_return(
+ () => invoke($302, `as-local.set/get-value_3_0`, [i32x4([0x2, 0x2, 0x2, 0x2])]),
+ [i32x4([0x2, 0x2, 0x2, 0x2])],
+);
+
+// ./test/core/simd/simd_const.wast:1026
+assert_return(() => invoke($302, `as-local.tee-value`, []), [i32x4([0x0, 0x1, 0x2, 0x3])]);
+
+// ./test/core/simd/simd_const.wast:1031
+let $303 = instantiate(`(module (memory 1)
+ (global $$g0 (mut v128) (v128.const i32x4 0 1 2 3))
+ (global $$g1 (mut v128) (v128.const i32x4 4 5 6 7))
+ (global $$g2 (mut v128) (v128.const i32x4 8 9 10 11))
+ (global $$g3 (mut v128) (v128.const i32x4 12 13 14 15))
+ (global $$g4 (mut v128) (v128.const i32x4 16 17 18 19))
+
+ (func $$set_g0 (export "as-global.set_value_$$g0") (param $$0 v128)
+ (global.set $$g0 (local.get $$0))
+ )
+ (func $$set_g1_g2 (export "as-global.set_value_$$g1_$$g2") (param $$0 v128) (param $$1 v128)
+ (global.set $$g1 (local.get $$0))
+ (global.set $$g2 (local.get $$1))
+ )
+ (func $$set_g0_g1_g2_g3 (export "as-global.set_value_$$g0_$$g1_$$g2_$$g3") (param $$0 v128) (param $$1 v128) (param $$2 v128) (param $$3 v128)
+ (call $$set_g0 (local.get $$0))
+ (call $$set_g1_g2 (local.get $$1) (local.get $$2))
+ (global.set $$g3 (local.get $$3))
+ )
+ (func (export "global.get_g0") (result v128)
+ (global.get $$g0)
+ )
+ (func (export "global.get_g1") (result v128)
+ (global.get $$g1)
+ )
+ (func (export "global.get_g2") (result v128)
+ (global.get $$g2)
+ )
+ (func (export "global.get_g3") (result v128)
+ (global.get $$g3)
+ )
+)`);
+
+// ./test/core/simd/simd_const.wast:1064
+assert_return(
+ () => invoke($303, `as-global.set_value_$$g0_$$g1_$$g2_$$g3`, [
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ i32x4([0x2, 0x2, 0x2, 0x2]),
+ i32x4([0x3, 0x3, 0x3, 0x3]),
+ i32x4([0x4, 0x4, 0x4, 0x4]),
+ ]),
+ [],
+);
+
+// ./test/core/simd/simd_const.wast:1068
+assert_return(() => invoke($303, `global.get_g0`, []), [i32x4([0x1, 0x1, 0x1, 0x1])]);
+
+// ./test/core/simd/simd_const.wast:1069
+assert_return(() => invoke($303, `global.get_g1`, []), [i32x4([0x2, 0x2, 0x2, 0x2])]);
+
+// ./test/core/simd/simd_const.wast:1070
+assert_return(() => invoke($303, `global.get_g2`, []), [i32x4([0x3, 0x3, 0x3, 0x3])]);
+
+// ./test/core/simd/simd_const.wast:1071
+assert_return(() => invoke($303, `global.get_g3`, []), [i32x4([0x4, 0x4, 0x4, 0x4])]);
+
+// ./test/core/simd/simd_const.wast:1076
+let $304 = instantiate(`(module
+ (func (export "i32x4.test") (result v128) (return (v128.const i32x4 0x0bAdD00D 0x0bAdD00D 0x0bAdD00D 0x0bAdD00D)))
+ (func (export "i32x4.smax") (result v128) (return (v128.const i32x4 0x7fffffff 0x7fffffff 0x7fffffff 0x7fffffff)))
+ (func (export "i32x4.neg_smax") (result v128) (return (v128.const i32x4 -0x7fffffff -0x7fffffff -0x7fffffff -0x7fffffff)))
+ (func (export "i32x4.inc_smin") (result v128) (return (i32x4.add (v128.const i32x4 -0x80000000 -0x80000000 -0x80000000 -0x80000000) (v128.const i32x4 1 1 1 1))))
+ (func (export "i32x4.neg_zero") (result v128) (return (v128.const i32x4 -0x0 -0x0 -0x0 -0x0)))
+ (func (export "i32x4.not_octal") (result v128) (return (v128.const i32x4 010 010 010 010)))
+ (func (export "i32x4.plus_sign") (result v128) (return (v128.const i32x4 +42 +42 +42 +42)))
+
+ (func (export "i32x4-dec-sep1") (result v128) (v128.const i32x4 1_000_000 1_000_000 1_000_000 1_000_000))
+ (func (export "i32x4-dec-sep2") (result v128) (v128.const i32x4 1_0_0_0 1_0_0_0 1_0_0_0 1_0_0_0))
+ (func (export "i32x4-hex-sep1") (result v128) (v128.const i32x4 0xa_0f_00_99 0xa_0f_00_99 0xa_0f_00_99 0xa_0f_00_99))
+ (func (export "i32x4-hex-sep2") (result v128) (v128.const i32x4 0x1_a_A_0_f 0x1_a_A_0_f 0x1_a_A_0_f 0x1_a_A_0_f))
+
+ (func (export "i64x2.test") (result v128) (return (v128.const i64x2 0x0bAdD00D0bAdD00D 0x0bAdD00D0bAdD00D)))
+ (func (export "i64x2.smax") (result v128) (return (v128.const i64x2 0x7fffffffffffffff 0x7fffffffffffffff)))
+ (func (export "i64x2.neg_smax") (result v128) (return (v128.const i64x2 -0x7fffffffffffffff -0x7fffffffffffffff)))
+ (func (export "i64x2.inc_smin") (result v128) (return (i64x2.add (v128.const i64x2 -0x8000000000000000 -0x8000000000000000) (v128.const i64x2 1 1))))
+ (func (export "i64x2.neg_zero") (result v128) (return (v128.const i64x2 -0x0 -0x0)))
+ (func (export "i64x2.not_octal") (result v128) (return (v128.const i64x2 010010 010010)))
+ (func (export "i64x2.plus_sign") (result v128) (return (v128.const i64x2 +42 +42)))
+
+ (func (export "i64x2-dec-sep1") (result v128) (v128.const i64x2 10_000_000_000_000 10_000_000_000_000))
+ (func (export "i64x2-dec-sep2") (result v128) (v128.const i64x2 1_0_0_0_0_0_0_0 1_0_0_0_0_0_0_0))
+ (func (export "i64x2-hex-sep1") (result v128) (v128.const i64x2 0xa_0f_00_99_0a_0f_00_99 0xa_0f_00_99_0a_0f_00_99))
+ (func (export "i64x2-hex-sep2") (result v128) (v128.const i64x2 0x1_a_A_0_f_1_a_A_0_f 0x1_a_A_0_f_1_a_A_0_f))
+)`);
+
+// ./test/core/simd/simd_const.wast:1104
+assert_return(() => invoke($304, `i32x4.test`, []), [i32x4([0xbadd00d, 0xbadd00d, 0xbadd00d, 0xbadd00d])]);
+
+// ./test/core/simd/simd_const.wast:1105
+assert_return(
+ () => invoke($304, `i32x4.smax`, []),
+ [i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff])],
+);
+
+// ./test/core/simd/simd_const.wast:1106
+assert_return(
+ () => invoke($304, `i32x4.neg_smax`, []),
+ [i32x4([0x80000001, 0x80000001, 0x80000001, 0x80000001])],
+);
+
+// ./test/core/simd/simd_const.wast:1107
+assert_return(
+ () => invoke($304, `i32x4.inc_smin`, []),
+ [i32x4([0x80000001, 0x80000001, 0x80000001, 0x80000001])],
+);
+
+// ./test/core/simd/simd_const.wast:1108
+assert_return(() => invoke($304, `i32x4.neg_zero`, []), [i32x4([0x0, 0x0, 0x0, 0x0])]);
+
+// ./test/core/simd/simd_const.wast:1109
+assert_return(() => invoke($304, `i32x4.not_octal`, []), [i32x4([0xa, 0xa, 0xa, 0xa])]);
+
+// ./test/core/simd/simd_const.wast:1110
+assert_return(() => invoke($304, `i32x4.plus_sign`, []), [i32x4([0x2a, 0x2a, 0x2a, 0x2a])]);
+
+// ./test/core/simd/simd_const.wast:1112
+assert_return(() => invoke($304, `i32x4-dec-sep1`, []), [i32x4([0xf4240, 0xf4240, 0xf4240, 0xf4240])]);
+
+// ./test/core/simd/simd_const.wast:1113
+assert_return(() => invoke($304, `i32x4-dec-sep2`, []), [i32x4([0x3e8, 0x3e8, 0x3e8, 0x3e8])]);
+
+// ./test/core/simd/simd_const.wast:1114
+assert_return(
+ () => invoke($304, `i32x4-hex-sep1`, []),
+ [i32x4([0xa0f0099, 0xa0f0099, 0xa0f0099, 0xa0f0099])],
+);
+
+// ./test/core/simd/simd_const.wast:1115
+assert_return(() => invoke($304, `i32x4-hex-sep2`, []), [i32x4([0x1aa0f, 0x1aa0f, 0x1aa0f, 0x1aa0f])]);
+
+// ./test/core/simd/simd_const.wast:1117
+assert_return(() => invoke($304, `i64x2.test`, []), [i64x2([0xbadd00d0badd00dn, 0xbadd00d0badd00dn])]);
+
+// ./test/core/simd/simd_const.wast:1118
+assert_return(() => invoke($304, `i64x2.smax`, []), [i64x2([0x7fffffffffffffffn, 0x7fffffffffffffffn])]);
+
+// ./test/core/simd/simd_const.wast:1119
+assert_return(
+ () => invoke($304, `i64x2.neg_smax`, []),
+ [i64x2([0x8000000000000001n, 0x8000000000000001n])],
+);
+
+// ./test/core/simd/simd_const.wast:1120
+assert_return(
+ () => invoke($304, `i64x2.inc_smin`, []),
+ [i64x2([0x8000000000000001n, 0x8000000000000001n])],
+);
+
+// ./test/core/simd/simd_const.wast:1121
+assert_return(() => invoke($304, `i64x2.neg_zero`, []), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_const.wast:1122
+assert_return(() => invoke($304, `i64x2.not_octal`, []), [i64x2([0x271an, 0x271an])]);
+
+// ./test/core/simd/simd_const.wast:1123
+assert_return(() => invoke($304, `i64x2.plus_sign`, []), [i64x2([0x2an, 0x2an])]);
+
+// ./test/core/simd/simd_const.wast:1125
+assert_return(() => invoke($304, `i64x2-dec-sep1`, []), [i64x2([0x9184e72a000n, 0x9184e72a000n])]);
+
+// ./test/core/simd/simd_const.wast:1126
+assert_return(() => invoke($304, `i64x2-dec-sep2`, []), [i64x2([0x989680n, 0x989680n])]);
+
+// ./test/core/simd/simd_const.wast:1127
+assert_return(() => invoke($304, `i64x2-hex-sep1`, []), [i64x2([0xa0f00990a0f0099n, 0xa0f00990a0f0099n])]);
+
+// ./test/core/simd/simd_const.wast:1128
+assert_return(() => invoke($304, `i64x2-hex-sep2`, []), [i64x2([0x1aa0f1aa0fn, 0x1aa0f1aa0fn])]);
+
+// ./test/core/simd/simd_const.wast:1130
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const i32x4 _100 _100 _100 _100)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1134
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const i32x4 +_100 +_100 +_100 +_100)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1138
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const i32x4 -_100 -_100 -_100 -_100)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1142
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const i32x4 99_ 99_ 99_ 99_)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1146
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const i32x4 1__000 1__000 1__000 1__000)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1150
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const i32x4 _0x100 _0x100 _0x100 _0x100)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1154
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const i32x4 0_x100 0_x100 0_x100 0_x100)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1158
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const i32x4 0x_100 0x_100 0x_100 0x_100)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1162
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const i32x4 0x00_ 0x00_ 0x00_ 0x00_)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1166
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const i32x4 0xff__ffff 0xff__ffff 0xff__ffff 0xff__ffff)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1171
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const i64x2 _100_100 _100_100)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1175
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const i64x2 +_100_100 +_100_100)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1179
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const i64x2 -_100_100 -_100_100)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1183
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const i64x2 99_99_ 99_99_)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1187
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const i64x2 1__000_000 1__000_000)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1191
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const i64x2 _0x100000 _0x100000)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1195
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const i64x2 0_x100000 0_x100000)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1199
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const i64x2 0x_100000 0x_100000)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1203
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const i64x2 0x00_ 0x00_)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1207
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const i64x2 0xff__ffff_ffff_ffff 0xff__ffff_ffff_ffff)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1214
+let $305 = instantiate(`(module
+ (func (export "f32-dec-sep1") (result v128) (v128.const f32x4 1_000_000 1_000_000 1_000_000 1_000_000))
+ (func (export "f32-dec-sep2") (result v128) (v128.const f32x4 1_0_0_0 1_0_0_0 1_0_0_0 1_0_0_0))
+ (func (export "f32-dec-sep3") (result v128) (v128.const f32x4 100_3.141_592 100_3.141_592 100_3.141_592 100_3.141_592))
+ (func (export "f32-dec-sep4") (result v128) (v128.const f32x4 99e+1_3 99e+1_3 99e+1_3 99e+1_3))
+ (func (export "f32-dec-sep5") (result v128) (v128.const f32x4 122_000.11_3_54E0_2_3 122_000.11_3_54E0_2_3 122_000.11_3_54E0_2_3 122_000.11_3_54E0_2_3))
+ (func (export "f32-hex-sep1") (result v128) (v128.const f32x4 0xa_0f_00_99 0xa_0f_00_99 0xa_0f_00_99 0xa_0f_00_99))
+ (func (export "f32-hex-sep2") (result v128) (v128.const f32x4 0x1_a_A_0_f 0x1_a_A_0_f 0x1_a_A_0_f 0x1_a_A_0_f))
+ (func (export "f32-hex-sep3") (result v128) (v128.const f32x4 0xa0_ff.f141_a59a 0xa0_ff.f141_a59a 0xa0_ff.f141_a59a 0xa0_ff.f141_a59a))
+ (func (export "f32-hex-sep4") (result v128) (v128.const f32x4 0xf0P+1_3 0xf0P+1_3 0xf0P+1_3 0xf0P+1_3))
+ (func (export "f32-hex-sep5") (result v128) (v128.const f32x4 0x2a_f00a.1f_3_eep2_3 0x2a_f00a.1f_3_eep2_3 0x2a_f00a.1f_3_eep2_3 0x2a_f00a.1f_3_eep2_3))
+ (func (export "f64-dec-sep1") (result v128) (v128.const f64x2 1_000_000 1_000_000))
+ (func (export "f64-dec-sep2") (result v128) (v128.const f64x2 1_0_0_0 1_0_0_0))
+ (func (export "f64-dec-sep3") (result v128) (v128.const f64x2 100_3.141_592 100_3.141_592))
+ (func (export "f64-dec-sep4") (result v128) (v128.const f64x2 99e+1_3 99e+1_3))
+ (func (export "f64-dec-sep5") (result v128) (v128.const f64x2 122_000.11_3_54E0_2_3 122_000.11_3_54E0_2_3))
+ (func (export "f64-hex-sep1") (result v128) (v128.const f64x2 0xa_0f_00_99 0xa_0f_00_99))
+ (func (export "f64-hex-sep2") (result v128) (v128.const f64x2 0x1_a_A_0_f 0x1_a_A_0_f))
+ (func (export "f64-hex-sep3") (result v128) (v128.const f64x2 0xa0_ff.f141_a59a 0xa0_ff.f141_a59a))
+ (func (export "f64-hex-sep4") (result v128) (v128.const f64x2 0xf0P+1_3 0xf0P+1_3))
+ (func (export "f64-hex-sep5") (result v128) (v128.const f64x2 0x2a_f00a.1f_3_eep2_3 0x2a_f00a.1f_3_eep2_3))
+)`);
+
+// ./test/core/simd/simd_const.wast:1237
+assert_return(
+ () => invoke($305, `f32-dec-sep1`, []),
+ [
+ new F32x4Pattern(
+ value("f32", 1000000),
+ value("f32", 1000000),
+ value("f32", 1000000),
+ value("f32", 1000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:1238
+assert_return(
+ () => invoke($305, `f32-dec-sep2`, []),
+ [
+ new F32x4Pattern(
+ value("f32", 1000),
+ value("f32", 1000),
+ value("f32", 1000),
+ value("f32", 1000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:1239
+assert_return(
+ () => invoke($305, `f32-dec-sep3`, []),
+ [
+ new F32x4Pattern(
+ value("f32", 1003.1416),
+ value("f32", 1003.1416),
+ value("f32", 1003.1416),
+ value("f32", 1003.1416),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:1240
+assert_return(
+ () => invoke($305, `f32-dec-sep4`, []),
+ [
+ new F32x4Pattern(
+ value("f32", 990000000000000),
+ value("f32", 990000000000000),
+ value("f32", 990000000000000),
+ value("f32", 990000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:1241
+assert_return(
+ () => invoke($305, `f32-dec-sep5`, []),
+ [
+ new F32x4Pattern(
+ value("f32", 12200012000000000000000000000),
+ value("f32", 12200012000000000000000000000),
+ value("f32", 12200012000000000000000000000),
+ value("f32", 12200012000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:1242
+assert_return(
+ () => invoke($305, `f32-hex-sep1`, []),
+ [
+ new F32x4Pattern(
+ value("f32", 168755360),
+ value("f32", 168755360),
+ value("f32", 168755360),
+ value("f32", 168755360),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:1243
+assert_return(
+ () => invoke($305, `f32-hex-sep2`, []),
+ [
+ new F32x4Pattern(
+ value("f32", 109071),
+ value("f32", 109071),
+ value("f32", 109071),
+ value("f32", 109071),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:1244
+assert_return(
+ () => invoke($305, `f32-hex-sep3`, []),
+ [
+ new F32x4Pattern(
+ value("f32", 41215.94),
+ value("f32", 41215.94),
+ value("f32", 41215.94),
+ value("f32", 41215.94),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:1245
+assert_return(
+ () => invoke($305, `f32-hex-sep4`, []),
+ [
+ new F32x4Pattern(
+ value("f32", 1966080),
+ value("f32", 1966080),
+ value("f32", 1966080),
+ value("f32", 1966080),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:1246
+assert_return(
+ () => invoke($305, `f32-hex-sep5`, []),
+ [
+ new F32x4Pattern(
+ value("f32", 23605224000000),
+ value("f32", 23605224000000),
+ value("f32", 23605224000000),
+ value("f32", 23605224000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:1247
+assert_return(
+ () => invoke($305, `f64-dec-sep1`, []),
+ [new F64x2Pattern(value("f64", 1000000), value("f64", 1000000))],
+);
+
+// ./test/core/simd/simd_const.wast:1248
+assert_return(
+ () => invoke($305, `f64-dec-sep2`, []),
+ [new F64x2Pattern(value("f64", 1000), value("f64", 1000))],
+);
+
+// ./test/core/simd/simd_const.wast:1249
+assert_return(
+ () => invoke($305, `f64-dec-sep3`, []),
+ [new F64x2Pattern(value("f64", 1003.141592), value("f64", 1003.141592))],
+);
+
+// ./test/core/simd/simd_const.wast:1250
+assert_return(
+ () => invoke($305, `f64-dec-sep4`, []),
+ [
+ new F64x2Pattern(value("f64", 990000000000000), value("f64", 990000000000000)),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:1251
+assert_return(
+ () => invoke($305, `f64-dec-sep5`, []),
+ [
+ new F64x2Pattern(
+ value("f64", 12200011354000000000000000000),
+ value("f64", 12200011354000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:1252
+assert_return(
+ () => invoke($305, `f64-hex-sep1`, []),
+ [new F64x2Pattern(value("f64", 168755353), value("f64", 168755353))],
+);
+
+// ./test/core/simd/simd_const.wast:1253
+assert_return(
+ () => invoke($305, `f64-hex-sep2`, []),
+ [new F64x2Pattern(value("f64", 109071), value("f64", 109071))],
+);
+
+// ./test/core/simd/simd_const.wast:1254
+assert_return(
+ () => invoke($305, `f64-hex-sep3`, []),
+ [
+ new F64x2Pattern(
+ value("f64", 41215.94240794191),
+ value("f64", 41215.94240794191),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:1255
+assert_return(
+ () => invoke($305, `f64-hex-sep4`, []),
+ [new F64x2Pattern(value("f64", 1966080), value("f64", 1966080))],
+);
+
+// ./test/core/simd/simd_const.wast:1256
+assert_return(
+ () => invoke($305, `f64-hex-sep5`, []),
+ [new F64x2Pattern(value("f64", 23605225168752), value("f64", 23605225168752))],
+);
+
+// ./test/core/simd/simd_const.wast:1258
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f32x4 _100 _100 _100 _100)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1262
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f32x4 +_100 +_100 +_100 +_100)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1266
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f32x4 -_100 -_100 -_100 -_100)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1270
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f32x4 99_ 99_ 99_ 99_)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1274
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f32x4 1__000 1__000 1__000 1__000)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1278
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f32x4 _1.0 _1.0 _1.0 _1.0)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1282
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f32x4 1.0_ 1.0_ 1.0_ 1.0_)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1286
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f32x4 1_.0 1_.0 1_.0 1_.0)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1290
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f32x4 1._0 1._0 1._0 1._0)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1294
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f32x4 _1e1 _1e1 _1e1 _1e1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1298
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f32x4 1e1_ 1e1_ 1e1_ 1e1_)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1302
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f32x4 1_e1 1_e1 1_e1 1_e1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1306
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f32x4 1e_1 1e_1 1e_1 1e_1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1310
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f32x4 _1.0e1 _1.0e1 _1.0e1 _1.0e1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1314
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f32x4 1.0e1_ 1.0e1_ 1.0e1_ 1.0e1_)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1318
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f32x4 1.0_e1 1.0_e1 1.0_e1 1.0_e1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1322
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f32x4 1.0e_1 1.0e_1 1.0e_1 1.0e_1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1326
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f32x4 1.0e+_1 1.0e+_1 1.0e+_1 1.0e+_1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1330
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f32x4 1.0e_+1 1.0e_+1 1.0e_+1 1.0e_+1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1334
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f32x4 _0x100 _0x100 _0x100 _0x100)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1338
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f32x4 0_x100 0_x100 0_x100 0_x100)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1342
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f32x4 0x_100 0x_100 0x_100 0x_100)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1346
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f32x4 0x00_ 0x00_ 0x00_ 0x00_)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1350
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f32x4 0xff__ffff 0xff__ffff 0xff__ffff 0xff__ffff)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1354
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f32x4 0x_1.0 0x_1.0 0x_1.0 0x_1.0)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1358
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f32x4 0x1.0_ 0x1.0_ 0x1.0_ 0x1.0_)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1362
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f32x4 0x1_.0 0x1_.0 0x1_.0 0x1_.0)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1366
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f32x4 0x1._0 0x1._0 0x1._0 0x1._0)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1370
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f32x4 0x_1p1 0x_1p1 0x_1p1 0x_1p1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1374
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f32x4 0x1p1_ 0x1p1_ 0x1p1_ 0x1p1_)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1378
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f32x4 0x1_p1 0x1_p1 0x1_p1 0x1_p1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1382
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f32x4 0x1p_1 0x1p_1 0x1p_1 0x1p_1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1386
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f32x4 0x_1.0p1 0x_1.0p1 0x_1.0p1 0x_1.0p1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1390
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f32x4 0x1.0p1_ 0x1.0p1_ 0x1.0p1_ 0x1.0p1_)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1394
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f32x4 0x1.0_p1 0x1.0_p1 0x1.0_p1 0x1.0_p1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1398
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f32x4 0x1.0p_1 0x1.0p_1 0x1.0p_1 0x1.0p_1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1402
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f32x4 0x1.0p+_1 0x1.0p+_1 0x1.0p+_1 0x1.0p+_1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1406
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f32x4 0x1.0p_+1 0x1.0p_+1 0x1.0p_+1 0x1.0p_+1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1411
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f64x2 _100 _100)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1415
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f64x2 +_100 +_100)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1419
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f64x2 -_100 -_100)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1423
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f64x2 99_ 99_)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1427
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f64x2 1__000 1__000)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1431
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f64x2 _1.0 _1.0)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1435
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f64x2 1.0_ 1.0_)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1439
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f64x2 1_.0 1_.0)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1443
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f64x2 1._0 1._0)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1447
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f64x2 _1e1 _1e1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1451
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f64x2 1e1_ 1e1_)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1455
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f64x2 1_e1 1_e1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1459
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f64x2 1e_1 1e_1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1463
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f64x2 _1.0e1 _1.0e1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1467
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f64x2 1.0e1_ 1.0e1_)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1471
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f64x2 1.0_e1 1.0_e1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1475
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f64x2 1.0e_1 1.0e_1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1479
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f64x2 1.0e+_1 1.0e+_1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1483
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f64x2 1.0e_+1 1.0e_+1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1487
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f64x2 _0x100 _0x100)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1491
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f64x2 0_x100 0_x100)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1495
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f64x2 0x_100 0x_100)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1499
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f64x2 0x00_ 0x00_)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1503
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f64x2 0xff__ffff 0xff__ffff)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1507
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f64x2 0x_1.0 0x_1.0)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1511
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f64x2 0x1.0_ 0x1.0_)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1515
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f64x2 0x1_.0 0x1_.0)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1519
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f64x2 0x1._0 0x1._0)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1523
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f64x2 0x_1p1 0x_1p1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1527
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f64x2 0x1p1_ 0x1p1_)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1531
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f64x2 0x1_p1 0x1_p1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1535
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f64x2 0x1p_1 0x1p_1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1539
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f64x2 0x_1.0p1 0x_1.0p1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1543
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f64x2 0x1.0p1_ 0x1.0p1_)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1547
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f64x2 0x1.0_p1 0x1.0_p1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1551
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f64x2 0x1.0p_1 0x1.0p_1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1555
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f64x2 0x1.0p+_1 0x1.0p+_1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1559
+assert_malformed(
+ () => instantiate(`(global v128 (v128.const f64x2 0x1.0p_+1 0x1.0p_+1)) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_const.wast:1566
+let $306 = instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\01\\05\\01" ;; type section
+ "\\60\\00\\01\\7b" ;; type 0 (func)
+ "\\03\\02\\01\\00" ;; func section
+ "\\07\\0f\\01\\0b" ;; export section
+ "\\70\\61\\72\\73\\65\\5f\\69\\38\\78\\31\\36\\00\\00" ;; export name (parse_i8x16)
+ "\\0a\\16\\01" ;; code section
+ "\\14\\00\\fd\\0c" ;; func body
+ "\\00\\00\\00\\00" ;; data lane 0~3 (0, 0, 0, 0)
+ "\\80\\80\\80\\80" ;; data lane 4~7 (-128, -128, -128, -128)
+ "\\ff\\ff\\ff\\ff" ;; data lane 8~11 (0xff, 0xff, 0xff, 0xff)
+ "\\ff\\ff\\ff\\ff" ;; data lane 12~15 (255, 255, 255, 255)
+ "\\0b" ;; end
+)`);
+
+// ./test/core/simd/simd_const.wast:1581
+assert_return(
+ () => invoke($306, `parse_i8x16`, []),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x80, 0x80, 0x80, 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:1583
+let $307 = instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\01\\05\\01" ;; type section
+ "\\60\\00\\01\\7b" ;; type 0 (func)
+ "\\03\\02\\01\\00" ;; func section
+ "\\07\\0f\\01\\0b" ;; export section
+ "\\70\\61\\72\\73\\65\\5f\\69\\31\\36\\78\\38\\00\\00" ;; export name (parse_i16x8)
+ "\\0a\\16\\01" ;; code section
+ "\\14\\00\\fd\\0c" ;; func body
+ "\\00\\00\\00\\00" ;; data lane 0, 1 (0, 0)
+ "\\00\\80\\00\\80" ;; data lane 2, 3 (-32768, -32768)
+ "\\ff\\ff\\ff\\ff" ;; data lane 4, 5 (65535, 65535)
+ "\\ff\\ff\\ff\\ff" ;; data lane 6, 7 (0xffff, 0xffff)
+ "\\0b" ;; end
+)`);
+
+// ./test/core/simd/simd_const.wast:1598
+assert_return(
+ () => invoke($307, `parse_i16x8`, []),
+ [i16x8([0x0, 0x0, 0x8000, 0x8000, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_const.wast:1600
+let $308 = instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\01\\05\\01" ;; type section
+ "\\60\\00\\01\\7b" ;; type 0 (func)
+ "\\03\\02\\01\\00" ;; func section
+ "\\07\\0f\\01\\0b" ;; export section
+ "\\70\\61\\72\\73\\65\\5f\\69\\33\\32\\78\\34\\00\\00" ;; export name (parse_i32x4)
+ "\\0a\\16\\01" ;; code section
+ "\\14\\00\\fd\\0c" ;; func body
+ "\\d1\\ff\\ff\\ff" ;; data lane 0 (4294967249)
+ "\\d1\\ff\\ff\\ff" ;; data lane 1 (4294967249)
+ "\\d1\\ff\\ff\\ff" ;; data lane 2 (4294967249)
+ "\\d1\\ff\\ff\\ff" ;; data lane 3 (4294967249)
+ "\\0b" ;; end
+)`);
+
+// ./test/core/simd/simd_const.wast:1615
+assert_return(
+ () => invoke($308, `parse_i32x4`, []),
+ [i32x4([0xffffffd1, 0xffffffd1, 0xffffffd1, 0xffffffd1])],
+);
+
+// ./test/core/simd/simd_const.wast:1617
+let $309 = instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\01\\05\\01" ;; type section
+ "\\60\\00\\01\\7b" ;; type 0 (func)
+ "\\03\\02\\01\\00" ;; func section
+ "\\07\\0f\\01\\0b" ;; export section
+ "\\70\\61\\72\\73\\65\\5f\\69\\36\\34\\78\\32\\00\\00" ;; export name (parse_i64x2)
+ "\\0a\\16\\01" ;; code section
+ "\\14\\00\\fd\\0c" ;; func body
+ "\\ff\\ff\\ff\\ff\\ff\\ff\\ff\\7f" ;; data lane 0 (9223372036854775807)
+ "\\ff\\ff\\ff\\ff\\ff\\ff\\ff\\7f" ;; data lane 1 (9223372036854775807)
+ "\\0b" ;; end
+)`);
+
+// ./test/core/simd/simd_const.wast:1630
+assert_return(() => invoke($309, `parse_i64x2`, []), [i64x2([0x7fffffffffffffffn, 0x7fffffffffffffffn])]);
+
+// ./test/core/simd/simd_const.wast:1634
+let $310 = instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\01\\05\\01" ;; type section
+ "\\60\\00\\01\\7b" ;; type 0 (func)
+ "\\03\\02\\01\\00" ;; func section
+ "\\07\\0f\\01\\0b" ;; export section
+ "\\70\\61\\72\\73\\65\\5f\\66\\33\\32\\78\\34\\00\\00" ;; export name (parse_f32x4)
+ "\\0a\\16\\01" ;; code section
+ "\\14\\00\\fd\\0c" ;; func body
+ "\\00\\00\\80\\4f" ;; data lane 0 (4294967249)
+ "\\00\\00\\80\\4f" ;; data lane 1 (4294967249)
+ "\\00\\00\\80\\4f" ;; data lane 2 (4294967249)
+ "\\00\\00\\80\\4f" ;; data lane 3 (4294967249)
+ "\\0b" ;; end
+)`);
+
+// ./test/core/simd/simd_const.wast:1649
+assert_return(
+ () => invoke($310, `parse_f32x4`, []),
+ [
+ new F32x4Pattern(
+ value("f32", 4294967300),
+ value("f32", 4294967300),
+ value("f32", 4294967300),
+ value("f32", 4294967300),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_const.wast:1651
+let $311 = instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\01\\05\\01" ;; type section
+ "\\60\\00\\01\\7b" ;; type 0 (func)
+ "\\03\\02\\01\\00" ;; func section
+ "\\07\\0f\\01\\0b" ;; export section
+ "\\70\\61\\72\\73\\65\\5f\\66\\36\\34\\78\\32\\00\\00" ;; export name (parse_f64x2)
+ "\\0a\\16\\01" ;; code section
+ "\\14\\00\\fd\\0c" ;; func body
+ "\\ff\\ff\\ff\\ff\\ff\\ff\\ef\\7f" ;; data lane 0 (0x1.fffffffffffffp+1023)
+ "\\ff\\ff\\ff\\ff\\ff\\ff\\ef\\7f" ;; data lane 1 (0x1.fffffffffffffp+1023)
+ "\\0b" ;; end
+)`);
+
+// ./test/core/simd/simd_const.wast:1664
+assert_return(
+ () => invoke($311, `parse_f64x2`, []),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/simd_conversions.wast.js b/js/src/jit-test/tests/wasm/spec/spec/simd_conversions.wast.js
new file mode 100644
index 0000000000..abb9d75af3
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/simd_conversions.wast.js
@@ -0,0 +1,3341 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_conversions.wast
+
+// ./test/core/simd/simd_conversions.wast:3
+let $0 = instantiate(`(module
+ ;; Integer to floating point
+ (func (export "f32x4.convert_i32x4_s") (param v128) (result v128)
+ (f32x4.convert_i32x4_s (local.get 0)))
+ (func (export "f32x4.convert_i32x4_u") (param v128) (result v128)
+ (f32x4.convert_i32x4_u (local.get 0)))
+
+ (func (export "f64x2.convert_low_i32x4_s") (param v128) (result v128)
+ (f64x2.convert_low_i32x4_s (local.get 0)))
+ (func (export "f64x2.convert_low_i32x4_u") (param v128) (result v128)
+ (f64x2.convert_low_i32x4_u (local.get 0)))
+
+ ;; Integer to integer narrowing
+ (func (export "i8x16.narrow_i16x8_s") (param v128 v128) (result v128)
+ (i8x16.narrow_i16x8_s (local.get 0) (local.get 1)))
+ (func (export "i8x16.narrow_i16x8_u") (param v128 v128) (result v128)
+ (i8x16.narrow_i16x8_u (local.get 0) (local.get 1)))
+ (func (export "i16x8.narrow_i32x4_s") (param v128 v128) (result v128)
+ (i16x8.narrow_i32x4_s (local.get 0) (local.get 1)))
+ (func (export "i16x8.narrow_i32x4_u") (param v128 v128) (result v128)
+ (i16x8.narrow_i32x4_u (local.get 0)(local.get 1)))
+
+ ;; Float to float promote/demote
+ (func (export "f64x2.promote_low_f32x4") (param v128) (result v128)
+ (f64x2.promote_low_f32x4 (local.get 0)))
+ (func (export "f32x4.demote_f64x2_zero") (param v128) (result v128)
+ (f32x4.demote_f64x2_zero (local.get 0)))
+)`);
+
+// ./test/core/simd/simd_conversions.wast:35
+assert_return(
+ () => invoke($0, `f64x2.promote_low_f32x4`, [f32x4([0, 0, 0, 0])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_conversions.wast:37
+assert_return(
+ () => invoke($0, `f64x2.promote_low_f32x4`, [f32x4([-0, -0, -0, -0])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_conversions.wast:39
+assert_return(
+ () => invoke($0, `f64x2.promote_low_f32x4`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000001401298464324817),
+ value("f64", 0.000000000000000000000000000000000000000000001401298464324817),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:41
+assert_return(
+ () => invoke($0, `f64x2.promote_low_f32x4`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000001401298464324817),
+ value("f64", -0.000000000000000000000000000000000000000000001401298464324817),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:43
+assert_return(
+ () => invoke($0, `f64x2.promote_low_f32x4`, [f32x4([1, 1, 1, 1])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_conversions.wast:45
+assert_return(
+ () => invoke($0, `f64x2.promote_low_f32x4`, [f32x4([-1, -1, -1, -1])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_conversions.wast:47
+assert_return(
+ () => invoke($0, `f64x2.promote_low_f32x4`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -340282346638528860000000000000000000000),
+ value("f64", -340282346638528860000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:49
+assert_return(
+ () => invoke($0, `f64x2.promote_low_f32x4`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 340282346638528860000000000000000000000),
+ value("f64", 340282346638528860000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:52
+assert_return(
+ () => invoke($0, `f64x2.promote_low_f32x4`, [
+ f32x4([
+ 0.0000000000000000000000000000000000015046328,
+ 0.0000000000000000000000000000000000015046328,
+ 0.0000000000000000000000000000000000015046328,
+ 0.0000000000000000000000000000000000015046328,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000001504632769052528),
+ value("f64", 0.000000000000000000000000000000000001504632769052528),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:55
+assert_return(
+ () => invoke($0, `f64x2.promote_low_f32x4`, [
+ f32x4([
+ 66382537000000000000000000000000000000,
+ 66382537000000000000000000000000000000,
+ 66382537000000000000000000000000000000,
+ 66382537000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 66382536710104395000000000000000000000),
+ value("f64", 66382536710104395000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:57
+assert_return(
+ () => invoke($0, `f64x2.promote_low_f32x4`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_conversions.wast:59
+assert_return(
+ () => invoke($0, `f64x2.promote_low_f32x4`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_conversions.wast:61
+assert_return(
+ () => invoke($0, `f64x2.promote_low_f32x4`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_conversions.wast:63
+assert_return(
+ () => invoke($0, `f64x2.promote_low_f32x4`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_conversions.wast:65
+assert_return(
+ () => invoke($0, `f64x2.promote_low_f32x4`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_conversions.wast:67
+assert_return(
+ () => invoke($0, `f64x2.promote_low_f32x4`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_conversions.wast:73
+assert_return(
+ () => invoke($0, `f32x4.demote_f64x2_zero`, [f64x2([0, 0])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:75
+assert_return(
+ () => invoke($0, `f32x4.demote_f64x2_zero`, [f64x2([-0, -0])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:77
+assert_return(
+ () => invoke($0, `f32x4.demote_f64x2_zero`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:79
+assert_return(
+ () => invoke($0, `f32x4.demote_f64x2_zero`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:81
+assert_return(
+ () => invoke($0, `f32x4.demote_f64x2_zero`, [f64x2([1, 1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:83
+assert_return(
+ () => invoke($0, `f32x4.demote_f64x2_zero`, [f64x2([-1, -1])]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:85
+assert_return(
+ () => invoke($0, `f32x4.demote_f64x2_zero`, [
+ f64x2([
+ 0.000000000000000000000000000000000000011754942807573643,
+ 0.000000000000000000000000000000000000011754942807573643,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:87
+assert_return(
+ () => invoke($0, `f32x4.demote_f64x2_zero`, [
+ f64x2([
+ -0.000000000000000000000000000000000000011754942807573643,
+ -0.000000000000000000000000000000000000011754942807573643,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:89
+assert_return(
+ () => invoke($0, `f32x4.demote_f64x2_zero`, [
+ f64x2([
+ 0.000000000000000000000000000000000000011754942807573642,
+ 0.000000000000000000000000000000000000011754942807573642,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754942),
+ value("f32", 0.000000000000000000000000000000000000011754942),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:91
+assert_return(
+ () => invoke($0, `f32x4.demote_f64x2_zero`, [
+ f64x2([
+ -0.000000000000000000000000000000000000011754942807573642,
+ -0.000000000000000000000000000000000000011754942807573642,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754942),
+ value("f32", -0.000000000000000000000000000000000000011754942),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:93
+assert_return(
+ () => invoke($0, `f32x4.demote_f64x2_zero`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000001401298464324817,
+ 0.000000000000000000000000000000000000000000001401298464324817,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:95
+assert_return(
+ () => invoke($0, `f32x4.demote_f64x2_zero`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000001401298464324817,
+ -0.000000000000000000000000000000000000000000001401298464324817,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:97
+assert_return(
+ () => invoke($0, `f32x4.demote_f64x2_zero`, [
+ f64x2([
+ 340282336497324060000000000000000000000,
+ 340282336497324060000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282330000000000000000000000000000000),
+ value("f32", 340282330000000000000000000000000000000),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:99
+assert_return(
+ () => invoke($0, `f32x4.demote_f64x2_zero`, [
+ f64x2([
+ -340282336497324060000000000000000000000,
+ -340282336497324060000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282330000000000000000000000000000000),
+ value("f32", -340282330000000000000000000000000000000),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:101
+assert_return(
+ () => invoke($0, `f32x4.demote_f64x2_zero`, [
+ f64x2([
+ 340282336497324100000000000000000000000,
+ 340282336497324100000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:103
+assert_return(
+ () => invoke($0, `f32x4.demote_f64x2_zero`, [
+ f64x2([
+ -340282336497324100000000000000000000000,
+ -340282336497324100000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:105
+assert_return(
+ () => invoke($0, `f32x4.demote_f64x2_zero`, [
+ f64x2([
+ 340282346638528860000000000000000000000,
+ 340282346638528860000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:107
+assert_return(
+ () => invoke($0, `f32x4.demote_f64x2_zero`, [
+ f64x2([
+ -340282346638528860000000000000000000000,
+ -340282346638528860000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:109
+assert_return(
+ () => invoke($0, `f32x4.demote_f64x2_zero`, [
+ f64x2([
+ 340282356779733620000000000000000000000,
+ 340282356779733620000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:111
+assert_return(
+ () => invoke($0, `f32x4.demote_f64x2_zero`, [
+ f64x2([
+ -340282356779733620000000000000000000000,
+ -340282356779733620000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:113
+assert_return(
+ () => invoke($0, `f32x4.demote_f64x2_zero`, [
+ f64x2([
+ 340282356779733660000000000000000000000,
+ 340282356779733660000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:115
+assert_return(
+ () => invoke($0, `f32x4.demote_f64x2_zero`, [
+ f64x2([
+ -340282356779733660000000000000000000000,
+ -340282356779733660000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:117
+assert_return(
+ () => invoke($0, `f32x4.demote_f64x2_zero`, [
+ f64x2([
+ 0.000000000000000000000000000000000001504632769052528,
+ 0.000000000000000000000000000000000001504632769052528,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.0000000000000000000000000000000000015046328),
+ value("f32", 0.0000000000000000000000000000000000015046328),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:119
+assert_return(
+ () => invoke($0, `f32x4.demote_f64x2_zero`, [
+ f64x2([66382536710104395000000000000000000000, 66382536710104395000000000000000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 66382537000000000000000000000000000000),
+ value("f32", 66382537000000000000000000000000000000),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:121
+assert_return(
+ () => invoke($0, `f32x4.demote_f64x2_zero`, [f64x2([Infinity, Infinity])]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:123
+assert_return(
+ () => invoke($0, `f32x4.demote_f64x2_zero`, [f64x2([-Infinity, -Infinity])]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:125
+assert_return(
+ () => invoke($0, `f32x4.demote_f64x2_zero`, [
+ f64x2([1.0000000000000002, 1.0000000000000002]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:127
+assert_return(
+ () => invoke($0, `f32x4.demote_f64x2_zero`, [
+ f64x2([0.9999999999999999, 0.9999999999999999]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:129
+assert_return(
+ () => invoke($0, `f32x4.demote_f64x2_zero`, [
+ f64x2([1.0000000596046448, 1.0000000596046448]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:131
+assert_return(
+ () => invoke($0, `f32x4.demote_f64x2_zero`, [
+ f64x2([1.000000059604645, 1.000000059604645]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1.0000001),
+ value("f32", 1.0000001),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:133
+assert_return(
+ () => invoke($0, `f32x4.demote_f64x2_zero`, [
+ f64x2([1.000000178813934, 1.000000178813934]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1.0000001),
+ value("f32", 1.0000001),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:135
+assert_return(
+ () => invoke($0, `f32x4.demote_f64x2_zero`, [
+ f64x2([1.0000001788139343, 1.0000001788139343]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1.0000002),
+ value("f32", 1.0000002),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:137
+assert_return(
+ () => invoke($0, `f32x4.demote_f64x2_zero`, [
+ f64x2([1.0000002980232239, 1.0000002980232239]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1.0000002),
+ value("f32", 1.0000002),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:139
+assert_return(
+ () => invoke($0, `f32x4.demote_f64x2_zero`, [f64x2([16777217, 16777217])]),
+ [
+ new F32x4Pattern(
+ value("f32", 16777216),
+ value("f32", 16777216),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:141
+assert_return(
+ () => invoke($0, `f32x4.demote_f64x2_zero`, [
+ f64x2([16777217.000000004, 16777217.000000004]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 16777218),
+ value("f32", 16777218),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:143
+assert_return(
+ () => invoke($0, `f32x4.demote_f64x2_zero`, [
+ f64x2([16777218.999999996, 16777218.999999996]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 16777218),
+ value("f32", 16777218),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:145
+assert_return(
+ () => invoke($0, `f32x4.demote_f64x2_zero`, [f64x2([16777219, 16777219])]),
+ [
+ new F32x4Pattern(
+ value("f32", 16777220),
+ value("f32", 16777220),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:147
+assert_return(
+ () => invoke($0, `f32x4.demote_f64x2_zero`, [
+ f64x2([424258443299142700000000000000000, 424258443299142700000000000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 424258450000000000000000000000000),
+ value("f32", 424258450000000000000000000000000),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:149
+assert_return(
+ () => invoke($0, `f32x4.demote_f64x2_zero`, [
+ f64x2([
+ 0.0000000000000000000000000000000001569262107843488,
+ 0.0000000000000000000000000000000001569262107843488,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.00000000000000000000000000000000015692621),
+ value("f32", 0.00000000000000000000000000000000015692621),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:151
+assert_return(
+ () => invoke($0, `f32x4.demote_f64x2_zero`, [
+ f64x2([
+ 0.000000000000000000000000000000000000010551773688605172,
+ 0.000000000000000000000000000000000000010551773688605172,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000010551773),
+ value("f32", 0.000000000000000000000000000000000000010551773),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:153
+assert_return(
+ () => invoke($0, `f32x4.demote_f64x2_zero`, [
+ f64x2([-2.8238128484141933, -2.8238128484141933]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -2.823813),
+ value("f32", -2.823813),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:155
+assert_return(
+ () => invoke($0, `f32x4.demote_f64x2_zero`, [
+ f64x2([-9063376370095757000000000000000000, -9063376370095757000000000000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -9063376000000000000000000000000000),
+ value("f32", -9063376000000000000000000000000000),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:157
+assert_return(
+ () => invoke($0, `f32x4.demote_f64x2_zero`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:159
+assert_return(
+ () => invoke($0, `f32x4.demote_f64x2_zero`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:161
+assert_return(
+ () => invoke($0, `f32x4.demote_f64x2_zero`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:163
+assert_return(
+ () => invoke($0, `f32x4.demote_f64x2_zero`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:165
+assert_return(
+ () => invoke($0, `f32x4.demote_f64x2_zero`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:167
+assert_return(
+ () => invoke($0, `f32x4.demote_f64x2_zero`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:169
+assert_return(
+ () => invoke($0, `f32x4.demote_f64x2_zero`, [
+ f64x2([
+ 0.0000000000000000000000000000000000000000000007006492321624085,
+ 0.0000000000000000000000000000000000000000000007006492321624085,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:171
+assert_return(
+ () => invoke($0, `f32x4.demote_f64x2_zero`, [
+ f64x2([
+ -0.0000000000000000000000000000000000000000000007006492321624085,
+ -0.0000000000000000000000000000000000000000000007006492321624085,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:173
+assert_return(
+ () => invoke($0, `f32x4.demote_f64x2_zero`, [
+ f64x2([
+ 0.0000000000000000000000000000000000000000000007006492321624087,
+ 0.0000000000000000000000000000000000000000000007006492321624087,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:175
+assert_return(
+ () => invoke($0, `f32x4.demote_f64x2_zero`, [
+ f64x2([
+ -0.0000000000000000000000000000000000000000000007006492321624087,
+ -0.0000000000000000000000000000000000000000000007006492321624087,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:182
+assert_return(
+ () => invoke($0, `f32x4.convert_i32x4_s`, [i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:184
+assert_return(
+ () => invoke($0, `f32x4.convert_i32x4_s`, [i32x4([0x1, 0x1, 0x1, 0x1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:186
+assert_return(
+ () => invoke($0, `f32x4.convert_i32x4_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:188
+assert_return(
+ () => invoke($0, `f32x4.convert_i32x4_s`, [
+ i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 2147483600),
+ value("f32", 2147483600),
+ value("f32", 2147483600),
+ value("f32", 2147483600),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:190
+assert_return(
+ () => invoke($0, `f32x4.convert_i32x4_s`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -2147483600),
+ value("f32", -2147483600),
+ value("f32", -2147483600),
+ value("f32", -2147483600),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:192
+assert_return(
+ () => invoke($0, `f32x4.convert_i32x4_s`, [
+ i32x4([0x499602d2, 0x499602d2, 0x499602d2, 0x499602d2]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234568000),
+ value("f32", 1234568000),
+ value("f32", 1234568000),
+ value("f32", 1234568000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:194
+assert_return(
+ () => invoke($0, `f32x4.convert_i32x4_s`, [
+ i32x4([0x75bcd18, 0x75bcd18, 0x75bcd18, 0x75bcd18]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:196
+assert_return(
+ () => invoke($0, `f32x4.convert_i32x4_s`, [
+ i32x4([0x12345680, 0x12345680, 0x12345680, 0x12345680]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 305419900),
+ value("f32", 305419900),
+ value("f32", 305419900),
+ value("f32", 305419900),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:200
+assert_return(
+ () => invoke($0, `f32x4.convert_i32x4_s`, [
+ i32x4([0x1000001, 0x1000001, 0x1000001, 0x1000001]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 16777216),
+ value("f32", 16777216),
+ value("f32", 16777216),
+ value("f32", 16777216),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:202
+assert_return(
+ () => invoke($0, `f32x4.convert_i32x4_s`, [
+ i32x4([0xfeffffff, 0xfeffffff, 0xfeffffff, 0xfeffffff]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -16777216),
+ value("f32", -16777216),
+ value("f32", -16777216),
+ value("f32", -16777216),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:204
+assert_return(
+ () => invoke($0, `f32x4.convert_i32x4_s`, [
+ i32x4([0x1000003, 0x1000003, 0x1000003, 0x1000003]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 16777220),
+ value("f32", 16777220),
+ value("f32", 16777220),
+ value("f32", 16777220),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:206
+assert_return(
+ () => invoke($0, `f32x4.convert_i32x4_s`, [
+ i32x4([0xfefffffd, 0xfefffffd, 0xfefffffd, 0xfefffffd]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -16777220),
+ value("f32", -16777220),
+ value("f32", -16777220),
+ value("f32", -16777220),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:208
+assert_return(
+ () => invoke($0, `f32x4.convert_i32x4_s`, [
+ i32x4([0x0, 0xffffffff, 0x7fffffff, 0x80000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", -1),
+ value("f32", 2147483600),
+ value("f32", -2147483600),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:213
+assert_return(
+ () => invoke($0, `f32x4.convert_i32x4_u`, [i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:215
+assert_return(
+ () => invoke($0, `f32x4.convert_i32x4_u`, [i32x4([0x1, 0x1, 0x1, 0x1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:217
+assert_return(
+ () => invoke($0, `f32x4.convert_i32x4_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 4294967300),
+ value("f32", 4294967300),
+ value("f32", 4294967300),
+ value("f32", 4294967300),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:219
+assert_return(
+ () => invoke($0, `f32x4.convert_i32x4_u`, [
+ i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 2147483600),
+ value("f32", 2147483600),
+ value("f32", 2147483600),
+ value("f32", 2147483600),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:221
+assert_return(
+ () => invoke($0, `f32x4.convert_i32x4_u`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 2147483600),
+ value("f32", 2147483600),
+ value("f32", 2147483600),
+ value("f32", 2147483600),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:223
+assert_return(
+ () => invoke($0, `f32x4.convert_i32x4_u`, [
+ i32x4([0x12345678, 0x12345678, 0x12345678, 0x12345678]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 305419900),
+ value("f32", 305419900),
+ value("f32", 305419900),
+ value("f32", 305419900),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:225
+assert_return(
+ () => invoke($0, `f32x4.convert_i32x4_u`, [
+ i32x4([0x80000080, 0x80000080, 0x80000080, 0x80000080]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 2147483600),
+ value("f32", 2147483600),
+ value("f32", 2147483600),
+ value("f32", 2147483600),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:227
+assert_return(
+ () => invoke($0, `f32x4.convert_i32x4_u`, [
+ i32x4([0x80000081, 0x80000081, 0x80000081, 0x80000081]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 2147484000),
+ value("f32", 2147484000),
+ value("f32", 2147484000),
+ value("f32", 2147484000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:229
+assert_return(
+ () => invoke($0, `f32x4.convert_i32x4_u`, [
+ i32x4([0x80000082, 0x80000082, 0x80000082, 0x80000082]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 2147484000),
+ value("f32", 2147484000),
+ value("f32", 2147484000),
+ value("f32", 2147484000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:231
+assert_return(
+ () => invoke($0, `f32x4.convert_i32x4_u`, [
+ i32x4([0xfffffe80, 0xfffffe80, 0xfffffe80, 0xfffffe80]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 4294966800),
+ value("f32", 4294966800),
+ value("f32", 4294966800),
+ value("f32", 4294966800),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:233
+assert_return(
+ () => invoke($0, `f32x4.convert_i32x4_u`, [
+ i32x4([0xfffffe81, 0xfffffe81, 0xfffffe81, 0xfffffe81]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 4294967000),
+ value("f32", 4294967000),
+ value("f32", 4294967000),
+ value("f32", 4294967000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:235
+assert_return(
+ () => invoke($0, `f32x4.convert_i32x4_u`, [
+ i32x4([0xfffffe82, 0xfffffe82, 0xfffffe82, 0xfffffe82]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 4294967000),
+ value("f32", 4294967000),
+ value("f32", 4294967000),
+ value("f32", 4294967000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:237
+assert_return(
+ () => invoke($0, `f32x4.convert_i32x4_u`, [
+ i32x4([0x75bcd18, 0x75bcd18, 0x75bcd18, 0x75bcd18]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:239
+assert_return(
+ () => invoke($0, `f32x4.convert_i32x4_u`, [
+ i32x4([0x90abcdef, 0x90abcdef, 0x90abcdef, 0x90abcdef]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 2427178500),
+ value("f32", 2427178500),
+ value("f32", 2427178500),
+ value("f32", 2427178500),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:243
+assert_return(
+ () => invoke($0, `f32x4.convert_i32x4_u`, [
+ i32x4([0x1000001, 0x1000001, 0x1000001, 0x1000001]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 16777216),
+ value("f32", 16777216),
+ value("f32", 16777216),
+ value("f32", 16777216),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:245
+assert_return(
+ () => invoke($0, `f32x4.convert_i32x4_u`, [
+ i32x4([0x1000003, 0x1000003, 0x1000003, 0x1000003]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 16777220),
+ value("f32", 16777220),
+ value("f32", 16777220),
+ value("f32", 16777220),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:247
+assert_return(
+ () => invoke($0, `f32x4.convert_i32x4_u`, [
+ i32x4([0x0, 0xffffffff, 0x7fffffff, 0x80000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 4294967300),
+ value("f32", 2147483600),
+ value("f32", 2147483600),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:253
+assert_return(
+ () => invoke($0, `f64x2.convert_low_i32x4_s`, [i32x4([0x1, 0x1, 0x0, 0x0])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_conversions.wast:255
+assert_return(
+ () => invoke($0, `f64x2.convert_low_i32x4_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_conversions.wast:257
+assert_return(
+ () => invoke($0, `f64x2.convert_low_i32x4_s`, [i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_conversions.wast:259
+assert_return(
+ () => invoke($0, `f64x2.convert_low_i32x4_s`, [
+ i32x4([0x7fffffff, 0x7fffffff, 0x0, 0x0]),
+ ]),
+ [new F64x2Pattern(value("f64", 2147483647), value("f64", 2147483647))],
+);
+
+// ./test/core/simd/simd_conversions.wast:261
+assert_return(
+ () => invoke($0, `f64x2.convert_low_i32x4_s`, [
+ i32x4([0x80000000, 0x80000000, 0x0, 0x0]),
+ ]),
+ [new F64x2Pattern(value("f64", -2147483648), value("f64", -2147483648))],
+);
+
+// ./test/core/simd/simd_conversions.wast:263
+assert_return(
+ () => invoke($0, `f64x2.convert_low_i32x4_s`, [
+ i32x4([0x3ade68b1, 0x3ade68b1, 0x0, 0x0]),
+ ]),
+ [new F64x2Pattern(value("f64", 987654321), value("f64", 987654321))],
+);
+
+// ./test/core/simd/simd_conversions.wast:269
+assert_return(
+ () => invoke($0, `f64x2.convert_low_i32x4_u`, [i32x4([0x1, 0x1, 0x0, 0x0])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_conversions.wast:271
+assert_return(
+ () => invoke($0, `f64x2.convert_low_i32x4_u`, [i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_conversions.wast:273
+assert_return(
+ () => invoke($0, `f64x2.convert_low_i32x4_u`, [
+ i32x4([0x7fffffff, 0x7fffffff, 0x0, 0x0]),
+ ]),
+ [new F64x2Pattern(value("f64", 2147483647), value("f64", 2147483647))],
+);
+
+// ./test/core/simd/simd_conversions.wast:275
+assert_return(
+ () => invoke($0, `f64x2.convert_low_i32x4_u`, [
+ i32x4([0x80000000, 0x80000000, 0x0, 0x0]),
+ ]),
+ [new F64x2Pattern(value("f64", 2147483648), value("f64", 2147483648))],
+);
+
+// ./test/core/simd/simd_conversions.wast:277
+assert_return(
+ () => invoke($0, `f64x2.convert_low_i32x4_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]),
+ ]),
+ [new F64x2Pattern(value("f64", 4294967295), value("f64", 4294967295))],
+);
+
+// ./test/core/simd/simd_conversions.wast:283
+assert_return(
+ () => invoke($0, `i8x16.narrow_i16x8_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:286
+assert_return(
+ () => invoke($0, `i8x16.narrow_i16x8_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:289
+assert_return(
+ () => invoke($0, `i8x16.narrow_i16x8_s`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:292
+assert_return(
+ () => invoke($0, `i8x16.narrow_i16x8_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:295
+assert_return(
+ () => invoke($0, `i8x16.narrow_i16x8_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:298
+assert_return(
+ () => invoke($0, `i8x16.narrow_i16x8_s`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:301
+assert_return(
+ () => invoke($0, `i8x16.narrow_i16x8_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:304
+assert_return(
+ () => invoke($0, `i8x16.narrow_i16x8_s`, [
+ i16x8([0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e]),
+ i16x8([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [
+ i8x16([0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:307
+assert_return(
+ () => invoke($0, `i8x16.narrow_i16x8_s`, [
+ i16x8([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ i16x8([0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e]),
+ ]),
+ [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e]),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:310
+assert_return(
+ () => invoke($0, `i8x16.narrow_i16x8_s`, [
+ i16x8([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ i16x8([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:313
+assert_return(
+ () => invoke($0, `i8x16.narrow_i16x8_s`, [
+ i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:316
+assert_return(
+ () => invoke($0, `i8x16.narrow_i16x8_s`, [
+ i16x8([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:319
+assert_return(
+ () => invoke($0, `i8x16.narrow_i16x8_s`, [
+ i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i16x8([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:322
+assert_return(
+ () => invoke($0, `i8x16.narrow_i16x8_s`, [
+ i16x8([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ i16x8([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:325
+assert_return(
+ () => invoke($0, `i8x16.narrow_i16x8_s`, [
+ i16x8([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i16x8([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:328
+assert_return(
+ () => invoke($0, `i8x16.narrow_i16x8_s`, [
+ i16x8([0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81]),
+ i16x8([0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80]),
+ ]),
+ [
+ i8x16([0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:331
+assert_return(
+ () => invoke($0, `i8x16.narrow_i16x8_s`, [
+ i16x8([0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80]),
+ i16x8([0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81]),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:334
+assert_return(
+ () => invoke($0, `i8x16.narrow_i16x8_s`, [
+ i16x8([0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80]),
+ i16x8([0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:337
+assert_return(
+ () => invoke($0, `i8x16.narrow_i16x8_s`, [
+ i16x8([0xff7f, 0xff7f, 0xff7f, 0xff7f, 0xff7f, 0xff7f, 0xff7f, 0xff7f]),
+ i16x8([0xff7f, 0xff7f, 0xff7f, 0xff7f, 0xff7f, 0xff7f, 0xff7f, 0xff7f]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:340
+assert_return(
+ () => invoke($0, `i8x16.narrow_i16x8_s`, [
+ i16x8([0xff7f, 0xff7f, 0xff7f, 0xff7f, 0xff7f, 0xff7f, 0xff7f, 0xff7f]),
+ i16x8([0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:343
+assert_return(
+ () => invoke($0, `i8x16.narrow_i16x8_s`, [
+ i16x8([0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80]),
+ i16x8([0xff7f, 0xff7f, 0xff7f, 0xff7f, 0xff7f, 0xff7f, 0xff7f, 0xff7f]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:346
+assert_return(
+ () => invoke($0, `i8x16.narrow_i16x8_s`, [
+ i16x8([0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80]),
+ i16x8([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:349
+assert_return(
+ () => invoke($0, `i8x16.narrow_i16x8_s`, [
+ i16x8([0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80]),
+ i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:352
+assert_return(
+ () => invoke($0, `i8x16.narrow_i16x8_s`, [
+ i16x8([0xff7f, 0xff7f, 0xff7f, 0xff7f, 0xff7f, 0xff7f, 0xff7f, 0xff7f]),
+ i16x8([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:355
+assert_return(
+ () => invoke($0, `i8x16.narrow_i16x8_s`, [
+ i16x8([0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80]),
+ i16x8([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:358
+assert_return(
+ () => invoke($0, `i8x16.narrow_i16x8_s`, [
+ i16x8([0xff7f, 0xff7f, 0xff7f, 0xff7f, 0xff7f, 0xff7f, 0xff7f, 0xff7f]),
+ i16x8([0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:361
+assert_return(
+ () => invoke($0, `i8x16.narrow_i16x8_s`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:364
+assert_return(
+ () => invoke($0, `i8x16.narrow_i16x8_s`, [
+ i16x8([0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039]),
+ i16x8([0xddd5, 0xddd5, 0xddd5, 0xddd5, 0xddd5, 0xddd5, 0xddd5, 0xddd5]),
+ ]),
+ [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:367
+assert_return(
+ () => invoke($0, `i8x16.narrow_i16x8_s`, [
+ i16x8([0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234]),
+ i16x8([0x5678, 0x5678, 0x5678, 0x5678, 0x5678, 0x5678, 0x5678, 0x5678]),
+ ]),
+ [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:372
+assert_return(
+ () => invoke($0, `i8x16.narrow_i16x8_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:375
+assert_return(
+ () => invoke($0, `i8x16.narrow_i16x8_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:378
+assert_return(
+ () => invoke($0, `i8x16.narrow_i16x8_u`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:381
+assert_return(
+ () => invoke($0, `i8x16.narrow_i16x8_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:384
+assert_return(
+ () => invoke($0, `i8x16.narrow_i16x8_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:387
+assert_return(
+ () => invoke($0, `i8x16.narrow_i16x8_u`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:390
+assert_return(
+ () => invoke($0, `i8x16.narrow_i16x8_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:393
+assert_return(
+ () => invoke($0, `i8x16.narrow_i16x8_u`, [
+ i16x8([0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e]),
+ i16x8([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [
+ i8x16([0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:396
+assert_return(
+ () => invoke($0, `i8x16.narrow_i16x8_u`, [
+ i16x8([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ i16x8([0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e]),
+ ]),
+ [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e]),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:399
+assert_return(
+ () => invoke($0, `i8x16.narrow_i16x8_u`, [
+ i16x8([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ i16x8([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:402
+assert_return(
+ () => invoke($0, `i8x16.narrow_i16x8_u`, [
+ i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:405
+assert_return(
+ () => invoke($0, `i8x16.narrow_i16x8_u`, [
+ i16x8([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:408
+assert_return(
+ () => invoke($0, `i8x16.narrow_i16x8_u`, [
+ i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i16x8([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:411
+assert_return(
+ () => invoke($0, `i8x16.narrow_i16x8_u`, [
+ i16x8([0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe]),
+ i16x8([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:414
+assert_return(
+ () => invoke($0, `i8x16.narrow_i16x8_u`, [
+ i16x8([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i16x8([0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe]),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:417
+assert_return(
+ () => invoke($0, `i8x16.narrow_i16x8_u`, [
+ i16x8([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i16x8([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:420
+assert_return(
+ () => invoke($0, `i8x16.narrow_i16x8_u`, [
+ i16x8([0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100]),
+ i16x8([0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:423
+assert_return(
+ () => invoke($0, `i8x16.narrow_i16x8_u`, [
+ i16x8([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i16x8([0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:426
+assert_return(
+ () => invoke($0, `i8x16.narrow_i16x8_u`, [
+ i16x8([0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100]),
+ i16x8([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:429
+assert_return(
+ () => invoke($0, `i8x16.narrow_i16x8_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:432
+assert_return(
+ () => invoke($0, `i8x16.narrow_i16x8_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:435
+assert_return(
+ () => invoke($0, `i8x16.narrow_i16x8_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:438
+assert_return(
+ () => invoke($0, `i8x16.narrow_i16x8_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:441
+assert_return(
+ () => invoke($0, `i8x16.narrow_i16x8_u`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:444
+assert_return(
+ () => invoke($0, `i8x16.narrow_i16x8_u`, [
+ i16x8([0xddd5, 0xddd5, 0xddd5, 0xddd5, 0xddd5, 0xddd5, 0xddd5, 0xddd5]),
+ i16x8([0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:447
+assert_return(
+ () => invoke($0, `i8x16.narrow_i16x8_u`, [
+ i16x8([0x90ab, 0x90ab, 0x90ab, 0x90ab, 0x90ab, 0x90ab, 0x90ab, 0x90ab]),
+ i16x8([0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:452
+assert_return(
+ () => invoke($0, `i16x8.narrow_i32x4_s`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_conversions.wast:455
+assert_return(
+ () => invoke($0, `i16x8.narrow_i32x4_s`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_conversions.wast:458
+assert_return(
+ () => invoke($0, `i16x8.narrow_i32x4_s`, [
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_conversions.wast:461
+assert_return(
+ () => invoke($0, `i16x8.narrow_i32x4_s`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_conversions.wast:464
+assert_return(
+ () => invoke($0, `i16x8.narrow_i32x4_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_conversions.wast:467
+assert_return(
+ () => invoke($0, `i16x8.narrow_i32x4_s`, [
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_conversions.wast:470
+assert_return(
+ () => invoke($0, `i16x8.narrow_i32x4_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_conversions.wast:473
+assert_return(
+ () => invoke($0, `i16x8.narrow_i32x4_s`, [
+ i32x4([0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe]),
+ i32x4([0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i16x8([0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_conversions.wast:476
+assert_return(
+ () => invoke($0, `i16x8.narrow_i32x4_s`, [
+ i32x4([0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ i32x4([0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe]),
+ ]),
+ [i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe])],
+);
+
+// ./test/core/simd/simd_conversions.wast:479
+assert_return(
+ () => invoke($0, `i16x8.narrow_i32x4_s`, [
+ i32x4([0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ i32x4([0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_conversions.wast:482
+assert_return(
+ () => invoke($0, `i16x8.narrow_i32x4_s`, [
+ i32x4([0x8000, 0x8000, 0x8000, 0x8000]),
+ i32x4([0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_conversions.wast:485
+assert_return(
+ () => invoke($0, `i16x8.narrow_i32x4_s`, [
+ i32x4([0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ i32x4([0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_conversions.wast:488
+assert_return(
+ () => invoke($0, `i16x8.narrow_i32x4_s`, [
+ i32x4([0x8000, 0x8000, 0x8000, 0x8000]),
+ i32x4([0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_conversions.wast:491
+assert_return(
+ () => invoke($0, `i16x8.narrow_i32x4_s`, [
+ i32x4([0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ i32x4([0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_conversions.wast:494
+assert_return(
+ () => invoke($0, `i16x8.narrow_i32x4_s`, [
+ i32x4([0xffff, 0xffff, 0xffff, 0xffff]),
+ i32x4([0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_conversions.wast:497
+assert_return(
+ () => invoke($0, `i16x8.narrow_i32x4_s`, [
+ i32x4([0xffff8001, 0xffff8001, 0xffff8001, 0xffff8001]),
+ i32x4([0xffff8000, 0xffff8000, 0xffff8000, 0xffff8000]),
+ ]),
+ [i16x8([0x8001, 0x8001, 0x8001, 0x8001, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_conversions.wast:500
+assert_return(
+ () => invoke($0, `i16x8.narrow_i32x4_s`, [
+ i32x4([0xffff8000, 0xffff8000, 0xffff8000, 0xffff8000]),
+ i32x4([0xffff8001, 0xffff8001, 0xffff8001, 0xffff8001]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8001, 0x8001, 0x8001, 0x8001])],
+);
+
+// ./test/core/simd/simd_conversions.wast:503
+assert_return(
+ () => invoke($0, `i16x8.narrow_i32x4_s`, [
+ i32x4([0xffff8000, 0xffff8000, 0xffff8000, 0xffff8000]),
+ i32x4([0xffff8000, 0xffff8000, 0xffff8000, 0xffff8000]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_conversions.wast:506
+assert_return(
+ () => invoke($0, `i16x8.narrow_i32x4_s`, [
+ i32x4([0xffff7fff, 0xffff7fff, 0xffff7fff, 0xffff7fff]),
+ i32x4([0xffff7fff, 0xffff7fff, 0xffff7fff, 0xffff7fff]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_conversions.wast:509
+assert_return(
+ () => invoke($0, `i16x8.narrow_i32x4_s`, [
+ i32x4([0xffff7fff, 0xffff7fff, 0xffff7fff, 0xffff7fff]),
+ i32x4([0xffff8000, 0xffff8000, 0xffff8000, 0xffff8000]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_conversions.wast:512
+assert_return(
+ () => invoke($0, `i16x8.narrow_i32x4_s`, [
+ i32x4([0xffff8000, 0xffff8000, 0xffff8000, 0xffff8000]),
+ i32x4([0xffff7fff, 0xffff7fff, 0xffff7fff, 0xffff7fff]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_conversions.wast:515
+assert_return(
+ () => invoke($0, `i16x8.narrow_i32x4_s`, [
+ i32x4([0xffff8000, 0xffff8000, 0xffff8000, 0xffff8000]),
+ i32x4([0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_conversions.wast:518
+assert_return(
+ () => invoke($0, `i16x8.narrow_i32x4_s`, [
+ i32x4([0xffff8000, 0xffff8000, 0xffff8000, 0xffff8000]),
+ i32x4([0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_conversions.wast:521
+assert_return(
+ () => invoke($0, `i16x8.narrow_i32x4_s`, [
+ i32x4([0xffff7fff, 0xffff7fff, 0xffff7fff, 0xffff7fff]),
+ i32x4([0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_conversions.wast:524
+assert_return(
+ () => invoke($0, `i16x8.narrow_i32x4_s`, [
+ i32x4([0xffff8000, 0xffff8000, 0xffff8000, 0xffff8000]),
+ i32x4([0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_conversions.wast:527
+assert_return(
+ () => invoke($0, `i16x8.narrow_i32x4_s`, [
+ i32x4([0xffff7fff, 0xffff7fff, 0xffff7fff, 0xffff7fff]),
+ i32x4([0x10000, 0x10000, 0x10000, 0x10000]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_conversions.wast:530
+assert_return(
+ () => invoke($0, `i16x8.narrow_i32x4_s`, [
+ i32x4([0xf8000000, 0xf8000000, 0xf8000000, 0xf8000000]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_conversions.wast:533
+assert_return(
+ () => invoke($0, `i16x8.narrow_i32x4_s`, [
+ i32x4([0x75bcd15, 0x75bcd15, 0x75bcd15, 0x75bcd15]),
+ i32x4([0x499602d2, 0x499602d2, 0x499602d2, 0x499602d2]),
+ ]),
+ [i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_conversions.wast:536
+assert_return(
+ () => invoke($0, `i16x8.narrow_i32x4_s`, [
+ i32x4([0x90abcdef, 0x90abcdef, 0x90abcdef, 0x90abcdef]),
+ i32x4([0x12345678, 0x12345678, 0x12345678, 0x12345678]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_conversions.wast:541
+assert_return(
+ () => invoke($0, `i16x8.narrow_i32x4_u`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_conversions.wast:544
+assert_return(
+ () => invoke($0, `i16x8.narrow_i32x4_u`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_conversions.wast:547
+assert_return(
+ () => invoke($0, `i16x8.narrow_i32x4_u`, [
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_conversions.wast:550
+assert_return(
+ () => invoke($0, `i16x8.narrow_i32x4_u`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_conversions.wast:553
+assert_return(
+ () => invoke($0, `i16x8.narrow_i32x4_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_conversions.wast:556
+assert_return(
+ () => invoke($0, `i16x8.narrow_i32x4_u`, [
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_conversions.wast:559
+assert_return(
+ () => invoke($0, `i16x8.narrow_i32x4_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_conversions.wast:562
+assert_return(
+ () => invoke($0, `i16x8.narrow_i32x4_u`, [
+ i32x4([0xfffe, 0xfffe, 0xfffe, 0xfffe]),
+ i32x4([0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_conversions.wast:565
+assert_return(
+ () => invoke($0, `i16x8.narrow_i32x4_u`, [
+ i32x4([0xffff, 0xffff, 0xffff, 0xffff]),
+ i32x4([0xfffe, 0xfffe, 0xfffe, 0xfffe]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xfffe, 0xfffe, 0xfffe])],
+);
+
+// ./test/core/simd/simd_conversions.wast:568
+assert_return(
+ () => invoke($0, `i16x8.narrow_i32x4_u`, [
+ i32x4([0xffff, 0xffff, 0xffff, 0xffff]),
+ i32x4([0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_conversions.wast:571
+assert_return(
+ () => invoke($0, `i16x8.narrow_i32x4_u`, [
+ i32x4([0x10000, 0x10000, 0x10000, 0x10000]),
+ i32x4([0x10000, 0x10000, 0x10000, 0x10000]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_conversions.wast:574
+assert_return(
+ () => invoke($0, `i16x8.narrow_i32x4_u`, [
+ i32x4([0xffff, 0xffff, 0xffff, 0xffff]),
+ i32x4([0x10000, 0x10000, 0x10000, 0x10000]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_conversions.wast:577
+assert_return(
+ () => invoke($0, `i16x8.narrow_i32x4_u`, [
+ i32x4([0x10000, 0x10000, 0x10000, 0x10000]),
+ i32x4([0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_conversions.wast:580
+assert_return(
+ () => invoke($0, `i16x8.narrow_i32x4_u`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_conversions.wast:583
+assert_return(
+ () => invoke($0, `i16x8.narrow_i32x4_u`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x10000, 0x10000, 0x10000, 0x10000]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_conversions.wast:586
+assert_return(
+ () => invoke($0, `i16x8.narrow_i32x4_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_conversions.wast:589
+assert_return(
+ () => invoke($0, `i16x8.narrow_i32x4_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0x10000, 0x10000, 0x10000, 0x10000]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_conversions.wast:592
+assert_return(
+ () => invoke($0, `i16x8.narrow_i32x4_u`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_conversions.wast:595
+assert_return(
+ () => invoke($0, `i16x8.narrow_i32x4_u`, [
+ i32x4([0x75bcd15, 0x75bcd15, 0x75bcd15, 0x75bcd15]),
+ i32x4([0x499602d2, 0x499602d2, 0x499602d2, 0x499602d2]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_conversions.wast:598
+assert_return(
+ () => invoke($0, `i16x8.narrow_i32x4_u`, [
+ i32x4([0x90abcdef, 0x90abcdef, 0x90abcdef, 0x90abcdef]),
+ i32x4([0x12345678, 0x12345678, 0x12345678, 0x12345678]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_conversions.wast:605
+assert_malformed(
+ () => instantiate(`(func (result v128) (i32x4.trunc_sat_f32x4 (v128.const f32x4 0.0 0.0 0.0 0.0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_conversions.wast:608
+assert_malformed(
+ () => instantiate(`(func (result v128) (i32x4.trunc_s_sat_f32x4 (v128.const f32x4 -2.0 -1.0 1.0 2.0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_conversions.wast:611
+assert_malformed(
+ () => instantiate(`(func (result v128) (i32x4.trunc_u_sat_f32x4 (v128.const f32x4 -2.0 -1.0 1.0 2.0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_conversions.wast:614
+assert_malformed(
+ () => instantiate(`(func (result v128) (i32x4.convert_f32x4 (v128.const f32x4 -1 0 1 2))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_conversions.wast:617
+assert_malformed(
+ () => instantiate(`(func (result v128) (i32x4.convert_s_f32x4 (v128.const f32x4 -1 0 1 2))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_conversions.wast:620
+assert_malformed(
+ () => instantiate(`(func (result v128) (i32x4.convert_u_f32x4 (v128.const f32x4 -1 0 1 2))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_conversions.wast:624
+assert_malformed(
+ () => instantiate(`(func (result v128) (i64x2.trunc_sat_f64x2_s (v128.const f64x2 0.0 0.0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_conversions.wast:627
+assert_malformed(
+ () => instantiate(`(func (result v128) (i64x2.trunc_sat_f64x2_u (v128.const f64x2 -2.0 -1.0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_conversions.wast:630
+assert_malformed(
+ () => instantiate(`(func (result v128) (f64x2.convert_i64x2_s (v128.const i64x2 1 2))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_conversions.wast:633
+assert_malformed(
+ () => instantiate(`(func (result v128) (f64x2.convert_i64x2_u (v128.const i64x2 1 2))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_conversions.wast:637
+assert_malformed(
+ () => instantiate(`(func (result v128) (i8x16.narrow_i16x8 (v128.const i16x8 0 0 0 0 0 0 0 0) (v128.const i16x8 0 0 0 0 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_conversions.wast:640
+assert_malformed(
+ () => instantiate(`(func (result v128) (i16x8.narrow_i8x16 (v128.const i16x8 0 0 0 0 0 0 0 0) (v128.const i16x8 0 0 0 0 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_conversions.wast:643
+assert_malformed(
+ () => instantiate(`(func (result v128) (i16x8.narrow_i8x16_s (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_conversions.wast:646
+assert_malformed(
+ () => instantiate(`(func (result v128) (i16x8.narrow_i8x16_u (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_conversions.wast:649
+assert_malformed(
+ () => instantiate(`(func (result v128) (i16x8.narrow_i32x4 (v128.const i16x8 0 0 0 0 0 0 0 0) (v128.const i16x8 0 0 0 0 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_conversions.wast:652
+assert_malformed(
+ () => instantiate(`(func (result v128) (i32x4.narrow_i16x8 (v128.const i16x8 0 0 0 0 0 0 0 0) (v128.const i16x8 0 0 0 0 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_conversions.wast:655
+assert_malformed(
+ () => instantiate(`(func (result v128) (i32x4.narrow_i16x8_s (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_conversions.wast:658
+assert_malformed(
+ () => instantiate(`(func (result v128) (i32x4.narrow_i16x8_u (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_conversions.wast:662
+assert_malformed(
+ () => instantiate(`(func (result v128) (i16x8.extend_low_i8x16 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_conversions.wast:665
+assert_malformed(
+ () => instantiate(`(func (result v128) (i8x16.extend_low_i16x8_s (v128.const i16x8 0 0 0 0 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_conversions.wast:668
+assert_malformed(
+ () => instantiate(`(func (result v128) (i8x16.extend_low_i16x8_u (v128.const i16x8 0 0 0 0 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_conversions.wast:671
+assert_malformed(
+ () => instantiate(`(func (result v128) (i16x8.extend_high_i8x16 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_conversions.wast:674
+assert_malformed(
+ () => instantiate(`(func (result v128) (i8x16.extend_high_i16x8_s (v128.const i16x8 0 0 0 0 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_conversions.wast:677
+assert_malformed(
+ () => instantiate(`(func (result v128) (i8x16.extend_high_i16x8_u (v128.const i16x8 0 0 0 0 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_conversions.wast:680
+assert_malformed(
+ () => instantiate(`(func (result v128) (i32x4.extend_low_i16x8 (v128.const i16x8 0 0 0 0 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_conversions.wast:683
+assert_malformed(
+ () => instantiate(`(func (result v128) (i16x8.extend_low_i32x4_s (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_conversions.wast:686
+assert_malformed(
+ () => instantiate(`(func (result v128) (i16x8.extend_low_i32x4_u (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_conversions.wast:689
+assert_malformed(
+ () => instantiate(`(func (result v128) (i32x4.extend_high_i16x8 (v128.const i16x8 0 0 0 0 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_conversions.wast:692
+assert_malformed(
+ () => instantiate(`(func (result v128) (i16x8.extend_high_i32x4_s (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_conversions.wast:695
+assert_malformed(
+ () => instantiate(`(func (result v128) (i16x8.extend_high_i32x4_u (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_conversions.wast:702
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (f32x4.convert_i32x4_s (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_conversions.wast:703
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (f32x4.convert_i32x4_s (i64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_conversions.wast:704
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (f32x4.convert_i32x4_u (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_conversions.wast:705
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (f32x4.convert_i32x4_u (i64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_conversions.wast:707
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i8x16.narrow_i16x8_s (i32.const 0) (i64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_conversions.wast:708
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i8x16.narrow_i16x8_u (i32.const 0) (i64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_conversions.wast:709
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i16x8.narrow_i32x4_s (f32.const 0.0) (f64.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_conversions.wast:710
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i16x8.narrow_i32x4_s (f32.const 0.0) (f64.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_conversions.wast:715
+let $1 = instantiate(`(module
+ (func (export "f32x4_convert_i32x4_s_add") (param v128 v128) (result v128)
+ (f32x4.convert_i32x4_s (i32x4.add (local.get 0) (local.get 1))))
+ (func (export "f32x4_convert_i32x4_s_sub") (param v128 v128) (result v128)
+ (f32x4.convert_i32x4_s (i32x4.sub (local.get 0) (local.get 1))))
+ (func (export "f32x4_convert_i32x4_u_mul") (param v128 v128) (result v128)
+ (f32x4.convert_i32x4_u (i32x4.mul (local.get 0) (local.get 1))))
+
+ (func (export "i16x8_low_extend_narrow_ss") (param v128 v128) (result v128)
+ (i16x8.extend_low_i8x16_s (i8x16.narrow_i16x8_s (local.get 0) (local.get 1))))
+ (func (export "i16x8_low_extend_narrow_su") (param v128 v128) (result v128)
+ (i16x8.extend_low_i8x16_s (i8x16.narrow_i16x8_u (local.get 0) (local.get 1))))
+ (func (export "i16x8_high_extend_narrow_ss") (param v128 v128) (result v128)
+ (i16x8.extend_low_i8x16_s (i8x16.narrow_i16x8_s (local.get 0) (local.get 1))))
+ (func (export "i16x8_high_extend_narrow_su") (param v128 v128) (result v128)
+ (i16x8.extend_low_i8x16_s (i8x16.narrow_i16x8_u (local.get 0) (local.get 1))))
+ (func (export "i16x8_low_extend_narrow_uu") (param v128 v128) (result v128)
+ (i16x8.extend_low_i8x16_u (i8x16.narrow_i16x8_u (local.get 0) (local.get 1))))
+ (func (export "i16x8_low_extend_narrow_us") (param v128 v128) (result v128)
+ (i16x8.extend_low_i8x16_u (i8x16.narrow_i16x8_s (local.get 0) (local.get 1))))
+ (func (export "i16x8_high_extend_narrow_uu") (param v128 v128) (result v128)
+ (i16x8.extend_low_i8x16_u (i8x16.narrow_i16x8_u (local.get 0) (local.get 1))))
+ (func (export "i16x8_high_extend_narrow_us") (param v128 v128) (result v128)
+ (i16x8.extend_low_i8x16_u (i8x16.narrow_i16x8_s (local.get 0) (local.get 1))))
+
+ (func (export "i32x4_low_extend_narrow_ss") (param v128 v128) (result v128)
+ (i32x4.extend_low_i16x8_s (i16x8.narrow_i32x4_s (local.get 0) (local.get 1))))
+ (func (export "i32x4_low_extend_narrow_su") (param v128 v128) (result v128)
+ (i32x4.extend_low_i16x8_s (i16x8.narrow_i32x4_u (local.get 0) (local.get 1))))
+ (func (export "i32x4_high_extend_narrow_ss") (param v128 v128) (result v128)
+ (i32x4.extend_low_i16x8_s (i16x8.narrow_i32x4_s (local.get 0) (local.get 1))))
+ (func (export "i32x4_high_extend_narrow_su") (param v128 v128) (result v128)
+ (i32x4.extend_low_i16x8_s (i16x8.narrow_i32x4_u (local.get 0) (local.get 1))))
+ (func (export "i32x4_low_extend_narrow_uu") (param v128 v128) (result v128)
+ (i32x4.extend_low_i16x8_u (i16x8.narrow_i32x4_u (local.get 0) (local.get 1))))
+ (func (export "i32x4_low_extend_narrow_us") (param v128 v128) (result v128)
+ (i32x4.extend_low_i16x8_u (i16x8.narrow_i32x4_s (local.get 0) (local.get 1))))
+ (func (export "i32x4_high_extend_narrow_uu") (param v128 v128) (result v128)
+ (i32x4.extend_low_i16x8_u (i16x8.narrow_i32x4_u (local.get 0) (local.get 1))))
+ (func (export "i32x4_high_extend_narrow_us") (param v128 v128) (result v128)
+ (i32x4.extend_low_i16x8_u (i16x8.narrow_i32x4_s (local.get 0) (local.get 1))))
+)`);
+
+// ./test/core/simd/simd_conversions.wast:758
+assert_return(
+ () => invoke($1, `f32x4_convert_i32x4_s_add`, [
+ i32x4([0x1, 0x2, 0x3, 0x4]),
+ i32x4([0x2, 0x3, 0x4, 0x5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 3),
+ value("f32", 5),
+ value("f32", 7),
+ value("f32", 9),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:761
+assert_return(
+ () => invoke($1, `f32x4_convert_i32x4_s_sub`, [
+ i32x4([0x0, 0x1, 0x2, 0x3]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", 0),
+ value("f32", 1),
+ value("f32", 2),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:764
+assert_return(
+ () => invoke($1, `f32x4_convert_i32x4_u_mul`, [
+ i32x4([0x1, 0x2, 0x3, 0x4]),
+ i32x4([0x1, 0x2, 0x3, 0x4]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 4),
+ value("f32", 9),
+ value("f32", 16),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_conversions.wast:768
+assert_return(
+ () => invoke($1, `i16x8_low_extend_narrow_ss`, [
+ i16x8([0x8000, 0x8001, 0x7fff, 0x8000, 0x8000, 0x8001, 0x7fff, 0x8000]),
+ i16x8([0x8000, 0x8001, 0x7fff, 0x8000, 0x8000, 0x8001, 0x7fff, 0x8000]),
+ ]),
+ [i16x8([0xff80, 0xff80, 0x7f, 0xff80, 0xff80, 0xff80, 0x7f, 0xff80])],
+);
+
+// ./test/core/simd/simd_conversions.wast:771
+assert_return(
+ () => invoke($1, `i16x8_low_extend_narrow_su`, [
+ i16x8([0x8000, 0x8001, 0x7fff, 0xffff, 0x8000, 0x8001, 0x7fff, 0xffff]),
+ i16x8([0x8000, 0x8001, 0x7fff, 0xffff, 0x8000, 0x8001, 0x7fff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0xffff, 0x0, 0x0, 0x0, 0xffff, 0x0])],
+);
+
+// ./test/core/simd/simd_conversions.wast:774
+assert_return(
+ () => invoke($1, `i16x8_high_extend_narrow_ss`, [
+ i16x8([0x8000, 0x8001, 0x7fff, 0x8000, 0x8000, 0x8001, 0x7fff, 0x8000]),
+ i16x8([0x8000, 0x8001, 0x7fff, 0x8000, 0x8000, 0x8001, 0x7fff, 0x8000]),
+ ]),
+ [i16x8([0xff80, 0xff80, 0x7f, 0xff80, 0xff80, 0xff80, 0x7f, 0xff80])],
+);
+
+// ./test/core/simd/simd_conversions.wast:777
+assert_return(
+ () => invoke($1, `i16x8_high_extend_narrow_su`, [
+ i16x8([0x8000, 0x8001, 0x7fff, 0xffff, 0x8000, 0x8001, 0x7fff, 0xffff]),
+ i16x8([0x8000, 0x8001, 0x7fff, 0xffff, 0x8000, 0x8001, 0x7fff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0xffff, 0x0, 0x0, 0x0, 0xffff, 0x0])],
+);
+
+// ./test/core/simd/simd_conversions.wast:780
+assert_return(
+ () => invoke($1, `i16x8_low_extend_narrow_uu`, [
+ i16x8([0x8000, 0x8001, 0x8000, 0xffff, 0x8000, 0x8001, 0x8000, 0xffff]),
+ i16x8([0x8000, 0x8001, 0x8000, 0xffff, 0x8000, 0x8001, 0x8000, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_conversions.wast:783
+assert_return(
+ () => invoke($1, `i16x8_low_extend_narrow_us`, [
+ i16x8([0x8000, 0x8001, 0x7fff, 0x8000, 0x8000, 0x8001, 0x7fff, 0x8000]),
+ i16x8([0x8000, 0x8001, 0x7fff, 0x8000, 0x8000, 0x8001, 0x7fff, 0x8000]),
+ ]),
+ [i16x8([0x80, 0x80, 0x7f, 0x80, 0x80, 0x80, 0x7f, 0x80])],
+);
+
+// ./test/core/simd/simd_conversions.wast:786
+assert_return(
+ () => invoke($1, `i16x8_high_extend_narrow_uu`, [
+ i16x8([0x8000, 0x8001, 0x7fff, 0xffff, 0x8000, 0x8001, 0x7fff, 0xffff]),
+ i16x8([0x8000, 0x8001, 0x7fff, 0xffff, 0x8000, 0x8001, 0x7fff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0xff, 0x0])],
+);
+
+// ./test/core/simd/simd_conversions.wast:789
+assert_return(
+ () => invoke($1, `i16x8_high_extend_narrow_us`, [
+ i16x8([0x8000, 0x8001, 0x7fff, 0x8000, 0x8000, 0x8001, 0x7fff, 0x8000]),
+ i16x8([0x8000, 0x8001, 0x7fff, 0x8000, 0x8000, 0x8001, 0x7fff, 0x8000]),
+ ]),
+ [i16x8([0x80, 0x80, 0x7f, 0x80, 0x80, 0x80, 0x7f, 0x80])],
+);
+
+// ./test/core/simd/simd_conversions.wast:793
+assert_return(
+ () => invoke($1, `i32x4_low_extend_narrow_ss`, [
+ i32x4([0x80000000, 0x80000001, 0x7fffffff, 0x8000000]),
+ i32x4([0x80000000, 0x80000001, 0x7fffffff, 0x8000000]),
+ ]),
+ [i32x4([0xffff8000, 0xffff8000, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_conversions.wast:796
+assert_return(
+ () => invoke($1, `i32x4_low_extend_narrow_su`, [
+ i32x4([0x80000000, 0x80000001, 0x7fffffff, 0xffffffff]),
+ i32x4([0x80000000, 0x80000001, 0x7fffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0xffffffff, 0x0])],
+);
+
+// ./test/core/simd/simd_conversions.wast:799
+assert_return(
+ () => invoke($1, `i32x4_high_extend_narrow_ss`, [
+ i32x4([0x80000000, 0x80000001, 0x7fffffff, 0x8000000]),
+ i32x4([0x80000000, 0x80000001, 0x7fffffff, 0x8000000]),
+ ]),
+ [i32x4([0xffff8000, 0xffff8000, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_conversions.wast:802
+assert_return(
+ () => invoke($1, `i32x4_high_extend_narrow_su`, [
+ i32x4([0x80000000, 0x80000001, 0x7fffffff, 0xffffffff]),
+ i32x4([0x80000000, 0x80000001, 0x7fffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0xffffffff, 0x0])],
+);
+
+// ./test/core/simd/simd_conversions.wast:805
+assert_return(
+ () => invoke($1, `i32x4_low_extend_narrow_uu`, [
+ i32x4([0x80000000, 0x80000001, 0x7fffffff, 0xffffffff]),
+ i32x4([0x80000000, 0x80000001, 0x7fffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0xffff, 0x0])],
+);
+
+// ./test/core/simd/simd_conversions.wast:808
+assert_return(
+ () => invoke($1, `i32x4_low_extend_narrow_us`, [
+ i32x4([0x80000000, 0x80000001, 0x7fffffff, 0x8000000]),
+ i32x4([0x80000000, 0x80000001, 0x7fffffff, 0x8000000]),
+ ]),
+ [i32x4([0x8000, 0x8000, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_conversions.wast:811
+assert_return(
+ () => invoke($1, `i32x4_high_extend_narrow_uu`, [
+ i32x4([0x80000000, 0x80000001, 0x7fffffff, 0xffffffff]),
+ i32x4([0x80000000, 0x80000001, 0x7fffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0xffff, 0x0])],
+);
+
+// ./test/core/simd/simd_conversions.wast:814
+assert_return(
+ () => invoke($1, `i32x4_high_extend_narrow_us`, [
+ i32x4([0x80000000, 0x80000001, 0x7fffffff, 0x8000000]),
+ i32x4([0x80000000, 0x80000001, 0x7fffffff, 0x8000000]),
+ ]),
+ [i32x4([0x8000, 0x8000, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_conversions.wast:820
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f32x4.convert_i32x4_s-arg-empty (result v128)
+ (f32x4.convert_i32x4_s)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_conversions.wast:828
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f32x4.convert_i32x4_u-arg-empty (result v128)
+ (f32x4.convert_i32x4_u)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_conversions.wast:836
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.narrow_i16x8_s-1st-arg-empty (result v128)
+ (i8x16.narrow_i16x8_s (v128.const i16x8 0 0 0 0 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_conversions.wast:844
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.narrow_i16x8_s-arg-empty (result v128)
+ (i8x16.narrow_i16x8_s)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_conversions.wast:852
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.narrow_i16x8_u-1st-arg-empty (result v128)
+ (i8x16.narrow_i16x8_u (v128.const i16x8 0 0 0 0 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_conversions.wast:860
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.narrow_i16x8_u-arg-empty (result v128)
+ (i8x16.narrow_i16x8_u)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_conversions.wast:868
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.narrow_i32x4_s-1st-arg-empty (result v128)
+ (i16x8.narrow_i32x4_s (v128.const i32x4 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_conversions.wast:876
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.narrow_i32x4_s-arg-empty (result v128)
+ (i16x8.narrow_i32x4_s)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_conversions.wast:884
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.narrow_i32x4_u-1st-arg-empty (result v128)
+ (i16x8.narrow_i32x4_u (v128.const i32x4 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_conversions.wast:892
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.narrow_i32x4_u-arg-empty (result v128)
+ (i16x8.narrow_i32x4_u)
+ )
+ )`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/simd_f32x4.wast.js b/js/src/jit-test/tests/wasm/spec/spec/simd_f32x4.wast.js
new file mode 100644
index 0000000000..c3d30b4669
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/simd_f32x4.wast.js
@@ -0,0 +1,18269 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_f32x4.wast
+
+// ./test/core/simd/simd_f32x4.wast:4
+let $0 = instantiate(`(module
+ (func (export "f32x4.min") (param v128 v128) (result v128) (f32x4.min (local.get 0) (local.get 1)))
+ (func (export "f32x4.max") (param v128 v128) (result v128) (f32x4.max (local.get 0) (local.get 1)))
+ (func (export "f32x4.abs") (param v128) (result v128) (f32x4.abs (local.get 0)))
+ ;; f32x4.min const vs const
+ (func (export "f32x4.min_with_const_0") (result v128) (f32x4.min (v128.const f32x4 0 1 2 -3) (v128.const f32x4 0 2 1 3)))
+ (func (export "f32x4.min_with_const_1") (result v128) (f32x4.min (v128.const f32x4 0 1 2 3) (v128.const f32x4 0 1 2 3)))
+ (func (export "f32x4.min_with_const_2") (result v128) (f32x4.min (v128.const f32x4 0x00 0x01 0x02 0x80000000) (v128.const f32x4 0x00 0x02 0x01 2147483648)))
+ (func (export "f32x4.min_with_const_3") (result v128) (f32x4.min (v128.const f32x4 0x00 0x01 0x02 0x80000000) (v128.const f32x4 0x00 0x01 0x02 0x80000000)))
+ ;; f32x4.min param vs const
+ (func (export "f32x4.min_with_const_5")(param v128) (result v128) (f32x4.min (local.get 0) (v128.const f32x4 0 1 2 -3)))
+ (func (export "f32x4.min_with_const_6")(param v128) (result v128) (f32x4.min (v128.const f32x4 0 1 2 3) (local.get 0)))
+ (func (export "f32x4.min_with_const_7")(param v128) (result v128) (f32x4.min (v128.const f32x4 0x00 0x01 0x02 0x80000000) (local.get 0)))
+ (func (export "f32x4.min_with_const_8")(param v128) (result v128) (f32x4.min (local.get 0) (v128.const f32x4 0x00 0x01 0x02 0x80000000)))
+ ;; f32x4.max const vs const
+ (func (export "f32x4.max_with_const_10") (result v128) (f32x4.max (v128.const f32x4 0 1 2 -3) (v128.const f32x4 0 2 1 3)))
+ (func (export "f32x4.max_with_const_11") (result v128) (f32x4.max (v128.const f32x4 0 1 2 3) (v128.const f32x4 0 1 2 3)))
+ (func (export "f32x4.max_with_const_12") (result v128) (f32x4.max (v128.const f32x4 0x00 0x01 0x02 0x80000000) (v128.const f32x4 0x00 0x02 0x01 2147483648)))
+ (func (export "f32x4.max_with_const_13") (result v128) (f32x4.max (v128.const f32x4 0x00 0x01 0x02 0x80000000) (v128.const f32x4 0x00 0x01 0x02 0x80000000)))
+ ;; f32x4.max param vs const
+ (func (export "f32x4.max_with_const_15")(param v128) (result v128) (f32x4.max (local.get 0) (v128.const f32x4 0 1 2 -3)))
+ (func (export "f32x4.max_with_const_16")(param v128) (result v128) (f32x4.max (v128.const f32x4 0 1 2 3) (local.get 0)))
+ (func (export "f32x4.max_with_const_17")(param v128) (result v128) (f32x4.max (v128.const f32x4 0x00 0x01 0x02 0x80000000) (local.get 0)))
+ (func (export "f32x4.max_with_const_18")(param v128) (result v128) (f32x4.max (local.get 0) (v128.const f32x4 0x00 0x01 0x02 0x80000000)))
+
+ (func (export "f32x4.abs_with_const") (result v128) (f32x4.abs (v128.const f32x4 -0 -1 -2 -3)))
+)`);
+
+// ./test/core/simd/simd_f32x4.wast:33
+assert_return(
+ () => invoke($0, `f32x4.min_with_const_0`, []),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", -3),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:34
+assert_return(
+ () => invoke($0, `f32x4.min_with_const_1`, []),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 1),
+ value("f32", 2),
+ value("f32", 3),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:35
+assert_return(
+ () => invoke($0, `f32x4.min_with_const_2`, []),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 2147483600),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:36
+assert_return(
+ () => invoke($0, `f32x4.min_with_const_3`, []),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 1),
+ value("f32", 2),
+ value("f32", 2147483600),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:38
+assert_return(
+ () => invoke($0, `f32x4.min_with_const_5`, [f32x4([0, 2, 1, 3])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", -3),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:40
+assert_return(
+ () => invoke($0, `f32x4.min_with_const_6`, [f32x4([0, 1, 2, 3])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 1),
+ value("f32", 2),
+ value("f32", 3),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:42
+assert_return(
+ () => invoke($0, `f32x4.min_with_const_7`, [f32x4([0, 2, 1, 2147483600])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 2147483600),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:44
+assert_return(
+ () => invoke($0, `f32x4.min_with_const_8`, [f32x4([0, 1, 2, 2147483600])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 1),
+ value("f32", 2),
+ value("f32", 2147483600),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:47
+assert_return(
+ () => invoke($0, `f32x4.max_with_const_10`, []),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 2),
+ value("f32", 2),
+ value("f32", 3),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:48
+assert_return(
+ () => invoke($0, `f32x4.max_with_const_11`, []),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 1),
+ value("f32", 2),
+ value("f32", 3),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:49
+assert_return(
+ () => invoke($0, `f32x4.max_with_const_12`, []),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 2),
+ value("f32", 2),
+ value("f32", 2147483600),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:50
+assert_return(
+ () => invoke($0, `f32x4.max_with_const_13`, []),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 1),
+ value("f32", 2),
+ value("f32", 2147483600),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:52
+assert_return(
+ () => invoke($0, `f32x4.max_with_const_15`, [f32x4([0, 2, 1, 3])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 2),
+ value("f32", 2),
+ value("f32", 3),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:54
+assert_return(
+ () => invoke($0, `f32x4.max_with_const_16`, [f32x4([0, 1, 2, 3])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 1),
+ value("f32", 2),
+ value("f32", 3),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:56
+assert_return(
+ () => invoke($0, `f32x4.max_with_const_17`, [f32x4([0, 2, 1, 2147483600])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 2),
+ value("f32", 2),
+ value("f32", 2147483600),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:58
+assert_return(
+ () => invoke($0, `f32x4.max_with_const_18`, [f32x4([0, 1, 2, 2147483600])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 1),
+ value("f32", 2),
+ value("f32", 2147483600),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:61
+assert_return(
+ () => invoke($0, `f32x4.abs_with_const`, []),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 1),
+ value("f32", 2),
+ value("f32", 3),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:65
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x80,
+ 0x3f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x80,
+ 0x3f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:73
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x80,
+ 0x3f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:81
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x80,
+ 0x3f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x80,
+ 0x3f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:89
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x80,
+ 0x3f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ value("f32", 1),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:97
+assert_return(
+ () => invoke($0, `f32x4.min`, [f32x4([0, 0, 0, 0]), f32x4([0, 0, 0, 0])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:100
+assert_return(
+ () => invoke($0, `f32x4.min`, [f32x4([0, 0, 0, 0]), f32x4([-0, -0, -0, -0])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:103
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:106
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:109
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:112
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:115
+assert_return(
+ () => invoke($0, `f32x4.min`, [f32x4([0, 0, 0, 0]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:118
+assert_return(
+ () => invoke($0, `f32x4.min`, [f32x4([0, 0, 0, 0]), f32x4([-0.5, -0.5, -0.5, -0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:121
+assert_return(
+ () => invoke($0, `f32x4.min`, [f32x4([0, 0, 0, 0]), f32x4([1, 1, 1, 1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:124
+assert_return(
+ () => invoke($0, `f32x4.min`, [f32x4([0, 0, 0, 0]), f32x4([-1, -1, -1, -1])]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:127
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:130
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:133
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:136
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:139
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:142
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:145
+assert_return(
+ () => invoke($0, `f32x4.min`, [f32x4([-0, -0, -0, -0]), f32x4([0, 0, 0, 0])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:148
+assert_return(
+ () => invoke($0, `f32x4.min`, [f32x4([-0, -0, -0, -0]), f32x4([-0, -0, -0, -0])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:151
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:154
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:157
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:160
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:163
+assert_return(
+ () => invoke($0, `f32x4.min`, [f32x4([-0, -0, -0, -0]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:166
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:169
+assert_return(
+ () => invoke($0, `f32x4.min`, [f32x4([-0, -0, -0, -0]), f32x4([1, 1, 1, 1])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:172
+assert_return(
+ () => invoke($0, `f32x4.min`, [f32x4([-0, -0, -0, -0]), f32x4([-1, -1, -1, -1])]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:175
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:178
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:181
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:184
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:187
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:190
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:193
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:196
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:199
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:202
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:205
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:208
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:211
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:214
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:217
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:220
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:223
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:226
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:229
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:232
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:235
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:238
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:241
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:244
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:247
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:250
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:253
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:256
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:259
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:262
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:265
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:268
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:271
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:274
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:277
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:280
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:283
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:286
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:289
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:292
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:295
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:298
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:301
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:304
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:307
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:310
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:313
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:316
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:319
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:322
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:325
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:328
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:331
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:334
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:337
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:340
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:343
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:346
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:349
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:352
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:355
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:358
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:361
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:364
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:367
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:370
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:373
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:376
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:379
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:382
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:385
+assert_return(
+ () => invoke($0, `f32x4.min`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([0, 0, 0, 0])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:388
+assert_return(
+ () => invoke($0, `f32x4.min`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([-0, -0, -0, -0])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:391
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:394
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:397
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:400
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:403
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:406
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:409
+assert_return(
+ () => invoke($0, `f32x4.min`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([1, 1, 1, 1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:412
+assert_return(
+ () => invoke($0, `f32x4.min`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([-1, -1, -1, -1])]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:415
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:418
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:421
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:424
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:427
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:430
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:433
+assert_return(
+ () => invoke($0, `f32x4.min`, [f32x4([-0.5, -0.5, -0.5, -0.5]), f32x4([0, 0, 0, 0])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:436
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:439
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:442
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:445
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:448
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:451
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:454
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:457
+assert_return(
+ () => invoke($0, `f32x4.min`, [f32x4([-0.5, -0.5, -0.5, -0.5]), f32x4([1, 1, 1, 1])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:460
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:463
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:466
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:469
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:472
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:475
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:478
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:481
+assert_return(
+ () => invoke($0, `f32x4.min`, [f32x4([1, 1, 1, 1]), f32x4([0, 0, 0, 0])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:484
+assert_return(
+ () => invoke($0, `f32x4.min`, [f32x4([1, 1, 1, 1]), f32x4([-0, -0, -0, -0])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:487
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:490
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:493
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:496
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:499
+assert_return(
+ () => invoke($0, `f32x4.min`, [f32x4([1, 1, 1, 1]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:502
+assert_return(
+ () => invoke($0, `f32x4.min`, [f32x4([1, 1, 1, 1]), f32x4([-0.5, -0.5, -0.5, -0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:505
+assert_return(
+ () => invoke($0, `f32x4.min`, [f32x4([1, 1, 1, 1]), f32x4([1, 1, 1, 1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:508
+assert_return(
+ () => invoke($0, `f32x4.min`, [f32x4([1, 1, 1, 1]), f32x4([-1, -1, -1, -1])]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:511
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:514
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:517
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:520
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:523
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:526
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:529
+assert_return(
+ () => invoke($0, `f32x4.min`, [f32x4([-1, -1, -1, -1]), f32x4([0, 0, 0, 0])]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:532
+assert_return(
+ () => invoke($0, `f32x4.min`, [f32x4([-1, -1, -1, -1]), f32x4([-0, -0, -0, -0])]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:535
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:538
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:541
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:544
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:547
+assert_return(
+ () => invoke($0, `f32x4.min`, [f32x4([-1, -1, -1, -1]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:550
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:553
+assert_return(
+ () => invoke($0, `f32x4.min`, [f32x4([-1, -1, -1, -1]), f32x4([1, 1, 1, 1])]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:556
+assert_return(
+ () => invoke($0, `f32x4.min`, [f32x4([-1, -1, -1, -1]), f32x4([-1, -1, -1, -1])]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:559
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:562
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:565
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:568
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:571
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:574
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:577
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:580
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:583
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:586
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:589
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:592
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:595
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:598
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:601
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:604
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:607
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:610
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:613
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:616
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:619
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:622
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:625
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:628
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:631
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:634
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:637
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:640
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:643
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:646
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:649
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:652
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:655
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:658
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:661
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:664
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:667
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:670
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:673
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:676
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:679
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:682
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:685
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:688
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:691
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:694
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:697
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:700
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:703
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:706
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:709
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:712
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:715
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:718
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:721
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:724
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:727
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:730
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:733
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:736
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:739
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:742
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:745
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:748
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:751
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:754
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:757
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:760
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:763
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:766
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:769
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:772
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:775
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:778
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:781
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:784
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:787
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:790
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:793
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:796
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:799
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:802
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:805
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:808
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:811
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:814
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:817
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:820
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:823
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:826
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:829
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:832
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:835
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:838
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:841
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:844
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:847
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:850
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:853
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:856
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:859
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:862
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:865
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:868
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:871
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:874
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:877
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-123456790, -123456790, -123456790, -123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -123456790),
+ value("f32", -123456790),
+ value("f32", -123456790),
+ value("f32", -123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:880
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:883
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:886
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:889
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:892
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([-123456790, -123456790, -123456790, -123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -123456790),
+ value("f32", -123456790),
+ value("f32", -123456790),
+ value("f32", -123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:895
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:898
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:901
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:904
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:907
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-123456790, -123456790, -123456790, -123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -123456790),
+ value("f32", -123456790),
+ value("f32", -123456790),
+ value("f32", -123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:910
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:913
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:916
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:919
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:922
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-123456790, -123456790, -123456790, -123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -123456790),
+ value("f32", -123456790),
+ value("f32", -123456790),
+ value("f32", -123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:925
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-123456790, -123456790, -123456790, -123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -123456790),
+ value("f32", -123456790),
+ value("f32", -123456790),
+ value("f32", -123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:928
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-123456790, -123456790, -123456790, -123456790]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -123456790),
+ value("f32", -123456790),
+ value("f32", -123456790),
+ value("f32", -123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:931
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-123456790, -123456790, -123456790, -123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -123456790),
+ value("f32", -123456790),
+ value("f32", -123456790),
+ value("f32", -123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:934
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-123456790, -123456790, -123456790, -123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -123456790),
+ value("f32", -123456790),
+ value("f32", -123456790),
+ value("f32", -123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:937
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ f32x4([-123456790, -123456790, -123456790, -123456790]),
+ f32x4([-123456790, -123456790, -123456790, -123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -123456790),
+ value("f32", -123456790),
+ value("f32", -123456790),
+ value("f32", -123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:940
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:943
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:946
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:949
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:952
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:955
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:958
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:961
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:964
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:967
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:970
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:973
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:976
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:979
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:982
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:985
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:988
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:991
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:994
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:997
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1000
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1003
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1006
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1009
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1012
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1015
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1018
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1021
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1024
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1027
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1030
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1033
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1036
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1039
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1042
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1045
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1048
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1051
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1054
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1057
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1060
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1063
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1066
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1069
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1072
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1075
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1078
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1081
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1084
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1087
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1090
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1093
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1096
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1099
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1102
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1105
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1108
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1111
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1114
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1117
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1120
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1123
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1126
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1129
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1132
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1135
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1138
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1141
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1144
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1147
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1150
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1153
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1156
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1159
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1162
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1165
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1168
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1171
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1174
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1177
+assert_return(
+ () => invoke($0, `f32x4.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1180
+assert_return(
+ () => invoke($0, `f32x4.max`, [f32x4([0, 0, 0, 0]), f32x4([0, 0, 0, 0])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1183
+assert_return(
+ () => invoke($0, `f32x4.max`, [f32x4([0, 0, 0, 0]), f32x4([-0, -0, -0, -0])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1186
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1189
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1192
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1195
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1198
+assert_return(
+ () => invoke($0, `f32x4.max`, [f32x4([0, 0, 0, 0]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1201
+assert_return(
+ () => invoke($0, `f32x4.max`, [f32x4([0, 0, 0, 0]), f32x4([-0.5, -0.5, -0.5, -0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1204
+assert_return(
+ () => invoke($0, `f32x4.max`, [f32x4([0, 0, 0, 0]), f32x4([1, 1, 1, 1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1207
+assert_return(
+ () => invoke($0, `f32x4.max`, [f32x4([0, 0, 0, 0]), f32x4([-1, -1, -1, -1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1210
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1213
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1216
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1219
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1222
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1225
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1228
+assert_return(
+ () => invoke($0, `f32x4.max`, [f32x4([-0, -0, -0, -0]), f32x4([0, 0, 0, 0])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1231
+assert_return(
+ () => invoke($0, `f32x4.max`, [f32x4([-0, -0, -0, -0]), f32x4([-0, -0, -0, -0])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1234
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1237
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1240
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1243
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1246
+assert_return(
+ () => invoke($0, `f32x4.max`, [f32x4([-0, -0, -0, -0]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1249
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1252
+assert_return(
+ () => invoke($0, `f32x4.max`, [f32x4([-0, -0, -0, -0]), f32x4([1, 1, 1, 1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1255
+assert_return(
+ () => invoke($0, `f32x4.max`, [f32x4([-0, -0, -0, -0]), f32x4([-1, -1, -1, -1])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1258
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1261
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1264
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1267
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1270
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1273
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1276
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1279
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1282
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1285
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1288
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1291
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1294
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1297
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1300
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1303
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1306
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1309
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1312
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1315
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1318
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1321
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1324
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1327
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1330
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1333
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1336
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1339
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1342
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1345
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1348
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1351
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1354
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1357
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1360
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1363
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1366
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1369
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1372
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1375
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1378
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1381
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1384
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1387
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1390
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1393
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1396
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1399
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1402
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1405
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1408
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1411
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1414
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1417
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1420
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1423
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1426
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1429
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1432
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1435
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1438
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1441
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1444
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1447
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1450
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1453
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1456
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1459
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1462
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1465
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1468
+assert_return(
+ () => invoke($0, `f32x4.max`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([0, 0, 0, 0])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1471
+assert_return(
+ () => invoke($0, `f32x4.max`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([-0, -0, -0, -0])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1474
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1477
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1480
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1483
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1486
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1489
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1492
+assert_return(
+ () => invoke($0, `f32x4.max`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([1, 1, 1, 1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1495
+assert_return(
+ () => invoke($0, `f32x4.max`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([-1, -1, -1, -1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1498
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1501
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1504
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1507
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1510
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1513
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1516
+assert_return(
+ () => invoke($0, `f32x4.max`, [f32x4([-0.5, -0.5, -0.5, -0.5]), f32x4([0, 0, 0, 0])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1519
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1522
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1525
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1528
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1531
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1534
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1537
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1540
+assert_return(
+ () => invoke($0, `f32x4.max`, [f32x4([-0.5, -0.5, -0.5, -0.5]), f32x4([1, 1, 1, 1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1543
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1546
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1549
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1552
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1555
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1558
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1561
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1564
+assert_return(
+ () => invoke($0, `f32x4.max`, [f32x4([1, 1, 1, 1]), f32x4([0, 0, 0, 0])]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1567
+assert_return(
+ () => invoke($0, `f32x4.max`, [f32x4([1, 1, 1, 1]), f32x4([-0, -0, -0, -0])]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1570
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1573
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1576
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1579
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1582
+assert_return(
+ () => invoke($0, `f32x4.max`, [f32x4([1, 1, 1, 1]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1585
+assert_return(
+ () => invoke($0, `f32x4.max`, [f32x4([1, 1, 1, 1]), f32x4([-0.5, -0.5, -0.5, -0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1588
+assert_return(
+ () => invoke($0, `f32x4.max`, [f32x4([1, 1, 1, 1]), f32x4([1, 1, 1, 1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1591
+assert_return(
+ () => invoke($0, `f32x4.max`, [f32x4([1, 1, 1, 1]), f32x4([-1, -1, -1, -1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1594
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1597
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1600
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1603
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1606
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1609
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1612
+assert_return(
+ () => invoke($0, `f32x4.max`, [f32x4([-1, -1, -1, -1]), f32x4([0, 0, 0, 0])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1615
+assert_return(
+ () => invoke($0, `f32x4.max`, [f32x4([-1, -1, -1, -1]), f32x4([-0, -0, -0, -0])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1618
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1621
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1624
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1627
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1630
+assert_return(
+ () => invoke($0, `f32x4.max`, [f32x4([-1, -1, -1, -1]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1633
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1636
+assert_return(
+ () => invoke($0, `f32x4.max`, [f32x4([-1, -1, -1, -1]), f32x4([1, 1, 1, 1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1639
+assert_return(
+ () => invoke($0, `f32x4.max`, [f32x4([-1, -1, -1, -1]), f32x4([-1, -1, -1, -1])]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1642
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1645
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1648
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1651
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1654
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1657
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1660
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1663
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1666
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1669
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1672
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1675
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1678
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1681
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1684
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1687
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1690
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1693
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1696
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1699
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1702
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1705
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1708
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1711
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1714
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1717
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1720
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1723
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1726
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1729
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1732
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1735
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1738
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1741
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1744
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1747
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1750
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1753
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1756
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1759
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1762
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1765
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1768
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1771
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1774
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1777
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1780
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1783
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1786
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1789
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1792
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1795
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1798
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1801
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1804
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1807
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1810
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1813
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1816
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1819
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1822
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1825
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1828
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1831
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1834
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1837
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1840
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1843
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1846
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1849
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1852
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1855
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1858
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1861
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1864
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1867
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1870
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1873
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1876
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1879
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1882
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1885
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1888
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1891
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1894
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1897
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1900
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1903
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1906
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1909
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1912
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1915
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1918
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1921
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1924
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1927
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1930
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1933
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1936
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1939
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1942
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1945
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1948
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1951
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1954
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1957
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1960
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-123456790, -123456790, -123456790, -123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1963
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1966
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1969
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1972
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1975
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([-123456790, -123456790, -123456790, -123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1978
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1981
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1984
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1987
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1990
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-123456790, -123456790, -123456790, -123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1993
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1996
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:1999
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2002
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2005
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-123456790, -123456790, -123456790, -123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2008
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-123456790, -123456790, -123456790, -123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2011
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-123456790, -123456790, -123456790, -123456790]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2014
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-123456790, -123456790, -123456790, -123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2017
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-123456790, -123456790, -123456790, -123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2020
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ f32x4([-123456790, -123456790, -123456790, -123456790]),
+ f32x4([-123456790, -123456790, -123456790, -123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -123456790),
+ value("f32", -123456790),
+ value("f32", -123456790),
+ value("f32", -123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2023
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2026
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2029
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2032
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2035
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2038
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2041
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2044
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2047
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2050
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2053
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2056
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2059
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2062
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2065
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2068
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2071
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2074
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2077
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2080
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2083
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2086
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2089
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2092
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2095
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2098
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2101
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2104
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2107
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2110
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2113
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2116
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2119
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2122
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2125
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2128
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2131
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2134
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2137
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2140
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2143
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2146
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2149
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2152
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2155
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2158
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2161
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2164
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2167
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2170
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2173
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2176
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2179
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2182
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2185
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2188
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2191
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2194
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2197
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2200
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2203
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2206
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2209
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2212
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2215
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2218
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2221
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2224
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2227
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2230
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2233
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2236
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2239
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2242
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2245
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2248
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2251
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2254
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2257
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2260
+assert_return(
+ () => invoke($0, `f32x4.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2265
+assert_return(
+ () => invoke($0, `f32x4.min`, [f32x4([0, 0, -0, 0]), f32x4([0, -0, 0, -0])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2268
+assert_return(
+ () => invoke($0, `f32x4.min`, [f32x4([-0, -0, -0, -0]), f32x4([0, 0, 0, 0])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2271
+assert_return(
+ () => invoke($0, `f32x4.max`, [f32x4([0, 0, -0, 0]), f32x4([0, -0, 0, -0])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2274
+assert_return(
+ () => invoke($0, `f32x4.max`, [f32x4([-0, -0, -0, -0]), f32x4([0, 0, 0, 0])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2279
+assert_return(
+ () => invoke($0, `f32x4.abs`, [f32x4([0, 0, 0, 0])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2281
+assert_return(
+ () => invoke($0, `f32x4.abs`, [f32x4([-0, -0, -0, -0])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2283
+assert_return(
+ () => invoke($0, `f32x4.abs`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2285
+assert_return(
+ () => invoke($0, `f32x4.abs`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2287
+assert_return(
+ () => invoke($0, `f32x4.abs`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2289
+assert_return(
+ () => invoke($0, `f32x4.abs`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2291
+assert_return(
+ () => invoke($0, `f32x4.abs`, [f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2293
+assert_return(
+ () => invoke($0, `f32x4.abs`, [f32x4([-0.5, -0.5, -0.5, -0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2295
+assert_return(
+ () => invoke($0, `f32x4.abs`, [f32x4([1, 1, 1, 1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2297
+assert_return(
+ () => invoke($0, `f32x4.abs`, [f32x4([-1, -1, -1, -1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2299
+assert_return(
+ () => invoke($0, `f32x4.abs`, [f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855])]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2301
+assert_return(
+ () => invoke($0, `f32x4.abs`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2303
+assert_return(
+ () => invoke($0, `f32x4.abs`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2305
+assert_return(
+ () => invoke($0, `f32x4.abs`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2307
+assert_return(
+ () => invoke($0, `f32x4.abs`, [f32x4([Infinity, Infinity, Infinity, Infinity])]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2309
+assert_return(
+ () => invoke($0, `f32x4.abs`, [f32x4([-Infinity, -Infinity, -Infinity, -Infinity])]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2311
+assert_return(
+ () => invoke($0, `f32x4.abs`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2313
+assert_return(
+ () => invoke($0, `f32x4.abs`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2315
+assert_return(
+ () => invoke($0, `f32x4.abs`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2317
+assert_return(
+ () => invoke($0, `f32x4.abs`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2319
+assert_return(
+ () => invoke($0, `f32x4.abs`, [
+ f32x4([-123456790, -123456790, -123456790, -123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2325
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i8x16.min (v128.const i32x4 0 0 0 0) (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f32x4.wast:2326
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i8x16.max (v128.const i32x4 0 0 0 0) (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f32x4.wast:2327
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i16x8.min (v128.const i32x4 0 0 0 0) (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f32x4.wast:2328
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i16x8.max (v128.const i32x4 0 0 0 0) (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f32x4.wast:2329
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i32x4.min (v128.const i32x4 0 0 0 0) (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f32x4.wast:2330
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i32x4.max (v128.const i32x4 0 0 0 0) (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f32x4.wast:2331
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i64x2.min (v128.const i32x4 0 0 0 0) (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f32x4.wast:2332
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i64x2.max (v128.const i32x4 0 0 0 0) (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f32x4.wast:2335
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (f32x4.abs (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f32x4.wast:2336
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (f32x4.min (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f32x4.wast:2337
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (f32x4.max (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f32x4.wast:2341
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f32x4.abs-arg-empty (result v128)
+ (f32x4.abs)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f32x4.wast:2349
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f32x4.min-1st-arg-empty (result v128)
+ (f32x4.min (v128.const f32x4 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f32x4.wast:2357
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f32x4.min-arg-empty (result v128)
+ (f32x4.min)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f32x4.wast:2365
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f32x4.max-1st-arg-empty (result v128)
+ (f32x4.max (v128.const f32x4 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f32x4.wast:2373
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f32x4.max-arg-empty (result v128)
+ (f32x4.max)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f32x4.wast:2383
+let $1 = instantiate(`(module
+ (func (export "max-min") (param v128 v128 v128) (result v128)
+ (f32x4.max (f32x4.min (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "min-max") (param v128 v128 v128) (result v128)
+ (f32x4.min (f32x4.max (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "max-abs") (param v128 v128) (result v128)
+ (f32x4.max (f32x4.abs (local.get 0)) (local.get 1)))
+ (func (export "min-abs") (param v128 v128) (result v128)
+ (f32x4.min (f32x4.abs (local.get 0)) (local.get 1)))
+)`);
+
+// ./test/core/simd/simd_f32x4.wast:2394
+assert_return(
+ () => invoke($1, `max-min`, [
+ f32x4([1.125, 1.125, 1.125, 1.125]),
+ f32x4([0.25, 0.25, 0.25, 0.25]),
+ f32x4([0.125, 0.125, 0.125, 0.125]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.25),
+ value("f32", 0.25),
+ value("f32", 0.25),
+ value("f32", 0.25),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2398
+assert_return(
+ () => invoke($1, `min-max`, [
+ f32x4([1.125, 1.125, 1.125, 1.125]),
+ f32x4([0.25, 0.25, 0.25, 0.25]),
+ f32x4([0.125, 0.125, 0.125, 0.125]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.125),
+ value("f32", 0.125),
+ value("f32", 0.125),
+ value("f32", 0.125),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2402
+assert_return(
+ () => invoke($1, `max-abs`, [
+ f32x4([-1.125, -1.125, -1.125, -1.125]),
+ f32x4([0.125, 0.125, 0.125, 0.125]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1.125),
+ value("f32", 1.125),
+ value("f32", 1.125),
+ value("f32", 1.125),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4.wast:2405
+assert_return(
+ () => invoke($1, `min-abs`, [
+ f32x4([-1.125, -1.125, -1.125, -1.125]),
+ f32x4([0.125, 0.125, 0.125, 0.125]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.125),
+ value("f32", 0.125),
+ value("f32", 0.125),
+ value("f32", 0.125),
+ ),
+ ],
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/simd_f32x4_arith.wast.js b/js/src/jit-test/tests/wasm/spec/spec/simd_f32x4_arith.wast.js
new file mode 100644
index 0000000000..44410bfa92
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/simd_f32x4_arith.wast.js
@@ -0,0 +1,45212 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_f32x4_arith.wast
+
+// ./test/core/simd/simd_f32x4_arith.wast:4
+let $0 = instantiate(`(module
+ (func (export "f32x4.add") (param v128 v128) (result v128) (f32x4.add (local.get 0) (local.get 1)))
+ (func (export "f32x4.sub") (param v128 v128) (result v128) (f32x4.sub (local.get 0) (local.get 1)))
+ (func (export "f32x4.mul") (param v128 v128) (result v128) (f32x4.mul (local.get 0) (local.get 1)))
+ (func (export "f32x4.div") (param v128 v128) (result v128) (f32x4.div (local.get 0) (local.get 1)))
+ (func (export "f32x4.neg") (param v128) (result v128) (f32x4.neg (local.get 0)))
+ (func (export "f32x4.sqrt") (param v128) (result v128) (f32x4.sqrt (local.get 0)))
+)`);
+
+// ./test/core/simd/simd_f32x4_arith.wast:13
+assert_return(
+ () => invoke($0, `f32x4.add`, [f32x4([0, 0, 0, 0]), f32x4([0, 0, 0, 0])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:16
+assert_return(
+ () => invoke($0, `f32x4.add`, [f32x4([0, 0, 0, 0]), f32x4([-0, -0, -0, -0])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:19
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:22
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:25
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:28
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:31
+assert_return(
+ () => invoke($0, `f32x4.add`, [f32x4([0, 0, 0, 0]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:34
+assert_return(
+ () => invoke($0, `f32x4.add`, [f32x4([0, 0, 0, 0]), f32x4([-0.5, -0.5, -0.5, -0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:37
+assert_return(
+ () => invoke($0, `f32x4.add`, [f32x4([0, 0, 0, 0]), f32x4([1, 1, 1, 1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:40
+assert_return(
+ () => invoke($0, `f32x4.add`, [f32x4([0, 0, 0, 0]), f32x4([-1, -1, -1, -1])]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:43
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:46
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:49
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:52
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:55
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:58
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:61
+assert_return(
+ () => invoke($0, `f32x4.add`, [f32x4([-0, -0, -0, -0]), f32x4([0, 0, 0, 0])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:64
+assert_return(
+ () => invoke($0, `f32x4.add`, [f32x4([-0, -0, -0, -0]), f32x4([-0, -0, -0, -0])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:67
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:70
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:73
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:76
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:79
+assert_return(
+ () => invoke($0, `f32x4.add`, [f32x4([-0, -0, -0, -0]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:82
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:85
+assert_return(
+ () => invoke($0, `f32x4.add`, [f32x4([-0, -0, -0, -0]), f32x4([1, 1, 1, 1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:88
+assert_return(
+ () => invoke($0, `f32x4.add`, [f32x4([-0, -0, -0, -0]), f32x4([-1, -1, -1, -1])]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:91
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:94
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:97
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:100
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:103
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:106
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:109
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:112
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:115
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000003),
+ value("f32", 0.000000000000000000000000000000000000000000003),
+ value("f32", 0.000000000000000000000000000000000000000000003),
+ value("f32", 0.000000000000000000000000000000000000000000003),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:118
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:121
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754945),
+ value("f32", 0.000000000000000000000000000000000000011754945),
+ value("f32", 0.000000000000000000000000000000000000011754945),
+ value("f32", 0.000000000000000000000000000000000000011754945),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:124
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754942),
+ value("f32", -0.000000000000000000000000000000000000011754942),
+ value("f32", -0.000000000000000000000000000000000000011754942),
+ value("f32", -0.000000000000000000000000000000000000011754942),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:127
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:130
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:133
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:136
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:139
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:142
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:145
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:148
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:151
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:154
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:157
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:160
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:163
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:166
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000003),
+ value("f32", -0.000000000000000000000000000000000000000000003),
+ value("f32", -0.000000000000000000000000000000000000000000003),
+ value("f32", -0.000000000000000000000000000000000000000000003),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:169
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754942),
+ value("f32", 0.000000000000000000000000000000000000011754942),
+ value("f32", 0.000000000000000000000000000000000000011754942),
+ value("f32", 0.000000000000000000000000000000000000011754942),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:172
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754945),
+ value("f32", -0.000000000000000000000000000000000000011754945),
+ value("f32", -0.000000000000000000000000000000000000011754945),
+ value("f32", -0.000000000000000000000000000000000000011754945),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:175
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:178
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:181
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:184
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:187
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:190
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:193
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:196
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:199
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:202
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:205
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:208
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:211
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754945),
+ value("f32", 0.000000000000000000000000000000000000011754945),
+ value("f32", 0.000000000000000000000000000000000000011754945),
+ value("f32", 0.000000000000000000000000000000000000011754945),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:214
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754942),
+ value("f32", 0.000000000000000000000000000000000000011754942),
+ value("f32", 0.000000000000000000000000000000000000011754942),
+ value("f32", 0.000000000000000000000000000000000000011754942),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:217
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000023509887),
+ value("f32", 0.000000000000000000000000000000000000023509887),
+ value("f32", 0.000000000000000000000000000000000000023509887),
+ value("f32", 0.000000000000000000000000000000000000023509887),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:220
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:223
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:226
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:229
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:232
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:235
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:238
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:241
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:244
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:247
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:250
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:253
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:256
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:259
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754942),
+ value("f32", -0.000000000000000000000000000000000000011754942),
+ value("f32", -0.000000000000000000000000000000000000011754942),
+ value("f32", -0.000000000000000000000000000000000000011754942),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:262
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754945),
+ value("f32", -0.000000000000000000000000000000000000011754945),
+ value("f32", -0.000000000000000000000000000000000000011754945),
+ value("f32", -0.000000000000000000000000000000000000011754945),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:265
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:268
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000023509887),
+ value("f32", -0.000000000000000000000000000000000000023509887),
+ value("f32", -0.000000000000000000000000000000000000023509887),
+ value("f32", -0.000000000000000000000000000000000000023509887),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:271
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:274
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:277
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:280
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:283
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:286
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:289
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:292
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:295
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:298
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:301
+assert_return(
+ () => invoke($0, `f32x4.add`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([0, 0, 0, 0])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:304
+assert_return(
+ () => invoke($0, `f32x4.add`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([-0, -0, -0, -0])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:307
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:310
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:313
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:316
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:319
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:322
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:325
+assert_return(
+ () => invoke($0, `f32x4.add`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([1, 1, 1, 1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 1.5),
+ value("f32", 1.5),
+ value("f32", 1.5),
+ value("f32", 1.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:328
+assert_return(
+ () => invoke($0, `f32x4.add`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([-1, -1, -1, -1])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:331
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.7831855),
+ value("f32", 6.7831855),
+ value("f32", 6.7831855),
+ value("f32", 6.7831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:334
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -5.7831855),
+ value("f32", -5.7831855),
+ value("f32", -5.7831855),
+ value("f32", -5.7831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:337
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:340
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:343
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:346
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:349
+assert_return(
+ () => invoke($0, `f32x4.add`, [f32x4([-0.5, -0.5, -0.5, -0.5]), f32x4([0, 0, 0, 0])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:352
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:355
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:358
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:361
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:364
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:367
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:370
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:373
+assert_return(
+ () => invoke($0, `f32x4.add`, [f32x4([-0.5, -0.5, -0.5, -0.5]), f32x4([1, 1, 1, 1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:376
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1.5),
+ value("f32", -1.5),
+ value("f32", -1.5),
+ value("f32", -1.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:379
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 5.7831855),
+ value("f32", 5.7831855),
+ value("f32", 5.7831855),
+ value("f32", 5.7831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:382
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.7831855),
+ value("f32", -6.7831855),
+ value("f32", -6.7831855),
+ value("f32", -6.7831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:385
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:388
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:391
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:394
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:397
+assert_return(
+ () => invoke($0, `f32x4.add`, [f32x4([1, 1, 1, 1]), f32x4([0, 0, 0, 0])]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:400
+assert_return(
+ () => invoke($0, `f32x4.add`, [f32x4([1, 1, 1, 1]), f32x4([-0, -0, -0, -0])]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:403
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:406
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:409
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:412
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:415
+assert_return(
+ () => invoke($0, `f32x4.add`, [f32x4([1, 1, 1, 1]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", 1.5),
+ value("f32", 1.5),
+ value("f32", 1.5),
+ value("f32", 1.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:418
+assert_return(
+ () => invoke($0, `f32x4.add`, [f32x4([1, 1, 1, 1]), f32x4([-0.5, -0.5, -0.5, -0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:421
+assert_return(
+ () => invoke($0, `f32x4.add`, [f32x4([1, 1, 1, 1]), f32x4([1, 1, 1, 1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 2),
+ value("f32", 2),
+ value("f32", 2),
+ value("f32", 2),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:424
+assert_return(
+ () => invoke($0, `f32x4.add`, [f32x4([1, 1, 1, 1]), f32x4([-1, -1, -1, -1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:427
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 7.2831855),
+ value("f32", 7.2831855),
+ value("f32", 7.2831855),
+ value("f32", 7.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:430
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -5.2831855),
+ value("f32", -5.2831855),
+ value("f32", -5.2831855),
+ value("f32", -5.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:433
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:436
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:439
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:442
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:445
+assert_return(
+ () => invoke($0, `f32x4.add`, [f32x4([-1, -1, -1, -1]), f32x4([0, 0, 0, 0])]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:448
+assert_return(
+ () => invoke($0, `f32x4.add`, [f32x4([-1, -1, -1, -1]), f32x4([-0, -0, -0, -0])]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:451
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:454
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:457
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:460
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:463
+assert_return(
+ () => invoke($0, `f32x4.add`, [f32x4([-1, -1, -1, -1]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:466
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1.5),
+ value("f32", -1.5),
+ value("f32", -1.5),
+ value("f32", -1.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:469
+assert_return(
+ () => invoke($0, `f32x4.add`, [f32x4([-1, -1, -1, -1]), f32x4([1, 1, 1, 1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:472
+assert_return(
+ () => invoke($0, `f32x4.add`, [f32x4([-1, -1, -1, -1]), f32x4([-1, -1, -1, -1])]),
+ [
+ new F32x4Pattern(
+ value("f32", -2),
+ value("f32", -2),
+ value("f32", -2),
+ value("f32", -2),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:475
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 5.2831855),
+ value("f32", 5.2831855),
+ value("f32", 5.2831855),
+ value("f32", 5.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:478
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -7.2831855),
+ value("f32", -7.2831855),
+ value("f32", -7.2831855),
+ value("f32", -7.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:481
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:484
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:487
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:490
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:493
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:496
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:499
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:502
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:505
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:508
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:511
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.7831855),
+ value("f32", 6.7831855),
+ value("f32", 6.7831855),
+ value("f32", 6.7831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:514
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 5.7831855),
+ value("f32", 5.7831855),
+ value("f32", 5.7831855),
+ value("f32", 5.7831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:517
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 7.2831855),
+ value("f32", 7.2831855),
+ value("f32", 7.2831855),
+ value("f32", 7.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:520
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 5.2831855),
+ value("f32", 5.2831855),
+ value("f32", 5.2831855),
+ value("f32", 5.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:523
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 12.566371),
+ value("f32", 12.566371),
+ value("f32", 12.566371),
+ value("f32", 12.566371),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:526
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:529
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:532
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:535
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:538
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:541
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:544
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:547
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:550
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:553
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:556
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:559
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -5.7831855),
+ value("f32", -5.7831855),
+ value("f32", -5.7831855),
+ value("f32", -5.7831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:562
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.7831855),
+ value("f32", -6.7831855),
+ value("f32", -6.7831855),
+ value("f32", -6.7831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:565
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -5.2831855),
+ value("f32", -5.2831855),
+ value("f32", -5.2831855),
+ value("f32", -5.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:568
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -7.2831855),
+ value("f32", -7.2831855),
+ value("f32", -7.2831855),
+ value("f32", -7.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:571
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:574
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -12.566371),
+ value("f32", -12.566371),
+ value("f32", -12.566371),
+ value("f32", -12.566371),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:577
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:580
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:583
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:586
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:589
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:592
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:595
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:598
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:601
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:604
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:607
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:610
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:613
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:616
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:619
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:622
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:625
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:628
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:631
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:634
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:637
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:640
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:643
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:646
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:649
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:652
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:655
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:658
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:661
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:664
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:667
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:670
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:673
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:676
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:679
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:682
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:685
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:688
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:691
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:694
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:697
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:700
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:703
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:706
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:709
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:712
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:715
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:718
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:721
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:724
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:727
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:730
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:733
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:736
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:739
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:742
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:745
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:748
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:751
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:754
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:757
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:760
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:763
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:766
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:769
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:772
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:775
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:778
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:781
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:784
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([0, 0, 0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:787
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:790
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-0, -0, -0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:793
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:796
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:799
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:802
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:805
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:808
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:811
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:814
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:817
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:820
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:823
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:826
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:829
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:832
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([1, 1, 1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:835
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:838
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-1, -1, -1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:841
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:844
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:847
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:850
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:853
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:856
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:859
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:862
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:865
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:868
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:871
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:874
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:877
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:880
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:883
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:886
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:889
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:892
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([0, 0, 0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:895
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:898
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-0, -0, -0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:901
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:904
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:907
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:910
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:913
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:916
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:919
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:922
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:925
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:928
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:931
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:934
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:937
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:940
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([1, 1, 1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:943
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:946
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-1, -1, -1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:949
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:952
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:955
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:958
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:961
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:964
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:967
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:970
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:973
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:976
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:979
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:982
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:985
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:988
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:991
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:994
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:997
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1000
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([0, 0, 0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1003
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1006
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-0, -0, -0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1009
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1012
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1015
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1018
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1021
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1024
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1027
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1030
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1033
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1036
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1039
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1042
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1045
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1048
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([1, 1, 1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1051
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1054
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-1, -1, -1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1057
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1060
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1063
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1066
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1069
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1072
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1075
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1078
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1081
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1084
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1087
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1090
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1093
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1096
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1099
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1102
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1105
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1108
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([0, 0, 0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1111
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1114
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-0, -0, -0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1117
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1120
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1123
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1126
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1129
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1132
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1135
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1138
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1141
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1144
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1147
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1150
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1153
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1156
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([1, 1, 1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1159
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1162
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-1, -1, -1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1165
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1168
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1171
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1174
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1177
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1180
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1183
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1186
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1189
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1192
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1195
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1198
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1201
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1204
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1207
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1210
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1213
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 246913580),
+ value("f32", 246913580),
+ value("f32", 246913580),
+ value("f32", 246913580),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1216
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 2469135800000000000000000000),
+ value("f32", 2469135800000000000000000000),
+ value("f32", 2469135800000000000000000000),
+ value("f32", 2469135800000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1219
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 2469135800000000000000000000),
+ value("f32", 2469135800000000000000000000),
+ value("f32", 2469135800000000000000000000),
+ value("f32", 2469135800000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1222
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000024691358),
+ value("f32", 0.000000000024691358),
+ value("f32", 0.000000000024691358),
+ value("f32", 0.000000000024691358),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1225
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 246913580),
+ value("f32", 246913580),
+ value("f32", 246913580),
+ value("f32", 246913580),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1228
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 2469135800000000000000000000),
+ value("f32", 2469135800000000000000000000),
+ value("f32", 2469135800000000000000000000),
+ value("f32", 2469135800000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1231
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 2469135800000000000000000000),
+ value("f32", 2469135800000000000000000000),
+ value("f32", 2469135800000000000000000000),
+ value("f32", 2469135800000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1234
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000024691358),
+ value("f32", 0.000000000024691358),
+ value("f32", 0.000000000024691358),
+ value("f32", 0.000000000024691358),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1237
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 246913580),
+ value("f32", 246913580),
+ value("f32", 246913580),
+ value("f32", 246913580),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1240
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 2469135800000000000000000000),
+ value("f32", 2469135800000000000000000000),
+ value("f32", 2469135800000000000000000000),
+ value("f32", 2469135800000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1243
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 2469135800000000000000000000),
+ value("f32", 2469135800000000000000000000),
+ value("f32", 2469135800000000000000000000),
+ value("f32", 2469135800000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1246
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000024691358),
+ value("f32", 0.000000000024691358),
+ value("f32", 0.000000000024691358),
+ value("f32", 0.000000000024691358),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1249
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 163971060000000000),
+ value("f32", 163971060000000000),
+ value("f32", 163971060000000000),
+ value("f32", 163971060000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1252
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 85968060000000000000000),
+ value("f32", 85968060000000000000000),
+ value("f32", 85968060000000000000000),
+ value("f32", 85968060000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1255
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 85968060000000000000000),
+ value("f32", 85968060000000000000000),
+ value("f32", 85968060000000000000000),
+ value("f32", 85968060000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1258
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 312749980000),
+ value("f32", 312749980000),
+ value("f32", 312749980000),
+ value("f32", 312749980000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1261
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 163971060000000000),
+ value("f32", 163971060000000000),
+ value("f32", 163971060000000000),
+ value("f32", 163971060000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1264
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 85968060000000000000000),
+ value("f32", 85968060000000000000000),
+ value("f32", 85968060000000000000000),
+ value("f32", 85968060000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1267
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 85968060000000000000000),
+ value("f32", 85968060000000000000000),
+ value("f32", 85968060000000000000000),
+ value("f32", 85968060000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1270
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 312749980000),
+ value("f32", 312749980000),
+ value("f32", 312749980000),
+ value("f32", 312749980000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1273
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 163971060000000000),
+ value("f32", 163971060000000000),
+ value("f32", 163971060000000000),
+ value("f32", 163971060000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1276
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 85968060000000000000000),
+ value("f32", 85968060000000000000000),
+ value("f32", 85968060000000000000000),
+ value("f32", 85968060000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1279
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 85968060000000000000000),
+ value("f32", 85968060000000000000000),
+ value("f32", 85968060000000000000000),
+ value("f32", 85968060000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1282
+assert_return(
+ () => invoke($0, `f32x4.add`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 312749980000),
+ value("f32", 312749980000),
+ value("f32", 312749980000),
+ value("f32", 312749980000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1285
+assert_return(
+ () => invoke($0, `f32x4.sub`, [f32x4([0, 0, 0, 0]), f32x4([0, 0, 0, 0])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1288
+assert_return(
+ () => invoke($0, `f32x4.sub`, [f32x4([0, 0, 0, 0]), f32x4([-0, -0, -0, -0])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1291
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1294
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1297
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1300
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1303
+assert_return(
+ () => invoke($0, `f32x4.sub`, [f32x4([0, 0, 0, 0]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1306
+assert_return(
+ () => invoke($0, `f32x4.sub`, [f32x4([0, 0, 0, 0]), f32x4([-0.5, -0.5, -0.5, -0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1309
+assert_return(
+ () => invoke($0, `f32x4.sub`, [f32x4([0, 0, 0, 0]), f32x4([1, 1, 1, 1])]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1312
+assert_return(
+ () => invoke($0, `f32x4.sub`, [f32x4([0, 0, 0, 0]), f32x4([-1, -1, -1, -1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1315
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1318
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1321
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1324
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1327
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1330
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1333
+assert_return(
+ () => invoke($0, `f32x4.sub`, [f32x4([-0, -0, -0, -0]), f32x4([0, 0, 0, 0])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1336
+assert_return(
+ () => invoke($0, `f32x4.sub`, [f32x4([-0, -0, -0, -0]), f32x4([-0, -0, -0, -0])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1339
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1342
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1345
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1348
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1351
+assert_return(
+ () => invoke($0, `f32x4.sub`, [f32x4([-0, -0, -0, -0]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1354
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1357
+assert_return(
+ () => invoke($0, `f32x4.sub`, [f32x4([-0, -0, -0, -0]), f32x4([1, 1, 1, 1])]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1360
+assert_return(
+ () => invoke($0, `f32x4.sub`, [f32x4([-0, -0, -0, -0]), f32x4([-1, -1, -1, -1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1363
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1366
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1369
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1372
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1375
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1378
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1381
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1384
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1387
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1390
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000003),
+ value("f32", 0.000000000000000000000000000000000000000000003),
+ value("f32", 0.000000000000000000000000000000000000000000003),
+ value("f32", 0.000000000000000000000000000000000000000000003),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1393
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754942),
+ value("f32", -0.000000000000000000000000000000000000011754942),
+ value("f32", -0.000000000000000000000000000000000000011754942),
+ value("f32", -0.000000000000000000000000000000000000011754942),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1396
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754945),
+ value("f32", 0.000000000000000000000000000000000000011754945),
+ value("f32", 0.000000000000000000000000000000000000011754945),
+ value("f32", 0.000000000000000000000000000000000000011754945),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1399
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1402
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1405
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1408
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1411
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1414
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1417
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1420
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1423
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1426
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1429
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1432
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1435
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000003),
+ value("f32", -0.000000000000000000000000000000000000000000003),
+ value("f32", -0.000000000000000000000000000000000000000000003),
+ value("f32", -0.000000000000000000000000000000000000000000003),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1438
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1441
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754945),
+ value("f32", -0.000000000000000000000000000000000000011754945),
+ value("f32", -0.000000000000000000000000000000000000011754945),
+ value("f32", -0.000000000000000000000000000000000000011754945),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1444
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754942),
+ value("f32", 0.000000000000000000000000000000000000011754942),
+ value("f32", 0.000000000000000000000000000000000000011754942),
+ value("f32", 0.000000000000000000000000000000000000011754942),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1447
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1450
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1453
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1456
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1459
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1462
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1465
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1468
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1471
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1474
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1477
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1480
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1483
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754942),
+ value("f32", 0.000000000000000000000000000000000000011754942),
+ value("f32", 0.000000000000000000000000000000000000011754942),
+ value("f32", 0.000000000000000000000000000000000000011754942),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1486
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754945),
+ value("f32", 0.000000000000000000000000000000000000011754945),
+ value("f32", 0.000000000000000000000000000000000000011754945),
+ value("f32", 0.000000000000000000000000000000000000011754945),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1489
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1492
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000023509887),
+ value("f32", 0.000000000000000000000000000000000000023509887),
+ value("f32", 0.000000000000000000000000000000000000023509887),
+ value("f32", 0.000000000000000000000000000000000000023509887),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1495
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1498
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1501
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1504
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1507
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1510
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1513
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1516
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1519
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1522
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1525
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1528
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1531
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754945),
+ value("f32", -0.000000000000000000000000000000000000011754945),
+ value("f32", -0.000000000000000000000000000000000000011754945),
+ value("f32", -0.000000000000000000000000000000000000011754945),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1534
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754942),
+ value("f32", -0.000000000000000000000000000000000000011754942),
+ value("f32", -0.000000000000000000000000000000000000011754942),
+ value("f32", -0.000000000000000000000000000000000000011754942),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1537
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000023509887),
+ value("f32", -0.000000000000000000000000000000000000023509887),
+ value("f32", -0.000000000000000000000000000000000000023509887),
+ value("f32", -0.000000000000000000000000000000000000023509887),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1540
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1543
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1546
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1549
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1552
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1555
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1558
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1561
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1564
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1567
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1570
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1573
+assert_return(
+ () => invoke($0, `f32x4.sub`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([0, 0, 0, 0])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1576
+assert_return(
+ () => invoke($0, `f32x4.sub`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([-0, -0, -0, -0])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1579
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1582
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1585
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1588
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1591
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1594
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1597
+assert_return(
+ () => invoke($0, `f32x4.sub`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([1, 1, 1, 1])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1600
+assert_return(
+ () => invoke($0, `f32x4.sub`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([-1, -1, -1, -1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 1.5),
+ value("f32", 1.5),
+ value("f32", 1.5),
+ value("f32", 1.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1603
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -5.7831855),
+ value("f32", -5.7831855),
+ value("f32", -5.7831855),
+ value("f32", -5.7831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1606
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.7831855),
+ value("f32", 6.7831855),
+ value("f32", 6.7831855),
+ value("f32", 6.7831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1609
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1612
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1615
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1618
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1621
+assert_return(
+ () => invoke($0, `f32x4.sub`, [f32x4([-0.5, -0.5, -0.5, -0.5]), f32x4([0, 0, 0, 0])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1624
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1627
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1630
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1633
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1636
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1639
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1642
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1645
+assert_return(
+ () => invoke($0, `f32x4.sub`, [f32x4([-0.5, -0.5, -0.5, -0.5]), f32x4([1, 1, 1, 1])]),
+ [
+ new F32x4Pattern(
+ value("f32", -1.5),
+ value("f32", -1.5),
+ value("f32", -1.5),
+ value("f32", -1.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1648
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1651
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.7831855),
+ value("f32", -6.7831855),
+ value("f32", -6.7831855),
+ value("f32", -6.7831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1654
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 5.7831855),
+ value("f32", 5.7831855),
+ value("f32", 5.7831855),
+ value("f32", 5.7831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1657
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1660
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1663
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1666
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1669
+assert_return(
+ () => invoke($0, `f32x4.sub`, [f32x4([1, 1, 1, 1]), f32x4([0, 0, 0, 0])]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1672
+assert_return(
+ () => invoke($0, `f32x4.sub`, [f32x4([1, 1, 1, 1]), f32x4([-0, -0, -0, -0])]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1675
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1678
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1681
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1684
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1687
+assert_return(
+ () => invoke($0, `f32x4.sub`, [f32x4([1, 1, 1, 1]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1690
+assert_return(
+ () => invoke($0, `f32x4.sub`, [f32x4([1, 1, 1, 1]), f32x4([-0.5, -0.5, -0.5, -0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", 1.5),
+ value("f32", 1.5),
+ value("f32", 1.5),
+ value("f32", 1.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1693
+assert_return(
+ () => invoke($0, `f32x4.sub`, [f32x4([1, 1, 1, 1]), f32x4([1, 1, 1, 1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1696
+assert_return(
+ () => invoke($0, `f32x4.sub`, [f32x4([1, 1, 1, 1]), f32x4([-1, -1, -1, -1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 2),
+ value("f32", 2),
+ value("f32", 2),
+ value("f32", 2),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1699
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -5.2831855),
+ value("f32", -5.2831855),
+ value("f32", -5.2831855),
+ value("f32", -5.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1702
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 7.2831855),
+ value("f32", 7.2831855),
+ value("f32", 7.2831855),
+ value("f32", 7.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1705
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1708
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1711
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1714
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1717
+assert_return(
+ () => invoke($0, `f32x4.sub`, [f32x4([-1, -1, -1, -1]), f32x4([0, 0, 0, 0])]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1720
+assert_return(
+ () => invoke($0, `f32x4.sub`, [f32x4([-1, -1, -1, -1]), f32x4([-0, -0, -0, -0])]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1723
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1726
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1729
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1732
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1735
+assert_return(
+ () => invoke($0, `f32x4.sub`, [f32x4([-1, -1, -1, -1]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", -1.5),
+ value("f32", -1.5),
+ value("f32", -1.5),
+ value("f32", -1.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1738
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1741
+assert_return(
+ () => invoke($0, `f32x4.sub`, [f32x4([-1, -1, -1, -1]), f32x4([1, 1, 1, 1])]),
+ [
+ new F32x4Pattern(
+ value("f32", -2),
+ value("f32", -2),
+ value("f32", -2),
+ value("f32", -2),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1744
+assert_return(
+ () => invoke($0, `f32x4.sub`, [f32x4([-1, -1, -1, -1]), f32x4([-1, -1, -1, -1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1747
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -7.2831855),
+ value("f32", -7.2831855),
+ value("f32", -7.2831855),
+ value("f32", -7.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1750
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 5.2831855),
+ value("f32", 5.2831855),
+ value("f32", 5.2831855),
+ value("f32", 5.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1753
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1756
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1759
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1762
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1765
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1768
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1771
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1774
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1777
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1780
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1783
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 5.7831855),
+ value("f32", 5.7831855),
+ value("f32", 5.7831855),
+ value("f32", 5.7831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1786
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.7831855),
+ value("f32", 6.7831855),
+ value("f32", 6.7831855),
+ value("f32", 6.7831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1789
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 5.2831855),
+ value("f32", 5.2831855),
+ value("f32", 5.2831855),
+ value("f32", 5.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1792
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 7.2831855),
+ value("f32", 7.2831855),
+ value("f32", 7.2831855),
+ value("f32", 7.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1795
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1798
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 12.566371),
+ value("f32", 12.566371),
+ value("f32", 12.566371),
+ value("f32", 12.566371),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1801
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1804
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1807
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1810
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1813
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1816
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1819
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1822
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1825
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1828
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1831
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.7831855),
+ value("f32", -6.7831855),
+ value("f32", -6.7831855),
+ value("f32", -6.7831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1834
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -5.7831855),
+ value("f32", -5.7831855),
+ value("f32", -5.7831855),
+ value("f32", -5.7831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1837
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -7.2831855),
+ value("f32", -7.2831855),
+ value("f32", -7.2831855),
+ value("f32", -7.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1840
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -5.2831855),
+ value("f32", -5.2831855),
+ value("f32", -5.2831855),
+ value("f32", -5.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1843
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -12.566371),
+ value("f32", -12.566371),
+ value("f32", -12.566371),
+ value("f32", -12.566371),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1846
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1849
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1852
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1855
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1858
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1861
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1864
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1867
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1870
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1873
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1876
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1879
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1882
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1885
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1888
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1891
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1894
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1897
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1900
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1903
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1906
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1909
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1912
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1915
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1918
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1921
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1924
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1927
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1930
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1933
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1936
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1939
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1942
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1945
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1948
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1951
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1954
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1957
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1960
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1963
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1966
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1969
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1972
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1975
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1978
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1981
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1984
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1987
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1990
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1993
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1996
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:1999
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2002
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2005
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2008
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2011
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2014
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2017
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2020
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2023
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2026
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2029
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2032
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2035
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2038
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2041
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2044
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2047
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2050
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2053
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2056
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([0, 0, 0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2059
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2062
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-0, -0, -0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2065
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2068
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2071
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2074
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2077
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2080
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2083
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2086
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2089
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2092
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2095
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2098
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2101
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2104
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([1, 1, 1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2107
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2110
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-1, -1, -1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2113
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2116
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2119
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2122
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2125
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2128
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2131
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2134
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2137
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2140
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2143
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2146
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2149
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2152
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2155
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2158
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2161
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2164
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([0, 0, 0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2167
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2170
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-0, -0, -0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2173
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2176
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2179
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2182
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2185
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2188
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2191
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2194
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2197
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2200
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2203
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2206
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2209
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2212
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([1, 1, 1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2215
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2218
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-1, -1, -1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2221
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2224
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2227
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2230
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2233
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2236
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2239
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2242
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2245
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2248
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2251
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2254
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2257
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2260
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2263
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2266
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2269
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2272
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([0, 0, 0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2275
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2278
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-0, -0, -0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2281
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2284
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2287
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2290
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2293
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2296
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2299
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2302
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2305
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2308
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2311
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2314
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2317
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2320
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([1, 1, 1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2323
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2326
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-1, -1, -1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2329
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2332
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2335
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2338
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2341
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2344
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2347
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2350
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2353
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2356
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2359
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2362
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2365
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2368
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2371
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2374
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2377
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2380
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([0, 0, 0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2383
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2386
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-0, -0, -0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2389
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2392
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2395
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2398
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2401
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2404
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2407
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2410
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2413
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2416
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2419
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2422
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2425
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2428
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([1, 1, 1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2431
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2434
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-1, -1, -1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2437
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2440
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2443
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2446
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2449
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2452
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2455
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2458
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2461
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2464
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2467
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2470
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2473
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2476
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2479
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2482
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2485
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2488
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2491
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2494
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2497
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2500
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2503
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2506
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2509
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2512
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2515
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2518
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2521
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2524
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2527
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2530
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2533
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2536
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2539
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2542
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2545
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2548
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2551
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2554
+assert_return(
+ () => invoke($0, `f32x4.sub`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2557
+assert_return(
+ () => invoke($0, `f32x4.mul`, [f32x4([0, 0, 0, 0]), f32x4([0, 0, 0, 0])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2560
+assert_return(
+ () => invoke($0, `f32x4.mul`, [f32x4([0, 0, 0, 0]), f32x4([-0, -0, -0, -0])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2563
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2566
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2569
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2572
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2575
+assert_return(
+ () => invoke($0, `f32x4.mul`, [f32x4([0, 0, 0, 0]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2578
+assert_return(
+ () => invoke($0, `f32x4.mul`, [f32x4([0, 0, 0, 0]), f32x4([-0.5, -0.5, -0.5, -0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2581
+assert_return(
+ () => invoke($0, `f32x4.mul`, [f32x4([0, 0, 0, 0]), f32x4([1, 1, 1, 1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2584
+assert_return(
+ () => invoke($0, `f32x4.mul`, [f32x4([0, 0, 0, 0]), f32x4([-1, -1, -1, -1])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2587
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2590
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2593
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2596
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2599
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2602
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2605
+assert_return(
+ () => invoke($0, `f32x4.mul`, [f32x4([-0, -0, -0, -0]), f32x4([0, 0, 0, 0])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2608
+assert_return(
+ () => invoke($0, `f32x4.mul`, [f32x4([-0, -0, -0, -0]), f32x4([-0, -0, -0, -0])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2611
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2614
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2617
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2620
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2623
+assert_return(
+ () => invoke($0, `f32x4.mul`, [f32x4([-0, -0, -0, -0]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2626
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2629
+assert_return(
+ () => invoke($0, `f32x4.mul`, [f32x4([-0, -0, -0, -0]), f32x4([1, 1, 1, 1])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2632
+assert_return(
+ () => invoke($0, `f32x4.mul`, [f32x4([-0, -0, -0, -0]), f32x4([-1, -1, -1, -1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2635
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2638
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2641
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2644
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2647
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2650
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2653
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2656
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2659
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2662
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2665
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2668
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2671
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2674
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2677
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2680
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2683
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000008),
+ value("f32", 0.000000000000000000000000000000000000000000008),
+ value("f32", 0.000000000000000000000000000000000000000000008),
+ value("f32", 0.000000000000000000000000000000000000000000008),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2686
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000008),
+ value("f32", -0.000000000000000000000000000000000000000000008),
+ value("f32", -0.000000000000000000000000000000000000000000008),
+ value("f32", -0.000000000000000000000000000000000000000000008),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2689
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.00000047683713),
+ value("f32", 0.00000047683713),
+ value("f32", 0.00000047683713),
+ value("f32", 0.00000047683713),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2692
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.00000047683713),
+ value("f32", -0.00000047683713),
+ value("f32", -0.00000047683713),
+ value("f32", -0.00000047683713),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2695
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2698
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2701
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2704
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2707
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2710
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2713
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2716
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2719
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2722
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2725
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2728
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2731
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000008),
+ value("f32", -0.000000000000000000000000000000000000000000008),
+ value("f32", -0.000000000000000000000000000000000000000000008),
+ value("f32", -0.000000000000000000000000000000000000000000008),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2734
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000008),
+ value("f32", 0.000000000000000000000000000000000000000000008),
+ value("f32", 0.000000000000000000000000000000000000000000008),
+ value("f32", 0.000000000000000000000000000000000000000000008),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2737
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.00000047683713),
+ value("f32", -0.00000047683713),
+ value("f32", -0.00000047683713),
+ value("f32", -0.00000047683713),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2740
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.00000047683713),
+ value("f32", 0.00000047683713),
+ value("f32", 0.00000047683713),
+ value("f32", 0.00000047683713),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2743
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2746
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2749
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2752
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2755
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2758
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2761
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2764
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2767
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000005877472),
+ value("f32", 0.000000000000000000000000000000000000005877472),
+ value("f32", 0.000000000000000000000000000000000000005877472),
+ value("f32", 0.000000000000000000000000000000000000005877472),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2770
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000005877472),
+ value("f32", -0.000000000000000000000000000000000000005877472),
+ value("f32", -0.000000000000000000000000000000000000005877472),
+ value("f32", -0.000000000000000000000000000000000000005877472),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2773
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2776
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2779
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.00000000000000000000000000000000000007385849),
+ value("f32", 0.00000000000000000000000000000000000007385849),
+ value("f32", 0.00000000000000000000000000000000000007385849),
+ value("f32", 0.00000000000000000000000000000000000007385849),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2782
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.00000000000000000000000000000000000007385849),
+ value("f32", -0.00000000000000000000000000000000000007385849),
+ value("f32", -0.00000000000000000000000000000000000007385849),
+ value("f32", -0.00000000000000000000000000000000000007385849),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2785
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 3.9999998),
+ value("f32", 3.9999998),
+ value("f32", 3.9999998),
+ value("f32", 3.9999998),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2788
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -3.9999998),
+ value("f32", -3.9999998),
+ value("f32", -3.9999998),
+ value("f32", -3.9999998),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2791
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2794
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2797
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2800
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2803
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2806
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2809
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2812
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2815
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000005877472),
+ value("f32", -0.000000000000000000000000000000000000005877472),
+ value("f32", -0.000000000000000000000000000000000000005877472),
+ value("f32", -0.000000000000000000000000000000000000005877472),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2818
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000005877472),
+ value("f32", 0.000000000000000000000000000000000000005877472),
+ value("f32", 0.000000000000000000000000000000000000005877472),
+ value("f32", 0.000000000000000000000000000000000000005877472),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2821
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2824
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2827
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.00000000000000000000000000000000000007385849),
+ value("f32", -0.00000000000000000000000000000000000007385849),
+ value("f32", -0.00000000000000000000000000000000000007385849),
+ value("f32", -0.00000000000000000000000000000000000007385849),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2830
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.00000000000000000000000000000000000007385849),
+ value("f32", 0.00000000000000000000000000000000000007385849),
+ value("f32", 0.00000000000000000000000000000000000007385849),
+ value("f32", 0.00000000000000000000000000000000000007385849),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2833
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -3.9999998),
+ value("f32", -3.9999998),
+ value("f32", -3.9999998),
+ value("f32", -3.9999998),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2836
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 3.9999998),
+ value("f32", 3.9999998),
+ value("f32", 3.9999998),
+ value("f32", 3.9999998),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2839
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2842
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2845
+assert_return(
+ () => invoke($0, `f32x4.mul`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([0, 0, 0, 0])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2848
+assert_return(
+ () => invoke($0, `f32x4.mul`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([-0, -0, -0, -0])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2851
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2854
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2857
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000005877472),
+ value("f32", 0.000000000000000000000000000000000000005877472),
+ value("f32", 0.000000000000000000000000000000000000005877472),
+ value("f32", 0.000000000000000000000000000000000000005877472),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2860
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000005877472),
+ value("f32", -0.000000000000000000000000000000000000005877472),
+ value("f32", -0.000000000000000000000000000000000000005877472),
+ value("f32", -0.000000000000000000000000000000000000005877472),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2863
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.25),
+ value("f32", 0.25),
+ value("f32", 0.25),
+ value("f32", 0.25),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2866
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.25),
+ value("f32", -0.25),
+ value("f32", -0.25),
+ value("f32", -0.25),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2869
+assert_return(
+ () => invoke($0, `f32x4.mul`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([1, 1, 1, 1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2872
+assert_return(
+ () => invoke($0, `f32x4.mul`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([-1, -1, -1, -1])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2875
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 3.1415927),
+ value("f32", 3.1415927),
+ value("f32", 3.1415927),
+ value("f32", 3.1415927),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2878
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -3.1415927),
+ value("f32", -3.1415927),
+ value("f32", -3.1415927),
+ value("f32", -3.1415927),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2881
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 170141170000000000000000000000000000000),
+ value("f32", 170141170000000000000000000000000000000),
+ value("f32", 170141170000000000000000000000000000000),
+ value("f32", 170141170000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2884
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -170141170000000000000000000000000000000),
+ value("f32", -170141170000000000000000000000000000000),
+ value("f32", -170141170000000000000000000000000000000),
+ value("f32", -170141170000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2887
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2890
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2893
+assert_return(
+ () => invoke($0, `f32x4.mul`, [f32x4([-0.5, -0.5, -0.5, -0.5]), f32x4([0, 0, 0, 0])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2896
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2899
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2902
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2905
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000005877472),
+ value("f32", -0.000000000000000000000000000000000000005877472),
+ value("f32", -0.000000000000000000000000000000000000005877472),
+ value("f32", -0.000000000000000000000000000000000000005877472),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2908
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000005877472),
+ value("f32", 0.000000000000000000000000000000000000005877472),
+ value("f32", 0.000000000000000000000000000000000000005877472),
+ value("f32", 0.000000000000000000000000000000000000005877472),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2911
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.25),
+ value("f32", -0.25),
+ value("f32", -0.25),
+ value("f32", -0.25),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2914
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.25),
+ value("f32", 0.25),
+ value("f32", 0.25),
+ value("f32", 0.25),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2917
+assert_return(
+ () => invoke($0, `f32x4.mul`, [f32x4([-0.5, -0.5, -0.5, -0.5]), f32x4([1, 1, 1, 1])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2920
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2923
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -3.1415927),
+ value("f32", -3.1415927),
+ value("f32", -3.1415927),
+ value("f32", -3.1415927),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2926
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 3.1415927),
+ value("f32", 3.1415927),
+ value("f32", 3.1415927),
+ value("f32", 3.1415927),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2929
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -170141170000000000000000000000000000000),
+ value("f32", -170141170000000000000000000000000000000),
+ value("f32", -170141170000000000000000000000000000000),
+ value("f32", -170141170000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2932
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 170141170000000000000000000000000000000),
+ value("f32", 170141170000000000000000000000000000000),
+ value("f32", 170141170000000000000000000000000000000),
+ value("f32", 170141170000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2935
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2938
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2941
+assert_return(
+ () => invoke($0, `f32x4.mul`, [f32x4([1, 1, 1, 1]), f32x4([0, 0, 0, 0])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2944
+assert_return(
+ () => invoke($0, `f32x4.mul`, [f32x4([1, 1, 1, 1]), f32x4([-0, -0, -0, -0])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2947
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2950
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2953
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2956
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2959
+assert_return(
+ () => invoke($0, `f32x4.mul`, [f32x4([1, 1, 1, 1]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2962
+assert_return(
+ () => invoke($0, `f32x4.mul`, [f32x4([1, 1, 1, 1]), f32x4([-0.5, -0.5, -0.5, -0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2965
+assert_return(
+ () => invoke($0, `f32x4.mul`, [f32x4([1, 1, 1, 1]), f32x4([1, 1, 1, 1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2968
+assert_return(
+ () => invoke($0, `f32x4.mul`, [f32x4([1, 1, 1, 1]), f32x4([-1, -1, -1, -1])]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2971
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2974
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2977
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2980
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2983
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2986
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2989
+assert_return(
+ () => invoke($0, `f32x4.mul`, [f32x4([-1, -1, -1, -1]), f32x4([0, 0, 0, 0])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2992
+assert_return(
+ () => invoke($0, `f32x4.mul`, [f32x4([-1, -1, -1, -1]), f32x4([-0, -0, -0, -0])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2995
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:2998
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3001
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3004
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3007
+assert_return(
+ () => invoke($0, `f32x4.mul`, [f32x4([-1, -1, -1, -1]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3010
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3013
+assert_return(
+ () => invoke($0, `f32x4.mul`, [f32x4([-1, -1, -1, -1]), f32x4([1, 1, 1, 1])]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3016
+assert_return(
+ () => invoke($0, `f32x4.mul`, [f32x4([-1, -1, -1, -1]), f32x4([-1, -1, -1, -1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3019
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3022
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3025
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3028
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3031
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3034
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3037
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3040
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3043
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000008),
+ value("f32", 0.000000000000000000000000000000000000000000008),
+ value("f32", 0.000000000000000000000000000000000000000000008),
+ value("f32", 0.000000000000000000000000000000000000000000008),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3046
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000008),
+ value("f32", -0.000000000000000000000000000000000000000000008),
+ value("f32", -0.000000000000000000000000000000000000000000008),
+ value("f32", -0.000000000000000000000000000000000000000000008),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3049
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.00000000000000000000000000000000000007385849),
+ value("f32", 0.00000000000000000000000000000000000007385849),
+ value("f32", 0.00000000000000000000000000000000000007385849),
+ value("f32", 0.00000000000000000000000000000000000007385849),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3052
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.00000000000000000000000000000000000007385849),
+ value("f32", -0.00000000000000000000000000000000000007385849),
+ value("f32", -0.00000000000000000000000000000000000007385849),
+ value("f32", -0.00000000000000000000000000000000000007385849),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3055
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 3.1415927),
+ value("f32", 3.1415927),
+ value("f32", 3.1415927),
+ value("f32", 3.1415927),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3058
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -3.1415927),
+ value("f32", -3.1415927),
+ value("f32", -3.1415927),
+ value("f32", -3.1415927),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3061
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3064
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3067
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 39.47842),
+ value("f32", 39.47842),
+ value("f32", 39.47842),
+ value("f32", 39.47842),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3070
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -39.47842),
+ value("f32", -39.47842),
+ value("f32", -39.47842),
+ value("f32", -39.47842),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3073
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3076
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3079
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3082
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3085
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3088
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3091
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000008),
+ value("f32", -0.000000000000000000000000000000000000000000008),
+ value("f32", -0.000000000000000000000000000000000000000000008),
+ value("f32", -0.000000000000000000000000000000000000000000008),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3094
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000008),
+ value("f32", 0.000000000000000000000000000000000000000000008),
+ value("f32", 0.000000000000000000000000000000000000000000008),
+ value("f32", 0.000000000000000000000000000000000000000000008),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3097
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.00000000000000000000000000000000000007385849),
+ value("f32", -0.00000000000000000000000000000000000007385849),
+ value("f32", -0.00000000000000000000000000000000000007385849),
+ value("f32", -0.00000000000000000000000000000000000007385849),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3100
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.00000000000000000000000000000000000007385849),
+ value("f32", 0.00000000000000000000000000000000000007385849),
+ value("f32", 0.00000000000000000000000000000000000007385849),
+ value("f32", 0.00000000000000000000000000000000000007385849),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3103
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -3.1415927),
+ value("f32", -3.1415927),
+ value("f32", -3.1415927),
+ value("f32", -3.1415927),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3106
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 3.1415927),
+ value("f32", 3.1415927),
+ value("f32", 3.1415927),
+ value("f32", 3.1415927),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3109
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3112
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3115
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -39.47842),
+ value("f32", -39.47842),
+ value("f32", -39.47842),
+ value("f32", -39.47842),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3118
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 39.47842),
+ value("f32", 39.47842),
+ value("f32", 39.47842),
+ value("f32", 39.47842),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3121
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3124
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3127
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3130
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3133
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3136
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3139
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.00000047683713),
+ value("f32", 0.00000047683713),
+ value("f32", 0.00000047683713),
+ value("f32", 0.00000047683713),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3142
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.00000047683713),
+ value("f32", -0.00000047683713),
+ value("f32", -0.00000047683713),
+ value("f32", -0.00000047683713),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3145
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 3.9999998),
+ value("f32", 3.9999998),
+ value("f32", 3.9999998),
+ value("f32", 3.9999998),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3148
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -3.9999998),
+ value("f32", -3.9999998),
+ value("f32", -3.9999998),
+ value("f32", -3.9999998),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3151
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 170141170000000000000000000000000000000),
+ value("f32", 170141170000000000000000000000000000000),
+ value("f32", 170141170000000000000000000000000000000),
+ value("f32", 170141170000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3154
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -170141170000000000000000000000000000000),
+ value("f32", -170141170000000000000000000000000000000),
+ value("f32", -170141170000000000000000000000000000000),
+ value("f32", -170141170000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3157
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3160
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3163
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3166
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3169
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3172
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3175
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3178
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3181
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3184
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3187
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.00000047683713),
+ value("f32", -0.00000047683713),
+ value("f32", -0.00000047683713),
+ value("f32", -0.00000047683713),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3190
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.00000047683713),
+ value("f32", 0.00000047683713),
+ value("f32", 0.00000047683713),
+ value("f32", 0.00000047683713),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3193
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -3.9999998),
+ value("f32", -3.9999998),
+ value("f32", -3.9999998),
+ value("f32", -3.9999998),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3196
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 3.9999998),
+ value("f32", 3.9999998),
+ value("f32", 3.9999998),
+ value("f32", 3.9999998),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3199
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -170141170000000000000000000000000000000),
+ value("f32", -170141170000000000000000000000000000000),
+ value("f32", -170141170000000000000000000000000000000),
+ value("f32", -170141170000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3202
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 170141170000000000000000000000000000000),
+ value("f32", 170141170000000000000000000000000000000),
+ value("f32", 170141170000000000000000000000000000000),
+ value("f32", 170141170000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3205
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3208
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3211
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3214
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3217
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3220
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3223
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3226
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3229
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3232
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3235
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3238
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3241
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3244
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3247
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3250
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3253
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3256
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3259
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3262
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3265
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3268
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3271
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3274
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3277
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3280
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3283
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3286
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3289
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3292
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3295
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3298
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3301
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3304
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3307
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3310
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3313
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3316
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3319
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3322
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3325
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3328
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([0, 0, 0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3331
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3334
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-0, -0, -0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3337
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3340
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3343
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3346
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3349
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3352
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3355
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3358
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3361
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3364
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3367
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3370
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3373
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3376
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([1, 1, 1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3379
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3382
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-1, -1, -1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3385
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3388
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3391
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3394
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3397
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3400
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3403
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3406
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3409
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3412
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3415
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3418
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3421
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3424
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3427
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3430
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3433
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3436
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([0, 0, 0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3439
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3442
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-0, -0, -0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3445
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3448
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3451
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3454
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3457
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3460
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3463
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3466
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3469
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3472
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3475
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3478
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3481
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3484
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([1, 1, 1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3487
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3490
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-1, -1, -1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3493
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3496
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3499
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3502
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3505
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3508
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3511
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3514
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3517
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3520
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3523
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3526
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3529
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3532
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3535
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3538
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3541
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3544
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([0, 0, 0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3547
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3550
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-0, -0, -0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3553
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3556
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3559
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3562
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3565
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3568
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3571
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3574
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3577
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3580
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3583
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3586
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3589
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3592
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([1, 1, 1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3595
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3598
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-1, -1, -1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3601
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3604
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3607
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3610
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3613
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3616
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3619
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3622
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3625
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3628
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3631
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3634
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3637
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3640
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3643
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3646
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3649
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3652
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([0, 0, 0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3655
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3658
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-0, -0, -0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3661
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3664
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3667
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3670
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3673
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3676
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3679
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3682
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3685
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3688
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3691
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3694
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3697
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3700
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([1, 1, 1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3703
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3706
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-1, -1, -1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3709
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3712
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3715
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3718
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3721
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3724
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3727
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3730
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3733
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3736
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3739
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3742
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3745
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3748
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3751
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3754
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3757
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 15241579000000000),
+ value("f32", 15241579000000000),
+ value("f32", 15241579000000000),
+ value("f32", 15241579000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3760
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3763
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3766
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.00000000000000000000015241579),
+ value("f32", 0.00000000000000000000015241579),
+ value("f32", 0.00000000000000000000015241579),
+ value("f32", 0.00000000000000000000015241579),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3769
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 15241579000000000),
+ value("f32", 15241579000000000),
+ value("f32", 15241579000000000),
+ value("f32", 15241579000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3772
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3775
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3778
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.00000000000000000000015241579),
+ value("f32", 0.00000000000000000000015241579),
+ value("f32", 0.00000000000000000000015241579),
+ value("f32", 0.00000000000000000000015241579),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3781
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 15241579000000000),
+ value("f32", 15241579000000000),
+ value("f32", 15241579000000000),
+ value("f32", 15241579000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3784
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3787
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3790
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.00000000000000000000015241579),
+ value("f32", 0.00000000000000000000015241579),
+ value("f32", 0.00000000000000000000015241579),
+ value("f32", 0.00000000000000000000015241579),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3793
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6721627600000000000000000000000000),
+ value("f32", 6721627600000000000000000000000000),
+ value("f32", 6721627600000000000000000000000000),
+ value("f32", 6721627600000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3796
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3799
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3802
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 24453139000000000000000),
+ value("f32", 24453139000000000000000),
+ value("f32", 24453139000000000000000),
+ value("f32", 24453139000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3805
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6721627600000000000000000000000000),
+ value("f32", 6721627600000000000000000000000000),
+ value("f32", 6721627600000000000000000000000000),
+ value("f32", 6721627600000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3808
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3811
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3814
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 24453139000000000000000),
+ value("f32", 24453139000000000000000),
+ value("f32", 24453139000000000000000),
+ value("f32", 24453139000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3817
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6721627600000000000000000000000000),
+ value("f32", 6721627600000000000000000000000000),
+ value("f32", 6721627600000000000000000000000000),
+ value("f32", 6721627600000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3820
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3823
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3826
+assert_return(
+ () => invoke($0, `f32x4.mul`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 24453139000000000000000),
+ value("f32", 24453139000000000000000),
+ value("f32", 24453139000000000000000),
+ value("f32", 24453139000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3829
+assert_return(
+ () => invoke($0, `f32x4.div`, [f32x4([0, 0, 0, 0]), f32x4([0, 0, 0, 0])]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3832
+assert_return(
+ () => invoke($0, `f32x4.div`, [f32x4([0, 0, 0, 0]), f32x4([-0, -0, -0, -0])]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3835
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3838
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3841
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3844
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3847
+assert_return(
+ () => invoke($0, `f32x4.div`, [f32x4([0, 0, 0, 0]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3850
+assert_return(
+ () => invoke($0, `f32x4.div`, [f32x4([0, 0, 0, 0]), f32x4([-0.5, -0.5, -0.5, -0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3853
+assert_return(
+ () => invoke($0, `f32x4.div`, [f32x4([0, 0, 0, 0]), f32x4([1, 1, 1, 1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3856
+assert_return(
+ () => invoke($0, `f32x4.div`, [f32x4([0, 0, 0, 0]), f32x4([-1, -1, -1, -1])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3859
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3862
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3865
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3868
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3871
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3874
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3877
+assert_return(
+ () => invoke($0, `f32x4.div`, [f32x4([-0, -0, -0, -0]), f32x4([0, 0, 0, 0])]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3880
+assert_return(
+ () => invoke($0, `f32x4.div`, [f32x4([-0, -0, -0, -0]), f32x4([-0, -0, -0, -0])]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3883
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3886
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3889
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3892
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3895
+assert_return(
+ () => invoke($0, `f32x4.div`, [f32x4([-0, -0, -0, -0]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3898
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3901
+assert_return(
+ () => invoke($0, `f32x4.div`, [f32x4([-0, -0, -0, -0]), f32x4([1, 1, 1, 1])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3904
+assert_return(
+ () => invoke($0, `f32x4.div`, [f32x4([-0, -0, -0, -0]), f32x4([-1, -1, -1, -1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3907
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3910
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3913
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3916
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3919
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3922
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3925
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3928
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3931
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3934
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3937
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.00000011920929),
+ value("f32", 0.00000011920929),
+ value("f32", 0.00000011920929),
+ value("f32", 0.00000011920929),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3940
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.00000011920929),
+ value("f32", -0.00000011920929),
+ value("f32", -0.00000011920929),
+ value("f32", -0.00000011920929),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3943
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000003),
+ value("f32", 0.000000000000000000000000000000000000000000003),
+ value("f32", 0.000000000000000000000000000000000000000000003),
+ value("f32", 0.000000000000000000000000000000000000000000003),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3946
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000003),
+ value("f32", -0.000000000000000000000000000000000000000000003),
+ value("f32", -0.000000000000000000000000000000000000000000003),
+ value("f32", -0.000000000000000000000000000000000000000000003),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3949
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3952
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3955
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3958
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3961
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3964
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3967
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3970
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3973
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3976
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3979
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3982
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3985
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.00000011920929),
+ value("f32", -0.00000011920929),
+ value("f32", -0.00000011920929),
+ value("f32", -0.00000011920929),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3988
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.00000011920929),
+ value("f32", 0.00000011920929),
+ value("f32", 0.00000011920929),
+ value("f32", 0.00000011920929),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3991
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000003),
+ value("f32", -0.000000000000000000000000000000000000000000003),
+ value("f32", -0.000000000000000000000000000000000000000000003),
+ value("f32", -0.000000000000000000000000000000000000000000003),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3994
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000003),
+ value("f32", 0.000000000000000000000000000000000000000000003),
+ value("f32", 0.000000000000000000000000000000000000000000003),
+ value("f32", 0.000000000000000000000000000000000000000000003),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:3997
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4000
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4003
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4006
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4009
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4012
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4015
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4018
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4021
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4024
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4027
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 8388608),
+ value("f32", 8388608),
+ value("f32", 8388608),
+ value("f32", 8388608),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4030
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -8388608),
+ value("f32", -8388608),
+ value("f32", -8388608),
+ value("f32", -8388608),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4033
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4036
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4039
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000023509887),
+ value("f32", 0.000000000000000000000000000000000000023509887),
+ value("f32", 0.000000000000000000000000000000000000023509887),
+ value("f32", 0.000000000000000000000000000000000000023509887),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4042
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000023509887),
+ value("f32", -0.000000000000000000000000000000000000023509887),
+ value("f32", -0.000000000000000000000000000000000000023509887),
+ value("f32", -0.000000000000000000000000000000000000023509887),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4045
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4048
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4051
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000001870857),
+ value("f32", 0.000000000000000000000000000000000000001870857),
+ value("f32", 0.000000000000000000000000000000000000001870857),
+ value("f32", 0.000000000000000000000000000000000000001870857),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4054
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000001870857),
+ value("f32", -0.000000000000000000000000000000000000001870857),
+ value("f32", -0.000000000000000000000000000000000000001870857),
+ value("f32", -0.000000000000000000000000000000000000001870857),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4057
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4060
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4063
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4066
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4069
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4072
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4075
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -8388608),
+ value("f32", -8388608),
+ value("f32", -8388608),
+ value("f32", -8388608),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4078
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 8388608),
+ value("f32", 8388608),
+ value("f32", 8388608),
+ value("f32", 8388608),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4081
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4084
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4087
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000023509887),
+ value("f32", -0.000000000000000000000000000000000000023509887),
+ value("f32", -0.000000000000000000000000000000000000023509887),
+ value("f32", -0.000000000000000000000000000000000000023509887),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4090
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000023509887),
+ value("f32", 0.000000000000000000000000000000000000023509887),
+ value("f32", 0.000000000000000000000000000000000000023509887),
+ value("f32", 0.000000000000000000000000000000000000023509887),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4093
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4096
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4099
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000001870857),
+ value("f32", -0.000000000000000000000000000000000000001870857),
+ value("f32", -0.000000000000000000000000000000000000001870857),
+ value("f32", -0.000000000000000000000000000000000000001870857),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4102
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000001870857),
+ value("f32", 0.000000000000000000000000000000000000001870857),
+ value("f32", 0.000000000000000000000000000000000000001870857),
+ value("f32", 0.000000000000000000000000000000000000001870857),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4105
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4108
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4111
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4114
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4117
+assert_return(
+ () => invoke($0, `f32x4.div`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([0, 0, 0, 0])]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4120
+assert_return(
+ () => invoke($0, `f32x4.div`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([-0, -0, -0, -0])]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4123
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4126
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4129
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42535296000000000000000000000000000000),
+ value("f32", 42535296000000000000000000000000000000),
+ value("f32", 42535296000000000000000000000000000000),
+ value("f32", 42535296000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4132
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -42535296000000000000000000000000000000),
+ value("f32", -42535296000000000000000000000000000000),
+ value("f32", -42535296000000000000000000000000000000),
+ value("f32", -42535296000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4135
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4138
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4141
+assert_return(
+ () => invoke($0, `f32x4.div`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([1, 1, 1, 1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4144
+assert_return(
+ () => invoke($0, `f32x4.div`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([-1, -1, -1, -1])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4147
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.07957747),
+ value("f32", 0.07957747),
+ value("f32", 0.07957747),
+ value("f32", 0.07957747),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4150
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.07957747),
+ value("f32", -0.07957747),
+ value("f32", -0.07957747),
+ value("f32", -0.07957747),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4153
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000001469368),
+ value("f32", 0.000000000000000000000000000000000000001469368),
+ value("f32", 0.000000000000000000000000000000000000001469368),
+ value("f32", 0.000000000000000000000000000000000000001469368),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4156
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000001469368),
+ value("f32", -0.000000000000000000000000000000000000001469368),
+ value("f32", -0.000000000000000000000000000000000000001469368),
+ value("f32", -0.000000000000000000000000000000000000001469368),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4159
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4162
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4165
+assert_return(
+ () => invoke($0, `f32x4.div`, [f32x4([-0.5, -0.5, -0.5, -0.5]), f32x4([0, 0, 0, 0])]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4168
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4171
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4174
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4177
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -42535296000000000000000000000000000000),
+ value("f32", -42535296000000000000000000000000000000),
+ value("f32", -42535296000000000000000000000000000000),
+ value("f32", -42535296000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4180
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42535296000000000000000000000000000000),
+ value("f32", 42535296000000000000000000000000000000),
+ value("f32", 42535296000000000000000000000000000000),
+ value("f32", 42535296000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4183
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4186
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4189
+assert_return(
+ () => invoke($0, `f32x4.div`, [f32x4([-0.5, -0.5, -0.5, -0.5]), f32x4([1, 1, 1, 1])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4192
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4195
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.07957747),
+ value("f32", -0.07957747),
+ value("f32", -0.07957747),
+ value("f32", -0.07957747),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4198
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.07957747),
+ value("f32", 0.07957747),
+ value("f32", 0.07957747),
+ value("f32", 0.07957747),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4201
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000001469368),
+ value("f32", -0.000000000000000000000000000000000000001469368),
+ value("f32", -0.000000000000000000000000000000000000001469368),
+ value("f32", -0.000000000000000000000000000000000000001469368),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4204
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000001469368),
+ value("f32", 0.000000000000000000000000000000000000001469368),
+ value("f32", 0.000000000000000000000000000000000000001469368),
+ value("f32", 0.000000000000000000000000000000000000001469368),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4207
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4210
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4213
+assert_return(
+ () => invoke($0, `f32x4.div`, [f32x4([1, 1, 1, 1]), f32x4([0, 0, 0, 0])]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4216
+assert_return(
+ () => invoke($0, `f32x4.div`, [f32x4([1, 1, 1, 1]), f32x4([-0, -0, -0, -0])]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4219
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4222
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4225
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 85070590000000000000000000000000000000),
+ value("f32", 85070590000000000000000000000000000000),
+ value("f32", 85070590000000000000000000000000000000),
+ value("f32", 85070590000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4228
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -85070590000000000000000000000000000000),
+ value("f32", -85070590000000000000000000000000000000),
+ value("f32", -85070590000000000000000000000000000000),
+ value("f32", -85070590000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4231
+assert_return(
+ () => invoke($0, `f32x4.div`, [f32x4([1, 1, 1, 1]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", 2),
+ value("f32", 2),
+ value("f32", 2),
+ value("f32", 2),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4234
+assert_return(
+ () => invoke($0, `f32x4.div`, [f32x4([1, 1, 1, 1]), f32x4([-0.5, -0.5, -0.5, -0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", -2),
+ value("f32", -2),
+ value("f32", -2),
+ value("f32", -2),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4237
+assert_return(
+ () => invoke($0, `f32x4.div`, [f32x4([1, 1, 1, 1]), f32x4([1, 1, 1, 1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4240
+assert_return(
+ () => invoke($0, `f32x4.div`, [f32x4([1, 1, 1, 1]), f32x4([-1, -1, -1, -1])]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4243
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.15915494),
+ value("f32", 0.15915494),
+ value("f32", 0.15915494),
+ value("f32", 0.15915494),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4246
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.15915494),
+ value("f32", -0.15915494),
+ value("f32", -0.15915494),
+ value("f32", -0.15915494),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4249
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000002938736),
+ value("f32", 0.000000000000000000000000000000000000002938736),
+ value("f32", 0.000000000000000000000000000000000000002938736),
+ value("f32", 0.000000000000000000000000000000000000002938736),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4252
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000002938736),
+ value("f32", -0.000000000000000000000000000000000000002938736),
+ value("f32", -0.000000000000000000000000000000000000002938736),
+ value("f32", -0.000000000000000000000000000000000000002938736),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4255
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4258
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4261
+assert_return(
+ () => invoke($0, `f32x4.div`, [f32x4([-1, -1, -1, -1]), f32x4([0, 0, 0, 0])]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4264
+assert_return(
+ () => invoke($0, `f32x4.div`, [f32x4([-1, -1, -1, -1]), f32x4([-0, -0, -0, -0])]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4267
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4270
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4273
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -85070590000000000000000000000000000000),
+ value("f32", -85070590000000000000000000000000000000),
+ value("f32", -85070590000000000000000000000000000000),
+ value("f32", -85070590000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4276
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 85070590000000000000000000000000000000),
+ value("f32", 85070590000000000000000000000000000000),
+ value("f32", 85070590000000000000000000000000000000),
+ value("f32", 85070590000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4279
+assert_return(
+ () => invoke($0, `f32x4.div`, [f32x4([-1, -1, -1, -1]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", -2),
+ value("f32", -2),
+ value("f32", -2),
+ value("f32", -2),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4282
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 2),
+ value("f32", 2),
+ value("f32", 2),
+ value("f32", 2),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4285
+assert_return(
+ () => invoke($0, `f32x4.div`, [f32x4([-1, -1, -1, -1]), f32x4([1, 1, 1, 1])]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4288
+assert_return(
+ () => invoke($0, `f32x4.div`, [f32x4([-1, -1, -1, -1]), f32x4([-1, -1, -1, -1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4291
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.15915494),
+ value("f32", -0.15915494),
+ value("f32", -0.15915494),
+ value("f32", -0.15915494),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4294
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.15915494),
+ value("f32", 0.15915494),
+ value("f32", 0.15915494),
+ value("f32", 0.15915494),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4297
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000002938736),
+ value("f32", -0.000000000000000000000000000000000000002938736),
+ value("f32", -0.000000000000000000000000000000000000002938736),
+ value("f32", -0.000000000000000000000000000000000000002938736),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4300
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000002938736),
+ value("f32", 0.000000000000000000000000000000000000002938736),
+ value("f32", 0.000000000000000000000000000000000000002938736),
+ value("f32", 0.000000000000000000000000000000000000002938736),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4303
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4306
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4309
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4312
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4315
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4318
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4321
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4324
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4327
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 12.566371),
+ value("f32", 12.566371),
+ value("f32", 12.566371),
+ value("f32", 12.566371),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4330
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -12.566371),
+ value("f32", -12.566371),
+ value("f32", -12.566371),
+ value("f32", -12.566371),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4333
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4336
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4339
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4342
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4345
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000018464624),
+ value("f32", 0.000000000000000000000000000000000000018464624),
+ value("f32", 0.000000000000000000000000000000000000018464624),
+ value("f32", 0.000000000000000000000000000000000000018464624),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4348
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000018464624),
+ value("f32", -0.000000000000000000000000000000000000018464624),
+ value("f32", -0.000000000000000000000000000000000000018464624),
+ value("f32", -0.000000000000000000000000000000000000018464624),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4351
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4354
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4357
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4360
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4363
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4366
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4369
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4372
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4375
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -12.566371),
+ value("f32", -12.566371),
+ value("f32", -12.566371),
+ value("f32", -12.566371),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4378
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 12.566371),
+ value("f32", 12.566371),
+ value("f32", 12.566371),
+ value("f32", 12.566371),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4381
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4384
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4387
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4390
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4393
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000018464624),
+ value("f32", -0.000000000000000000000000000000000000018464624),
+ value("f32", -0.000000000000000000000000000000000000018464624),
+ value("f32", -0.000000000000000000000000000000000000018464624),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4396
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000018464624),
+ value("f32", 0.000000000000000000000000000000000000018464624),
+ value("f32", 0.000000000000000000000000000000000000018464624),
+ value("f32", 0.000000000000000000000000000000000000018464624),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4399
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4402
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4405
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4408
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4411
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4414
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4417
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4420
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4423
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4426
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4429
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4432
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4435
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 54157613000000000000000000000000000000),
+ value("f32", 54157613000000000000000000000000000000),
+ value("f32", 54157613000000000000000000000000000000),
+ value("f32", 54157613000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4438
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -54157613000000000000000000000000000000),
+ value("f32", -54157613000000000000000000000000000000),
+ value("f32", -54157613000000000000000000000000000000),
+ value("f32", -54157613000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4441
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4444
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4447
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4450
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4453
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4456
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4459
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4462
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4465
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4468
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4471
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4474
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4477
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4480
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4483
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -54157613000000000000000000000000000000),
+ value("f32", -54157613000000000000000000000000000000),
+ value("f32", -54157613000000000000000000000000000000),
+ value("f32", -54157613000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4486
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 54157613000000000000000000000000000000),
+ value("f32", 54157613000000000000000000000000000000),
+ value("f32", 54157613000000000000000000000000000000),
+ value("f32", 54157613000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4489
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4492
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4495
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4498
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4501
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4504
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4507
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4510
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4513
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4516
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4519
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4522
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4525
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4528
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4531
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4534
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4537
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4540
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4543
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4546
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4549
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4552
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4555
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4558
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4561
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4564
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4567
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4570
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4573
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4576
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4579
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4582
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4585
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4588
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4591
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4594
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4597
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4600
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([0, 0, 0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4603
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4606
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-0, -0, -0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4609
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4612
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4615
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4618
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4621
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4624
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4627
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4630
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4633
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4636
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4639
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4642
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4645
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4648
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([1, 1, 1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4651
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4654
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-1, -1, -1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4657
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4660
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4663
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4666
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4669
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4672
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4675
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4678
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4681
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4684
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4687
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4690
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4693
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4696
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4699
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4702
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4705
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4708
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([0, 0, 0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4711
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4714
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-0, -0, -0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4717
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4720
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4723
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4726
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4729
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4732
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4735
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4738
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4741
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4744
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4747
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4750
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4753
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4756
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([1, 1, 1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4759
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4762
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-1, -1, -1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4765
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4768
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4771
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4774
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4777
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4780
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4783
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4786
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4789
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4792
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4795
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4798
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4801
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4804
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4807
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4810
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4813
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4816
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([0, 0, 0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4819
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4822
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-0, -0, -0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4825
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4828
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4831
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4834
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4837
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4840
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4843
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4846
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4849
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4852
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4855
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4858
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4861
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4864
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([1, 1, 1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4867
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4870
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-1, -1, -1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4873
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4876
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4879
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4882
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4885
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4888
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4891
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4894
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4897
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4900
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4903
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4906
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4909
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4912
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4915
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4918
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4921
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4924
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([0, 0, 0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4927
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4930
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-0, -0, -0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4933
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4936
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4939
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4942
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4945
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4948
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4951
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4954
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4957
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4960
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4963
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4966
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4969
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4972
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([1, 1, 1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4975
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4978
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-1, -1, -1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4981
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4984
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4987
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4990
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4993
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4996
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:4999
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5002
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5005
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5008
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5011
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5014
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5017
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5020
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5023
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5026
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5029
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5032
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5035
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5038
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5041
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5044
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5047
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5050
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5053
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5056
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5059
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5062
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5065
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5068
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5071
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5074
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5077
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5080
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5083
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5086
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5089
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5092
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5095
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5098
+assert_return(
+ () => invoke($0, `f32x4.div`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5101
+assert_return(
+ () => invoke($0, `f32x4.sqrt`, [f32x4([0, 0, 0, 0])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5103
+assert_return(
+ () => invoke($0, `f32x4.sqrt`, [f32x4([-0, -0, -0, -0])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5105
+assert_return(
+ () => invoke($0, `f32x4.sqrt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.00000000000000000000003743392),
+ value("f32", 0.00000000000000000000003743392),
+ value("f32", 0.00000000000000000000003743392),
+ value("f32", 0.00000000000000000000003743392),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5107
+assert_return(
+ () => invoke($0, `f32x4.sqrt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5109
+assert_return(
+ () => invoke($0, `f32x4.sqrt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.00000000000000000010842022),
+ value("f32", 0.00000000000000000010842022),
+ value("f32", 0.00000000000000000010842022),
+ value("f32", 0.00000000000000000010842022),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5111
+assert_return(
+ () => invoke($0, `f32x4.sqrt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5113
+assert_return(
+ () => invoke($0, `f32x4.sqrt`, [f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.70710677),
+ value("f32", 0.70710677),
+ value("f32", 0.70710677),
+ value("f32", 0.70710677),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5115
+assert_return(
+ () => invoke($0, `f32x4.sqrt`, [f32x4([-0.5, -0.5, -0.5, -0.5])]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5117
+assert_return(
+ () => invoke($0, `f32x4.sqrt`, [f32x4([1, 1, 1, 1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5119
+assert_return(
+ () => invoke($0, `f32x4.sqrt`, [f32x4([-1, -1, -1, -1])]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5121
+assert_return(
+ () => invoke($0, `f32x4.sqrt`, [f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855])]),
+ [
+ new F32x4Pattern(
+ value("f32", 2.5066283),
+ value("f32", 2.5066283),
+ value("f32", 2.5066283),
+ value("f32", 2.5066283),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5123
+assert_return(
+ () => invoke($0, `f32x4.sqrt`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5125
+assert_return(
+ () => invoke($0, `f32x4.sqrt`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 18446743000000000000),
+ value("f32", 18446743000000000000),
+ value("f32", 18446743000000000000),
+ value("f32", 18446743000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5127
+assert_return(
+ () => invoke($0, `f32x4.sqrt`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5129
+assert_return(
+ () => invoke($0, `f32x4.sqrt`, [f32x4([Infinity, Infinity, Infinity, Infinity])]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5131
+assert_return(
+ () => invoke($0, `f32x4.sqrt`, [f32x4([-Infinity, -Infinity, -Infinity, -Infinity])]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5133
+assert_return(
+ () => invoke($0, `f32x4.sqrt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5135
+assert_return(
+ () => invoke($0, `f32x4.sqrt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5137
+assert_return(
+ () => invoke($0, `f32x4.sqrt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5139
+assert_return(
+ () => invoke($0, `f32x4.sqrt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5141
+assert_return(
+ () => invoke($0, `f32x4.sqrt`, [f32x4([123456790, 123456790, 123456790, 123456790])]),
+ [
+ new F32x4Pattern(
+ value("f32", 11111.111),
+ value("f32", 11111.111),
+ value("f32", 11111.111),
+ value("f32", 11111.111),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5143
+assert_return(
+ () => invoke($0, `f32x4.sqrt`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 35136419000000),
+ value("f32", 35136419000000),
+ value("f32", 35136419000000),
+ value("f32", 35136419000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5145
+assert_return(
+ () => invoke($0, `f32x4.sqrt`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 35136419000000),
+ value("f32", 35136419000000),
+ value("f32", 35136419000000),
+ value("f32", 35136419000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5147
+assert_return(
+ () => invoke($0, `f32x4.sqrt`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.0000035136418),
+ value("f32", 0.0000035136418),
+ value("f32", 0.0000035136418),
+ value("f32", 0.0000035136418),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5149
+assert_return(
+ () => invoke($0, `f32x4.sqrt`, [f32x4([123456790, 123456790, 123456790, 123456790])]),
+ [
+ new F32x4Pattern(
+ value("f32", 11111.111),
+ value("f32", 11111.111),
+ value("f32", 11111.111),
+ value("f32", 11111.111),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5151
+assert_return(
+ () => invoke($0, `f32x4.sqrt`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 35136419000000),
+ value("f32", 35136419000000),
+ value("f32", 35136419000000),
+ value("f32", 35136419000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5153
+assert_return(
+ () => invoke($0, `f32x4.sqrt`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 35136419000000),
+ value("f32", 35136419000000),
+ value("f32", 35136419000000),
+ value("f32", 35136419000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5155
+assert_return(
+ () => invoke($0, `f32x4.sqrt`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.0000035136418),
+ value("f32", 0.0000035136418),
+ value("f32", 0.0000035136418),
+ value("f32", 0.0000035136418),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5157
+assert_return(
+ () => invoke($0, `f32x4.sqrt`, [f32x4([123456790, 123456790, 123456790, 123456790])]),
+ [
+ new F32x4Pattern(
+ value("f32", 11111.111),
+ value("f32", 11111.111),
+ value("f32", 11111.111),
+ value("f32", 11111.111),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5159
+assert_return(
+ () => invoke($0, `f32x4.sqrt`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 35136419000000),
+ value("f32", 35136419000000),
+ value("f32", 35136419000000),
+ value("f32", 35136419000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5161
+assert_return(
+ () => invoke($0, `f32x4.sqrt`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 35136419000000),
+ value("f32", 35136419000000),
+ value("f32", 35136419000000),
+ value("f32", 35136419000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5163
+assert_return(
+ () => invoke($0, `f32x4.sqrt`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.0000035136418),
+ value("f32", 0.0000035136418),
+ value("f32", 0.0000035136418),
+ value("f32", 0.0000035136418),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5165
+assert_return(
+ () => invoke($0, `f32x4.sqrt`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 286331170),
+ value("f32", 286331170),
+ value("f32", 286331170),
+ value("f32", 286331170),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5167
+assert_return(
+ () => invoke($0, `f32x4.sqrt`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 207325900000),
+ value("f32", 207325900000),
+ value("f32", 207325900000),
+ value("f32", 207325900000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5169
+assert_return(
+ () => invoke($0, `f32x4.sqrt`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 207325900000),
+ value("f32", 207325900000),
+ value("f32", 207325900000),
+ value("f32", 207325900000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5171
+assert_return(
+ () => invoke($0, `f32x4.sqrt`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 395442.78),
+ value("f32", 395442.78),
+ value("f32", 395442.78),
+ value("f32", 395442.78),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5173
+assert_return(
+ () => invoke($0, `f32x4.sqrt`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 286331170),
+ value("f32", 286331170),
+ value("f32", 286331170),
+ value("f32", 286331170),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5175
+assert_return(
+ () => invoke($0, `f32x4.sqrt`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 207325900000),
+ value("f32", 207325900000),
+ value("f32", 207325900000),
+ value("f32", 207325900000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5177
+assert_return(
+ () => invoke($0, `f32x4.sqrt`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 207325900000),
+ value("f32", 207325900000),
+ value("f32", 207325900000),
+ value("f32", 207325900000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5179
+assert_return(
+ () => invoke($0, `f32x4.sqrt`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 395442.78),
+ value("f32", 395442.78),
+ value("f32", 395442.78),
+ value("f32", 395442.78),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5181
+assert_return(
+ () => invoke($0, `f32x4.sqrt`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 286331170),
+ value("f32", 286331170),
+ value("f32", 286331170),
+ value("f32", 286331170),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5183
+assert_return(
+ () => invoke($0, `f32x4.sqrt`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 207325900000),
+ value("f32", 207325900000),
+ value("f32", 207325900000),
+ value("f32", 207325900000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5185
+assert_return(
+ () => invoke($0, `f32x4.sqrt`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 207325900000),
+ value("f32", 207325900000),
+ value("f32", 207325900000),
+ value("f32", 207325900000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5187
+assert_return(
+ () => invoke($0, `f32x4.sqrt`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 395442.78),
+ value("f32", 395442.78),
+ value("f32", 395442.78),
+ value("f32", 395442.78),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5189
+assert_return(
+ () => invoke($0, `f32x4.neg`, [f32x4([0, 0, 0, 0])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5191
+assert_return(
+ () => invoke($0, `f32x4.neg`, [f32x4([-0, -0, -0, -0])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5193
+assert_return(
+ () => invoke($0, `f32x4.neg`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5195
+assert_return(
+ () => invoke($0, `f32x4.neg`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5197
+assert_return(
+ () => invoke($0, `f32x4.neg`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5199
+assert_return(
+ () => invoke($0, `f32x4.neg`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5201
+assert_return(
+ () => invoke($0, `f32x4.neg`, [f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5203
+assert_return(
+ () => invoke($0, `f32x4.neg`, [f32x4([-0.5, -0.5, -0.5, -0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5205
+assert_return(
+ () => invoke($0, `f32x4.neg`, [f32x4([1, 1, 1, 1])]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5207
+assert_return(
+ () => invoke($0, `f32x4.neg`, [f32x4([-1, -1, -1, -1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5209
+assert_return(
+ () => invoke($0, `f32x4.neg`, [f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855])]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5211
+assert_return(
+ () => invoke($0, `f32x4.neg`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5213
+assert_return(
+ () => invoke($0, `f32x4.neg`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5215
+assert_return(
+ () => invoke($0, `f32x4.neg`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5217
+assert_return(
+ () => invoke($0, `f32x4.neg`, [f32x4([Infinity, Infinity, Infinity, Infinity])]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5219
+assert_return(
+ () => invoke($0, `f32x4.neg`, [f32x4([-Infinity, -Infinity, -Infinity, -Infinity])]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5221
+assert_return(
+ () => invoke($0, `f32x4.neg`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5223
+assert_return(
+ () => invoke($0, `f32x4.neg`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5225
+assert_return(
+ () => invoke($0, `f32x4.neg`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5227
+assert_return(
+ () => invoke($0, `f32x4.neg`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5229
+assert_return(
+ () => invoke($0, `f32x4.neg`, [f32x4([123456790, 123456790, 123456790, 123456790])]),
+ [
+ new F32x4Pattern(
+ value("f32", -123456790),
+ value("f32", -123456790),
+ value("f32", -123456790),
+ value("f32", -123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5231
+assert_return(
+ () => invoke($0, `f32x4.neg`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1234567900000000000000000000),
+ value("f32", -1234567900000000000000000000),
+ value("f32", -1234567900000000000000000000),
+ value("f32", -1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5233
+assert_return(
+ () => invoke($0, `f32x4.neg`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1234567900000000000000000000),
+ value("f32", -1234567900000000000000000000),
+ value("f32", -1234567900000000000000000000),
+ value("f32", -1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5235
+assert_return(
+ () => invoke($0, `f32x4.neg`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000012345679),
+ value("f32", -0.000000000012345679),
+ value("f32", -0.000000000012345679),
+ value("f32", -0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5237
+assert_return(
+ () => invoke($0, `f32x4.neg`, [f32x4([123456790, 123456790, 123456790, 123456790])]),
+ [
+ new F32x4Pattern(
+ value("f32", -123456790),
+ value("f32", -123456790),
+ value("f32", -123456790),
+ value("f32", -123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5239
+assert_return(
+ () => invoke($0, `f32x4.neg`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1234567900000000000000000000),
+ value("f32", -1234567900000000000000000000),
+ value("f32", -1234567900000000000000000000),
+ value("f32", -1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5241
+assert_return(
+ () => invoke($0, `f32x4.neg`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1234567900000000000000000000),
+ value("f32", -1234567900000000000000000000),
+ value("f32", -1234567900000000000000000000),
+ value("f32", -1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5243
+assert_return(
+ () => invoke($0, `f32x4.neg`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000012345679),
+ value("f32", -0.000000000012345679),
+ value("f32", -0.000000000012345679),
+ value("f32", -0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5245
+assert_return(
+ () => invoke($0, `f32x4.neg`, [f32x4([123456790, 123456790, 123456790, 123456790])]),
+ [
+ new F32x4Pattern(
+ value("f32", -123456790),
+ value("f32", -123456790),
+ value("f32", -123456790),
+ value("f32", -123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5247
+assert_return(
+ () => invoke($0, `f32x4.neg`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1234567900000000000000000000),
+ value("f32", -1234567900000000000000000000),
+ value("f32", -1234567900000000000000000000),
+ value("f32", -1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5249
+assert_return(
+ () => invoke($0, `f32x4.neg`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1234567900000000000000000000),
+ value("f32", -1234567900000000000000000000),
+ value("f32", -1234567900000000000000000000),
+ value("f32", -1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5251
+assert_return(
+ () => invoke($0, `f32x4.neg`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000012345679),
+ value("f32", -0.000000000012345679),
+ value("f32", -0.000000000012345679),
+ value("f32", -0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5253
+assert_return(
+ () => invoke($0, `f32x4.neg`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -81985530000000000),
+ value("f32", -81985530000000000),
+ value("f32", -81985530000000000),
+ value("f32", -81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5255
+assert_return(
+ () => invoke($0, `f32x4.neg`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -42984030000000000000000),
+ value("f32", -42984030000000000000000),
+ value("f32", -42984030000000000000000),
+ value("f32", -42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5257
+assert_return(
+ () => invoke($0, `f32x4.neg`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -42984030000000000000000),
+ value("f32", -42984030000000000000000),
+ value("f32", -42984030000000000000000),
+ value("f32", -42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5259
+assert_return(
+ () => invoke($0, `f32x4.neg`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -156374990000),
+ value("f32", -156374990000),
+ value("f32", -156374990000),
+ value("f32", -156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5261
+assert_return(
+ () => invoke($0, `f32x4.neg`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -81985530000000000),
+ value("f32", -81985530000000000),
+ value("f32", -81985530000000000),
+ value("f32", -81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5263
+assert_return(
+ () => invoke($0, `f32x4.neg`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -42984030000000000000000),
+ value("f32", -42984030000000000000000),
+ value("f32", -42984030000000000000000),
+ value("f32", -42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5265
+assert_return(
+ () => invoke($0, `f32x4.neg`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -42984030000000000000000),
+ value("f32", -42984030000000000000000),
+ value("f32", -42984030000000000000000),
+ value("f32", -42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5267
+assert_return(
+ () => invoke($0, `f32x4.neg`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -156374990000),
+ value("f32", -156374990000),
+ value("f32", -156374990000),
+ value("f32", -156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5269
+assert_return(
+ () => invoke($0, `f32x4.neg`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -81985530000000000),
+ value("f32", -81985530000000000),
+ value("f32", -81985530000000000),
+ value("f32", -81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5271
+assert_return(
+ () => invoke($0, `f32x4.neg`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -42984030000000000000000),
+ value("f32", -42984030000000000000000),
+ value("f32", -42984030000000000000000),
+ value("f32", -42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5273
+assert_return(
+ () => invoke($0, `f32x4.neg`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -42984030000000000000000),
+ value("f32", -42984030000000000000000),
+ value("f32", -42984030000000000000000),
+ value("f32", -42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5275
+assert_return(
+ () => invoke($0, `f32x4.neg`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -156374990000),
+ value("f32", -156374990000),
+ value("f32", -156374990000),
+ value("f32", -156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5280
+let $1 = instantiate(`(module
+
+ (func (export "f32x4_sqrt_arith") (result v128)
+ (f32x4.sqrt (v128.const f32x4 nan:0x200000 -nan:0x200000 16.0 25.0)))
+ (func (export "f32x4_sqrt_canon") (result v128)
+ (f32x4.sqrt (v128.const f32x4 -1.0 nan 4.0 9.0)))
+ (func (export "f32x4_sqrt_mixed") (result v128)
+ (f32x4.sqrt (v128.const f32x4 -inf nan:0x200000 36.0 49.0)))
+)`);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5290
+assert_return(
+ () => invoke($1, `f32x4_sqrt_arith`, []),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ value("f32", 4),
+ value("f32", 5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5291
+assert_return(
+ () => invoke($1, `f32x4_sqrt_canon`, []),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ value("f32", 2),
+ value("f32", 3),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5292
+assert_return(
+ () => invoke($1, `f32x4_sqrt_mixed`, []),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `arithmetic_nan`,
+ value("f32", 6),
+ value("f32", 7),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5295
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (f32x4.neg (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5296
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (f32x4.sqrt (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5297
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (f32x4.add (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5298
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (f32x4.sub (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5299
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (f32x4.mul (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5300
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (f32x4.div (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5304
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f32x4.neg-arg-empty (result v128)
+ (f32x4.neg)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5312
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f32x4.sqrt-arg-empty (result v128)
+ (f32x4.sqrt)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5320
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f32x4.add-1st-arg-empty (result v128)
+ (f32x4.add (v128.const f32x4 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5328
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f32x4.add-arg-empty (result v128)
+ (f32x4.add)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5336
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f32x4.sub-1st-arg-empty (result v128)
+ (f32x4.sub (v128.const f32x4 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5344
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f32x4.sub-arg-empty (result v128)
+ (f32x4.sub)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5352
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f32x4.mul-1st-arg-empty (result v128)
+ (f32x4.mul (v128.const f32x4 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5360
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f32x4.mul-arg-empty (result v128)
+ (f32x4.mul)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5368
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f32x4.div-1st-arg-empty (result v128)
+ (f32x4.div (v128.const f32x4 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5376
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f32x4.div-arg-empty (result v128)
+ (f32x4.div)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5386
+let $2 = instantiate(`(module
+ (func (export "add-sub") (param v128 v128 v128) (result v128)
+ (f32x4.add (f32x4.sub (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "div-add") (param v128 v128 v128) (result v128)
+ (f32x4.div (f32x4.add (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "div-mul") (param v128 v128 v128) (result v128)
+ (f32x4.div (f32x4.mul (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "div-sub") (param v128 v128 v128) (result v128)
+ (f32x4.div (f32x4.sub (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "mul-add") (param v128 v128 v128) (result v128)
+ (f32x4.mul (f32x4.add (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "mul-div") (param v128 v128 v128) (result v128)
+ (f32x4.mul (f32x4.div (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "mul-sub") (param v128 v128 v128) (result v128)
+ (f32x4.mul (f32x4.sub (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "sub-add") (param v128 v128 v128) (result v128)
+ (f32x4.sub (f32x4.add (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "add-neg") (param v128 v128) (result v128)
+ (f32x4.add (f32x4.neg (local.get 0)) (local.get 1)))
+ (func (export "add-sqrt") (param v128 v128) (result v128)
+ (f32x4.add (f32x4.sqrt (local.get 0)) (local.get 1)))
+ (func (export "div-neg") (param v128 v128) (result v128)
+ (f32x4.div (f32x4.neg (local.get 0)) (local.get 1)))
+ (func (export "div-sqrt") (param v128 v128) (result v128)
+ (f32x4.div (f32x4.sqrt (local.get 0)) (local.get 1)))
+ (func (export "mul-neg") (param v128 v128) (result v128)
+ (f32x4.mul (f32x4.neg (local.get 0)) (local.get 1)))
+ (func (export "mul-sqrt") (param v128 v128) (result v128)
+ (f32x4.mul (f32x4.sqrt (local.get 0)) (local.get 1)))
+ (func (export "sub-neg") (param v128 v128) (result v128)
+ (f32x4.sub (f32x4.neg (local.get 0)) (local.get 1)))
+ (func (export "sub-sqrt") (param v128 v128) (result v128)
+ (f32x4.sub (f32x4.sqrt (local.get 0)) (local.get 1)))
+)`);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5421
+assert_return(
+ () => invoke($2, `add-sub`, [
+ f32x4([1.125, 1.125, 1.125, 1.125]),
+ f32x4([0.25, 0.25, 0.25, 0.25]),
+ f32x4([0.125, 0.125, 0.125, 0.125]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5425
+assert_return(
+ () => invoke($2, `div-add`, [
+ f32x4([1.125, 1.125, 1.125, 1.125]),
+ f32x4([0.125, 0.125, 0.125, 0.125]),
+ f32x4([0.25, 0.25, 0.25, 0.25]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 5),
+ value("f32", 5),
+ value("f32", 5),
+ value("f32", 5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5429
+assert_return(
+ () => invoke($2, `div-mul`, [
+ f32x4([1.125, 1.125, 1.125, 1.125]),
+ f32x4([4, 4, 4, 4]),
+ f32x4([0.25, 0.25, 0.25, 0.25]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 18),
+ value("f32", 18),
+ value("f32", 18),
+ value("f32", 18),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5433
+assert_return(
+ () => invoke($2, `div-sub`, [
+ f32x4([1.125, 1.125, 1.125, 1.125]),
+ f32x4([0.125, 0.125, 0.125, 0.125]),
+ f32x4([0.25, 0.25, 0.25, 0.25]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 4),
+ value("f32", 4),
+ value("f32", 4),
+ value("f32", 4),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5437
+assert_return(
+ () => invoke($2, `mul-add`, [
+ f32x4([1.25, 1.25, 1.25, 1.25]),
+ f32x4([0.25, 0.25, 0.25, 0.25]),
+ f32x4([0.25, 0.25, 0.25, 0.25]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.375),
+ value("f32", 0.375),
+ value("f32", 0.375),
+ value("f32", 0.375),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5441
+assert_return(
+ () => invoke($2, `mul-div`, [
+ f32x4([1.125, 1.125, 1.125, 1.125]),
+ f32x4([0.125, 0.125, 0.125, 0.125]),
+ f32x4([0.25, 0.25, 0.25, 0.25]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 2.25),
+ value("f32", 2.25),
+ value("f32", 2.25),
+ value("f32", 2.25),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5445
+assert_return(
+ () => invoke($2, `mul-sub`, [
+ f32x4([1.125, 1.125, 1.125, 1.125]),
+ f32x4([0.125, 0.125, 0.125, 0.125]),
+ f32x4([0.25, 0.25, 0.25, 0.25]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.25),
+ value("f32", 0.25),
+ value("f32", 0.25),
+ value("f32", 0.25),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5449
+assert_return(
+ () => invoke($2, `sub-add`, [
+ f32x4([1.125, 1.125, 1.125, 1.125]),
+ f32x4([0.25, 0.25, 0.25, 0.25]),
+ f32x4([0.125, 0.125, 0.125, 0.125]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1.25),
+ value("f32", 1.25),
+ value("f32", 1.25),
+ value("f32", 1.25),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5453
+assert_return(
+ () => invoke($2, `add-neg`, [
+ f32x4([1.125, 1.125, 1.125, 1.125]),
+ f32x4([0.125, 0.125, 0.125, 0.125]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5456
+assert_return(
+ () => invoke($2, `add-sqrt`, [
+ f32x4([2.25, 2.25, 2.25, 2.25]),
+ f32x4([0.25, 0.25, 0.25, 0.25]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1.75),
+ value("f32", 1.75),
+ value("f32", 1.75),
+ value("f32", 1.75),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5459
+assert_return(
+ () => invoke($2, `div-neg`, [
+ f32x4([1.5, 1.5, 1.5, 1.5]),
+ f32x4([0.25, 0.25, 0.25, 0.25]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6),
+ value("f32", -6),
+ value("f32", -6),
+ value("f32", -6),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5462
+assert_return(
+ () => invoke($2, `div-sqrt`, [
+ f32x4([2.25, 2.25, 2.25, 2.25]),
+ f32x4([0.25, 0.25, 0.25, 0.25]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6),
+ value("f32", 6),
+ value("f32", 6),
+ value("f32", 6),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5465
+assert_return(
+ () => invoke($2, `mul-neg`, [
+ f32x4([1.5, 1.5, 1.5, 1.5]),
+ f32x4([0.25, 0.25, 0.25, 0.25]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.375),
+ value("f32", -0.375),
+ value("f32", -0.375),
+ value("f32", -0.375),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5468
+assert_return(
+ () => invoke($2, `mul-sqrt`, [
+ f32x4([2.25, 2.25, 2.25, 2.25]),
+ f32x4([0.25, 0.25, 0.25, 0.25]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.375),
+ value("f32", 0.375),
+ value("f32", 0.375),
+ value("f32", 0.375),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5471
+assert_return(
+ () => invoke($2, `sub-neg`, [
+ f32x4([1.125, 1.125, 1.125, 1.125]),
+ f32x4([0.125, 0.125, 0.125, 0.125]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1.25),
+ value("f32", -1.25),
+ value("f32", -1.25),
+ value("f32", -1.25),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_arith.wast:5474
+assert_return(
+ () => invoke($2, `sub-sqrt`, [
+ f32x4([2.25, 2.25, 2.25, 2.25]),
+ f32x4([0.25, 0.25, 0.25, 0.25]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1.25),
+ value("f32", 1.25),
+ value("f32", 1.25),
+ value("f32", 1.25),
+ ),
+ ],
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/simd_f32x4_cmp.wast.js b/js/src/jit-test/tests/wasm/spec/spec/simd_f32x4_cmp.wast.js
new file mode 100644
index 0000000000..e11d19597a
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/simd_f32x4_cmp.wast.js
@@ -0,0 +1,47701 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_f32x4_cmp.wast
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3
+let $0 = instantiate(`(module
+ (func (export "eq") (param $$x v128) (param $$y v128) (result v128) (f32x4.eq (local.get $$x) (local.get $$y)))
+ (func (export "ne") (param $$x v128) (param $$y v128) (result v128) (f32x4.ne (local.get $$x) (local.get $$y)))
+ (func (export "lt") (param $$x v128) (param $$y v128) (result v128) (f32x4.lt (local.get $$x) (local.get $$y)))
+ (func (export "le") (param $$x v128) (param $$y v128) (result v128) (f32x4.le (local.get $$x) (local.get $$y)))
+ (func (export "gt") (param $$x v128) (param $$y v128) (result v128) (f32x4.gt (local.get $$x) (local.get $$y)))
+ (func (export "ge") (param $$x v128) (param $$y v128) (result v128) (f32x4.ge (local.get $$x) (local.get $$y)))
+)`);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:13
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:16
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:19
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:22
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:25
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:28
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:31
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:34
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:37
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:40
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:43
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:46
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:49
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:52
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:55
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:58
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:61
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:64
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:67
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:70
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:73
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:76
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:79
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:82
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:85
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:88
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:91
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:94
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:97
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:100
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:103
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:106
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:109
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:112
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:115
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:118
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:121
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:124
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:127
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:130
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:133
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:136
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:139
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:142
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:145
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:148
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:151
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:154
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:157
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:160
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:163
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:166
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:169
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:172
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:175
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:178
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:181
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:184
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:187
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:190
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:193
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:196
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:199
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:202
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:205
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:208
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:211
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:214
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:217
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:220
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:223
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:226
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:229
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:232
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:235
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:238
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:241
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:244
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:247
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:250
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:253
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:256
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:259
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:262
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:265
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:268
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:271
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:274
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:277
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:280
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:283
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:286
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:289
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:292
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:295
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:298
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:301
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:304
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:307
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:310
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:313
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([1, 1, 1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:316
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:319
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([1, 1, 1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:322
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:325
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:328
+assert_return(
+ () => invoke($0, `eq`, [f32x4([1, 1, 1, 1]), f32x4([1, 1, 1, 1])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:331
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:334
+assert_return(
+ () => invoke($0, `eq`, [f32x4([1, 1, 1, 1]), f32x4([-0, -0, -0, -0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:337
+assert_return(
+ () => invoke($0, `eq`, [f32x4([1, 1, 1, 1]), f32x4([-0.5, -0.5, -0.5, -0.5])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:340
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:343
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([1, 1, 1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:346
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:349
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:352
+assert_return(
+ () => invoke($0, `eq`, [f32x4([1, 1, 1, 1]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:355
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:358
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([1, 1, 1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:361
+assert_return(
+ () => invoke($0, `eq`, [f32x4([1, 1, 1, 1]), f32x4([0, 0, 0, 0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:364
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:367
+assert_return(
+ () => invoke($0, `eq`, [f32x4([1, 1, 1, 1]), f32x4([-1, -1, -1, -1])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:370
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:373
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:376
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:379
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:382
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:385
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:388
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:391
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:394
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:397
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:400
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:403
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:406
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:409
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:412
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:415
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:418
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:421
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:424
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:427
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:430
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:433
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-0, -0, -0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:436
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:439
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-0, -0, -0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:442
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:445
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:448
+assert_return(
+ () => invoke($0, `eq`, [f32x4([-0, -0, -0, -0]), f32x4([1, 1, 1, 1])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:451
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:454
+assert_return(
+ () => invoke($0, `eq`, [f32x4([-0, -0, -0, -0]), f32x4([-0, -0, -0, -0])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:457
+assert_return(
+ () => invoke($0, `eq`, [f32x4([-0, -0, -0, -0]), f32x4([-0.5, -0.5, -0.5, -0.5])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:460
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:463
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-0, -0, -0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:466
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:469
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:472
+assert_return(
+ () => invoke($0, `eq`, [f32x4([-0, -0, -0, -0]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:475
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:478
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-0, -0, -0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:481
+assert_return(
+ () => invoke($0, `eq`, [f32x4([-0, -0, -0, -0]), f32x4([0, 0, 0, 0])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:484
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:487
+assert_return(
+ () => invoke($0, `eq`, [f32x4([-0, -0, -0, -0]), f32x4([-1, -1, -1, -1])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:490
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:493
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:496
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:499
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:502
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:505
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:508
+assert_return(
+ () => invoke($0, `eq`, [f32x4([-0.5, -0.5, -0.5, -0.5]), f32x4([1, 1, 1, 1])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:511
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:514
+assert_return(
+ () => invoke($0, `eq`, [f32x4([-0.5, -0.5, -0.5, -0.5]), f32x4([-0, -0, -0, -0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:517
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:520
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:523
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:526
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:529
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:532
+assert_return(
+ () => invoke($0, `eq`, [f32x4([-0.5, -0.5, -0.5, -0.5]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:535
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:538
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:541
+assert_return(
+ () => invoke($0, `eq`, [f32x4([-0.5, -0.5, -0.5, -0.5]), f32x4([0, 0, 0, 0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:544
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:547
+assert_return(
+ () => invoke($0, `eq`, [f32x4([-0.5, -0.5, -0.5, -0.5]), f32x4([-1, -1, -1, -1])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:550
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:553
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:556
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:559
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:562
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:565
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:568
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:571
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:574
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:577
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:580
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:583
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:586
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:589
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:592
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:595
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:598
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:601
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:604
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:607
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:610
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:613
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:616
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:619
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:622
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:625
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:628
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:631
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:634
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:637
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:640
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:643
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:646
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:649
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:652
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:655
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:658
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:661
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:664
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:667
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:670
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:673
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:676
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:679
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:682
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:685
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:688
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:691
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:694
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:697
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:700
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:703
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:706
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:709
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:712
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:715
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:718
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:721
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:724
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:727
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:730
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:733
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:736
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:739
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:742
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:745
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:748
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:751
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:754
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:757
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:760
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:763
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:766
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:769
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:772
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:775
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:778
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:781
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:784
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:787
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:790
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:793
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:796
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:799
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:802
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:805
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:808
+assert_return(
+ () => invoke($0, `eq`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([1, 1, 1, 1])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:811
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:814
+assert_return(
+ () => invoke($0, `eq`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([-0, -0, -0, -0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:817
+assert_return(
+ () => invoke($0, `eq`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([-0.5, -0.5, -0.5, -0.5])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:820
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:823
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:826
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:829
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:832
+assert_return(
+ () => invoke($0, `eq`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:835
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:838
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:841
+assert_return(
+ () => invoke($0, `eq`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([0, 0, 0, 0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:844
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:847
+assert_return(
+ () => invoke($0, `eq`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([-1, -1, -1, -1])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:850
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:853
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:856
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:859
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:862
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:865
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:868
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:871
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:874
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:877
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:880
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:883
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:886
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:889
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:892
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:895
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:898
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:901
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:904
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:907
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:910
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:913
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:916
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:919
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:922
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:925
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:928
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:931
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:934
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:937
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:940
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:943
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:946
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:949
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:952
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:955
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:958
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:961
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:964
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:967
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:970
+assert_return(
+ () => invoke($0, `eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:973
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([0, 0, 0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:976
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:979
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([0, 0, 0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:982
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:985
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:988
+assert_return(
+ () => invoke($0, `eq`, [f32x4([0, 0, 0, 0]), f32x4([1, 1, 1, 1])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:991
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:994
+assert_return(
+ () => invoke($0, `eq`, [f32x4([0, 0, 0, 0]), f32x4([-0, -0, -0, -0])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:997
+assert_return(
+ () => invoke($0, `eq`, [f32x4([0, 0, 0, 0]), f32x4([-0.5, -0.5, -0.5, -0.5])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1000
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1003
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([0, 0, 0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1006
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1009
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1012
+assert_return(
+ () => invoke($0, `eq`, [f32x4([0, 0, 0, 0]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1015
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1018
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([0, 0, 0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1021
+assert_return(
+ () => invoke($0, `eq`, [f32x4([0, 0, 0, 0]), f32x4([0, 0, 0, 0])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1024
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1027
+assert_return(
+ () => invoke($0, `eq`, [f32x4([0, 0, 0, 0]), f32x4([-1, -1, -1, -1])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1030
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1033
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1036
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1039
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1042
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1045
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1048
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1051
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1054
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1057
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1060
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1063
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1066
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1069
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1072
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1075
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1078
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1081
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1084
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1087
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1090
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1093
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-1, -1, -1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1096
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1099
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-1, -1, -1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1102
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1105
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1108
+assert_return(
+ () => invoke($0, `eq`, [f32x4([-1, -1, -1, -1]), f32x4([1, 1, 1, 1])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1111
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1114
+assert_return(
+ () => invoke($0, `eq`, [f32x4([-1, -1, -1, -1]), f32x4([-0, -0, -0, -0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1117
+assert_return(
+ () => invoke($0, `eq`, [f32x4([-1, -1, -1, -1]), f32x4([-0.5, -0.5, -0.5, -0.5])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1120
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1123
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-1, -1, -1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1126
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1129
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1132
+assert_return(
+ () => invoke($0, `eq`, [f32x4([-1, -1, -1, -1]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1135
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1138
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-1, -1, -1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1141
+assert_return(
+ () => invoke($0, `eq`, [f32x4([-1, -1, -1, -1]), f32x4([0, 0, 0, 0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1144
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1147
+assert_return(
+ () => invoke($0, `eq`, [f32x4([-1, -1, -1, -1]), f32x4([-1, -1, -1, -1])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1150
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1153
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1156
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1159
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1162
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1165
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1168
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1171
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1174
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1177
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1180
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1183
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1186
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1189
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1192
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1195
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1198
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1201
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1204
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1207
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1210
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1213
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1216
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1219
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1222
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1225
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1228
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1231
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1234
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1237
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1240
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1243
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1246
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1249
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1252
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1255
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1258
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1261
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1264
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1267
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1270
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1273
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1276
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1279
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1282
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1285
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1290
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1293
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1296
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1299
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1302
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1305
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1308
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1311
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1314
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1317
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1320
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1323
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1326
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1329
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1332
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1335
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1338
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1341
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1344
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1347
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1350
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1353
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1356
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1359
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1362
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1365
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1368
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1371
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1374
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1377
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1380
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1383
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1386
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1389
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1392
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1395
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1398
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1401
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1404
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1407
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1410
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1413
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1416
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1419
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1422
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1425
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1428
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1431
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1434
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1437
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1440
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1443
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1446
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1449
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1452
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1455
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1458
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1461
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1464
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1467
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1470
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1473
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1476
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1479
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1482
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1485
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1488
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1491
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1494
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1497
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1500
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1503
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1506
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1509
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1512
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1515
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1518
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1521
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1524
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1527
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1530
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1533
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1536
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1539
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1542
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1545
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1548
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1551
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1554
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1557
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1560
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1563
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1566
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1569
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1572
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1575
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1578
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1581
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1584
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1587
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1590
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([1, 1, 1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1593
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1596
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([1, 1, 1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1599
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1602
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1605
+assert_return(
+ () => invoke($0, `ne`, [f32x4([1, 1, 1, 1]), f32x4([1, 1, 1, 1])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1608
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1611
+assert_return(
+ () => invoke($0, `ne`, [f32x4([1, 1, 1, 1]), f32x4([-0, -0, -0, -0])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1614
+assert_return(
+ () => invoke($0, `ne`, [f32x4([1, 1, 1, 1]), f32x4([-0.5, -0.5, -0.5, -0.5])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1617
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1620
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([1, 1, 1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1623
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1626
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1629
+assert_return(
+ () => invoke($0, `ne`, [f32x4([1, 1, 1, 1]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1632
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1635
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([1, 1, 1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1638
+assert_return(
+ () => invoke($0, `ne`, [f32x4([1, 1, 1, 1]), f32x4([0, 0, 0, 0])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1641
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1644
+assert_return(
+ () => invoke($0, `ne`, [f32x4([1, 1, 1, 1]), f32x4([-1, -1, -1, -1])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1647
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1650
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1653
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1656
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1659
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1662
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1665
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1668
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1671
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1674
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1677
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1680
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1683
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1686
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1689
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1692
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1695
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1698
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1701
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1704
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1707
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1710
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-0, -0, -0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1713
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1716
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-0, -0, -0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1719
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1722
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1725
+assert_return(
+ () => invoke($0, `ne`, [f32x4([-0, -0, -0, -0]), f32x4([1, 1, 1, 1])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1728
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1731
+assert_return(
+ () => invoke($0, `ne`, [f32x4([-0, -0, -0, -0]), f32x4([-0, -0, -0, -0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1734
+assert_return(
+ () => invoke($0, `ne`, [f32x4([-0, -0, -0, -0]), f32x4([-0.5, -0.5, -0.5, -0.5])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1737
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1740
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-0, -0, -0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1743
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1746
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1749
+assert_return(
+ () => invoke($0, `ne`, [f32x4([-0, -0, -0, -0]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1752
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1755
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-0, -0, -0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1758
+assert_return(
+ () => invoke($0, `ne`, [f32x4([-0, -0, -0, -0]), f32x4([0, 0, 0, 0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1761
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1764
+assert_return(
+ () => invoke($0, `ne`, [f32x4([-0, -0, -0, -0]), f32x4([-1, -1, -1, -1])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1767
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1770
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1773
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1776
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1779
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1782
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1785
+assert_return(
+ () => invoke($0, `ne`, [f32x4([-0.5, -0.5, -0.5, -0.5]), f32x4([1, 1, 1, 1])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1788
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1791
+assert_return(
+ () => invoke($0, `ne`, [f32x4([-0.5, -0.5, -0.5, -0.5]), f32x4([-0, -0, -0, -0])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1794
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1797
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1800
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1803
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1806
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1809
+assert_return(
+ () => invoke($0, `ne`, [f32x4([-0.5, -0.5, -0.5, -0.5]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1812
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1815
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1818
+assert_return(
+ () => invoke($0, `ne`, [f32x4([-0.5, -0.5, -0.5, -0.5]), f32x4([0, 0, 0, 0])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1821
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1824
+assert_return(
+ () => invoke($0, `ne`, [f32x4([-0.5, -0.5, -0.5, -0.5]), f32x4([-1, -1, -1, -1])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1827
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1830
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1833
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1836
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1839
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1842
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1845
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1848
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1851
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1854
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1857
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1860
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1863
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1866
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1869
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1872
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1875
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1878
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1881
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1884
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1887
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1890
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1893
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1896
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1899
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1902
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1905
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1908
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1911
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1914
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1917
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1920
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1923
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1926
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1929
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1932
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1935
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1938
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1941
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1944
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1947
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1950
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1953
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1956
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1959
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1962
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1965
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1968
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1971
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1974
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1977
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1980
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1983
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1986
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1989
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1992
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1995
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:1998
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2001
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2004
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2007
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2010
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2013
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2016
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2019
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2022
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2025
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2028
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2031
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2034
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2037
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2040
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2043
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2046
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2049
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2052
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2055
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2058
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2061
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2064
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2067
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2070
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2073
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2076
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2079
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2082
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2085
+assert_return(
+ () => invoke($0, `ne`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([1, 1, 1, 1])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2088
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2091
+assert_return(
+ () => invoke($0, `ne`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([-0, -0, -0, -0])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2094
+assert_return(
+ () => invoke($0, `ne`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([-0.5, -0.5, -0.5, -0.5])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2097
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2100
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2103
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2106
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2109
+assert_return(
+ () => invoke($0, `ne`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2112
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2115
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2118
+assert_return(
+ () => invoke($0, `ne`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([0, 0, 0, 0])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2121
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2124
+assert_return(
+ () => invoke($0, `ne`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([-1, -1, -1, -1])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2127
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2130
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2133
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2136
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2139
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2142
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2145
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2148
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2151
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2154
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2157
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2160
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2163
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2166
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2169
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2172
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2175
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2178
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2181
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2184
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2187
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2190
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2193
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2196
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2199
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2202
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2205
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2208
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2211
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2214
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2217
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2220
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2223
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2226
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2229
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2232
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2235
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2238
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2241
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2244
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2247
+assert_return(
+ () => invoke($0, `ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2250
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([0, 0, 0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2253
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2256
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([0, 0, 0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2259
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2262
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2265
+assert_return(
+ () => invoke($0, `ne`, [f32x4([0, 0, 0, 0]), f32x4([1, 1, 1, 1])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2268
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2271
+assert_return(
+ () => invoke($0, `ne`, [f32x4([0, 0, 0, 0]), f32x4([-0, -0, -0, -0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2274
+assert_return(
+ () => invoke($0, `ne`, [f32x4([0, 0, 0, 0]), f32x4([-0.5, -0.5, -0.5, -0.5])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2277
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2280
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([0, 0, 0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2283
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2286
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2289
+assert_return(
+ () => invoke($0, `ne`, [f32x4([0, 0, 0, 0]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2292
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2295
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([0, 0, 0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2298
+assert_return(
+ () => invoke($0, `ne`, [f32x4([0, 0, 0, 0]), f32x4([0, 0, 0, 0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2301
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2304
+assert_return(
+ () => invoke($0, `ne`, [f32x4([0, 0, 0, 0]), f32x4([-1, -1, -1, -1])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2307
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2310
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2313
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2316
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2319
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2322
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2325
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2328
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2331
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2334
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2337
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2340
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2343
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2346
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2349
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2352
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2355
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2358
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2361
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2364
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2367
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2370
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-1, -1, -1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2373
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2376
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-1, -1, -1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2379
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2382
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2385
+assert_return(
+ () => invoke($0, `ne`, [f32x4([-1, -1, -1, -1]), f32x4([1, 1, 1, 1])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2388
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2391
+assert_return(
+ () => invoke($0, `ne`, [f32x4([-1, -1, -1, -1]), f32x4([-0, -0, -0, -0])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2394
+assert_return(
+ () => invoke($0, `ne`, [f32x4([-1, -1, -1, -1]), f32x4([-0.5, -0.5, -0.5, -0.5])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2397
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2400
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-1, -1, -1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2403
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2406
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2409
+assert_return(
+ () => invoke($0, `ne`, [f32x4([-1, -1, -1, -1]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2412
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2415
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-1, -1, -1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2418
+assert_return(
+ () => invoke($0, `ne`, [f32x4([-1, -1, -1, -1]), f32x4([0, 0, 0, 0])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2421
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2424
+assert_return(
+ () => invoke($0, `ne`, [f32x4([-1, -1, -1, -1]), f32x4([-1, -1, -1, -1])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2427
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2430
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2433
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2436
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2439
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2442
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2445
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2448
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2451
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2454
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2457
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2460
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2463
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2466
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2469
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2472
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2475
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2478
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2481
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2484
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2487
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2490
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2493
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2496
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2499
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2502
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2505
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2508
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2511
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2514
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2517
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2520
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2523
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2526
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2529
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2532
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2535
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2538
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2541
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2544
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2547
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2550
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2553
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2556
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2559
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2562
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2567
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2570
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2573
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2576
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2579
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2582
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2585
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2588
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2591
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2594
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2597
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2600
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2603
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2606
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2609
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2612
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2615
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2618
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2621
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2624
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2627
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2630
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2633
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2636
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2639
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2642
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2645
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2648
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2651
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2654
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2657
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2660
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2663
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2666
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2669
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2672
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2675
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2678
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2681
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2684
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2687
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2690
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2693
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2696
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2699
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2702
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2705
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2708
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2711
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2714
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2717
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2720
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2723
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2726
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2729
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2732
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2735
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2738
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2741
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2744
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2747
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2750
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2753
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2756
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2759
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2762
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2765
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2768
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2771
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2774
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2777
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2780
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2783
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2786
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2789
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2792
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2795
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2798
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2801
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2804
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2807
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2810
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2813
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2816
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2819
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2822
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2825
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2828
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2831
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2834
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2837
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2840
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2843
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2846
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2849
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2852
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2855
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2858
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2861
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2864
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2867
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([1, 1, 1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2870
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2873
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([1, 1, 1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2876
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2879
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2882
+assert_return(
+ () => invoke($0, `lt`, [f32x4([1, 1, 1, 1]), f32x4([1, 1, 1, 1])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2885
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2888
+assert_return(
+ () => invoke($0, `lt`, [f32x4([1, 1, 1, 1]), f32x4([-0, -0, -0, -0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2891
+assert_return(
+ () => invoke($0, `lt`, [f32x4([1, 1, 1, 1]), f32x4([-0.5, -0.5, -0.5, -0.5])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2894
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2897
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([1, 1, 1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2900
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2903
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2906
+assert_return(
+ () => invoke($0, `lt`, [f32x4([1, 1, 1, 1]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2909
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2912
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([1, 1, 1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2915
+assert_return(
+ () => invoke($0, `lt`, [f32x4([1, 1, 1, 1]), f32x4([0, 0, 0, 0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2918
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2921
+assert_return(
+ () => invoke($0, `lt`, [f32x4([1, 1, 1, 1]), f32x4([-1, -1, -1, -1])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2924
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2927
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2930
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2933
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2936
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2939
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2942
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2945
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2948
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2951
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2954
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2957
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2960
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2963
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2966
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2969
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2972
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2975
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2978
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2981
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2984
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2987
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-0, -0, -0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2990
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2993
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-0, -0, -0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2996
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:2999
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3002
+assert_return(
+ () => invoke($0, `lt`, [f32x4([-0, -0, -0, -0]), f32x4([1, 1, 1, 1])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3005
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3008
+assert_return(
+ () => invoke($0, `lt`, [f32x4([-0, -0, -0, -0]), f32x4([-0, -0, -0, -0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3011
+assert_return(
+ () => invoke($0, `lt`, [f32x4([-0, -0, -0, -0]), f32x4([-0.5, -0.5, -0.5, -0.5])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3014
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3017
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-0, -0, -0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3020
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3023
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3026
+assert_return(
+ () => invoke($0, `lt`, [f32x4([-0, -0, -0, -0]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3029
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3032
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-0, -0, -0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3035
+assert_return(
+ () => invoke($0, `lt`, [f32x4([-0, -0, -0, -0]), f32x4([0, 0, 0, 0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3038
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3041
+assert_return(
+ () => invoke($0, `lt`, [f32x4([-0, -0, -0, -0]), f32x4([-1, -1, -1, -1])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3044
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3047
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3050
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3053
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3056
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3059
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3062
+assert_return(
+ () => invoke($0, `lt`, [f32x4([-0.5, -0.5, -0.5, -0.5]), f32x4([1, 1, 1, 1])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3065
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3068
+assert_return(
+ () => invoke($0, `lt`, [f32x4([-0.5, -0.5, -0.5, -0.5]), f32x4([-0, -0, -0, -0])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3071
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3074
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3077
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3080
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3083
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3086
+assert_return(
+ () => invoke($0, `lt`, [f32x4([-0.5, -0.5, -0.5, -0.5]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3089
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3092
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3095
+assert_return(
+ () => invoke($0, `lt`, [f32x4([-0.5, -0.5, -0.5, -0.5]), f32x4([0, 0, 0, 0])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3098
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3101
+assert_return(
+ () => invoke($0, `lt`, [f32x4([-0.5, -0.5, -0.5, -0.5]), f32x4([-1, -1, -1, -1])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3104
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3107
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3110
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3113
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3116
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3119
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3122
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3125
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3128
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3131
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3134
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3137
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3140
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3143
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3146
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3149
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3152
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3155
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3158
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3161
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3164
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3167
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3170
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3173
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3176
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3179
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3182
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3185
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3188
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3191
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3194
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3197
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3200
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3203
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3206
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3209
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3212
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3215
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3218
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3221
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3224
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3227
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3230
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3233
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3236
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3239
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3242
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3245
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3248
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3251
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3254
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3257
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3260
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3263
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3266
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3269
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3272
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3275
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3278
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3281
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3284
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3287
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3290
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3293
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3296
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3299
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3302
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3305
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3308
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3311
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3314
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3317
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3320
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3323
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3326
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3329
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3332
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3335
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3338
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3341
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3344
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3347
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3350
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3353
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3356
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3359
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3362
+assert_return(
+ () => invoke($0, `lt`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([1, 1, 1, 1])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3365
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3368
+assert_return(
+ () => invoke($0, `lt`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([-0, -0, -0, -0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3371
+assert_return(
+ () => invoke($0, `lt`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([-0.5, -0.5, -0.5, -0.5])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3374
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3377
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3380
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3383
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3386
+assert_return(
+ () => invoke($0, `lt`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3389
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3392
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3395
+assert_return(
+ () => invoke($0, `lt`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([0, 0, 0, 0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3398
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3401
+assert_return(
+ () => invoke($0, `lt`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([-1, -1, -1, -1])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3404
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3407
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3410
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3413
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3416
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3419
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3422
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3425
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3428
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3431
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3434
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3437
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3440
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3443
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3446
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3449
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3452
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3455
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3458
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3461
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3464
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3467
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3470
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3473
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3476
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3479
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3482
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3485
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3488
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3491
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3494
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3497
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3500
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3503
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3506
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3509
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3512
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3515
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3518
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3521
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3524
+assert_return(
+ () => invoke($0, `lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3527
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([0, 0, 0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3530
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3533
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([0, 0, 0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3536
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3539
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3542
+assert_return(
+ () => invoke($0, `lt`, [f32x4([0, 0, 0, 0]), f32x4([1, 1, 1, 1])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3545
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3548
+assert_return(
+ () => invoke($0, `lt`, [f32x4([0, 0, 0, 0]), f32x4([-0, -0, -0, -0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3551
+assert_return(
+ () => invoke($0, `lt`, [f32x4([0, 0, 0, 0]), f32x4([-0.5, -0.5, -0.5, -0.5])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3554
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3557
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([0, 0, 0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3560
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3563
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3566
+assert_return(
+ () => invoke($0, `lt`, [f32x4([0, 0, 0, 0]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3569
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3572
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([0, 0, 0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3575
+assert_return(
+ () => invoke($0, `lt`, [f32x4([0, 0, 0, 0]), f32x4([0, 0, 0, 0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3578
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3581
+assert_return(
+ () => invoke($0, `lt`, [f32x4([0, 0, 0, 0]), f32x4([-1, -1, -1, -1])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3584
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3587
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3590
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3593
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3596
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3599
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3602
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3605
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3608
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3611
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3614
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3617
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3620
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3623
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3626
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3629
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3632
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3635
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3638
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3641
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3644
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3647
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-1, -1, -1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3650
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3653
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-1, -1, -1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3656
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3659
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3662
+assert_return(
+ () => invoke($0, `lt`, [f32x4([-1, -1, -1, -1]), f32x4([1, 1, 1, 1])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3665
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3668
+assert_return(
+ () => invoke($0, `lt`, [f32x4([-1, -1, -1, -1]), f32x4([-0, -0, -0, -0])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3671
+assert_return(
+ () => invoke($0, `lt`, [f32x4([-1, -1, -1, -1]), f32x4([-0.5, -0.5, -0.5, -0.5])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3674
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3677
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-1, -1, -1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3680
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3683
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3686
+assert_return(
+ () => invoke($0, `lt`, [f32x4([-1, -1, -1, -1]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3689
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3692
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-1, -1, -1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3695
+assert_return(
+ () => invoke($0, `lt`, [f32x4([-1, -1, -1, -1]), f32x4([0, 0, 0, 0])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3698
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3701
+assert_return(
+ () => invoke($0, `lt`, [f32x4([-1, -1, -1, -1]), f32x4([-1, -1, -1, -1])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3704
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3707
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3710
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3713
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3716
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3719
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3722
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3725
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3728
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3731
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3734
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3737
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3740
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3743
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3746
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3749
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3752
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3755
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3758
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3761
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3764
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3767
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3770
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3773
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3776
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3779
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3782
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3785
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3788
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3791
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3794
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3797
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3800
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3803
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3806
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3809
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3812
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3815
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3818
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3821
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3824
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3827
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3830
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3833
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3836
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3839
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3844
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3847
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3850
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3853
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3856
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3859
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3862
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3865
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3868
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3871
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3874
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3877
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3880
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3883
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3886
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3889
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3892
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3895
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3898
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3901
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3904
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3907
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3910
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3913
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3916
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3919
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3922
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3925
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3928
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3931
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3934
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3937
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3940
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3943
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3946
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3949
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3952
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3955
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3958
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3961
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3964
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3967
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3970
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3973
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3976
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3979
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3982
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3985
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3988
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3991
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3994
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:3997
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4000
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4003
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4006
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4009
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4012
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4015
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4018
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4021
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4024
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4027
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4030
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4033
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4036
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4039
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4042
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4045
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4048
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4051
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4054
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4057
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4060
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4063
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4066
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4069
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4072
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4075
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4078
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4081
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4084
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4087
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4090
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4093
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4096
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4099
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4102
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4105
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4108
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4111
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4114
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4117
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4120
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4123
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4126
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4129
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4132
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4135
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4138
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4141
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4144
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([1, 1, 1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4147
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4150
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([1, 1, 1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4153
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4156
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4159
+assert_return(
+ () => invoke($0, `le`, [f32x4([1, 1, 1, 1]), f32x4([1, 1, 1, 1])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4162
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4165
+assert_return(
+ () => invoke($0, `le`, [f32x4([1, 1, 1, 1]), f32x4([-0, -0, -0, -0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4168
+assert_return(
+ () => invoke($0, `le`, [f32x4([1, 1, 1, 1]), f32x4([-0.5, -0.5, -0.5, -0.5])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4171
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4174
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([1, 1, 1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4177
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4180
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4183
+assert_return(
+ () => invoke($0, `le`, [f32x4([1, 1, 1, 1]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4186
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4189
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([1, 1, 1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4192
+assert_return(
+ () => invoke($0, `le`, [f32x4([1, 1, 1, 1]), f32x4([0, 0, 0, 0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4195
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4198
+assert_return(
+ () => invoke($0, `le`, [f32x4([1, 1, 1, 1]), f32x4([-1, -1, -1, -1])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4201
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4204
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4207
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4210
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4213
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4216
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4219
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4222
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4225
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4228
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4231
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4234
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4237
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4240
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4243
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4246
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4249
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4252
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4255
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4258
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4261
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4264
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-0, -0, -0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4267
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4270
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-0, -0, -0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4273
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4276
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4279
+assert_return(
+ () => invoke($0, `le`, [f32x4([-0, -0, -0, -0]), f32x4([1, 1, 1, 1])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4282
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4285
+assert_return(
+ () => invoke($0, `le`, [f32x4([-0, -0, -0, -0]), f32x4([-0, -0, -0, -0])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4288
+assert_return(
+ () => invoke($0, `le`, [f32x4([-0, -0, -0, -0]), f32x4([-0.5, -0.5, -0.5, -0.5])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4291
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4294
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-0, -0, -0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4297
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4300
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4303
+assert_return(
+ () => invoke($0, `le`, [f32x4([-0, -0, -0, -0]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4306
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4309
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-0, -0, -0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4312
+assert_return(
+ () => invoke($0, `le`, [f32x4([-0, -0, -0, -0]), f32x4([0, 0, 0, 0])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4315
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4318
+assert_return(
+ () => invoke($0, `le`, [f32x4([-0, -0, -0, -0]), f32x4([-1, -1, -1, -1])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4321
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4324
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4327
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4330
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4333
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4336
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4339
+assert_return(
+ () => invoke($0, `le`, [f32x4([-0.5, -0.5, -0.5, -0.5]), f32x4([1, 1, 1, 1])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4342
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4345
+assert_return(
+ () => invoke($0, `le`, [f32x4([-0.5, -0.5, -0.5, -0.5]), f32x4([-0, -0, -0, -0])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4348
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4351
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4354
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4357
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4360
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4363
+assert_return(
+ () => invoke($0, `le`, [f32x4([-0.5, -0.5, -0.5, -0.5]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4366
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4369
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4372
+assert_return(
+ () => invoke($0, `le`, [f32x4([-0.5, -0.5, -0.5, -0.5]), f32x4([0, 0, 0, 0])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4375
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4378
+assert_return(
+ () => invoke($0, `le`, [f32x4([-0.5, -0.5, -0.5, -0.5]), f32x4([-1, -1, -1, -1])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4381
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4384
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4387
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4390
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4393
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4396
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4399
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4402
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4405
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4408
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4411
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4414
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4417
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4420
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4423
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4426
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4429
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4432
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4435
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4438
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4441
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4444
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4447
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4450
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4453
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4456
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4459
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4462
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4465
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4468
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4471
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4474
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4477
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4480
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4483
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4486
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4489
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4492
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4495
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4498
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4501
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4504
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4507
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4510
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4513
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4516
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4519
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4522
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4525
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4528
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4531
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4534
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4537
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4540
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4543
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4546
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4549
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4552
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4555
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4558
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4561
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4564
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4567
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4570
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4573
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4576
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4579
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4582
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4585
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4588
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4591
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4594
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4597
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4600
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4603
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4606
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4609
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4612
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4615
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4618
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4621
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4624
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4627
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4630
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4633
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4636
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4639
+assert_return(
+ () => invoke($0, `le`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([1, 1, 1, 1])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4642
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4645
+assert_return(
+ () => invoke($0, `le`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([-0, -0, -0, -0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4648
+assert_return(
+ () => invoke($0, `le`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([-0.5, -0.5, -0.5, -0.5])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4651
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4654
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4657
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4660
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4663
+assert_return(
+ () => invoke($0, `le`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4666
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4669
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4672
+assert_return(
+ () => invoke($0, `le`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([0, 0, 0, 0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4675
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4678
+assert_return(
+ () => invoke($0, `le`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([-1, -1, -1, -1])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4681
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4684
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4687
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4690
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4693
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4696
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4699
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4702
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4705
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4708
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4711
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4714
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4717
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4720
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4723
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4726
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4729
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4732
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4735
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4738
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4741
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4744
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4747
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4750
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4753
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4756
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4759
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4762
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4765
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4768
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4771
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4774
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4777
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4780
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4783
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4786
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4789
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4792
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4795
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4798
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4801
+assert_return(
+ () => invoke($0, `le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4804
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([0, 0, 0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4807
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4810
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([0, 0, 0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4813
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4816
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4819
+assert_return(
+ () => invoke($0, `le`, [f32x4([0, 0, 0, 0]), f32x4([1, 1, 1, 1])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4822
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4825
+assert_return(
+ () => invoke($0, `le`, [f32x4([0, 0, 0, 0]), f32x4([-0, -0, -0, -0])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4828
+assert_return(
+ () => invoke($0, `le`, [f32x4([0, 0, 0, 0]), f32x4([-0.5, -0.5, -0.5, -0.5])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4831
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4834
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([0, 0, 0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4837
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4840
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4843
+assert_return(
+ () => invoke($0, `le`, [f32x4([0, 0, 0, 0]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4846
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4849
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([0, 0, 0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4852
+assert_return(
+ () => invoke($0, `le`, [f32x4([0, 0, 0, 0]), f32x4([0, 0, 0, 0])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4855
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4858
+assert_return(
+ () => invoke($0, `le`, [f32x4([0, 0, 0, 0]), f32x4([-1, -1, -1, -1])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4861
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4864
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4867
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4870
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4873
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4876
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4879
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4882
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4885
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4888
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4891
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4894
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4897
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4900
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4903
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4906
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4909
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4912
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4915
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4918
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4921
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4924
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-1, -1, -1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4927
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4930
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-1, -1, -1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4933
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4936
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4939
+assert_return(
+ () => invoke($0, `le`, [f32x4([-1, -1, -1, -1]), f32x4([1, 1, 1, 1])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4942
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4945
+assert_return(
+ () => invoke($0, `le`, [f32x4([-1, -1, -1, -1]), f32x4([-0, -0, -0, -0])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4948
+assert_return(
+ () => invoke($0, `le`, [f32x4([-1, -1, -1, -1]), f32x4([-0.5, -0.5, -0.5, -0.5])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4951
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4954
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-1, -1, -1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4957
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4960
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4963
+assert_return(
+ () => invoke($0, `le`, [f32x4([-1, -1, -1, -1]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4966
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4969
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-1, -1, -1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4972
+assert_return(
+ () => invoke($0, `le`, [f32x4([-1, -1, -1, -1]), f32x4([0, 0, 0, 0])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4975
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4978
+assert_return(
+ () => invoke($0, `le`, [f32x4([-1, -1, -1, -1]), f32x4([-1, -1, -1, -1])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4981
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4984
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4987
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4990
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4993
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4996
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:4999
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5002
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5005
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5008
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5011
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5014
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5017
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5020
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5023
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5026
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5029
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5032
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5035
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5038
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5041
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5044
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5047
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5050
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5053
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5056
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5059
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5062
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5065
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5068
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5071
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5074
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5077
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5080
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5083
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5086
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5089
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5092
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5095
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5098
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5101
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5104
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5107
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5110
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5113
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5116
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5121
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5124
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5127
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5130
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5133
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5136
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5139
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5142
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5145
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5148
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5151
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5154
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5157
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5160
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5163
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5166
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5169
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5172
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5175
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5178
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5181
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5184
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5187
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5190
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5193
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5196
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5199
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5202
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5205
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5208
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5211
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5214
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5217
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5220
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5223
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5226
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5229
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5232
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5235
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5238
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5241
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5244
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5247
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5250
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5253
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5256
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5259
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5262
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5265
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5268
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5271
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5274
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5277
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5280
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5283
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5286
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5289
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5292
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5295
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5298
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5301
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5304
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5307
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5310
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5313
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5316
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5319
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5322
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5325
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5328
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5331
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5334
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5337
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5340
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5343
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5346
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5349
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5352
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5355
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5358
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5361
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5364
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5367
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5370
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5373
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5376
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5379
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5382
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5385
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5388
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5391
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5394
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5397
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5400
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5403
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5406
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5409
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5412
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5415
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5418
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5421
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([1, 1, 1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5424
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5427
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([1, 1, 1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5430
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5433
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5436
+assert_return(
+ () => invoke($0, `gt`, [f32x4([1, 1, 1, 1]), f32x4([1, 1, 1, 1])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5439
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5442
+assert_return(
+ () => invoke($0, `gt`, [f32x4([1, 1, 1, 1]), f32x4([-0, -0, -0, -0])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5445
+assert_return(
+ () => invoke($0, `gt`, [f32x4([1, 1, 1, 1]), f32x4([-0.5, -0.5, -0.5, -0.5])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5448
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5451
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([1, 1, 1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5454
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5457
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5460
+assert_return(
+ () => invoke($0, `gt`, [f32x4([1, 1, 1, 1]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5463
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5466
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([1, 1, 1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5469
+assert_return(
+ () => invoke($0, `gt`, [f32x4([1, 1, 1, 1]), f32x4([0, 0, 0, 0])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5472
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5475
+assert_return(
+ () => invoke($0, `gt`, [f32x4([1, 1, 1, 1]), f32x4([-1, -1, -1, -1])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5478
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5481
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5484
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5487
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5490
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5493
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5496
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5499
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5502
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5505
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5508
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5511
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5514
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5517
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5520
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5523
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5526
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5529
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5532
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5535
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5538
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5541
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-0, -0, -0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5544
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5547
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-0, -0, -0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5550
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5553
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5556
+assert_return(
+ () => invoke($0, `gt`, [f32x4([-0, -0, -0, -0]), f32x4([1, 1, 1, 1])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5559
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5562
+assert_return(
+ () => invoke($0, `gt`, [f32x4([-0, -0, -0, -0]), f32x4([-0, -0, -0, -0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5565
+assert_return(
+ () => invoke($0, `gt`, [f32x4([-0, -0, -0, -0]), f32x4([-0.5, -0.5, -0.5, -0.5])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5568
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5571
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-0, -0, -0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5574
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5577
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5580
+assert_return(
+ () => invoke($0, `gt`, [f32x4([-0, -0, -0, -0]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5583
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5586
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-0, -0, -0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5589
+assert_return(
+ () => invoke($0, `gt`, [f32x4([-0, -0, -0, -0]), f32x4([0, 0, 0, 0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5592
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5595
+assert_return(
+ () => invoke($0, `gt`, [f32x4([-0, -0, -0, -0]), f32x4([-1, -1, -1, -1])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5598
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5601
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5604
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5607
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5610
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5613
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5616
+assert_return(
+ () => invoke($0, `gt`, [f32x4([-0.5, -0.5, -0.5, -0.5]), f32x4([1, 1, 1, 1])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5619
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5622
+assert_return(
+ () => invoke($0, `gt`, [f32x4([-0.5, -0.5, -0.5, -0.5]), f32x4([-0, -0, -0, -0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5625
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5628
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5631
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5634
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5637
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5640
+assert_return(
+ () => invoke($0, `gt`, [f32x4([-0.5, -0.5, -0.5, -0.5]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5643
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5646
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5649
+assert_return(
+ () => invoke($0, `gt`, [f32x4([-0.5, -0.5, -0.5, -0.5]), f32x4([0, 0, 0, 0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5652
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5655
+assert_return(
+ () => invoke($0, `gt`, [f32x4([-0.5, -0.5, -0.5, -0.5]), f32x4([-1, -1, -1, -1])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5658
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5661
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5664
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5667
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5670
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5673
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5676
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5679
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5682
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5685
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5688
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5691
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5694
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5697
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5700
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5703
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5706
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5709
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5712
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5715
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5718
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5721
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5724
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5727
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5730
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5733
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5736
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5739
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5742
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5745
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5748
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5751
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5754
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5757
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5760
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5763
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5766
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5769
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5772
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5775
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5778
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5781
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5784
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5787
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5790
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5793
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5796
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5799
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5802
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5805
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5808
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5811
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5814
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5817
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5820
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5823
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5826
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5829
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5832
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5835
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5838
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5841
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5844
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5847
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5850
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5853
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5856
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5859
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5862
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5865
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5868
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5871
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5874
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5877
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5880
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5883
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5886
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5889
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5892
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5895
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5898
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5901
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5904
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5907
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5910
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5913
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5916
+assert_return(
+ () => invoke($0, `gt`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([1, 1, 1, 1])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5919
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5922
+assert_return(
+ () => invoke($0, `gt`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([-0, -0, -0, -0])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5925
+assert_return(
+ () => invoke($0, `gt`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([-0.5, -0.5, -0.5, -0.5])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5928
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5931
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5934
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5937
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5940
+assert_return(
+ () => invoke($0, `gt`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5943
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5946
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5949
+assert_return(
+ () => invoke($0, `gt`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([0, 0, 0, 0])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5952
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5955
+assert_return(
+ () => invoke($0, `gt`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([-1, -1, -1, -1])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5958
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5961
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5964
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5967
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5970
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5973
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5976
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5979
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5982
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5985
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5988
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5991
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5994
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:5997
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6000
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6003
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6006
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6009
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6012
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6015
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6018
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6021
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6024
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6027
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6030
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6033
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6036
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6039
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6042
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6045
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6048
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6051
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6054
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6057
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6060
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6063
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6066
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6069
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6072
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6075
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6078
+assert_return(
+ () => invoke($0, `gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6081
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([0, 0, 0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6084
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6087
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([0, 0, 0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6090
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6093
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6096
+assert_return(
+ () => invoke($0, `gt`, [f32x4([0, 0, 0, 0]), f32x4([1, 1, 1, 1])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6099
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6102
+assert_return(
+ () => invoke($0, `gt`, [f32x4([0, 0, 0, 0]), f32x4([-0, -0, -0, -0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6105
+assert_return(
+ () => invoke($0, `gt`, [f32x4([0, 0, 0, 0]), f32x4([-0.5, -0.5, -0.5, -0.5])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6108
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6111
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([0, 0, 0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6114
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6117
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6120
+assert_return(
+ () => invoke($0, `gt`, [f32x4([0, 0, 0, 0]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6123
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6126
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([0, 0, 0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6129
+assert_return(
+ () => invoke($0, `gt`, [f32x4([0, 0, 0, 0]), f32x4([0, 0, 0, 0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6132
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6135
+assert_return(
+ () => invoke($0, `gt`, [f32x4([0, 0, 0, 0]), f32x4([-1, -1, -1, -1])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6138
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6141
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6144
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6147
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6150
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6153
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6156
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6159
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6162
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6165
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6168
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6171
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6174
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6177
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6180
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6183
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6186
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6189
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6192
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6195
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6198
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6201
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-1, -1, -1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6204
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6207
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-1, -1, -1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6210
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6213
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6216
+assert_return(
+ () => invoke($0, `gt`, [f32x4([-1, -1, -1, -1]), f32x4([1, 1, 1, 1])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6219
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6222
+assert_return(
+ () => invoke($0, `gt`, [f32x4([-1, -1, -1, -1]), f32x4([-0, -0, -0, -0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6225
+assert_return(
+ () => invoke($0, `gt`, [f32x4([-1, -1, -1, -1]), f32x4([-0.5, -0.5, -0.5, -0.5])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6228
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6231
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-1, -1, -1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6234
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6237
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6240
+assert_return(
+ () => invoke($0, `gt`, [f32x4([-1, -1, -1, -1]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6243
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6246
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-1, -1, -1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6249
+assert_return(
+ () => invoke($0, `gt`, [f32x4([-1, -1, -1, -1]), f32x4([0, 0, 0, 0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6252
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6255
+assert_return(
+ () => invoke($0, `gt`, [f32x4([-1, -1, -1, -1]), f32x4([-1, -1, -1, -1])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6258
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6261
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6264
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6267
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6270
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6273
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6276
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6279
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6282
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6285
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6288
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6291
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6294
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6297
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6300
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6303
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6306
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6309
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6312
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6315
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6318
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6321
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6324
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6327
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6330
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6333
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6336
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6339
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6342
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6345
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6348
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6351
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6354
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6357
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6360
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6363
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6366
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6369
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6372
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6375
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6378
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6381
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6384
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6387
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6390
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6393
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6398
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6401
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6404
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6407
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6410
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6413
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6416
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6419
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6422
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6425
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6428
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6431
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6434
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6437
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6440
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6443
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6446
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6449
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6452
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6455
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6458
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6461
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6464
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6467
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6470
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6473
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6476
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6479
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6482
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6485
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6488
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6491
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6494
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6497
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6500
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6503
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6506
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6509
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6512
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6515
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6518
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6521
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6524
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6527
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6530
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6533
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6536
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6539
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6542
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6545
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6548
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6551
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6554
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6557
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6560
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6563
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6566
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6569
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6572
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6575
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6578
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6581
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6584
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6587
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6590
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6593
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6596
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6599
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6602
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6605
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6608
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6611
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6614
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6617
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6620
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6623
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6626
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6629
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6632
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6635
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6638
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6641
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6644
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6647
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6650
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6653
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6656
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6659
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6662
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6665
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6668
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6671
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6674
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6677
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6680
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6683
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6686
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6689
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6692
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6695
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6698
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([1, 1, 1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6701
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6704
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([1, 1, 1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6707
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6710
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6713
+assert_return(
+ () => invoke($0, `ge`, [f32x4([1, 1, 1, 1]), f32x4([1, 1, 1, 1])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6716
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6719
+assert_return(
+ () => invoke($0, `ge`, [f32x4([1, 1, 1, 1]), f32x4([-0, -0, -0, -0])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6722
+assert_return(
+ () => invoke($0, `ge`, [f32x4([1, 1, 1, 1]), f32x4([-0.5, -0.5, -0.5, -0.5])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6725
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6728
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([1, 1, 1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6731
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6734
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6737
+assert_return(
+ () => invoke($0, `ge`, [f32x4([1, 1, 1, 1]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6740
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6743
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([1, 1, 1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6746
+assert_return(
+ () => invoke($0, `ge`, [f32x4([1, 1, 1, 1]), f32x4([0, 0, 0, 0])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6749
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6752
+assert_return(
+ () => invoke($0, `ge`, [f32x4([1, 1, 1, 1]), f32x4([-1, -1, -1, -1])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6755
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6758
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6761
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6764
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6767
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6770
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6773
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6776
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6779
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6782
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6785
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6788
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6791
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6794
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6797
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6800
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6803
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6806
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6809
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6812
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6815
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6818
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-0, -0, -0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6821
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6824
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-0, -0, -0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6827
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6830
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6833
+assert_return(
+ () => invoke($0, `ge`, [f32x4([-0, -0, -0, -0]), f32x4([1, 1, 1, 1])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6836
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6839
+assert_return(
+ () => invoke($0, `ge`, [f32x4([-0, -0, -0, -0]), f32x4([-0, -0, -0, -0])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6842
+assert_return(
+ () => invoke($0, `ge`, [f32x4([-0, -0, -0, -0]), f32x4([-0.5, -0.5, -0.5, -0.5])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6845
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6848
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-0, -0, -0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6851
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6854
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6857
+assert_return(
+ () => invoke($0, `ge`, [f32x4([-0, -0, -0, -0]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6860
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6863
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-0, -0, -0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6866
+assert_return(
+ () => invoke($0, `ge`, [f32x4([-0, -0, -0, -0]), f32x4([0, 0, 0, 0])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6869
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6872
+assert_return(
+ () => invoke($0, `ge`, [f32x4([-0, -0, -0, -0]), f32x4([-1, -1, -1, -1])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6875
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6878
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6881
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6884
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6887
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6890
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6893
+assert_return(
+ () => invoke($0, `ge`, [f32x4([-0.5, -0.5, -0.5, -0.5]), f32x4([1, 1, 1, 1])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6896
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6899
+assert_return(
+ () => invoke($0, `ge`, [f32x4([-0.5, -0.5, -0.5, -0.5]), f32x4([-0, -0, -0, -0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6902
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6905
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6908
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6911
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6914
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6917
+assert_return(
+ () => invoke($0, `ge`, [f32x4([-0.5, -0.5, -0.5, -0.5]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6920
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6923
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6926
+assert_return(
+ () => invoke($0, `ge`, [f32x4([-0.5, -0.5, -0.5, -0.5]), f32x4([0, 0, 0, 0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6929
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6932
+assert_return(
+ () => invoke($0, `ge`, [f32x4([-0.5, -0.5, -0.5, -0.5]), f32x4([-1, -1, -1, -1])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6935
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6938
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6941
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6944
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6947
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6950
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6953
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6956
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6959
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6962
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6965
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6968
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6971
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6974
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6977
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6980
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6983
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6986
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6989
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6992
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6995
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:6998
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7001
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7004
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7007
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7010
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7013
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7016
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7019
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7022
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7025
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7028
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7031
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7034
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7037
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7040
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7043
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7046
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7049
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7052
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7055
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7058
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7061
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7064
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7067
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7070
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7073
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7076
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7079
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7082
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7085
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7088
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7091
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7094
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7097
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7100
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7103
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7106
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7109
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7112
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7115
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7118
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7121
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7124
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7127
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7130
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7133
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7136
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7139
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7142
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7145
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7148
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7151
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7154
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7157
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7160
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7163
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7166
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7169
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7172
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7175
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7178
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7181
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7184
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7187
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7190
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7193
+assert_return(
+ () => invoke($0, `ge`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([1, 1, 1, 1])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7196
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7199
+assert_return(
+ () => invoke($0, `ge`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([-0, -0, -0, -0])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7202
+assert_return(
+ () => invoke($0, `ge`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([-0.5, -0.5, -0.5, -0.5])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7205
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7208
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7211
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7214
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7217
+assert_return(
+ () => invoke($0, `ge`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7220
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7223
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7226
+assert_return(
+ () => invoke($0, `ge`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([0, 0, 0, 0])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7229
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7232
+assert_return(
+ () => invoke($0, `ge`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([-1, -1, -1, -1])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7235
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7238
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7241
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7244
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7247
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7250
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7253
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7256
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7259
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7262
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7265
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7268
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7271
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7274
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7277
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7280
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7283
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7286
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7289
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7292
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7295
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7298
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7301
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7304
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7307
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7310
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7313
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7316
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7319
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7322
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7325
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7328
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7331
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7334
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7337
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7340
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7343
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7346
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7349
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7352
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7355
+assert_return(
+ () => invoke($0, `ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7358
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([0, 0, 0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7361
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7364
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([0, 0, 0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7367
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7370
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7373
+assert_return(
+ () => invoke($0, `ge`, [f32x4([0, 0, 0, 0]), f32x4([1, 1, 1, 1])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7376
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7379
+assert_return(
+ () => invoke($0, `ge`, [f32x4([0, 0, 0, 0]), f32x4([-0, -0, -0, -0])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7382
+assert_return(
+ () => invoke($0, `ge`, [f32x4([0, 0, 0, 0]), f32x4([-0.5, -0.5, -0.5, -0.5])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7385
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7388
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([0, 0, 0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7391
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7394
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7397
+assert_return(
+ () => invoke($0, `ge`, [f32x4([0, 0, 0, 0]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7400
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7403
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([0, 0, 0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7406
+assert_return(
+ () => invoke($0, `ge`, [f32x4([0, 0, 0, 0]), f32x4([0, 0, 0, 0])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7409
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7412
+assert_return(
+ () => invoke($0, `ge`, [f32x4([0, 0, 0, 0]), f32x4([-1, -1, -1, -1])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7415
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7418
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7421
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7424
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7427
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7430
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7433
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7436
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7439
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7442
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7445
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7448
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7451
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7454
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7457
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7460
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7463
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7466
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7469
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7472
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7475
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7478
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-1, -1, -1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7481
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7484
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-1, -1, -1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7487
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7490
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7493
+assert_return(
+ () => invoke($0, `ge`, [f32x4([-1, -1, -1, -1]), f32x4([1, 1, 1, 1])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7496
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7499
+assert_return(
+ () => invoke($0, `ge`, [f32x4([-1, -1, -1, -1]), f32x4([-0, -0, -0, -0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7502
+assert_return(
+ () => invoke($0, `ge`, [f32x4([-1, -1, -1, -1]), f32x4([-0.5, -0.5, -0.5, -0.5])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7505
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7508
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-1, -1, -1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7511
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7514
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7517
+assert_return(
+ () => invoke($0, `ge`, [f32x4([-1, -1, -1, -1]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7520
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7523
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-1, -1, -1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7526
+assert_return(
+ () => invoke($0, `ge`, [f32x4([-1, -1, -1, -1]), f32x4([0, 0, 0, 0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7529
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7532
+assert_return(
+ () => invoke($0, `ge`, [f32x4([-1, -1, -1, -1]), f32x4([-1, -1, -1, -1])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7535
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7538
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7541
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7544
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7547
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7550
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7553
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7556
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7559
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7562
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7565
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7568
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7571
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7574
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7577
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7580
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7583
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7586
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7589
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7592
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7595
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7598
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7601
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7604
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7607
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7610
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7613
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7616
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7619
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7622
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7625
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7628
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7631
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7634
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7637
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7640
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7643
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7646
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7649
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7652
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7655
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7658
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7661
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7664
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7667
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7670
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7677
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-1, 0, 1, 2]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [i32x4([0x0, 0xffffffff, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7682
+assert_return(
+ () => invoke($0, `eq`, [
+ f32x4([-1, 0, 1, 2]),
+ i16x8([0xffff, 0xffff, 0x0, 0x0, 0x1, 0x1, 0x2, 0x2]),
+ ]),
+ [i32x4([0x0, 0xffffffff, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7687
+assert_return(
+ () => invoke($0, `eq`, [f32x4([-1, 0, 1, 2]), i32x4([0xbf800000, 0x0, 0x1, 0x2])]),
+ [i32x4([0xffffffff, 0xffffffff, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7694
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-1, 0, 1, 2]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [i32x4([0xffffffff, 0x0, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7699
+assert_return(
+ () => invoke($0, `ne`, [
+ f32x4([-1, 0, 1, 2]),
+ i16x8([0xffff, 0xffff, 0x0, 0x0, 0x1, 0x1, 0x2, 0x2]),
+ ]),
+ [i32x4([0xffffffff, 0x0, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7704
+assert_return(
+ () => invoke($0, `ne`, [f32x4([-1, 0, 1, 2]), i32x4([0xbf800000, 0x0, 0x1, 0x2])]),
+ [i32x4([0x0, 0x0, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7711
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-1, 0, 1, 2]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7716
+assert_return(
+ () => invoke($0, `lt`, [
+ f32x4([-1, 0, 1, 2]),
+ i16x8([0xffff, 0xffff, 0x0, 0x0, 0x1, 0x1, 0x2, 0x2]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7721
+assert_return(
+ () => invoke($0, `lt`, [f32x4([-1, 0, 1, 2]), i32x4([0xbf800000, 0x0, 0x1, 0x2])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7728
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-1, 0, 1, 2]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [i32x4([0x0, 0xffffffff, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7733
+assert_return(
+ () => invoke($0, `le`, [
+ f32x4([-1, 0, 1, 2]),
+ i16x8([0xffff, 0xffff, 0x0, 0x0, 0x1, 0x1, 0x2, 0x2]),
+ ]),
+ [i32x4([0x0, 0xffffffff, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7738
+assert_return(
+ () => invoke($0, `le`, [f32x4([-1, 0, 1, 2]), i32x4([0xbf800000, 0x0, 0x1, 0x2])]),
+ [i32x4([0xffffffff, 0xffffffff, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7745
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-1, 0, 1, 2]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [i32x4([0x0, 0x0, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7750
+assert_return(
+ () => invoke($0, `gt`, [
+ f32x4([-1, 0, 1, 2]),
+ i16x8([0xffff, 0xffff, 0x0, 0x0, 0x1, 0x1, 0x2, 0x2]),
+ ]),
+ [i32x4([0x0, 0x0, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7755
+assert_return(
+ () => invoke($0, `gt`, [f32x4([-1, 0, 1, 2]), i32x4([0xbf800000, 0x0, 0x1, 0x2])]),
+ [i32x4([0x0, 0x0, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7762
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-1, 0, 1, 2]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [i32x4([0x0, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7767
+assert_return(
+ () => invoke($0, `ge`, [
+ f32x4([-1, 0, 1, 2]),
+ i16x8([0xffff, 0xffff, 0x0, 0x0, 0x1, 0x1, 0x2, 0x2]),
+ ]),
+ [i32x4([0x0, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7772
+assert_return(
+ () => invoke($0, `ge`, [f32x4([-1, 0, 1, 2]), i32x4([0xbf800000, 0x0, 0x1, 0x2])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7779
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (f32x4.eq (i64.const 0) (f64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7780
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (f32x4.ge (i64.const 0) (f64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7781
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (f32x4.gt (i64.const 0) (f64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7782
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (f32x4.le (i64.const 0) (f64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7783
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (f32x4.lt (i64.const 0) (f64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7784
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (f32x4.ne (i64.const 0) (f64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7789
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param $$x v128) (param $$y v128) (result v128) (f4x32.eq (local.get $$x) (local.get $$y))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7790
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param $$x v128) (param $$y v128) (result v128) (f4x32.ge (local.get $$x) (local.get $$y))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7791
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param $$x v128) (param $$y v128) (result v128) (f4x32.gt (local.get $$x) (local.get $$y))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7792
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param $$x v128) (param $$y v128) (result v128) (f4x32.le (local.get $$x) (local.get $$y))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7793
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param $$x v128) (param $$y v128) (result v128) (f4x32.lt (local.get $$x) (local.get $$y))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7794
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param $$x v128) (param $$y v128) (result v128) (f4x32.ne (local.get $$x) (local.get $$y))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:7799
+let $1 = instantiate(`(module (memory 1)
+ (func (export "eq-in-block")
+ (block
+ (drop
+ (block (result v128)
+ (f32x4.eq
+ (block (result v128) (v128.load (i32.const 0)))
+ (block (result v128) (v128.load (i32.const 1)))
+ )
+ )
+ )
+ )
+ )
+ (func (export "ne-in-block")
+ (block
+ (drop
+ (block (result v128)
+ (f32x4.ne
+ (block (result v128) (v128.load (i32.const 0)))
+ (block (result v128) (v128.load (i32.const 1)))
+ )
+ )
+ )
+ )
+ )
+ (func (export "lt-in-block")
+ (block
+ (drop
+ (block (result v128)
+ (f32x4.lt
+ (block (result v128) (v128.load (i32.const 0)))
+ (block (result v128) (v128.load (i32.const 1)))
+ )
+ )
+ )
+ )
+ )
+ (func (export "le-in-block")
+ (block
+ (drop
+ (block (result v128)
+ (f32x4.le
+ (block (result v128) (v128.load (i32.const 0)))
+ (block (result v128) (v128.load (i32.const 1)))
+ )
+ )
+ )
+ )
+ )
+ (func (export "gt-in-block")
+ (block
+ (drop
+ (block (result v128)
+ (f32x4.gt
+ (block (result v128) (v128.load (i32.const 0)))
+ (block (result v128) (v128.load (i32.const 1)))
+ )
+ )
+ )
+ )
+ )
+ (func (export "ge-in-block")
+ (block
+ (drop
+ (block (result v128)
+ (f32x4.ge
+ (block (result v128) (v128.load (i32.const 0)))
+ (block (result v128) (v128.load (i32.const 1)))
+ )
+ )
+ )
+ )
+ )
+ (func (export "nested-eq")
+ (drop
+ (f32x4.eq
+ (f32x4.eq
+ (f32x4.eq
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (f32x4.eq
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ (f32x4.eq
+ (f32x4.eq
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (f32x4.eq
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ )
+ )
+ )
+ (func (export "nested-ne")
+ (drop
+ (f32x4.ne
+ (f32x4.ne
+ (f32x4.ne
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (f32x4.ne
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ (f32x4.ne
+ (f32x4.ne
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (f32x4.ne
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ )
+ )
+ )
+ (func (export "nested-lt")
+ (drop
+ (f32x4.lt
+ (f32x4.lt
+ (f32x4.lt
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (f32x4.lt
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ (f32x4.lt
+ (f32x4.lt
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (f32x4.lt
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ )
+ )
+ )
+ (func (export "nested-le")
+ (drop
+ (f32x4.le
+ (f32x4.le
+ (f32x4.le
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (f32x4.le
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ (f32x4.le
+ (f32x4.le
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (f32x4.le
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ )
+ )
+ )
+ (func (export "nested-gt")
+ (drop
+ (f32x4.gt
+ (f32x4.gt
+ (f32x4.gt
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (f32x4.gt
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ (f32x4.gt
+ (f32x4.gt
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (f32x4.gt
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ )
+ )
+ )
+ (func (export "nested-ge")
+ (drop
+ (f32x4.ge
+ (f32x4.ge
+ (f32x4.ge
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (f32x4.ge
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ (f32x4.ge
+ (f32x4.ge
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (f32x4.ge
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ )
+ )
+ )
+ (func (export "as-param")
+ (drop
+ (f32x4.ge
+ (f32x4.eq
+ (f32x4.lt
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (f32x4.le
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ (f32x4.ne
+ (f32x4.gt
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (f32x4.lt
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ )
+ )
+ )
+)`);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:8056
+assert_return(() => invoke($1, `eq-in-block`, []), []);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:8057
+assert_return(() => invoke($1, `ne-in-block`, []), []);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:8058
+assert_return(() => invoke($1, `lt-in-block`, []), []);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:8059
+assert_return(() => invoke($1, `le-in-block`, []), []);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:8060
+assert_return(() => invoke($1, `gt-in-block`, []), []);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:8061
+assert_return(() => invoke($1, `ge-in-block`, []), []);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:8062
+assert_return(() => invoke($1, `nested-eq`, []), []);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:8063
+assert_return(() => invoke($1, `nested-ne`, []), []);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:8064
+assert_return(() => invoke($1, `nested-lt`, []), []);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:8065
+assert_return(() => invoke($1, `nested-le`, []), []);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:8066
+assert_return(() => invoke($1, `nested-gt`, []), []);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:8067
+assert_return(() => invoke($1, `nested-ge`, []), []);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:8068
+assert_return(() => invoke($1, `as-param`, []), []);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:8072
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f32x4.eq-1st-arg-empty (result v128)
+ (f32x4.eq (v128.const f32x4 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:8080
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f32x4.eq-arg-empty (result v128)
+ (f32x4.eq)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:8088
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f32x4.ne-1st-arg-empty (result v128)
+ (f32x4.ne (v128.const f32x4 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:8096
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f32x4.ne-arg-empty (result v128)
+ (f32x4.ne)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:8104
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f32x4.lt-1st-arg-empty (result v128)
+ (f32x4.lt (v128.const f32x4 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:8112
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f32x4.lt-arg-empty (result v128)
+ (f32x4.lt)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:8120
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f32x4.le-1st-arg-empty (result v128)
+ (f32x4.le (v128.const f32x4 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:8128
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f32x4.le-arg-empty (result v128)
+ (f32x4.le)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:8136
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f32x4.gt-1st-arg-empty (result v128)
+ (f32x4.gt (v128.const f32x4 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:8144
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f32x4.gt-arg-empty (result v128)
+ (f32x4.gt)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:8152
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f32x4.ge-1st-arg-empty (result v128)
+ (f32x4.ge (v128.const f32x4 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f32x4_cmp.wast:8160
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f32x4.ge-arg-empty (result v128)
+ (f32x4.ge)
+ )
+ )`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/simd_f32x4_pmin_pmax.wast.js b/js/src/jit-test/tests/wasm/spec/spec/simd_f32x4_pmin_pmax.wast.js
new file mode 100644
index 0000000000..c0f65854cb
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/simd_f32x4_pmin_pmax.wast.js
@@ -0,0 +1,92356 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4
+let $0 = instantiate(`(module
+ (func (export "f32x4.pmin") (param v128 v128) (result v128) (f32x4.pmin (local.get 0) (local.get 1)))
+ (func (export "f32x4.pmax") (param v128 v128) (result v128) (f32x4.pmax (local.get 0) (local.get 1)))
+)`);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [f32x4([0, 0, 0, 0]), f32x4([0, 0, 0, 0])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:12
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [f32x4([0, 0, 0, 0]), f32x4([-0, -0, -0, -0])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:15
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:18
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:21
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:24
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:27
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [f32x4([0, 0, 0, 0]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:30
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [f32x4([0, 0, 0, 0]), f32x4([-0.5, -0.5, -0.5, -0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:33
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [f32x4([0, 0, 0, 0]), f32x4([1, 1, 1, 1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:36
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [f32x4([0, 0, 0, 0]), f32x4([-1, -1, -1, -1])]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:39
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:42
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:45
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:48
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:51
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:54
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:57
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:60
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:63
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:66
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:69
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:72
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:75
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:78
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:81
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:84
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:87
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:90
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:93
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:96
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:99
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:102
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:105
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:108
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:111
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:114
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:117
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:120
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:123
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:126
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:129
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [f32x4([-0, -0, -0, -0]), f32x4([0, 0, 0, 0])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:132
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [f32x4([-0, -0, -0, -0]), f32x4([-0, -0, -0, -0])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:135
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:138
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:141
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:144
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:147
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [f32x4([-0, -0, -0, -0]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:150
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:153
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [f32x4([-0, -0, -0, -0]), f32x4([1, 1, 1, 1])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:156
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [f32x4([-0, -0, -0, -0]), f32x4([-1, -1, -1, -1])]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:159
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:162
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:165
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:168
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:171
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:174
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:177
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:180
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:183
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:186
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:189
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:192
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:195
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:198
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:201
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:204
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:207
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:210
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:213
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:216
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:219
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:222
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:225
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:228
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:231
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:234
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:237
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:240
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:243
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:246
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:249
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:252
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:255
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:258
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:261
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:264
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:267
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:270
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:273
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:276
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:279
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:282
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:285
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:288
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:291
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:294
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:297
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:300
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:303
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:306
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:309
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:312
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:315
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:318
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:321
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:324
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:327
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:330
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:333
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:336
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:339
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:342
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:345
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:348
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:351
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:354
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:357
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:360
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:363
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:366
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:369
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:372
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:375
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:378
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:381
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:384
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:387
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:390
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:393
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:396
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:399
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:402
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:405
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:408
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:411
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:414
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:417
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:420
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:423
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:426
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:429
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:432
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:435
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:438
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:441
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:444
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:447
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:450
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:453
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:456
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:459
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:462
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:465
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:468
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:471
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:474
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:477
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:480
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:483
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:486
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:489
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:492
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:495
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:498
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:501
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:504
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:507
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:510
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:513
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:516
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:519
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:522
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:525
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:528
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:531
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:534
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:537
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:540
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:543
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:546
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:549
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:552
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:555
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:558
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:561
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:564
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:567
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:570
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:573
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:576
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:579
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:582
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:585
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:588
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:591
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:594
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:597
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:600
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:603
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:606
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:609
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:612
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:615
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:618
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:621
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:624
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:627
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:630
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:633
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:636
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:639
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:642
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:645
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:648
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:651
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:654
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:657
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:660
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:663
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:666
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:669
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:672
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:675
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:678
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:681
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:684
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:687
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:690
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:693
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:696
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:699
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:702
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:705
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:708
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:711
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:714
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:717
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:720
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:723
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:726
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:729
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([0, 0, 0, 0])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:732
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([-0, -0, -0, -0])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:735
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:738
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:741
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:744
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:747
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:750
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:753
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([1, 1, 1, 1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:756
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([-1, -1, -1, -1])]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:759
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:762
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:765
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:768
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:771
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:774
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:777
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:780
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:783
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:786
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:789
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:792
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:795
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:798
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:801
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:804
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:807
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:810
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:813
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:816
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:819
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:822
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:825
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:828
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:831
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:834
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:837
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:840
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:843
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:846
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:849
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [f32x4([-0.5, -0.5, -0.5, -0.5]), f32x4([0, 0, 0, 0])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:852
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:855
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:858
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:861
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:864
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:867
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:870
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:873
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [f32x4([-0.5, -0.5, -0.5, -0.5]), f32x4([1, 1, 1, 1])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:876
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:879
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:882
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:885
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:888
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:891
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:894
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:897
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:900
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:903
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:906
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:909
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:912
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:915
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:918
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:921
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:924
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:927
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:930
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:933
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:936
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:939
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:942
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:945
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:948
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:951
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:954
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:957
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:960
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:963
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:966
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:969
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [f32x4([1, 1, 1, 1]), f32x4([0, 0, 0, 0])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:972
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [f32x4([1, 1, 1, 1]), f32x4([-0, -0, -0, -0])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:975
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:978
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:981
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:984
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:987
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [f32x4([1, 1, 1, 1]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:990
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [f32x4([1, 1, 1, 1]), f32x4([-0.5, -0.5, -0.5, -0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:993
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [f32x4([1, 1, 1, 1]), f32x4([1, 1, 1, 1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:996
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [f32x4([1, 1, 1, 1]), f32x4([-1, -1, -1, -1])]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:999
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1002
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1005
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1008
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1011
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1014
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1017
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1020
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1023
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1026
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1029
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1032
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1035
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1038
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1041
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1044
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1047
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1050
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1053
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1056
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1059
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1062
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1065
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1068
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1071
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1074
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1077
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1080
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1083
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1086
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1089
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [f32x4([-1, -1, -1, -1]), f32x4([0, 0, 0, 0])]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1092
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [f32x4([-1, -1, -1, -1]), f32x4([-0, -0, -0, -0])]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1095
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1098
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1101
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1104
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1107
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [f32x4([-1, -1, -1, -1]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1110
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1113
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [f32x4([-1, -1, -1, -1]), f32x4([1, 1, 1, 1])]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1116
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [f32x4([-1, -1, -1, -1]), f32x4([-1, -1, -1, -1])]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1119
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1122
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1125
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1128
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1131
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1134
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1137
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1140
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1143
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1146
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1149
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1152
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1155
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1158
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1161
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1164
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1167
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1170
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1173
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1176
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1179
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1182
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1185
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1188
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1191
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1194
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1197
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1200
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1203
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1206
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1209
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1212
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1215
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1218
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1221
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1224
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1227
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1230
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1233
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1236
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1239
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1242
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1245
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1248
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1251
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1254
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1257
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1260
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1263
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1266
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1269
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1272
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1275
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1278
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1281
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1284
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1287
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1290
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1293
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1296
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1299
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1302
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1305
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1308
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1311
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1314
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1317
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1320
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1323
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1326
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1329
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1332
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1335
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1338
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1341
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1344
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1347
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1350
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1353
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1356
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1359
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1362
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1365
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1368
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1371
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1374
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1377
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1380
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1383
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1386
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1389
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1392
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1395
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1398
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1401
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1404
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1407
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1410
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1413
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1416
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1419
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1422
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1425
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1428
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1431
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1434
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1437
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1440
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1443
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1446
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1449
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1452
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1455
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1458
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1461
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1464
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1467
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1470
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1473
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1476
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1479
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1482
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1485
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1488
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1491
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1494
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1497
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1500
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1503
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1506
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1509
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1512
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1515
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1518
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1521
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1524
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1527
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1530
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1533
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1536
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1539
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1542
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1545
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1548
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1551
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1554
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1557
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1560
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1563
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1566
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1569
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1572
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1575
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1578
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1581
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1584
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1587
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1590
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1593
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1596
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1599
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1602
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1605
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1608
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1611
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1614
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1617
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1620
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1623
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1626
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1629
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1632
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1635
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1638
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1641
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1644
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1647
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1650
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1653
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1656
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1659
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1662
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1665
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1668
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1671
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1674
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1677
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1680
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1683
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1686
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1689
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1692
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1695
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1698
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1701
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1704
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1707
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1710
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1713
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1716
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1719
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1722
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1725
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1728
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1731
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1734
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1737
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1740
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1743
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1746
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1749
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1752
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1755
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1758
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1761
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1764
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1767
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1770
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1773
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1776
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1779
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1782
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1785
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1788
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1791
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1794
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1797
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1800
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1803
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1806
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1809
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1812
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1815
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1818
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1821
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1824
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1827
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1830
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1833
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1836
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1839
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1842
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1845
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1848
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1851
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1854
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1857
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1860
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1863
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1866
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1869
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1872
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1875
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1878
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1881
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1884
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1887
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1890
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1893
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1896
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1899
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1902
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1905
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1908
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1911
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1914
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1917
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1920
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1923
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1926
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1929
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1932
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1935
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1938
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1941
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1944
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1947
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1950
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1953
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1956
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1959
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1962
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1965
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1968
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1971
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1974
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1977
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1980
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1983
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1986
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1989
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1992
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1995
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:1998
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2001
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2004
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2007
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2010
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2013
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2016
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2019
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2022
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2025
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2028
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2031
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2034
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2037
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2040
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2043
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2046
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2049
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2052
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2055
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2058
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2061
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2064
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2067
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2070
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2073
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2076
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2079
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2082
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2085
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2088
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2091
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2094
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2097
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2100
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2103
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2106
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2109
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2112
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2115
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2118
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2121
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2124
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2127
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2130
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2133
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2136
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2139
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2142
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2145
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2148
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2151
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2154
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2157
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2160
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2163
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2166
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2169
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2172
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2175
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2178
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2181
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2184
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2187
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2190
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2193
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2196
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2199
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2202
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2205
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2208
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2211
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2214
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2217
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2220
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2223
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2226
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2229
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2232
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2235
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2238
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2241
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2244
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2247
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2250
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2253
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2256
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2259
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2262
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2265
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2268
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2271
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2274
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2277
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2280
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2283
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2286
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2289
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2292
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2295
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2298
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2301
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2304
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2307
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2310
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2313
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2316
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2319
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2322
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2325
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2328
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2331
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2334
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2337
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2340
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2343
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2346
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2349
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2352
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2355
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2358
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2361
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2364
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2367
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2370
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2373
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2376
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2379
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2382
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2385
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2388
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2391
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2394
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2397
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2400
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2403
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2406
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2409
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2412
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2415
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2418
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2421
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2424
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2427
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2430
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2433
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2436
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2439
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2442
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2445
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2448
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2451
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2454
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2457
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2460
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2463
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2466
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2469
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2472
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2475
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2478
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2481
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2484
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2487
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2490
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2493
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2496
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2499
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2502
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2505
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2508
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2511
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2514
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2517
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2520
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2523
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2526
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2529
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2532
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2535
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2538
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2541
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2544
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2547
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2550
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2553
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2556
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2559
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2562
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2565
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2568
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2571
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2574
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2577
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2580
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2583
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2586
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2589
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2592
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2595
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2598
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2601
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2604
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2607
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2610
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2613
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2616
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2619
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2622
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2625
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2628
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2631
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2634
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2637
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2640
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2643
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2646
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2649
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2652
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2655
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2658
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2661
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2664
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2667
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2670
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2673
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2676
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2679
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2682
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2685
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2688
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2691
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2694
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2697
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2700
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2703
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2706
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2709
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2712
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2715
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2718
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2721
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2724
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2727
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2730
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2733
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2736
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2739
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2742
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2745
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2748
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2751
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2754
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2757
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2760
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2763
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2766
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2769
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2772
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2775
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2778
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2781
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2784
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2787
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2790
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2793
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2796
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2799
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2802
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2805
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2808
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2811
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2814
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2817
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2820
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2823
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2826
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2829
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2832
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2835
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2838
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2841
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2844
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2847
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2850
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2853
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2856
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2859
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2862
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2865
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2868
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2871
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2874
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2877
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2880
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2883
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2886
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2889
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2892
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2895
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2898
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2901
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2904
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2907
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2910
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2913
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2916
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2919
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2922
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2925
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2928
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2931
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2934
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2937
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2940
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2943
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2946
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2949
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2952
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2955
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2958
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2961
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2964
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2967
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2970
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2973
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2976
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2979
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2982
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2985
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2988
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2991
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2994
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:2997
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3000
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3003
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3006
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3009
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3012
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3015
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3018
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3021
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3024
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3027
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3030
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3033
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3036
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3039
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3042
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3045
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3048
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3051
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3054
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3057
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3060
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3063
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3066
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3069
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3072
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3075
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3078
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3081
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3084
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3087
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3090
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3093
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3096
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3099
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3102
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3105
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3108
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3111
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3114
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3117
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3120
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3123
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3126
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3129
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3132
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3135
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3138
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3141
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3144
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3147
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3150
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3153
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3156
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3159
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3162
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3165
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3168
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3171
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3174
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3177
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3180
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3183
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3186
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3189
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3192
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3195
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3198
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3201
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3204
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3207
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3210
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3213
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3216
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3219
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3222
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3225
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3228
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3231
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3234
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3237
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3240
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3243
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3246
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3249
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3252
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3255
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3258
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3261
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3264
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3267
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3270
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3273
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3276
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3279
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3282
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3285
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3288
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3291
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3294
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3297
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3300
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3303
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3306
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3309
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3312
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3315
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3318
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3321
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3324
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3327
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3330
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3333
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3336
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3339
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3342
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3345
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3348
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3351
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3354
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3357
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3360
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3363
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3366
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3369
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3372
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3375
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3378
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3381
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3384
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3387
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3390
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3393
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3396
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3399
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3402
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3405
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3408
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3411
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3414
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3417
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3420
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3423
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3426
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3429
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3432
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3435
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3438
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3441
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3444
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3447
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3450
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3453
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3456
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3459
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3462
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3465
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3468
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3471
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3474
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3477
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3480
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3483
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3486
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3489
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3492
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3495
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3498
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3501
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3504
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3507
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3510
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3513
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3516
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3519
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3522
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3525
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3528
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3531
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3534
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3537
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3540
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3543
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3546
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3549
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3552
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3555
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3558
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3561
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3564
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3567
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3570
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3573
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3576
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3579
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3582
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3585
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3588
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3591
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3594
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3597
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3600
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3603
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3606
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3609
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3612
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3615
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3618
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3621
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3624
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3627
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3630
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3633
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3636
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3639
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3642
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3645
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3648
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3651
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3654
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3657
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3660
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3663
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3666
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3669
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3672
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3675
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3678
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3681
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3684
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3687
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3690
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3693
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3696
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3699
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3702
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3705
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3708
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3711
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3714
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3717
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3720
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3723
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3726
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3729
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3732
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3735
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3738
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3741
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3744
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3747
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3750
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3753
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3756
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3759
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3762
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3765
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3768
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3771
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3774
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3777
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3780
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3783
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3786
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3789
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3792
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3795
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3798
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3801
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3804
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3807
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3810
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3813
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3816
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3819
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3822
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3825
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3828
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3831
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3834
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3837
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3840
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3843
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3846
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3849
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3852
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3855
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3858
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3861
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3864
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3867
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3870
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3873
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3876
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3879
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3882
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3885
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3888
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3891
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3894
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3897
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3900
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3903
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3906
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3909
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3912
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3915
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3918
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3921
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3924
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3927
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3930
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3933
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3936
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3939
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3942
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3945
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3948
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3951
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3954
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3957
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3960
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3963
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3966
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3969
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3972
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3975
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3978
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3981
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3984
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3987
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3990
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3993
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3996
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:3999
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4002
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4005
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4008
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4011
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4014
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4017
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4020
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4023
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4026
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4029
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4032
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4035
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4038
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4041
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4044
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4047
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4050
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4053
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4056
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4059
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4062
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4065
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4068
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4071
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4074
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4077
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4080
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4083
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4086
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4089
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4092
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4095
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4098
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4101
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4104
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4107
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4110
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4113
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4116
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4119
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4122
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4125
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4128
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4131
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4134
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4137
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4140
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4143
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4146
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4149
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4152
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4155
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4158
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4161
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4164
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4167
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4170
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4173
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4176
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4179
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4182
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4185
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4188
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4191
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4194
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4197
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4200
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4203
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4206
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4209
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4212
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4215
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4218
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4221
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4224
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4227
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4230
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4233
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4236
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4239
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4242
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4245
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4248
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4251
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4254
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4257
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4260
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4263
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4266
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4269
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4272
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4275
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4278
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4281
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4284
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4287
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4290
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4293
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4296
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4299
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4302
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4305
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4308
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4311
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4314
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4317
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4320
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4323
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4326
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4329
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4332
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4335
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4338
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4341
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4344
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4347
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4350
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4353
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4356
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4359
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4362
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4365
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4368
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4371
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4374
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4377
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4380
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4383
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4386
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4389
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4392
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4395
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4398
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4401
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4404
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4407
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4410
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4413
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4416
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4419
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4422
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4425
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4428
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4431
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4434
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4437
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4440
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4443
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4446
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4449
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4452
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4455
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4458
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4461
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4464
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4467
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4470
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4473
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4476
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4479
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4482
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4485
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4488
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4491
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4494
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4497
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4500
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4503
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4506
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4509
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4512
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4515
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4518
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4521
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4524
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4527
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4530
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4533
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4536
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4539
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4542
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4545
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4548
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4551
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4554
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4557
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4560
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4563
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4566
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4569
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4572
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4575
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4578
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4581
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4584
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4587
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4590
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4593
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4596
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4599
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4602
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4605
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4608
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4611
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4614
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4617
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4620
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4623
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4626
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4629
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4632
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4635
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4638
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4641
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4644
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4647
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4650
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4653
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4656
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4659
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4662
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4665
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4668
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4671
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4674
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4677
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4680
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4683
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4686
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4689
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4692
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4695
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4698
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4701
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4704
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4707
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4710
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4713
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4716
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4719
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4722
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4725
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4728
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4731
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4734
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4737
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4740
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4743
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4746
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4749
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4752
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4755
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4758
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4761
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4764
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4767
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4770
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4773
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4776
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4779
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4782
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4785
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4788
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4791
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4794
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4797
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4800
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4803
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4806
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4809
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4812
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4815
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4818
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4821
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4824
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4827
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4830
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4833
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4836
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4839
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4842
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4845
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4848
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4851
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4854
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4857
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4860
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4863
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4866
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4869
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4872
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4875
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4878
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4881
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4884
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4887
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4890
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4893
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4896
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4899
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4902
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4905
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4908
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4911
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4914
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4917
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4920
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4923
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4926
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4929
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4932
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4935
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4938
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4941
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4944
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4947
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4950
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4953
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4956
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4959
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4962
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4965
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4968
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4971
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4974
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4977
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4980
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4983
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4986
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4989
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4992
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4995
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:4998
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5001
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5004
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5007
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5010
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5013
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5016
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5019
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5022
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5025
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5028
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5031
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5034
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5037
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5040
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5043
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5046
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5049
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5052
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5055
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5058
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5061
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5064
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5067
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5070
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5073
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5076
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5079
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5082
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5085
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5088
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5091
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5094
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5097
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5100
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5103
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5106
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5109
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5112
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5115
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5118
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5121
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5124
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5127
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5130
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5133
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5136
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5139
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5142
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5145
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5148
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5151
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5154
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5157
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5160
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5163
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5166
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5169
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5172
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5175
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5178
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5181
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5184
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5187
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5190
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5193
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5196
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5199
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5202
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5205
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5208
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5211
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5214
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5217
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5220
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5223
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5226
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5229
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5232
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5235
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5238
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5241
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5244
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5247
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5250
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5253
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5256
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5259
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5262
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5265
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5268
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5271
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5274
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5277
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5280
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5283
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5286
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5289
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5292
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5295
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5298
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5301
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5304
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5307
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5310
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5313
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5316
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5319
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5322
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5325
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5328
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5331
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5334
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5337
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0, 0, 0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5340
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0, -0, -0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5343
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5346
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5349
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5352
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5355
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5358
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5361
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([1, 1, 1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5364
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-1, -1, -1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5367
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5370
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5373
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5376
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5379
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5382
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5385
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5388
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5391
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5394
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5397
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5400
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5403
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5406
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5409
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5412
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5415
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5418
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5421
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5424
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5427
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5430
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5433
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5436
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5439
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5442
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5445
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5448
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5451
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5454
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5457
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0, 0, 0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5460
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0, -0, -0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5463
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5466
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5469
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5472
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5475
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5478
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5481
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([1, 1, 1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5484
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-1, -1, -1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5487
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5490
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5493
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5496
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5499
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5502
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5505
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5508
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5511
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5514
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5517
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5520
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5523
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5526
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5529
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5532
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5535
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5538
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5541
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5544
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5547
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5550
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5553
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5556
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5559
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5562
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5565
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5568
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5571
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5574
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5577
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0, 0, 0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5580
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0, -0, -0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5583
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5586
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5589
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5592
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5595
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5598
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5601
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([1, 1, 1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5604
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-1, -1, -1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5607
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5610
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5613
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5616
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5619
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5622
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5625
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5628
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5631
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5634
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5637
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5640
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5643
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5646
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5649
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5652
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5655
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5658
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5661
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5664
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5667
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5670
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5673
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5676
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5679
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5682
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5685
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5688
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5691
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5694
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5697
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0, 0, 0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5700
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0, -0, -0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5703
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5706
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5709
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5712
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5715
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5718
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5721
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([1, 1, 1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5724
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-1, -1, -1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5727
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5730
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5733
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5736
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5739
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5742
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5745
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5748
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5751
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5754
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5757
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5760
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5763
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5766
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5769
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5772
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5775
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5778
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5781
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5784
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5787
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5790
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5793
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5796
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5799
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5802
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5805
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5808
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5811
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5814
+assert_return(
+ () => invoke($0, `f32x4.pmin`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5817
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [f32x4([0, 0, 0, 0]), f32x4([0, 0, 0, 0])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5820
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [f32x4([0, 0, 0, 0]), f32x4([-0, -0, -0, -0])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5823
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5826
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5829
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5832
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5835
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [f32x4([0, 0, 0, 0]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5838
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [f32x4([0, 0, 0, 0]), f32x4([-0.5, -0.5, -0.5, -0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5841
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [f32x4([0, 0, 0, 0]), f32x4([1, 1, 1, 1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5844
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [f32x4([0, 0, 0, 0]), f32x4([-1, -1, -1, -1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5847
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5850
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5853
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5856
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5859
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5862
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5865
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5868
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5871
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5874
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5877
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5880
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5883
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5886
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5889
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5892
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5895
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5898
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5901
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5904
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5907
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5910
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5913
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5916
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5919
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5922
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5925
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5928
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5931
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5934
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0, 0, 0, 0]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5937
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [f32x4([-0, -0, -0, -0]), f32x4([0, 0, 0, 0])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5940
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [f32x4([-0, -0, -0, -0]), f32x4([-0, -0, -0, -0])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5943
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5946
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5949
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5952
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5955
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [f32x4([-0, -0, -0, -0]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5958
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5961
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [f32x4([-0, -0, -0, -0]), f32x4([1, 1, 1, 1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5964
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [f32x4([-0, -0, -0, -0]), f32x4([-1, -1, -1, -1])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5967
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5970
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5973
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5976
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5979
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5982
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5985
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5988
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5991
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5994
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:5997
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6000
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6003
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6006
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6009
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6012
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6015
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6018
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6021
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6024
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6027
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6030
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6033
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6036
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6039
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6042
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6045
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6048
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6051
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6054
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0, -0, -0, -0]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6057
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6060
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6063
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6066
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6069
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6072
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6075
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6078
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6081
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6084
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6087
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6090
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6093
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6096
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6099
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6102
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6105
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6108
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6111
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6114
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6117
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6120
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6123
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6126
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6129
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6132
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6135
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6138
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6141
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6144
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6147
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6150
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6153
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6156
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6159
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6162
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6165
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6168
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6171
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6174
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6177
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6180
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6183
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6186
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6189
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6192
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6195
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6198
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6201
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6204
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6207
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6210
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6213
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6216
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6219
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6222
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6225
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6228
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6231
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6234
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6237
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6240
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6243
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6246
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6249
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6252
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6255
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6258
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6261
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6264
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6267
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6270
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6273
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6276
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6279
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6282
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6285
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6288
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6291
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6294
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6297
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6300
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6303
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6306
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6309
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6312
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6315
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6318
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6321
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6324
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6327
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6330
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6333
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6336
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6339
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6342
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6345
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6348
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6351
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6354
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6357
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6360
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6363
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6366
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6369
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6372
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6375
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6378
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6381
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6384
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6387
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6390
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6393
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6396
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6399
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6402
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6405
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6408
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6411
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6414
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6417
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6420
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6423
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6426
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6429
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6432
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6435
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6438
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6441
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6444
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6447
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6450
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6453
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6456
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6459
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6462
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6465
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6468
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6471
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6474
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6477
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6480
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6483
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6486
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6489
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6492
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6495
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6498
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6501
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6504
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6507
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6510
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6513
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6516
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6519
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6522
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6525
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6528
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6531
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6534
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6537
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([0, 0, 0, 0])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6540
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([-0, -0, -0, -0])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6543
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6546
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6549
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6552
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6555
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6558
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6561
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([1, 1, 1, 1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6564
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [f32x4([0.5, 0.5, 0.5, 0.5]), f32x4([-1, -1, -1, -1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6567
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6570
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6573
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6576
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6579
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6582
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6585
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6588
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6591
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6594
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6597
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6600
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6603
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6606
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6609
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6612
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6615
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6618
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6621
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6624
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6627
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6630
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6633
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6636
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6639
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6642
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6645
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6648
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6651
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6654
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6657
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [f32x4([-0.5, -0.5, -0.5, -0.5]), f32x4([0, 0, 0, 0])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6660
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6663
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6666
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6669
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6672
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6675
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6678
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6681
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [f32x4([-0.5, -0.5, -0.5, -0.5]), f32x4([1, 1, 1, 1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6684
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6687
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6690
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6693
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6696
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6699
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6702
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6705
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6708
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6711
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6714
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6717
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6720
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6723
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6726
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6729
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6732
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6735
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6738
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6741
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6744
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6747
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6750
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6753
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6756
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6759
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6762
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6765
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6768
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6771
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6774
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6777
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [f32x4([1, 1, 1, 1]), f32x4([0, 0, 0, 0])]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6780
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [f32x4([1, 1, 1, 1]), f32x4([-0, -0, -0, -0])]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6783
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6786
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6789
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6792
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6795
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [f32x4([1, 1, 1, 1]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6798
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [f32x4([1, 1, 1, 1]), f32x4([-0.5, -0.5, -0.5, -0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6801
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [f32x4([1, 1, 1, 1]), f32x4([1, 1, 1, 1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6804
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [f32x4([1, 1, 1, 1]), f32x4([-1, -1, -1, -1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6807
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6810
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6813
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6816
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6819
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6822
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6825
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6828
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6831
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6834
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6837
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6840
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6843
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6846
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6849
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6852
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6855
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6858
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6861
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6864
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6867
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6870
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6873
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6876
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6879
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6882
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6885
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6888
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6891
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6894
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([1, 1, 1, 1]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6897
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [f32x4([-1, -1, -1, -1]), f32x4([0, 0, 0, 0])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6900
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [f32x4([-1, -1, -1, -1]), f32x4([-0, -0, -0, -0])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6903
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6906
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6909
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6912
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6915
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [f32x4([-1, -1, -1, -1]), f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6918
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6921
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [f32x4([-1, -1, -1, -1]), f32x4([1, 1, 1, 1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6924
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [f32x4([-1, -1, -1, -1]), f32x4([-1, -1, -1, -1])]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6927
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6930
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6933
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6936
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6939
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6942
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6945
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6948
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6951
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6954
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6957
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6960
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6963
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6966
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6969
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6972
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6975
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6978
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6981
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6984
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6987
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6990
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6993
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6996
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:6999
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7002
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7005
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7008
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7011
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7014
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-1, -1, -1, -1]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7017
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7020
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7023
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7026
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7029
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7032
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7035
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7038
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7041
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7044
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7047
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7050
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7053
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7056
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7059
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7062
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7065
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7068
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7071
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7074
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7077
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7080
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7083
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7086
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7089
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7092
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7095
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7098
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7101
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7104
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7107
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7110
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7113
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7116
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7119
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7122
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7125
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7128
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7131
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7134
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7137
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7140
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7143
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7146
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7149
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7152
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7155
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7158
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7161
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7164
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7167
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7170
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7173
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7176
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7179
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7182
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7185
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7188
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7191
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7194
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7197
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7200
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7203
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7206
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7209
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7212
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7215
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7218
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7221
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7224
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7227
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7230
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7233
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7236
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7239
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7242
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7245
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7248
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7251
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7254
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7257
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7260
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7263
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7266
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7269
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7272
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7275
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7278
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7281
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7284
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7287
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7290
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7293
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7296
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7299
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7302
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7305
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7308
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7311
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7314
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7317
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7320
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7323
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7326
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7329
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7332
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7335
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7338
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7341
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7344
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7347
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7350
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7353
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7356
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7359
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7362
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7365
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7368
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7371
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7374
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7377
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7380
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7383
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7386
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7389
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7392
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7395
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7398
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7401
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7404
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7407
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7410
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7413
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7416
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7419
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7422
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7425
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7428
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7431
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7434
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7437
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7440
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7443
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7446
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7449
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7452
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7455
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7458
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7461
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7464
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7467
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7470
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7473
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7476
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7479
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7482
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7485
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7488
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7491
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7494
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7497
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7500
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7503
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7506
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7509
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7512
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7515
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7518
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7521
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7524
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7527
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7530
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7533
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7536
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7539
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7542
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7545
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7548
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7551
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7554
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7557
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7560
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7563
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7566
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7569
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7572
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7575
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7578
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7581
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7584
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7587
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7590
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7593
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7596
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7599
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7602
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7605
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7608
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7611
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7614
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7617
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7620
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7623
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7626
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7629
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7632
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7635
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7638
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7641
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7644
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7647
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7650
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7653
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7656
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7659
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7662
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7665
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7668
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7671
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7674
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7677
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7680
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7683
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7686
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7689
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7692
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7695
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7698
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7701
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7704
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7707
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7710
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7713
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7716
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7719
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7722
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7725
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7728
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7731
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7734
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7737
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7740
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7743
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7746
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7749
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7752
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7755
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7758
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7761
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7764
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7767
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7770
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7773
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7776
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7779
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7782
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7785
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7788
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7791
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7794
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7797
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7800
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7803
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7806
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7809
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7812
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7815
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7818
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7821
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7824
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7827
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7830
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7833
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7836
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7839
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7842
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7845
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7848
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7851
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7854
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7857
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7860
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7863
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7866
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7869
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7872
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7875
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7878
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7881
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7884
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7887
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7890
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7893
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7896
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7899
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7902
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7905
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7908
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7911
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7914
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7917
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7920
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7923
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7926
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7929
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7932
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7935
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7938
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7941
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7944
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7947
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7950
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7953
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7956
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7959
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7962
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7965
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7968
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7971
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7974
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7977
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7980
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7983
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7986
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7989
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7992
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7995
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:7998
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8001
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8004
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8007
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8010
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8013
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8016
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8019
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8022
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8025
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8028
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8031
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8034
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8037
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8040
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8043
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8046
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8049
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8052
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8055
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8058
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8061
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8064
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8067
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8070
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8073
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8076
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8079
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8082
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8085
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8088
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8091
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8094
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8097
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8100
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8103
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8106
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8109
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8112
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8115
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8118
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8121
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8124
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8127
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8130
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8133
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8136
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8139
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8142
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8145
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8148
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8151
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8154
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8157
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8160
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8163
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8166
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8169
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8172
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8175
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8178
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8181
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8184
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8187
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8190
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8193
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8196
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8199
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8202
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8205
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8208
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8211
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8214
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8217
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8220
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8223
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8226
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8229
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8232
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8235
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8238
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8241
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8244
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8247
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8250
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8253
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8256
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8259
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8262
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8265
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8268
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8271
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8274
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8277
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8280
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8283
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8286
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8289
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8292
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8295
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8298
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8301
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8304
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8307
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8310
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8313
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8316
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8319
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8322
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8325
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8328
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8331
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8334
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8337
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8340
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8343
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8346
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8349
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8352
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8355
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8358
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8361
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8364
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8367
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8370
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8373
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8376
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8379
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8382
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8385
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8388
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8391
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8394
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8397
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8400
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8403
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8406
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8409
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8412
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8415
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8418
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8421
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8424
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8427
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8430
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8433
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8436
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8439
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8442
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8445
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8448
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8451
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8454
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8457
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8460
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8463
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8466
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8469
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8472
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8475
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8478
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8481
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8484
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8487
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8490
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8493
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8496
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8499
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8502
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8505
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8508
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8511
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8514
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8517
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8520
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8523
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8526
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8529
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8532
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8535
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8538
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8541
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8544
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8547
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8550
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8553
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8556
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8559
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8562
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8565
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8568
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8571
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8574
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8577
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8580
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8583
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8586
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8589
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8592
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8595
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8598
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8601
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8604
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8607
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8610
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8613
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8616
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8619
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8622
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8625
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8628
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8631
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8634
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8637
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8640
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8643
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8646
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8649
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8652
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8655
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8658
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8661
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8664
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8667
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8670
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8673
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8676
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8679
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8682
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8685
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8688
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8691
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8694
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8697
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8700
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8703
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8706
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8709
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8712
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8715
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8718
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8721
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8724
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8727
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8730
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8733
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8736
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8739
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8742
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8745
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8748
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8751
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8754
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8757
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8760
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8763
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8766
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8769
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8772
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8775
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8778
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8781
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8784
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8787
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8790
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8793
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8796
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8799
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8802
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8805
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8808
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8811
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8814
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8817
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8820
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8823
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8826
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8829
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8832
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8835
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8838
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8841
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8844
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8847
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8850
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8853
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8856
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8859
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8862
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8865
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8868
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8871
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8874
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8877
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8880
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8883
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8886
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8889
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8892
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8895
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8898
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8901
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8904
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8907
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8910
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8913
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8916
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8919
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8922
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8925
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8928
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8931
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8934
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8937
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8940
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8943
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8946
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8949
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8952
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8955
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8958
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8961
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8964
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8967
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8970
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8973
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8976
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8979
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8982
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8985
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8988
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8991
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8994
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:8997
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9000
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9003
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9006
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9009
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9012
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9015
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9018
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9021
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9024
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9027
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9030
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9033
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9036
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9039
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9042
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9045
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9048
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9051
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9054
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9057
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9060
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9063
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9066
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9069
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9072
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9075
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9078
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9081
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9084
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9087
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9090
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9093
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9096
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9099
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9102
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9105
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9108
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9111
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9114
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9117
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9120
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9123
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9126
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9129
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9132
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9135
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9138
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9141
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9144
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9147
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9150
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9153
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9156
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9159
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9162
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9165
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9168
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9171
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9174
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9177
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9180
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9183
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9186
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9189
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9192
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9195
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9198
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9201
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9204
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9207
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9210
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9213
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9216
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9219
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9222
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9225
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9228
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9231
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9234
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9237
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9240
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9243
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9246
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9249
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9252
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9255
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9258
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9261
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9264
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9267
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9270
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9273
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9276
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9279
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9282
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9285
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9288
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9291
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9294
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9297
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9300
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9303
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9306
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9309
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9312
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9315
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9318
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9321
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9324
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9327
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9330
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9333
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9336
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9339
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9342
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9345
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9348
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9351
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9354
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9357
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9360
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9363
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9366
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9369
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9372
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9375
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9378
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9381
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9384
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9387
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9390
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9393
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9396
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9399
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9402
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9405
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9408
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9411
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9414
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9417
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9420
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9423
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9426
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9429
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9432
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9435
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9438
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9441
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9444
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9447
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9450
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9453
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9456
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9459
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9462
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9465
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9468
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9471
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9474
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9477
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9480
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9483
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9486
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9489
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9492
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9495
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9498
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9501
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9504
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9507
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9510
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9513
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9516
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9519
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9522
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9525
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9528
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9531
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9534
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9537
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9540
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9543
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9546
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9549
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9552
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9555
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9558
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9561
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9564
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9567
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9570
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9573
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9576
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9579
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9582
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9585
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9588
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9591
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9594
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9597
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9600
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9603
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9606
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9609
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9612
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9615
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9618
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9621
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9624
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9627
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9630
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9633
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9636
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9639
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9642
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9645
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9648
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9651
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9654
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9657
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9660
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9663
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9666
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9669
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9672
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9675
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9678
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9681
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9684
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9687
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9690
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9693
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9696
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9699
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9702
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9705
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9708
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9711
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9714
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9717
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9720
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9723
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9726
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9729
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9732
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9735
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9738
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9741
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9744
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9747
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9750
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9753
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9756
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9759
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9762
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9765
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9768
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9771
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9774
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9777
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9780
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9783
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9786
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9789
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9792
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9795
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9798
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9801
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9804
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9807
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9810
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9813
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9816
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9819
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9822
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9825
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9828
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9831
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9834
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9837
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9840
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9843
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9846
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9849
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9852
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9855
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9858
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9861
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9864
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9867
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9870
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9873
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9876
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9879
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9882
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9885
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9888
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9891
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9894
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9897
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9900
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9903
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9906
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9909
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9912
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9915
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9918
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9921
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9924
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9927
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9930
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9933
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9936
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9939
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9942
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9945
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9948
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9951
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9954
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9957
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9960
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9963
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9966
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9969
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9972
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9975
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9978
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9981
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9984
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9987
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9990
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9993
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9996
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:9999
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10002
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10005
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10008
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10011
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10014
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10017
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10020
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10023
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10026
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10029
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10032
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10035
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10038
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10041
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10044
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10047
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10050
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10053
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10056
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10059
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10062
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10065
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10068
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10071
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10074
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10077
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10080
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10083
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10086
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10089
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10092
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10095
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10098
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10101
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10104
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10107
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10110
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10113
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10116
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10119
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10122
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10125
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10128
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10131
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10134
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10137
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10140
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10143
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10146
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10149
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10152
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10155
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10158
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10161
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10164
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10167
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10170
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10173
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10176
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10179
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10182
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10185
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10188
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10191
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10194
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10197
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10200
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10203
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10206
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10209
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10212
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10215
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10218
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10221
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10224
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10227
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10230
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10233
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10236
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10239
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10242
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10245
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10248
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10251
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10254
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10257
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10260
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10263
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10266
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10269
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10272
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10275
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10278
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10281
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10284
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10287
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10290
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10293
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10296
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10299
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10302
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10305
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10308
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10311
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10314
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10317
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10320
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10323
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10326
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10329
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10332
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10335
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10338
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10341
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10344
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10347
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10350
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10353
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10356
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10359
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10362
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10365
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10368
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10371
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10374
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10377
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10380
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10383
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10386
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10389
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10392
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10395
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10398
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10401
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10404
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10407
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10410
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10413
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10416
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10419
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10422
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10425
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10428
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10431
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10434
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10437
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10440
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10443
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10446
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10449
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10452
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10455
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10458
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10461
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10464
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10467
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10470
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10473
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10476
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10479
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10482
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10485
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10488
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10491
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10494
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10497
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10500
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10503
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10506
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10509
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10512
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10515
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10518
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10521
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10524
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10527
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10530
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10533
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10536
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10539
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10542
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10545
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10548
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10551
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10554
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10557
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10560
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10563
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10566
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10569
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10572
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10575
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10578
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10581
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10584
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10587
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10590
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10593
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10596
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10599
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10602
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10605
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10608
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10611
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10614
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10617
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10620
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10623
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10626
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10629
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10632
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10635
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10638
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10641
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10644
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10647
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10650
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10653
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10656
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10659
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10662
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10665
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10668
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10671
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10674
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10677
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10680
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10683
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10686
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10689
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10692
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10695
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10698
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10701
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10704
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10707
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10710
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10713
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10716
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10719
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10722
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10725
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10728
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10731
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10734
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10737
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10740
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10743
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10746
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10749
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10752
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10755
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10758
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10761
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10764
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10767
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10770
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10773
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10776
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10779
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10782
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10785
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10788
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10791
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10794
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10797
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10800
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10803
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10806
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10809
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10812
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10815
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10818
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10821
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10824
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10827
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10830
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10833
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10836
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10839
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10842
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10845
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10848
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10851
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10854
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10857
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10860
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10863
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10866
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10869
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10872
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10875
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10878
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10881
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10884
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10887
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10890
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10893
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10896
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10899
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10902
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10905
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10908
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10911
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10914
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10917
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10920
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10923
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10926
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10929
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10932
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10935
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10938
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10941
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10944
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10947
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10950
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10953
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10956
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10959
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10962
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10965
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10968
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10971
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10974
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10977
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10980
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10983
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10986
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10989
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10992
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10995
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:10998
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11001
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11004
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11007
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11010
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11013
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11016
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11019
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11022
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11025
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11028
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11031
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11034
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11037
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11040
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11043
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11046
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11049
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11052
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11055
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11058
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11061
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11064
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11067
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11070
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11073
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11076
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11079
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11082
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11085
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11088
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11091
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11094
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11097
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11100
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11103
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11106
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11109
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11112
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11115
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11118
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11121
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11124
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11127
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11130
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11133
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11136
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11139
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11142
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ bytes("f32", [0x0, 0x0, 0xa0, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11145
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0, 0, 0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11148
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0, -0, -0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11151
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11154
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11157
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11160
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11163
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11166
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11169
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([1, 1, 1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11172
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-1, -1, -1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11175
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11178
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11181
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11184
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11187
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11190
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11193
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11196
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11199
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11202
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11205
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11208
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11211
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11214
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11217
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11220
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11223
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11226
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11229
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11232
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11235
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11238
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11241
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11244
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11247
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11250
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11253
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11256
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11259
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11262
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11265
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0, 0, 0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11268
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0, -0, -0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11271
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11274
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11277
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11280
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11283
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11286
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11289
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([1, 1, 1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11292
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-1, -1, -1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11295
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11298
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11301
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11304
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11307
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11310
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11313
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11316
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11319
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11322
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11325
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11328
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11331
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11334
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11337
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11340
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11343
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11346
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11349
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11352
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11355
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11358
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11361
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11364
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11367
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11370
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11373
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11376
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11379
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11382
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11385
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0, 0, 0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11388
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0, -0, -0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11391
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11394
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11397
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11400
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11403
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11406
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11409
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([1, 1, 1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11412
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-1, -1, -1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11415
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11418
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11421
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11424
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11427
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11430
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11433
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11436
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11439
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11442
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11445
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11448
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11451
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11454
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11457
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11460
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11463
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11466
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11469
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11472
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11475
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11478
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11481
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11484
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11487
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11490
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11493
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11496
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11499
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11502
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11505
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0, 0, 0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11508
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0, -0, -0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11511
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ value("f32", 0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11514
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ value("f32", -0.000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11517
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ value("f32", 0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11520
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ value("f32", -0.000000000000000000000000000000000000011754944),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11523
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([0.5, 0.5, 0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ value("f32", 0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11526
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-0.5, -0.5, -0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ value("f32", -0.5),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11529
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([1, 1, 1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11532
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-1, -1, -1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11535
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ value("f32", 6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11538
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ value("f32", -6.2831855),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11541
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11544
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11547
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11550
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11553
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11556
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11559
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11562
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11565
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11568
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11571
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11574
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11577
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11580
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11583
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11586
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ value("f32", 0.000000000012345679),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11589
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11592
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11595
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11598
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11601
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11604
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11607
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11610
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11613
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11616
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11619
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11622
+assert_return(
+ () => invoke($0, `f32x4.pmax`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11629
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i8x16.pmin (v128.const i32x4 0 0 0 0) (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11630
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i8x16.pmax (v128.const i32x4 0 0 0 0) (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11631
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i16x8.pmin (v128.const i32x4 0 0 0 0) (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11632
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i16x8.pmax (v128.const i32x4 0 0 0 0) (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11633
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i32x4.pmin (v128.const i32x4 0 0 0 0) (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11634
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i32x4.pmax (v128.const i32x4 0 0 0 0) (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11635
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i64x2.pmin (v128.const i32x4 0 0 0 0) (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11636
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i64x2.pmax (v128.const i32x4 0 0 0 0) (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11639
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (f32x4.pmin (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11640
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (f32x4.pmax (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11644
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f32x4.pmin-1st-arg-empty (result v128)
+ (f32x4.pmin (v128.const f32x4 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11652
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f32x4.pmin-arg-empty (result v128)
+ (f32x4.pmin)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11660
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f32x4.pmax-1st-arg-empty (result v128)
+ (f32x4.pmax (v128.const f32x4 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f32x4_pmin_pmax.wast:11668
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f32x4.pmax-arg-empty (result v128)
+ (f32x4.pmax)
+ )
+ )`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/simd_f32x4_rounding.wast.js b/js/src/jit-test/tests/wasm/spec/spec/simd_f32x4_rounding.wast.js
new file mode 100644
index 0000000000..cd67d7ca22
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/simd_f32x4_rounding.wast.js
@@ -0,0 +1,3432 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_f32x4_rounding.wast
+
+// ./test/core/simd/simd_f32x4_rounding.wast:4
+let $0 = instantiate(`(module
+ (func (export "f32x4.ceil") (param v128) (result v128) (f32x4.ceil (local.get 0)))
+ (func (export "f32x4.floor") (param v128) (result v128) (f32x4.floor (local.get 0)))
+ (func (export "f32x4.trunc") (param v128) (result v128) (f32x4.trunc (local.get 0)))
+ (func (export "f32x4.nearest") (param v128) (result v128) (f32x4.nearest (local.get 0)))
+)`);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:11
+assert_return(
+ () => invoke($0, `f32x4.ceil`, [f32x4([0, 0, 0, 0])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:13
+assert_return(
+ () => invoke($0, `f32x4.ceil`, [f32x4([-0, -0, -0, -0])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:15
+assert_return(
+ () => invoke($0, `f32x4.ceil`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:17
+assert_return(
+ () => invoke($0, `f32x4.ceil`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:19
+assert_return(
+ () => invoke($0, `f32x4.ceil`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:21
+assert_return(
+ () => invoke($0, `f32x4.ceil`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:23
+assert_return(
+ () => invoke($0, `f32x4.ceil`, [f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:25
+assert_return(
+ () => invoke($0, `f32x4.ceil`, [f32x4([-0.5, -0.5, -0.5, -0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:27
+assert_return(
+ () => invoke($0, `f32x4.ceil`, [f32x4([1, 1, 1, 1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:29
+assert_return(
+ () => invoke($0, `f32x4.ceil`, [f32x4([-1, -1, -1, -1])]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:31
+assert_return(
+ () => invoke($0, `f32x4.ceil`, [f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855])]),
+ [
+ new F32x4Pattern(
+ value("f32", 7),
+ value("f32", 7),
+ value("f32", 7),
+ value("f32", 7),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:33
+assert_return(
+ () => invoke($0, `f32x4.ceil`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6),
+ value("f32", -6),
+ value("f32", -6),
+ value("f32", -6),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:35
+assert_return(
+ () => invoke($0, `f32x4.ceil`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:37
+assert_return(
+ () => invoke($0, `f32x4.ceil`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:39
+assert_return(
+ () => invoke($0, `f32x4.ceil`, [f32x4([Infinity, Infinity, Infinity, Infinity])]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:41
+assert_return(
+ () => invoke($0, `f32x4.ceil`, [f32x4([-Infinity, -Infinity, -Infinity, -Infinity])]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:43
+assert_return(
+ () => invoke($0, `f32x4.ceil`, [f32x4([123456790, 123456790, 123456790, 123456790])]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:45
+assert_return(
+ () => invoke($0, `f32x4.ceil`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:47
+assert_return(
+ () => invoke($0, `f32x4.ceil`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:49
+assert_return(
+ () => invoke($0, `f32x4.ceil`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:51
+assert_return(
+ () => invoke($0, `f32x4.ceil`, [f32x4([123456790, 123456790, 123456790, 123456790])]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:53
+assert_return(
+ () => invoke($0, `f32x4.ceil`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:55
+assert_return(
+ () => invoke($0, `f32x4.ceil`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:57
+assert_return(
+ () => invoke($0, `f32x4.ceil`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:59
+assert_return(
+ () => invoke($0, `f32x4.ceil`, [f32x4([123456790, 123456790, 123456790, 123456790])]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:61
+assert_return(
+ () => invoke($0, `f32x4.ceil`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:63
+assert_return(
+ () => invoke($0, `f32x4.ceil`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:65
+assert_return(
+ () => invoke($0, `f32x4.ceil`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:67
+assert_return(
+ () => invoke($0, `f32x4.ceil`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:69
+assert_return(
+ () => invoke($0, `f32x4.ceil`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:71
+assert_return(
+ () => invoke($0, `f32x4.ceil`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:73
+assert_return(
+ () => invoke($0, `f32x4.ceil`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:75
+assert_return(
+ () => invoke($0, `f32x4.ceil`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:77
+assert_return(
+ () => invoke($0, `f32x4.ceil`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:79
+assert_return(
+ () => invoke($0, `f32x4.ceil`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:81
+assert_return(
+ () => invoke($0, `f32x4.ceil`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:83
+assert_return(
+ () => invoke($0, `f32x4.ceil`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:85
+assert_return(
+ () => invoke($0, `f32x4.ceil`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:87
+assert_return(
+ () => invoke($0, `f32x4.ceil`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:89
+assert_return(
+ () => invoke($0, `f32x4.ceil`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:91
+assert_return(
+ () => invoke($0, `f32x4.ceil`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:93
+assert_return(
+ () => invoke($0, `f32x4.ceil`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:95
+assert_return(
+ () => invoke($0, `f32x4.ceil`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:97
+assert_return(
+ () => invoke($0, `f32x4.ceil`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:99
+assert_return(
+ () => invoke($0, `f32x4.floor`, [f32x4([0, 0, 0, 0])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:101
+assert_return(
+ () => invoke($0, `f32x4.floor`, [f32x4([-0, -0, -0, -0])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:103
+assert_return(
+ () => invoke($0, `f32x4.floor`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:105
+assert_return(
+ () => invoke($0, `f32x4.floor`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:107
+assert_return(
+ () => invoke($0, `f32x4.floor`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:109
+assert_return(
+ () => invoke($0, `f32x4.floor`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:111
+assert_return(
+ () => invoke($0, `f32x4.floor`, [f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:113
+assert_return(
+ () => invoke($0, `f32x4.floor`, [f32x4([-0.5, -0.5, -0.5, -0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:115
+assert_return(
+ () => invoke($0, `f32x4.floor`, [f32x4([1, 1, 1, 1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:117
+assert_return(
+ () => invoke($0, `f32x4.floor`, [f32x4([-1, -1, -1, -1])]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:119
+assert_return(
+ () => invoke($0, `f32x4.floor`, [f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855])]),
+ [
+ new F32x4Pattern(
+ value("f32", 6),
+ value("f32", 6),
+ value("f32", 6),
+ value("f32", 6),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:121
+assert_return(
+ () => invoke($0, `f32x4.floor`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -7),
+ value("f32", -7),
+ value("f32", -7),
+ value("f32", -7),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:123
+assert_return(
+ () => invoke($0, `f32x4.floor`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:125
+assert_return(
+ () => invoke($0, `f32x4.floor`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:127
+assert_return(
+ () => invoke($0, `f32x4.floor`, [f32x4([Infinity, Infinity, Infinity, Infinity])]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:129
+assert_return(
+ () => invoke($0, `f32x4.floor`, [f32x4([-Infinity, -Infinity, -Infinity, -Infinity])]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:131
+assert_return(
+ () => invoke($0, `f32x4.floor`, [f32x4([123456790, 123456790, 123456790, 123456790])]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:133
+assert_return(
+ () => invoke($0, `f32x4.floor`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:135
+assert_return(
+ () => invoke($0, `f32x4.floor`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:137
+assert_return(
+ () => invoke($0, `f32x4.floor`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:139
+assert_return(
+ () => invoke($0, `f32x4.floor`, [f32x4([123456790, 123456790, 123456790, 123456790])]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:141
+assert_return(
+ () => invoke($0, `f32x4.floor`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:143
+assert_return(
+ () => invoke($0, `f32x4.floor`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:145
+assert_return(
+ () => invoke($0, `f32x4.floor`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:147
+assert_return(
+ () => invoke($0, `f32x4.floor`, [f32x4([123456790, 123456790, 123456790, 123456790])]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:149
+assert_return(
+ () => invoke($0, `f32x4.floor`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:151
+assert_return(
+ () => invoke($0, `f32x4.floor`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:153
+assert_return(
+ () => invoke($0, `f32x4.floor`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:155
+assert_return(
+ () => invoke($0, `f32x4.floor`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:157
+assert_return(
+ () => invoke($0, `f32x4.floor`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:159
+assert_return(
+ () => invoke($0, `f32x4.floor`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:161
+assert_return(
+ () => invoke($0, `f32x4.floor`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:163
+assert_return(
+ () => invoke($0, `f32x4.floor`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:165
+assert_return(
+ () => invoke($0, `f32x4.floor`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:167
+assert_return(
+ () => invoke($0, `f32x4.floor`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:169
+assert_return(
+ () => invoke($0, `f32x4.floor`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:171
+assert_return(
+ () => invoke($0, `f32x4.floor`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:173
+assert_return(
+ () => invoke($0, `f32x4.floor`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:175
+assert_return(
+ () => invoke($0, `f32x4.floor`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:177
+assert_return(
+ () => invoke($0, `f32x4.floor`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:179
+assert_return(
+ () => invoke($0, `f32x4.floor`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:181
+assert_return(
+ () => invoke($0, `f32x4.floor`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:183
+assert_return(
+ () => invoke($0, `f32x4.floor`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:185
+assert_return(
+ () => invoke($0, `f32x4.floor`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:187
+assert_return(
+ () => invoke($0, `f32x4.trunc`, [f32x4([0, 0, 0, 0])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:189
+assert_return(
+ () => invoke($0, `f32x4.trunc`, [f32x4([-0, -0, -0, -0])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:191
+assert_return(
+ () => invoke($0, `f32x4.trunc`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:193
+assert_return(
+ () => invoke($0, `f32x4.trunc`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:195
+assert_return(
+ () => invoke($0, `f32x4.trunc`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:197
+assert_return(
+ () => invoke($0, `f32x4.trunc`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:199
+assert_return(
+ () => invoke($0, `f32x4.trunc`, [f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:201
+assert_return(
+ () => invoke($0, `f32x4.trunc`, [f32x4([-0.5, -0.5, -0.5, -0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:203
+assert_return(
+ () => invoke($0, `f32x4.trunc`, [f32x4([1, 1, 1, 1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:205
+assert_return(
+ () => invoke($0, `f32x4.trunc`, [f32x4([-1, -1, -1, -1])]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:207
+assert_return(
+ () => invoke($0, `f32x4.trunc`, [f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855])]),
+ [
+ new F32x4Pattern(
+ value("f32", 6),
+ value("f32", 6),
+ value("f32", 6),
+ value("f32", 6),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:209
+assert_return(
+ () => invoke($0, `f32x4.trunc`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6),
+ value("f32", -6),
+ value("f32", -6),
+ value("f32", -6),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:211
+assert_return(
+ () => invoke($0, `f32x4.trunc`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:213
+assert_return(
+ () => invoke($0, `f32x4.trunc`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:215
+assert_return(
+ () => invoke($0, `f32x4.trunc`, [f32x4([Infinity, Infinity, Infinity, Infinity])]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:217
+assert_return(
+ () => invoke($0, `f32x4.trunc`, [f32x4([-Infinity, -Infinity, -Infinity, -Infinity])]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:219
+assert_return(
+ () => invoke($0, `f32x4.trunc`, [f32x4([123456790, 123456790, 123456790, 123456790])]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:221
+assert_return(
+ () => invoke($0, `f32x4.trunc`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:223
+assert_return(
+ () => invoke($0, `f32x4.trunc`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:225
+assert_return(
+ () => invoke($0, `f32x4.trunc`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:227
+assert_return(
+ () => invoke($0, `f32x4.trunc`, [f32x4([123456790, 123456790, 123456790, 123456790])]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:229
+assert_return(
+ () => invoke($0, `f32x4.trunc`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:231
+assert_return(
+ () => invoke($0, `f32x4.trunc`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:233
+assert_return(
+ () => invoke($0, `f32x4.trunc`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:235
+assert_return(
+ () => invoke($0, `f32x4.trunc`, [f32x4([123456790, 123456790, 123456790, 123456790])]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:237
+assert_return(
+ () => invoke($0, `f32x4.trunc`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:239
+assert_return(
+ () => invoke($0, `f32x4.trunc`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:241
+assert_return(
+ () => invoke($0, `f32x4.trunc`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:243
+assert_return(
+ () => invoke($0, `f32x4.trunc`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:245
+assert_return(
+ () => invoke($0, `f32x4.trunc`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:247
+assert_return(
+ () => invoke($0, `f32x4.trunc`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:249
+assert_return(
+ () => invoke($0, `f32x4.trunc`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:251
+assert_return(
+ () => invoke($0, `f32x4.trunc`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:253
+assert_return(
+ () => invoke($0, `f32x4.trunc`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:255
+assert_return(
+ () => invoke($0, `f32x4.trunc`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:257
+assert_return(
+ () => invoke($0, `f32x4.trunc`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:259
+assert_return(
+ () => invoke($0, `f32x4.trunc`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:261
+assert_return(
+ () => invoke($0, `f32x4.trunc`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:263
+assert_return(
+ () => invoke($0, `f32x4.trunc`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:265
+assert_return(
+ () => invoke($0, `f32x4.trunc`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:267
+assert_return(
+ () => invoke($0, `f32x4.trunc`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:269
+assert_return(
+ () => invoke($0, `f32x4.trunc`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:271
+assert_return(
+ () => invoke($0, `f32x4.trunc`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:273
+assert_return(
+ () => invoke($0, `f32x4.trunc`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:275
+assert_return(
+ () => invoke($0, `f32x4.nearest`, [f32x4([0, 0, 0, 0])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:277
+assert_return(
+ () => invoke($0, `f32x4.nearest`, [f32x4([-0, -0, -0, -0])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:279
+assert_return(
+ () => invoke($0, `f32x4.nearest`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:281
+assert_return(
+ () => invoke($0, `f32x4.nearest`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:283
+assert_return(
+ () => invoke($0, `f32x4.nearest`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:285
+assert_return(
+ () => invoke($0, `f32x4.nearest`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:287
+assert_return(
+ () => invoke($0, `f32x4.nearest`, [f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:289
+assert_return(
+ () => invoke($0, `f32x4.nearest`, [f32x4([-0.5, -0.5, -0.5, -0.5])]),
+ [
+ new F32x4Pattern(
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ value("f32", -0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:291
+assert_return(
+ () => invoke($0, `f32x4.nearest`, [f32x4([1, 1, 1, 1])]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:293
+assert_return(
+ () => invoke($0, `f32x4.nearest`, [f32x4([-1, -1, -1, -1])]),
+ [
+ new F32x4Pattern(
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ value("f32", -1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:295
+assert_return(
+ () => invoke($0, `f32x4.nearest`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 6),
+ value("f32", 6),
+ value("f32", 6),
+ value("f32", 6),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:297
+assert_return(
+ () => invoke($0, `f32x4.nearest`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -6),
+ value("f32", -6),
+ value("f32", -6),
+ value("f32", -6),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:299
+assert_return(
+ () => invoke($0, `f32x4.nearest`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:301
+assert_return(
+ () => invoke($0, `f32x4.nearest`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:303
+assert_return(
+ () => invoke($0, `f32x4.nearest`, [f32x4([Infinity, Infinity, Infinity, Infinity])]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:305
+assert_return(
+ () => invoke($0, `f32x4.nearest`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:307
+assert_return(
+ () => invoke($0, `f32x4.nearest`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:309
+assert_return(
+ () => invoke($0, `f32x4.nearest`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:311
+assert_return(
+ () => invoke($0, `f32x4.nearest`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:313
+assert_return(
+ () => invoke($0, `f32x4.nearest`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:315
+assert_return(
+ () => invoke($0, `f32x4.nearest`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:317
+assert_return(
+ () => invoke($0, `f32x4.nearest`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:319
+assert_return(
+ () => invoke($0, `f32x4.nearest`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:321
+assert_return(
+ () => invoke($0, `f32x4.nearest`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:323
+assert_return(
+ () => invoke($0, `f32x4.nearest`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:325
+assert_return(
+ () => invoke($0, `f32x4.nearest`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:327
+assert_return(
+ () => invoke($0, `f32x4.nearest`, [
+ f32x4([
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ 1234567900000000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:329
+assert_return(
+ () => invoke($0, `f32x4.nearest`, [
+ f32x4([
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ 0.000000000012345679,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:331
+assert_return(
+ () => invoke($0, `f32x4.nearest`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:333
+assert_return(
+ () => invoke($0, `f32x4.nearest`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:335
+assert_return(
+ () => invoke($0, `f32x4.nearest`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:337
+assert_return(
+ () => invoke($0, `f32x4.nearest`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:339
+assert_return(
+ () => invoke($0, `f32x4.nearest`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:341
+assert_return(
+ () => invoke($0, `f32x4.nearest`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:343
+assert_return(
+ () => invoke($0, `f32x4.nearest`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:345
+assert_return(
+ () => invoke($0, `f32x4.nearest`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:347
+assert_return(
+ () => invoke($0, `f32x4.nearest`, [
+ f32x4([81985530000000000, 81985530000000000, 81985530000000000, 81985530000000000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:349
+assert_return(
+ () => invoke($0, `f32x4.nearest`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:351
+assert_return(
+ () => invoke($0, `f32x4.nearest`, [
+ f32x4([
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ 42984030000000000000000,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:353
+assert_return(
+ () => invoke($0, `f32x4.nearest`, [
+ f32x4([156374990000, 156374990000, 156374990000, 156374990000]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:355
+assert_return(
+ () => invoke($0, `f32x4.nearest`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:357
+assert_return(
+ () => invoke($0, `f32x4.nearest`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ `canonical_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:359
+assert_return(
+ () => invoke($0, `f32x4.nearest`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:361
+assert_return(
+ () => invoke($0, `f32x4.nearest`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xa0,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ `arithmetic_nan`,
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:367
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i8x16.ceil (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:368
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i8x16.floor (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:369
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i8x16.trunc (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:370
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i8x16.nearest (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:371
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i16x8.ceil (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:372
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i16x8.floor (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:373
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i16x8.trunc (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:374
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i16x8.nearest (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:375
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i32x4.ceil (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:376
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i32x4.floor (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:377
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i32x4.trunc (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:378
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i32x4.nearest (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:379
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i64x2.ceil (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:380
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i64x2.floor (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:381
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i64x2.trunc (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:382
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i64x2.nearest (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:385
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (f32x4.ceil (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:386
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (f32x4.floor (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:387
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (f32x4.trunc (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:388
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (f32x4.nearest (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:392
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f32x4.ceil-arg-empty (result v128)
+ (f32x4.ceil)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:400
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f32x4.floor-arg-empty (result v128)
+ (f32x4.floor)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:408
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f32x4.trunc-arg-empty (result v128)
+ (f32x4.trunc)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f32x4_rounding.wast:416
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f32x4.nearest-arg-empty (result v128)
+ (f32x4.nearest)
+ )
+ )`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/simd_f64x2.wast.js b/js/src/jit-test/tests/wasm/spec/spec/simd_f64x2.wast.js
new file mode 100644
index 0000000000..72409ad8e9
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/simd_f64x2.wast.js
@@ -0,0 +1,13218 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_f64x2.wast
+
+// ./test/core/simd/simd_f64x2.wast:4
+let $0 = instantiate(`(module
+ (func (export "f64x2.min") (param v128 v128) (result v128) (f64x2.min (local.get 0) (local.get 1)))
+ (func (export "f64x2.max") (param v128 v128) (result v128) (f64x2.max (local.get 0) (local.get 1)))
+ (func (export "f64x2.abs") (param v128) (result v128) (f64x2.abs (local.get 0)))
+ ;; f64x2.min const vs const
+ (func (export "f64x2.min_with_const_0") (result v128) (f64x2.min (v128.const f64x2 0 1) (v128.const f64x2 0 2)))
+ (func (export "f64x2.min_with_const_1") (result v128) (f64x2.min (v128.const f64x2 2 -3) (v128.const f64x2 1 3)))
+ (func (export "f64x2.min_with_const_2") (result v128) (f64x2.min (v128.const f64x2 0 1) (v128.const f64x2 0 1)))
+ (func (export "f64x2.min_with_const_3") (result v128) (f64x2.min (v128.const f64x2 2 3) (v128.const f64x2 2 3)))
+ (func (export "f64x2.min_with_const_4") (result v128) (f64x2.min (v128.const f64x2 0x00 0x01) (v128.const f64x2 0x00 0x02)))
+ (func (export "f64x2.min_with_const_5") (result v128) (f64x2.min (v128.const f64x2 0x02 0x80000000) (v128.const f64x2 0x01 2147483648)))
+ (func (export "f64x2.min_with_const_6") (result v128) (f64x2.min (v128.const f64x2 0x00 0x01) (v128.const f64x2 0x00 0x01)))
+ (func (export "f64x2.min_with_const_7") (result v128) (f64x2.min (v128.const f64x2 0x02 0x80000000) (v128.const f64x2 0x02 0x80000000)))
+ ;; f64x2.min param vs const
+ (func (export "f64x2.min_with_const_9") (param v128) (result v128) (f64x2.min (local.get 0) (v128.const f64x2 0 1)))
+ (func (export "f64x2.min_with_const_10") (param v128) (result v128) (f64x2.min (v128.const f64x2 2 -3) (local.get 0)))
+ (func (export "f64x2.min_with_const_11") (param v128) (result v128) (f64x2.min (v128.const f64x2 0 1) (local.get 0)))
+ (func (export "f64x2.min_with_const_12") (param v128) (result v128) (f64x2.min (local.get 0) (v128.const f64x2 2 3)))
+ (func (export "f64x2.min_with_const_13") (param v128) (result v128) (f64x2.min (v128.const f64x2 0x00 0x01) (local.get 0)))
+ (func (export "f64x2.min_with_const_14") (param v128) (result v128) (f64x2.min (v128.const f64x2 0x02 0x80000000) (local.get 0)))
+ (func (export "f64x2.min_with_const_15") (param v128) (result v128) (f64x2.min (v128.const f64x2 0x00 0x01) (local.get 0)))
+ (func (export "f64x2.min_with_const_16") (param v128) (result v128) (f64x2.min (v128.const f64x2 0x02 0x80000000) (local.get 0)))
+ ;; f64x2.max const vs const
+ (func (export "f64x2.max_with_const_18") (result v128) (f64x2.max (v128.const f64x2 0 1) (v128.const f64x2 0 2)))
+ (func (export "f64x2.max_with_const_19") (result v128) (f64x2.max (v128.const f64x2 2 -3) (v128.const f64x2 1 3)))
+ (func (export "f64x2.max_with_const_20") (result v128) (f64x2.max (v128.const f64x2 0 1) (v128.const f64x2 0 1)))
+ (func (export "f64x2.max_with_const_21") (result v128) (f64x2.max (v128.const f64x2 2 3) (v128.const f64x2 2 3)))
+ (func (export "f64x2.max_with_const_22") (result v128) (f64x2.max (v128.const f64x2 0x00 0x01) (v128.const f64x2 0x00 0x02)))
+ (func (export "f64x2.max_with_const_23") (result v128) (f64x2.max (v128.const f64x2 0x02 0x80000000) (v128.const f64x2 0x01 2147483648)))
+ (func (export "f64x2.max_with_const_24") (result v128) (f64x2.max (v128.const f64x2 0x00 0x01) (v128.const f64x2 0x00 0x01)))
+ (func (export "f64x2.max_with_const_25") (result v128) (f64x2.max (v128.const f64x2 0x02 0x80000000) (v128.const f64x2 0x02 0x80000000)))
+ ;; f64x2.max param vs const
+ (func (export "f64x2.max_with_const_27") (param v128) (result v128) (f64x2.max (local.get 0) (v128.const f64x2 0 1)))
+ (func (export "f64x2.max_with_const_28") (param v128) (result v128) (f64x2.max (v128.const f64x2 2 -3) (local.get 0)))
+ (func (export "f64x2.max_with_const_29") (param v128) (result v128) (f64x2.max (v128.const f64x2 0 1) (local.get 0)))
+ (func (export "f64x2.max_with_const_30") (param v128) (result v128) (f64x2.max (local.get 0) (v128.const f64x2 2 3)))
+ (func (export "f64x2.max_with_const_31") (param v128) (result v128) (f64x2.max (v128.const f64x2 0x00 0x01) (local.get 0)))
+ (func (export "f64x2.max_with_const_32") (param v128) (result v128) (f64x2.max (v128.const f64x2 0x02 0x80000000) (local.get 0)))
+ (func (export "f64x2.max_with_const_33") (param v128) (result v128) (f64x2.max (v128.const f64x2 0x00 0x01) (local.get 0)))
+ (func (export "f64x2.max_with_const_34") (param v128) (result v128) (f64x2.max (v128.const f64x2 0x02 0x80000000) (local.get 0)))
+
+ (func (export "f64x2.abs_with_const_35") (result v128) (f64x2.abs (v128.const f64x2 -0 -1)))
+ (func (export "f64x2.abs_with_const_36") (result v128) (f64x2.abs (v128.const f64x2 -2 -3)))
+)`);
+
+// ./test/core/simd/simd_f64x2.wast:50
+assert_return(
+ () => invoke($0, `f64x2.min_with_const_0`, []),
+ [new F64x2Pattern(value("f64", 0), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:51
+assert_return(
+ () => invoke($0, `f64x2.min_with_const_1`, []),
+ [new F64x2Pattern(value("f64", 1), value("f64", -3))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:52
+assert_return(
+ () => invoke($0, `f64x2.min_with_const_2`, []),
+ [new F64x2Pattern(value("f64", 0), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:53
+assert_return(
+ () => invoke($0, `f64x2.min_with_const_3`, []),
+ [new F64x2Pattern(value("f64", 2), value("f64", 3))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:55
+assert_return(
+ () => invoke($0, `f64x2.min_with_const_4`, []),
+ [new F64x2Pattern(value("f64", 0), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:56
+assert_return(
+ () => invoke($0, `f64x2.min_with_const_5`, []),
+ [new F64x2Pattern(value("f64", 1), value("f64", 2147483648))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:57
+assert_return(
+ () => invoke($0, `f64x2.min_with_const_6`, []),
+ [new F64x2Pattern(value("f64", 0), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:58
+assert_return(
+ () => invoke($0, `f64x2.min_with_const_7`, []),
+ [new F64x2Pattern(value("f64", 2), value("f64", 2147483648))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:59
+assert_return(
+ () => invoke($0, `f64x2.min_with_const_9`, [f64x2([0, 2])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:61
+assert_return(
+ () => invoke($0, `f64x2.min_with_const_10`, [f64x2([1, 3])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", -3))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:63
+assert_return(
+ () => invoke($0, `f64x2.min_with_const_11`, [f64x2([0, 1])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:65
+assert_return(
+ () => invoke($0, `f64x2.min_with_const_12`, [f64x2([2, 3])]),
+ [new F64x2Pattern(value("f64", 2), value("f64", 3))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:67
+assert_return(
+ () => invoke($0, `f64x2.min_with_const_13`, [f64x2([0, 2])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:69
+assert_return(
+ () => invoke($0, `f64x2.min_with_const_14`, [f64x2([1, 2147483648])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 2147483648))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:71
+assert_return(
+ () => invoke($0, `f64x2.min_with_const_15`, [f64x2([0, 1])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:73
+assert_return(
+ () => invoke($0, `f64x2.min_with_const_16`, [f64x2([2, 2147483648])]),
+ [new F64x2Pattern(value("f64", 2), value("f64", 2147483648))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:76
+assert_return(
+ () => invoke($0, `f64x2.max_with_const_18`, []),
+ [new F64x2Pattern(value("f64", 0), value("f64", 2))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:77
+assert_return(
+ () => invoke($0, `f64x2.max_with_const_19`, []),
+ [new F64x2Pattern(value("f64", 2), value("f64", 3))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:78
+assert_return(
+ () => invoke($0, `f64x2.max_with_const_20`, []),
+ [new F64x2Pattern(value("f64", 0), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:79
+assert_return(
+ () => invoke($0, `f64x2.max_with_const_21`, []),
+ [new F64x2Pattern(value("f64", 2), value("f64", 3))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:81
+assert_return(
+ () => invoke($0, `f64x2.max_with_const_22`, []),
+ [new F64x2Pattern(value("f64", 0), value("f64", 2))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:82
+assert_return(
+ () => invoke($0, `f64x2.max_with_const_23`, []),
+ [new F64x2Pattern(value("f64", 2), value("f64", 2147483648))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:83
+assert_return(
+ () => invoke($0, `f64x2.max_with_const_24`, []),
+ [new F64x2Pattern(value("f64", 0), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:84
+assert_return(
+ () => invoke($0, `f64x2.max_with_const_25`, []),
+ [new F64x2Pattern(value("f64", 2), value("f64", 2147483648))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:85
+assert_return(
+ () => invoke($0, `f64x2.max_with_const_27`, [f64x2([0, 2])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 2))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:87
+assert_return(
+ () => invoke($0, `f64x2.max_with_const_28`, [f64x2([1, 3])]),
+ [new F64x2Pattern(value("f64", 2), value("f64", 3))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:89
+assert_return(
+ () => invoke($0, `f64x2.max_with_const_29`, [f64x2([0, 1])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:91
+assert_return(
+ () => invoke($0, `f64x2.max_with_const_30`, [f64x2([2, 3])]),
+ [new F64x2Pattern(value("f64", 2), value("f64", 3))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:93
+assert_return(
+ () => invoke($0, `f64x2.max_with_const_31`, [f64x2([0, 2])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 2))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:95
+assert_return(
+ () => invoke($0, `f64x2.max_with_const_32`, [f64x2([1, 2147483648])]),
+ [new F64x2Pattern(value("f64", 2), value("f64", 2147483648))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:97
+assert_return(
+ () => invoke($0, `f64x2.max_with_const_33`, [f64x2([0, 1])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:99
+assert_return(
+ () => invoke($0, `f64x2.max_with_const_34`, [f64x2([2, 2147483648])]),
+ [new F64x2Pattern(value("f64", 2), value("f64", 2147483648))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:102
+assert_return(
+ () => invoke($0, `f64x2.abs_with_const_35`, []),
+ [new F64x2Pattern(value("f64", 0), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:103
+assert_return(
+ () => invoke($0, `f64x2.abs_with_const_36`, []),
+ [new F64x2Pattern(value("f64", 2), value("f64", 3))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:107
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ ]),
+ f64x2([0, 1]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:115
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([0, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:123
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([0, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf0,
+ 0x3f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:131
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ ]),
+ f64x2([0, 1]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:139
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([0, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:147
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([0, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf0,
+ 0x3f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:155
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([0, 0]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:158
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([0, 0]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:161
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([0, 0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:164
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([0, 0]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:167
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([0, 0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:170
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([0, 0]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:173
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([0, 0]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:176
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([0, 0]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:179
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([0, 0]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:182
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([0, 0]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:185
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([0, 0]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:188
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([0, 0]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:191
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([0, 0]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:194
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([0, 0]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:197
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([0, 0]), f64x2([Infinity, Infinity])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:200
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([0, 0]), f64x2([-Infinity, -Infinity])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:203
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([-0, -0]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:206
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([-0, -0]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:209
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([-0, -0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:212
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([-0, -0]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:215
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([-0, -0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:218
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([-0, -0]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:221
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([-0, -0]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:224
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([-0, -0]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:227
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([-0, -0]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:230
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([-0, -0]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:233
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([-0, -0]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:236
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([-0, -0]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:239
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([-0, -0]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:242
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([-0, -0]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:245
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([-0, -0]), f64x2([Infinity, Infinity])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:248
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([-0, -0]), f64x2([-Infinity, -Infinity])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:251
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:254
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:257
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:260
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:263
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:266
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:269
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:272
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:275
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:278
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:281
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:284
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:287
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:290
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:293
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:296
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:299
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:302
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:305
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:308
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:311
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:314
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:317
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:320
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:323
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:326
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:329
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:332
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:335
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:338
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:341
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:344
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:347
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:350
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:353
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:356
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:359
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:362
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:365
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:368
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:371
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:374
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:377
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:380
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:383
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:386
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:389
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:392
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:395
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:398
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:401
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:404
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:407
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:410
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:413
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:416
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:419
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:422
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:425
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:428
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:431
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:434
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:437
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:440
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:443
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([0.5, 0.5]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:446
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([0.5, 0.5]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:449
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:452
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:455
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:458
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:461
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([0.5, 0.5]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:464
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([0.5, 0.5]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:467
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([0.5, 0.5]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:470
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([0.5, 0.5]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:473
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([0.5, 0.5]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:476
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([0.5, 0.5]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:479
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:482
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:485
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([0.5, 0.5]), f64x2([Infinity, Infinity])]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:488
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([0.5, 0.5]), f64x2([-Infinity, -Infinity])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:491
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([-0.5, -0.5]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:494
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([-0.5, -0.5]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:497
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:500
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:503
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:506
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:509
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([-0.5, -0.5]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:512
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([-0.5, -0.5]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:515
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([-0.5, -0.5]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:518
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([-0.5, -0.5]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:521
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:524
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:527
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:530
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:533
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([-0.5, -0.5]), f64x2([Infinity, Infinity])]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:536
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([-0.5, -0.5]), f64x2([-Infinity, -Infinity])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:539
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([1, 1]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:542
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([1, 1]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:545
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([1, 1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:548
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([1, 1]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:551
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([1, 1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:554
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([1, 1]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:557
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([1, 1]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:560
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([1, 1]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:563
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([1, 1]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:566
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([1, 1]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:569
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([1, 1]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:572
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([1, 1]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:575
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([1, 1]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:578
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([1, 1]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:581
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([1, 1]), f64x2([Infinity, Infinity])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:584
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([1, 1]), f64x2([-Infinity, -Infinity])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:587
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([-1, -1]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:590
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([-1, -1]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:593
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([-1, -1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:596
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([-1, -1]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:599
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([-1, -1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:602
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([-1, -1]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:605
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([-1, -1]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:608
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([-1, -1]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:611
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([-1, -1]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:614
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([-1, -1]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:617
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([-1, -1]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:620
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([-1, -1]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:623
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([-1, -1]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:626
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([-1, -1]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:629
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([-1, -1]), f64x2([Infinity, Infinity])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:632
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([-1, -1]), f64x2([-Infinity, -Infinity])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:635
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:638
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:641
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:644
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:647
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:650
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:653
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:656
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:659
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:662
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:665
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:668
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:671
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:674
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:677
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:680
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:683
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:686
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:689
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:692
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:695
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:698
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:701
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:704
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:707
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:710
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:713
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:716
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:719
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:722
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:725
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:728
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:731
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:734
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:737
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:740
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:743
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:746
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:749
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:752
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:755
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:758
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:761
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:764
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:767
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:770
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:773
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:776
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:779
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:782
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:785
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:788
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:791
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:794
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:797
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:800
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:803
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:806
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:809
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:812
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:815
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:818
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:821
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:824
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:827
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([Infinity, Infinity]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:830
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([Infinity, Infinity]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:833
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:836
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:839
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:842
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:845
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([Infinity, Infinity]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:848
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([Infinity, Infinity]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:851
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([Infinity, Infinity]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:854
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([Infinity, Infinity]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:857
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:860
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:863
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:866
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:869
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:872
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:875
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([-Infinity, -Infinity]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:878
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([-Infinity, -Infinity]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:881
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:884
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:887
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:890
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:893
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([-Infinity, -Infinity]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:896
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([-Infinity, -Infinity]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:899
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([-Infinity, -Infinity]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:902
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([-Infinity, -Infinity]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:905
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:908
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:911
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:914
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:917
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:920
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:923
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:926
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:929
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:932
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:935
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:938
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:941
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:944
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:947
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:950
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:953
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:956
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:959
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:962
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:965
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:968
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:971
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:974
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:977
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:980
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:983
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:986
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:989
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:992
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:995
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:998
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1001
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1004
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1007
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1010
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1013
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1016
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1019
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1022
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1025
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1028
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1031
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1034
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1037
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1040
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1043
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1046
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1049
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1052
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1055
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1058
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1061
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1064
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1067
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1070
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1073
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1076
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1079
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1082
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1085
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1088
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1091
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1094
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1097
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1100
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1103
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1106
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1109
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1112
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1115
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1118
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1121
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1124
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1127
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1130
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1133
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1136
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1139
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1142
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1145
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1148
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1151
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1154
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1157
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1160
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1163
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789012345690000000000000000000000000000000000000000),
+ value("f64", 123456789012345690000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1166
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000012345678901234569),
+ value("f64", 0.000000000000000000012345678901234569),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1169
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 12345678900000000000000000000000000000000000000),
+ value("f64", 12345678900000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1172
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 12345678900000000000000000000000000000000000000),
+ value("f64", 12345678900000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1175
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ f64x2([-1234567890123456800, -1234567890123456800]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -1234567890123456800),
+ value("f64", -1234567890123456800),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1178
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000012345678901234569),
+ value("f64", 0.000000000000000000012345678901234569),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1181
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000012345678901234569),
+ value("f64", 0.000000000000000000012345678901234569),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1184
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000012345678901234569),
+ value("f64", 0.000000000000000000012345678901234569),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1187
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000012345678901234569),
+ value("f64", 0.000000000000000000012345678901234569),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1190
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ f64x2([-1234567890123456800, -1234567890123456800]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -1234567890123456800),
+ value("f64", -1234567890123456800),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1193
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 12345678900000000000000000000000000000000000000),
+ value("f64", 12345678900000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1196
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000012345678901234569),
+ value("f64", 0.000000000000000000012345678901234569),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1199
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 12345678900000000000000000000000000000000000000),
+ value("f64", 12345678900000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1202
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 12345678900000000000000000000000000000000000000),
+ value("f64", 12345678900000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1205
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([-1234567890123456800, -1234567890123456800]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -1234567890123456800),
+ value("f64", -1234567890123456800),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1208
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 12345678900000000000000000000000000000000000000),
+ value("f64", 12345678900000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1211
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000012345678901234569),
+ value("f64", 0.000000000000000000012345678901234569),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1214
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 12345678900000000000000000000000000000000000000),
+ value("f64", 12345678900000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1217
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 12345678900000000000000000000000000000000000000),
+ value("f64", 12345678900000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1220
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([-1234567890123456800, -1234567890123456800]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -1234567890123456800),
+ value("f64", -1234567890123456800),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1223
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([-1234567890123456800, -1234567890123456800]),
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -1234567890123456800),
+ value("f64", -1234567890123456800),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1226
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([-1234567890123456800, -1234567890123456800]),
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -1234567890123456800),
+ value("f64", -1234567890123456800),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1229
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([-1234567890123456800, -1234567890123456800]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -1234567890123456800),
+ value("f64", -1234567890123456800),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1232
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([-1234567890123456800, -1234567890123456800]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -1234567890123456800),
+ value("f64", -1234567890123456800),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1235
+assert_return(
+ () => invoke($0, `f64x2.min`, [
+ f64x2([-1234567890123456800, -1234567890123456800]),
+ f64x2([-1234567890123456800, -1234567890123456800]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -1234567890123456800),
+ value("f64", -1234567890123456800),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1238
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([0, 0]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1241
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([0, 0]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1244
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([0, 0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1247
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([0, 0]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1250
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([0, 0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1253
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([0, 0]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1256
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([0, 0]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1259
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([0, 0]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1262
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([0, 0]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1265
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([0, 0]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1268
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([0, 0]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1271
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([0, 0]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1274
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([0, 0]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1277
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([0, 0]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1280
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([0, 0]), f64x2([Infinity, Infinity])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1283
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([0, 0]), f64x2([-Infinity, -Infinity])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1286
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([-0, -0]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1289
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([-0, -0]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1292
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([-0, -0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1295
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([-0, -0]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1298
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([-0, -0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1301
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([-0, -0]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1304
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([-0, -0]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1307
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([-0, -0]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1310
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([-0, -0]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1313
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([-0, -0]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1316
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([-0, -0]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1319
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([-0, -0]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1322
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([-0, -0]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1325
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([-0, -0]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1328
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([-0, -0]), f64x2([Infinity, Infinity])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1331
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([-0, -0]), f64x2([-Infinity, -Infinity])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1334
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1337
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1340
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1343
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1346
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1349
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1352
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1355
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1358
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1361
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1364
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1367
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1370
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1373
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1376
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1379
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1382
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1385
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1388
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1391
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1394
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1397
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1400
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1403
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1406
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1409
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1412
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1415
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1418
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1421
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1424
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1427
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1430
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1433
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1436
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1439
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1442
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1445
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1448
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1451
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1454
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1457
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1460
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1463
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1466
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1469
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1472
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1475
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1478
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1481
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1484
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1487
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1490
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1493
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1496
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1499
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1502
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1505
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1508
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1511
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1514
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1517
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1520
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1523
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1526
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([0.5, 0.5]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1529
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([0.5, 0.5]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1532
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1535
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1538
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1541
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1544
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([0.5, 0.5]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1547
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([0.5, 0.5]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1550
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([0.5, 0.5]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1553
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([0.5, 0.5]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1556
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([0.5, 0.5]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1559
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([0.5, 0.5]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1562
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1565
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1568
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([0.5, 0.5]), f64x2([Infinity, Infinity])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1571
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([0.5, 0.5]), f64x2([-Infinity, -Infinity])]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1574
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([-0.5, -0.5]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1577
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([-0.5, -0.5]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1580
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1583
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1586
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1589
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1592
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([-0.5, -0.5]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1595
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([-0.5, -0.5]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1598
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([-0.5, -0.5]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1601
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([-0.5, -0.5]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1604
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1607
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1610
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1613
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1616
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([-0.5, -0.5]), f64x2([Infinity, Infinity])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1619
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([-0.5, -0.5]), f64x2([-Infinity, -Infinity])]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1622
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([1, 1]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1625
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([1, 1]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1628
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([1, 1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1631
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([1, 1]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1634
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([1, 1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1637
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([1, 1]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1640
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([1, 1]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1643
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([1, 1]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1646
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([1, 1]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1649
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([1, 1]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1652
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([1, 1]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1655
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([1, 1]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1658
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([1, 1]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1661
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([1, 1]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1664
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([1, 1]), f64x2([Infinity, Infinity])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1667
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([1, 1]), f64x2([-Infinity, -Infinity])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1670
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([-1, -1]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1673
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([-1, -1]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1676
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([-1, -1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1679
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([-1, -1]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1682
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([-1, -1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1685
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([-1, -1]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1688
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([-1, -1]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1691
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([-1, -1]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1694
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([-1, -1]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1697
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([-1, -1]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1700
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([-1, -1]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1703
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([-1, -1]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1706
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([-1, -1]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1709
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([-1, -1]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1712
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([-1, -1]), f64x2([Infinity, Infinity])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1715
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([-1, -1]), f64x2([-Infinity, -Infinity])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1718
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1721
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1724
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1727
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1730
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1733
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1736
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1739
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1742
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1745
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1748
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1751
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1754
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1757
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1760
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1763
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1766
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1769
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1772
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1775
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1778
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1781
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1784
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1787
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1790
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1793
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1796
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1799
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1802
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1805
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1808
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1811
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1814
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1817
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1820
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1823
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1826
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1829
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1832
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1835
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1838
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1841
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1844
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1847
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1850
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1853
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1856
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1859
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1862
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1865
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1868
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1871
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1874
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1877
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1880
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1883
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1886
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1889
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1892
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1895
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1898
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1901
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1904
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1907
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1910
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([Infinity, Infinity]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1913
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([Infinity, Infinity]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1916
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1919
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1922
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1925
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1928
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([Infinity, Infinity]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1931
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([Infinity, Infinity]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1934
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([Infinity, Infinity]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1937
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([Infinity, Infinity]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1940
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1943
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1946
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1949
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1952
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1955
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1958
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([-Infinity, -Infinity]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1961
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([-Infinity, -Infinity]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1964
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1967
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1970
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1973
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1976
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([-Infinity, -Infinity]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1979
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([-Infinity, -Infinity]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1982
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([-Infinity, -Infinity]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1985
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([-Infinity, -Infinity]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1988
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1991
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1994
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:1997
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2000
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2003
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2006
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2009
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2012
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2015
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2018
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2021
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2024
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2027
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2030
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2033
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2036
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2039
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2042
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2045
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2048
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2051
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2054
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2057
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2060
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2063
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2066
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2069
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2072
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2075
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2078
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2081
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2084
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2087
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2090
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2093
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2096
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2099
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2102
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2105
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2108
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2111
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2114
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2117
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2120
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2123
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2126
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2129
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2132
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2135
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2138
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2141
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2144
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2147
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2150
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2153
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2156
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2159
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2162
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2165
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2168
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2171
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2174
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2177
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2180
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2183
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2186
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2189
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2192
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2195
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2198
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2201
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2204
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2207
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2210
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2213
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2216
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2219
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2222
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2225
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2228
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2231
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2234
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2237
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2240
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2243
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2246
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789012345690000000000000000000000000000000000000000),
+ value("f64", 123456789012345690000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2249
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789012345690000000000000000000000000000000000000000),
+ value("f64", 123456789012345690000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2252
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789012345690000000000000000000000000000000000000000),
+ value("f64", 123456789012345690000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2255
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789012345690000000000000000000000000000000000000000),
+ value("f64", 123456789012345690000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2258
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ f64x2([-1234567890123456800, -1234567890123456800]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789012345690000000000000000000000000000000000000000),
+ value("f64", 123456789012345690000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2261
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789012345690000000000000000000000000000000000000000),
+ value("f64", 123456789012345690000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2264
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000012345678901234569),
+ value("f64", 0.000000000000000000012345678901234569),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2267
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 12345678900000000000000000000000000000000000000),
+ value("f64", 12345678900000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2270
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 12345678900000000000000000000000000000000000000),
+ value("f64", 12345678900000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2273
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ f64x2([-1234567890123456800, -1234567890123456800]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000012345678901234569),
+ value("f64", 0.000000000000000000012345678901234569),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2276
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789012345690000000000000000000000000000000000000000),
+ value("f64", 123456789012345690000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2279
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 12345678900000000000000000000000000000000000000),
+ value("f64", 12345678900000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2282
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 12345678900000000000000000000000000000000000000),
+ value("f64", 12345678900000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2285
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 12345678900000000000000000000000000000000000000),
+ value("f64", 12345678900000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2288
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([-1234567890123456800, -1234567890123456800]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 12345678900000000000000000000000000000000000000),
+ value("f64", 12345678900000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2291
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789012345690000000000000000000000000000000000000000),
+ value("f64", 123456789012345690000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2294
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 12345678900000000000000000000000000000000000000),
+ value("f64", 12345678900000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2297
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 12345678900000000000000000000000000000000000000),
+ value("f64", 12345678900000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2300
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 12345678900000000000000000000000000000000000000),
+ value("f64", 12345678900000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2303
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([-1234567890123456800, -1234567890123456800]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 12345678900000000000000000000000000000000000000),
+ value("f64", 12345678900000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2306
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([-1234567890123456800, -1234567890123456800]),
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789012345690000000000000000000000000000000000000000),
+ value("f64", 123456789012345690000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2309
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([-1234567890123456800, -1234567890123456800]),
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000012345678901234569),
+ value("f64", 0.000000000000000000012345678901234569),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2312
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([-1234567890123456800, -1234567890123456800]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 12345678900000000000000000000000000000000000000),
+ value("f64", 12345678900000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2315
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([-1234567890123456800, -1234567890123456800]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 12345678900000000000000000000000000000000000000),
+ value("f64", 12345678900000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2318
+assert_return(
+ () => invoke($0, `f64x2.max`, [
+ f64x2([-1234567890123456800, -1234567890123456800]),
+ f64x2([-1234567890123456800, -1234567890123456800]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -1234567890123456800),
+ value("f64", -1234567890123456800),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2323
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([0, 0]), f64x2([0, -0])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2326
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([-0, 0]), f64x2([0, -0])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2329
+assert_return(
+ () => invoke($0, `f64x2.min`, [f64x2([-0, -0]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2332
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([0, 0]), f64x2([0, -0])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2335
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([-0, 0]), f64x2([0, -0])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2338
+assert_return(
+ () => invoke($0, `f64x2.max`, [f64x2([-0, -0]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2343
+assert_return(
+ () => invoke($0, `f64x2.abs`, [f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2345
+assert_return(
+ () => invoke($0, `f64x2.abs`, [f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2347
+assert_return(
+ () => invoke($0, `f64x2.abs`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2349
+assert_return(
+ () => invoke($0, `f64x2.abs`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2351
+assert_return(
+ () => invoke($0, `f64x2.abs`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2353
+assert_return(
+ () => invoke($0, `f64x2.abs`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2355
+assert_return(
+ () => invoke($0, `f64x2.abs`, [f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2357
+assert_return(
+ () => invoke($0, `f64x2.abs`, [f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2359
+assert_return(
+ () => invoke($0, `f64x2.abs`, [f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2361
+assert_return(
+ () => invoke($0, `f64x2.abs`, [f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2363
+assert_return(
+ () => invoke($0, `f64x2.abs`, [f64x2([6.283185307179586, 6.283185307179586])]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2365
+assert_return(
+ () => invoke($0, `f64x2.abs`, [f64x2([-6.283185307179586, -6.283185307179586])]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2367
+assert_return(
+ () => invoke($0, `f64x2.abs`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2369
+assert_return(
+ () => invoke($0, `f64x2.abs`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2371
+assert_return(
+ () => invoke($0, `f64x2.abs`, [f64x2([Infinity, Infinity])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2373
+assert_return(
+ () => invoke($0, `f64x2.abs`, [f64x2([-Infinity, -Infinity])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2375
+assert_return(
+ () => invoke($0, `f64x2.abs`, [
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789012345690000000000000000000000000000000000000000),
+ value("f64", 123456789012345690000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2377
+assert_return(
+ () => invoke($0, `f64x2.abs`, [
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000012345678901234569),
+ value("f64", 0.000000000000000000012345678901234569),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2379
+assert_return(
+ () => invoke($0, `f64x2.abs`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 12345678900000000000000000000000000000000000000),
+ value("f64", 12345678900000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2381
+assert_return(
+ () => invoke($0, `f64x2.abs`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 12345678900000000000000000000000000000000000000),
+ value("f64", 12345678900000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2383
+assert_return(
+ () => invoke($0, `f64x2.abs`, [f64x2([-1234567890123456800, -1234567890123456800])]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456800),
+ value("f64", 1234567890123456800),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2387
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (f64x2.abs (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f64x2.wast:2388
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (f64x2.min (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f64x2.wast:2389
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (f64x2.max (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f64x2.wast:2393
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f64x2.abs-arg-empty (result v128)
+ (f64x2.abs)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f64x2.wast:2401
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f64x2.min-1st-arg-empty (result v128)
+ (f64x2.min (v128.const f64x2 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f64x2.wast:2409
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f64x2.min-arg-empty (result v128)
+ (f64x2.min)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f64x2.wast:2417
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f64x2.max-1st-arg-empty (result v128)
+ (f64x2.max (v128.const f64x2 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f64x2.wast:2425
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f64x2.max-arg-empty (result v128)
+ (f64x2.max)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f64x2.wast:2435
+let $1 = instantiate(`(module
+ (func (export "max-min") (param v128 v128 v128) (result v128)
+ (f64x2.max (f64x2.min (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "min-max") (param v128 v128 v128) (result v128)
+ (f64x2.min (f64x2.max (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "max-abs") (param v128 v128) (result v128)
+ (f64x2.max (f64x2.abs (local.get 0)) (local.get 1)))
+ (func (export "min-abs") (param v128 v128) (result v128)
+ (f64x2.min (f64x2.abs (local.get 0)) (local.get 1)))
+)`);
+
+// ./test/core/simd/simd_f64x2.wast:2446
+assert_return(
+ () => invoke($1, `max-min`, [
+ f64x2([1.125, 1.125]),
+ f64x2([0.25, 0.25]),
+ f64x2([0.125, 0.125]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.25), value("f64", 0.25))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2450
+assert_return(
+ () => invoke($1, `min-max`, [
+ f64x2([1.125, 1.125]),
+ f64x2([0.25, 0.25]),
+ f64x2([0.125, 0.125]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.125), value("f64", 0.125))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2454
+assert_return(
+ () => invoke($1, `max-abs`, [f64x2([-1.125, -1.125]), f64x2([0.125, 0.125])]),
+ [new F64x2Pattern(value("f64", 1.125), value("f64", 1.125))],
+);
+
+// ./test/core/simd/simd_f64x2.wast:2457
+assert_return(
+ () => invoke($1, `min-abs`, [f64x2([-1.125, -1.125]), f64x2([0.125, 0.125])]),
+ [new F64x2Pattern(value("f64", 0.125), value("f64", 0.125))],
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/simd_f64x2_arith.wast.js b/js/src/jit-test/tests/wasm/spec/spec/simd_f64x2_arith.wast.js
new file mode 100644
index 0000000000..ea798af4ad
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/simd_f64x2_arith.wast.js
@@ -0,0 +1,32018 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_f64x2_arith.wast
+
+// ./test/core/simd/simd_f64x2_arith.wast:4
+let $0 = instantiate(`(module
+ (func (export "f64x2.add") (param v128 v128) (result v128) (f64x2.add (local.get 0) (local.get 1)))
+ (func (export "f64x2.sub") (param v128 v128) (result v128) (f64x2.sub (local.get 0) (local.get 1)))
+ (func (export "f64x2.mul") (param v128 v128) (result v128) (f64x2.mul (local.get 0) (local.get 1)))
+ (func (export "f64x2.div") (param v128 v128) (result v128) (f64x2.div (local.get 0) (local.get 1)))
+ (func (export "f64x2.neg") (param v128) (result v128) (f64x2.neg (local.get 0)))
+ (func (export "f64x2.sqrt") (param v128) (result v128) (f64x2.sqrt (local.get 0)))
+)`);
+
+// ./test/core/simd/simd_f64x2_arith.wast:13
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([0, 0]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:16
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([0, 0]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:19
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([0, 0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:22
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([0, 0]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:25
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([0, 0]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:28
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([0, 0]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:31
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([0, 0]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:34
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([0, 0]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:37
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([0, 0]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:40
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([0, 0]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:43
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([0, 0]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:46
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([0, 0]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:49
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([0, 0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:52
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([0, 0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:55
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([0, 0]), f64x2([Infinity, Infinity])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:58
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([0, 0]), f64x2([-Infinity, -Infinity])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:61
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([-0, -0]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:64
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([-0, -0]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:67
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-0, -0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:70
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-0, -0]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:73
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([-0, -0]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:76
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([-0, -0]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:79
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([-0, -0]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:82
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([-0, -0]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:85
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-0, -0]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:88
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-0, -0]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:91
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-0, -0]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:94
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-0, -0]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:97
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-0, -0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:100
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-0, -0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:103
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([-0, -0]), f64x2([Infinity, Infinity])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:106
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([-0, -0]), f64x2([-Infinity, -Infinity])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:109
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:112
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:115
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004450147717014403),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004450147717014403),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:118
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:121
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:124
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:127
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:130
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:133
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:136
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:139
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:142
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:145
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507202),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507202),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:148
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507202),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507202),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:151
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:154
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:157
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:160
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:163
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:166
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004450147717014403),
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004450147717014403),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:169
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:172
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:175
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:178
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:181
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:184
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:187
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:190
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:193
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507201),
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507201),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:196
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507201),
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507201),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:199
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:202
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:205
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([0.5, 0.5]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:208
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([0.5, 0.5]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:211
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:214
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:217
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([0.5, 0.5]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:220
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([0.5, 0.5]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:223
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([0.5, 0.5]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", 1.5), value("f64", 1.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:226
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([0.5, 0.5]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:229
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([0.5, 0.5]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.783185307179586),
+ value("f64", 6.783185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:232
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([0.5, 0.5]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -5.783185307179586),
+ value("f64", -5.783185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:235
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:238
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:241
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:244
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:247
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([0.5, 0.5]), f64x2([Infinity, Infinity])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:250
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([0.5, 0.5]), f64x2([-Infinity, -Infinity])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:253
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([-0.5, -0.5]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:256
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([-0.5, -0.5]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:259
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:262
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:265
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([-0.5, -0.5]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:268
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([-0.5, -0.5]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:271
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([-0.5, -0.5]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:274
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([-0.5, -0.5]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", -1.5), value("f64", -1.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:277
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 5.783185307179586),
+ value("f64", 5.783185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:280
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.783185307179586),
+ value("f64", -6.783185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:283
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:286
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:289
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:292
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:295
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([-0.5, -0.5]), f64x2([Infinity, Infinity])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:298
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([-0.5, -0.5]), f64x2([-Infinity, -Infinity])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:301
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([1, 1]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:304
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([1, 1]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:307
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([1, 1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:310
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([1, 1]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:313
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([1, 1]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", 1.5), value("f64", 1.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:316
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([1, 1]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:319
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([1, 1]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", 2), value("f64", 2))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:322
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([1, 1]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:325
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([1, 1]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 7.283185307179586),
+ value("f64", 7.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:328
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([1, 1]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -5.283185307179586),
+ value("f64", -5.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:331
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([1, 1]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:334
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([1, 1]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:337
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([1, 1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:340
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([1, 1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:343
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([1, 1]), f64x2([Infinity, Infinity])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:346
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([1, 1]), f64x2([-Infinity, -Infinity])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:349
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([-1, -1]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:352
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([-1, -1]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:355
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-1, -1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:358
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-1, -1]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:361
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([-1, -1]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:364
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([-1, -1]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", -1.5), value("f64", -1.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:367
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([-1, -1]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:370
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([-1, -1]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", -2), value("f64", -2))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:373
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-1, -1]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 5.283185307179586),
+ value("f64", 5.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:376
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-1, -1]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -7.283185307179586),
+ value("f64", -7.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:379
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-1, -1]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:382
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-1, -1]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:385
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-1, -1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:388
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-1, -1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:391
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([-1, -1]), f64x2([Infinity, Infinity])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:394
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([-1, -1]), f64x2([-Infinity, -Infinity])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:397
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:400
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:403
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:406
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:409
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.783185307179586),
+ value("f64", 6.783185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:412
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 5.783185307179586),
+ value("f64", 5.783185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:415
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 7.283185307179586),
+ value("f64", 7.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:418
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 5.283185307179586),
+ value("f64", 5.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:421
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 12.566370614359172),
+ value("f64", 12.566370614359172),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:424
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:427
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:430
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:433
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:436
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:439
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:442
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:445
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:448
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:451
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:454
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:457
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -5.783185307179586),
+ value("f64", -5.783185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:460
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.783185307179586),
+ value("f64", -6.783185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:463
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -5.283185307179586),
+ value("f64", -5.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:466
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -7.283185307179586),
+ value("f64", -7.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:469
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:472
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -12.566370614359172),
+ value("f64", -12.566370614359172),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:475
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:478
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:481
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:484
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:487
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:490
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:493
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:496
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:499
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:502
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:505
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:508
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:511
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:514
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:517
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:520
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:523
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:526
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:529
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:532
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:535
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:538
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:541
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:544
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:547
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:550
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:553
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:556
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:559
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:562
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:565
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:568
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:571
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:574
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:577
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:580
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:583
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:586
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:589
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:592
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:595
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507202),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507202),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:598
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507201),
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507201),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:601
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:604
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:607
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:610
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:613
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:616
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:619
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:622
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:625
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:628
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:631
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:634
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:637
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:640
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:643
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507202),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507202),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:646
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507201),
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507201),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:649
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:652
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:655
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:658
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:661
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:664
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:667
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:670
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:673
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:676
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:679
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:682
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:685
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([Infinity, Infinity]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:688
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([Infinity, Infinity]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:691
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:694
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:697
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([Infinity, Infinity]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:700
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([Infinity, Infinity]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:703
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([Infinity, Infinity]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:706
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([Infinity, Infinity]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:709
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:712
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:715
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:718
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:721
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:724
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:727
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:730
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:733
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([-Infinity, -Infinity]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:736
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([-Infinity, -Infinity]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:739
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:742
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:745
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([-Infinity, -Infinity]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:748
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([-Infinity, -Infinity]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:751
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([-Infinity, -Infinity]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:754
+assert_return(
+ () => invoke($0, `f64x2.add`, [f64x2([-Infinity, -Infinity]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:757
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:760
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:763
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:766
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:769
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:772
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:775
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:778
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:781
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:784
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:787
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:790
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:793
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:796
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:799
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:802
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:805
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:808
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:811
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:814
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:817
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:820
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:823
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:826
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:829
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:832
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:835
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:838
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:841
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:844
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:847
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:850
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:853
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:856
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:859
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:862
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:865
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:868
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:871
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:874
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:877
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:880
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:883
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:886
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:889
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:892
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:895
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:898
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:901
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:904
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:907
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:910
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:913
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:916
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:919
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:922
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:925
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:928
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:931
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:934
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:937
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:940
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:943
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:946
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:949
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:952
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:955
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:958
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:961
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:964
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:967
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:970
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:973
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:976
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:979
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:982
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:985
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:988
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:991
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:994
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:997
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1000
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1003
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1006
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1009
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1012
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1015
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1018
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1021
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1024
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1027
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1030
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1033
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1036
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1039
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1042
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1045
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1048
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1051
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1054
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1057
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1060
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1063
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1066
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1069
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1072
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1075
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1078
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1081
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1084
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1087
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1090
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1093
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1096
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1099
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1102
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1105
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1108
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1111
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1114
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1117
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1120
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1123
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1126
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1129
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1132
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1135
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1138
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1141
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1144
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1147
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1150
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1153
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1156
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1159
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1162
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1165
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1168
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1171
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1174
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1177
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1180
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1183
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1186
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1189
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1192
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1195
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1198
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([-Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1201
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1204
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1207
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1210
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1213
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([123456789, 123456789]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 246913578), value("f64", 246913578))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1216
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2469135780000000000000000000),
+ value("f64", 2469135780000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1219
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2469135780000000000000000000),
+ value("f64", 2469135780000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1222
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000246913578),
+ value("f64", 0.0000000000246913578),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1225
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([123456789, 123456789]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 246913578), value("f64", 246913578))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1228
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2469135780000000000000000000),
+ value("f64", 2469135780000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1231
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2469135780000000000000000000),
+ value("f64", 2469135780000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1234
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000246913578),
+ value("f64", 0.0000000000246913578),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1237
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 246913578.02469134),
+ value("f64", 246913578.02469134),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1240
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2469135780246913700000000000),
+ value("f64", 2469135780246913700000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1243
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2469135780246913700000000000),
+ value("f64", 2469135780246913700000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1246
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000024691357802469137),
+ value("f64", 0.000000000024691357802469137),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1249
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2750977865078623000000000),
+ value("f64", 2750977865078623000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1252
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1442304682926341000000000000000),
+ value("f64", 1442304682926341000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1255
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1442304682926341000000000000000),
+ value("f64", 1442304682926341000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1258
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 5247073869855161000),
+ value("f64", 5247073869855161000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1261
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2750977865078623000000000),
+ value("f64", 2750977865078623000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1264
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1442304682926341000000000000000),
+ value("f64", 1442304682926341000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1267
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1442304682926341000000000000000),
+ value("f64", 1442304682926341000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1270
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 5247073869855161000),
+ value("f64", 5247073869855161000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1273
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2750977865078623000000000),
+ value("f64", 2750977865078623000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1276
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1442304682926341000000000000000),
+ value("f64", 1442304682926341000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1279
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1442304682926341000000000000000),
+ value("f64", 1442304682926341000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1282
+assert_return(
+ () => invoke($0, `f64x2.add`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 5247073869855161000),
+ value("f64", 5247073869855161000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1285
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([0, 0]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1288
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([0, 0]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1291
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([0, 0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1294
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([0, 0]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1297
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([0, 0]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1300
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([0, 0]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1303
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([0, 0]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1306
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([0, 0]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1309
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([0, 0]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1312
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([0, 0]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1315
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([0, 0]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1318
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([0, 0]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1321
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([0, 0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1324
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([0, 0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1327
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([0, 0]), f64x2([Infinity, Infinity])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1330
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([0, 0]), f64x2([-Infinity, -Infinity])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1333
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([-0, -0]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1336
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([-0, -0]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1339
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-0, -0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1342
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-0, -0]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1345
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([-0, -0]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1348
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([-0, -0]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1351
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([-0, -0]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1354
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([-0, -0]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1357
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-0, -0]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1360
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-0, -0]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1363
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-0, -0]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1366
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-0, -0]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1369
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-0, -0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1372
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-0, -0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1375
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([-0, -0]), f64x2([Infinity, Infinity])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1378
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([-0, -0]), f64x2([-Infinity, -Infinity])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1381
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1384
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1387
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1390
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004450147717014403),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004450147717014403),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1393
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1396
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1399
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1402
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1405
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1408
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1411
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1414
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1417
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507201),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507201),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1420
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507201),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507201),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1423
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1426
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1429
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1432
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1435
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004450147717014403),
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004450147717014403),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1438
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1441
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1444
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1447
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1450
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1453
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1456
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1459
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1462
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1465
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507202),
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507202),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1468
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507202),
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507202),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1471
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1474
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1477
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([0.5, 0.5]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1480
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([0.5, 0.5]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1483
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1486
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1489
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([0.5, 0.5]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1492
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([0.5, 0.5]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1495
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([0.5, 0.5]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1498
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([0.5, 0.5]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", 1.5), value("f64", 1.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1501
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([0.5, 0.5]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -5.783185307179586),
+ value("f64", -5.783185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1504
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([0.5, 0.5]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.783185307179586),
+ value("f64", 6.783185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1507
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1510
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1513
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1516
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1519
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([0.5, 0.5]), f64x2([Infinity, Infinity])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1522
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([0.5, 0.5]), f64x2([-Infinity, -Infinity])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1525
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([-0.5, -0.5]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1528
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([-0.5, -0.5]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1531
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1534
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1537
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([-0.5, -0.5]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1540
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([-0.5, -0.5]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1543
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([-0.5, -0.5]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", -1.5), value("f64", -1.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1546
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([-0.5, -0.5]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1549
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.783185307179586),
+ value("f64", -6.783185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1552
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 5.783185307179586),
+ value("f64", 5.783185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1555
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1558
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1561
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1564
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1567
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([-0.5, -0.5]), f64x2([Infinity, Infinity])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1570
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([-0.5, -0.5]), f64x2([-Infinity, -Infinity])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1573
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([1, 1]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1576
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([1, 1]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1579
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([1, 1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1582
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([1, 1]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1585
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([1, 1]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1588
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([1, 1]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", 1.5), value("f64", 1.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1591
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([1, 1]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1594
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([1, 1]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", 2), value("f64", 2))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1597
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([1, 1]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -5.283185307179586),
+ value("f64", -5.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1600
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([1, 1]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 7.283185307179586),
+ value("f64", 7.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1603
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([1, 1]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1606
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([1, 1]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1609
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([1, 1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1612
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([1, 1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1615
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([1, 1]), f64x2([Infinity, Infinity])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1618
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([1, 1]), f64x2([-Infinity, -Infinity])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1621
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([-1, -1]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1624
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([-1, -1]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1627
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-1, -1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1630
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-1, -1]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1633
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([-1, -1]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", -1.5), value("f64", -1.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1636
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([-1, -1]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1639
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([-1, -1]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", -2), value("f64", -2))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1642
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([-1, -1]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1645
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-1, -1]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -7.283185307179586),
+ value("f64", -7.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1648
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-1, -1]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 5.283185307179586),
+ value("f64", 5.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1651
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-1, -1]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1654
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-1, -1]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1657
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-1, -1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1660
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-1, -1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1663
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([-1, -1]), f64x2([Infinity, Infinity])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1666
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([-1, -1]), f64x2([-Infinity, -Infinity])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1669
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1672
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1675
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1678
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1681
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 5.783185307179586),
+ value("f64", 5.783185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1684
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.783185307179586),
+ value("f64", 6.783185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1687
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 5.283185307179586),
+ value("f64", 5.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1690
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 7.283185307179586),
+ value("f64", 7.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1693
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1696
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 12.566370614359172),
+ value("f64", 12.566370614359172),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1699
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1702
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1705
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1708
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1711
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1714
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1717
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1720
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1723
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1726
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1729
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.783185307179586),
+ value("f64", -6.783185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1732
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -5.783185307179586),
+ value("f64", -5.783185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1735
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -7.283185307179586),
+ value("f64", -7.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1738
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -5.283185307179586),
+ value("f64", -5.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1741
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -12.566370614359172),
+ value("f64", -12.566370614359172),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1744
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1747
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1750
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1753
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1756
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1759
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1762
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1765
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1768
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1771
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1774
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1777
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1780
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1783
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1786
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1789
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1792
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1795
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1798
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1801
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1804
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1807
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1810
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1813
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1816
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1819
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1822
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1825
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1828
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1831
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1834
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1837
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1840
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1843
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1846
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1849
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1852
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1855
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1858
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1861
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1864
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1867
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507201),
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507201),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1870
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507202),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507202),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1873
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1876
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1879
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1882
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1885
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1888
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1891
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1894
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1897
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1900
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1903
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1906
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1909
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1912
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1915
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507201),
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507201),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1918
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507202),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507202),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1921
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1924
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1927
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1930
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1933
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1936
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1939
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1942
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1945
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1948
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1951
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1954
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1957
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([Infinity, Infinity]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1960
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([Infinity, Infinity]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1963
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1966
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1969
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([Infinity, Infinity]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1972
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([Infinity, Infinity]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1975
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([Infinity, Infinity]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1978
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([Infinity, Infinity]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1981
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1984
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1987
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1990
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1993
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1996
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:1999
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2002
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2005
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([-Infinity, -Infinity]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2008
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([-Infinity, -Infinity]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2011
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2014
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2017
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([-Infinity, -Infinity]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2020
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([-Infinity, -Infinity]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2023
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([-Infinity, -Infinity]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2026
+assert_return(
+ () => invoke($0, `f64x2.sub`, [f64x2([-Infinity, -Infinity]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2029
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2032
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2035
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2038
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2041
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2044
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2047
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2050
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2053
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2056
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2059
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2062
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2065
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2068
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2071
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2074
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2077
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2080
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2083
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2086
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2089
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2092
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2095
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2098
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2101
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2104
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2107
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2110
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2113
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2116
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2119
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2122
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2125
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2128
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2131
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2134
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2137
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2140
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2143
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2146
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2149
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2152
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2155
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2158
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2161
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2164
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2167
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2170
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2173
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2176
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2179
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2182
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2185
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2188
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2191
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2194
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2197
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2200
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2203
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2206
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2209
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2212
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2215
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2218
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2221
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2224
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2227
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2230
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2233
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2236
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2239
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2242
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2245
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2248
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2251
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2254
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2257
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2260
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2263
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2266
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2269
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2272
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2275
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2278
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2281
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2284
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2287
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2290
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2293
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2296
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2299
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2302
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2305
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2308
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2311
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2314
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2317
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2320
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2323
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2326
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2329
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2332
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2335
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2338
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2341
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2344
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2347
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2350
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2353
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2356
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2359
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2362
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2365
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2368
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2371
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2374
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2377
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2380
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2383
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2386
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2389
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2392
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2395
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2398
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2401
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2404
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2407
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2410
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2413
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2416
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2419
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2422
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2425
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2428
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2431
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2434
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2437
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2440
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2443
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2446
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2449
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2452
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2455
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2458
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2461
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2464
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2467
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2470
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([-Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2473
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2476
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2479
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2482
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2485
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([123456789, 123456789]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2488
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2491
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2494
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2497
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([123456789, 123456789]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2500
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2503
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2506
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2509
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2512
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2515
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2518
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2521
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2524
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2527
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2530
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2533
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2536
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2539
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2542
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2545
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2548
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2551
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2554
+assert_return(
+ () => invoke($0, `f64x2.sub`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2557
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([0, 0]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2560
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([0, 0]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2563
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([0, 0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2566
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([0, 0]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2569
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([0, 0]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2572
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([0, 0]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2575
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([0, 0]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2578
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([0, 0]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2581
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([0, 0]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2584
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([0, 0]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2587
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([0, 0]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2590
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([0, 0]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2593
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([0, 0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2596
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([0, 0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2599
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([0, 0]), f64x2([Infinity, Infinity])]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2602
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([0, 0]), f64x2([-Infinity, -Infinity])]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2605
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([-0, -0]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2608
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([-0, -0]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2611
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-0, -0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2614
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-0, -0]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2617
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([-0, -0]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2620
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([-0, -0]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2623
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([-0, -0]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2626
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([-0, -0]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2629
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-0, -0]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2632
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-0, -0]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2635
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-0, -0]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2638
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-0, -0]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2641
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-0, -0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2644
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-0, -0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2647
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([-0, -0]), f64x2([Infinity, Infinity])]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2650
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([-0, -0]), f64x2([-Infinity, -Infinity])]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2653
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2656
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2659
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2662
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2665
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011125369292536007),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011125369292536007),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2668
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011125369292536007),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011125369292536007),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2671
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2674
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2677
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013980551375161837),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013980551375161837),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2680
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013980551375161837),
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013980551375161837),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2683
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 3.9999999999999996),
+ value("f64", 3.9999999999999996),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2686
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -3.9999999999999996),
+ value("f64", -3.9999999999999996),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2689
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2692
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2695
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2698
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2701
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2704
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2707
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2710
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2713
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011125369292536007),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011125369292536007),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2716
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011125369292536007),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011125369292536007),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2719
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2722
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2725
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013980551375161837),
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013980551375161837),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2728
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013980551375161837),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013980551375161837),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2731
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -3.9999999999999996),
+ value("f64", -3.9999999999999996),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2734
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 3.9999999999999996),
+ value("f64", 3.9999999999999996),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2737
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2740
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2743
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2746
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2749
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([0.5, 0.5]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2752
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([0.5, 0.5]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2755
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011125369292536007),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011125369292536007),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2758
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011125369292536007),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011125369292536007),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2761
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([0.5, 0.5]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", 0.25), value("f64", 0.25))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2764
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([0.5, 0.5]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", -0.25), value("f64", -0.25))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2767
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([0.5, 0.5]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2770
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([0.5, 0.5]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2773
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([0.5, 0.5]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 3.141592653589793),
+ value("f64", 3.141592653589793),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2776
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([0.5, 0.5]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -3.141592653589793),
+ value("f64", -3.141592653589793),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2779
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 89884656743115790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 89884656743115790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2782
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -89884656743115790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -89884656743115790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2785
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2788
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2791
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([0.5, 0.5]), f64x2([Infinity, Infinity])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2794
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([0.5, 0.5]), f64x2([-Infinity, -Infinity])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2797
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([-0.5, -0.5]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2800
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([-0.5, -0.5]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2803
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011125369292536007),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011125369292536007),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2806
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011125369292536007),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011125369292536007),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2809
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([-0.5, -0.5]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", -0.25), value("f64", -0.25))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2812
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([-0.5, -0.5]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", 0.25), value("f64", 0.25))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2815
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([-0.5, -0.5]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2818
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([-0.5, -0.5]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2821
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -3.141592653589793),
+ value("f64", -3.141592653589793),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2824
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 3.141592653589793),
+ value("f64", 3.141592653589793),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2827
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -89884656743115790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -89884656743115790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2830
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 89884656743115790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 89884656743115790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2833
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2836
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2839
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([-0.5, -0.5]), f64x2([Infinity, Infinity])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2842
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([-0.5, -0.5]), f64x2([-Infinity, -Infinity])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2845
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([1, 1]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2848
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([1, 1]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2851
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([1, 1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2854
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([1, 1]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2857
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([1, 1]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2860
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([1, 1]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2863
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([1, 1]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2866
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([1, 1]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2869
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([1, 1]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2872
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([1, 1]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2875
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([1, 1]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2878
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([1, 1]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2881
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([1, 1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2884
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([1, 1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2887
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([1, 1]), f64x2([Infinity, Infinity])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2890
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([1, 1]), f64x2([-Infinity, -Infinity])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2893
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([-1, -1]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2896
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([-1, -1]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2899
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-1, -1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2902
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-1, -1]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2905
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([-1, -1]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2908
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([-1, -1]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2911
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([-1, -1]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2914
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([-1, -1]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2917
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-1, -1]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2920
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-1, -1]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2923
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-1, -1]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2926
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-1, -1]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2929
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-1, -1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2932
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-1, -1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2935
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([-1, -1]), f64x2([Infinity, Infinity])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2938
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([-1, -1]), f64x2([-Infinity, -Infinity])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2941
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2944
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2947
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013980551375161837),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013980551375161837),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2950
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013980551375161837),
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013980551375161837),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2953
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 3.141592653589793),
+ value("f64", 3.141592653589793),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2956
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -3.141592653589793),
+ value("f64", -3.141592653589793),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2959
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2962
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2965
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 39.47841760435743),
+ value("f64", 39.47841760435743),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2968
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -39.47841760435743),
+ value("f64", -39.47841760435743),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2971
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2974
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2977
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2980
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2983
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2986
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2989
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2992
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2995
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013980551375161837),
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013980551375161837),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:2998
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013980551375161837),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013980551375161837),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3001
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -3.141592653589793),
+ value("f64", -3.141592653589793),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3004
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 3.141592653589793),
+ value("f64", 3.141592653589793),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3007
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3010
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3013
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -39.47841760435743),
+ value("f64", -39.47841760435743),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3016
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 39.47841760435743),
+ value("f64", 39.47841760435743),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3019
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3022
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3025
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003),
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3028
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003),
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3031
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3034
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3037
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3040
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3043
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 3.9999999999999996),
+ value("f64", 3.9999999999999996),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3046
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -3.9999999999999996),
+ value("f64", -3.9999999999999996),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3049
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 89884656743115790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 89884656743115790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3052
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -89884656743115790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -89884656743115790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3055
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3058
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3061
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3064
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3067
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3070
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3073
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000000008881784197001251),
+ value("f64", 0.0000000000000008881784197001251),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3076
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000000008881784197001251),
+ value("f64", 0.0000000000000008881784197001251),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3079
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3082
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3085
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3088
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3091
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -3.9999999999999996),
+ value("f64", -3.9999999999999996),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3094
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 3.9999999999999996),
+ value("f64", 3.9999999999999996),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3097
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -89884656743115790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -89884656743115790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3100
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 89884656743115790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 89884656743115790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3103
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3106
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3109
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3112
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3115
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3118
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3121
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.0000000000000008881784197001251),
+ value("f64", -0.0000000000000008881784197001251),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3124
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.0000000000000008881784197001251),
+ value("f64", -0.0000000000000008881784197001251),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3127
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3130
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3133
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3136
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3139
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3142
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3145
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3148
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3151
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3154
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3157
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3160
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003),
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3163
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000000008881784197001251),
+ value("f64", 0.0000000000000008881784197001251),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3166
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.0000000000000008881784197001251),
+ value("f64", -0.0000000000000008881784197001251),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3169
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3172
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3175
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3178
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3181
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3184
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3187
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3190
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3193
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3196
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3199
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3202
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3205
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3208
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003),
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3211
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000000008881784197001251),
+ value("f64", 0.0000000000000008881784197001251),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3214
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.0000000000000008881784197001251),
+ value("f64", -0.0000000000000008881784197001251),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3217
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3220
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3223
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3226
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3229
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([Infinity, Infinity]), f64x2([0, 0])]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3232
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([Infinity, Infinity]), f64x2([-0, -0])]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3235
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3238
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3241
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([Infinity, Infinity]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3244
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([Infinity, Infinity]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3247
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([Infinity, Infinity]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3250
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([Infinity, Infinity]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3253
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3256
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3259
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3262
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3265
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3268
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3271
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3274
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3277
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([-Infinity, -Infinity]), f64x2([0, 0])]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3280
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([-Infinity, -Infinity]), f64x2([-0, -0])]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3283
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3286
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3289
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([-Infinity, -Infinity]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3292
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([-Infinity, -Infinity]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3295
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([-Infinity, -Infinity]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3298
+assert_return(
+ () => invoke($0, `f64x2.mul`, [f64x2([-Infinity, -Infinity]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3301
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3304
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3307
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3310
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3313
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3316
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3319
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3322
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3325
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3328
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3331
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3334
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3337
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3340
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3343
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3346
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3349
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3352
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3355
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3358
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3361
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3364
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3367
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3370
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3373
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3376
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3379
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3382
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3385
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3388
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3391
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3394
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3397
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3400
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3403
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3406
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3409
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3412
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3415
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3418
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3421
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3424
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3427
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3430
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3433
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3436
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3439
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3442
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3445
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3448
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3451
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3454
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3457
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3460
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3463
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3466
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3469
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3472
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3475
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3478
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3481
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3484
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3487
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3490
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3493
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3496
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3499
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3502
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3505
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3508
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3511
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3514
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3517
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3520
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3523
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3526
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3529
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3532
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3535
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3538
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3541
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3544
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3547
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3550
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3553
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3556
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3559
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3562
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3565
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3568
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3571
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3574
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3577
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3580
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3583
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3586
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3589
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3592
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3595
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3598
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3601
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3604
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3607
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3610
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3613
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3616
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3619
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3622
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3625
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3628
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3631
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3634
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3637
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3640
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3643
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3646
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3649
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3652
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3655
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3658
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3661
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3664
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3667
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3670
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3673
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3676
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3679
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3682
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3685
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3688
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3691
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3694
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3697
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3700
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3703
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3706
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3709
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3712
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3715
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3718
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3721
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3724
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3727
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3730
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3733
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3736
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3739
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3742
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([-Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3745
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3748
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3751
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3754
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3757
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([123456789, 123456789]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 15241578750190520),
+ value("f64", 15241578750190520),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3760
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1524157875019052000000000000000000000000000000000000000),
+ value("f64", 1524157875019052000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3763
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1524157875019052000000000000000000000000000000000000000),
+ value("f64", 1524157875019052000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3766
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000000000000001524157875019052),
+ value("f64", 0.0000000000000000000001524157875019052),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3769
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([123456789, 123456789]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 15241578750190520),
+ value("f64", 15241578750190520),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3772
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1524157875019052000000000000000000000000000000000000000),
+ value("f64", 1524157875019052000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3775
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1524157875019052000000000000000000000000000000000000000),
+ value("f64", 1524157875019052000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3778
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000000000000001524157875019052),
+ value("f64", 0.0000000000000000000001524157875019052),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3781
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 15241578753238834),
+ value("f64", 15241578753238834),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3784
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1524157875323883800000000000000000000000000000000000000),
+ value("f64", 1524157875323883800000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3787
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1524157875323883800000000000000000000000000000000000000),
+ value("f64", 1524157875323883800000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3790
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000000000000001524157875323884),
+ value("f64", 0.0000000000000000000001524157875323884),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3793
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1891969803538134400000000000000000000000000000000),
+ value("f64", 1891969803538134400000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3796
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 520060699597813300000000000000000000000000000000000000000000),
+ value("f64", 520060699597813300000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3799
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 520060699597813300000000000000000000000000000000000000000000),
+ value("f64", 520060699597813300000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3802
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6882946048929205000000000000000000000),
+ value("f64", 6882946048929205000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3805
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1891969803538134400000000000000000000000000000000),
+ value("f64", 1891969803538134400000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3808
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 520060699597813300000000000000000000000000000000000000000000),
+ value("f64", 520060699597813300000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3811
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 520060699597813300000000000000000000000000000000000000000000),
+ value("f64", 520060699597813300000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3814
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6882946048929205000000000000000000000),
+ value("f64", 6882946048929205000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3817
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1891969803538134400000000000000000000000000000000),
+ value("f64", 1891969803538134400000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3820
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 520060699597813300000000000000000000000000000000000000000000),
+ value("f64", 520060699597813300000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3823
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 520060699597813300000000000000000000000000000000000000000000),
+ value("f64", 520060699597813300000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3826
+assert_return(
+ () => invoke($0, `f64x2.mul`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6882946048929205000000000000000000000),
+ value("f64", 6882946048929205000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3829
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([0, 0]), f64x2([0, 0])]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3832
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([0, 0]), f64x2([-0, -0])]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3835
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([0, 0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3838
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([0, 0]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3841
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([0, 0]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3844
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([0, 0]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3847
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([0, 0]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3850
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([0, 0]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3853
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([0, 0]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3856
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([0, 0]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3859
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([0, 0]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3862
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([0, 0]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3865
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([0, 0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3868
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([0, 0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3871
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([0, 0]), f64x2([Infinity, Infinity])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3874
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([0, 0]), f64x2([-Infinity, -Infinity])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3877
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([-0, -0]), f64x2([0, 0])]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3880
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([-0, -0]), f64x2([-0, -0])]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3883
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-0, -0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3886
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-0, -0]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3889
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([-0, -0]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3892
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([-0, -0]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3895
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([-0, -0]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3898
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([-0, -0]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3901
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-0, -0]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3904
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-0, -0]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3907
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-0, -0]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3910
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-0, -0]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3913
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-0, -0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3916
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-0, -0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3919
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([-0, -0]), f64x2([Infinity, Infinity])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3922
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([-0, -0]), f64x2([-Infinity, -Infinity])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3925
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3928
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3931
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3934
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3937
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004450147717014403),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004450147717014403),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3940
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004450147717014403),
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004450147717014403),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3943
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3946
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3949
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003541315033259774),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003541315033259774),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3952
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003541315033259774),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003541315033259774),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3955
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3958
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3961
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(value("f64", 4503599627370496), value("f64", 4503599627370496)),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3964
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(value("f64", 4503599627370496), value("f64", 4503599627370496)),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3967
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3970
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3973
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3976
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3979
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3982
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3985
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004450147717014403),
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004450147717014403),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3988
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004450147717014403),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004450147717014403),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3991
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3994
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:3997
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003541315033259774),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003541315033259774),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4000
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003541315033259774),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003541315033259774),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4003
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4006
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4009
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -4503599627370496),
+ value("f64", -4503599627370496),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4012
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -4503599627370496),
+ value("f64", -4503599627370496),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4015
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4018
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4021
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([0.5, 0.5]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4024
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([0.5, 0.5]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4027
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 22471164185778950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 22471164185778950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4030
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -22471164185778950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -22471164185778950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4033
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([0.5, 0.5]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4036
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([0.5, 0.5]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4039
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([0.5, 0.5]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4042
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([0.5, 0.5]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4045
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([0.5, 0.5]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.07957747154594767),
+ value("f64", 0.07957747154594767),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4048
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([0.5, 0.5]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.07957747154594767),
+ value("f64", -0.07957747154594767),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4051
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002781342323134),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002781342323134),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4054
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002781342323134),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002781342323134),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4057
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4060
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4063
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([0.5, 0.5]), f64x2([Infinity, Infinity])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4066
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([0.5, 0.5]), f64x2([-Infinity, -Infinity])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4069
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([-0.5, -0.5]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4072
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([-0.5, -0.5]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4075
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -22471164185778950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -22471164185778950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4078
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 22471164185778950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 22471164185778950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4081
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([-0.5, -0.5]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4084
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([-0.5, -0.5]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4087
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([-0.5, -0.5]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4090
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([-0.5, -0.5]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4093
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.07957747154594767),
+ value("f64", -0.07957747154594767),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4096
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.07957747154594767),
+ value("f64", 0.07957747154594767),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4099
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002781342323134),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002781342323134),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4102
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002781342323134),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002781342323134),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4105
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4108
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4111
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([-0.5, -0.5]), f64x2([Infinity, Infinity])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4114
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([-0.5, -0.5]), f64x2([-Infinity, -Infinity])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4117
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([1, 1]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4120
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([1, 1]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4123
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([1, 1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 44942328371557900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 44942328371557900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4126
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([1, 1]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -44942328371557900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -44942328371557900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4129
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([1, 1]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", 2), value("f64", 2))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4132
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([1, 1]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", -2), value("f64", -2))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4135
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([1, 1]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4138
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([1, 1]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4141
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([1, 1]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.15915494309189535),
+ value("f64", 0.15915494309189535),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4144
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([1, 1]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.15915494309189535),
+ value("f64", -0.15915494309189535),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4147
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([1, 1]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005562684646268003),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005562684646268003),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4150
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([1, 1]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005562684646268003),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005562684646268003),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4153
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([1, 1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4156
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([1, 1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4159
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([1, 1]), f64x2([Infinity, Infinity])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4162
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([1, 1]), f64x2([-Infinity, -Infinity])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4165
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([-1, -1]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4168
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([-1, -1]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4171
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-1, -1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -44942328371557900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -44942328371557900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4174
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-1, -1]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 44942328371557900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 44942328371557900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4177
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([-1, -1]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", -2), value("f64", -2))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4180
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([-1, -1]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", 2), value("f64", 2))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4183
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([-1, -1]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4186
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([-1, -1]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4189
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-1, -1]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.15915494309189535),
+ value("f64", -0.15915494309189535),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4192
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-1, -1]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.15915494309189535),
+ value("f64", 0.15915494309189535),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4195
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-1, -1]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005562684646268003),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005562684646268003),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4198
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-1, -1]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005562684646268003),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005562684646268003),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4201
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-1, -1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4204
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-1, -1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4207
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([-1, -1]), f64x2([Infinity, Infinity])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4210
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([-1, -1]), f64x2([-Infinity, -Infinity])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4213
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4216
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4219
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4222
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4225
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 12.566370614359172),
+ value("f64", 12.566370614359172),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4228
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -12.566370614359172),
+ value("f64", -12.566370614359172),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4231
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4234
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4237
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4240
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4243
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000349513784379046),
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000349513784379046),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4246
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000349513784379046),
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000349513784379046),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4249
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4252
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4255
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4258
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4261
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4264
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4267
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4270
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4273
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -12.566370614359172),
+ value("f64", -12.566370614359172),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4276
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 12.566370614359172),
+ value("f64", 12.566370614359172),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4279
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4282
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4285
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4288
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4291
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000349513784379046),
+ value("f64", -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000349513784379046),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4294
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000349513784379046),
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000349513784379046),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4297
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4300
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4303
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4306
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4309
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4312
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4315
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4318
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4321
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4324
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4327
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4330
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4333
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 28611174857570280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 28611174857570280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4336
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -28611174857570280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -28611174857570280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4339
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4342
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4345
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4348
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4351
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4354
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4357
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4360
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4363
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4366
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4369
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4372
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4375
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4378
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4381
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -28611174857570280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -28611174857570280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4384
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 28611174857570280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 28611174857570280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4387
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4390
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4393
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4396
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4399
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4402
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4405
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4408
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4411
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000000002220446049250313),
+ value("f64", 0.0000000000000002220446049250313),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4414
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.0000000000000002220446049250313),
+ value("f64", -0.0000000000000002220446049250313),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4417
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4420
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4423
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4426
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4429
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4432
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4435
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4438
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4441
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4444
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4447
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4450
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4453
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4456
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4459
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000000002220446049250313),
+ value("f64", 0.0000000000000002220446049250313),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4462
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.0000000000000002220446049250313),
+ value("f64", -0.0000000000000002220446049250313),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4465
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4468
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ value("f64", -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4471
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4474
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4477
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4480
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4483
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4486
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4489
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4492
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4495
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4498
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4501
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([Infinity, Infinity]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4504
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([Infinity, Infinity]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4507
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4510
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4513
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([Infinity, Infinity]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4516
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([Infinity, Infinity]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4519
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([Infinity, Infinity]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4522
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([Infinity, Infinity]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4525
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4528
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4531
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4534
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4537
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4540
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4543
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4546
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4549
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([-Infinity, -Infinity]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4552
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([-Infinity, -Infinity]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4555
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4558
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4561
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([-Infinity, -Infinity]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4564
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([-Infinity, -Infinity]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4567
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([-Infinity, -Infinity]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4570
+assert_return(
+ () => invoke($0, `f64x2.div`, [f64x2([-Infinity, -Infinity]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4573
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4576
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4579
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4582
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4585
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4588
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4591
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4594
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4597
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4600
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4603
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4606
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4609
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4612
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4615
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4618
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4621
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4624
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4627
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4630
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4633
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4636
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4639
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4642
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4645
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4648
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4651
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4654
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4657
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4660
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4663
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4666
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4669
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4672
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4675
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4678
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4681
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4684
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4687
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4690
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4693
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4696
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4699
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4702
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4705
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4708
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4711
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4714
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4717
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4720
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4723
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4726
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4729
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4732
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4735
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4738
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4741
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4744
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4747
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4750
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4753
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4756
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4759
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4762
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4765
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4768
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4771
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4774
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4777
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4780
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4783
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4786
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4789
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4792
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4795
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4798
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4801
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4804
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4807
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4810
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4813
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4816
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4819
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4822
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4825
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4828
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4831
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4834
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4837
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4840
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4843
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4846
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4849
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4852
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4855
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4858
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4861
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4864
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4867
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4870
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4873
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4876
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4879
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4882
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4885
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4888
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4891
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4894
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4897
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4900
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4903
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4906
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4909
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4912
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4915
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4918
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4921
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4924
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4927
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4930
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4933
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4936
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4939
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4942
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4945
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4948
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4951
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4954
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4957
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4960
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4963
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4966
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4969
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4972
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4975
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4978
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4981
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4984
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4987
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4990
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4993
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4996
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:4999
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5002
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5005
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5008
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5011
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5014
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([-Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5017
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5020
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5023
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5026
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5029
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([123456789, 123456789]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5032
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5035
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5038
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5041
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([123456789, 123456789]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5044
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5047
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5050
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5053
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5056
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5059
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5062
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5065
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5068
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5071
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5074
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5077
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5080
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5083
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5086
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5089
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5092
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5095
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5098
+assert_return(
+ () => invoke($0, `f64x2.div`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5101
+assert_return(
+ () => invoke($0, `f64x2.sqrt`, [f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5103
+assert_return(
+ () => invoke($0, `f64x2.sqrt`, [f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5105
+assert_return(
+ () => invoke($0, `f64x2.sqrt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014916681462400413),
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014916681462400413),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5107
+assert_return(
+ () => invoke($0, `f64x2.sqrt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5109
+assert_return(
+ () => invoke($0, `f64x2.sqrt`, [f64x2([0.5, 0.5])]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.7071067811865476),
+ value("f64", 0.7071067811865476),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5111
+assert_return(
+ () => invoke($0, `f64x2.sqrt`, [f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5113
+assert_return(
+ () => invoke($0, `f64x2.sqrt`, [f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5115
+assert_return(
+ () => invoke($0, `f64x2.sqrt`, [f64x2([-1, -1])]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5117
+assert_return(
+ () => invoke($0, `f64x2.sqrt`, [f64x2([6.283185307179586, 6.283185307179586])]),
+ [
+ new F64x2Pattern(
+ value("f64", 2.5066282746310002),
+ value("f64", 2.5066282746310002),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5119
+assert_return(
+ () => invoke($0, `f64x2.sqrt`, [f64x2([-6.283185307179586, -6.283185307179586])]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5121
+assert_return(
+ () => invoke($0, `f64x2.sqrt`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 13407807929942596000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 13407807929942596000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5123
+assert_return(
+ () => invoke($0, `f64x2.sqrt`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5125
+assert_return(
+ () => invoke($0, `f64x2.sqrt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022227587494850775),
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022227587494850775),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5127
+assert_return(
+ () => invoke($0, `f64x2.sqrt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022227587494850775),
+ value("f64", 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022227587494850775),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5129
+assert_return(
+ () => invoke($0, `f64x2.sqrt`, [f64x2([Infinity, Infinity])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5131
+assert_return(
+ () => invoke($0, `f64x2.sqrt`, [f64x2([-Infinity, -Infinity])]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5133
+assert_return(
+ () => invoke($0, `f64x2.sqrt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5135
+assert_return(
+ () => invoke($0, `f64x2.sqrt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5137
+assert_return(
+ () => invoke($0, `f64x2.sqrt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5139
+assert_return(
+ () => invoke($0, `f64x2.sqrt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5141
+assert_return(
+ () => invoke($0, `f64x2.sqrt`, [f64x2([123456789, 123456789])]),
+ [
+ new F64x2Pattern(
+ value("f64", 11111.111060555555),
+ value("f64", 11111.111060555555),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5143
+assert_return(
+ () => invoke($0, `f64x2.sqrt`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 35136418286444.62),
+ value("f64", 35136418286444.62),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5145
+assert_return(
+ () => invoke($0, `f64x2.sqrt`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 35136418286444.62),
+ value("f64", 35136418286444.62),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5147
+assert_return(
+ () => invoke($0, `f64x2.sqrt`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000035136418286444623),
+ value("f64", 0.0000035136418286444623),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5149
+assert_return(
+ () => invoke($0, `f64x2.sqrt`, [f64x2([123456789, 123456789])]),
+ [
+ new F64x2Pattern(
+ value("f64", 11111.111060555555),
+ value("f64", 11111.111060555555),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5151
+assert_return(
+ () => invoke($0, `f64x2.sqrt`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 35136418286444.62),
+ value("f64", 35136418286444.62),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5153
+assert_return(
+ () => invoke($0, `f64x2.sqrt`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 35136418286444.62),
+ value("f64", 35136418286444.62),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5155
+assert_return(
+ () => invoke($0, `f64x2.sqrt`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000035136418286444623),
+ value("f64", 0.0000035136418286444623),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5157
+assert_return(
+ () => invoke($0, `f64x2.sqrt`, [f64x2([123456789.01234567, 123456789.01234567])]),
+ [
+ new F64x2Pattern(
+ value("f64", 11111.11106111111),
+ value("f64", 11111.11106111111),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5159
+assert_return(
+ () => invoke($0, `f64x2.sqrt`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 35136418288201.445),
+ value("f64", 35136418288201.445),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5161
+assert_return(
+ () => invoke($0, `f64x2.sqrt`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 35136418288201.445),
+ value("f64", 35136418288201.445),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5163
+assert_return(
+ () => invoke($0, `f64x2.sqrt`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000003513641828820144),
+ value("f64", 0.000003513641828820144),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5165
+assert_return(
+ () => invoke($0, `f64x2.sqrt`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1172812402961.0667),
+ value("f64", 1172812402961.0667),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5167
+assert_return(
+ () => invoke($0, `f64x2.sqrt`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(value("f64", 849206889670103), value("f64", 849206889670103)),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5169
+assert_return(
+ () => invoke($0, `f64x2.sqrt`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(value("f64", 849206889670103), value("f64", 849206889670103)),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5171
+assert_return(
+ () => invoke($0, `f64x2.sqrt`, [f64x2([2623536934927580700, 2623536934927580700])]),
+ [
+ new F64x2Pattern(
+ value("f64", 1619733599.9872265),
+ value("f64", 1619733599.9872265),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5173
+assert_return(
+ () => invoke($0, `f64x2.sqrt`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1172812402961.0667),
+ value("f64", 1172812402961.0667),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5175
+assert_return(
+ () => invoke($0, `f64x2.sqrt`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(value("f64", 849206889670103), value("f64", 849206889670103)),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5177
+assert_return(
+ () => invoke($0, `f64x2.sqrt`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(value("f64", 849206889670103), value("f64", 849206889670103)),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5179
+assert_return(
+ () => invoke($0, `f64x2.sqrt`, [f64x2([2623536934927580700, 2623536934927580700])]),
+ [
+ new F64x2Pattern(
+ value("f64", 1619733599.9872265),
+ value("f64", 1619733599.9872265),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5181
+assert_return(
+ () => invoke($0, `f64x2.sqrt`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1172812402961.0667),
+ value("f64", 1172812402961.0667),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5183
+assert_return(
+ () => invoke($0, `f64x2.sqrt`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(value("f64", 849206889670103), value("f64", 849206889670103)),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5185
+assert_return(
+ () => invoke($0, `f64x2.sqrt`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(value("f64", 849206889670103), value("f64", 849206889670103)),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5187
+assert_return(
+ () => invoke($0, `f64x2.sqrt`, [f64x2([2623536934927580700, 2623536934927580700])]),
+ [
+ new F64x2Pattern(
+ value("f64", 1619733599.9872265),
+ value("f64", 1619733599.9872265),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5189
+assert_return(
+ () => invoke($0, `f64x2.neg`, [f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5191
+assert_return(
+ () => invoke($0, `f64x2.neg`, [f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5193
+assert_return(
+ () => invoke($0, `f64x2.neg`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5195
+assert_return(
+ () => invoke($0, `f64x2.neg`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5197
+assert_return(
+ () => invoke($0, `f64x2.neg`, [f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5199
+assert_return(
+ () => invoke($0, `f64x2.neg`, [f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5201
+assert_return(
+ () => invoke($0, `f64x2.neg`, [f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5203
+assert_return(
+ () => invoke($0, `f64x2.neg`, [f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5205
+assert_return(
+ () => invoke($0, `f64x2.neg`, [f64x2([6.283185307179586, 6.283185307179586])]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5207
+assert_return(
+ () => invoke($0, `f64x2.neg`, [f64x2([-6.283185307179586, -6.283185307179586])]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5209
+assert_return(
+ () => invoke($0, `f64x2.neg`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5211
+assert_return(
+ () => invoke($0, `f64x2.neg`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5213
+assert_return(
+ () => invoke($0, `f64x2.neg`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5215
+assert_return(
+ () => invoke($0, `f64x2.neg`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5217
+assert_return(
+ () => invoke($0, `f64x2.neg`, [f64x2([Infinity, Infinity])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5219
+assert_return(
+ () => invoke($0, `f64x2.neg`, [f64x2([-Infinity, -Infinity])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5221
+assert_return(
+ () => invoke($0, `f64x2.neg`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5223
+assert_return(
+ () => invoke($0, `f64x2.neg`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5225
+assert_return(
+ () => invoke($0, `f64x2.neg`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5227
+assert_return(
+ () => invoke($0, `f64x2.neg`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5229
+assert_return(
+ () => invoke($0, `f64x2.neg`, [f64x2([123456789, 123456789])]),
+ [new F64x2Pattern(value("f64", -123456789), value("f64", -123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5231
+assert_return(
+ () => invoke($0, `f64x2.neg`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -1234567890000000000000000000),
+ value("f64", -1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5233
+assert_return(
+ () => invoke($0, `f64x2.neg`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -1234567890000000000000000000),
+ value("f64", -1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5235
+assert_return(
+ () => invoke($0, `f64x2.neg`, [f64x2([0.0000000000123456789, 0.0000000000123456789])]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.0000000000123456789),
+ value("f64", -0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5237
+assert_return(
+ () => invoke($0, `f64x2.neg`, [f64x2([123456789, 123456789])]),
+ [new F64x2Pattern(value("f64", -123456789), value("f64", -123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5239
+assert_return(
+ () => invoke($0, `f64x2.neg`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -1234567890000000000000000000),
+ value("f64", -1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5241
+assert_return(
+ () => invoke($0, `f64x2.neg`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -1234567890000000000000000000),
+ value("f64", -1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5243
+assert_return(
+ () => invoke($0, `f64x2.neg`, [f64x2([0.0000000000123456789, 0.0000000000123456789])]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.0000000000123456789),
+ value("f64", -0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5245
+assert_return(
+ () => invoke($0, `f64x2.neg`, [f64x2([123456789.01234567, 123456789.01234567])]),
+ [
+ new F64x2Pattern(
+ value("f64", -123456789.01234567),
+ value("f64", -123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5247
+assert_return(
+ () => invoke($0, `f64x2.neg`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -1234567890123456900000000000),
+ value("f64", -1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5249
+assert_return(
+ () => invoke($0, `f64x2.neg`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -1234567890123456900000000000),
+ value("f64", -1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5251
+assert_return(
+ () => invoke($0, `f64x2.neg`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000012345678901234568),
+ value("f64", -0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5253
+assert_return(
+ () => invoke($0, `f64x2.neg`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -1375488932539311400000000),
+ value("f64", -1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5255
+assert_return(
+ () => invoke($0, `f64x2.neg`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -721152341463170500000000000000),
+ value("f64", -721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5257
+assert_return(
+ () => invoke($0, `f64x2.neg`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -721152341463170500000000000000),
+ value("f64", -721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5259
+assert_return(
+ () => invoke($0, `f64x2.neg`, [f64x2([2623536934927580700, 2623536934927580700])]),
+ [
+ new F64x2Pattern(
+ value("f64", -2623536934927580700),
+ value("f64", -2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5261
+assert_return(
+ () => invoke($0, `f64x2.neg`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -1375488932539311400000000),
+ value("f64", -1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5263
+assert_return(
+ () => invoke($0, `f64x2.neg`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -721152341463170500000000000000),
+ value("f64", -721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5265
+assert_return(
+ () => invoke($0, `f64x2.neg`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -721152341463170500000000000000),
+ value("f64", -721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5267
+assert_return(
+ () => invoke($0, `f64x2.neg`, [f64x2([2623536934927580700, 2623536934927580700])]),
+ [
+ new F64x2Pattern(
+ value("f64", -2623536934927580700),
+ value("f64", -2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5269
+assert_return(
+ () => invoke($0, `f64x2.neg`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -1375488932539311400000000),
+ value("f64", -1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5271
+assert_return(
+ () => invoke($0, `f64x2.neg`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -721152341463170500000000000000),
+ value("f64", -721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5273
+assert_return(
+ () => invoke($0, `f64x2.neg`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -721152341463170500000000000000),
+ value("f64", -721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5275
+assert_return(
+ () => invoke($0, `f64x2.neg`, [f64x2([2623536934927580700, 2623536934927580700])]),
+ [
+ new F64x2Pattern(
+ value("f64", -2623536934927580700),
+ value("f64", -2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5279
+let $1 = instantiate(`(module
+ (func (export "f64x2_add_arith") (result v128)
+ (f64x2.add (v128.const f64x2 nan:0x8000000000000 1.0) (v128.const f64x2 nan 1.0)))
+ (func (export "f64x2_div_mixed") (result v128)
+ (f64x2.div (v128.const f64x2 nan 1.0) (v128.const f64x2 2.0 -nan:0x8000000000000)))
+ (func (export "f64x2_mul_mixed") (result v128)
+ (f64x2.mul (v128.const f64x2 nan:0x8000000000000 1.0) (v128.const f64x2 2.0 nan)))
+ (func (export "f64x2_neg_canon") (result v128)
+ (f64x2.neg (v128.const f64x2 nan 1.0)))
+ (func (export "f64x2_sqrt_canon") (result v128)
+ (f64x2.sqrt (v128.const f64x2 4.0 -nan)))
+ (func (export "f64x2_sub_arith") (result v128)
+ (f64x2.sub (v128.const f64x2 1.0 -1.0) (v128.const f64x2 -nan 1.0)))
+)`);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5294
+assert_return(
+ () => invoke($1, `f64x2_add_arith`, []),
+ [new F64x2Pattern(`arithmetic_nan`, value("f64", 2))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5295
+assert_return(
+ () => invoke($1, `f64x2_div_mixed`, []),
+ [new F64x2Pattern(`canonical_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5296
+assert_return(
+ () => invoke($1, `f64x2_mul_mixed`, []),
+ [new F64x2Pattern(`arithmetic_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5297
+assert_return(
+ () => invoke($1, `f64x2_neg_canon`, []),
+ [new F64x2Pattern(`canonical_nan`, value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5298
+assert_return(
+ () => invoke($1, `f64x2_sqrt_canon`, []),
+ [new F64x2Pattern(value("f64", 2), `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5299
+assert_return(
+ () => invoke($1, `f64x2_sub_arith`, []),
+ [new F64x2Pattern(`canonical_nan`, value("f64", -2))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5302
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (f64x2.neg (i64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5303
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (f64x2.sqrt (i64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5304
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (f64x2.add (i64.const 0) (f64.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5305
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (f64x2.sub (i64.const 0) (f64.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5306
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (f64x2.mul (i64.const 0) (f64.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5307
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (f64x2.div (i64.const 0) (f64.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5311
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f64x2.neg-arg-empty (result v128)
+ (f64x2.neg)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5319
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f64x2.sqrt-arg-empty (result v128)
+ (f64x2.sqrt)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5327
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f64x2.add-1st-arg-empty (result v128)
+ (f64x2.add (v128.const f64x2 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5335
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f64x2.add-arg-empty (result v128)
+ (f64x2.add)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5343
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f64x2.sub-1st-arg-empty (result v128)
+ (f64x2.sub (v128.const f64x2 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5351
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f64x2.sub-arg-empty (result v128)
+ (f64x2.sub)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5359
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f64x2.mul-1st-arg-empty (result v128)
+ (f64x2.mul (v128.const f64x2 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5367
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f64x2.mul-arg-empty (result v128)
+ (f64x2.mul)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5375
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f64x2.div-1st-arg-empty (result v128)
+ (f64x2.div (v128.const f64x2 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5383
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f64x2.div-arg-empty (result v128)
+ (f64x2.div)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5393
+let $2 = instantiate(`(module
+ (func (export "add-sub") (param v128 v128 v128) (result v128)
+ (f64x2.add (f64x2.sub (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "div-add") (param v128 v128 v128) (result v128)
+ (f64x2.div (f64x2.add (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "div-mul") (param v128 v128 v128) (result v128)
+ (f64x2.div (f64x2.mul (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "div-sub") (param v128 v128 v128) (result v128)
+ (f64x2.div (f64x2.sub (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "mul-add") (param v128 v128 v128) (result v128)
+ (f64x2.mul (f64x2.add (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "mul-div") (param v128 v128 v128) (result v128)
+ (f64x2.mul (f64x2.div (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "mul-sub") (param v128 v128 v128) (result v128)
+ (f64x2.mul (f64x2.sub (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "sub-add") (param v128 v128 v128) (result v128)
+ (f64x2.sub (f64x2.add (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "add-neg") (param v128 v128) (result v128)
+ (f64x2.add (f64x2.neg (local.get 0)) (local.get 1)))
+ (func (export "add-sqrt") (param v128 v128) (result v128)
+ (f64x2.add (f64x2.sqrt (local.get 0)) (local.get 1)))
+ (func (export "div-neg") (param v128 v128) (result v128)
+ (f64x2.div (f64x2.neg (local.get 0)) (local.get 1)))
+ (func (export "div-sqrt") (param v128 v128) (result v128)
+ (f64x2.div (f64x2.sqrt (local.get 0)) (local.get 1)))
+ (func (export "mul-neg") (param v128 v128) (result v128)
+ (f64x2.mul (f64x2.neg (local.get 0)) (local.get 1)))
+ (func (export "mul-sqrt") (param v128 v128) (result v128)
+ (f64x2.mul (f64x2.sqrt (local.get 0)) (local.get 1)))
+ (func (export "sub-neg") (param v128 v128) (result v128)
+ (f64x2.sub (f64x2.neg (local.get 0)) (local.get 1)))
+ (func (export "sub-sqrt") (param v128 v128) (result v128)
+ (f64x2.sub (f64x2.sqrt (local.get 0)) (local.get 1)))
+)`);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5428
+assert_return(
+ () => invoke($2, `add-sub`, [
+ f64x2([1.125, 1.125]),
+ f64x2([0.25, 0.25]),
+ f64x2([0.125, 0.125]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5432
+assert_return(
+ () => invoke($2, `div-add`, [
+ f64x2([1.125, 1.125]),
+ f64x2([0.125, 0.125]),
+ f64x2([0.25, 0.25]),
+ ]),
+ [new F64x2Pattern(value("f64", 5), value("f64", 5))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5436
+assert_return(
+ () => invoke($2, `div-mul`, [
+ f64x2([1.125, 1.125]),
+ f64x2([4, 4]),
+ f64x2([0.25, 0.25]),
+ ]),
+ [new F64x2Pattern(value("f64", 18), value("f64", 18))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5440
+assert_return(
+ () => invoke($2, `div-sub`, [
+ f64x2([1.125, 1.125]),
+ f64x2([0.125, 0.125]),
+ f64x2([0.25, 0.25]),
+ ]),
+ [new F64x2Pattern(value("f64", 4), value("f64", 4))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5444
+assert_return(
+ () => invoke($2, `mul-add`, [
+ f64x2([1.25, 1.25]),
+ f64x2([0.25, 0.25]),
+ f64x2([0.25, 0.25]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.375), value("f64", 0.375))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5448
+assert_return(
+ () => invoke($2, `mul-div`, [
+ f64x2([1.125, 1.125]),
+ f64x2([0.125, 0.125]),
+ f64x2([0.25, 0.25]),
+ ]),
+ [new F64x2Pattern(value("f64", 2.25), value("f64", 2.25))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5452
+assert_return(
+ () => invoke($2, `mul-sub`, [
+ f64x2([1.125, 1.125]),
+ f64x2([0.125, 0.125]),
+ f64x2([0.25, 0.25]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.25), value("f64", 0.25))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5456
+assert_return(
+ () => invoke($2, `sub-add`, [
+ f64x2([1.125, 1.125]),
+ f64x2([0.25, 0.25]),
+ f64x2([0.125, 0.125]),
+ ]),
+ [new F64x2Pattern(value("f64", 1.25), value("f64", 1.25))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5460
+assert_return(
+ () => invoke($2, `add-neg`, [f64x2([1.125, 1.125]), f64x2([0.125, 0.125])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5463
+assert_return(
+ () => invoke($2, `add-sqrt`, [f64x2([2.25, 2.25]), f64x2([0.25, 0.25])]),
+ [new F64x2Pattern(value("f64", 1.75), value("f64", 1.75))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5466
+assert_return(
+ () => invoke($2, `div-neg`, [f64x2([1.5, 1.5]), f64x2([0.25, 0.25])]),
+ [new F64x2Pattern(value("f64", -6), value("f64", -6))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5469
+assert_return(
+ () => invoke($2, `div-sqrt`, [f64x2([2.25, 2.25]), f64x2([0.25, 0.25])]),
+ [new F64x2Pattern(value("f64", 6), value("f64", 6))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5472
+assert_return(
+ () => invoke($2, `mul-neg`, [f64x2([1.5, 1.5]), f64x2([0.25, 0.25])]),
+ [new F64x2Pattern(value("f64", -0.375), value("f64", -0.375))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5475
+assert_return(
+ () => invoke($2, `mul-sqrt`, [f64x2([2.25, 2.25]), f64x2([0.25, 0.25])]),
+ [new F64x2Pattern(value("f64", 0.375), value("f64", 0.375))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5478
+assert_return(
+ () => invoke($2, `sub-neg`, [f64x2([1.125, 1.125]), f64x2([0.125, 0.125])]),
+ [new F64x2Pattern(value("f64", -1.25), value("f64", -1.25))],
+);
+
+// ./test/core/simd/simd_f64x2_arith.wast:5481
+assert_return(
+ () => invoke($2, `sub-sqrt`, [f64x2([2.25, 2.25]), f64x2([0.25, 0.25])]),
+ [new F64x2Pattern(value("f64", 1.25), value("f64", 1.25))],
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/simd_f64x2_cmp.wast.js b/js/src/jit-test/tests/wasm/spec/spec/simd_f64x2_cmp.wast.js
new file mode 100644
index 0000000000..81d377b40d
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/simd_f64x2_cmp.wast.js
@@ -0,0 +1,43747 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_f64x2_cmp.wast
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4
+let $0 = instantiate(`(module
+ (func (export "f64x2.eq") (param v128 v128) (result v128) (f64x2.eq (local.get 0) (local.get 1)))
+ (func (export "f64x2.ne") (param v128 v128) (result v128) (f64x2.ne (local.get 0) (local.get 1)))
+ (func (export "f64x2.lt") (param v128 v128) (result v128) (f64x2.lt (local.get 0) (local.get 1)))
+ (func (export "f64x2.le") (param v128 v128) (result v128) (f64x2.le (local.get 0) (local.get 1)))
+ (func (export "f64x2.gt") (param v128 v128) (result v128) (f64x2.gt (local.get 0) (local.get 1)))
+ (func (export "f64x2.ge") (param v128 v128) (result v128) (f64x2.ge (local.get 0) (local.get 1)))
+)`);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:13
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:16
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:19
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:22
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:25
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:28
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:31
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:34
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:37
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:40
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:43
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:46
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:49
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:52
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:55
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:58
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:61
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:64
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:67
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:70
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:73
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:76
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:79
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:82
+assert_return(
+ () => invoke($0, `f64x2.eq`, [f64x2([-Infinity, -Infinity]), f64x2([1, 1])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:85
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:88
+assert_return(
+ () => invoke($0, `f64x2.eq`, [f64x2([-Infinity, -Infinity]), f64x2([-0, -0])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:91
+assert_return(
+ () => invoke($0, `f64x2.eq`, [f64x2([-Infinity, -Infinity]), f64x2([-0.5, -0.5])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:94
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:97
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:100
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:103
+assert_return(
+ () => invoke($0, `f64x2.eq`, [f64x2([-Infinity, -Infinity]), f64x2([0.5, 0.5])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:106
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:109
+assert_return(
+ () => invoke($0, `f64x2.eq`, [f64x2([-Infinity, -Infinity]), f64x2([0, 0])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:112
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:115
+assert_return(
+ () => invoke($0, `f64x2.eq`, [f64x2([-Infinity, -Infinity]), f64x2([-1, -1])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:118
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:121
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:124
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:127
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:130
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:133
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:136
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:139
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:142
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:145
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:148
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:151
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:154
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:157
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:160
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:163
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:166
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:169
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:172
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:175
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:178
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:181
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:184
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:187
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:190
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:193
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([1, 1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:196
+assert_return(
+ () => invoke($0, `f64x2.eq`, [f64x2([1, 1]), f64x2([-Infinity, -Infinity])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:199
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([1, 1]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:202
+assert_return(
+ () => invoke($0, `f64x2.eq`, [f64x2([1, 1]), f64x2([1, 1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:205
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([1, 1]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:208
+assert_return(() => invoke($0, `f64x2.eq`, [f64x2([1, 1]), f64x2([-0, -0])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:211
+assert_return(() => invoke($0, `f64x2.eq`, [f64x2([1, 1]), f64x2([-0.5, -0.5])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:214
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([1, 1]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:217
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([1, 1]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:220
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([1, 1]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:223
+assert_return(() => invoke($0, `f64x2.eq`, [f64x2([1, 1]), f64x2([0.5, 0.5])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:226
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([1, 1]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:229
+assert_return(() => invoke($0, `f64x2.eq`, [f64x2([1, 1]), f64x2([0, 0])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:232
+assert_return(
+ () => invoke($0, `f64x2.eq`, [f64x2([1, 1]), f64x2([Infinity, Infinity])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:235
+assert_return(() => invoke($0, `f64x2.eq`, [f64x2([1, 1]), f64x2([-1, -1])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:238
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([1, 1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:241
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:244
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:247
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:250
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:253
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:256
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:259
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:262
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:265
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:268
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:271
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:274
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:277
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:280
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:283
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:286
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:289
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:292
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:295
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:298
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:301
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:304
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:307
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:310
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:313
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-0, -0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:316
+assert_return(
+ () => invoke($0, `f64x2.eq`, [f64x2([-0, -0]), f64x2([-Infinity, -Infinity])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:319
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-0, -0]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:322
+assert_return(() => invoke($0, `f64x2.eq`, [f64x2([-0, -0]), f64x2([1, 1])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:325
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-0, -0]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:328
+assert_return(
+ () => invoke($0, `f64x2.eq`, [f64x2([-0, -0]), f64x2([-0, -0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:331
+assert_return(
+ () => invoke($0, `f64x2.eq`, [f64x2([-0, -0]), f64x2([-0.5, -0.5])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:334
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-0, -0]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:337
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-0, -0]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:340
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-0, -0]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:343
+assert_return(() => invoke($0, `f64x2.eq`, [f64x2([-0, -0]), f64x2([0.5, 0.5])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:346
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-0, -0]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:349
+assert_return(
+ () => invoke($0, `f64x2.eq`, [f64x2([-0, -0]), f64x2([0, 0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:352
+assert_return(
+ () => invoke($0, `f64x2.eq`, [f64x2([-0, -0]), f64x2([Infinity, Infinity])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:355
+assert_return(() => invoke($0, `f64x2.eq`, [f64x2([-0, -0]), f64x2([-1, -1])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:358
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-0, -0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:361
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:364
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:367
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:370
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:373
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:376
+assert_return(
+ () => invoke($0, `f64x2.eq`, [f64x2([-0.5, -0.5]), f64x2([-Infinity, -Infinity])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:379
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:382
+assert_return(() => invoke($0, `f64x2.eq`, [f64x2([-0.5, -0.5]), f64x2([1, 1])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:385
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:388
+assert_return(
+ () => invoke($0, `f64x2.eq`, [f64x2([-0.5, -0.5]), f64x2([-0, -0])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:391
+assert_return(
+ () => invoke($0, `f64x2.eq`, [f64x2([-0.5, -0.5]), f64x2([-0.5, -0.5])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:394
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:397
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:400
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:403
+assert_return(
+ () => invoke($0, `f64x2.eq`, [f64x2([-0.5, -0.5]), f64x2([0.5, 0.5])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:406
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:409
+assert_return(() => invoke($0, `f64x2.eq`, [f64x2([-0.5, -0.5]), f64x2([0, 0])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:412
+assert_return(
+ () => invoke($0, `f64x2.eq`, [f64x2([-0.5, -0.5]), f64x2([Infinity, Infinity])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:415
+assert_return(
+ () => invoke($0, `f64x2.eq`, [f64x2([-0.5, -0.5]), f64x2([-1, -1])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:418
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:421
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:424
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:427
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:430
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:433
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:436
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:439
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:442
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:445
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:448
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:451
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:454
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:457
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:460
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:463
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:466
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:469
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:472
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:475
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:478
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:481
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:484
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:487
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:490
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:493
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:496
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:499
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:502
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:505
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:508
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:511
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:514
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:517
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:520
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:523
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:526
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:529
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:532
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:535
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:538
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:541
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:544
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:547
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:550
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:553
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:556
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:559
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:562
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:565
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:568
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:571
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:574
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:577
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:580
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:583
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:586
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:589
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:592
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:595
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:598
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:601
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:604
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:607
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:610
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:613
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:616
+assert_return(
+ () => invoke($0, `f64x2.eq`, [f64x2([0.5, 0.5]), f64x2([-Infinity, -Infinity])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:619
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([0.5, 0.5]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:622
+assert_return(() => invoke($0, `f64x2.eq`, [f64x2([0.5, 0.5]), f64x2([1, 1])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:625
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:628
+assert_return(() => invoke($0, `f64x2.eq`, [f64x2([0.5, 0.5]), f64x2([-0, -0])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:631
+assert_return(
+ () => invoke($0, `f64x2.eq`, [f64x2([0.5, 0.5]), f64x2([-0.5, -0.5])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:634
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:637
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:640
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:643
+assert_return(
+ () => invoke($0, `f64x2.eq`, [f64x2([0.5, 0.5]), f64x2([0.5, 0.5])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:646
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([0.5, 0.5]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:649
+assert_return(() => invoke($0, `f64x2.eq`, [f64x2([0.5, 0.5]), f64x2([0, 0])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:652
+assert_return(
+ () => invoke($0, `f64x2.eq`, [f64x2([0.5, 0.5]), f64x2([Infinity, Infinity])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:655
+assert_return(() => invoke($0, `f64x2.eq`, [f64x2([0.5, 0.5]), f64x2([-1, -1])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:658
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:661
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:664
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:667
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:670
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:673
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:676
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:679
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:682
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:685
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:688
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:691
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:694
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:697
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:700
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:703
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:706
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:709
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:712
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:715
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:718
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:721
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:724
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:727
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:730
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:733
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([0, 0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:736
+assert_return(
+ () => invoke($0, `f64x2.eq`, [f64x2([0, 0]), f64x2([-Infinity, -Infinity])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:739
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([0, 0]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:742
+assert_return(() => invoke($0, `f64x2.eq`, [f64x2([0, 0]), f64x2([1, 1])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:745
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([0, 0]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:748
+assert_return(
+ () => invoke($0, `f64x2.eq`, [f64x2([0, 0]), f64x2([-0, -0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:751
+assert_return(() => invoke($0, `f64x2.eq`, [f64x2([0, 0]), f64x2([-0.5, -0.5])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:754
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([0, 0]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:757
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([0, 0]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:760
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([0, 0]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:763
+assert_return(() => invoke($0, `f64x2.eq`, [f64x2([0, 0]), f64x2([0.5, 0.5])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:766
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([0, 0]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:769
+assert_return(
+ () => invoke($0, `f64x2.eq`, [f64x2([0, 0]), f64x2([0, 0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:772
+assert_return(
+ () => invoke($0, `f64x2.eq`, [f64x2([0, 0]), f64x2([Infinity, Infinity])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:775
+assert_return(() => invoke($0, `f64x2.eq`, [f64x2([0, 0]), f64x2([-1, -1])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:778
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([0, 0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:781
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:784
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:787
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:790
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:793
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:796
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:799
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:802
+assert_return(
+ () => invoke($0, `f64x2.eq`, [f64x2([Infinity, Infinity]), f64x2([1, 1])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:805
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:808
+assert_return(
+ () => invoke($0, `f64x2.eq`, [f64x2([Infinity, Infinity]), f64x2([-0, -0])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:811
+assert_return(
+ () => invoke($0, `f64x2.eq`, [f64x2([Infinity, Infinity]), f64x2([-0.5, -0.5])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:814
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:817
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:820
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:823
+assert_return(
+ () => invoke($0, `f64x2.eq`, [f64x2([Infinity, Infinity]), f64x2([0.5, 0.5])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:826
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:829
+assert_return(
+ () => invoke($0, `f64x2.eq`, [f64x2([Infinity, Infinity]), f64x2([0, 0])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:832
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:835
+assert_return(
+ () => invoke($0, `f64x2.eq`, [f64x2([Infinity, Infinity]), f64x2([-1, -1])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:838
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:841
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:844
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:847
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:850
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:853
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-1, -1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:856
+assert_return(
+ () => invoke($0, `f64x2.eq`, [f64x2([-1, -1]), f64x2([-Infinity, -Infinity])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:859
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-1, -1]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:862
+assert_return(() => invoke($0, `f64x2.eq`, [f64x2([-1, -1]), f64x2([1, 1])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:865
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-1, -1]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:868
+assert_return(() => invoke($0, `f64x2.eq`, [f64x2([-1, -1]), f64x2([-0, -0])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:871
+assert_return(
+ () => invoke($0, `f64x2.eq`, [f64x2([-1, -1]), f64x2([-0.5, -0.5])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:874
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-1, -1]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:877
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-1, -1]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:880
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-1, -1]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:883
+assert_return(() => invoke($0, `f64x2.eq`, [f64x2([-1, -1]), f64x2([0.5, 0.5])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:886
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-1, -1]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:889
+assert_return(() => invoke($0, `f64x2.eq`, [f64x2([-1, -1]), f64x2([0, 0])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:892
+assert_return(
+ () => invoke($0, `f64x2.eq`, [f64x2([-1, -1]), f64x2([Infinity, Infinity])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:895
+assert_return(
+ () => invoke($0, `f64x2.eq`, [f64x2([-1, -1]), f64x2([-1, -1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:898
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-1, -1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:901
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:904
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:907
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:910
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([-1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:913
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:916
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:919
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:922
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:925
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:928
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:931
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:934
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:937
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:940
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:943
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:946
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:949
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:952
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:955
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:958
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:961
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:964
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:967
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:970
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:973
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:976
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:979
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:982
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:985
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ f64x2([1234567890123456800, 1234567890123456800]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:988
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:991
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:994
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:997
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1000
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ f64x2([1234567890123456800, 1234567890123456800]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1003
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1006
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1009
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1012
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1015
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([1234567890123456800, 1234567890123456800]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1018
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1021
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1024
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1027
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1030
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([1234567890123456800, 1234567890123456800]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1033
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([1234567890123456800, 1234567890123456800]),
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1036
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([1234567890123456800, 1234567890123456800]),
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1039
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([1234567890123456800, 1234567890123456800]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1042
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([1234567890123456800, 1234567890123456800]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1045
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ f64x2([1234567890123456800, 1234567890123456800]),
+ f64x2([1234567890123456800, 1234567890123456800]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1048
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1051
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1054
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1057
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1060
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1063
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1066
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1069
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1072
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1075
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1078
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1081
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1084
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1087
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1090
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1093
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1096
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1099
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1102
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1105
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1108
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1111
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1114
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1117
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1120
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1123
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1126
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1129
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1132
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1135
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1138
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1141
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1144
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1147
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1150
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1153
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1156
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1159
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1162
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1165
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1168
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1171
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1174
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1177
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1180
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1183
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1186
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1189
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1192
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1195
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1198
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1201
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1204
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1207
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1210
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1213
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1216
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1219
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1222
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1225
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1228
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1231
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1234
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1237
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1240
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1243
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1246
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1249
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1252
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1255
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1258
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1261
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1264
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1267
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1270
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1273
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1276
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1279
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1282
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1285
+assert_return(
+ () => invoke($0, `f64x2.eq`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1288
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1291
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1294
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1297
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1300
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1303
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1306
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1309
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1312
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1315
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1318
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1321
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1324
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1327
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1330
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1333
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1336
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1339
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1342
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1345
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1348
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1351
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1354
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1357
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([-Infinity, -Infinity]), f64x2([1, 1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1360
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1363
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([-Infinity, -Infinity]), f64x2([-0, -0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1366
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([-Infinity, -Infinity]), f64x2([-0.5, -0.5])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1369
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1372
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1375
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1378
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([-Infinity, -Infinity]), f64x2([0.5, 0.5])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1381
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1384
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([-Infinity, -Infinity]), f64x2([0, 0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1387
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1390
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([-Infinity, -Infinity]), f64x2([-1, -1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1393
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1396
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1399
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1402
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1405
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1408
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1411
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1414
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1417
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1420
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1423
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1426
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1429
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1432
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1435
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1438
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1441
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1444
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1447
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1450
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1453
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1456
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1459
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1462
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1465
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1468
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([1, 1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1471
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([1, 1]), f64x2([-Infinity, -Infinity])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1474
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([1, 1]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1477
+assert_return(() => invoke($0, `f64x2.ne`, [f64x2([1, 1]), f64x2([1, 1])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1480
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([1, 1]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1483
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([1, 1]), f64x2([-0, -0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1486
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([1, 1]), f64x2([-0.5, -0.5])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1489
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([1, 1]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1492
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([1, 1]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1495
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([1, 1]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1498
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([1, 1]), f64x2([0.5, 0.5])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1501
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([1, 1]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1504
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([1, 1]), f64x2([0, 0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1507
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([1, 1]), f64x2([Infinity, Infinity])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1510
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([1, 1]), f64x2([-1, -1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1513
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([1, 1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1516
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1519
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1522
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1525
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1528
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1531
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1534
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1537
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1540
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1543
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1546
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1549
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1552
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1555
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1558
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1561
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1564
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1567
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1570
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1573
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1576
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1579
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1582
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1585
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1588
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-0, -0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1591
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([-0, -0]), f64x2([-Infinity, -Infinity])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1594
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-0, -0]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1597
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([-0, -0]), f64x2([1, 1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1600
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-0, -0]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1603
+assert_return(() => invoke($0, `f64x2.ne`, [f64x2([-0, -0]), f64x2([-0, -0])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1606
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([-0, -0]), f64x2([-0.5, -0.5])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1609
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-0, -0]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1612
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-0, -0]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1615
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-0, -0]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1618
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([-0, -0]), f64x2([0.5, 0.5])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1621
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-0, -0]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1624
+assert_return(() => invoke($0, `f64x2.ne`, [f64x2([-0, -0]), f64x2([0, 0])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1627
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([-0, -0]), f64x2([Infinity, Infinity])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1630
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([-0, -0]), f64x2([-1, -1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1633
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-0, -0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1636
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1639
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1642
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1645
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1648
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1651
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([-0.5, -0.5]), f64x2([-Infinity, -Infinity])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1654
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1657
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([-0.5, -0.5]), f64x2([1, 1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1660
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1663
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([-0.5, -0.5]), f64x2([-0, -0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1666
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([-0.5, -0.5]), f64x2([-0.5, -0.5])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1669
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1672
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1675
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1678
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([-0.5, -0.5]), f64x2([0.5, 0.5])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1681
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1684
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([-0.5, -0.5]), f64x2([0, 0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1687
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([-0.5, -0.5]), f64x2([Infinity, Infinity])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1690
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([-0.5, -0.5]), f64x2([-1, -1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1693
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1696
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1699
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1702
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1705
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1708
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1711
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1714
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1717
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1720
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1723
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1726
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1729
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1732
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1735
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1738
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1741
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1744
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1747
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1750
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1753
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1756
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1759
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1762
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1765
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1768
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1771
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1774
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1777
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1780
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1783
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1786
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1789
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1792
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1795
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1798
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1801
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1804
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1807
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1810
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1813
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1816
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1819
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1822
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1825
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1828
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1831
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1834
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1837
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1840
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1843
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1846
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1849
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1852
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1855
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1858
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1861
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1864
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1867
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1870
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1873
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1876
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1879
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1882
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1885
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1888
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1891
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([0.5, 0.5]), f64x2([-Infinity, -Infinity])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1894
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([0.5, 0.5]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1897
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([0.5, 0.5]), f64x2([1, 1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1900
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1903
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([0.5, 0.5]), f64x2([-0, -0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1906
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([0.5, 0.5]), f64x2([-0.5, -0.5])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1909
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1912
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1915
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1918
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([0.5, 0.5]), f64x2([0.5, 0.5])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1921
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([0.5, 0.5]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1924
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([0.5, 0.5]), f64x2([0, 0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1927
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([0.5, 0.5]), f64x2([Infinity, Infinity])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1930
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([0.5, 0.5]), f64x2([-1, -1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1933
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1936
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1939
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1942
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1945
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1948
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1951
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1954
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1957
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1960
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1963
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1966
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1969
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1972
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1975
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1978
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1981
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1984
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1987
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1990
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1993
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1996
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:1999
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2002
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2005
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2008
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([0, 0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2011
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([0, 0]), f64x2([-Infinity, -Infinity])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2014
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([0, 0]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2017
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([0, 0]), f64x2([1, 1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2020
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([0, 0]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2023
+assert_return(() => invoke($0, `f64x2.ne`, [f64x2([0, 0]), f64x2([-0, -0])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2026
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([0, 0]), f64x2([-0.5, -0.5])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2029
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([0, 0]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2032
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([0, 0]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2035
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([0, 0]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2038
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([0, 0]), f64x2([0.5, 0.5])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2041
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([0, 0]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2044
+assert_return(() => invoke($0, `f64x2.ne`, [f64x2([0, 0]), f64x2([0, 0])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2047
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([0, 0]), f64x2([Infinity, Infinity])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2050
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([0, 0]), f64x2([-1, -1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2053
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([0, 0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2056
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2059
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2062
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2065
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2068
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2071
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2074
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2077
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([Infinity, Infinity]), f64x2([1, 1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2080
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2083
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([Infinity, Infinity]), f64x2([-0, -0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2086
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([Infinity, Infinity]), f64x2([-0.5, -0.5])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2089
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2092
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2095
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2098
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([Infinity, Infinity]), f64x2([0.5, 0.5])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2101
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2104
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([Infinity, Infinity]), f64x2([0, 0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2107
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2110
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([Infinity, Infinity]), f64x2([-1, -1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2113
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2116
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2119
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2122
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2125
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2128
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-1, -1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2131
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([-1, -1]), f64x2([-Infinity, -Infinity])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2134
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-1, -1]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2137
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([-1, -1]), f64x2([1, 1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2140
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-1, -1]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2143
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([-1, -1]), f64x2([-0, -0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2146
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([-1, -1]), f64x2([-0.5, -0.5])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2149
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-1, -1]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2152
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-1, -1]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2155
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-1, -1]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2158
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([-1, -1]), f64x2([0.5, 0.5])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2161
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-1, -1]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2164
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([-1, -1]), f64x2([0, 0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2167
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([-1, -1]), f64x2([Infinity, Infinity])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2170
+assert_return(() => invoke($0, `f64x2.ne`, [f64x2([-1, -1]), f64x2([-1, -1])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2173
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-1, -1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2176
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2179
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2182
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2185
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([-1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2188
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2191
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2194
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2197
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2200
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2203
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2206
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2209
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2212
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2215
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2218
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2221
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2224
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2227
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2230
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2233
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2236
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2239
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2242
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2245
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2248
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2251
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2254
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2257
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2260
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ f64x2([1234567890123456800, 1234567890123456800]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2263
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2266
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2269
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2272
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2275
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ f64x2([1234567890123456800, 1234567890123456800]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2278
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2281
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2284
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2287
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2290
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([1234567890123456800, 1234567890123456800]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2293
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2296
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2299
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2302
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2305
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([1234567890123456800, 1234567890123456800]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2308
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([1234567890123456800, 1234567890123456800]),
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2311
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([1234567890123456800, 1234567890123456800]),
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2314
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([1234567890123456800, 1234567890123456800]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2317
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([1234567890123456800, 1234567890123456800]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2320
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ f64x2([1234567890123456800, 1234567890123456800]),
+ f64x2([1234567890123456800, 1234567890123456800]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2323
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2326
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2329
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2332
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2335
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2338
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2341
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2344
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2347
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2350
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2353
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2356
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2359
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2362
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2365
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2368
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2371
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2374
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2377
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2380
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2383
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2386
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2389
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2392
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2395
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2398
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2401
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2404
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2407
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2410
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2413
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2416
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2419
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2422
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2425
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2428
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2431
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2434
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2437
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2440
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2443
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2446
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2449
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2452
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2455
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2458
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2461
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2464
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2467
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2470
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2473
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2476
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2479
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2482
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2485
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2488
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2491
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2494
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2497
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2500
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2503
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2506
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2509
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2512
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2515
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2518
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2521
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2524
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2527
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2530
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2533
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2536
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2539
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2542
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2545
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2548
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2551
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2554
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2557
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2560
+assert_return(
+ () => invoke($0, `f64x2.ne`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2563
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2566
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2569
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2572
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2575
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2578
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2581
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2584
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2587
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2590
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2593
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2596
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2599
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2602
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2605
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2608
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2611
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2614
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2617
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2620
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2623
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2626
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2629
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2632
+assert_return(
+ () => invoke($0, `f64x2.lt`, [f64x2([-Infinity, -Infinity]), f64x2([1, 1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2635
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2638
+assert_return(
+ () => invoke($0, `f64x2.lt`, [f64x2([-Infinity, -Infinity]), f64x2([-0, -0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2641
+assert_return(
+ () => invoke($0, `f64x2.lt`, [f64x2([-Infinity, -Infinity]), f64x2([-0.5, -0.5])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2644
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2647
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2650
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2653
+assert_return(
+ () => invoke($0, `f64x2.lt`, [f64x2([-Infinity, -Infinity]), f64x2([0.5, 0.5])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2656
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2659
+assert_return(
+ () => invoke($0, `f64x2.lt`, [f64x2([-Infinity, -Infinity]), f64x2([0, 0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2662
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2665
+assert_return(
+ () => invoke($0, `f64x2.lt`, [f64x2([-Infinity, -Infinity]), f64x2([-1, -1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2668
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2671
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2674
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2677
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2680
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2683
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2686
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2689
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2692
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2695
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2698
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2701
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2704
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2707
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2710
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2713
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2716
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2719
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2722
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2725
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2728
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2731
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2734
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2737
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2740
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2743
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([1, 1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2746
+assert_return(
+ () => invoke($0, `f64x2.lt`, [f64x2([1, 1]), f64x2([-Infinity, -Infinity])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2749
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([1, 1]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2752
+assert_return(() => invoke($0, `f64x2.lt`, [f64x2([1, 1]), f64x2([1, 1])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2755
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([1, 1]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2758
+assert_return(() => invoke($0, `f64x2.lt`, [f64x2([1, 1]), f64x2([-0, -0])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2761
+assert_return(() => invoke($0, `f64x2.lt`, [f64x2([1, 1]), f64x2([-0.5, -0.5])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2764
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([1, 1]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2767
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([1, 1]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2770
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([1, 1]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2773
+assert_return(() => invoke($0, `f64x2.lt`, [f64x2([1, 1]), f64x2([0.5, 0.5])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2776
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([1, 1]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2779
+assert_return(() => invoke($0, `f64x2.lt`, [f64x2([1, 1]), f64x2([0, 0])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2782
+assert_return(
+ () => invoke($0, `f64x2.lt`, [f64x2([1, 1]), f64x2([Infinity, Infinity])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2785
+assert_return(() => invoke($0, `f64x2.lt`, [f64x2([1, 1]), f64x2([-1, -1])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2788
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([1, 1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2791
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2794
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2797
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2800
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2803
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2806
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2809
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2812
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2815
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2818
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2821
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2824
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2827
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2830
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2833
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2836
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2839
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2842
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2845
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2848
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2851
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2854
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2857
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2860
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2863
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-0, -0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2866
+assert_return(
+ () => invoke($0, `f64x2.lt`, [f64x2([-0, -0]), f64x2([-Infinity, -Infinity])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2869
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-0, -0]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2872
+assert_return(
+ () => invoke($0, `f64x2.lt`, [f64x2([-0, -0]), f64x2([1, 1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2875
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-0, -0]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2878
+assert_return(() => invoke($0, `f64x2.lt`, [f64x2([-0, -0]), f64x2([-0, -0])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2881
+assert_return(
+ () => invoke($0, `f64x2.lt`, [f64x2([-0, -0]), f64x2([-0.5, -0.5])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2884
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-0, -0]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2887
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-0, -0]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2890
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-0, -0]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2893
+assert_return(
+ () => invoke($0, `f64x2.lt`, [f64x2([-0, -0]), f64x2([0.5, 0.5])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2896
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-0, -0]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2899
+assert_return(() => invoke($0, `f64x2.lt`, [f64x2([-0, -0]), f64x2([0, 0])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2902
+assert_return(
+ () => invoke($0, `f64x2.lt`, [f64x2([-0, -0]), f64x2([Infinity, Infinity])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2905
+assert_return(() => invoke($0, `f64x2.lt`, [f64x2([-0, -0]), f64x2([-1, -1])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2908
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-0, -0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2911
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2914
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2917
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2920
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2923
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2926
+assert_return(
+ () => invoke($0, `f64x2.lt`, [f64x2([-0.5, -0.5]), f64x2([-Infinity, -Infinity])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2929
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2932
+assert_return(
+ () => invoke($0, `f64x2.lt`, [f64x2([-0.5, -0.5]), f64x2([1, 1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2935
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2938
+assert_return(
+ () => invoke($0, `f64x2.lt`, [f64x2([-0.5, -0.5]), f64x2([-0, -0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2941
+assert_return(
+ () => invoke($0, `f64x2.lt`, [f64x2([-0.5, -0.5]), f64x2([-0.5, -0.5])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2944
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2947
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2950
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2953
+assert_return(
+ () => invoke($0, `f64x2.lt`, [f64x2([-0.5, -0.5]), f64x2([0.5, 0.5])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2956
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2959
+assert_return(
+ () => invoke($0, `f64x2.lt`, [f64x2([-0.5, -0.5]), f64x2([0, 0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2962
+assert_return(
+ () => invoke($0, `f64x2.lt`, [f64x2([-0.5, -0.5]), f64x2([Infinity, Infinity])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2965
+assert_return(
+ () => invoke($0, `f64x2.lt`, [f64x2([-0.5, -0.5]), f64x2([-1, -1])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2968
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2971
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2974
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2977
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2980
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2983
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2986
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2989
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2992
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2995
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:2998
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3001
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3004
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3007
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3010
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3013
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3016
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3019
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3022
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3025
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3028
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3031
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3034
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3037
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3040
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3043
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3046
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3049
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3052
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3055
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3058
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3061
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3064
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3067
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3070
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3073
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3076
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3079
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3082
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3085
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3088
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3091
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3094
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3097
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3100
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3103
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3106
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3109
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3112
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3115
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3118
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3121
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3124
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3127
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3130
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3133
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3136
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3139
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3142
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3145
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3148
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3151
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3154
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3157
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3160
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3163
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3166
+assert_return(
+ () => invoke($0, `f64x2.lt`, [f64x2([0.5, 0.5]), f64x2([-Infinity, -Infinity])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3169
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([0.5, 0.5]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3172
+assert_return(
+ () => invoke($0, `f64x2.lt`, [f64x2([0.5, 0.5]), f64x2([1, 1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3175
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3178
+assert_return(() => invoke($0, `f64x2.lt`, [f64x2([0.5, 0.5]), f64x2([-0, -0])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3181
+assert_return(
+ () => invoke($0, `f64x2.lt`, [f64x2([0.5, 0.5]), f64x2([-0.5, -0.5])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3184
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3187
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3190
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3193
+assert_return(
+ () => invoke($0, `f64x2.lt`, [f64x2([0.5, 0.5]), f64x2([0.5, 0.5])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3196
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([0.5, 0.5]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3199
+assert_return(() => invoke($0, `f64x2.lt`, [f64x2([0.5, 0.5]), f64x2([0, 0])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3202
+assert_return(
+ () => invoke($0, `f64x2.lt`, [f64x2([0.5, 0.5]), f64x2([Infinity, Infinity])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3205
+assert_return(() => invoke($0, `f64x2.lt`, [f64x2([0.5, 0.5]), f64x2([-1, -1])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3208
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3211
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3214
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3217
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3220
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3223
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3226
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3229
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3232
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3235
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3238
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3241
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3244
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3247
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3250
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3253
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3256
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3259
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3262
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3265
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3268
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3271
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3274
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3277
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3280
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3283
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([0, 0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3286
+assert_return(
+ () => invoke($0, `f64x2.lt`, [f64x2([0, 0]), f64x2([-Infinity, -Infinity])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3289
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([0, 0]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3292
+assert_return(
+ () => invoke($0, `f64x2.lt`, [f64x2([0, 0]), f64x2([1, 1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3295
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([0, 0]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3298
+assert_return(() => invoke($0, `f64x2.lt`, [f64x2([0, 0]), f64x2([-0, -0])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3301
+assert_return(() => invoke($0, `f64x2.lt`, [f64x2([0, 0]), f64x2([-0.5, -0.5])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3304
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([0, 0]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3307
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([0, 0]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3310
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([0, 0]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3313
+assert_return(
+ () => invoke($0, `f64x2.lt`, [f64x2([0, 0]), f64x2([0.5, 0.5])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3316
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([0, 0]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3319
+assert_return(() => invoke($0, `f64x2.lt`, [f64x2([0, 0]), f64x2([0, 0])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3322
+assert_return(
+ () => invoke($0, `f64x2.lt`, [f64x2([0, 0]), f64x2([Infinity, Infinity])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3325
+assert_return(() => invoke($0, `f64x2.lt`, [f64x2([0, 0]), f64x2([-1, -1])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3328
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([0, 0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3331
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3334
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3337
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3340
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3343
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3346
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3349
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3352
+assert_return(
+ () => invoke($0, `f64x2.lt`, [f64x2([Infinity, Infinity]), f64x2([1, 1])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3355
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3358
+assert_return(
+ () => invoke($0, `f64x2.lt`, [f64x2([Infinity, Infinity]), f64x2([-0, -0])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3361
+assert_return(
+ () => invoke($0, `f64x2.lt`, [f64x2([Infinity, Infinity]), f64x2([-0.5, -0.5])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3364
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3367
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3370
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3373
+assert_return(
+ () => invoke($0, `f64x2.lt`, [f64x2([Infinity, Infinity]), f64x2([0.5, 0.5])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3376
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3379
+assert_return(
+ () => invoke($0, `f64x2.lt`, [f64x2([Infinity, Infinity]), f64x2([0, 0])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3382
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3385
+assert_return(
+ () => invoke($0, `f64x2.lt`, [f64x2([Infinity, Infinity]), f64x2([-1, -1])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3388
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3391
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3394
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3397
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3400
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3403
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-1, -1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3406
+assert_return(
+ () => invoke($0, `f64x2.lt`, [f64x2([-1, -1]), f64x2([-Infinity, -Infinity])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3409
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-1, -1]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3412
+assert_return(
+ () => invoke($0, `f64x2.lt`, [f64x2([-1, -1]), f64x2([1, 1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3415
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-1, -1]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3418
+assert_return(
+ () => invoke($0, `f64x2.lt`, [f64x2([-1, -1]), f64x2([-0, -0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3421
+assert_return(
+ () => invoke($0, `f64x2.lt`, [f64x2([-1, -1]), f64x2([-0.5, -0.5])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3424
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-1, -1]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3427
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-1, -1]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3430
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-1, -1]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3433
+assert_return(
+ () => invoke($0, `f64x2.lt`, [f64x2([-1, -1]), f64x2([0.5, 0.5])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3436
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-1, -1]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3439
+assert_return(
+ () => invoke($0, `f64x2.lt`, [f64x2([-1, -1]), f64x2([0, 0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3442
+assert_return(
+ () => invoke($0, `f64x2.lt`, [f64x2([-1, -1]), f64x2([Infinity, Infinity])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3445
+assert_return(() => invoke($0, `f64x2.lt`, [f64x2([-1, -1]), f64x2([-1, -1])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3448
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-1, -1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3451
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3454
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3457
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3460
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([-1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3463
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3466
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3469
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3472
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3475
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3478
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3481
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3484
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3487
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3490
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3493
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3496
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3499
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3502
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3505
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3508
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3511
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3514
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3517
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3520
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3523
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3526
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3529
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3532
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3535
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ f64x2([1234567890123456800, 1234567890123456800]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3538
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3541
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3544
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3547
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3550
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ f64x2([1234567890123456800, 1234567890123456800]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3553
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3556
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3559
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3562
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3565
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([1234567890123456800, 1234567890123456800]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3568
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3571
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3574
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3577
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3580
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([1234567890123456800, 1234567890123456800]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3583
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([1234567890123456800, 1234567890123456800]),
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3586
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([1234567890123456800, 1234567890123456800]),
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3589
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([1234567890123456800, 1234567890123456800]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3592
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([1234567890123456800, 1234567890123456800]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3595
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ f64x2([1234567890123456800, 1234567890123456800]),
+ f64x2([1234567890123456800, 1234567890123456800]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3598
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3601
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3604
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3607
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3610
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3613
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3616
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3619
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3622
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3625
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3628
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3631
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3634
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3637
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3640
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3643
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3646
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3649
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3652
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3655
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3658
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3661
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3664
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3667
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3670
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3673
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3676
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3679
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3682
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3685
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3688
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3691
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3694
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3697
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3700
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3703
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3706
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3709
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3712
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3715
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3718
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3721
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3724
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3727
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3730
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3733
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3736
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3739
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3742
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3745
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3748
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3751
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3754
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3757
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3760
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3763
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3766
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3769
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3772
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3775
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3778
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3781
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3784
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3787
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3790
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3793
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3796
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3799
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3802
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3805
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3808
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3811
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3814
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3817
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3820
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3823
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3826
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3829
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3832
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3835
+assert_return(
+ () => invoke($0, `f64x2.lt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3838
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3841
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3844
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3847
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3850
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3853
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3856
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3859
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3862
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3865
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3868
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3871
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3874
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3877
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3880
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3883
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3886
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3889
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3892
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3895
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3898
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3901
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3904
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3907
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([-Infinity, -Infinity]), f64x2([1, 1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3910
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3913
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([-Infinity, -Infinity]), f64x2([-0, -0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3916
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([-Infinity, -Infinity]), f64x2([-0.5, -0.5])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3919
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3922
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3925
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3928
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([-Infinity, -Infinity]), f64x2([0.5, 0.5])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3931
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3934
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([-Infinity, -Infinity]), f64x2([0, 0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3937
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3940
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([-Infinity, -Infinity]), f64x2([-1, -1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3943
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3946
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3949
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3952
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3955
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3958
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3961
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3964
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3967
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3970
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3973
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3976
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3979
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3982
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3985
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3988
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3991
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3994
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:3997
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4000
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4003
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4006
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4009
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4012
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4015
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4018
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([1, 1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4021
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([1, 1]), f64x2([-Infinity, -Infinity])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4024
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([1, 1]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4027
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([1, 1]), f64x2([1, 1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4030
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([1, 1]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4033
+assert_return(() => invoke($0, `f64x2.le`, [f64x2([1, 1]), f64x2([-0, -0])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4036
+assert_return(() => invoke($0, `f64x2.le`, [f64x2([1, 1]), f64x2([-0.5, -0.5])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4039
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([1, 1]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4042
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([1, 1]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4045
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([1, 1]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4048
+assert_return(() => invoke($0, `f64x2.le`, [f64x2([1, 1]), f64x2([0.5, 0.5])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4051
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([1, 1]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4054
+assert_return(() => invoke($0, `f64x2.le`, [f64x2([1, 1]), f64x2([0, 0])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4057
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([1, 1]), f64x2([Infinity, Infinity])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4060
+assert_return(() => invoke($0, `f64x2.le`, [f64x2([1, 1]), f64x2([-1, -1])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4063
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([1, 1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4066
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4069
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4072
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4075
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4078
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4081
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4084
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4087
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4090
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4093
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4096
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4099
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4102
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4105
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4108
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4111
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4114
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4117
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4120
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4123
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4126
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4129
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4132
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4135
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4138
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-0, -0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4141
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([-0, -0]), f64x2([-Infinity, -Infinity])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4144
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-0, -0]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4147
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([-0, -0]), f64x2([1, 1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4150
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-0, -0]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4153
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([-0, -0]), f64x2([-0, -0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4156
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([-0, -0]), f64x2([-0.5, -0.5])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4159
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-0, -0]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4162
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-0, -0]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4165
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-0, -0]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4168
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([-0, -0]), f64x2([0.5, 0.5])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4171
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-0, -0]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4174
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([-0, -0]), f64x2([0, 0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4177
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([-0, -0]), f64x2([Infinity, Infinity])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4180
+assert_return(() => invoke($0, `f64x2.le`, [f64x2([-0, -0]), f64x2([-1, -1])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4183
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-0, -0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4186
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4189
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4192
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4195
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4198
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4201
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([-0.5, -0.5]), f64x2([-Infinity, -Infinity])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4204
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4207
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([-0.5, -0.5]), f64x2([1, 1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4210
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4213
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([-0.5, -0.5]), f64x2([-0, -0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4216
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([-0.5, -0.5]), f64x2([-0.5, -0.5])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4219
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4222
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4225
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4228
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([-0.5, -0.5]), f64x2([0.5, 0.5])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4231
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4234
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([-0.5, -0.5]), f64x2([0, 0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4237
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([-0.5, -0.5]), f64x2([Infinity, Infinity])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4240
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([-0.5, -0.5]), f64x2([-1, -1])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4243
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4246
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4249
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4252
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4255
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4258
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4261
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4264
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4267
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4270
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4273
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4276
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4279
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4282
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4285
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4288
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4291
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4294
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4297
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4300
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4303
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4306
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4309
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4312
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4315
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4318
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4321
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4324
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4327
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4330
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4333
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4336
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4339
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4342
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4345
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4348
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4351
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4354
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4357
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4360
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4363
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4366
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4369
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4372
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4375
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4378
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4381
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4384
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4387
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4390
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4393
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4396
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4399
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4402
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4405
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4408
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4411
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4414
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4417
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4420
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4423
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4426
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4429
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4432
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4435
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4438
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4441
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([0.5, 0.5]), f64x2([-Infinity, -Infinity])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4444
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([0.5, 0.5]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4447
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([0.5, 0.5]), f64x2([1, 1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4450
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4453
+assert_return(() => invoke($0, `f64x2.le`, [f64x2([0.5, 0.5]), f64x2([-0, -0])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4456
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([0.5, 0.5]), f64x2([-0.5, -0.5])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4459
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4462
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4465
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4468
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([0.5, 0.5]), f64x2([0.5, 0.5])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4471
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([0.5, 0.5]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4474
+assert_return(() => invoke($0, `f64x2.le`, [f64x2([0.5, 0.5]), f64x2([0, 0])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4477
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([0.5, 0.5]), f64x2([Infinity, Infinity])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4480
+assert_return(() => invoke($0, `f64x2.le`, [f64x2([0.5, 0.5]), f64x2([-1, -1])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4483
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4486
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4489
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4492
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4495
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4498
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4501
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4504
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4507
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4510
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4513
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4516
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4519
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4522
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4525
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4528
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4531
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4534
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4537
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4540
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4543
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4546
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4549
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4552
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4555
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4558
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([0, 0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4561
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([0, 0]), f64x2([-Infinity, -Infinity])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4564
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([0, 0]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4567
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([0, 0]), f64x2([1, 1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4570
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([0, 0]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4573
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([0, 0]), f64x2([-0, -0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4576
+assert_return(() => invoke($0, `f64x2.le`, [f64x2([0, 0]), f64x2([-0.5, -0.5])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4579
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([0, 0]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4582
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([0, 0]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4585
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([0, 0]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4588
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([0, 0]), f64x2([0.5, 0.5])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4591
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([0, 0]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4594
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([0, 0]), f64x2([0, 0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4597
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([0, 0]), f64x2([Infinity, Infinity])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4600
+assert_return(() => invoke($0, `f64x2.le`, [f64x2([0, 0]), f64x2([-1, -1])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4603
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([0, 0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4606
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4609
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4612
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4615
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4618
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4621
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4624
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4627
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([Infinity, Infinity]), f64x2([1, 1])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4630
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4633
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([Infinity, Infinity]), f64x2([-0, -0])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4636
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([Infinity, Infinity]), f64x2([-0.5, -0.5])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4639
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4642
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4645
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4648
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([Infinity, Infinity]), f64x2([0.5, 0.5])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4651
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4654
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([Infinity, Infinity]), f64x2([0, 0])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4657
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4660
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([Infinity, Infinity]), f64x2([-1, -1])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4663
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4666
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4669
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4672
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4675
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4678
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-1, -1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4681
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([-1, -1]), f64x2([-Infinity, -Infinity])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4684
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-1, -1]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4687
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([-1, -1]), f64x2([1, 1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4690
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-1, -1]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4693
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([-1, -1]), f64x2([-0, -0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4696
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([-1, -1]), f64x2([-0.5, -0.5])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4699
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-1, -1]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4702
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-1, -1]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4705
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-1, -1]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4708
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([-1, -1]), f64x2([0.5, 0.5])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4711
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-1, -1]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4714
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([-1, -1]), f64x2([0, 0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4717
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([-1, -1]), f64x2([Infinity, Infinity])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4720
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([-1, -1]), f64x2([-1, -1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4723
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-1, -1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4726
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4729
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4732
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4735
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([-1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4738
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4741
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4744
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4747
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4750
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4753
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4756
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4759
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4762
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4765
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4768
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4771
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4774
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4777
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4780
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4783
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4786
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4789
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4792
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4795
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4798
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4801
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4804
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4807
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4810
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ f64x2([1234567890123456800, 1234567890123456800]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4813
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4816
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4819
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4822
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4825
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ f64x2([1234567890123456800, 1234567890123456800]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4828
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4831
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4834
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4837
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4840
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([1234567890123456800, 1234567890123456800]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4843
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4846
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4849
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4852
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4855
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([1234567890123456800, 1234567890123456800]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4858
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([1234567890123456800, 1234567890123456800]),
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4861
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([1234567890123456800, 1234567890123456800]),
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4864
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([1234567890123456800, 1234567890123456800]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4867
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([1234567890123456800, 1234567890123456800]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4870
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ f64x2([1234567890123456800, 1234567890123456800]),
+ f64x2([1234567890123456800, 1234567890123456800]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4873
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4876
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4879
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4882
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4885
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4888
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4891
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4894
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4897
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4900
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4903
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4906
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4909
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4912
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4915
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4918
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4921
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4924
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4927
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4930
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4933
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4936
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4939
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4942
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4945
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4948
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4951
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4954
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4957
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4960
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4963
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4966
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4969
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4972
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4975
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4978
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4981
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4984
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4987
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4990
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4993
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4996
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:4999
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5002
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5005
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5008
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5011
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5014
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5017
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5020
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5023
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5026
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5029
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5032
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5035
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5038
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5041
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5044
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5047
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5050
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5053
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5056
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5059
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5062
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5065
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5068
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5071
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5074
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5077
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5080
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5083
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5086
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5089
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5092
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5095
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5098
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5101
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5104
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5107
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5110
+assert_return(
+ () => invoke($0, `f64x2.le`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5113
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5116
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5119
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5122
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5125
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5128
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5131
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5134
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5137
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5140
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5143
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5146
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5149
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5152
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5155
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5158
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5161
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5164
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5167
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5170
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5173
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5176
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5179
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5182
+assert_return(
+ () => invoke($0, `f64x2.gt`, [f64x2([-Infinity, -Infinity]), f64x2([1, 1])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5185
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5188
+assert_return(
+ () => invoke($0, `f64x2.gt`, [f64x2([-Infinity, -Infinity]), f64x2([-0, -0])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5191
+assert_return(
+ () => invoke($0, `f64x2.gt`, [f64x2([-Infinity, -Infinity]), f64x2([-0.5, -0.5])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5194
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5197
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5200
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5203
+assert_return(
+ () => invoke($0, `f64x2.gt`, [f64x2([-Infinity, -Infinity]), f64x2([0.5, 0.5])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5206
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5209
+assert_return(
+ () => invoke($0, `f64x2.gt`, [f64x2([-Infinity, -Infinity]), f64x2([0, 0])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5212
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5215
+assert_return(
+ () => invoke($0, `f64x2.gt`, [f64x2([-Infinity, -Infinity]), f64x2([-1, -1])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5218
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5221
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5224
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5227
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5230
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5233
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5236
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5239
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5242
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5245
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5248
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5251
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5254
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5257
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5260
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5263
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5266
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5269
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5272
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5275
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5278
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5281
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5284
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5287
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5290
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5293
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([1, 1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5296
+assert_return(
+ () => invoke($0, `f64x2.gt`, [f64x2([1, 1]), f64x2([-Infinity, -Infinity])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5299
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([1, 1]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5302
+assert_return(() => invoke($0, `f64x2.gt`, [f64x2([1, 1]), f64x2([1, 1])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5305
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([1, 1]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5308
+assert_return(
+ () => invoke($0, `f64x2.gt`, [f64x2([1, 1]), f64x2([-0, -0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5311
+assert_return(
+ () => invoke($0, `f64x2.gt`, [f64x2([1, 1]), f64x2([-0.5, -0.5])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5314
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([1, 1]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5317
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([1, 1]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5320
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([1, 1]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5323
+assert_return(
+ () => invoke($0, `f64x2.gt`, [f64x2([1, 1]), f64x2([0.5, 0.5])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5326
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([1, 1]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5329
+assert_return(
+ () => invoke($0, `f64x2.gt`, [f64x2([1, 1]), f64x2([0, 0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5332
+assert_return(
+ () => invoke($0, `f64x2.gt`, [f64x2([1, 1]), f64x2([Infinity, Infinity])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5335
+assert_return(
+ () => invoke($0, `f64x2.gt`, [f64x2([1, 1]), f64x2([-1, -1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5338
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([1, 1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5341
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5344
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5347
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5350
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5353
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5356
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5359
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5362
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5365
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5368
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5371
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5374
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5377
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5380
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5383
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5386
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5389
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5392
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5395
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5398
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5401
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5404
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5407
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5410
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5413
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-0, -0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5416
+assert_return(
+ () => invoke($0, `f64x2.gt`, [f64x2([-0, -0]), f64x2([-Infinity, -Infinity])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5419
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-0, -0]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5422
+assert_return(() => invoke($0, `f64x2.gt`, [f64x2([-0, -0]), f64x2([1, 1])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5425
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-0, -0]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5428
+assert_return(() => invoke($0, `f64x2.gt`, [f64x2([-0, -0]), f64x2([-0, -0])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5431
+assert_return(
+ () => invoke($0, `f64x2.gt`, [f64x2([-0, -0]), f64x2([-0.5, -0.5])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5434
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-0, -0]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5437
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-0, -0]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5440
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-0, -0]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5443
+assert_return(() => invoke($0, `f64x2.gt`, [f64x2([-0, -0]), f64x2([0.5, 0.5])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5446
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-0, -0]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5449
+assert_return(() => invoke($0, `f64x2.gt`, [f64x2([-0, -0]), f64x2([0, 0])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5452
+assert_return(
+ () => invoke($0, `f64x2.gt`, [f64x2([-0, -0]), f64x2([Infinity, Infinity])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5455
+assert_return(
+ () => invoke($0, `f64x2.gt`, [f64x2([-0, -0]), f64x2([-1, -1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5458
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-0, -0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5461
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5464
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5467
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5470
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5473
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5476
+assert_return(
+ () => invoke($0, `f64x2.gt`, [f64x2([-0.5, -0.5]), f64x2([-Infinity, -Infinity])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5479
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5482
+assert_return(() => invoke($0, `f64x2.gt`, [f64x2([-0.5, -0.5]), f64x2([1, 1])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5485
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5488
+assert_return(
+ () => invoke($0, `f64x2.gt`, [f64x2([-0.5, -0.5]), f64x2([-0, -0])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5491
+assert_return(
+ () => invoke($0, `f64x2.gt`, [f64x2([-0.5, -0.5]), f64x2([-0.5, -0.5])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5494
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5497
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5500
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5503
+assert_return(
+ () => invoke($0, `f64x2.gt`, [f64x2([-0.5, -0.5]), f64x2([0.5, 0.5])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5506
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5509
+assert_return(() => invoke($0, `f64x2.gt`, [f64x2([-0.5, -0.5]), f64x2([0, 0])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5512
+assert_return(
+ () => invoke($0, `f64x2.gt`, [f64x2([-0.5, -0.5]), f64x2([Infinity, Infinity])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5515
+assert_return(
+ () => invoke($0, `f64x2.gt`, [f64x2([-0.5, -0.5]), f64x2([-1, -1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5518
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5521
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5524
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5527
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5530
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5533
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5536
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5539
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5542
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5545
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5548
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5551
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5554
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5557
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5560
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5563
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5566
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5569
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5572
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5575
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5578
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5581
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5584
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5587
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5590
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5593
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5596
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5599
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5602
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5605
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5608
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5611
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5614
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5617
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5620
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5623
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5626
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5629
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5632
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5635
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5638
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5641
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5644
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5647
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5650
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5653
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5656
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5659
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5662
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5665
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5668
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5671
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5674
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5677
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5680
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5683
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5686
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5689
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5692
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5695
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5698
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5701
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5704
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5707
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5710
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5713
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5716
+assert_return(
+ () => invoke($0, `f64x2.gt`, [f64x2([0.5, 0.5]), f64x2([-Infinity, -Infinity])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5719
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([0.5, 0.5]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5722
+assert_return(() => invoke($0, `f64x2.gt`, [f64x2([0.5, 0.5]), f64x2([1, 1])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5725
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5728
+assert_return(
+ () => invoke($0, `f64x2.gt`, [f64x2([0.5, 0.5]), f64x2([-0, -0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5731
+assert_return(
+ () => invoke($0, `f64x2.gt`, [f64x2([0.5, 0.5]), f64x2([-0.5, -0.5])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5734
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5737
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5740
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5743
+assert_return(
+ () => invoke($0, `f64x2.gt`, [f64x2([0.5, 0.5]), f64x2([0.5, 0.5])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5746
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([0.5, 0.5]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5749
+assert_return(
+ () => invoke($0, `f64x2.gt`, [f64x2([0.5, 0.5]), f64x2([0, 0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5752
+assert_return(
+ () => invoke($0, `f64x2.gt`, [f64x2([0.5, 0.5]), f64x2([Infinity, Infinity])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5755
+assert_return(
+ () => invoke($0, `f64x2.gt`, [f64x2([0.5, 0.5]), f64x2([-1, -1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5758
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5761
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5764
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5767
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5770
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5773
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5776
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5779
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5782
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5785
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5788
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5791
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5794
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5797
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5800
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5803
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5806
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5809
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5812
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5815
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5818
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5821
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5824
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5827
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5830
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5833
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([0, 0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5836
+assert_return(
+ () => invoke($0, `f64x2.gt`, [f64x2([0, 0]), f64x2([-Infinity, -Infinity])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5839
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([0, 0]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5842
+assert_return(() => invoke($0, `f64x2.gt`, [f64x2([0, 0]), f64x2([1, 1])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5845
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([0, 0]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5848
+assert_return(() => invoke($0, `f64x2.gt`, [f64x2([0, 0]), f64x2([-0, -0])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5851
+assert_return(
+ () => invoke($0, `f64x2.gt`, [f64x2([0, 0]), f64x2([-0.5, -0.5])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5854
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([0, 0]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5857
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([0, 0]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5860
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([0, 0]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5863
+assert_return(() => invoke($0, `f64x2.gt`, [f64x2([0, 0]), f64x2([0.5, 0.5])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5866
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([0, 0]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5869
+assert_return(() => invoke($0, `f64x2.gt`, [f64x2([0, 0]), f64x2([0, 0])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5872
+assert_return(
+ () => invoke($0, `f64x2.gt`, [f64x2([0, 0]), f64x2([Infinity, Infinity])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5875
+assert_return(
+ () => invoke($0, `f64x2.gt`, [f64x2([0, 0]), f64x2([-1, -1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5878
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([0, 0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5881
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5884
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5887
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5890
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5893
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5896
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5899
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5902
+assert_return(
+ () => invoke($0, `f64x2.gt`, [f64x2([Infinity, Infinity]), f64x2([1, 1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5905
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5908
+assert_return(
+ () => invoke($0, `f64x2.gt`, [f64x2([Infinity, Infinity]), f64x2([-0, -0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5911
+assert_return(
+ () => invoke($0, `f64x2.gt`, [f64x2([Infinity, Infinity]), f64x2([-0.5, -0.5])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5914
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5917
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5920
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5923
+assert_return(
+ () => invoke($0, `f64x2.gt`, [f64x2([Infinity, Infinity]), f64x2([0.5, 0.5])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5926
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5929
+assert_return(
+ () => invoke($0, `f64x2.gt`, [f64x2([Infinity, Infinity]), f64x2([0, 0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5932
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5935
+assert_return(
+ () => invoke($0, `f64x2.gt`, [f64x2([Infinity, Infinity]), f64x2([-1, -1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5938
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5941
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5944
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5947
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5950
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5953
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-1, -1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5956
+assert_return(
+ () => invoke($0, `f64x2.gt`, [f64x2([-1, -1]), f64x2([-Infinity, -Infinity])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5959
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-1, -1]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5962
+assert_return(() => invoke($0, `f64x2.gt`, [f64x2([-1, -1]), f64x2([1, 1])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5965
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-1, -1]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5968
+assert_return(() => invoke($0, `f64x2.gt`, [f64x2([-1, -1]), f64x2([-0, -0])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5971
+assert_return(
+ () => invoke($0, `f64x2.gt`, [f64x2([-1, -1]), f64x2([-0.5, -0.5])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5974
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-1, -1]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5977
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-1, -1]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5980
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-1, -1]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5983
+assert_return(() => invoke($0, `f64x2.gt`, [f64x2([-1, -1]), f64x2([0.5, 0.5])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5986
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-1, -1]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5989
+assert_return(() => invoke($0, `f64x2.gt`, [f64x2([-1, -1]), f64x2([0, 0])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5992
+assert_return(
+ () => invoke($0, `f64x2.gt`, [f64x2([-1, -1]), f64x2([Infinity, Infinity])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5995
+assert_return(() => invoke($0, `f64x2.gt`, [f64x2([-1, -1]), f64x2([-1, -1])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:5998
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-1, -1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6001
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6004
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6007
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6010
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([-1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6013
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6016
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6019
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6022
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6025
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6028
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6031
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6034
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6037
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6040
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6043
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6046
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6049
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6052
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6055
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6058
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6061
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6064
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6067
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6070
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6073
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6076
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6079
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6082
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6085
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ f64x2([1234567890123456800, 1234567890123456800]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6088
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6091
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6094
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6097
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6100
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ f64x2([1234567890123456800, 1234567890123456800]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6103
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6106
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6109
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6112
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6115
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([1234567890123456800, 1234567890123456800]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6118
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6121
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6124
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6127
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6130
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([1234567890123456800, 1234567890123456800]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6133
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([1234567890123456800, 1234567890123456800]),
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6136
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([1234567890123456800, 1234567890123456800]),
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6139
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([1234567890123456800, 1234567890123456800]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6142
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([1234567890123456800, 1234567890123456800]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6145
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ f64x2([1234567890123456800, 1234567890123456800]),
+ f64x2([1234567890123456800, 1234567890123456800]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6148
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6151
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6154
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6157
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6160
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6163
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6166
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6169
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6172
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6175
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6178
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6181
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6184
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6187
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6190
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6193
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6196
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6199
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6202
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6205
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6208
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6211
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6214
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6217
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6220
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6223
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6226
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6229
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6232
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6235
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6238
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6241
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6244
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6247
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6250
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6253
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6256
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6259
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6262
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6265
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6268
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6271
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6274
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6277
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6280
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6283
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6286
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6289
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6292
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6295
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6298
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6301
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6304
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6307
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6310
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6313
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6316
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6319
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6322
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6325
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6328
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6331
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6334
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6337
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6340
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6343
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6346
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6349
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6352
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6355
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6358
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6361
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6364
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6367
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6370
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6373
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6376
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6379
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6382
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6385
+assert_return(
+ () => invoke($0, `f64x2.gt`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6388
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6391
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6394
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6397
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6400
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6403
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6406
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6409
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6412
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6415
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6418
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6421
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6424
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6427
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6430
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6433
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6436
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6439
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6442
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6445
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6448
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6451
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6454
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6457
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([-Infinity, -Infinity]), f64x2([1, 1])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6460
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6463
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([-Infinity, -Infinity]), f64x2([-0, -0])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6466
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([-Infinity, -Infinity]), f64x2([-0.5, -0.5])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6469
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6472
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6475
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6478
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([-Infinity, -Infinity]), f64x2([0.5, 0.5])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6481
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6484
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([-Infinity, -Infinity]), f64x2([0, 0])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6487
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6490
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([-Infinity, -Infinity]), f64x2([-1, -1])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6493
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6496
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6499
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6502
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6505
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6508
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6511
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6514
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6517
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6520
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6523
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6526
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6529
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6532
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6535
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6538
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6541
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6544
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6547
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6550
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6553
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6556
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6559
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6562
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6565
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6568
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([1, 1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6571
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([1, 1]), f64x2([-Infinity, -Infinity])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6574
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([1, 1]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6577
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([1, 1]), f64x2([1, 1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6580
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([1, 1]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6583
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([1, 1]), f64x2([-0, -0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6586
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([1, 1]), f64x2([-0.5, -0.5])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6589
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([1, 1]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6592
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([1, 1]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6595
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([1, 1]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6598
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([1, 1]), f64x2([0.5, 0.5])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6601
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([1, 1]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6604
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([1, 1]), f64x2([0, 0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6607
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([1, 1]), f64x2([Infinity, Infinity])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6610
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([1, 1]), f64x2([-1, -1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6613
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([1, 1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6616
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6619
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6622
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6625
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6628
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6631
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6634
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6637
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6640
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6643
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6646
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6649
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6652
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6655
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6658
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6661
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6664
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6667
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6670
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6673
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6676
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6679
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6682
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6685
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6688
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-0, -0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6691
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([-0, -0]), f64x2([-Infinity, -Infinity])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6694
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-0, -0]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6697
+assert_return(() => invoke($0, `f64x2.ge`, [f64x2([-0, -0]), f64x2([1, 1])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6700
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-0, -0]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6703
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([-0, -0]), f64x2([-0, -0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6706
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([-0, -0]), f64x2([-0.5, -0.5])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6709
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-0, -0]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6712
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-0, -0]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6715
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-0, -0]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6718
+assert_return(() => invoke($0, `f64x2.ge`, [f64x2([-0, -0]), f64x2([0.5, 0.5])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6721
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-0, -0]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6724
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([-0, -0]), f64x2([0, 0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6727
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([-0, -0]), f64x2([Infinity, Infinity])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6730
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([-0, -0]), f64x2([-1, -1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6733
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-0, -0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6736
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6739
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6742
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6745
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6748
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6751
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([-0.5, -0.5]), f64x2([-Infinity, -Infinity])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6754
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6757
+assert_return(() => invoke($0, `f64x2.ge`, [f64x2([-0.5, -0.5]), f64x2([1, 1])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6760
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6763
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([-0.5, -0.5]), f64x2([-0, -0])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6766
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([-0.5, -0.5]), f64x2([-0.5, -0.5])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6769
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6772
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6775
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6778
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([-0.5, -0.5]), f64x2([0.5, 0.5])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6781
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6784
+assert_return(() => invoke($0, `f64x2.ge`, [f64x2([-0.5, -0.5]), f64x2([0, 0])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6787
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([-0.5, -0.5]), f64x2([Infinity, Infinity])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6790
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([-0.5, -0.5]), f64x2([-1, -1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6793
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6796
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6799
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6802
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6805
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6808
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6811
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6814
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6817
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6820
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6823
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6826
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6829
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6832
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6835
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6838
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6841
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6844
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6847
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6850
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6853
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6856
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6859
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6862
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6865
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6868
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6871
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6874
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6877
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6880
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6883
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6886
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6889
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6892
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6895
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6898
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6901
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6904
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6907
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6910
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6913
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6916
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6919
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6922
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6925
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6928
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6931
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6934
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6937
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6940
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6943
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6946
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6949
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6952
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6955
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6958
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6961
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6964
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6967
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6970
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6973
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6976
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6979
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6982
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6985
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6988
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6991
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([0.5, 0.5]), f64x2([-Infinity, -Infinity])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6994
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([0.5, 0.5]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:6997
+assert_return(() => invoke($0, `f64x2.ge`, [f64x2([0.5, 0.5]), f64x2([1, 1])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7000
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7003
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([0.5, 0.5]), f64x2([-0, -0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7006
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([0.5, 0.5]), f64x2([-0.5, -0.5])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7009
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7012
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7015
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7018
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([0.5, 0.5]), f64x2([0.5, 0.5])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7021
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([0.5, 0.5]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7024
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([0.5, 0.5]), f64x2([0, 0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7027
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([0.5, 0.5]), f64x2([Infinity, Infinity])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7030
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([0.5, 0.5]), f64x2([-1, -1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7033
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7036
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7039
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7042
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7045
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7048
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7051
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7054
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7057
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7060
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7063
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7066
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7069
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7072
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7075
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7078
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7081
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7084
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7087
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7090
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7093
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7096
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7099
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7102
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7105
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7108
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([0, 0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7111
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([0, 0]), f64x2([-Infinity, -Infinity])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7114
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([0, 0]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7117
+assert_return(() => invoke($0, `f64x2.ge`, [f64x2([0, 0]), f64x2([1, 1])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7120
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([0, 0]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7123
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([0, 0]), f64x2([-0, -0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7126
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([0, 0]), f64x2([-0.5, -0.5])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7129
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([0, 0]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7132
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([0, 0]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7135
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([0, 0]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7138
+assert_return(() => invoke($0, `f64x2.ge`, [f64x2([0, 0]), f64x2([0.5, 0.5])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7141
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([0, 0]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7144
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([0, 0]), f64x2([0, 0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7147
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([0, 0]), f64x2([Infinity, Infinity])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7150
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([0, 0]), f64x2([-1, -1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7153
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([0, 0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7156
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7159
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7162
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7165
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7168
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7171
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7174
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7177
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([Infinity, Infinity]), f64x2([1, 1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7180
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7183
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([Infinity, Infinity]), f64x2([-0, -0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7186
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([Infinity, Infinity]), f64x2([-0.5, -0.5])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7189
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7192
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7195
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7198
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([Infinity, Infinity]), f64x2([0.5, 0.5])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7201
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7204
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([Infinity, Infinity]), f64x2([0, 0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7207
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7210
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([Infinity, Infinity]), f64x2([-1, -1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7213
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7216
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7219
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7222
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7225
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7228
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-1, -1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7231
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([-1, -1]), f64x2([-Infinity, -Infinity])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7234
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-1, -1]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7237
+assert_return(() => invoke($0, `f64x2.ge`, [f64x2([-1, -1]), f64x2([1, 1])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7240
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-1, -1]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7243
+assert_return(() => invoke($0, `f64x2.ge`, [f64x2([-1, -1]), f64x2([-0, -0])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7246
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([-1, -1]), f64x2([-0.5, -0.5])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7249
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-1, -1]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7252
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-1, -1]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7255
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-1, -1]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7258
+assert_return(() => invoke($0, `f64x2.ge`, [f64x2([-1, -1]), f64x2([0.5, 0.5])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7261
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-1, -1]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7264
+assert_return(() => invoke($0, `f64x2.ge`, [f64x2([-1, -1]), f64x2([0, 0])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7267
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([-1, -1]), f64x2([Infinity, Infinity])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7270
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([-1, -1]), f64x2([-1, -1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7273
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-1, -1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7276
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7279
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7282
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7285
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([-1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7288
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7291
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7294
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7297
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7300
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7303
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7306
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7309
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7312
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7315
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7318
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7321
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7324
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7327
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7330
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7333
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7336
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7339
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7342
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7345
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7348
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7351
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7354
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7357
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7360
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ f64x2([1234567890123456800, 1234567890123456800]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7363
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7366
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7369
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7372
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7375
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ f64x2([1234567890123456800, 1234567890123456800]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7378
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7381
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7384
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7387
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7390
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([1234567890123456800, 1234567890123456800]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7393
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7396
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7399
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7402
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7405
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ f64x2([1234567890123456800, 1234567890123456800]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7408
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([1234567890123456800, 1234567890123456800]),
+ f64x2([
+ 123456789012345690000000000000000000000000000000000000000,
+ 123456789012345690000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7411
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([1234567890123456800, 1234567890123456800]),
+ f64x2([0.000000000000000000012345678901234569, 0.000000000000000000012345678901234569]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7414
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([1234567890123456800, 1234567890123456800]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7417
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([1234567890123456800, 1234567890123456800]),
+ f64x2([
+ 12345678900000000000000000000000000000000000000,
+ 12345678900000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7420
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ f64x2([1234567890123456800, 1234567890123456800]),
+ f64x2([1234567890123456800, 1234567890123456800]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7423
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7426
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7429
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7432
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7435
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7438
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7441
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7444
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7447
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7450
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7453
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7456
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7459
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7462
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7465
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7468
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7471
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7474
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7477
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7480
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7483
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7486
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7489
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7492
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7495
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7498
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7501
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7504
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7507
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7510
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7513
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7516
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7519
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7522
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7525
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7528
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7531
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7534
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7537
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7540
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7543
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7546
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7549
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7552
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7555
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7558
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7561
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7564
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7567
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7570
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7573
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7576
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7579
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7582
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7585
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7588
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7591
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7594
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7597
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7600
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7603
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7606
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7609
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7612
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7615
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7618
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7621
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7624
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7627
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7630
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7633
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7636
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7639
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7642
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7645
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7648
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7651
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7654
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7657
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7660
+assert_return(
+ () => invoke($0, `f64x2.ge`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7663
+assert_return(
+ () => invoke($0, `f64x2.eq`, [f64x2([-1, -1]), f64x2([-1, -1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7666
+assert_return(() => invoke($0, `f64x2.eq`, [f64x2([-1, -1]), f64x2([0, 0])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7669
+assert_return(() => invoke($0, `f64x2.eq`, [f64x2([-1, -1]), f64x2([1, 1])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7672
+assert_return(() => invoke($0, `f64x2.eq`, [f64x2([-1, -1]), f64x2([2, 2])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7675
+assert_return(() => invoke($0, `f64x2.eq`, [f64x2([0, 0]), f64x2([-1, -1])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7678
+assert_return(
+ () => invoke($0, `f64x2.eq`, [f64x2([0, 0]), f64x2([0, 0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7681
+assert_return(() => invoke($0, `f64x2.eq`, [f64x2([0, 0]), f64x2([1, 1])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7684
+assert_return(() => invoke($0, `f64x2.eq`, [f64x2([0, 0]), f64x2([2, 2])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7687
+assert_return(() => invoke($0, `f64x2.eq`, [f64x2([1, 1]), f64x2([-1, -1])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7690
+assert_return(() => invoke($0, `f64x2.eq`, [f64x2([1, 1]), f64x2([0, 0])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7693
+assert_return(
+ () => invoke($0, `f64x2.eq`, [f64x2([1, 1]), f64x2([1, 1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7696
+assert_return(() => invoke($0, `f64x2.eq`, [f64x2([1, 1]), f64x2([2, 2])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7699
+assert_return(() => invoke($0, `f64x2.eq`, [f64x2([2, 2]), f64x2([-1, -1])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7702
+assert_return(() => invoke($0, `f64x2.eq`, [f64x2([2, 2]), f64x2([0, 0])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7705
+assert_return(() => invoke($0, `f64x2.eq`, [f64x2([2, 2]), f64x2([1, 1])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7708
+assert_return(
+ () => invoke($0, `f64x2.eq`, [f64x2([2, 2]), f64x2([2, 2])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7711
+assert_return(() => invoke($0, `f64x2.ne`, [f64x2([-1, -1]), f64x2([-1, -1])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7714
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([-1, -1]), f64x2([0, 0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7717
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([-1, -1]), f64x2([1, 1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7720
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([-1, -1]), f64x2([2, 2])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7723
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([0, 0]), f64x2([-1, -1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7726
+assert_return(() => invoke($0, `f64x2.ne`, [f64x2([0, 0]), f64x2([0, 0])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7729
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([0, 0]), f64x2([1, 1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7732
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([0, 0]), f64x2([2, 2])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7735
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([1, 1]), f64x2([-1, -1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7738
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([1, 1]), f64x2([0, 0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7741
+assert_return(() => invoke($0, `f64x2.ne`, [f64x2([1, 1]), f64x2([1, 1])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7744
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([1, 1]), f64x2([2, 2])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7747
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([2, 2]), f64x2([-1, -1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7750
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([2, 2]), f64x2([0, 0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7753
+assert_return(
+ () => invoke($0, `f64x2.ne`, [f64x2([2, 2]), f64x2([1, 1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7756
+assert_return(() => invoke($0, `f64x2.ne`, [f64x2([2, 2]), f64x2([2, 2])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7759
+assert_return(() => invoke($0, `f64x2.lt`, [f64x2([-1, -1]), f64x2([-1, -1])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7762
+assert_return(
+ () => invoke($0, `f64x2.lt`, [f64x2([-1, -1]), f64x2([0, 0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7765
+assert_return(
+ () => invoke($0, `f64x2.lt`, [f64x2([-1, -1]), f64x2([1, 1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7768
+assert_return(
+ () => invoke($0, `f64x2.lt`, [f64x2([-1, -1]), f64x2([2, 2])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7771
+assert_return(() => invoke($0, `f64x2.lt`, [f64x2([0, 0]), f64x2([-1, -1])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7774
+assert_return(() => invoke($0, `f64x2.lt`, [f64x2([0, 0]), f64x2([0, 0])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7777
+assert_return(
+ () => invoke($0, `f64x2.lt`, [f64x2([0, 0]), f64x2([1, 1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7780
+assert_return(
+ () => invoke($0, `f64x2.lt`, [f64x2([0, 0]), f64x2([2, 2])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7783
+assert_return(() => invoke($0, `f64x2.lt`, [f64x2([1, 1]), f64x2([-1, -1])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7786
+assert_return(() => invoke($0, `f64x2.lt`, [f64x2([1, 1]), f64x2([0, 0])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7789
+assert_return(() => invoke($0, `f64x2.lt`, [f64x2([1, 1]), f64x2([1, 1])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7792
+assert_return(
+ () => invoke($0, `f64x2.lt`, [f64x2([1, 1]), f64x2([2, 2])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7795
+assert_return(() => invoke($0, `f64x2.lt`, [f64x2([2, 2]), f64x2([-1, -1])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7798
+assert_return(() => invoke($0, `f64x2.lt`, [f64x2([2, 2]), f64x2([0, 0])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7801
+assert_return(() => invoke($0, `f64x2.lt`, [f64x2([2, 2]), f64x2([1, 1])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7804
+assert_return(() => invoke($0, `f64x2.lt`, [f64x2([2, 2]), f64x2([2, 2])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7807
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([-1, -1]), f64x2([-1, -1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7810
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([-1, -1]), f64x2([0, 0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7813
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([-1, -1]), f64x2([1, 1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7816
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([-1, -1]), f64x2([2, 2])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7819
+assert_return(() => invoke($0, `f64x2.le`, [f64x2([0, 0]), f64x2([-1, -1])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7822
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([0, 0]), f64x2([0, 0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7825
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([0, 0]), f64x2([1, 1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7828
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([0, 0]), f64x2([2, 2])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7831
+assert_return(() => invoke($0, `f64x2.le`, [f64x2([1, 1]), f64x2([-1, -1])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7834
+assert_return(() => invoke($0, `f64x2.le`, [f64x2([1, 1]), f64x2([0, 0])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7837
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([1, 1]), f64x2([1, 1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7840
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([1, 1]), f64x2([2, 2])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7843
+assert_return(() => invoke($0, `f64x2.le`, [f64x2([2, 2]), f64x2([-1, -1])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7846
+assert_return(() => invoke($0, `f64x2.le`, [f64x2([2, 2]), f64x2([0, 0])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7849
+assert_return(() => invoke($0, `f64x2.le`, [f64x2([2, 2]), f64x2([1, 1])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7852
+assert_return(
+ () => invoke($0, `f64x2.le`, [f64x2([2, 2]), f64x2([2, 2])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7855
+assert_return(() => invoke($0, `f64x2.gt`, [f64x2([-1, -1]), f64x2([-1, -1])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7858
+assert_return(() => invoke($0, `f64x2.gt`, [f64x2([-1, -1]), f64x2([0, 0])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7861
+assert_return(() => invoke($0, `f64x2.gt`, [f64x2([-1, -1]), f64x2([1, 1])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7864
+assert_return(() => invoke($0, `f64x2.gt`, [f64x2([-1, -1]), f64x2([2, 2])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7867
+assert_return(
+ () => invoke($0, `f64x2.gt`, [f64x2([0, 0]), f64x2([-1, -1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7870
+assert_return(() => invoke($0, `f64x2.gt`, [f64x2([0, 0]), f64x2([0, 0])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7873
+assert_return(() => invoke($0, `f64x2.gt`, [f64x2([0, 0]), f64x2([1, 1])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7876
+assert_return(() => invoke($0, `f64x2.gt`, [f64x2([0, 0]), f64x2([2, 2])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7879
+assert_return(
+ () => invoke($0, `f64x2.gt`, [f64x2([1, 1]), f64x2([-1, -1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7882
+assert_return(
+ () => invoke($0, `f64x2.gt`, [f64x2([1, 1]), f64x2([0, 0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7885
+assert_return(() => invoke($0, `f64x2.gt`, [f64x2([1, 1]), f64x2([1, 1])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7888
+assert_return(() => invoke($0, `f64x2.gt`, [f64x2([1, 1]), f64x2([2, 2])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7891
+assert_return(
+ () => invoke($0, `f64x2.gt`, [f64x2([2, 2]), f64x2([-1, -1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7894
+assert_return(
+ () => invoke($0, `f64x2.gt`, [f64x2([2, 2]), f64x2([0, 0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7897
+assert_return(
+ () => invoke($0, `f64x2.gt`, [f64x2([2, 2]), f64x2([1, 1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7900
+assert_return(() => invoke($0, `f64x2.gt`, [f64x2([2, 2]), f64x2([2, 2])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7903
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([-1, -1]), f64x2([-1, -1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7906
+assert_return(() => invoke($0, `f64x2.ge`, [f64x2([-1, -1]), f64x2([0, 0])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7909
+assert_return(() => invoke($0, `f64x2.ge`, [f64x2([-1, -1]), f64x2([1, 1])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7912
+assert_return(() => invoke($0, `f64x2.ge`, [f64x2([-1, -1]), f64x2([2, 2])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7915
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([0, 0]), f64x2([-1, -1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7918
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([0, 0]), f64x2([0, 0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7921
+assert_return(() => invoke($0, `f64x2.ge`, [f64x2([0, 0]), f64x2([1, 1])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7924
+assert_return(() => invoke($0, `f64x2.ge`, [f64x2([0, 0]), f64x2([2, 2])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7927
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([1, 1]), f64x2([-1, -1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7930
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([1, 1]), f64x2([0, 0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7933
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([1, 1]), f64x2([1, 1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7936
+assert_return(() => invoke($0, `f64x2.ge`, [f64x2([1, 1]), f64x2([2, 2])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7939
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([2, 2]), f64x2([-1, -1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7942
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([2, 2]), f64x2([0, 0])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7945
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([2, 2]), f64x2([1, 1])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7948
+assert_return(
+ () => invoke($0, `f64x2.ge`, [f64x2([2, 2]), f64x2([2, 2])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7954
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param $$x v128) (param $$y v128) (result v128) (f2x64.eq (local.get $$x) (local.get $$y))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7955
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param $$x v128) (param $$y v128) (result v128) (f2x64.ne (local.get $$x) (local.get $$y))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7956
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param $$x v128) (param $$y v128) (result v128) (f2x64.lt (local.get $$x) (local.get $$y))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7957
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param $$x v128) (param $$y v128) (result v128) (f2x64.le (local.get $$x) (local.get $$y))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7958
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param $$x v128) (param $$y v128) (result v128) (f2x64.gt (local.get $$x) (local.get $$y))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7959
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param $$x v128) (param $$y v128) (result v128) (f2x64.ge (local.get $$x) (local.get $$y))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7962
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (f64x2.eq (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7963
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (f64x2.ne (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7964
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (f64x2.lt (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7965
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (f64x2.le (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7966
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (f64x2.gt (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7967
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (f64x2.ge (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7971
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f64x2.eq-1st-arg-empty (result v128)
+ (f64x2.eq (v128.const f64x2 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7979
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f64x2.eq-arg-empty (result v128)
+ (f64x2.eq)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7987
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f64x2.ne-1st-arg-empty (result v128)
+ (f64x2.ne (v128.const f64x2 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:7995
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f64x2.ne-arg-empty (result v128)
+ (f64x2.ne)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:8003
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f64x2.lt-1st-arg-empty (result v128)
+ (f64x2.lt (v128.const f64x2 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:8011
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f64x2.lt-arg-empty (result v128)
+ (f64x2.lt)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:8019
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f64x2.le-1st-arg-empty (result v128)
+ (f64x2.le (v128.const f64x2 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:8027
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f64x2.le-arg-empty (result v128)
+ (f64x2.le)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:8035
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f64x2.gt-1st-arg-empty (result v128)
+ (f64x2.gt (v128.const f64x2 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:8043
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f64x2.gt-arg-empty (result v128)
+ (f64x2.gt)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:8051
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f64x2.ge-1st-arg-empty (result v128)
+ (f64x2.ge (v128.const f64x2 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:8059
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f64x2.ge-arg-empty (result v128)
+ (f64x2.ge)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:8069
+let $1 = instantiate(`(module (memory 1)
+ (func (export "f64x2.eq-in-block")
+ (block
+ (drop
+ (block (result v128)
+ (f64x2.eq
+ (block (result v128) (v128.load (i32.const 0)))
+ (block (result v128) (v128.load (i32.const 1)))
+ )
+ )
+ )
+ )
+ )
+ (func (export "f64x2.ne-in-block")
+ (block
+ (drop
+ (block (result v128)
+ (f64x2.ne
+ (block (result v128) (v128.load (i32.const 0)))
+ (block (result v128) (v128.load (i32.const 1)))
+ )
+ )
+ )
+ )
+ )
+ (func (export "f64x2.lt-in-block")
+ (block
+ (drop
+ (block (result v128)
+ (f64x2.lt
+ (block (result v128) (v128.load (i32.const 0)))
+ (block (result v128) (v128.load (i32.const 1)))
+ )
+ )
+ )
+ )
+ )
+ (func (export "f64x2.le-in-block")
+ (block
+ (drop
+ (block (result v128)
+ (f64x2.le
+ (block (result v128) (v128.load (i32.const 0)))
+ (block (result v128) (v128.load (i32.const 1)))
+ )
+ )
+ )
+ )
+ )
+ (func (export "f64x2.gt-in-block")
+ (block
+ (drop
+ (block (result v128)
+ (f64x2.gt
+ (block (result v128) (v128.load (i32.const 0)))
+ (block (result v128) (v128.load (i32.const 1)))
+ )
+ )
+ )
+ )
+ )
+ (func (export "f64x2.ge-in-block")
+ (block
+ (drop
+ (block (result v128)
+ (f64x2.ge
+ (block (result v128) (v128.load (i32.const 0)))
+ (block (result v128) (v128.load (i32.const 1)))
+ )
+ )
+ )
+ )
+ )
+ (func (export "nested-f64x2.eq")
+ (drop
+ (f64x2.eq
+ (f64x2.eq
+ (f64x2.eq
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (f64x2.eq
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ (f64x2.eq
+ (f64x2.eq
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (f64x2.eq
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ )
+ )
+ )
+ (func (export "nested-f64x2.ne")
+ (drop
+ (f64x2.ne
+ (f64x2.ne
+ (f64x2.ne
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (f64x2.ne
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ (f64x2.ne
+ (f64x2.ne
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (f64x2.ne
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ )
+ )
+ )
+ (func (export "nested-f64x2.lt")
+ (drop
+ (f64x2.lt
+ (f64x2.lt
+ (f64x2.lt
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (f64x2.lt
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ (f64x2.lt
+ (f64x2.lt
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (f64x2.lt
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ )
+ )
+ )
+ (func (export "nested-f64x2.le")
+ (drop
+ (f64x2.le
+ (f64x2.le
+ (f64x2.le
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (f64x2.le
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ (f64x2.le
+ (f64x2.le
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (f64x2.le
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ )
+ )
+ )
+ (func (export "nested-f64x2.gt")
+ (drop
+ (f64x2.gt
+ (f64x2.gt
+ (f64x2.gt
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (f64x2.gt
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ (f64x2.gt
+ (f64x2.gt
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (f64x2.gt
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ )
+ )
+ )
+ (func (export "nested-f64x2.ge")
+ (drop
+ (f64x2.ge
+ (f64x2.ge
+ (f64x2.ge
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (f64x2.ge
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ (f64x2.ge
+ (f64x2.ge
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (f64x2.ge
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ )
+ )
+ )
+ (func (export "as-param")
+ (drop
+ (f64x2.eq
+ (f64x2.ne
+ (f64x2.lt
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (f64x2.le
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ (f64x2.gt
+ (f64x2.ge
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (f64x2.eq
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ )
+ )
+ )
+)`);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:8325
+assert_return(() => invoke($1, `f64x2.eq-in-block`, []), []);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:8326
+assert_return(() => invoke($1, `f64x2.ne-in-block`, []), []);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:8327
+assert_return(() => invoke($1, `f64x2.lt-in-block`, []), []);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:8328
+assert_return(() => invoke($1, `f64x2.le-in-block`, []), []);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:8329
+assert_return(() => invoke($1, `f64x2.gt-in-block`, []), []);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:8330
+assert_return(() => invoke($1, `f64x2.ge-in-block`, []), []);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:8331
+assert_return(() => invoke($1, `nested-f64x2.eq`, []), []);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:8332
+assert_return(() => invoke($1, `nested-f64x2.ne`, []), []);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:8333
+assert_return(() => invoke($1, `nested-f64x2.lt`, []), []);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:8334
+assert_return(() => invoke($1, `nested-f64x2.le`, []), []);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:8335
+assert_return(() => invoke($1, `nested-f64x2.gt`, []), []);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:8336
+assert_return(() => invoke($1, `nested-f64x2.ge`, []), []);
+
+// ./test/core/simd/simd_f64x2_cmp.wast:8337
+assert_return(() => invoke($1, `as-param`, []), []);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/simd_f64x2_pmin_pmax.wast.js b/js/src/jit-test/tests/wasm/spec/spec/simd_f64x2_pmin_pmax.wast.js
new file mode 100644
index 0000000000..fc2d068e25
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/simd_f64x2_pmin_pmax.wast.js
@@ -0,0 +1,64564 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4
+let $0 = instantiate(`(module
+ (func (export "f64x2.pmin") (param v128 v128) (result v128) (f64x2.pmin (local.get 0) (local.get 1)))
+ (func (export "f64x2.pmax") (param v128 v128) (result v128) (f64x2.pmax (local.get 0) (local.get 1)))
+)`);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([0, 0]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:12
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([0, 0]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:15
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0, 0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:18
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0, 0]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:21
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([0, 0]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:24
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([0, 0]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:27
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([0, 0]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:30
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([0, 0]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:33
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0, 0]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:36
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0, 0]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:39
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0, 0]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:42
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0, 0]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:45
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0, 0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:48
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0, 0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:51
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([0, 0]), f64x2([Infinity, Infinity])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:54
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([0, 0]), f64x2([-Infinity, -Infinity])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:57
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([0, 0]), f64x2([123456789, 123456789])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:60
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0, 0]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:63
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0, 0]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:66
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0, 0]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:69
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([0, 0]), f64x2([123456789, 123456789])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:72
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0, 0]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:75
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0, 0]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:78
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0, 0]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:81
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0, 0]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:84
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0, 0]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:87
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0, 0]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:90
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0, 0]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:93
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0, 0]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:96
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0, 0]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:99
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0, 0]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:102
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0, 0]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:105
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0, 0]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:108
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0, 0]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:111
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0, 0]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:114
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0, 0]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:117
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0, 0]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:120
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0, 0]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:123
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0, 0]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:126
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0, 0]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:129
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([-0, -0]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:132
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([-0, -0]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:135
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0, -0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:138
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0, -0]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:141
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([-0, -0]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:144
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([-0, -0]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:147
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([-0, -0]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:150
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([-0, -0]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:153
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0, -0]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:156
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0, -0]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:159
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0, -0]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:162
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0, -0]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:165
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0, -0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:168
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0, -0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:171
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([-0, -0]), f64x2([Infinity, Infinity])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:174
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([-0, -0]), f64x2([-Infinity, -Infinity])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:177
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([-0, -0]), f64x2([123456789, 123456789])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:180
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0, -0]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:183
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0, -0]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:186
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0, -0]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:189
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([-0, -0]), f64x2([123456789, 123456789])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:192
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0, -0]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:195
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0, -0]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:198
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0, -0]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:201
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0, -0]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:204
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0, -0]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:207
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0, -0]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:210
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0, -0]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:213
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0, -0]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:216
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0, -0]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:219
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0, -0]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:222
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0, -0]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:225
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0, -0]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:228
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0, -0]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:231
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0, -0]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:234
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0, -0]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:237
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0, -0]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:240
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0, -0]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:243
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0, -0]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:246
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0, -0]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:249
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:252
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:255
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:258
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:261
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:264
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:267
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:270
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:273
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:276
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:279
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:282
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:285
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:288
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:291
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:294
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:297
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:300
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:303
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:306
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:309
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:312
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:315
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:318
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:321
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:324
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:327
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:330
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:333
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:336
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:339
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:342
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:345
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:348
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:351
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:354
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:357
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:360
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:363
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:366
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:369
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:372
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:375
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:378
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:381
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:384
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:387
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:390
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:393
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:396
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:399
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:402
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:405
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:408
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:411
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:414
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:417
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:420
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:423
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:426
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:429
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:432
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:435
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:438
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:441
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:444
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:447
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:450
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:453
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:456
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:459
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:462
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:465
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:468
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:471
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:474
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:477
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:480
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:483
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:486
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:489
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([0.5, 0.5]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:492
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([0.5, 0.5]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:495
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:498
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:501
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([0.5, 0.5]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:504
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([0.5, 0.5]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:507
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([0.5, 0.5]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:510
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([0.5, 0.5]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:513
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.5, 0.5]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:516
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.5, 0.5]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:519
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:522
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:525
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:528
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:531
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([0.5, 0.5]), f64x2([Infinity, Infinity])]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:534
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([0.5, 0.5]), f64x2([-Infinity, -Infinity])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:537
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([0.5, 0.5]), f64x2([123456789, 123456789])]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:540
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.5, 0.5]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:543
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.5, 0.5]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:546
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.5, 0.5]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:549
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([0.5, 0.5]), f64x2([123456789, 123456789])]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:552
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.5, 0.5]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:555
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.5, 0.5]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:558
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.5, 0.5]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:561
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.5, 0.5]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:564
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.5, 0.5]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:567
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.5, 0.5]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:570
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.5, 0.5]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:573
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.5, 0.5]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:576
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.5, 0.5]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:579
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.5, 0.5]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:582
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.5, 0.5]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:585
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.5, 0.5]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:588
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.5, 0.5]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:591
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.5, 0.5]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:594
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.5, 0.5]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:597
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.5, 0.5]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:600
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.5, 0.5]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:603
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.5, 0.5]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:606
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.5, 0.5]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:609
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([-0.5, -0.5]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:612
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([-0.5, -0.5]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:615
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:618
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:621
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([-0.5, -0.5]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:624
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([-0.5, -0.5]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:627
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([-0.5, -0.5]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:630
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([-0.5, -0.5]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:633
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:636
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:639
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:642
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:645
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:648
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:651
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([-0.5, -0.5]), f64x2([Infinity, Infinity])]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:654
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([-0.5, -0.5]), f64x2([-Infinity, -Infinity])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:657
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([-0.5, -0.5]), f64x2([123456789, 123456789])]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:660
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:663
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:666
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:669
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([-0.5, -0.5]), f64x2([123456789, 123456789])]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:672
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:675
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:678
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:681
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:684
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:687
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:690
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:693
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:696
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:699
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:702
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:705
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:708
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:711
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:714
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:717
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:720
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:723
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:726
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:729
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([1, 1]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:732
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([1, 1]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:735
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1, 1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:738
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1, 1]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:741
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([1, 1]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:744
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([1, 1]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:747
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([1, 1]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:750
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([1, 1]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:753
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1, 1]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:756
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1, 1]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:759
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1, 1]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:762
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1, 1]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:765
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1, 1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:768
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1, 1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:771
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([1, 1]), f64x2([Infinity, Infinity])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:774
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([1, 1]), f64x2([-Infinity, -Infinity])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:777
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([1, 1]), f64x2([123456789, 123456789])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:780
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1, 1]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:783
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1, 1]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:786
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1, 1]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:789
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([1, 1]), f64x2([123456789, 123456789])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:792
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1, 1]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:795
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1, 1]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:798
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1, 1]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:801
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1, 1]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:804
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1, 1]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:807
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1, 1]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:810
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1, 1]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:813
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1, 1]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:816
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1, 1]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:819
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1, 1]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:822
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1, 1]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:825
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1, 1]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:828
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1, 1]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:831
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1, 1]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:834
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1, 1]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:837
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1, 1]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:840
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1, 1]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:843
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1, 1]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:846
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1, 1]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:849
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([-1, -1]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:852
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([-1, -1]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:855
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-1, -1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:858
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-1, -1]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:861
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([-1, -1]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:864
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([-1, -1]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:867
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([-1, -1]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:870
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([-1, -1]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:873
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-1, -1]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:876
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-1, -1]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:879
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-1, -1]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:882
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-1, -1]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:885
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-1, -1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:888
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-1, -1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:891
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([-1, -1]), f64x2([Infinity, Infinity])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:894
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([-1, -1]), f64x2([-Infinity, -Infinity])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:897
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([-1, -1]), f64x2([123456789, 123456789])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:900
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-1, -1]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:903
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-1, -1]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:906
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-1, -1]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:909
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([-1, -1]), f64x2([123456789, 123456789])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:912
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-1, -1]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:915
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-1, -1]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:918
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-1, -1]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:921
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-1, -1]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:924
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-1, -1]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:927
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-1, -1]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:930
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-1, -1]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:933
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-1, -1]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:936
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-1, -1]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:939
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-1, -1]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:942
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-1, -1]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:945
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-1, -1]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:948
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-1, -1]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:951
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-1, -1]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:954
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-1, -1]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:957
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-1, -1]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:960
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-1, -1]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:963
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-1, -1]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:966
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-1, -1]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:969
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:972
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:975
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:978
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:981
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:984
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:987
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:990
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:993
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:996
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:999
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1002
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1005
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1008
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1011
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1014
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1017
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1020
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1023
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1026
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1029
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1032
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1035
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1038
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1041
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1044
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1047
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1050
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1053
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1056
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1059
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1062
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1065
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1068
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1071
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1074
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1077
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1080
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1083
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1086
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1089
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1092
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1095
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1098
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1101
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1104
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1107
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1110
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1113
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1116
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1119
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1122
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1125
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1128
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1131
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1134
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1137
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1140
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1143
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1146
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1149
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1152
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1155
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1158
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1161
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1164
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1167
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1170
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1173
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1176
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1179
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1182
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1185
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1188
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1191
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1194
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1197
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1200
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1203
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1206
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1209
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1212
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1215
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1218
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1221
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1224
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1227
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1230
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1233
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1236
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1239
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1242
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1245
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1248
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1251
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1254
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1257
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1260
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1263
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1266
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1269
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1272
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1275
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1278
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1281
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1284
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1287
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1290
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1293
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1296
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1299
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1302
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1305
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1308
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1311
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1314
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1317
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1320
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1323
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1326
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1329
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1332
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1335
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1338
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1341
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1344
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1347
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1350
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1353
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1356
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1359
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1362
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1365
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1368
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1371
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1374
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1377
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1380
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1383
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1386
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1389
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1392
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1395
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1398
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1401
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1404
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1407
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1410
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1413
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1416
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1419
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1422
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1425
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1428
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1431
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1434
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1437
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1440
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1443
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1446
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1449
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1452
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1455
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1458
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1461
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1464
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1467
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1470
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1473
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1476
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1479
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1482
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1485
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1488
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1491
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1494
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1497
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1500
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1503
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1506
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1509
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1512
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1515
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1518
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1521
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1524
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1527
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1530
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1533
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1536
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1539
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1542
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1545
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1548
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1551
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1554
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1557
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1560
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1563
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1566
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1569
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1572
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1575
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1578
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1581
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1584
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1587
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1590
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1593
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1596
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1599
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1602
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1605
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1608
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1611
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1614
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1617
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1620
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1623
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1626
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1629
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1632
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1635
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1638
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1641
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1644
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1647
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1650
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1653
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1656
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1659
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1662
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1665
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1668
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1671
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1674
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1677
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1680
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1683
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1686
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1689
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([Infinity, Infinity]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1692
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([Infinity, Infinity]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1695
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1698
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1701
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([Infinity, Infinity]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1704
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([Infinity, Infinity]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1707
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([Infinity, Infinity]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1710
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([Infinity, Infinity]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1713
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1716
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1719
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1722
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1725
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1728
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1731
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1734
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1737
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1740
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1743
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1746
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1749
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1752
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1755
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1758
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1761
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1764
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1767
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1770
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1773
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1776
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1779
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1782
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1785
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1788
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1791
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1794
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1797
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1800
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1803
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1806
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1809
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([-Infinity, -Infinity]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1812
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([-Infinity, -Infinity]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1815
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1818
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1821
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([-Infinity, -Infinity]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1824
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([-Infinity, -Infinity]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1827
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([-Infinity, -Infinity]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1830
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([-Infinity, -Infinity]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1833
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1836
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1839
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1842
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1845
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1848
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1851
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1854
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1857
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1860
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1863
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1866
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1869
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1872
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1875
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1878
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1881
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1884
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1887
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1890
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1893
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1896
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1899
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1902
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1905
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1908
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1911
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1914
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1917
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1920
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1923
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1926
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1929
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([123456789, 123456789]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1932
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([123456789, 123456789]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1935
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1938
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1941
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([123456789, 123456789]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1944
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([123456789, 123456789]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1947
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([123456789, 123456789]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1950
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([123456789, 123456789]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1953
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1956
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1959
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1962
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1965
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1968
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1971
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1974
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1977
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1980
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1983
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1986
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1989
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1992
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1995
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:1998
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2001
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2004
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2007
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2010
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2013
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2016
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2019
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2022
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2025
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2028
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2031
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2034
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2037
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2040
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2043
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2046
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2049
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2052
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2055
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2058
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2061
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2064
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2067
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2070
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2073
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2076
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2079
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2082
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2085
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2088
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2091
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2094
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2097
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2100
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2103
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2106
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2109
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2112
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2115
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2118
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2121
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2124
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2127
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2130
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2133
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2136
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2139
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2142
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2145
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2148
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2151
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2154
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2157
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2160
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2163
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2166
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2169
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2172
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2175
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2178
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2181
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2184
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2187
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2190
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2193
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2196
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2199
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2202
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2205
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2208
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2211
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2214
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2217
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2220
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2223
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2226
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2229
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2232
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2235
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2238
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2241
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2244
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2247
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2250
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2253
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2256
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2259
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2262
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2265
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2268
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2271
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2274
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2277
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2280
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2283
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2286
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2289
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2292
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2295
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2298
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2301
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2304
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2307
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2310
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2313
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2316
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2319
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2322
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2325
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2328
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2331
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2334
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2337
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2340
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2343
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2346
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2349
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2352
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2355
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2358
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2361
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2364
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2367
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2370
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2373
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2376
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2379
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2382
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2385
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2388
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2391
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2394
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2397
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2400
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2403
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2406
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2409
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([123456789, 123456789]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2412
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([123456789, 123456789]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2415
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2418
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2421
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([123456789, 123456789]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2424
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([123456789, 123456789]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2427
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([123456789, 123456789]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2430
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [f64x2([123456789, 123456789]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2433
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2436
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2439
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2442
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2445
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2448
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2451
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2454
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2457
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2460
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2463
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2466
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2469
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2472
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2475
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2478
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2481
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2484
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2487
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2490
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2493
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2496
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2499
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2502
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2505
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2508
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2511
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2514
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2517
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2520
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2523
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2526
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2529
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2532
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2535
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2538
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2541
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2544
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2547
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2550
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2553
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2556
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2559
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2562
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2565
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2568
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2571
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2574
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2577
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2580
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2583
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2586
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2589
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2592
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2595
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2598
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2601
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2604
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2607
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2610
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2613
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2616
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2619
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2622
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2625
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2628
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2631
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2634
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2637
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2640
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2643
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2646
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2649
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2652
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2655
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2658
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2661
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2664
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2667
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2670
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2673
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2676
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2679
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2682
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2685
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2688
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2691
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2694
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2697
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2700
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2703
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2706
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2709
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2712
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2715
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2718
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2721
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2724
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2727
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2730
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2733
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2736
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2739
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2742
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2745
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2748
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2751
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2754
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2757
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2760
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2763
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2766
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2769
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2772
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2775
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2778
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2781
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2784
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2787
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2790
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2793
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2796
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2799
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2802
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2805
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2808
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2811
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2814
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2817
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2820
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2823
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2826
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2829
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2832
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2835
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2838
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2841
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2844
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2847
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2850
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2853
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2856
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2859
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2862
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2865
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2868
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2871
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2874
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2877
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2880
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2883
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2886
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2889
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2892
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2895
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2898
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2901
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2904
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2907
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2910
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2913
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2916
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2919
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2922
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2925
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2928
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2931
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2934
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2937
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2940
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2943
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2946
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2949
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2952
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2955
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2958
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2961
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2964
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2967
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2970
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2973
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2976
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2979
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2982
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2985
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2988
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2991
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2994
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:2997
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3000
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3003
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3006
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3009
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3012
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3015
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3018
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3021
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3024
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3027
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3030
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3033
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3036
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3039
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3042
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3045
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3048
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3051
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3054
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3057
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3060
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3063
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3066
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3069
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3072
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3075
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3078
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3081
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3084
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3087
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3090
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3093
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3096
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3099
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3102
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3105
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3108
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3111
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3114
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3117
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3120
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3123
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3126
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3129
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3132
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3135
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3138
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3141
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3144
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3147
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3150
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3153
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3156
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3159
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3162
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3165
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3168
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3171
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3174
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3177
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3180
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3183
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3186
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3189
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3192
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3195
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3198
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3201
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3204
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3207
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3210
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3213
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3216
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3219
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3222
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3225
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3228
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3231
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3234
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3237
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3240
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3243
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3246
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3249
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3252
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3255
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3258
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3261
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3264
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3267
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3270
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3273
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3276
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3279
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3282
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3285
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3288
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3291
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3294
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3297
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3300
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3303
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3306
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3309
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3312
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3315
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3318
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3321
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3324
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3327
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3330
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3333
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3336
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3339
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3342
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3345
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3348
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3351
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3354
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3357
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3360
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3363
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3366
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3369
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3372
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3375
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3378
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3381
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3384
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3387
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3390
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3393
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3396
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3399
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3402
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3405
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3408
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3411
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3414
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3417
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3420
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3423
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3426
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3429
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3432
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3435
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3438
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3441
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3444
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3447
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3450
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3453
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3456
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3459
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3462
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3465
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3468
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3471
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3474
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3477
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3480
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3483
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3486
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3489
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3492
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3495
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3498
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3501
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3504
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3507
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3510
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3513
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3516
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3519
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3522
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3525
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3528
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3531
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3534
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3537
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3540
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3543
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3546
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3549
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3552
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3555
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3558
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3561
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3564
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3567
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3570
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3573
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3576
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3579
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3582
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3585
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3588
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3591
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3594
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3597
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3600
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3603
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3606
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3609
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3612
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3615
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3618
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3621
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3624
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3627
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3630
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3633
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3636
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3639
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3642
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3645
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3648
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3651
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3654
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3657
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3660
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3663
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3666
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3669
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3672
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3675
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3678
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3681
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3684
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3687
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3690
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3693
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3696
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3699
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3702
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3705
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3708
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3711
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3714
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3717
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3720
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3723
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3726
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3729
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3732
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3735
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3738
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3741
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3744
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3747
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3750
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3753
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3756
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3759
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3762
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3765
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3768
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3771
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3774
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3777
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3780
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3783
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3786
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3789
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3792
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3795
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3798
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3801
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3804
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3807
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3810
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3813
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3816
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3819
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3822
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3825
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3828
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3831
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3834
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3837
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3840
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3843
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3846
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3849
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3852
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3855
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3858
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3861
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3864
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3867
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3870
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3873
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3876
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3879
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3882
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3885
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3888
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3891
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3894
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3897
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3900
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3903
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3906
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3909
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3912
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3915
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3918
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3921
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3924
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3927
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3930
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3933
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3936
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3939
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3942
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3945
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3948
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3951
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3954
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3957
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3960
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3963
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3966
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3969
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3972
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3975
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3978
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3981
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3984
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3987
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3990
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3993
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3996
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:3999
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4002
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4005
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4008
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4011
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4014
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4017
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4020
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4023
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4026
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4029
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4032
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4035
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4038
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4041
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4044
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4047
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4050
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4053
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4056
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4059
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4062
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4065
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4068
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4071
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4074
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4077
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4080
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4083
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4086
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4089
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4092
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4095
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4098
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4101
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4104
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4107
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4110
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4113
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4116
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4119
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4122
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4125
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4128
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4131
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4134
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4137
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4140
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4143
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4146
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4149
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4152
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4155
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4158
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4161
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4164
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4167
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4170
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4173
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4176
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4179
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4182
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4185
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4188
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4191
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4194
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4197
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4200
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4203
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4206
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4209
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4212
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4215
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4218
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4221
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4224
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4227
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4230
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4233
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4236
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4239
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4242
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4245
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4248
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4251
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4254
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4257
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4260
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4263
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4266
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4269
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4272
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4275
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4278
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4281
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4284
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4287
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4290
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4293
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4296
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4299
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4302
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4305
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4308
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4311
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4314
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4317
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4320
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4323
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4326
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4329
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4332
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4335
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4338
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4341
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4344
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4347
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4350
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4353
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4356
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4359
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4362
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4365
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4368
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4371
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4374
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4377
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4380
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4383
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4386
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4389
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4392
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4395
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4398
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4401
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4404
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4407
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4410
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4413
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4416
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4419
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4422
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4425
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4428
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4431
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4434
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4437
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4440
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4443
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4446
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4449
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4452
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4455
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4458
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4461
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4464
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4467
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4470
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4473
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4476
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4479
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4482
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4485
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4488
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4491
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4494
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4497
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4500
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4503
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4506
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4509
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4512
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4515
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4518
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4521
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4524
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4527
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4530
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4533
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4536
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4539
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4542
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4545
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4548
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4551
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4554
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4557
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4560
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4563
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4566
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4569
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4572
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4575
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4578
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4581
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4584
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4587
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4590
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4593
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4596
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4599
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4602
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4605
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4608
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4611
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4614
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4617
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4620
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4623
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4626
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4629
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4632
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4635
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4638
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4641
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4644
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4647
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4650
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4653
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4656
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4659
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4662
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4665
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4668
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4671
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4674
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4677
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4680
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4683
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4686
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4689
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4692
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4695
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4698
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4701
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4704
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4707
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4710
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4713
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4716
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4719
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4722
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4725
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4728
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4731
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4734
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4737
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4740
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4743
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4746
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4749
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4752
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4755
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4758
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4761
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4764
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4767
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4770
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4773
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4776
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4779
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4782
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4785
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4788
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4791
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4794
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4797
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4800
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4803
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4806
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4809
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4812
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4815
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4818
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4821
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4824
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4827
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4830
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4833
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4836
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4839
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4842
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4845
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4848
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4851
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4854
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4857
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4860
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4863
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4866
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4869
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4872
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4875
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4878
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4881
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4884
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4887
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4890
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4893
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4896
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4899
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4902
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4905
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4908
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4911
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4914
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4917
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4920
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4923
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4926
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4929
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4932
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4935
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4938
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4941
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4944
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4947
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4950
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4953
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4956
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4959
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4962
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4965
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4968
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4971
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4974
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4977
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4980
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4983
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4986
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4989
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4992
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4995
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:4998
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5001
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5004
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5007
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5010
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5013
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5016
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5019
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5022
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5025
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5028
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5031
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5034
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5037
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5040
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5043
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5046
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5049
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5052
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5055
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5058
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5061
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5064
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5067
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5070
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5073
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5076
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5079
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5082
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5085
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5088
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5091
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5094
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5097
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5100
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5103
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5106
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5109
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5112
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5115
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5118
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5121
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5124
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5127
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5130
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5133
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5136
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5139
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5142
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5145
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5148
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5151
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5154
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5157
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5160
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5163
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5166
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5169
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5172
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5175
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5178
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5181
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5184
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5187
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5190
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5193
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5196
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5199
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5202
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5205
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5208
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5211
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5214
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5217
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5220
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5223
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5226
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5229
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5232
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5235
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5238
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5241
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5244
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5247
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5250
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5253
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5256
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5259
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5262
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5265
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5268
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5271
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5274
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5277
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5280
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5283
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5286
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5289
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5292
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5295
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5298
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5301
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5304
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5307
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5310
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5313
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5316
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5319
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5322
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5325
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5328
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5331
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5334
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5337
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5340
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5343
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5346
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5349
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5352
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5355
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5358
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5361
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5364
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5367
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5370
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5373
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5376
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5379
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5382
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5385
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5388
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5391
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5394
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5397
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5400
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5403
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5406
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5409
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5412
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5415
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5418
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5421
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5424
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5427
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5430
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5433
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5436
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5439
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5442
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5445
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5448
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5451
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5454
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5457
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5460
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5463
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5466
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5469
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5472
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5475
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5478
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5481
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5484
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5487
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5490
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5493
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5496
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5499
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5502
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5505
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5508
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5511
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5514
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5517
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5520
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5523
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5526
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5529
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5532
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5535
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5538
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5541
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5544
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5547
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5550
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5553
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5556
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5559
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5562
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5565
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5568
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5571
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5574
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5577
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5580
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5583
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5586
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5589
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5592
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5595
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5598
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5601
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5604
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5607
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5610
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5613
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5616
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5619
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5622
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5625
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5628
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5631
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5634
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5637
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5640
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5643
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5646
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5649
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5652
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5655
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5658
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5661
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5664
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5667
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5670
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5673
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5676
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5679
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5682
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5685
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5688
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5691
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5694
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5697
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5700
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5703
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5706
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5709
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5712
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5715
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5718
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5721
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5724
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5727
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5730
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5733
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5736
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5739
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5742
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([-Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5745
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5748
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5751
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5754
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5757
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789, 123456789]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5760
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5763
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5766
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5769
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5772
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5775
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5778
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5781
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5784
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5787
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5790
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5793
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5796
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5799
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5802
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5805
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5808
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5811
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5814
+assert_return(
+ () => invoke($0, `f64x2.pmin`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5817
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([0, 0]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5820
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([0, 0]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5823
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0, 0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5826
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0, 0]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5829
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([0, 0]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5832
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([0, 0]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5835
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([0, 0]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5838
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([0, 0]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5841
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0, 0]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5844
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0, 0]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5847
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0, 0]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5850
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0, 0]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5853
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0, 0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5856
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0, 0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5859
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([0, 0]), f64x2([Infinity, Infinity])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5862
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([0, 0]), f64x2([-Infinity, -Infinity])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5865
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([0, 0]), f64x2([123456789, 123456789])]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5868
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0, 0]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5871
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0, 0]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5874
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0, 0]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5877
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([0, 0]), f64x2([123456789, 123456789])]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5880
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0, 0]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5883
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0, 0]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5886
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0, 0]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5889
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0, 0]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5892
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0, 0]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5895
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0, 0]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5898
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0, 0]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5901
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0, 0]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5904
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0, 0]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5907
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0, 0]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5910
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0, 0]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5913
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0, 0]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5916
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0, 0]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5919
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0, 0]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5922
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0, 0]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5925
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0, 0]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5928
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0, 0]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5931
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0, 0]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5934
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0, 0]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5937
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([-0, -0]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5940
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([-0, -0]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5943
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0, -0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5946
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0, -0]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5949
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([-0, -0]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5952
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([-0, -0]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5955
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([-0, -0]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5958
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([-0, -0]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5961
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0, -0]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5964
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0, -0]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5967
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0, -0]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5970
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0, -0]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5973
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0, -0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5976
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0, -0]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5979
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([-0, -0]), f64x2([Infinity, Infinity])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5982
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([-0, -0]), f64x2([-Infinity, -Infinity])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5985
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([-0, -0]), f64x2([123456789, 123456789])]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5988
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0, -0]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5991
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0, -0]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5994
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0, -0]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:5997
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([-0, -0]), f64x2([123456789, 123456789])]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6000
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0, -0]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6003
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0, -0]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6006
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0, -0]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6009
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0, -0]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6012
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0, -0]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6015
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0, -0]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6018
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0, -0]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6021
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0, -0]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6024
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0, -0]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6027
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0, -0]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6030
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0, -0]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6033
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0, -0]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6036
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0, -0]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6039
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0, -0]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6042
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0, -0]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6045
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0, -0]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6048
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0, -0]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6051
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0, -0]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6054
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0, -0]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6057
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6060
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6063
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6066
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6069
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6072
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6075
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6078
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6081
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6084
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6087
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6090
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6093
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6096
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6099
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6102
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6105
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6108
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6111
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6114
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6117
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6120
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6123
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6126
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6129
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6132
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6135
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6138
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6141
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6144
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6147
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6150
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6153
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6156
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6159
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6162
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6165
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6168
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6171
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6174
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6177
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6180
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6183
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6186
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6189
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6192
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6195
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6198
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6201
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6204
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6207
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6210
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6213
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6216
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6219
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6222
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6225
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6228
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6231
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6234
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6237
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6240
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6243
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6246
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6249
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6252
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6255
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6258
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6261
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6264
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6267
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6270
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6273
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6276
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6279
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6282
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6285
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6288
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6291
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6294
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6297
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([0.5, 0.5]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6300
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([0.5, 0.5]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6303
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6306
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6309
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([0.5, 0.5]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6312
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([0.5, 0.5]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6315
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([0.5, 0.5]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6318
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([0.5, 0.5]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6321
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.5, 0.5]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6324
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.5, 0.5]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6327
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6330
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6333
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6336
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.5, 0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6339
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([0.5, 0.5]), f64x2([Infinity, Infinity])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6342
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([0.5, 0.5]), f64x2([-Infinity, -Infinity])]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6345
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([0.5, 0.5]), f64x2([123456789, 123456789])]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6348
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.5, 0.5]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6351
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.5, 0.5]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6354
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.5, 0.5]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6357
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([0.5, 0.5]), f64x2([123456789, 123456789])]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6360
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.5, 0.5]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6363
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.5, 0.5]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6366
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.5, 0.5]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6369
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.5, 0.5]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6372
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.5, 0.5]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6375
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.5, 0.5]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6378
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.5, 0.5]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6381
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.5, 0.5]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6384
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.5, 0.5]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6387
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.5, 0.5]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6390
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.5, 0.5]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6393
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.5, 0.5]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6396
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.5, 0.5]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6399
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.5, 0.5]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6402
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.5, 0.5]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6405
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.5, 0.5]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6408
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.5, 0.5]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6411
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.5, 0.5]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6414
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.5, 0.5]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6417
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([-0.5, -0.5]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6420
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([-0.5, -0.5]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6423
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6426
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6429
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([-0.5, -0.5]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6432
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([-0.5, -0.5]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6435
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([-0.5, -0.5]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6438
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([-0.5, -0.5]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6441
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6444
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6447
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6450
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6453
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6456
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6459
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([-0.5, -0.5]), f64x2([Infinity, Infinity])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6462
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([-0.5, -0.5]), f64x2([-Infinity, -Infinity])]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6465
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([-0.5, -0.5]), f64x2([123456789, 123456789])]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6468
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6471
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6474
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6477
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([-0.5, -0.5]), f64x2([123456789, 123456789])]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6480
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6483
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6486
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6489
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6492
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6495
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6498
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6501
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6504
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6507
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6510
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6513
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6516
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6519
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6522
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6525
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6528
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6531
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6534
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0.5, -0.5]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6537
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([1, 1]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6540
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([1, 1]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6543
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1, 1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6546
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1, 1]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6549
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([1, 1]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6552
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([1, 1]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6555
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([1, 1]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6558
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([1, 1]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6561
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1, 1]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6564
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1, 1]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6567
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1, 1]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6570
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1, 1]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6573
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1, 1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6576
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1, 1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6579
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([1, 1]), f64x2([Infinity, Infinity])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6582
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([1, 1]), f64x2([-Infinity, -Infinity])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6585
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([1, 1]), f64x2([123456789, 123456789])]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6588
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1, 1]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6591
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1, 1]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6594
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1, 1]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6597
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([1, 1]), f64x2([123456789, 123456789])]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6600
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1, 1]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6603
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1, 1]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6606
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1, 1]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6609
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1, 1]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6612
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1, 1]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6615
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1, 1]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6618
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1, 1]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6621
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1, 1]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6624
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1, 1]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6627
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1, 1]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6630
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1, 1]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6633
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1, 1]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6636
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1, 1]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6639
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1, 1]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6642
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1, 1]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6645
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1, 1]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6648
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1, 1]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6651
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1, 1]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6654
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1, 1]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6657
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([-1, -1]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6660
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([-1, -1]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6663
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-1, -1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6666
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-1, -1]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6669
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([-1, -1]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6672
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([-1, -1]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6675
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([-1, -1]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6678
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([-1, -1]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6681
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-1, -1]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6684
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-1, -1]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6687
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-1, -1]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6690
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-1, -1]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6693
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-1, -1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6696
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-1, -1]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6699
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([-1, -1]), f64x2([Infinity, Infinity])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6702
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([-1, -1]), f64x2([-Infinity, -Infinity])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6705
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([-1, -1]), f64x2([123456789, 123456789])]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6708
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-1, -1]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6711
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-1, -1]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6714
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-1, -1]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6717
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([-1, -1]), f64x2([123456789, 123456789])]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6720
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-1, -1]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6723
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-1, -1]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6726
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-1, -1]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6729
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-1, -1]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6732
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-1, -1]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6735
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-1, -1]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6738
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-1, -1]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6741
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-1, -1]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6744
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-1, -1]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6747
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-1, -1]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6750
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-1, -1]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6753
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-1, -1]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6756
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-1, -1]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6759
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-1, -1]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6762
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-1, -1]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6765
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-1, -1]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6768
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-1, -1]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6771
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-1, -1]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6774
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-1, -1]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6777
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6780
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6783
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6786
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6789
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6792
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6795
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6798
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6801
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6804
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6807
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6810
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6813
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6816
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6819
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6822
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6825
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6828
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6831
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6834
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6837
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6840
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6843
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6846
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6849
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6852
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6855
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6858
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6861
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6864
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6867
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6870
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6873
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6876
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6879
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6882
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6885
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6888
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6891
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6894
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6897
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6900
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6903
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6906
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6909
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6912
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6915
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6918
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6921
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6924
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6927
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6930
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6933
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6936
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6939
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6942
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6945
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6948
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6951
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6954
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6957
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6960
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6963
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6966
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6969
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6972
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6975
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6978
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6981
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6984
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6987
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6990
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6993
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6996
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:6999
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7002
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7005
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7008
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7011
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7014
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7017
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7020
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7023
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7026
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7029
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7032
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7035
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7038
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7041
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7044
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7047
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7050
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7053
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7056
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7059
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7062
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7065
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7068
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7071
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7074
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7077
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7080
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7083
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7086
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7089
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7092
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7095
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7098
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7101
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7104
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7107
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7110
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7113
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7116
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7119
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7122
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7125
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7128
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7131
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7134
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7137
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7140
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7143
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7146
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7149
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7152
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7155
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7158
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7161
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7164
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7167
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7170
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7173
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7176
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7179
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7182
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7185
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7188
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7191
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7194
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7197
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7200
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7203
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7206
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7209
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7212
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7215
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7218
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7221
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7224
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7227
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7230
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7233
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7236
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7239
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7242
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7245
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7248
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7251
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7254
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7257
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7260
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7263
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7266
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7269
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7272
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7275
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7278
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7281
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7284
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7287
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7290
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7293
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7296
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7299
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7302
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7305
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7308
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7311
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7314
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7317
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7320
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7323
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7326
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7329
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7332
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7335
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7338
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7341
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7344
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7347
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7350
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7353
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7356
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7359
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7362
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7365
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7368
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7371
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7374
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7377
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7380
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7383
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7386
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7389
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7392
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7395
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7398
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7401
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7404
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7407
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7410
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7413
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7416
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7419
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7422
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7425
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7428
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7431
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7434
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7437
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7440
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7443
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7446
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7449
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7452
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7455
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7458
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7461
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7464
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7467
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7470
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7473
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7476
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7479
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7482
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7485
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7488
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7491
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7494
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7497
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([Infinity, Infinity]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7500
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([Infinity, Infinity]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7503
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7506
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7509
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([Infinity, Infinity]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7512
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([Infinity, Infinity]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7515
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([Infinity, Infinity]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7518
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([Infinity, Infinity]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7521
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7524
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7527
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7530
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7533
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7536
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7539
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7542
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7545
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7548
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7551
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7554
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7557
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7560
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7563
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7566
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7569
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7572
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7575
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7578
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7581
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7584
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7587
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7590
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7593
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7596
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7599
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7602
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7605
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7608
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7611
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7614
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([Infinity, Infinity]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7617
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([-Infinity, -Infinity]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7620
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([-Infinity, -Infinity]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7623
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7626
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7629
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([-Infinity, -Infinity]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7632
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([-Infinity, -Infinity]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7635
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([-Infinity, -Infinity]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7638
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([-Infinity, -Infinity]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7641
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7644
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7647
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7650
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7653
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7656
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7659
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7662
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7665
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7668
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7671
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7674
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7677
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7680
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7683
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7686
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7689
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7692
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7695
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7698
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7701
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7704
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7707
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7710
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7713
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7716
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7719
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7722
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7725
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7728
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7731
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7734
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-Infinity, -Infinity]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7737
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([123456789, 123456789]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7740
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([123456789, 123456789]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7743
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7746
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7749
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([123456789, 123456789]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7752
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([123456789, 123456789]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7755
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([123456789, 123456789]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7758
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([123456789, 123456789]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7761
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7764
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7767
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7770
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7773
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7776
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7779
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7782
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7785
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7788
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7791
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7794
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7797
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7800
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7803
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7806
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7809
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7812
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7815
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7818
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7821
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7824
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7827
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7830
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7833
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7836
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7839
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7842
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7845
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7848
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7851
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7854
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7857
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7860
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7863
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7866
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7869
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7872
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7875
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7878
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7881
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7884
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7887
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7890
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7893
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7896
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7899
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7902
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7905
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7908
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7911
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7914
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7917
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7920
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7923
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7926
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7929
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7932
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7935
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7938
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7941
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7944
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7947
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7950
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7953
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7956
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7959
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7962
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7965
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7968
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7971
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7974
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7977
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7980
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7983
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7986
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7989
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7992
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7995
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:7998
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8001
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8004
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8007
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8010
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8013
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8016
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8019
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8022
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8025
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8028
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8031
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8034
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8037
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8040
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8043
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8046
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8049
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8052
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8055
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8058
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8061
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8064
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8067
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8070
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8073
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8076
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8079
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8082
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8085
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8088
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8091
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8094
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8097
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8100
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8103
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8106
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8109
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8112
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8115
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8118
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8121
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8124
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8127
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8130
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8133
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8136
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8139
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8142
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8145
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8148
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8151
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8154
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8157
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8160
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8163
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8166
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8169
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8172
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8175
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8178
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8181
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8184
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8187
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8190
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8193
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8196
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8199
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8202
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8205
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8208
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8211
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8214
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8217
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([123456789, 123456789]), f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8220
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([123456789, 123456789]), f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8223
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8226
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8229
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([123456789, 123456789]), f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8232
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([123456789, 123456789]), f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8235
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([123456789, 123456789]), f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8238
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [f64x2([123456789, 123456789]), f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8241
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8244
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8247
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8250
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8253
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8256
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8259
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8262
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8265
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8268
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8271
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8274
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8277
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8280
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8283
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8286
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8289
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8292
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8295
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8298
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8301
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8304
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8307
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8310
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8313
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8316
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8319
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8322
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8325
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8328
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8331
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8334
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8337
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8340
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8343
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8346
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8349
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8352
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8355
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8358
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8361
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8364
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8367
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8370
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8373
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8376
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8379
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8382
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8385
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8388
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8391
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8394
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8397
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8400
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8403
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8406
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8409
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8412
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8415
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8418
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8421
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8424
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8427
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8430
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8433
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8436
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8439
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8442
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8445
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8448
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8451
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8454
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8457
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8460
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8463
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8466
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8469
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8472
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8475
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8478
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8481
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8484
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8487
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8490
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8493
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8496
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8499
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8502
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8505
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8508
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8511
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8514
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8517
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8520
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8523
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8526
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8529
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8532
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8535
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8538
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8541
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8544
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8547
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8550
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8553
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8556
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8559
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8562
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8565
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8568
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8571
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8574
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8577
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8580
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8583
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8586
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8589
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8592
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8595
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8598
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8601
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8604
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8607
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8610
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8613
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8616
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8619
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8622
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8625
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8628
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8631
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8634
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8637
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8640
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8643
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8646
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8649
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8652
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8655
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8658
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8661
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8664
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8667
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8670
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8673
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8676
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8679
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8682
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8685
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8688
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8691
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8694
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8697
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8700
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8703
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8706
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8709
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8712
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8715
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8718
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8721
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8724
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8727
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8730
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8733
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8736
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8739
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8742
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8745
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8748
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8751
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8754
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8757
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8760
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8763
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8766
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8769
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8772
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8775
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8778
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8781
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8784
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8787
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8790
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8793
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8796
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8799
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8802
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8805
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8808
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8811
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8814
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8817
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8820
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8823
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8826
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8829
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8832
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8835
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8838
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8841
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8844
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8847
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8850
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8853
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8856
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8859
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8862
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8865
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8868
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8871
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8874
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8877
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8880
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8883
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8886
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8889
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8892
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8895
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8898
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8901
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8904
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8907
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8910
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8913
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8916
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8919
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8922
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8925
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8928
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8931
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8934
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8937
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8940
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8943
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8946
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8949
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8952
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8955
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8958
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8961
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8964
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8967
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8970
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8973
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8976
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8979
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8982
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8985
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8988
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8991
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8994
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:8997
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9000
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9003
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9006
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9009
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9012
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9015
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9018
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9021
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9024
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9027
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9030
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9033
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9036
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9039
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9042
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9045
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9048
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9051
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9054
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9057
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9060
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9063
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9066
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9069
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9072
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9075
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([1, 1]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9078
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9081
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9084
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9087
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9090
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9093
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9096
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9099
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9102
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9105
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9108
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9111
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9114
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9117
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9120
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9123
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9126
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9129
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9132
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9135
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9138
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9141
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9144
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9147
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9150
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9153
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9156
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9159
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9162
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9165
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9168
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9171
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9174
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9177
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9180
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9183
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9186
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9189
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9192
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9195
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9198
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9201
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9204
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9207
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9210
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9213
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9216
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9219
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9222
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9225
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9228
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9231
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9234
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9237
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9240
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9243
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9246
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9249
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9252
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9255
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9258
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9261
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9264
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9267
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9270
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9273
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9276
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9279
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9282
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9285
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9288
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9291
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9294
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9297
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9300
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9303
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9306
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9309
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9312
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9315
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9318
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9321
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9324
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9327
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9330
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9333
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9336
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9339
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9342
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9345
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9348
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9351
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9354
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9357
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9360
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9363
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9366
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9369
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9372
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9375
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9378
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9381
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9384
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9387
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9390
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9393
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9396
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9399
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9402
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9405
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9408
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9411
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9414
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9417
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9420
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9423
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9426
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9429
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9432
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9435
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9438
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9441
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9444
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9447
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9450
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9453
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9456
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9459
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9462
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9465
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9468
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9471
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9474
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9477
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9480
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9483
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9486
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9489
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9492
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9495
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9498
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9501
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9504
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9507
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9510
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9513
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9516
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9519
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9522
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9525
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9528
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9531
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9534
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9537
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9540
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9543
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9546
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9549
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9552
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9555
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9558
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9561
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9564
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9567
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9570
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9573
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9576
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9579
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9582
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9585
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9588
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9591
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9594
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9597
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9600
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9603
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9606
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9609
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9612
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9615
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9618
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9621
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9624
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9627
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9630
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9633
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9636
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9639
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9642
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9645
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9648
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9651
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9654
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9657
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9660
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9663
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9666
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9669
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9672
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9675
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9678
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9681
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9684
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9687
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9690
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9693
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9696
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9699
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9702
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9705
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9708
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9711
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9714
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9717
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9720
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9723
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9726
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9729
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9732
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9735
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9738
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9741
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9744
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9747
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9750
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9753
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9756
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9759
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9762
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9765
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9768
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9771
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9774
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9777
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9780
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9783
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9786
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9789
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9792
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9795
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9798
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9801
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9804
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9807
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9810
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9813
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9816
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9819
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9822
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9825
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9828
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9831
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9834
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9837
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9840
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9843
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9846
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9849
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9852
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9855
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9858
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9861
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9864
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9867
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9870
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9873
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9876
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9879
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9882
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9885
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9888
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9891
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9894
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9897
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9900
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9903
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9906
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9909
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9912
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9915
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9918
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9921
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9924
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9927
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9930
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9933
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9936
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9939
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9942
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9945
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9948
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9951
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9954
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9957
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9960
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9963
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9966
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9969
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9972
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9975
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9978
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9981
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9984
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9987
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9990
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9993
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9996
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:9999
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10002
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10005
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10008
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10011
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10014
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10017
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10020
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10023
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10026
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10029
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10032
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10035
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10038
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10041
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10044
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10047
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10050
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10053
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10056
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10059
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10062
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10065
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10068
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10071
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10074
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10077
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10080
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10083
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10086
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10089
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10092
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10095
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10098
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10101
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10104
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10107
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10110
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10113
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10116
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10119
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10122
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10125
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10128
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10131
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10134
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10137
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10140
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10143
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10146
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10149
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10152
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10155
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10158
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10161
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10164
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10167
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10170
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10173
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10176
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10179
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10182
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10185
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10188
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10191
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10194
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10197
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10200
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10203
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10206
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10209
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10212
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10215
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10218
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10221
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10224
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10227
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10230
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10233
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10236
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10239
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10242
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10245
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10248
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10251
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10254
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10257
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10260
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10263
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10266
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10269
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10272
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10275
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10278
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10281
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10284
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10287
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10290
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10293
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10296
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10299
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10302
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10305
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10308
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10311
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10314
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10317
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10320
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10323
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10326
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10329
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10332
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10335
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10338
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10341
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10344
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10347
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10350
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10353
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10356
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10359
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10362
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10365
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10368
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10371
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10374
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10377
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10380
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10383
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10386
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10389
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10392
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10395
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10398
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10401
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10404
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10407
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10410
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10413
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10416
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10419
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10422
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10425
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10428
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10431
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10434
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10437
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10440
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10443
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10446
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10449
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10452
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10455
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10458
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10461
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10464
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10467
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10470
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10473
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10476
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10479
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10482
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10485
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10488
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10491
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10494
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10497
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10500
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10503
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10506
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10509
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10512
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10515
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10518
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10521
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10524
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10527
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10530
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10533
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10536
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10539
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10542
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10545
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10548
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10551
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10554
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10557
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10560
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10563
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10566
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10569
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10572
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10575
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10578
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10581
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10584
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10587
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10590
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10593
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10596
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10599
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10602
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10605
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10608
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10611
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10614
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10617
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10620
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10623
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10626
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10629
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10632
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10635
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10638
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10641
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10644
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10647
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10650
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10653
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10656
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10659
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10662
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10665
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10668
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10671
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10674
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10677
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10680
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10683
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10686
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10689
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10692
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10695
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10698
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10701
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10704
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10707
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10710
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10713
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10716
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10719
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10722
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10725
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10728
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10731
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10734
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10737
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10740
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10743
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10746
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10749
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10752
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10755
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10758
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10761
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10764
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10767
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10770
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10773
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10776
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10779
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10782
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10785
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10788
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10791
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10794
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10797
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10800
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10803
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10806
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10809
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10812
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10815
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10818
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10821
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10824
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10827
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10830
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10833
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10836
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10839
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10842
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10845
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10848
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10851
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10854
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10857
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10860
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10863
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10866
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10869
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10872
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10875
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10878
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10881
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10884
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10887
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10890
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10893
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10896
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10899
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10902
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10905
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10908
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10911
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10914
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10917
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10920
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10923
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10926
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10929
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10932
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10935
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10938
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10941
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10944
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10947
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10950
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10953
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10956
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10959
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10962
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10965
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10968
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10971
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10974
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10977
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10980
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10983
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10986
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10989
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10992
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10995
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:10998
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11001
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11004
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11007
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11010
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11013
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([0, 0]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11016
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-0, -0]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11019
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11022
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11025
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([0.5, 0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11028
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-0.5, -0.5]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11031
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([1, 1]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11034
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-1, -1]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11037
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([6.283185307179586, 6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11040
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11043
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11046
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11049
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11052
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11055
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([Infinity, Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11058
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([-Infinity, -Infinity]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11061
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11064
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11067
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11070
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11073
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([123456789, 123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11076
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11079
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11082
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11085
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([123456789.01234567, 123456789.01234567]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11088
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11091
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11094
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11097
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11100
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11103
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11106
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11109
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11112
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11115
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11118
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11121
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11124
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11127
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11130
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ f64x2([2623536934927580700, 2623536934927580700]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11133
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11136
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11139
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11142
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11145
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11148
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11151
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11154
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11157
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11160
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11163
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11166
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11169
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11172
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11175
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11178
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11181
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11184
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11187
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11190
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11193
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11196
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11199
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11202
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11205
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11208
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11211
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11214
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11217
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11220
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11223
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11226
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11229
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11232
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11235
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11238
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11241
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11244
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11247
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11250
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11253
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11256
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11259
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11262
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11265
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11268
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11271
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11274
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11277
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11280
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11283
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11286
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11289
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11292
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11295
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11298
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11301
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11304
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11307
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11310
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11313
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11316
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11319
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11322
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11325
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11328
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11331
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11334
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11337
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11340
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11343
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11346
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11349
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11352
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11355
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11358
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11361
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11364
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11367
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11370
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11373
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11376
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11379
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11382
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11385
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11388
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11391
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11394
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11397
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11400
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11403
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11406
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11409
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11412
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11415
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11418
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11421
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11424
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11427
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11430
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11433
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11436
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11439
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11442
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11445
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11448
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11451
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11454
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11457
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11460
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11463
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11466
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11469
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11472
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11475
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11478
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11481
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11484
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11487
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11490
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11493
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11496
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11499
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11502
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11505
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0, 0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11508
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0, -0]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11511
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11514
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11517
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.5, 0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11520
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-0.5, -0.5]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11523
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1, 1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11526
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-1, -1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11529
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([6.283185307179586, 6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11532
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-6.283185307179586, -6.283185307179586]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11535
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11538
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11541
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11544
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11547
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([Infinity, Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11550
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([-Infinity, -Infinity]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11553
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11556
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11559
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11562
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11565
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789, 123456789]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11568
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11571
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11574
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.0000000000123456789),
+ value("f64", 0.0000000000123456789),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11577
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([123456789.01234567, 123456789.01234567]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 123456789.01234567),
+ value("f64", 123456789.01234567),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11580
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11583
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11586
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000012345678901234568),
+ value("f64", 0.000000000012345678901234568),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11589
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11592
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11595
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11598
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11601
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11604
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11607
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11610
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11613
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11616
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11619
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11622
+assert_return(
+ () => invoke($0, `f64x2.pmax`, [
+ f64x2([2623536934927580700, 2623536934927580700]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11629
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i8x16.pmin (v128.const i32x4 0 0 0 0) (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11630
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i8x16.pmax (v128.const i32x4 0 0 0 0) (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11631
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i16x8.pmin (v128.const i32x4 0 0 0 0) (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11632
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i16x8.pmax (v128.const i32x4 0 0 0 0) (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11633
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i32x4.pmin (v128.const i32x4 0 0 0 0) (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11634
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i32x4.pmax (v128.const i32x4 0 0 0 0) (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11635
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i64x2.pmin (v128.const i32x4 0 0 0 0) (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11636
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i64x2.pmax (v128.const i32x4 0 0 0 0) (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11639
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (f64x2.pmin (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11640
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (f64x2.pmax (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11644
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f64x2.pmin-1st-arg-empty (result v128)
+ (f64x2.pmin (v128.const f64x2 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11652
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f64x2.pmin-arg-empty (result v128)
+ (f64x2.pmin)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11660
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f64x2.pmax-1st-arg-empty (result v128)
+ (f64x2.pmax (v128.const f64x2 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f64x2_pmin_pmax.wast:11668
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f64x2.pmax-arg-empty (result v128)
+ (f64x2.pmax)
+ )
+ )`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/simd_f64x2_rounding.wast.js b/js/src/jit-test/tests/wasm/spec/spec/simd_f64x2_rounding.wast.js
new file mode 100644
index 0000000000..c787804bc2
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/simd_f64x2_rounding.wast.js
@@ -0,0 +1,2210 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_f64x2_rounding.wast
+
+// ./test/core/simd/simd_f64x2_rounding.wast:4
+let $0 = instantiate(`(module
+ (func (export "f64x2.ceil") (param v128) (result v128) (f64x2.ceil (local.get 0)))
+ (func (export "f64x2.floor") (param v128) (result v128) (f64x2.floor (local.get 0)))
+ (func (export "f64x2.trunc") (param v128) (result v128) (f64x2.trunc (local.get 0)))
+ (func (export "f64x2.nearest") (param v128) (result v128) (f64x2.nearest (local.get 0)))
+)`);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:11
+assert_return(
+ () => invoke($0, `f64x2.ceil`, [f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:13
+assert_return(
+ () => invoke($0, `f64x2.ceil`, [f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:15
+assert_return(
+ () => invoke($0, `f64x2.ceil`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:17
+assert_return(
+ () => invoke($0, `f64x2.ceil`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:19
+assert_return(
+ () => invoke($0, `f64x2.ceil`, [f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:21
+assert_return(
+ () => invoke($0, `f64x2.ceil`, [f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:23
+assert_return(
+ () => invoke($0, `f64x2.ceil`, [f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:25
+assert_return(
+ () => invoke($0, `f64x2.ceil`, [f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:27
+assert_return(
+ () => invoke($0, `f64x2.ceil`, [f64x2([6.283185307179586, 6.283185307179586])]),
+ [new F64x2Pattern(value("f64", 7), value("f64", 7))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:29
+assert_return(
+ () => invoke($0, `f64x2.ceil`, [f64x2([-6.283185307179586, -6.283185307179586])]),
+ [new F64x2Pattern(value("f64", -6), value("f64", -6))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:31
+assert_return(
+ () => invoke($0, `f64x2.ceil`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:33
+assert_return(
+ () => invoke($0, `f64x2.ceil`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:35
+assert_return(
+ () => invoke($0, `f64x2.ceil`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:37
+assert_return(
+ () => invoke($0, `f64x2.ceil`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:39
+assert_return(
+ () => invoke($0, `f64x2.ceil`, [f64x2([Infinity, Infinity])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:41
+assert_return(
+ () => invoke($0, `f64x2.ceil`, [f64x2([-Infinity, -Infinity])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:43
+assert_return(
+ () => invoke($0, `f64x2.ceil`, [f64x2([123456789, 123456789])]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:45
+assert_return(
+ () => invoke($0, `f64x2.ceil`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:47
+assert_return(
+ () => invoke($0, `f64x2.ceil`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:49
+assert_return(
+ () => invoke($0, `f64x2.ceil`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:51
+assert_return(
+ () => invoke($0, `f64x2.ceil`, [f64x2([123456789, 123456789])]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:53
+assert_return(
+ () => invoke($0, `f64x2.ceil`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:55
+assert_return(
+ () => invoke($0, `f64x2.ceil`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:57
+assert_return(
+ () => invoke($0, `f64x2.ceil`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:59
+assert_return(
+ () => invoke($0, `f64x2.ceil`, [f64x2([123456789.01234567, 123456789.01234567])]),
+ [new F64x2Pattern(value("f64", 123456790), value("f64", 123456790))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:61
+assert_return(
+ () => invoke($0, `f64x2.ceil`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:63
+assert_return(
+ () => invoke($0, `f64x2.ceil`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:65
+assert_return(
+ () => invoke($0, `f64x2.ceil`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:67
+assert_return(
+ () => invoke($0, `f64x2.ceil`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:69
+assert_return(
+ () => invoke($0, `f64x2.ceil`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:71
+assert_return(
+ () => invoke($0, `f64x2.ceil`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:73
+assert_return(
+ () => invoke($0, `f64x2.ceil`, [f64x2([2623536934927580700, 2623536934927580700])]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:75
+assert_return(
+ () => invoke($0, `f64x2.ceil`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:77
+assert_return(
+ () => invoke($0, `f64x2.ceil`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:79
+assert_return(
+ () => invoke($0, `f64x2.ceil`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:81
+assert_return(
+ () => invoke($0, `f64x2.ceil`, [f64x2([2623536934927580700, 2623536934927580700])]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:83
+assert_return(
+ () => invoke($0, `f64x2.ceil`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:85
+assert_return(
+ () => invoke($0, `f64x2.ceil`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:87
+assert_return(
+ () => invoke($0, `f64x2.ceil`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:89
+assert_return(
+ () => invoke($0, `f64x2.ceil`, [f64x2([2623536934927580700, 2623536934927580700])]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:91
+assert_return(
+ () => invoke($0, `f64x2.ceil`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:93
+assert_return(
+ () => invoke($0, `f64x2.ceil`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:95
+assert_return(
+ () => invoke($0, `f64x2.ceil`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:97
+assert_return(
+ () => invoke($0, `f64x2.ceil`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:99
+assert_return(
+ () => invoke($0, `f64x2.floor`, [f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:101
+assert_return(
+ () => invoke($0, `f64x2.floor`, [f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:103
+assert_return(
+ () => invoke($0, `f64x2.floor`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:105
+assert_return(
+ () => invoke($0, `f64x2.floor`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:107
+assert_return(
+ () => invoke($0, `f64x2.floor`, [f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:109
+assert_return(
+ () => invoke($0, `f64x2.floor`, [f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:111
+assert_return(
+ () => invoke($0, `f64x2.floor`, [f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:113
+assert_return(
+ () => invoke($0, `f64x2.floor`, [f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:115
+assert_return(
+ () => invoke($0, `f64x2.floor`, [f64x2([6.283185307179586, 6.283185307179586])]),
+ [new F64x2Pattern(value("f64", 6), value("f64", 6))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:117
+assert_return(
+ () => invoke($0, `f64x2.floor`, [f64x2([-6.283185307179586, -6.283185307179586])]),
+ [new F64x2Pattern(value("f64", -7), value("f64", -7))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:119
+assert_return(
+ () => invoke($0, `f64x2.floor`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:121
+assert_return(
+ () => invoke($0, `f64x2.floor`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:123
+assert_return(
+ () => invoke($0, `f64x2.floor`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:125
+assert_return(
+ () => invoke($0, `f64x2.floor`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:127
+assert_return(
+ () => invoke($0, `f64x2.floor`, [f64x2([Infinity, Infinity])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:129
+assert_return(
+ () => invoke($0, `f64x2.floor`, [f64x2([-Infinity, -Infinity])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:131
+assert_return(
+ () => invoke($0, `f64x2.floor`, [f64x2([123456789, 123456789])]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:133
+assert_return(
+ () => invoke($0, `f64x2.floor`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:135
+assert_return(
+ () => invoke($0, `f64x2.floor`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:137
+assert_return(
+ () => invoke($0, `f64x2.floor`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:139
+assert_return(
+ () => invoke($0, `f64x2.floor`, [f64x2([123456789, 123456789])]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:141
+assert_return(
+ () => invoke($0, `f64x2.floor`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:143
+assert_return(
+ () => invoke($0, `f64x2.floor`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:145
+assert_return(
+ () => invoke($0, `f64x2.floor`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:147
+assert_return(
+ () => invoke($0, `f64x2.floor`, [f64x2([123456789.01234567, 123456789.01234567])]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:149
+assert_return(
+ () => invoke($0, `f64x2.floor`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:151
+assert_return(
+ () => invoke($0, `f64x2.floor`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:153
+assert_return(
+ () => invoke($0, `f64x2.floor`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:155
+assert_return(
+ () => invoke($0, `f64x2.floor`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:157
+assert_return(
+ () => invoke($0, `f64x2.floor`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:159
+assert_return(
+ () => invoke($0, `f64x2.floor`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:161
+assert_return(
+ () => invoke($0, `f64x2.floor`, [f64x2([2623536934927580700, 2623536934927580700])]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:163
+assert_return(
+ () => invoke($0, `f64x2.floor`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:165
+assert_return(
+ () => invoke($0, `f64x2.floor`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:167
+assert_return(
+ () => invoke($0, `f64x2.floor`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:169
+assert_return(
+ () => invoke($0, `f64x2.floor`, [f64x2([2623536934927580700, 2623536934927580700])]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:171
+assert_return(
+ () => invoke($0, `f64x2.floor`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:173
+assert_return(
+ () => invoke($0, `f64x2.floor`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:175
+assert_return(
+ () => invoke($0, `f64x2.floor`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:177
+assert_return(
+ () => invoke($0, `f64x2.floor`, [f64x2([2623536934927580700, 2623536934927580700])]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:179
+assert_return(
+ () => invoke($0, `f64x2.floor`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:181
+assert_return(
+ () => invoke($0, `f64x2.floor`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:183
+assert_return(
+ () => invoke($0, `f64x2.floor`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:185
+assert_return(
+ () => invoke($0, `f64x2.floor`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:187
+assert_return(
+ () => invoke($0, `f64x2.trunc`, [f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:189
+assert_return(
+ () => invoke($0, `f64x2.trunc`, [f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:191
+assert_return(
+ () => invoke($0, `f64x2.trunc`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:193
+assert_return(
+ () => invoke($0, `f64x2.trunc`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:195
+assert_return(
+ () => invoke($0, `f64x2.trunc`, [f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:197
+assert_return(
+ () => invoke($0, `f64x2.trunc`, [f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:199
+assert_return(
+ () => invoke($0, `f64x2.trunc`, [f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:201
+assert_return(
+ () => invoke($0, `f64x2.trunc`, [f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:203
+assert_return(
+ () => invoke($0, `f64x2.trunc`, [f64x2([6.283185307179586, 6.283185307179586])]),
+ [new F64x2Pattern(value("f64", 6), value("f64", 6))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:205
+assert_return(
+ () => invoke($0, `f64x2.trunc`, [f64x2([-6.283185307179586, -6.283185307179586])]),
+ [new F64x2Pattern(value("f64", -6), value("f64", -6))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:207
+assert_return(
+ () => invoke($0, `f64x2.trunc`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:209
+assert_return(
+ () => invoke($0, `f64x2.trunc`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:211
+assert_return(
+ () => invoke($0, `f64x2.trunc`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:213
+assert_return(
+ () => invoke($0, `f64x2.trunc`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:215
+assert_return(
+ () => invoke($0, `f64x2.trunc`, [f64x2([Infinity, Infinity])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:217
+assert_return(
+ () => invoke($0, `f64x2.trunc`, [f64x2([-Infinity, -Infinity])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:219
+assert_return(
+ () => invoke($0, `f64x2.trunc`, [f64x2([123456789, 123456789])]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:221
+assert_return(
+ () => invoke($0, `f64x2.trunc`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:223
+assert_return(
+ () => invoke($0, `f64x2.trunc`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:225
+assert_return(
+ () => invoke($0, `f64x2.trunc`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:227
+assert_return(
+ () => invoke($0, `f64x2.trunc`, [f64x2([123456789, 123456789])]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:229
+assert_return(
+ () => invoke($0, `f64x2.trunc`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:231
+assert_return(
+ () => invoke($0, `f64x2.trunc`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:233
+assert_return(
+ () => invoke($0, `f64x2.trunc`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:235
+assert_return(
+ () => invoke($0, `f64x2.trunc`, [f64x2([123456789.01234567, 123456789.01234567])]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:237
+assert_return(
+ () => invoke($0, `f64x2.trunc`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:239
+assert_return(
+ () => invoke($0, `f64x2.trunc`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:241
+assert_return(
+ () => invoke($0, `f64x2.trunc`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:243
+assert_return(
+ () => invoke($0, `f64x2.trunc`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:245
+assert_return(
+ () => invoke($0, `f64x2.trunc`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:247
+assert_return(
+ () => invoke($0, `f64x2.trunc`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:249
+assert_return(
+ () => invoke($0, `f64x2.trunc`, [f64x2([2623536934927580700, 2623536934927580700])]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:251
+assert_return(
+ () => invoke($0, `f64x2.trunc`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:253
+assert_return(
+ () => invoke($0, `f64x2.trunc`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:255
+assert_return(
+ () => invoke($0, `f64x2.trunc`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:257
+assert_return(
+ () => invoke($0, `f64x2.trunc`, [f64x2([2623536934927580700, 2623536934927580700])]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:259
+assert_return(
+ () => invoke($0, `f64x2.trunc`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:261
+assert_return(
+ () => invoke($0, `f64x2.trunc`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:263
+assert_return(
+ () => invoke($0, `f64x2.trunc`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:265
+assert_return(
+ () => invoke($0, `f64x2.trunc`, [f64x2([2623536934927580700, 2623536934927580700])]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:267
+assert_return(
+ () => invoke($0, `f64x2.trunc`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:269
+assert_return(
+ () => invoke($0, `f64x2.trunc`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:271
+assert_return(
+ () => invoke($0, `f64x2.trunc`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:273
+assert_return(
+ () => invoke($0, `f64x2.trunc`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:275
+assert_return(
+ () => invoke($0, `f64x2.nearest`, [f64x2([0, 0])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:277
+assert_return(
+ () => invoke($0, `f64x2.nearest`, [f64x2([-0, -0])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:279
+assert_return(
+ () => invoke($0, `f64x2.nearest`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:281
+assert_return(
+ () => invoke($0, `f64x2.nearest`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:283
+assert_return(
+ () => invoke($0, `f64x2.nearest`, [f64x2([0.5, 0.5])]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:285
+assert_return(
+ () => invoke($0, `f64x2.nearest`, [f64x2([-0.5, -0.5])]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:287
+assert_return(
+ () => invoke($0, `f64x2.nearest`, [f64x2([1, 1])]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:289
+assert_return(
+ () => invoke($0, `f64x2.nearest`, [f64x2([-1, -1])]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:291
+assert_return(
+ () => invoke($0, `f64x2.nearest`, [f64x2([6.283185307179586, 6.283185307179586])]),
+ [new F64x2Pattern(value("f64", 6), value("f64", 6))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:293
+assert_return(
+ () => invoke($0, `f64x2.nearest`, [f64x2([-6.283185307179586, -6.283185307179586])]),
+ [new F64x2Pattern(value("f64", -6), value("f64", -6))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:295
+assert_return(
+ () => invoke($0, `f64x2.nearest`, [
+ f64x2([
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:297
+assert_return(
+ () => invoke($0, `f64x2.nearest`, [
+ f64x2([
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:299
+assert_return(
+ () => invoke($0, `f64x2.nearest`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:301
+assert_return(
+ () => invoke($0, `f64x2.nearest`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:303
+assert_return(
+ () => invoke($0, `f64x2.nearest`, [f64x2([Infinity, Infinity])]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:305
+assert_return(
+ () => invoke($0, `f64x2.nearest`, [f64x2([-Infinity, -Infinity])]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:307
+assert_return(
+ () => invoke($0, `f64x2.nearest`, [f64x2([123456789, 123456789])]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:309
+assert_return(
+ () => invoke($0, `f64x2.nearest`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:311
+assert_return(
+ () => invoke($0, `f64x2.nearest`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:313
+assert_return(
+ () => invoke($0, `f64x2.nearest`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:315
+assert_return(
+ () => invoke($0, `f64x2.nearest`, [f64x2([123456789, 123456789])]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:317
+assert_return(
+ () => invoke($0, `f64x2.nearest`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:319
+assert_return(
+ () => invoke($0, `f64x2.nearest`, [
+ f64x2([1234567890000000000000000000, 1234567890000000000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:321
+assert_return(
+ () => invoke($0, `f64x2.nearest`, [
+ f64x2([0.0000000000123456789, 0.0000000000123456789]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:323
+assert_return(
+ () => invoke($0, `f64x2.nearest`, [f64x2([123456789.01234567, 123456789.01234567])]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:325
+assert_return(
+ () => invoke($0, `f64x2.nearest`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:327
+assert_return(
+ () => invoke($0, `f64x2.nearest`, [
+ f64x2([1234567890123456900000000000, 1234567890123456900000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890123456900000000000),
+ value("f64", 1234567890123456900000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:329
+assert_return(
+ () => invoke($0, `f64x2.nearest`, [
+ f64x2([0.000000000012345678901234568, 0.000000000012345678901234568]),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:331
+assert_return(
+ () => invoke($0, `f64x2.nearest`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:333
+assert_return(
+ () => invoke($0, `f64x2.nearest`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:335
+assert_return(
+ () => invoke($0, `f64x2.nearest`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:337
+assert_return(
+ () => invoke($0, `f64x2.nearest`, [f64x2([2623536934927580700, 2623536934927580700])]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:339
+assert_return(
+ () => invoke($0, `f64x2.nearest`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:341
+assert_return(
+ () => invoke($0, `f64x2.nearest`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:343
+assert_return(
+ () => invoke($0, `f64x2.nearest`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:345
+assert_return(
+ () => invoke($0, `f64x2.nearest`, [f64x2([2623536934927580700, 2623536934927580700])]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:347
+assert_return(
+ () => invoke($0, `f64x2.nearest`, [
+ f64x2([1375488932539311400000000, 1375488932539311400000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:349
+assert_return(
+ () => invoke($0, `f64x2.nearest`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:351
+assert_return(
+ () => invoke($0, `f64x2.nearest`, [
+ f64x2([721152341463170500000000000000, 721152341463170500000000000000]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:353
+assert_return(
+ () => invoke($0, `f64x2.nearest`, [f64x2([2623536934927580700, 2623536934927580700])]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:355
+assert_return(
+ () => invoke($0, `f64x2.nearest`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:357
+assert_return(
+ () => invoke($0, `f64x2.nearest`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`canonical_nan`, `canonical_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:359
+assert_return(
+ () => invoke($0, `f64x2.nearest`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:361
+assert_return(
+ () => invoke($0, `f64x2.nearest`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf4,
+ 0xff,
+ ]),
+ ]),
+ [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)],
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:367
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i8x16.ceil (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:368
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i8x16.floor (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:369
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i8x16.trunc (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:370
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i8x16.nearest (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:371
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i16x8.ceil (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:372
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i16x8.floor (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:373
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i16x8.trunc (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:374
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i16x8.nearest (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:375
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i32x4.ceil (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:376
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i32x4.floor (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:377
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i32x4.trunc (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:378
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i32x4.nearest (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:379
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i64x2.ceil (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:380
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i64x2.floor (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:381
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i64x2.trunc (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:382
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i64x2.nearest (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:385
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (f64x2.ceil (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:386
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (f64x2.floor (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:387
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (f64x2.trunc (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:388
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (f64x2.nearest (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:392
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f64x2.ceil-arg-empty (result v128)
+ (f64x2.ceil)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:400
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f64x2.floor-arg-empty (result v128)
+ (f64x2.floor)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:408
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f64x2.trunc-arg-empty (result v128)
+ (f64x2.trunc)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_f64x2_rounding.wast:416
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f64x2.nearest-arg-empty (result v128)
+ (f64x2.nearest)
+ )
+ )`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/simd_i16x8_arith.wast.js b/js/src/jit-test/tests/wasm/spec/spec/simd_i16x8_arith.wast.js
new file mode 100644
index 0000000000..860294d3a7
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/simd_i16x8_arith.wast.js
@@ -0,0 +1,1801 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_i16x8_arith.wast
+
+// ./test/core/simd/simd_i16x8_arith.wast:4
+let $0 = instantiate(`(module
+ (func (export "i16x8.add") (param v128 v128) (result v128) (i16x8.add (local.get 0) (local.get 1)))
+ (func (export "i16x8.sub") (param v128 v128) (result v128) (i16x8.sub (local.get 0) (local.get 1)))
+ (func (export "i16x8.mul") (param v128 v128) (result v128) (i16x8.mul (local.get 0) (local.get 1)))
+ (func (export "i16x8.neg") (param v128) (result v128) (i16x8.neg (local.get 0)))
+)`);
+
+// ./test/core/simd/simd_i16x8_arith.wast:13
+assert_return(
+ () => invoke($0, `i16x8.add`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:16
+assert_return(
+ () => invoke($0, `i16x8.add`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:19
+assert_return(
+ () => invoke($0, `i16x8.add`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:22
+assert_return(
+ () => invoke($0, `i16x8.add`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:25
+assert_return(
+ () => invoke($0, `i16x8.add`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:28
+assert_return(
+ () => invoke($0, `i16x8.add`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:31
+assert_return(
+ () => invoke($0, `i16x8.add`, [
+ i16x8([0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff]),
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ ]),
+ [i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:34
+assert_return(
+ () => invoke($0, `i16x8.add`, [
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:37
+assert_return(
+ () => invoke($0, `i16x8.add`, [
+ i16x8([0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001]),
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ ]),
+ [i16x8([0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:40
+assert_return(
+ () => invoke($0, `i16x8.add`, [
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:43
+assert_return(
+ () => invoke($0, `i16x8.add`, [
+ i16x8([0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff]),
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ ]),
+ [i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:46
+assert_return(
+ () => invoke($0, `i16x8.add`, [
+ i16x8([0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:49
+assert_return(
+ () => invoke($0, `i16x8.add`, [
+ i16x8([0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:52
+assert_return(
+ () => invoke($0, `i16x8.add`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:55
+assert_return(
+ () => invoke($0, `i16x8.add`, [
+ i16x8([0x8002, 0x8002, 0x8002, 0x8002, 0x8002, 0x8002, 0x8002, 0x8002]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:58
+assert_return(
+ () => invoke($0, `i16x8.add`, [
+ i16x8([0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:61
+assert_return(
+ () => invoke($0, `i16x8.add`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:64
+assert_return(
+ () => invoke($0, `i16x8.add`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i16x8([0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:67
+assert_return(
+ () => invoke($0, `i16x8.add`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:70
+assert_return(
+ () => invoke($0, `i16x8.add`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:73
+assert_return(
+ () => invoke($0, `i16x8.add`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:76
+assert_return(
+ () => invoke($0, `i16x8.add`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:79
+assert_return(
+ () => invoke($0, `i16x8.add`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:82
+assert_return(
+ () => invoke($0, `i16x8.add`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i16x8([0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:85
+assert_return(
+ () => invoke($0, `i16x8.add`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:88
+assert_return(
+ () => invoke($0, `i16x8.add`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:91
+assert_return(
+ () => invoke($0, `i16x8.add`, [
+ i16x8([0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff]),
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ ]),
+ [i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:94
+assert_return(
+ () => invoke($0, `i16x8.add`, [
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:97
+assert_return(
+ () => invoke($0, `i16x8.add`, [
+ i16x8([0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001]),
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ ]),
+ [i16x8([0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:100
+assert_return(
+ () => invoke($0, `i16x8.add`, [
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:103
+assert_return(
+ () => invoke($0, `i16x8.add`, [
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ i16x8([0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff]),
+ ]),
+ [i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:106
+assert_return(
+ () => invoke($0, `i16x8.add`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i16x8([0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:109
+assert_return(
+ () => invoke($0, `i16x8.add`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:112
+assert_return(
+ () => invoke($0, `i16x8.add`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:115
+assert_return(
+ () => invoke($0, `i16x8.add`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:118
+assert_return(
+ () => invoke($0, `i16x8.add`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:121
+assert_return(
+ () => invoke($0, `i16x8.add`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:124
+assert_return(
+ () => invoke($0, `i16x8.add`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:127
+assert_return(
+ () => invoke($0, `i16x8.add`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ i8x16([0x0, 0x80, 0x0, 0x80, 0x0, 0x80, 0x0, 0x80, 0x0, 0x80, 0x0, 0x80, 0x0, 0x80, 0x0, 0x80]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:130
+assert_return(
+ () => invoke($0, `i16x8.add`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:133
+assert_return(
+ () => invoke($0, `i16x8.add`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ i32x4([0x80008000, 0x80008000, 0x80008000, 0x80008000]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:136
+assert_return(
+ () => invoke($0, `i16x8.add`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:139
+assert_return(
+ () => invoke($0, `i16x8.add`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:142
+assert_return(
+ () => invoke($0, `i16x8.add`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i16x8([0x8000, 0x0, 0x8000, 0x0, 0x8000, 0x0, 0x8000, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:145
+assert_return(
+ () => invoke($0, `i16x8.add`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i16x8([0x8000, 0xbf80, 0x8000, 0xbf80, 0x8000, 0xbf80, 0x8000, 0xbf80])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:148
+assert_return(
+ () => invoke($0, `i16x8.add`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i16x8([0x8000, 0x3f80, 0x8000, 0x3f80, 0x8000, 0x3f80, 0x8000, 0x3f80])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:151
+assert_return(
+ () => invoke($0, `i16x8.add`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i16x8([0x1, 0x7f81, 0x1, 0x7f81, 0x1, 0x7f81, 0x1, 0x7f81])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:154
+assert_return(
+ () => invoke($0, `i16x8.add`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i16x8([0x1, 0xff81, 0x1, 0xff81, 0x1, 0xff81, 0x1, 0xff81])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:157
+assert_return(
+ () => invoke($0, `i16x8.add`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i16x8([0x1, 0x7fc1, 0x1, 0x7fc1, 0x1, 0x7fc1, 0x1, 0x7fc1])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:160
+assert_return(
+ () => invoke($0, `i16x8.add`, [
+ i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7]),
+ i16x8([0x0, 0xffff, 0xfffe, 0xfffd, 0xfffc, 0xfffb, 0xfffa, 0xfff9]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:163
+assert_return(
+ () => invoke($0, `i16x8.add`, [
+ i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7]),
+ i16x8([0x0, 0x2, 0x4, 0x6, 0x8, 0xa, 0xc, 0xe]),
+ ]),
+ [i16x8([0x0, 0x3, 0x6, 0x9, 0xc, 0xf, 0x12, 0x15])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:166
+assert_return(
+ () => invoke($0, `i16x8.add`, [
+ i16x8([0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039]),
+ i16x8([0xddd5, 0xddd5, 0xddd5, 0xddd5, 0xddd5, 0xddd5, 0xddd5, 0xddd5]),
+ ]),
+ [i16x8([0xe0e, 0xe0e, 0xe0e, 0xe0e, 0xe0e, 0xe0e, 0xe0e, 0xe0e])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:169
+assert_return(
+ () => invoke($0, `i16x8.add`, [
+ i16x8([0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234]),
+ i16x8([0x5678, 0x5678, 0x5678, 0x5678, 0x5678, 0x5678, 0x5678, 0x5678]),
+ ]),
+ [i16x8([0x68ac, 0x68ac, 0x68ac, 0x68ac, 0x68ac, 0x68ac, 0x68ac, 0x68ac])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:174
+assert_return(
+ () => invoke($0, `i16x8.sub`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:177
+assert_return(
+ () => invoke($0, `i16x8.sub`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:180
+assert_return(
+ () => invoke($0, `i16x8.sub`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:183
+assert_return(
+ () => invoke($0, `i16x8.sub`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:186
+assert_return(
+ () => invoke($0, `i16x8.sub`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:189
+assert_return(
+ () => invoke($0, `i16x8.sub`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:192
+assert_return(
+ () => invoke($0, `i16x8.sub`, [
+ i16x8([0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff]),
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:195
+assert_return(
+ () => invoke($0, `i16x8.sub`, [
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:198
+assert_return(
+ () => invoke($0, `i16x8.sub`, [
+ i16x8([0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001]),
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:201
+assert_return(
+ () => invoke($0, `i16x8.sub`, [
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:204
+assert_return(
+ () => invoke($0, `i16x8.sub`, [
+ i16x8([0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff]),
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:207
+assert_return(
+ () => invoke($0, `i16x8.sub`, [
+ i16x8([0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x7ffc, 0x7ffc, 0x7ffc, 0x7ffc, 0x7ffc, 0x7ffc, 0x7ffc, 0x7ffc])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:210
+assert_return(
+ () => invoke($0, `i16x8.sub`, [
+ i16x8([0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:213
+assert_return(
+ () => invoke($0, `i16x8.sub`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:216
+assert_return(
+ () => invoke($0, `i16x8.sub`, [
+ i16x8([0x8002, 0x8002, 0x8002, 0x8002, 0x8002, 0x8002, 0x8002, 0x8002]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x8003, 0x8003, 0x8003, 0x8003, 0x8003, 0x8003, 0x8003, 0x8003])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:219
+assert_return(
+ () => invoke($0, `i16x8.sub`, [
+ i16x8([0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x8002, 0x8002, 0x8002, 0x8002, 0x8002, 0x8002, 0x8002, 0x8002])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:222
+assert_return(
+ () => invoke($0, `i16x8.sub`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:225
+assert_return(
+ () => invoke($0, `i16x8.sub`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:228
+assert_return(
+ () => invoke($0, `i16x8.sub`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:231
+assert_return(
+ () => invoke($0, `i16x8.sub`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:234
+assert_return(
+ () => invoke($0, `i16x8.sub`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:237
+assert_return(
+ () => invoke($0, `i16x8.sub`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:240
+assert_return(
+ () => invoke($0, `i16x8.sub`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:243
+assert_return(
+ () => invoke($0, `i16x8.sub`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:246
+assert_return(
+ () => invoke($0, `i16x8.sub`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:249
+assert_return(
+ () => invoke($0, `i16x8.sub`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:252
+assert_return(
+ () => invoke($0, `i16x8.sub`, [
+ i16x8([0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff]),
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:255
+assert_return(
+ () => invoke($0, `i16x8.sub`, [
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:258
+assert_return(
+ () => invoke($0, `i16x8.sub`, [
+ i16x8([0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001]),
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:261
+assert_return(
+ () => invoke($0, `i16x8.sub`, [
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:264
+assert_return(
+ () => invoke($0, `i16x8.sub`, [
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ i16x8([0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:267
+assert_return(
+ () => invoke($0, `i16x8.sub`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:270
+assert_return(
+ () => invoke($0, `i16x8.sub`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:273
+assert_return(
+ () => invoke($0, `i16x8.sub`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:276
+assert_return(
+ () => invoke($0, `i16x8.sub`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:279
+assert_return(
+ () => invoke($0, `i16x8.sub`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:282
+assert_return(
+ () => invoke($0, `i16x8.sub`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:285
+assert_return(
+ () => invoke($0, `i16x8.sub`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:288
+assert_return(
+ () => invoke($0, `i16x8.sub`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ i8x16([0x0, 0x80, 0x0, 0x80, 0x0, 0x80, 0x0, 0x80, 0x0, 0x80, 0x0, 0x80, 0x0, 0x80, 0x0, 0x80]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:291
+assert_return(
+ () => invoke($0, `i16x8.sub`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:294
+assert_return(
+ () => invoke($0, `i16x8.sub`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ i32x4([0x80008000, 0x80008000, 0x80008000, 0x80008000]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:297
+assert_return(
+ () => invoke($0, `i16x8.sub`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i16x8([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:300
+assert_return(
+ () => invoke($0, `i16x8.sub`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:303
+assert_return(
+ () => invoke($0, `i16x8.sub`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i16x8([0x8000, 0x0, 0x8000, 0x0, 0x8000, 0x0, 0x8000, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:306
+assert_return(
+ () => invoke($0, `i16x8.sub`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i16x8([0x8000, 0x4080, 0x8000, 0x4080, 0x8000, 0x4080, 0x8000, 0x4080])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:309
+assert_return(
+ () => invoke($0, `i16x8.sub`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i16x8([0x8000, 0xc080, 0x8000, 0xc080, 0x8000, 0xc080, 0x8000, 0xc080])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:312
+assert_return(
+ () => invoke($0, `i16x8.sub`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i16x8([0x1, 0x8081, 0x1, 0x8081, 0x1, 0x8081, 0x1, 0x8081])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:315
+assert_return(
+ () => invoke($0, `i16x8.sub`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i16x8([0x1, 0x81, 0x1, 0x81, 0x1, 0x81, 0x1, 0x81])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:318
+assert_return(
+ () => invoke($0, `i16x8.sub`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i16x8([0x1, 0x8041, 0x1, 0x8041, 0x1, 0x8041, 0x1, 0x8041])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:321
+assert_return(
+ () => invoke($0, `i16x8.sub`, [
+ i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7]),
+ i16x8([0x0, 0xffff, 0xfffe, 0xfffd, 0xfffc, 0xfffb, 0xfffa, 0xfff9]),
+ ]),
+ [i16x8([0x0, 0x2, 0x4, 0x6, 0x8, 0xa, 0xc, 0xe])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:324
+assert_return(
+ () => invoke($0, `i16x8.sub`, [
+ i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7]),
+ i16x8([0x0, 0x2, 0x4, 0x6, 0x8, 0xa, 0xc, 0xe]),
+ ]),
+ [i16x8([0x0, 0xffff, 0xfffe, 0xfffd, 0xfffc, 0xfffb, 0xfffa, 0xfff9])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:327
+assert_return(
+ () => invoke($0, `i16x8.sub`, [
+ i16x8([0xddd5, 0xddd5, 0xddd5, 0xddd5, 0xddd5, 0xddd5, 0xddd5, 0xddd5]),
+ i16x8([0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039]),
+ ]),
+ [i16x8([0xad9c, 0xad9c, 0xad9c, 0xad9c, 0xad9c, 0xad9c, 0xad9c, 0xad9c])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:330
+assert_return(
+ () => invoke($0, `i16x8.sub`, [
+ i16x8([0x5678, 0x5678, 0x5678, 0x5678, 0x5678, 0x5678, 0x5678, 0x5678]),
+ i16x8([0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234]),
+ ]),
+ [i16x8([0x4444, 0x4444, 0x4444, 0x4444, 0x4444, 0x4444, 0x4444, 0x4444])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:335
+assert_return(
+ () => invoke($0, `i16x8.mul`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:338
+assert_return(
+ () => invoke($0, `i16x8.mul`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:341
+assert_return(
+ () => invoke($0, `i16x8.mul`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:344
+assert_return(
+ () => invoke($0, `i16x8.mul`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:347
+assert_return(
+ () => invoke($0, `i16x8.mul`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:350
+assert_return(
+ () => invoke($0, `i16x8.mul`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:353
+assert_return(
+ () => invoke($0, `i16x8.mul`, [
+ i16x8([0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff]),
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ ]),
+ [i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:356
+assert_return(
+ () => invoke($0, `i16x8.mul`, [
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:359
+assert_return(
+ () => invoke($0, `i16x8.mul`, [
+ i16x8([0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001]),
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ ]),
+ [i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:362
+assert_return(
+ () => invoke($0, `i16x8.mul`, [
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:365
+assert_return(
+ () => invoke($0, `i16x8.mul`, [
+ i16x8([0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff]),
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ ]),
+ [i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:368
+assert_return(
+ () => invoke($0, `i16x8.mul`, [
+ i16x8([0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:371
+assert_return(
+ () => invoke($0, `i16x8.mul`, [
+ i16x8([0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:374
+assert_return(
+ () => invoke($0, `i16x8.mul`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:377
+assert_return(
+ () => invoke($0, `i16x8.mul`, [
+ i16x8([0x8002, 0x8002, 0x8002, 0x8002, 0x8002, 0x8002, 0x8002, 0x8002]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:380
+assert_return(
+ () => invoke($0, `i16x8.mul`, [
+ i16x8([0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:383
+assert_return(
+ () => invoke($0, `i16x8.mul`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:386
+assert_return(
+ () => invoke($0, `i16x8.mul`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:389
+assert_return(
+ () => invoke($0, `i16x8.mul`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:392
+assert_return(
+ () => invoke($0, `i16x8.mul`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:395
+assert_return(
+ () => invoke($0, `i16x8.mul`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:398
+assert_return(
+ () => invoke($0, `i16x8.mul`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:401
+assert_return(
+ () => invoke($0, `i16x8.mul`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:404
+assert_return(
+ () => invoke($0, `i16x8.mul`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i16x8([0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:407
+assert_return(
+ () => invoke($0, `i16x8.mul`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:410
+assert_return(
+ () => invoke($0, `i16x8.mul`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:413
+assert_return(
+ () => invoke($0, `i16x8.mul`, [
+ i16x8([0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff]),
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ ]),
+ [i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:416
+assert_return(
+ () => invoke($0, `i16x8.mul`, [
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:419
+assert_return(
+ () => invoke($0, `i16x8.mul`, [
+ i16x8([0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001]),
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ ]),
+ [i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:422
+assert_return(
+ () => invoke($0, `i16x8.mul`, [
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:425
+assert_return(
+ () => invoke($0, `i16x8.mul`, [
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ i16x8([0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff]),
+ ]),
+ [i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:428
+assert_return(
+ () => invoke($0, `i16x8.mul`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:431
+assert_return(
+ () => invoke($0, `i16x8.mul`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:434
+assert_return(
+ () => invoke($0, `i16x8.mul`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:437
+assert_return(
+ () => invoke($0, `i16x8.mul`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:440
+assert_return(
+ () => invoke($0, `i16x8.mul`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:443
+assert_return(
+ () => invoke($0, `i16x8.mul`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:446
+assert_return(
+ () => invoke($0, `i16x8.mul`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:449
+assert_return(
+ () => invoke($0, `i16x8.mul`, [
+ i16x8([0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000]),
+ i8x16([0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:452
+assert_return(
+ () => invoke($0, `i16x8.mul`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:455
+assert_return(
+ () => invoke($0, `i16x8.mul`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i32x4([0x20002, 0x20002, 0x20002, 0x20002]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:458
+assert_return(
+ () => invoke($0, `i16x8.mul`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:461
+assert_return(
+ () => invoke($0, `i16x8.mul`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:464
+assert_return(
+ () => invoke($0, `i16x8.mul`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:467
+assert_return(
+ () => invoke($0, `i16x8.mul`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:470
+assert_return(
+ () => invoke($0, `i16x8.mul`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:473
+assert_return(
+ () => invoke($0, `i16x8.mul`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i16x8([0x0, 0x7f80, 0x0, 0x7f80, 0x0, 0x7f80, 0x0, 0x7f80])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:476
+assert_return(
+ () => invoke($0, `i16x8.mul`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i16x8([0x0, 0xff80, 0x0, 0xff80, 0x0, 0xff80, 0x0, 0xff80])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:479
+assert_return(
+ () => invoke($0, `i16x8.mul`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i16x8([0x0, 0x7fc0, 0x0, 0x7fc0, 0x0, 0x7fc0, 0x0, 0x7fc0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:482
+assert_return(
+ () => invoke($0, `i16x8.mul`, [
+ i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7]),
+ i16x8([0x0, 0xffff, 0xfffe, 0xfffd, 0xfffc, 0xfffb, 0xfffa, 0xfff9]),
+ ]),
+ [i16x8([0x0, 0xffff, 0xfffc, 0xfff7, 0xfff0, 0xffe7, 0xffdc, 0xffcf])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:485
+assert_return(
+ () => invoke($0, `i16x8.mul`, [
+ i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7]),
+ i16x8([0x0, 0x2, 0x4, 0x6, 0x8, 0xa, 0xc, 0xe]),
+ ]),
+ [i16x8([0x0, 0x2, 0x8, 0x12, 0x20, 0x32, 0x48, 0x62])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:488
+assert_return(
+ () => invoke($0, `i16x8.mul`, [
+ i16x8([0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039]),
+ i16x8([0xddd5, 0xddd5, 0xddd5, 0xddd5, 0xddd5, 0xddd5, 0xddd5, 0xddd5]),
+ ]),
+ [i16x8([0x546d, 0x546d, 0x546d, 0x546d, 0x546d, 0x546d, 0x546d, 0x546d])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:491
+assert_return(
+ () => invoke($0, `i16x8.mul`, [
+ i16x8([0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234]),
+ i16x8([0xcdef, 0xcdef, 0xcdef, 0xcdef, 0xcdef, 0xcdef, 0xcdef, 0xcdef]),
+ ]),
+ [i16x8([0xa28c, 0xa28c, 0xa28c, 0xa28c, 0xa28c, 0xa28c, 0xa28c, 0xa28c])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:496
+assert_return(
+ () => invoke($0, `i16x8.neg`, [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:498
+assert_return(
+ () => invoke($0, `i16x8.neg`, [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:500
+assert_return(
+ () => invoke($0, `i16x8.neg`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:502
+assert_return(
+ () => invoke($0, `i16x8.neg`, [
+ i16x8([0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe]),
+ ]),
+ [i16x8([0x8002, 0x8002, 0x8002, 0x8002, 0x8002, 0x8002, 0x8002, 0x8002])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:504
+assert_return(
+ () => invoke($0, `i16x8.neg`, [
+ i16x8([0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001]),
+ ]),
+ [i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:506
+assert_return(
+ () => invoke($0, `i16x8.neg`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:508
+assert_return(
+ () => invoke($0, `i16x8.neg`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i16x8([0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:510
+assert_return(
+ () => invoke($0, `i16x8.neg`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:512
+assert_return(
+ () => invoke($0, `i16x8.neg`, [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:514
+assert_return(
+ () => invoke($0, `i16x8.neg`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:516
+assert_return(
+ () => invoke($0, `i16x8.neg`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:518
+assert_return(
+ () => invoke($0, `i16x8.neg`, [
+ i16x8([0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001]),
+ ]),
+ [i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:520
+assert_return(
+ () => invoke($0, `i16x8.neg`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i16x8([0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:522
+assert_return(
+ () => invoke($0, `i16x8.neg`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:524
+assert_return(
+ () => invoke($0, `i16x8.neg`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:528
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i16x8.neg (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:529
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i16x8.add (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:530
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i16x8.sub (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:531
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i16x8.mul (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:535
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.neg-arg-empty (result v128)
+ (i16x8.neg)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:543
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.add-1st-arg-empty (result v128)
+ (i16x8.add (v128.const i16x8 0 0 0 0 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:551
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.add-arg-empty (result v128)
+ (i16x8.add)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:559
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.sub-1st-arg-empty (result v128)
+ (i16x8.sub (v128.const i16x8 0 0 0 0 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:567
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.sub-arg-empty (result v128)
+ (i16x8.sub)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:575
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.mul-1st-arg-empty (result v128)
+ (i16x8.mul (v128.const i16x8 0 0 0 0 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:583
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.mul-arg-empty (result v128)
+ (i16x8.mul)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:593
+let $1 = instantiate(`(module
+ (func (export "add-sub") (param v128 v128 v128) (result v128)
+ (i16x8.add (i16x8.sub (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "mul-add") (param v128 v128 v128) (result v128)
+ (i16x8.mul (i16x8.add (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "mul-sub") (param v128 v128 v128) (result v128)
+ (i16x8.mul (i16x8.sub (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "sub-add") (param v128 v128 v128) (result v128)
+ (i16x8.sub (i16x8.add (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "add-neg") (param v128 v128) (result v128)
+ (i16x8.add (i16x8.neg (local.get 0)) (local.get 1)))
+ (func (export "mul-neg") (param v128 v128) (result v128)
+ (i16x8.mul (i16x8.neg (local.get 0)) (local.get 1)))
+ (func (export "sub-neg") (param v128 v128) (result v128)
+ (i16x8.sub (i16x8.neg (local.get 0)) (local.get 1)))
+)`);
+
+// ./test/core/simd/simd_i16x8_arith.wast:610
+assert_return(
+ () => invoke($1, `add-sub`, [
+ i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7]),
+ i16x8([0x0, 0x2, 0x4, 0x6, 0x8, 0xa, 0xc, 0xe]),
+ i16x8([0x0, 0x2, 0x4, 0x6, 0x8, 0xa, 0xc, 0xe]),
+ ]),
+ [i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:614
+assert_return(
+ () => invoke($1, `mul-add`, [
+ i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7]),
+ i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7]),
+ i16x8([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [i16x8([0x0, 0x4, 0x8, 0xc, 0x10, 0x14, 0x18, 0x1c])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:618
+assert_return(
+ () => invoke($1, `mul-sub`, [
+ i16x8([0x0, 0x2, 0x4, 0x6, 0x8, 0xa, 0xc, 0xe]),
+ i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7]),
+ i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7]),
+ ]),
+ [i16x8([0x0, 0x1, 0x4, 0x9, 0x10, 0x19, 0x24, 0x31])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:622
+assert_return(
+ () => invoke($1, `sub-add`, [
+ i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7]),
+ i16x8([0x0, 0x2, 0x4, 0x6, 0x8, 0xa, 0xc, 0xe]),
+ i16x8([0x0, 0x2, 0x4, 0x6, 0x8, 0xa, 0xc, 0xe]),
+ ]),
+ [i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:626
+assert_return(
+ () => invoke($1, `add-neg`, [
+ i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7]),
+ i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:629
+assert_return(
+ () => invoke($1, `mul-neg`, [
+ i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7]),
+ i16x8([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [i16x8([0x0, 0xfffe, 0xfffc, 0xfffa, 0xfff8, 0xfff6, 0xfff4, 0xfff2])],
+);
+
+// ./test/core/simd/simd_i16x8_arith.wast:632
+assert_return(
+ () => invoke($1, `sub-neg`, [
+ i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7]),
+ i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7]),
+ ]),
+ [i16x8([0x0, 0xfffe, 0xfffc, 0xfffa, 0xfff8, 0xfff6, 0xfff4, 0xfff2])],
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/simd_i16x8_arith2.wast.js b/js/src/jit-test/tests/wasm/spec/spec/simd_i16x8_arith2.wast.js
new file mode 100644
index 0000000000..759c59683b
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/simd_i16x8_arith2.wast.js
@@ -0,0 +1,1558 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_i16x8_arith2.wast
+
+// ./test/core/simd/simd_i16x8_arith2.wast:3
+let $0 = instantiate(`(module
+ (func (export "i16x8.min_s") (param v128 v128) (result v128) (i16x8.min_s (local.get 0) (local.get 1)))
+ (func (export "i16x8.min_u") (param v128 v128) (result v128) (i16x8.min_u (local.get 0) (local.get 1)))
+ (func (export "i16x8.max_s") (param v128 v128) (result v128) (i16x8.max_s (local.get 0) (local.get 1)))
+ (func (export "i16x8.max_u") (param v128 v128) (result v128) (i16x8.max_u (local.get 0) (local.get 1)))
+ (func (export "i16x8.avgr_u") (param v128 v128) (result v128) (i16x8.avgr_u (local.get 0) (local.get 1)))
+ (func (export "i16x8.abs") (param v128) (result v128) (i16x8.abs (local.get 0)))
+ (func (export "i16x8.min_s_with_const_0") (result v128) (i16x8.min_s (v128.const i16x8 -32768 -32768 32767 32767 16384 16384 65535 65535) (v128.const i16x8 65535 65535 16384 16384 32767 32767 -32768 -32768)))
+ (func (export "i16x8.min_s_with_const_1") (result v128) (i16x8.min_s (v128.const i16x8 0 0 1 1 2 2 3 3) (v128.const i16x8 3 3 2 2 1 1 0 0)))
+ (func (export "i16x8.min_u_with_const_2") (result v128) (i16x8.min_u (v128.const i16x8 -32768 -32768 32767 32767 16384 16384 65535 65535) (v128.const i16x8 65535 65535 16384 16384 32767 32767 -32768 -32768)))
+ (func (export "i16x8.min_u_with_const_3") (result v128) (i16x8.min_u (v128.const i16x8 0 0 1 1 2 2 3 3) (v128.const i16x8 3 3 2 2 1 1 0 0)))
+ (func (export "i16x8.max_s_with_const_4") (result v128) (i16x8.max_s (v128.const i16x8 -32768 -32768 32767 32767 16384 16384 65535 65535) (v128.const i16x8 65535 65535 16384 16384 32767 32767 -32768 -32768)))
+ (func (export "i16x8.max_s_with_const_5") (result v128) (i16x8.max_s (v128.const i16x8 0 0 1 1 2 2 3 3) (v128.const i16x8 3 3 2 2 1 1 0 0)))
+ (func (export "i16x8.max_u_with_const_6") (result v128) (i16x8.max_u (v128.const i16x8 -32768 -32768 32767 32767 16384 16384 65535 65535) (v128.const i16x8 65535 65535 16384 16384 32767 32767 -32768 -32768)))
+ (func (export "i16x8.max_u_with_const_7") (result v128) (i16x8.max_u (v128.const i16x8 0 0 1 1 2 2 3 3) (v128.const i16x8 3 3 2 2 1 1 0 0)))
+ (func (export "i16x8.avgr_u_with_const_8") (result v128) (i16x8.avgr_u (v128.const i16x8 -32768 -32768 32767 32767 16384 16384 65535 65535) (v128.const i16x8 65535 65535 16384 16384 32767 32767 -32768 -32768)))
+ (func (export "i16x8.avgr_u_with_const_9") (result v128) (i16x8.avgr_u (v128.const i16x8 0 0 1 1 2 2 3 3) (v128.const i16x8 3 3 2 2 1 1 0 0)))
+ (func (export "i16x8.abs_with_const_10") (result v128) (i16x8.abs (v128.const i16x8 -32768 -32768 32767 32767 16384 16384 65535 65535)))
+ (func (export "i16x8.min_s_with_const_11") (param v128) (result v128) (i16x8.min_s (local.get 0) (v128.const i16x8 -32768 -32768 32767 32767 16384 16384 65535 65535)))
+ (func (export "i16x8.min_s_with_const_12") (param v128) (result v128) (i16x8.min_s (local.get 0) (v128.const i16x8 0 0 1 1 2 2 3 3)))
+ (func (export "i16x8.min_u_with_const_13") (param v128) (result v128) (i16x8.min_u (local.get 0) (v128.const i16x8 -32768 -32768 32767 32767 16384 16384 65535 65535)))
+ (func (export "i16x8.min_u_with_const_14") (param v128) (result v128) (i16x8.min_u (local.get 0) (v128.const i16x8 0 0 1 1 2 2 3 3)))
+ (func (export "i16x8.max_s_with_const_15") (param v128) (result v128) (i16x8.max_s (local.get 0) (v128.const i16x8 -32768 -32768 32767 32767 16384 16384 65535 65535)))
+ (func (export "i16x8.max_s_with_const_16") (param v128) (result v128) (i16x8.max_s (local.get 0) (v128.const i16x8 0 0 1 1 2 2 3 3)))
+ (func (export "i16x8.max_u_with_const_17") (param v128) (result v128) (i16x8.max_u (local.get 0) (v128.const i16x8 -32768 -32768 32767 32767 16384 16384 65535 65535)))
+ (func (export "i16x8.max_u_with_const_18") (param v128) (result v128) (i16x8.max_u (local.get 0) (v128.const i16x8 0 0 1 1 2 2 3 3)))
+ (func (export "i16x8.avgr_u_with_const_19") (param v128) (result v128) (i16x8.avgr_u (local.get 0) (v128.const i16x8 -32768 -32768 32767 32767 16384 16384 65535 65535)))
+ (func (export "i16x8.avgr_u_with_const_20") (param v128) (result v128) (i16x8.avgr_u (local.get 0) (v128.const i16x8 0 0 1 1 2 2 3 3)))
+)`);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:33
+assert_return(
+ () => invoke($0, `i16x8.min_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:36
+assert_return(
+ () => invoke($0, `i16x8.min_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:39
+assert_return(
+ () => invoke($0, `i16x8.min_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x0, 0x0, 0xffff, 0xffff, 0x0, 0x0, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:42
+assert_return(
+ () => invoke($0, `i16x8.min_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:45
+assert_return(
+ () => invoke($0, `i16x8.min_s`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:48
+assert_return(
+ () => invoke($0, `i16x8.min_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:51
+assert_return(
+ () => invoke($0, `i16x8.min_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:54
+assert_return(
+ () => invoke($0, `i16x8.min_s`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:57
+assert_return(
+ () => invoke($0, `i16x8.min_s`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:60
+assert_return(
+ () => invoke($0, `i16x8.min_s`, [
+ i16x8([0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b]),
+ i16x8([0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b]),
+ ]),
+ [i16x8([0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:63
+assert_return(
+ () => invoke($0, `i16x8.min_s`, [
+ i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:66
+assert_return(
+ () => invoke($0, `i16x8.min_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:69
+assert_return(
+ () => invoke($0, `i16x8.min_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:72
+assert_return(
+ () => invoke($0, `i16x8.min_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x0, 0x0, 0xffff, 0xffff, 0x0, 0x0, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:75
+assert_return(
+ () => invoke($0, `i16x8.min_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:78
+assert_return(
+ () => invoke($0, `i16x8.min_u`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:81
+assert_return(
+ () => invoke($0, `i16x8.min_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:84
+assert_return(
+ () => invoke($0, `i16x8.min_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:87
+assert_return(
+ () => invoke($0, `i16x8.min_u`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:90
+assert_return(
+ () => invoke($0, `i16x8.min_u`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:93
+assert_return(
+ () => invoke($0, `i16x8.min_u`, [
+ i16x8([0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b]),
+ i16x8([0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b]),
+ ]),
+ [i16x8([0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:96
+assert_return(
+ () => invoke($0, `i16x8.min_u`, [
+ i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:99
+assert_return(
+ () => invoke($0, `i16x8.max_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:102
+assert_return(
+ () => invoke($0, `i16x8.max_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:105
+assert_return(
+ () => invoke($0, `i16x8.max_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x0, 0x0, 0xffff, 0xffff, 0x0, 0x0, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:108
+assert_return(
+ () => invoke($0, `i16x8.max_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:111
+assert_return(
+ () => invoke($0, `i16x8.max_s`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:114
+assert_return(
+ () => invoke($0, `i16x8.max_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:117
+assert_return(
+ () => invoke($0, `i16x8.max_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:120
+assert_return(
+ () => invoke($0, `i16x8.max_s`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:123
+assert_return(
+ () => invoke($0, `i16x8.max_s`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:126
+assert_return(
+ () => invoke($0, `i16x8.max_s`, [
+ i16x8([0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b]),
+ i16x8([0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b]),
+ ]),
+ [i16x8([0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:129
+assert_return(
+ () => invoke($0, `i16x8.max_s`, [
+ i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:132
+assert_return(
+ () => invoke($0, `i16x8.max_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:135
+assert_return(
+ () => invoke($0, `i16x8.max_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:138
+assert_return(
+ () => invoke($0, `i16x8.max_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x0, 0x0, 0xffff, 0xffff, 0x0, 0x0, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:141
+assert_return(
+ () => invoke($0, `i16x8.max_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:144
+assert_return(
+ () => invoke($0, `i16x8.max_u`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:147
+assert_return(
+ () => invoke($0, `i16x8.max_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:150
+assert_return(
+ () => invoke($0, `i16x8.max_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:153
+assert_return(
+ () => invoke($0, `i16x8.max_u`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:156
+assert_return(
+ () => invoke($0, `i16x8.max_u`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:159
+assert_return(
+ () => invoke($0, `i16x8.max_u`, [
+ i16x8([0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b]),
+ i16x8([0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b]),
+ ]),
+ [i16x8([0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:162
+assert_return(
+ () => invoke($0, `i16x8.max_u`, [
+ i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:165
+assert_return(
+ () => invoke($0, `i16x8.avgr_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:168
+assert_return(
+ () => invoke($0, `i16x8.avgr_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:171
+assert_return(
+ () => invoke($0, `i16x8.avgr_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x0, 0x0, 0xffff, 0xffff, 0x0, 0x0, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x8000, 0x8000, 0x8000, 0x8000, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:174
+assert_return(
+ () => invoke($0, `i16x8.avgr_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:177
+assert_return(
+ () => invoke($0, `i16x8.avgr_u`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:180
+assert_return(
+ () => invoke($0, `i16x8.avgr_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:183
+assert_return(
+ () => invoke($0, `i16x8.avgr_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [i16x8([0x8040, 0x8040, 0x8040, 0x8040, 0x8040, 0x8040, 0x8040, 0x8040])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:186
+assert_return(
+ () => invoke($0, `i16x8.avgr_u`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:189
+assert_return(
+ () => invoke($0, `i16x8.avgr_u`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:192
+assert_return(
+ () => invoke($0, `i16x8.avgr_u`, [
+ i16x8([0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b]),
+ i16x8([0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b]),
+ ]),
+ [i16x8([0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:195
+assert_return(
+ () => invoke($0, `i16x8.avgr_u`, [
+ i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:198
+assert_return(
+ () => invoke($0, `i16x8.abs`, [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:200
+assert_return(
+ () => invoke($0, `i16x8.abs`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:202
+assert_return(
+ () => invoke($0, `i16x8.abs`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:204
+assert_return(
+ () => invoke($0, `i16x8.abs`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:206
+assert_return(
+ () => invoke($0, `i16x8.abs`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:208
+assert_return(
+ () => invoke($0, `i16x8.abs`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:210
+assert_return(
+ () => invoke($0, `i16x8.abs`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:212
+assert_return(
+ () => invoke($0, `i16x8.abs`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:214
+assert_return(
+ () => invoke($0, `i16x8.abs`, [
+ i16x8([0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b]),
+ ]),
+ [i16x8([0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:216
+assert_return(
+ () => invoke($0, `i16x8.abs`, [
+ i16x8([0xff85, 0xff85, 0xff85, 0xff85, 0xff85, 0xff85, 0xff85, 0xff85]),
+ ]),
+ [i16x8([0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:218
+assert_return(
+ () => invoke($0, `i16x8.abs`, [
+ i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:220
+assert_return(
+ () => invoke($0, `i16x8.abs`, [
+ i16x8([0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80]),
+ ]),
+ [i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:222
+assert_return(
+ () => invoke($0, `i16x8.abs`, [
+ i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:224
+assert_return(
+ () => invoke($0, `i16x8.abs`, [
+ i16x8([0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80]),
+ ]),
+ [i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:228
+assert_return(
+ () => invoke($0, `i16x8.min_s_with_const_0`, []),
+ [i16x8([0x8000, 0x8000, 0x4000, 0x4000, 0x4000, 0x4000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:229
+assert_return(
+ () => invoke($0, `i16x8.min_s_with_const_1`, []),
+ [i16x8([0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:230
+assert_return(
+ () => invoke($0, `i16x8.min_u_with_const_2`, []),
+ [i16x8([0x8000, 0x8000, 0x4000, 0x4000, 0x4000, 0x4000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:231
+assert_return(
+ () => invoke($0, `i16x8.min_u_with_const_3`, []),
+ [i16x8([0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:232
+assert_return(
+ () => invoke($0, `i16x8.max_s_with_const_4`, []),
+ [i16x8([0xffff, 0xffff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:233
+assert_return(
+ () => invoke($0, `i16x8.max_s_with_const_5`, []),
+ [i16x8([0x3, 0x3, 0x2, 0x2, 0x2, 0x2, 0x3, 0x3])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:234
+assert_return(
+ () => invoke($0, `i16x8.max_u_with_const_6`, []),
+ [i16x8([0xffff, 0xffff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:235
+assert_return(
+ () => invoke($0, `i16x8.max_u_with_const_7`, []),
+ [i16x8([0x3, 0x3, 0x2, 0x2, 0x2, 0x2, 0x3, 0x3])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:236
+assert_return(
+ () => invoke($0, `i16x8.avgr_u_with_const_8`, []),
+ [i16x8([0xc000, 0xc000, 0x6000, 0x6000, 0x6000, 0x6000, 0xc000, 0xc000])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:237
+assert_return(
+ () => invoke($0, `i16x8.avgr_u_with_const_9`, []),
+ [i16x8([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:238
+assert_return(
+ () => invoke($0, `i16x8.abs_with_const_10`, []),
+ [i16x8([0x8000, 0x8000, 0x7fff, 0x7fff, 0x4000, 0x4000, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:241
+assert_return(
+ () => invoke($0, `i16x8.min_s_with_const_11`, [
+ i16x8([0xffff, 0xffff, 0x4000, 0x4000, 0x7fff, 0x7fff, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x4000, 0x4000, 0x4000, 0x4000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:243
+assert_return(
+ () => invoke($0, `i16x8.min_s_with_const_12`, [
+ i16x8([0x3, 0x3, 0x2, 0x2, 0x1, 0x1, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:245
+assert_return(
+ () => invoke($0, `i16x8.min_u_with_const_13`, [
+ i16x8([0xffff, 0xffff, 0x4000, 0x4000, 0x7fff, 0x7fff, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x4000, 0x4000, 0x4000, 0x4000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:247
+assert_return(
+ () => invoke($0, `i16x8.min_u_with_const_14`, [
+ i16x8([0x3, 0x3, 0x2, 0x2, 0x1, 0x1, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:249
+assert_return(
+ () => invoke($0, `i16x8.max_s_with_const_15`, [
+ i16x8([0xffff, 0xffff, 0x4000, 0x4000, 0x7fff, 0x7fff, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:251
+assert_return(
+ () => invoke($0, `i16x8.max_s_with_const_16`, [
+ i16x8([0x3, 0x3, 0x2, 0x2, 0x1, 0x1, 0x0, 0x0]),
+ ]),
+ [i16x8([0x3, 0x3, 0x2, 0x2, 0x2, 0x2, 0x3, 0x3])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:253
+assert_return(
+ () => invoke($0, `i16x8.max_u_with_const_17`, [
+ i16x8([0xffff, 0xffff, 0x4000, 0x4000, 0x7fff, 0x7fff, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:255
+assert_return(
+ () => invoke($0, `i16x8.max_u_with_const_18`, [
+ i16x8([0x3, 0x3, 0x2, 0x2, 0x1, 0x1, 0x0, 0x0]),
+ ]),
+ [i16x8([0x3, 0x3, 0x2, 0x2, 0x2, 0x2, 0x3, 0x3])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:257
+assert_return(
+ () => invoke($0, `i16x8.avgr_u_with_const_19`, [
+ i16x8([0xffff, 0xffff, 0x4000, 0x4000, 0x7fff, 0x7fff, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0xc000, 0xc000, 0x6000, 0x6000, 0x6000, 0x6000, 0xc000, 0xc000])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:259
+assert_return(
+ () => invoke($0, `i16x8.avgr_u_with_const_20`, [
+ i16x8([0x3, 0x3, 0x2, 0x2, 0x1, 0x1, 0x0, 0x0]),
+ ]),
+ [i16x8([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:263
+assert_return(
+ () => invoke($0, `i16x8.min_s`, [
+ i16x8([0x8000, 0x8000, 0x7fff, 0x7fff, 0x4000, 0x4000, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0x4000, 0x4000, 0x7fff, 0x7fff, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x4000, 0x4000, 0x4000, 0x4000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:266
+assert_return(
+ () => invoke($0, `i16x8.min_s`, [
+ i16x8([0x0, 0x0, 0x1, 0x1, 0x2, 0x2, 0x80, 0x80]),
+ i16x8([0x0, 0x0, 0x2, 0x2, 0x1, 0x1, 0x80, 0x80]),
+ ]),
+ [i16x8([0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x80, 0x80])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:269
+assert_return(
+ () => invoke($0, `i16x8.min_u`, [
+ i16x8([0x8000, 0x8000, 0x7fff, 0x7fff, 0x4000, 0x4000, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0x4000, 0x4000, 0x7fff, 0x7fff, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x4000, 0x4000, 0x4000, 0x4000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:272
+assert_return(
+ () => invoke($0, `i16x8.min_u`, [
+ i16x8([0x0, 0x0, 0x1, 0x1, 0x2, 0x2, 0x80, 0x80]),
+ i16x8([0x0, 0x0, 0x2, 0x2, 0x1, 0x1, 0x80, 0x80]),
+ ]),
+ [i16x8([0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x80, 0x80])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:275
+assert_return(
+ () => invoke($0, `i16x8.max_s`, [
+ i16x8([0x8000, 0x8000, 0x7fff, 0x7fff, 0x4000, 0x4000, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0x4000, 0x4000, 0x7fff, 0x7fff, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:278
+assert_return(
+ () => invoke($0, `i16x8.max_s`, [
+ i16x8([0x0, 0x0, 0x1, 0x1, 0x2, 0x2, 0x80, 0x80]),
+ i16x8([0x0, 0x0, 0x2, 0x2, 0x1, 0x1, 0x80, 0x80]),
+ ]),
+ [i16x8([0x0, 0x0, 0x2, 0x2, 0x2, 0x2, 0x80, 0x80])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:281
+assert_return(
+ () => invoke($0, `i16x8.max_u`, [
+ i16x8([0x8000, 0x8000, 0x7fff, 0x7fff, 0x4000, 0x4000, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0x4000, 0x4000, 0x7fff, 0x7fff, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:284
+assert_return(
+ () => invoke($0, `i16x8.max_u`, [
+ i16x8([0x0, 0x0, 0x1, 0x1, 0x2, 0x2, 0x80, 0x80]),
+ i16x8([0x0, 0x0, 0x2, 0x2, 0x1, 0x1, 0x80, 0x80]),
+ ]),
+ [i16x8([0x0, 0x0, 0x2, 0x2, 0x2, 0x2, 0x80, 0x80])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:287
+assert_return(
+ () => invoke($0, `i16x8.avgr_u`, [
+ i16x8([0x8000, 0x8000, 0x7fff, 0x7fff, 0x4000, 0x4000, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0x4000, 0x4000, 0x7fff, 0x7fff, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0xc000, 0xc000, 0x6000, 0x6000, 0x6000, 0x6000, 0xc000, 0xc000])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:290
+assert_return(
+ () => invoke($0, `i16x8.avgr_u`, [
+ i16x8([0x0, 0x0, 0x1, 0x1, 0x2, 0x2, 0x80, 0x80]),
+ i16x8([0x0, 0x0, 0x2, 0x2, 0x1, 0x1, 0x80, 0x80]),
+ ]),
+ [i16x8([0x0, 0x0, 0x2, 0x2, 0x2, 0x2, 0x80, 0x80])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:293
+assert_return(
+ () => invoke($0, `i16x8.abs`, [
+ i16x8([0x8000, 0x8000, 0x7fff, 0x7fff, 0x4000, 0x4000, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x7fff, 0x7fff, 0x4000, 0x4000, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:297
+assert_return(
+ () => invoke($0, `i16x8.min_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:300
+assert_return(
+ () => invoke($0, `i16x8.min_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:303
+assert_return(
+ () => invoke($0, `i16x8.min_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:306
+assert_return(
+ () => invoke($0, `i16x8.min_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:309
+assert_return(
+ () => invoke($0, `i16x8.max_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:312
+assert_return(
+ () => invoke($0, `i16x8.max_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:315
+assert_return(
+ () => invoke($0, `i16x8.max_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:318
+assert_return(
+ () => invoke($0, `i16x8.max_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:321
+assert_return(
+ () => invoke($0, `i16x8.avgr_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:324
+assert_return(
+ () => invoke($0, `i16x8.avgr_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:327
+assert_return(
+ () => invoke($0, `i16x8.abs`, [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:329
+assert_return(
+ () => invoke($0, `i16x8.abs`, [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:331
+assert_return(
+ () => invoke($0, `i16x8.abs`, [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:333
+assert_return(
+ () => invoke($0, `i16x8.abs`, [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:337
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i16x8.avgr (v128.const i16x8 0 0 0 0 0 0 0 0) (v128.const i16x8 1 1 1 1 1 1 1 1))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:338
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i16x8.avgr_s (v128.const i16x8 0 0 0 0 0 0 0 0) (v128.const i16x8 1 1 1 1 1 1 1 1))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:341
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i16x8.min_s (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:342
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i16x8.min_u (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:343
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i16x8.max_s (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:344
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i16x8.max_u (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:345
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i16x8.avgr_u (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:346
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i16x8.abs (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:350
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.min_s-1st-arg-empty (result v128)
+ (i16x8.min_s (v128.const i16x8 0 0 0 0 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:358
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.min_s-arg-empty (result v128)
+ (i16x8.min_s)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:366
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.min_u-1st-arg-empty (result v128)
+ (i16x8.min_u (v128.const i16x8 0 0 0 0 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:374
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.min_u-arg-empty (result v128)
+ (i16x8.min_u)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:382
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.max_s-1st-arg-empty (result v128)
+ (i16x8.max_s (v128.const i16x8 0 0 0 0 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:390
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.max_s-arg-empty (result v128)
+ (i16x8.max_s)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:398
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.max_u-1st-arg-empty (result v128)
+ (i16x8.max_u (v128.const i16x8 0 0 0 0 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:406
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.max_u-arg-empty (result v128)
+ (i16x8.max_u)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:414
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.avgr_u-1st-arg-empty (result v128)
+ (i16x8.avgr_u (v128.const i16x8 0 0 0 0 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:422
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.avgr_u-arg-empty (result v128)
+ (i16x8.avgr_u)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:430
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.abs-arg-empty (result v128)
+ (i16x8.abs)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:440
+let $1 = instantiate(`(module
+ (func (export "i16x8.min_s-i16x8.avgr_u") (param v128 v128 v128) (result v128) (i16x8.min_s (i16x8.avgr_u (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "i16x8.min_s-i16x8.max_u") (param v128 v128 v128) (result v128) (i16x8.min_s (i16x8.max_u (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "i16x8.min_s-i16x8.max_s") (param v128 v128 v128) (result v128) (i16x8.min_s (i16x8.max_s (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "i16x8.min_s-i16x8.min_u") (param v128 v128 v128) (result v128) (i16x8.min_s (i16x8.min_u (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "i16x8.min_s-i16x8.min_s") (param v128 v128 v128) (result v128) (i16x8.min_s (i16x8.min_s (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "i16x8.min_s-i16x8.abs") (param v128 v128) (result v128) (i16x8.min_s (i16x8.abs (local.get 0))(local.get 1)))
+ (func (export "i16x8.abs-i16x8.min_s") (param v128 v128) (result v128) (i16x8.abs (i16x8.min_s (local.get 0) (local.get 1))))
+ (func (export "i16x8.min_u-i16x8.avgr_u") (param v128 v128 v128) (result v128) (i16x8.min_u (i16x8.avgr_u (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "i16x8.min_u-i16x8.max_u") (param v128 v128 v128) (result v128) (i16x8.min_u (i16x8.max_u (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "i16x8.min_u-i16x8.max_s") (param v128 v128 v128) (result v128) (i16x8.min_u (i16x8.max_s (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "i16x8.min_u-i16x8.min_u") (param v128 v128 v128) (result v128) (i16x8.min_u (i16x8.min_u (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "i16x8.min_u-i16x8.min_s") (param v128 v128 v128) (result v128) (i16x8.min_u (i16x8.min_s (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "i16x8.min_u-i16x8.abs") (param v128 v128) (result v128) (i16x8.min_u (i16x8.abs (local.get 0))(local.get 1)))
+ (func (export "i16x8.abs-i16x8.min_u") (param v128 v128) (result v128) (i16x8.abs (i16x8.min_u (local.get 0) (local.get 1))))
+ (func (export "i16x8.max_s-i16x8.avgr_u") (param v128 v128 v128) (result v128) (i16x8.max_s (i16x8.avgr_u (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "i16x8.max_s-i16x8.max_u") (param v128 v128 v128) (result v128) (i16x8.max_s (i16x8.max_u (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "i16x8.max_s-i16x8.max_s") (param v128 v128 v128) (result v128) (i16x8.max_s (i16x8.max_s (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "i16x8.max_s-i16x8.min_u") (param v128 v128 v128) (result v128) (i16x8.max_s (i16x8.min_u (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "i16x8.max_s-i16x8.min_s") (param v128 v128 v128) (result v128) (i16x8.max_s (i16x8.min_s (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "i16x8.max_s-i16x8.abs") (param v128 v128) (result v128) (i16x8.max_s (i16x8.abs (local.get 0))(local.get 1)))
+ (func (export "i16x8.abs-i16x8.max_s") (param v128 v128) (result v128) (i16x8.abs (i16x8.max_s (local.get 0) (local.get 1))))
+ (func (export "i16x8.max_u-i16x8.avgr_u") (param v128 v128 v128) (result v128) (i16x8.max_u (i16x8.avgr_u (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "i16x8.max_u-i16x8.max_u") (param v128 v128 v128) (result v128) (i16x8.max_u (i16x8.max_u (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "i16x8.max_u-i16x8.max_s") (param v128 v128 v128) (result v128) (i16x8.max_u (i16x8.max_s (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "i16x8.max_u-i16x8.min_u") (param v128 v128 v128) (result v128) (i16x8.max_u (i16x8.min_u (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "i16x8.max_u-i16x8.min_s") (param v128 v128 v128) (result v128) (i16x8.max_u (i16x8.min_s (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "i16x8.max_u-i16x8.abs") (param v128 v128) (result v128) (i16x8.max_u (i16x8.abs (local.get 0))(local.get 1)))
+ (func (export "i16x8.abs-i16x8.max_u") (param v128 v128) (result v128) (i16x8.abs (i16x8.max_u (local.get 0) (local.get 1))))
+ (func (export "i16x8.avgr_u-i16x8.avgr_u") (param v128 v128 v128) (result v128) (i16x8.avgr_u (i16x8.avgr_u (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "i16x8.avgr_u-i16x8.max_u") (param v128 v128 v128) (result v128) (i16x8.avgr_u (i16x8.max_u (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "i16x8.avgr_u-i16x8.max_s") (param v128 v128 v128) (result v128) (i16x8.avgr_u (i16x8.max_s (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "i16x8.avgr_u-i16x8.min_u") (param v128 v128 v128) (result v128) (i16x8.avgr_u (i16x8.min_u (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "i16x8.avgr_u-i16x8.min_s") (param v128 v128 v128) (result v128) (i16x8.avgr_u (i16x8.min_s (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "i16x8.avgr_u-i16x8.abs") (param v128 v128) (result v128) (i16x8.avgr_u (i16x8.abs (local.get 0))(local.get 1)))
+ (func (export "i16x8.abs-i16x8.avgr_u") (param v128 v128) (result v128) (i16x8.abs (i16x8.avgr_u (local.get 0) (local.get 1))))
+ (func (export "i16x8.abs-i16x8.abs") (param v128) (result v128) (i16x8.abs (i16x8.abs (local.get 0))))
+)`);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:479
+assert_return(
+ () => invoke($1, `i16x8.min_s-i16x8.avgr_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:483
+assert_return(
+ () => invoke($1, `i16x8.min_s-i16x8.max_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:487
+assert_return(
+ () => invoke($1, `i16x8.min_s-i16x8.max_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:491
+assert_return(
+ () => invoke($1, `i16x8.min_s-i16x8.min_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:495
+assert_return(
+ () => invoke($1, `i16x8.min_s-i16x8.min_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:499
+assert_return(
+ () => invoke($1, `i16x8.min_s-i16x8.abs`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:502
+assert_return(
+ () => invoke($1, `i16x8.abs-i16x8.min_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:505
+assert_return(
+ () => invoke($1, `i16x8.min_u-i16x8.avgr_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:509
+assert_return(
+ () => invoke($1, `i16x8.min_u-i16x8.max_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:513
+assert_return(
+ () => invoke($1, `i16x8.min_u-i16x8.max_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:517
+assert_return(
+ () => invoke($1, `i16x8.min_u-i16x8.min_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:521
+assert_return(
+ () => invoke($1, `i16x8.min_u-i16x8.min_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:525
+assert_return(
+ () => invoke($1, `i16x8.min_u-i16x8.abs`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:528
+assert_return(
+ () => invoke($1, `i16x8.abs-i16x8.min_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:531
+assert_return(
+ () => invoke($1, `i16x8.max_s-i16x8.avgr_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [i16x8([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:535
+assert_return(
+ () => invoke($1, `i16x8.max_s-i16x8.max_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [i16x8([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:539
+assert_return(
+ () => invoke($1, `i16x8.max_s-i16x8.max_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [i16x8([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:543
+assert_return(
+ () => invoke($1, `i16x8.max_s-i16x8.min_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [i16x8([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:547
+assert_return(
+ () => invoke($1, `i16x8.max_s-i16x8.min_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [i16x8([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:551
+assert_return(
+ () => invoke($1, `i16x8.max_s-i16x8.abs`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:554
+assert_return(
+ () => invoke($1, `i16x8.abs-i16x8.max_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:557
+assert_return(
+ () => invoke($1, `i16x8.max_u-i16x8.avgr_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [i16x8([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:561
+assert_return(
+ () => invoke($1, `i16x8.max_u-i16x8.max_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [i16x8([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:565
+assert_return(
+ () => invoke($1, `i16x8.max_u-i16x8.max_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [i16x8([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:569
+assert_return(
+ () => invoke($1, `i16x8.max_u-i16x8.min_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [i16x8([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:573
+assert_return(
+ () => invoke($1, `i16x8.max_u-i16x8.min_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [i16x8([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:577
+assert_return(
+ () => invoke($1, `i16x8.max_u-i16x8.abs`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:580
+assert_return(
+ () => invoke($1, `i16x8.abs-i16x8.max_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:583
+assert_return(
+ () => invoke($1, `i16x8.avgr_u-i16x8.avgr_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [i16x8([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:587
+assert_return(
+ () => invoke($1, `i16x8.avgr_u-i16x8.max_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [i16x8([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:591
+assert_return(
+ () => invoke($1, `i16x8.avgr_u-i16x8.max_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [i16x8([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:595
+assert_return(
+ () => invoke($1, `i16x8.avgr_u-i16x8.min_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:599
+assert_return(
+ () => invoke($1, `i16x8.avgr_u-i16x8.min_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:603
+assert_return(
+ () => invoke($1, `i16x8.avgr_u-i16x8.abs`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:606
+assert_return(
+ () => invoke($1, `i16x8.abs-i16x8.avgr_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_arith2.wast:609
+assert_return(
+ () => invoke($1, `i16x8.abs-i16x8.abs`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/simd_i16x8_cmp.wast.js b/js/src/jit-test/tests/wasm/spec/spec/simd_i16x8_cmp.wast.js
new file mode 100644
index 0000000000..f0fdcc0868
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/simd_i16x8_cmp.wast.js
@@ -0,0 +1,4369 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_i16x8_cmp.wast
+
+// ./test/core/simd/simd_i16x8_cmp.wast:4
+let $0 = instantiate(`(module
+ (func (export "eq") (param $$x v128) (param $$y v128) (result v128) (i16x8.eq (local.get $$x) (local.get $$y)))
+ (func (export "ne") (param $$x v128) (param $$y v128) (result v128) (i16x8.ne (local.get $$x) (local.get $$y)))
+ (func (export "lt_s") (param $$x v128) (param $$y v128) (result v128) (i16x8.lt_s (local.get $$x) (local.get $$y)))
+ (func (export "lt_u") (param $$x v128) (param $$y v128) (result v128) (i16x8.lt_u (local.get $$x) (local.get $$y)))
+ (func (export "le_s") (param $$x v128) (param $$y v128) (result v128) (i16x8.le_s (local.get $$x) (local.get $$y)))
+ (func (export "le_u") (param $$x v128) (param $$y v128) (result v128) (i16x8.le_u (local.get $$x) (local.get $$y)))
+ (func (export "gt_s") (param $$x v128) (param $$y v128) (result v128) (i16x8.gt_s (local.get $$x) (local.get $$y)))
+ (func (export "gt_u") (param $$x v128) (param $$y v128) (result v128) (i16x8.gt_u (local.get $$x) (local.get $$y)))
+ (func (export "ge_s") (param $$x v128) (param $$y v128) (result v128) (i16x8.ge_s (local.get $$x) (local.get $$y)))
+ (func (export "ge_u") (param $$x v128) (param $$y v128) (result v128) (i16x8.ge_u (local.get $$x) (local.get $$y)))
+)`);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:23
+assert_return(
+ () => invoke($0, `eq`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:26
+assert_return(
+ () => invoke($0, `eq`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:29
+assert_return(
+ () => invoke($0, `eq`, [
+ i16x8([0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0]),
+ i16x8([0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:32
+assert_return(
+ () => invoke($0, `eq`, [
+ i16x8([0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f]),
+ i16x8([0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:35
+assert_return(
+ () => invoke($0, `eq`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:38
+assert_return(
+ () => invoke($0, `eq`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:41
+assert_return(
+ () => invoke($0, `eq`, [
+ i16x8([0x100, 0x302, 0x904, 0x1110, 0xa12, 0x1a0b, 0xaa1b, 0xffab]),
+ i16x8([0x100, 0x302, 0x904, 0x1110, 0xa12, 0x1a0b, 0xaa1b, 0xffab]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:46
+assert_return(
+ () => invoke($0, `eq`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:49
+assert_return(
+ () => invoke($0, `eq`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:52
+assert_return(
+ () => invoke($0, `eq`, [
+ i16x8([0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080]),
+ i16x8([0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:55
+assert_return(
+ () => invoke($0, `eq`, [
+ i16x8([0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080]),
+ i16x8([0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:58
+assert_return(
+ () => invoke($0, `eq`, [
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:63
+assert_return(
+ () => invoke($0, `eq`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:66
+assert_return(
+ () => invoke($0, `eq`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:69
+assert_return(
+ () => invoke($0, `eq`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:72
+assert_return(
+ () => invoke($0, `eq`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:75
+assert_return(
+ () => invoke($0, `eq`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:78
+assert_return(
+ () => invoke($0, `eq`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:81
+assert_return(
+ () => invoke($0, `eq`, [
+ i16x8([0x8000, 0xfffe, 0xffff, 0x0, 0x0, 0x1, 0x2, 0xffff]),
+ i16x8([0x8000, 0xfffe, 0xffff, 0x0, 0x0, 0x1, 0x2, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:86
+assert_return(
+ () => invoke($0, `eq`, [
+ i16x8([0x0, 0xc300, 0x0, 0xc2fe, 0x0, 0xbf80, 0x0, 0x0]),
+ f32x4([-128, -127, -1, 0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:89
+assert_return(
+ () => invoke($0, `eq`, [
+ i16x8([0x0, 0x3f80, 0x0, 0x42fe, 0x0, 0x4300, 0x0, 0x437f]),
+ f32x4([1, 127, 128, 255]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:94
+assert_return(
+ () => invoke($0, `eq`, [
+ i16x8([0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f]),
+ i16x8([0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:97
+assert_return(
+ () => invoke($0, `eq`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:100
+assert_return(
+ () => invoke($0, `eq`, [
+ i16x8([0x1, 0x203, 0x409, 0x1011, 0x120a, 0xb1a, 0x1baa, 0xabff]),
+ i16x8([0xffab, 0xaa1b, 0x1a0b, 0xa12, 0x1110, 0x904, 0x302, 0x100]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:103
+assert_return(
+ () => invoke($0, `eq`, [
+ i16x8([0x8000, 0x8001, 0x8002, 0x8003, 0x8004, 0x8005, 0x8006, 0x8007]),
+ i16x8([0x8007, 0x8006, 0x8005, 0x8004, 0x8003, 0x8002, 0x8001, 0x8000]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:106
+assert_return(
+ () => invoke($0, `eq`, [
+ i16x8([0x8000, 0x8001, 0xfffe, 0xffff, 0x0, 0xffff, 0x8001, 0x8000]),
+ i16x8([0x8000, 0x8001, 0xffff, 0x0, 0xffff, 0xfffe, 0x8001, 0x8000]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:111
+assert_return(
+ () => invoke($0, `eq`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:114
+assert_return(
+ () => invoke($0, `eq`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:117
+assert_return(
+ () => invoke($0, `eq`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:120
+assert_return(
+ () => invoke($0, `eq`, [
+ i16x8([0x100, 0x302, 0x504, 0x706, 0x908, 0xb0a, 0xd0c, 0xf0e]),
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:123
+assert_return(
+ () => invoke($0, `eq`, [
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:126
+assert_return(
+ () => invoke($0, `eq`, [
+ i16x8([0xff80, 0xff80, 0x0, 0x0, 0x1, 0x1, 0xff, 0xff]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0x0, 0x0, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:129
+assert_return(
+ () => invoke($0, `eq`, [
+ i16x8([0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555]),
+ i8x16([0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:134
+assert_return(
+ () => invoke($0, `eq`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:137
+assert_return(
+ () => invoke($0, `eq`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:140
+assert_return(
+ () => invoke($0, `eq`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:143
+assert_return(
+ () => invoke($0, `eq`, [
+ i16x8([0x100, 0x302, 0x504, 0x706, 0x908, 0xb0a, 0xd0c, 0xf0e]),
+ i32x4([0x3020100, 0x7060504, 0xb0a0908, 0xf0e0d0c]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:146
+assert_return(
+ () => invoke($0, `eq`, [
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:149
+assert_return(
+ () => invoke($0, `eq`, [
+ i16x8([0xffff, 0xffff, 0x0, 0x0, 0x1, 0x1, 0x8000, 0x8000]),
+ i32x4([0xffff, 0x0, 0x1, 0x8000]),
+ ]),
+ [i16x8([0xffff, 0x0, 0xffff, 0xffff, 0xffff, 0x0, 0xffff, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:152
+assert_return(
+ () => invoke($0, `eq`, [
+ i16x8([0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555]),
+ i32x4([0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:155
+assert_return(
+ () => invoke($0, `eq`, [
+ i16x8([0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039]),
+ i16x8([0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:158
+assert_return(
+ () => invoke($0, `eq`, [
+ i16x8([0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234]),
+ i16x8([0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:167
+assert_return(
+ () => invoke($0, `ne`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:170
+assert_return(
+ () => invoke($0, `ne`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:173
+assert_return(
+ () => invoke($0, `ne`, [
+ i16x8([0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0]),
+ i16x8([0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:176
+assert_return(
+ () => invoke($0, `ne`, [
+ i16x8([0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f]),
+ i16x8([0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:179
+assert_return(
+ () => invoke($0, `ne`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:182
+assert_return(
+ () => invoke($0, `ne`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:185
+assert_return(
+ () => invoke($0, `ne`, [
+ i16x8([0x100, 0x302, 0x904, 0x1110, 0xa12, 0x1a0b, 0xaa1b, 0xffab]),
+ i16x8([0x100, 0x302, 0x904, 0x1110, 0xa12, 0x1a0b, 0xaa1b, 0xffab]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:190
+assert_return(
+ () => invoke($0, `ne`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:193
+assert_return(
+ () => invoke($0, `ne`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:196
+assert_return(
+ () => invoke($0, `ne`, [
+ i16x8([0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080]),
+ i16x8([0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:199
+assert_return(
+ () => invoke($0, `ne`, [
+ i16x8([0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080]),
+ i16x8([0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:202
+assert_return(
+ () => invoke($0, `ne`, [
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:207
+assert_return(
+ () => invoke($0, `ne`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:210
+assert_return(
+ () => invoke($0, `ne`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:213
+assert_return(
+ () => invoke($0, `ne`, [
+ i16x8([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i16x8([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:216
+assert_return(
+ () => invoke($0, `ne`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:219
+assert_return(
+ () => invoke($0, `ne`, [
+ i16x8([0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:222
+assert_return(
+ () => invoke($0, `ne`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:225
+assert_return(
+ () => invoke($0, `ne`, [
+ i16x8([0xff, 0x7fff, 0x0, 0x0, 0x1, 0x2, 0xfffe, 0xffff]),
+ i16x8([0xff, 0x7fff, 0x0, 0x0, 0x1, 0x2, 0xfffe, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:230
+assert_return(
+ () => invoke($0, `ne`, [
+ i16x8([0x0, 0xc300, 0x0, 0xc2fe, 0x0, 0xbf80, 0x0, 0x0]),
+ f32x4([-128, -127, -1, 0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:233
+assert_return(
+ () => invoke($0, `ne`, [
+ i16x8([0x0, 0x3f80, 0x0, 0x42fe, 0x0, 0x4300, 0x0, 0x437f]),
+ f32x4([1, 127, 128, 255]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:238
+assert_return(
+ () => invoke($0, `ne`, [
+ i16x8([0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f]),
+ i16x8([0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:241
+assert_return(
+ () => invoke($0, `ne`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:244
+assert_return(
+ () => invoke($0, `ne`, [
+ i16x8([0x1, 0x203, 0x409, 0x1011, 0x120a, 0xb1a, 0x1baa, 0xabff]),
+ i16x8([0xffab, 0xaa1b, 0x1a0b, 0xa12, 0x1110, 0x904, 0x302, 0x100]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:247
+assert_return(
+ () => invoke($0, `ne`, [
+ i16x8([0x8081, 0x8283, 0xfdfe, 0xff00, 0x1, 0x27f, 0x80fd, 0xfeff]),
+ i16x8([0xfeff, 0x80fd, 0x27f, 0x1, 0xff00, 0xfdfe, 0x8283, 0x8081]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:250
+assert_return(
+ () => invoke($0, `ne`, [
+ i16x8([0x80, 0x81, 0x82, 0x83, 0x0, 0xff, 0x7ffe, 0x7fff]),
+ i16x8([0x7fff, 0x7ffe, 0xff, 0x0, 0x83, 0x82, 0x81, 0x1c]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:255
+assert_return(
+ () => invoke($0, `ne`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:258
+assert_return(
+ () => invoke($0, `ne`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:261
+assert_return(
+ () => invoke($0, `ne`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:264
+assert_return(
+ () => invoke($0, `ne`, [
+ i16x8([0x100, 0x302, 0x504, 0x706, 0x908, 0xb0a, 0xd0c, 0xf0e]),
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:267
+assert_return(
+ () => invoke($0, `ne`, [
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:270
+assert_return(
+ () => invoke($0, `ne`, [
+ i16x8([0xff80, 0xff80, 0x0, 0x0, 0x1, 0x1, 0xff, 0xff]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:273
+assert_return(
+ () => invoke($0, `ne`, [
+ i16x8([0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555]),
+ i8x16([0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:278
+assert_return(
+ () => invoke($0, `ne`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:281
+assert_return(
+ () => invoke($0, `ne`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:284
+assert_return(
+ () => invoke($0, `ne`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:287
+assert_return(
+ () => invoke($0, `ne`, [
+ i16x8([0x100, 0x302, 0x504, 0x706, 0x908, 0xb0a, 0xd0c, 0xf0e]),
+ i32x4([0x3020100, 0x7060504, 0xb0a0908, 0xf0e0d0c]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:290
+assert_return(
+ () => invoke($0, `ne`, [
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:293
+assert_return(
+ () => invoke($0, `ne`, [
+ i16x8([0xff80, 0xff80, 0x0, 0x0, 0x1, 0x1, 0xff, 0xff]),
+ i32x4([0xffffff80, 0x0, 0x1, 0xff]),
+ ]),
+ [i16x8([0x0, 0xffff, 0x0, 0x0, 0x0, 0xffff, 0x0, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:296
+assert_return(
+ () => invoke($0, `ne`, [
+ i16x8([0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555]),
+ i32x4([0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:299
+assert_return(
+ () => invoke($0, `ne`, [
+ i16x8([0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039]),
+ i16x8([0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:302
+assert_return(
+ () => invoke($0, `ne`, [
+ i16x8([0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234]),
+ i16x8([0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:311
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:314
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:317
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i16x8([0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0]),
+ i16x8([0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:320
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i16x8([0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f]),
+ i16x8([0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:323
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:326
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:329
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i16x8([0x100, 0x302, 0x904, 0x1110, 0xa12, 0x1a0b, 0xaa1b, 0xffab]),
+ i16x8([0x100, 0x302, 0x904, 0x1110, 0xa12, 0x1a0b, 0xaa1b, 0xffab]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:332
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:335
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:338
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i16x8([0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080]),
+ i16x8([0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:341
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i16x8([0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080]),
+ i16x8([0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:344
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:347
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:350
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:353
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i16x8([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i16x8([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:356
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:359
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i16x8([0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:362
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:365
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i16x8([0xff, 0x7fff, 0x0, 0x0, 0x1, 0x2, 0xfffe, 0xffff]),
+ i16x8([0xff, 0x7fff, 0x0, 0x0, 0x1, 0x2, 0xfffe, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:368
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i16x8([0x0, 0xc300, 0x0, 0xc2fe, 0x0, 0xbf80, 0x0, 0x0]),
+ f32x4([-128, -127, -1, 0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:371
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i16x8([0x0, 0x3f80, 0x0, 0x42fe, 0x0, 0x4300, 0x0, 0x437f]),
+ f32x4([1, 127, 128, 255]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:376
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i16x8([0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f]),
+ i16x8([0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:379
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:382
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i16x8([0x1, 0x203, 0x409, 0x1011, 0x120a, 0xb1a, 0x1baa, 0xabff]),
+ i16x8([0xffab, 0xaa1b, 0x1a0b, 0xa12, 0x1110, 0x904, 0x302, 0x100]),
+ ]),
+ [i16x8([0x0, 0x0, 0xffff, 0x0, 0x0, 0x0, 0x0, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:385
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i16x8([0x8081, 0x8283, 0xfdfe, 0xff00, 0x1, 0x27f, 0x80fd, 0xfeff]),
+ i16x8([0xfeff, 0x80fd, 0x27f, 0x1, 0xff00, 0xfdfe, 0x8283, 0x8081]),
+ ]),
+ [i16x8([0xffff, 0x0, 0xffff, 0xffff, 0x0, 0x0, 0xffff, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:388
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i16x8([0x80, 0x81, 0x82, 0x83, 0x0, 0xff, 0x7ffe, 0x7fff]),
+ i16x8([0x7fff, 0x7ffe, 0xff, 0x0, 0x83, 0x82, 0x81, 0x1c]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0x0, 0xffff, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:393
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:396
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:399
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:402
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i16x8([0x100, 0x302, 0x504, 0x706, 0x908, 0xb0a, 0xd0c, 0xf0e]),
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:405
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:408
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i16x8([0xff80, 0xff80, 0x0, 0x0, 0x1, 0x1, 0xff, 0xff]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:411
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i16x8([0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555]),
+ i8x16([0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:416
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:419
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:422
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:425
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i16x8([0x100, 0x302, 0x504, 0x706, 0x908, 0xb0a, 0xd0c, 0xf0e]),
+ i32x4([0x3020100, 0x7060504, 0xb0a0908, 0xf0e0d0c]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:428
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:431
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i16x8([0xff80, 0xff80, 0x0, 0x0, 0x1, 0x1, 0xff, 0xff]),
+ i32x4([0xffffff80, 0x0, 0x1, 0xff]),
+ ]),
+ [i16x8([0x0, 0xffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:434
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i16x8([0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555]),
+ i32x4([0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:437
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i16x8([0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039]),
+ i16x8([0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:440
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i16x8([0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234]),
+ i16x8([0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:449
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:452
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:455
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i16x8([0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0]),
+ i16x8([0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:458
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i16x8([0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f]),
+ i16x8([0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:461
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:464
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:467
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i16x8([0x100, 0x302, 0x904, 0x1110, 0xa12, 0x1a0b, 0xaa1b, 0xffab]),
+ i16x8([0x100, 0x302, 0x904, 0x1110, 0xa12, 0x1a0b, 0xaa1b, 0xffab]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:472
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:475
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:478
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i16x8([0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080]),
+ i16x8([0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:481
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i16x8([0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080]),
+ i16x8([0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:484
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:489
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:492
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:495
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i16x8([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i16x8([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:498
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:501
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i16x8([0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:504
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:507
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i16x8([0xff, 0x7fff, 0x0, 0x0, 0x1, 0x2, 0xfffe, 0xffff]),
+ i16x8([0xff, 0x7fff, 0x0, 0x0, 0x1, 0x2, 0xfffe, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:512
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i16x8([0x0, 0xc300, 0x0, 0xc2fe, 0x0, 0xbf80, 0x0, 0x0]),
+ f32x4([-128, -127, -1, 0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:515
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i16x8([0x0, 0x3f80, 0x0, 0x42fe, 0x0, 0x4300, 0x0, 0x437f]),
+ f32x4([1, 127, 128, 255]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:520
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i16x8([0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f]),
+ i16x8([0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:523
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:526
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i16x8([0x1, 0x203, 0x409, 0x1011, 0x120a, 0xb1a, 0x1baa, 0xabff]),
+ i16x8([0xffab, 0xaa1b, 0x1a0b, 0xa12, 0x1110, 0x904, 0x302, 0x100]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:529
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i16x8([0x8081, 0x8283, 0xfdfe, 0xff00, 0x1, 0x27f, 0x80fd, 0xfeff]),
+ i16x8([0xfeff, 0x80fd, 0x27f, 0x1, 0xff00, 0xfdfe, 0x8283, 0x8081]),
+ ]),
+ [i16x8([0xffff, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:532
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i16x8([0x80, 0x81, 0x82, 0x83, 0x0, 0xff, 0x7ffe, 0x7fff]),
+ i16x8([0x7fff, 0x7ffe, 0xff, 0x0, 0x83, 0x82, 0x81, 0x1c]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0x0, 0xffff, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:537
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:540
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:543
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:546
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i16x8([0x100, 0x302, 0x504, 0x706, 0x908, 0xb0a, 0xd0c, 0xf0e]),
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:549
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:552
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i16x8([0xff80, 0xff80, 0x0, 0x0, 0x1, 0x1, 0xff, 0xff]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:555
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i16x8([0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555]),
+ i8x16([0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:560
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:563
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:566
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:569
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i16x8([0x100, 0x302, 0x504, 0x706, 0x908, 0xb0a, 0xd0c, 0xf0e]),
+ i32x4([0x3020100, 0x7060504, 0xb0a0908, 0xf0e0d0c]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:572
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:575
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i16x8([0xff80, 0xff80, 0x0, 0x0, 0x1, 0x1, 0xff, 0xff]),
+ i32x4([0xffffff80, 0x0, 0x1, 0xff]),
+ ]),
+ [i16x8([0x0, 0xffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:578
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i16x8([0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555]),
+ i32x4([0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:581
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i16x8([0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039]),
+ i16x8([0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:584
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i16x8([0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234]),
+ i16x8([0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:593
+assert_return(
+ () => invoke($0, `le_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:596
+assert_return(
+ () => invoke($0, `le_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:599
+assert_return(
+ () => invoke($0, `le_s`, [
+ i16x8([0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0]),
+ i16x8([0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:602
+assert_return(
+ () => invoke($0, `le_s`, [
+ i16x8([0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f]),
+ i16x8([0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:605
+assert_return(
+ () => invoke($0, `le_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:608
+assert_return(
+ () => invoke($0, `le_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:611
+assert_return(
+ () => invoke($0, `le_s`, [
+ i16x8([0x100, 0x302, 0x904, 0x1110, 0xa12, 0x1a0b, 0xaa1b, 0xffab]),
+ i16x8([0x100, 0x302, 0x904, 0x1110, 0xa12, 0x1a0b, 0xaa1b, 0xffab]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:616
+assert_return(
+ () => invoke($0, `le_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:619
+assert_return(
+ () => invoke($0, `le_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:622
+assert_return(
+ () => invoke($0, `le_s`, [
+ i16x8([0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080]),
+ i16x8([0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:625
+assert_return(
+ () => invoke($0, `le_s`, [
+ i16x8([0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080]),
+ i16x8([0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:628
+assert_return(
+ () => invoke($0, `le_s`, [
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:633
+assert_return(
+ () => invoke($0, `le_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:636
+assert_return(
+ () => invoke($0, `le_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:639
+assert_return(
+ () => invoke($0, `le_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:642
+assert_return(
+ () => invoke($0, `le_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:645
+assert_return(
+ () => invoke($0, `le_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:648
+assert_return(
+ () => invoke($0, `le_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:651
+assert_return(
+ () => invoke($0, `le_s`, [
+ i16x8([0x8000, 0xfffe, 0xffff, 0x0, 0x0, 0x1, 0x2, 0xffff]),
+ i16x8([0x8000, 0xfffe, 0xffff, 0x0, 0x0, 0x1, 0x2, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:656
+assert_return(
+ () => invoke($0, `le_s`, [
+ i16x8([0x0, 0xc300, 0x0, 0xc2fe, 0x0, 0xbf80, 0x0, 0x0]),
+ f32x4([-128, -127, -1, 0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:659
+assert_return(
+ () => invoke($0, `le_s`, [
+ i16x8([0x0, 0x3f80, 0x0, 0x42fe, 0x0, 0x4300, 0x0, 0x437f]),
+ f32x4([1, 127, 128, 255]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:664
+assert_return(
+ () => invoke($0, `le_s`, [
+ i16x8([0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f]),
+ i16x8([0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:667
+assert_return(
+ () => invoke($0, `le_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:670
+assert_return(
+ () => invoke($0, `le_s`, [
+ i16x8([0x1, 0x203, 0x409, 0x1011, 0x120a, 0xb1a, 0x1baa, 0xabff]),
+ i16x8([0xffab, 0xaa1b, 0x1a0b, 0xa12, 0x1110, 0x904, 0x302, 0x100]),
+ ]),
+ [i16x8([0x0, 0x0, 0xffff, 0x0, 0x0, 0x0, 0x0, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:673
+assert_return(
+ () => invoke($0, `le_s`, [
+ i16x8([0x8000, 0x8001, 0x8002, 0x8003, 0x8004, 0x8005, 0x8006, 0x8007]),
+ i16x8([0x8007, 0x8006, 0x8005, 0x8004, 0x8003, 0x8002, 0x8001, 0x8000]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:676
+assert_return(
+ () => invoke($0, `le_s`, [
+ i16x8([0x8000, 0x8001, 0xfffe, 0xffff, 0x0, 0xffff, 0x8001, 0x8000]),
+ i16x8([0x8000, 0x8001, 0xffff, 0x0, 0xffff, 0xfffe, 0x8001, 0x8000]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:681
+assert_return(
+ () => invoke($0, `le_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:684
+assert_return(
+ () => invoke($0, `le_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:687
+assert_return(
+ () => invoke($0, `le_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:690
+assert_return(
+ () => invoke($0, `le_s`, [
+ i16x8([0x100, 0x302, 0x504, 0x706, 0x908, 0xb0a, 0xd0c, 0xf0e]),
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:693
+assert_return(
+ () => invoke($0, `le_s`, [
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:696
+assert_return(
+ () => invoke($0, `le_s`, [
+ i16x8([0xff80, 0xff80, 0x0, 0x0, 0x1, 0x1, 0xff, 0xff]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:699
+assert_return(
+ () => invoke($0, `le_s`, [
+ i16x8([0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555]),
+ i8x16([0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:704
+assert_return(
+ () => invoke($0, `le_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:707
+assert_return(
+ () => invoke($0, `le_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:710
+assert_return(
+ () => invoke($0, `le_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:713
+assert_return(
+ () => invoke($0, `le_s`, [
+ i16x8([0x100, 0x302, 0x504, 0x706, 0x908, 0xb0a, 0xd0c, 0xf0e]),
+ i32x4([0x3020100, 0x7060504, 0xb0a0908, 0xf0e0d0c]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:716
+assert_return(
+ () => invoke($0, `le_s`, [
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:719
+assert_return(
+ () => invoke($0, `le_s`, [
+ i16x8([0xff80, 0xff80, 0x0, 0x0, 0x1, 0x1, 0xff, 0xff]),
+ i32x4([0xffffff80, 0x0, 0x1, 0xff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0xffff, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:722
+assert_return(
+ () => invoke($0, `le_s`, [
+ i16x8([0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555]),
+ i32x4([0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:725
+assert_return(
+ () => invoke($0, `le_s`, [
+ i16x8([0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039]),
+ i16x8([0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:728
+assert_return(
+ () => invoke($0, `le_s`, [
+ i16x8([0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234]),
+ i16x8([0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:737
+assert_return(
+ () => invoke($0, `le_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:740
+assert_return(
+ () => invoke($0, `le_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:743
+assert_return(
+ () => invoke($0, `le_u`, [
+ i16x8([0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0]),
+ i16x8([0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:746
+assert_return(
+ () => invoke($0, `le_u`, [
+ i16x8([0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f]),
+ i16x8([0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:749
+assert_return(
+ () => invoke($0, `le_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:752
+assert_return(
+ () => invoke($0, `le_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:755
+assert_return(
+ () => invoke($0, `le_u`, [
+ i16x8([0x100, 0x302, 0x904, 0x1110, 0xa12, 0x1a0b, 0xaa1b, 0xffab]),
+ i16x8([0x100, 0x302, 0x904, 0x1110, 0xa12, 0x1a0b, 0xaa1b, 0xffab]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:760
+assert_return(
+ () => invoke($0, `le_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:763
+assert_return(
+ () => invoke($0, `le_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:766
+assert_return(
+ () => invoke($0, `le_u`, [
+ i16x8([0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080]),
+ i16x8([0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:769
+assert_return(
+ () => invoke($0, `le_u`, [
+ i16x8([0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080]),
+ i16x8([0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:772
+assert_return(
+ () => invoke($0, `le_u`, [
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:777
+assert_return(
+ () => invoke($0, `le_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:780
+assert_return(
+ () => invoke($0, `le_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:783
+assert_return(
+ () => invoke($0, `le_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:786
+assert_return(
+ () => invoke($0, `le_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:789
+assert_return(
+ () => invoke($0, `le_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:792
+assert_return(
+ () => invoke($0, `le_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:795
+assert_return(
+ () => invoke($0, `le_u`, [
+ i16x8([0x8000, 0xfffe, 0xffff, 0x0, 0x0, 0x1, 0x2, 0xffff]),
+ i16x8([0x8000, 0xfffe, 0xffff, 0x0, 0x0, 0x1, 0x2, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:800
+assert_return(
+ () => invoke($0, `le_u`, [
+ i16x8([0x0, 0xc300, 0x0, 0xc2fe, 0x0, 0xbf80, 0x0, 0x0]),
+ f32x4([-128, -127, -1, 0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:803
+assert_return(
+ () => invoke($0, `le_u`, [
+ i16x8([0x0, 0x3f80, 0x0, 0x42fe, 0x0, 0x4300, 0x0, 0x437f]),
+ f32x4([1, 127, 128, 255]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:808
+assert_return(
+ () => invoke($0, `le_u`, [
+ i16x8([0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f]),
+ i16x8([0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:811
+assert_return(
+ () => invoke($0, `le_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:814
+assert_return(
+ () => invoke($0, `le_u`, [
+ i16x8([0x1, 0x203, 0x409, 0x1011, 0x120a, 0xb1a, 0x1baa, 0xabff]),
+ i16x8([0xffab, 0xaa1b, 0x1a0b, 0xa12, 0x1110, 0x904, 0x302, 0x100]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:817
+assert_return(
+ () => invoke($0, `le_u`, [
+ i16x8([0x8000, 0x8001, 0x8002, 0x8003, 0x8004, 0x8005, 0x8006, 0x8007]),
+ i16x8([0x8007, 0x8006, 0x8005, 0x8004, 0x8003, 0x8002, 0x8001, 0x8000]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:820
+assert_return(
+ () => invoke($0, `le_u`, [
+ i16x8([0x8000, 0x8001, 0xfffe, 0xffff, 0x0, 0xffff, 0x8001, 0x8000]),
+ i16x8([0x8000, 0x8001, 0xffff, 0x0, 0xffff, 0xfffe, 0x8001, 0x8000]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0x0, 0xffff, 0x0, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:825
+assert_return(
+ () => invoke($0, `le_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:828
+assert_return(
+ () => invoke($0, `le_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:831
+assert_return(
+ () => invoke($0, `le_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:834
+assert_return(
+ () => invoke($0, `le_u`, [
+ i16x8([0x100, 0x302, 0x504, 0x706, 0x908, 0xb0a, 0xd0c, 0xf0e]),
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:837
+assert_return(
+ () => invoke($0, `le_u`, [
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:840
+assert_return(
+ () => invoke($0, `le_u`, [
+ i16x8([0xff80, 0xff80, 0x0, 0x0, 0x1, 0x1, 0xff, 0xff]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:843
+assert_return(
+ () => invoke($0, `le_u`, [
+ i16x8([0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555]),
+ i8x16([0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:848
+assert_return(
+ () => invoke($0, `le_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:851
+assert_return(
+ () => invoke($0, `le_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:854
+assert_return(
+ () => invoke($0, `le_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:857
+assert_return(
+ () => invoke($0, `le_u`, [
+ i16x8([0x100, 0x302, 0x504, 0x706, 0x908, 0xb0a, 0xd0c, 0xf0e]),
+ i32x4([0x3020100, 0x7060504, 0xb0a0908, 0xf0e0d0c]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:860
+assert_return(
+ () => invoke($0, `le_u`, [
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:863
+assert_return(
+ () => invoke($0, `le_u`, [
+ i16x8([0xff80, 0xff80, 0x0, 0x0, 0x1, 0x1, 0xff, 0xff]),
+ i32x4([0xffffff80, 0x0, 0x1, 0xff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0xffff, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:866
+assert_return(
+ () => invoke($0, `le_u`, [
+ i16x8([0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555]),
+ i32x4([0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:869
+assert_return(
+ () => invoke($0, `le_u`, [
+ i16x8([0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039]),
+ i16x8([0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:872
+assert_return(
+ () => invoke($0, `le_u`, [
+ i16x8([0xedcb, 0xedcb, 0xedcb, 0xedcb, 0xedcb, 0xedcb, 0xedcb, 0xedcb]),
+ i16x8([0xedcc, 0xedcc, 0xedcc, 0xedcc, 0xedcc, 0xedcc, 0xedcc, 0xedcc]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:881
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:884
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:887
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i16x8([0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0]),
+ i16x8([0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:890
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i16x8([0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f]),
+ i16x8([0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:893
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:896
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:899
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i16x8([0x100, 0x302, 0x904, 0x1110, 0xa12, 0x1a0b, 0xaa1b, 0xffab]),
+ i16x8([0x100, 0x302, 0x904, 0x1110, 0xa12, 0x1a0b, 0xaa1b, 0xffab]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:904
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:907
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:910
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i16x8([0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080]),
+ i16x8([0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:913
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i16x8([0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080]),
+ i16x8([0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:916
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:921
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:924
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:927
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:930
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:933
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:936
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:939
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i16x8([0x8000, 0xfffe, 0xffff, 0x0, 0x0, 0x1, 0x2, 0xffff]),
+ i16x8([0x8000, 0xfffe, 0xffff, 0x0, 0x0, 0x1, 0x2, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:944
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i16x8([0x0, 0xc300, 0x0, 0xc2fe, 0x0, 0xbf80, 0x0, 0x0]),
+ f32x4([-128, -127, -1, 0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:947
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i16x8([0x0, 0x3f80, 0x0, 0x42fe, 0x0, 0x4300, 0x0, 0x437f]),
+ f32x4([1, 127, 128, 255]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:952
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i16x8([0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f]),
+ i16x8([0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:955
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:958
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i16x8([0x1, 0x203, 0x409, 0x1011, 0x120a, 0xb1a, 0x1baa, 0xabff]),
+ i16x8([0xffab, 0xaa1b, 0x1a0b, 0xa12, 0x1110, 0x904, 0x302, 0x100]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0x0, 0xffff, 0xffff, 0xffff, 0xffff, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:961
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i16x8([0x8000, 0x8001, 0x8002, 0x8003, 0x8004, 0x8005, 0x8006, 0x8007]),
+ i16x8([0x8007, 0x8006, 0x8005, 0x8004, 0x8003, 0x8002, 0x8001, 0x8000]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:964
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i16x8([0x8000, 0x8001, 0xfffe, 0xffff, 0x0, 0xffff, 0x8001, 0x8000]),
+ i16x8([0x8000, 0x8001, 0xffff, 0x0, 0xffff, 0xfffe, 0x8001, 0x8000]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:969
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:972
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:975
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:978
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i16x8([0x100, 0x302, 0x504, 0x706, 0x908, 0xb0a, 0xd0c, 0xf0e]),
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:981
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:984
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i16x8([0xff80, 0xff80, 0x0, 0x0, 0x1, 0x1, 0xff, 0xff]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:987
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i16x8([0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555]),
+ i8x16([0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:992
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:995
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:998
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1001
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i16x8([0x100, 0x302, 0x504, 0x706, 0x908, 0xb0a, 0xd0c, 0xf0e]),
+ i32x4([0x3020100, 0x7060504, 0xb0a0908, 0xf0e0d0c]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1004
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1007
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i16x8([0xffff, 0xffff, 0x0, 0x0, 0x1, 0x1, 0x8000, 0x8000]),
+ i32x4([0xffff, 0x0, 0x1, 0x8000]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0xffff, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1010
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i16x8([0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555]),
+ i32x4([0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1013
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i16x8([0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039]),
+ i16x8([0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1016
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i16x8([0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234]),
+ i16x8([0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1025
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1028
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1031
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i16x8([0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0]),
+ i16x8([0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1034
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i16x8([0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f]),
+ i16x8([0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1037
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1040
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1043
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i16x8([0x100, 0x302, 0x904, 0x1110, 0xa12, 0x1a0b, 0xaa1b, 0xffab]),
+ i16x8([0x100, 0x302, 0x904, 0x1110, 0xa12, 0x1a0b, 0xaa1b, 0xffab]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1048
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1051
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1054
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i16x8([0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080]),
+ i16x8([0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1057
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i16x8([0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080]),
+ i16x8([0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1060
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1065
+assert_return(
+ () => invoke($0, `eq`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1068
+assert_return(
+ () => invoke($0, `eq`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1071
+assert_return(
+ () => invoke($0, `eq`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1074
+assert_return(
+ () => invoke($0, `eq`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1077
+assert_return(
+ () => invoke($0, `eq`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1080
+assert_return(
+ () => invoke($0, `eq`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1083
+assert_return(
+ () => invoke($0, `eq`, [
+ i16x8([0x8000, 0xfffe, 0xffff, 0x0, 0x0, 0x1, 0x2, 0xffff]),
+ i16x8([0x8000, 0xfffe, 0xffff, 0x0, 0x0, 0x1, 0x2, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1088
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i16x8([0x0, 0xc300, 0x0, 0xc2fe, 0x0, 0xbf80, 0x0, 0x0]),
+ f32x4([-128, -127, -1, 0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1091
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i16x8([0x0, 0x3f80, 0x0, 0x42fe, 0x0, 0x4300, 0x0, 0x437f]),
+ f32x4([1, 127, 128, 255]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1096
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i16x8([0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f]),
+ i16x8([0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1099
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1102
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i16x8([0x1, 0x203, 0x409, 0x1011, 0x120a, 0xb1a, 0x1baa, 0xabff]),
+ i16x8([0xffab, 0xaa1b, 0x1a0b, 0xa12, 0x1110, 0x904, 0x302, 0x100]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1105
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i16x8([0x8000, 0x8001, 0x8002, 0x8003, 0x8004, 0x8005, 0x8006, 0x8007]),
+ i16x8([0x8007, 0x8006, 0x8005, 0x8004, 0x8003, 0x8002, 0x8001, 0x8000]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1108
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i16x8([0x8000, 0x8001, 0xfffe, 0xffff, 0x0, 0xffff, 0x8001, 0x8000]),
+ i16x8([0x8000, 0x8001, 0xffff, 0x0, 0xffff, 0xfffe, 0x8001, 0x8000]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0xffff, 0x0, 0xffff, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1113
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1116
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1119
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1122
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i16x8([0x100, 0x302, 0x504, 0x706, 0x908, 0xb0a, 0xd0c, 0xf0e]),
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1125
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1128
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i16x8([0xff80, 0xff80, 0x0, 0x0, 0x1, 0x1, 0xff, 0xff]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1131
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i16x8([0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555]),
+ i8x16([0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1136
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1139
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1142
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1145
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i16x8([0x100, 0x302, 0x504, 0x706, 0x908, 0xb0a, 0xd0c, 0xf0e]),
+ i32x4([0x3020100, 0x7060504, 0xb0a0908, 0xf0e0d0c]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1148
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1151
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i16x8([0xff80, 0xff80, 0x0, 0x0, 0x1, 0x1, 0xff, 0xff]),
+ i32x4([0xffffff80, 0x0, 0x1, 0xff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0xffff, 0x0, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1154
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i16x8([0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555]),
+ i32x4([0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1157
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i16x8([0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039]),
+ i16x8([0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1160
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i16x8([0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234]),
+ i16x8([0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1169
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1172
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1175
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i16x8([0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0]),
+ i16x8([0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1178
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i16x8([0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f]),
+ i16x8([0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1181
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1184
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1187
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i16x8([0x100, 0x302, 0x904, 0x1110, 0xa12, 0x1a0b, 0xaa1b, 0xffab]),
+ i16x8([0x100, 0x302, 0x904, 0x1110, 0xa12, 0x1a0b, 0xaa1b, 0xffab]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1192
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1195
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1198
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i16x8([0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080]),
+ i16x8([0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1201
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i16x8([0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080]),
+ i16x8([0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1204
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1209
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1212
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1215
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1218
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1221
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1224
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1227
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i16x8([0x8000, 0xfffe, 0xffff, 0x0, 0x0, 0x1, 0x2, 0xffff]),
+ i16x8([0x8000, 0xfffe, 0xffff, 0x0, 0x0, 0x1, 0x2, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1232
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i16x8([0x0, 0xc300, 0x0, 0xc2fe, 0x0, 0xbf80, 0x0, 0x0]),
+ f32x4([-128, -127, -1, 0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1235
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i16x8([0x0, 0x3f80, 0x0, 0x42fe, 0x0, 0x4300, 0x0, 0x437f]),
+ f32x4([1, 127, 128, 255]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1240
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i16x8([0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f]),
+ i16x8([0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1243
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1246
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i16x8([0x1, 0x203, 0x409, 0x1011, 0x120a, 0xb1a, 0x1baa, 0xabff]),
+ i16x8([0xffab, 0xaa1b, 0x1a0b, 0xa12, 0x1110, 0x904, 0x302, 0x100]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0x0, 0xffff, 0xffff, 0xffff, 0xffff, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1249
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i16x8([0x8000, 0x8001, 0x8002, 0x8003, 0x8004, 0x8005, 0x8006, 0x8007]),
+ i16x8([0x8007, 0x8006, 0x8005, 0x8004, 0x8003, 0x8002, 0x8001, 0x8000]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1252
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i16x8([0x8000, 0x8001, 0xfffe, 0xffff, 0x0, 0xffff, 0x8001, 0x8000]),
+ i16x8([0x8000, 0x8001, 0xffff, 0x0, 0xffff, 0xfffe, 0x8001, 0x8000]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1257
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1260
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1263
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1266
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i16x8([0x100, 0x302, 0x504, 0x706, 0x908, 0xb0a, 0xd0c, 0xf0e]),
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1269
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1272
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i16x8([0xff80, 0xff80, 0x0, 0x0, 0x1, 0x1, 0xff, 0xff]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1275
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i16x8([0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa]),
+ i8x16([0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1280
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1283
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1286
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1289
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i16x8([0x100, 0x302, 0x504, 0x706, 0x908, 0xb0a, 0xd0c, 0xf0e]),
+ i32x4([0x3020100, 0x7060504, 0xb0a0908, 0xf0e0d0c]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1292
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1295
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i16x8([0xffff, 0xffff, 0x0, 0x0, 0x1, 0x1, 0x8000, 0x8000]),
+ i32x4([0xffff, 0x0, 0x1, 0x8000]),
+ ]),
+ [i16x8([0xffff, 0x0, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1298
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i16x8([0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555]),
+ i32x4([0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1301
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i16x8([0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039]),
+ i16x8([0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1304
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i16x8([0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234]),
+ i16x8([0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1313
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1316
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1319
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i16x8([0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0]),
+ i16x8([0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1322
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i16x8([0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f]),
+ i16x8([0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1325
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1328
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1331
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i16x8([0x100, 0x302, 0x904, 0x1110, 0xa12, 0x1a0b, 0xaa1b, 0xffab]),
+ i16x8([0x100, 0x302, 0x904, 0x1110, 0xa12, 0x1a0b, 0xaa1b, 0xffab]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1336
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1339
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1342
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i16x8([0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080]),
+ i16x8([0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1345
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i16x8([0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080]),
+ i16x8([0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1348
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1353
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1356
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1359
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1362
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1365
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1368
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1371
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i16x8([0x8000, 0xfffe, 0xffff, 0x0, 0x0, 0x1, 0x2, 0xffff]),
+ i16x8([0x8000, 0xfffe, 0xffff, 0x0, 0x0, 0x1, 0x2, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1376
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i16x8([0x0, 0xc300, 0x0, 0xc2fe, 0x0, 0xbf80, 0x0, 0x0]),
+ f32x4([-128, -127, -1, 0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1379
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i16x8([0x0, 0x3f80, 0x0, 0x42fe, 0x0, 0x4300, 0x0, 0x437f]),
+ f32x4([1, 127, 128, 255]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1384
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i16x8([0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f, 0xf0f]),
+ i16x8([0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0, 0xf0f0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1387
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1390
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i16x8([0x1, 0x203, 0x409, 0x1011, 0x120a, 0xb1a, 0x1baa, 0xabff]),
+ i16x8([0xffab, 0xaa1b, 0x1a0b, 0xa12, 0x1110, 0x904, 0x302, 0x100]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1393
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i16x8([0x8000, 0x8001, 0x8002, 0x8003, 0x8004, 0x8005, 0x8006, 0x8007]),
+ i16x8([0x8007, 0x8006, 0x8005, 0x8004, 0x8003, 0x8002, 0x8001, 0x8000]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1396
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i16x8([0x8000, 0x8001, 0xfffe, 0xffff, 0x0, 0xffff, 0x8001, 0x8000]),
+ i16x8([0x8000, 0x8001, 0xffff, 0x0, 0xffff, 0xfffe, 0x8001, 0x8000]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0x0, 0xffff, 0x0, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1401
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1404
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1407
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1410
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i16x8([0x100, 0x302, 0x504, 0x706, 0x908, 0xb0a, 0xd0c, 0xf0e]),
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1413
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1416
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i16x8([0xff80, 0xff80, 0x0, 0x0, 0x1, 0x1, 0xff, 0xff]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1419
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i16x8([0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa]),
+ i8x16([0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1424
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1427
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1430
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1433
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i16x8([0x100, 0x302, 0x504, 0x706, 0x908, 0xb0a, 0xd0c, 0xf0e]),
+ i32x4([0x3020100, 0x7060504, 0xb0a0908, 0xf0e0d0c]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1436
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1439
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i16x8([0xffff, 0xffff, 0x0, 0x0, 0x1, 0x1, 0x8000, 0x8000]),
+ i32x4([0xffffff80, 0x0, 0x1, 0xff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1442
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i16x8([0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555]),
+ i32x4([0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1445
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i16x8([0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039]),
+ i16x8([0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1448
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i16x8([0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234]),
+ i16x8([0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1455
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i16x8.eq (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1456
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i16x8.ge_s (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1457
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i16x8.ge_u (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1458
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i16x8.gt_s (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1459
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i16x8.gt_u (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1460
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i16x8.le_s (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1461
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i16x8.le_u (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1462
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i16x8.lt_s (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1463
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i16x8.lt_u (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1464
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i16x8.ne (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1469
+let $1 = instantiate(`(module (memory 1)
+ (func (export "eq-in-block")
+ (block
+ (drop
+ (block (result v128)
+ (i16x8.eq
+ (block (result v128) (v128.load (i32.const 0)))
+ (block (result v128) (v128.load (i32.const 1)))
+ )
+ )
+ )
+ )
+ )
+ (func (export "ne-in-block")
+ (block
+ (drop
+ (block (result v128)
+ (i16x8.ne
+ (block (result v128) (v128.load (i32.const 0)))
+ (block (result v128) (v128.load (i32.const 1)))
+ )
+ )
+ )
+ )
+ )
+ (func (export "lt_s-in-block")
+ (block
+ (drop
+ (block (result v128)
+ (i16x8.lt_s
+ (block (result v128) (v128.load (i32.const 0)))
+ (block (result v128) (v128.load (i32.const 1)))
+ )
+ )
+ )
+ )
+ )
+ (func (export "le_u-in-block")
+ (block
+ (drop
+ (block (result v128)
+ (i16x8.le_u
+ (block (result v128) (v128.load (i32.const 0)))
+ (block (result v128) (v128.load (i32.const 1)))
+ )
+ )
+ )
+ )
+ )
+ (func (export "gt_u-in-block")
+ (block
+ (drop
+ (block (result v128)
+ (i16x8.gt_u
+ (block (result v128) (v128.load (i32.const 0)))
+ (block (result v128) (v128.load (i32.const 1)))
+ )
+ )
+ )
+ )
+ )
+ (func (export "ge_s-in-block")
+ (block
+ (drop
+ (block (result v128)
+ (i16x8.ge_s
+ (block (result v128) (v128.load (i32.const 0)))
+ (block (result v128) (v128.load (i32.const 1)))
+ )
+ )
+ )
+ )
+ )
+ (func (export "nested-eq")
+ (drop
+ (i16x8.eq
+ (i16x8.eq
+ (i16x8.eq
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (i16x8.eq
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ (i16x8.eq
+ (i16x8.eq
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (i16x8.eq
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ )
+ )
+ )
+ (func (export "nested-ne")
+ (drop
+ (i16x8.ne
+ (i16x8.ne
+ (i16x8.ne
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (i16x8.ne
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ (i16x8.ne
+ (i16x8.ne
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (i16x8.ne
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ )
+ )
+ )
+ (func (export "nested-lt_s")
+ (drop
+ (i16x8.lt_s
+ (i16x8.lt_s
+ (i16x8.lt_s
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (i16x8.lt_s
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ (i16x8.lt_s
+ (i16x8.lt_s
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (i16x8.lt_s
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ )
+ )
+ )
+ (func (export "nested-le_u")
+ (drop
+ (i16x8.le_u
+ (i16x8.le_u
+ (i16x8.le_u
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (i16x8.le_u
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ (i16x8.le_u
+ (i16x8.le_u
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (i16x8.le_u
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ )
+ )
+ )
+ (func (export "nested-gt_u")
+ (drop
+ (i16x8.gt_u
+ (i16x8.gt_u
+ (i16x8.gt_u
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (i16x8.gt_u
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ (i16x8.gt_u
+ (i16x8.gt_u
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (i16x8.gt_u
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ )
+ )
+ )
+ (func (export "nested-ge_s")
+ (drop
+ (i16x8.ge_s
+ (i16x8.ge_s
+ (i16x8.ge_s
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (i16x8.ge_s
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ (i16x8.ge_s
+ (i16x8.ge_s
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (i16x8.ge_s
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ )
+ )
+ )
+ (func (export "as-param")
+ (drop
+ (i16x8.ge_u
+ (i16x8.eq
+ (i16x8.lt_s
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (i16x8.le_u
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ (i16x8.ne
+ (i16x8.gt_s
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (i16x8.lt_u
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ )
+ )
+ )
+)`);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1725
+assert_return(() => invoke($1, `eq-in-block`, []), []);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1726
+assert_return(() => invoke($1, `ne-in-block`, []), []);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1727
+assert_return(() => invoke($1, `lt_s-in-block`, []), []);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1728
+assert_return(() => invoke($1, `le_u-in-block`, []), []);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1729
+assert_return(() => invoke($1, `gt_u-in-block`, []), []);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1730
+assert_return(() => invoke($1, `ge_s-in-block`, []), []);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1731
+assert_return(() => invoke($1, `nested-eq`, []), []);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1732
+assert_return(() => invoke($1, `nested-ne`, []), []);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1733
+assert_return(() => invoke($1, `nested-lt_s`, []), []);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1734
+assert_return(() => invoke($1, `nested-le_u`, []), []);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1735
+assert_return(() => invoke($1, `nested-gt_u`, []), []);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1736
+assert_return(() => invoke($1, `nested-ge_s`, []), []);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1737
+assert_return(() => invoke($1, `as-param`, []), []);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1742
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.eq-1st-arg-empty (result v128)
+ (i16x8.eq (v128.const i16x8 0 0 0 0 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1750
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.eq-arg-empty (result v128)
+ (i16x8.eq)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1758
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.ne-1st-arg-empty (result v128)
+ (i16x8.ne (v128.const i16x8 0 0 0 0 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1766
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.ne-arg-empty (result v128)
+ (i16x8.ne)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1774
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.lt_s-1st-arg-empty (result v128)
+ (i16x8.lt_s (v128.const i16x8 0 0 0 0 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1782
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.lt_s-arg-empty (result v128)
+ (i16x8.lt_s)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1790
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.lt_u-1st-arg-empty (result v128)
+ (i16x8.lt_u (v128.const i16x8 0 0 0 0 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1798
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.lt_u-arg-empty (result v128)
+ (i16x8.lt_u)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1806
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.le_s-1st-arg-empty (result v128)
+ (i16x8.le_s (v128.const i16x8 0 0 0 0 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1814
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.le_s-arg-empty (result v128)
+ (i16x8.le_s)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1822
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.le_u-1st-arg-empty (result v128)
+ (i16x8.le_u (v128.const i16x8 0 0 0 0 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1830
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.le_u-arg-empty (result v128)
+ (i16x8.le_u)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1838
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.gt_s-1st-arg-empty (result v128)
+ (i16x8.gt_s (v128.const i16x8 0 0 0 0 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1846
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.gt_s-arg-empty (result v128)
+ (i16x8.gt_s)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1854
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.gt_u-1st-arg-empty (result v128)
+ (i16x8.gt_u (v128.const i16x8 0 0 0 0 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1862
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.gt_u-arg-empty (result v128)
+ (i16x8.gt_u)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1870
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.ge_s-1st-arg-empty (result v128)
+ (i16x8.ge_s (v128.const i16x8 0 0 0 0 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1878
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.ge_s-arg-empty (result v128)
+ (i16x8.ge_s)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1886
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.ge_u-1st-arg-empty (result v128)
+ (i16x8.ge_u (v128.const i16x8 0 0 0 0 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_cmp.wast:1894
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.ge_u-arg-empty (result v128)
+ (i16x8.ge_u)
+ )
+ )`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/simd_i16x8_extadd_pairwise_i8x16.wast.js b/js/src/jit-test/tests/wasm/spec/spec/simd_i16x8_extadd_pairwise_i8x16.wast.js
new file mode 100644
index 0000000000..5a594d4ce4
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/simd_i16x8_extadd_pairwise_i8x16.wast.js
@@ -0,0 +1,184 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_i16x8_extadd_pairwise_i8x16.wast
+
+// ./test/core/simd/simd_i16x8_extadd_pairwise_i8x16.wast:4
+let $0 = instantiate(`(module
+ (func (export "i16x8.extadd_pairwise_i8x16_s") (param v128) (result v128) (i16x8.extadd_pairwise_i8x16_s (local.get 0)))
+ (func (export "i16x8.extadd_pairwise_i8x16_u") (param v128) (result v128) (i16x8.extadd_pairwise_i8x16_u (local.get 0)))
+)`);
+
+// ./test/core/simd/simd_i16x8_extadd_pairwise_i8x16.wast:11
+assert_return(
+ () => invoke($0, `i16x8.extadd_pairwise_i8x16_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_extadd_pairwise_i8x16.wast:13
+assert_return(
+ () => invoke($0, `i16x8.extadd_pairwise_i8x16_s`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2])],
+);
+
+// ./test/core/simd/simd_i16x8_extadd_pairwise_i8x16.wast:15
+assert_return(
+ () => invoke($0, `i16x8.extadd_pairwise_i8x16_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe])],
+);
+
+// ./test/core/simd/simd_i16x8_extadd_pairwise_i8x16.wast:17
+assert_return(
+ () => invoke($0, `i16x8.extadd_pairwise_i8x16_s`, [
+ i8x16([0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e]),
+ ]),
+ [i16x8([0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc])],
+);
+
+// ./test/core/simd/simd_i16x8_extadd_pairwise_i8x16.wast:19
+assert_return(
+ () => invoke($0, `i16x8.extadd_pairwise_i8x16_s`, [
+ i8x16([0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81]),
+ ]),
+ [i16x8([0xff02, 0xff02, 0xff02, 0xff02, 0xff02, 0xff02, 0xff02, 0xff02])],
+);
+
+// ./test/core/simd/simd_i16x8_extadd_pairwise_i8x16.wast:21
+assert_return(
+ () => invoke($0, `i16x8.extadd_pairwise_i8x16_s`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [i16x8([0xff00, 0xff00, 0xff00, 0xff00, 0xff00, 0xff00, 0xff00, 0xff00])],
+);
+
+// ./test/core/simd/simd_i16x8_extadd_pairwise_i8x16.wast:23
+assert_return(
+ () => invoke($0, `i16x8.extadd_pairwise_i8x16_s`, [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [i16x8([0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe])],
+);
+
+// ./test/core/simd/simd_i16x8_extadd_pairwise_i8x16.wast:25
+assert_return(
+ () => invoke($0, `i16x8.extadd_pairwise_i8x16_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe])],
+);
+
+// ./test/core/simd/simd_i16x8_extadd_pairwise_i8x16.wast:29
+assert_return(
+ () => invoke($0, `i16x8.extadd_pairwise_i8x16_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_extadd_pairwise_i8x16.wast:31
+assert_return(
+ () => invoke($0, `i16x8.extadd_pairwise_i8x16_u`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2])],
+);
+
+// ./test/core/simd/simd_i16x8_extadd_pairwise_i8x16.wast:33
+assert_return(
+ () => invoke($0, `i16x8.extadd_pairwise_i8x16_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0x1fe, 0x1fe, 0x1fe, 0x1fe, 0x1fe, 0x1fe, 0x1fe, 0x1fe])],
+);
+
+// ./test/core/simd/simd_i16x8_extadd_pairwise_i8x16.wast:35
+assert_return(
+ () => invoke($0, `i16x8.extadd_pairwise_i8x16_u`, [
+ i8x16([0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e]),
+ ]),
+ [i16x8([0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc])],
+);
+
+// ./test/core/simd/simd_i16x8_extadd_pairwise_i8x16.wast:37
+assert_return(
+ () => invoke($0, `i16x8.extadd_pairwise_i8x16_u`, [
+ i8x16([0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81]),
+ ]),
+ [i16x8([0x102, 0x102, 0x102, 0x102, 0x102, 0x102, 0x102, 0x102])],
+);
+
+// ./test/core/simd/simd_i16x8_extadd_pairwise_i8x16.wast:39
+assert_return(
+ () => invoke($0, `i16x8.extadd_pairwise_i8x16_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [i16x8([0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100])],
+);
+
+// ./test/core/simd/simd_i16x8_extadd_pairwise_i8x16.wast:41
+assert_return(
+ () => invoke($0, `i16x8.extadd_pairwise_i8x16_u`, [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [i16x8([0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe])],
+);
+
+// ./test/core/simd/simd_i16x8_extadd_pairwise_i8x16.wast:43
+assert_return(
+ () => invoke($0, `i16x8.extadd_pairwise_i8x16_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0x1fe, 0x1fe, 0x1fe, 0x1fe, 0x1fe, 0x1fe, 0x1fe, 0x1fe])],
+);
+
+// ./test/core/simd/simd_i16x8_extadd_pairwise_i8x16.wast:47
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i16x8.extadd_pairwise_i8x16_s (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_extadd_pairwise_i8x16.wast:48
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i16x8.extadd_pairwise_i8x16_u (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_extadd_pairwise_i8x16.wast:52
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.extadd_pairwise_i8x16_s-arg-empty (result v128)
+ (i16x8.extadd_pairwise_i8x16_s)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_extadd_pairwise_i8x16.wast:60
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.extadd_pairwise_i8x16_u-arg-empty (result v128)
+ (i16x8.extadd_pairwise_i8x16_u)
+ )
+ )`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/simd_i16x8_extmul_i8x16.wast.js b/js/src/jit-test/tests/wasm/spec/spec/simd_i16x8_extmul_i8x16.wast.js
new file mode 100644
index 0000000000..4e102de588
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/simd_i16x8_extmul_i8x16.wast.js
@@ -0,0 +1,1066 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:4
+let $0 = instantiate(`(module
+ (func (export "i16x8.extmul_low_i8x16_s") (param v128 v128) (result v128) (i16x8.extmul_low_i8x16_s (local.get 0) (local.get 1)))
+ (func (export "i16x8.extmul_high_i8x16_s") (param v128 v128) (result v128) (i16x8.extmul_high_i8x16_s (local.get 0) (local.get 1)))
+ (func (export "i16x8.extmul_low_i8x16_u") (param v128 v128) (result v128) (i16x8.extmul_low_i8x16_u (local.get 0) (local.get 1)))
+ (func (export "i16x8.extmul_high_i8x16_u") (param v128 v128) (result v128) (i16x8.extmul_high_i8x16_u (local.get 0) (local.get 1)))
+)`);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:13
+assert_return(
+ () => invoke($0, `i16x8.extmul_low_i8x16_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:16
+assert_return(
+ () => invoke($0, `i16x8.extmul_low_i8x16_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:19
+assert_return(
+ () => invoke($0, `i16x8.extmul_low_i8x16_s`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:22
+assert_return(
+ () => invoke($0, `i16x8.extmul_low_i8x16_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:25
+assert_return(
+ () => invoke($0, `i16x8.extmul_low_i8x16_s`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:28
+assert_return(
+ () => invoke($0, `i16x8.extmul_low_i8x16_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:31
+assert_return(
+ () => invoke($0, `i16x8.extmul_low_i8x16_s`, [
+ i8x16([0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f]),
+ i8x16([0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40]),
+ ]),
+ [i16x8([0xfc0, 0xfc0, 0xfc0, 0xfc0, 0xfc0, 0xfc0, 0xfc0, 0xfc0])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:34
+assert_return(
+ () => invoke($0, `i16x8.extmul_low_i8x16_s`, [
+ i8x16([0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40]),
+ i8x16([0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40]),
+ ]),
+ [i16x8([0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:37
+assert_return(
+ () => invoke($0, `i16x8.extmul_low_i8x16_s`, [
+ i8x16([0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1]),
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ ]),
+ [i16x8([0xfc0, 0xfc0, 0xfc0, 0xfc0, 0xfc0, 0xfc0, 0xfc0, 0xfc0])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:40
+assert_return(
+ () => invoke($0, `i16x8.extmul_low_i8x16_s`, [
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ ]),
+ [i16x8([0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:43
+assert_return(
+ () => invoke($0, `i16x8.extmul_low_i8x16_s`, [
+ i8x16([0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf]),
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ ]),
+ [i16x8([0x1040, 0x1040, 0x1040, 0x1040, 0x1040, 0x1040, 0x1040, 0x1040])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:46
+assert_return(
+ () => invoke($0, `i16x8.extmul_low_i8x16_s`, [
+ i8x16([0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:49
+assert_return(
+ () => invoke($0, `i16x8.extmul_low_i8x16_s`, [
+ i8x16([0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:52
+assert_return(
+ () => invoke($0, `i16x8.extmul_low_i8x16_s`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:55
+assert_return(
+ () => invoke($0, `i16x8.extmul_low_i8x16_s`, [
+ i8x16([0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:58
+assert_return(
+ () => invoke($0, `i16x8.extmul_low_i8x16_s`, [
+ i8x16([0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:61
+assert_return(
+ () => invoke($0, `i16x8.extmul_low_i8x16_s`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:64
+assert_return(
+ () => invoke($0, `i16x8.extmul_low_i8x16_s`, [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [i16x8([0x3f01, 0x3f01, 0x3f01, 0x3f01, 0x3f01, 0x3f01, 0x3f01, 0x3f01])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:67
+assert_return(
+ () => invoke($0, `i16x8.extmul_low_i8x16_s`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:70
+assert_return(
+ () => invoke($0, `i16x8.extmul_low_i8x16_s`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81]),
+ ]),
+ [i16x8([0x3f80, 0x3f80, 0x3f80, 0x3f80, 0x3f80, 0x3f80, 0x3f80, 0x3f80])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:73
+assert_return(
+ () => invoke($0, `i16x8.extmul_low_i8x16_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:76
+assert_return(
+ () => invoke($0, `i16x8.extmul_low_i8x16_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:79
+assert_return(
+ () => invoke($0, `i16x8.extmul_low_i8x16_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:82
+assert_return(
+ () => invoke($0, `i16x8.extmul_low_i8x16_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [i16x8([0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:85
+assert_return(
+ () => invoke($0, `i16x8.extmul_low_i8x16_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:88
+assert_return(
+ () => invoke($0, `i16x8.extmul_low_i8x16_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:93
+assert_return(
+ () => invoke($0, `i16x8.extmul_high_i8x16_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:96
+assert_return(
+ () => invoke($0, `i16x8.extmul_high_i8x16_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:99
+assert_return(
+ () => invoke($0, `i16x8.extmul_high_i8x16_s`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:102
+assert_return(
+ () => invoke($0, `i16x8.extmul_high_i8x16_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:105
+assert_return(
+ () => invoke($0, `i16x8.extmul_high_i8x16_s`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:108
+assert_return(
+ () => invoke($0, `i16x8.extmul_high_i8x16_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:111
+assert_return(
+ () => invoke($0, `i16x8.extmul_high_i8x16_s`, [
+ i8x16([0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f]),
+ i8x16([0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40]),
+ ]),
+ [i16x8([0xfc0, 0xfc0, 0xfc0, 0xfc0, 0xfc0, 0xfc0, 0xfc0, 0xfc0])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:114
+assert_return(
+ () => invoke($0, `i16x8.extmul_high_i8x16_s`, [
+ i8x16([0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40]),
+ i8x16([0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40]),
+ ]),
+ [i16x8([0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:117
+assert_return(
+ () => invoke($0, `i16x8.extmul_high_i8x16_s`, [
+ i8x16([0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1]),
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ ]),
+ [i16x8([0xfc0, 0xfc0, 0xfc0, 0xfc0, 0xfc0, 0xfc0, 0xfc0, 0xfc0])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:120
+assert_return(
+ () => invoke($0, `i16x8.extmul_high_i8x16_s`, [
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ ]),
+ [i16x8([0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:123
+assert_return(
+ () => invoke($0, `i16x8.extmul_high_i8x16_s`, [
+ i8x16([0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf]),
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ ]),
+ [i16x8([0x1040, 0x1040, 0x1040, 0x1040, 0x1040, 0x1040, 0x1040, 0x1040])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:126
+assert_return(
+ () => invoke($0, `i16x8.extmul_high_i8x16_s`, [
+ i8x16([0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:129
+assert_return(
+ () => invoke($0, `i16x8.extmul_high_i8x16_s`, [
+ i8x16([0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:132
+assert_return(
+ () => invoke($0, `i16x8.extmul_high_i8x16_s`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:135
+assert_return(
+ () => invoke($0, `i16x8.extmul_high_i8x16_s`, [
+ i8x16([0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:138
+assert_return(
+ () => invoke($0, `i16x8.extmul_high_i8x16_s`, [
+ i8x16([0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:141
+assert_return(
+ () => invoke($0, `i16x8.extmul_high_i8x16_s`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:144
+assert_return(
+ () => invoke($0, `i16x8.extmul_high_i8x16_s`, [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [i16x8([0x3f01, 0x3f01, 0x3f01, 0x3f01, 0x3f01, 0x3f01, 0x3f01, 0x3f01])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:147
+assert_return(
+ () => invoke($0, `i16x8.extmul_high_i8x16_s`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:150
+assert_return(
+ () => invoke($0, `i16x8.extmul_high_i8x16_s`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81]),
+ ]),
+ [i16x8([0x3f80, 0x3f80, 0x3f80, 0x3f80, 0x3f80, 0x3f80, 0x3f80, 0x3f80])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:153
+assert_return(
+ () => invoke($0, `i16x8.extmul_high_i8x16_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:156
+assert_return(
+ () => invoke($0, `i16x8.extmul_high_i8x16_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:159
+assert_return(
+ () => invoke($0, `i16x8.extmul_high_i8x16_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:162
+assert_return(
+ () => invoke($0, `i16x8.extmul_high_i8x16_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [i16x8([0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:165
+assert_return(
+ () => invoke($0, `i16x8.extmul_high_i8x16_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:168
+assert_return(
+ () => invoke($0, `i16x8.extmul_high_i8x16_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:173
+assert_return(
+ () => invoke($0, `i16x8.extmul_low_i8x16_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:176
+assert_return(
+ () => invoke($0, `i16x8.extmul_low_i8x16_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:179
+assert_return(
+ () => invoke($0, `i16x8.extmul_low_i8x16_u`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:182
+assert_return(
+ () => invoke($0, `i16x8.extmul_low_i8x16_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:185
+assert_return(
+ () => invoke($0, `i16x8.extmul_low_i8x16_u`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:188
+assert_return(
+ () => invoke($0, `i16x8.extmul_low_i8x16_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0xfe01, 0xfe01, 0xfe01, 0xfe01, 0xfe01, 0xfe01, 0xfe01, 0xfe01])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:191
+assert_return(
+ () => invoke($0, `i16x8.extmul_low_i8x16_u`, [
+ i8x16([0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f]),
+ i8x16([0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40]),
+ ]),
+ [i16x8([0xfc0, 0xfc0, 0xfc0, 0xfc0, 0xfc0, 0xfc0, 0xfc0, 0xfc0])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:194
+assert_return(
+ () => invoke($0, `i16x8.extmul_low_i8x16_u`, [
+ i8x16([0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40]),
+ i8x16([0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40]),
+ ]),
+ [i16x8([0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:197
+assert_return(
+ () => invoke($0, `i16x8.extmul_low_i8x16_u`, [
+ i8x16([0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1]),
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ ]),
+ [i16x8([0x90c0, 0x90c0, 0x90c0, 0x90c0, 0x90c0, 0x90c0, 0x90c0, 0x90c0])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:200
+assert_return(
+ () => invoke($0, `i16x8.extmul_low_i8x16_u`, [
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ ]),
+ [i16x8([0x9000, 0x9000, 0x9000, 0x9000, 0x9000, 0x9000, 0x9000, 0x9000])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:203
+assert_return(
+ () => invoke($0, `i16x8.extmul_low_i8x16_u`, [
+ i8x16([0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf]),
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ ]),
+ [i16x8([0x8f40, 0x8f40, 0x8f40, 0x8f40, 0x8f40, 0x8f40, 0x8f40, 0x8f40])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:206
+assert_return(
+ () => invoke($0, `i16x8.extmul_low_i8x16_u`, [
+ i8x16([0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:209
+assert_return(
+ () => invoke($0, `i16x8.extmul_low_i8x16_u`, [
+ i8x16([0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:212
+assert_return(
+ () => invoke($0, `i16x8.extmul_low_i8x16_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:215
+assert_return(
+ () => invoke($0, `i16x8.extmul_low_i8x16_u`, [
+ i8x16([0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0x817e, 0x817e, 0x817e, 0x817e, 0x817e, 0x817e, 0x817e, 0x817e])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:218
+assert_return(
+ () => invoke($0, `i16x8.extmul_low_i8x16_u`, [
+ i8x16([0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0x807f, 0x807f, 0x807f, 0x807f, 0x807f, 0x807f, 0x807f, 0x807f])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:221
+assert_return(
+ () => invoke($0, `i16x8.extmul_low_i8x16_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0x7f80, 0x7f80, 0x7f80, 0x7f80, 0x7f80, 0x7f80, 0x7f80, 0x7f80])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:224
+assert_return(
+ () => invoke($0, `i16x8.extmul_low_i8x16_u`, [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [i16x8([0x3f01, 0x3f01, 0x3f01, 0x3f01, 0x3f01, 0x3f01, 0x3f01, 0x3f01])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:227
+assert_return(
+ () => invoke($0, `i16x8.extmul_low_i8x16_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:230
+assert_return(
+ () => invoke($0, `i16x8.extmul_low_i8x16_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81]),
+ ]),
+ [i16x8([0x4080, 0x4080, 0x4080, 0x4080, 0x4080, 0x4080, 0x4080, 0x4080])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:233
+assert_return(
+ () => invoke($0, `i16x8.extmul_low_i8x16_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:236
+assert_return(
+ () => invoke($0, `i16x8.extmul_low_i8x16_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:239
+assert_return(
+ () => invoke($0, `i16x8.extmul_low_i8x16_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0xfe01, 0xfe01, 0xfe01, 0xfe01, 0xfe01, 0xfe01, 0xfe01, 0xfe01])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:242
+assert_return(
+ () => invoke($0, `i16x8.extmul_low_i8x16_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [i16x8([0x7e81, 0x7e81, 0x7e81, 0x7e81, 0x7e81, 0x7e81, 0x7e81, 0x7e81])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:245
+assert_return(
+ () => invoke($0, `i16x8.extmul_low_i8x16_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [i16x8([0x7f80, 0x7f80, 0x7f80, 0x7f80, 0x7f80, 0x7f80, 0x7f80, 0x7f80])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:248
+assert_return(
+ () => invoke($0, `i16x8.extmul_low_i8x16_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0xfe01, 0xfe01, 0xfe01, 0xfe01, 0xfe01, 0xfe01, 0xfe01, 0xfe01])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:253
+assert_return(
+ () => invoke($0, `i16x8.extmul_high_i8x16_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:256
+assert_return(
+ () => invoke($0, `i16x8.extmul_high_i8x16_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:259
+assert_return(
+ () => invoke($0, `i16x8.extmul_high_i8x16_u`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:262
+assert_return(
+ () => invoke($0, `i16x8.extmul_high_i8x16_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:265
+assert_return(
+ () => invoke($0, `i16x8.extmul_high_i8x16_u`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:268
+assert_return(
+ () => invoke($0, `i16x8.extmul_high_i8x16_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0xfe01, 0xfe01, 0xfe01, 0xfe01, 0xfe01, 0xfe01, 0xfe01, 0xfe01])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:271
+assert_return(
+ () => invoke($0, `i16x8.extmul_high_i8x16_u`, [
+ i8x16([0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f]),
+ i8x16([0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40]),
+ ]),
+ [i16x8([0xfc0, 0xfc0, 0xfc0, 0xfc0, 0xfc0, 0xfc0, 0xfc0, 0xfc0])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:274
+assert_return(
+ () => invoke($0, `i16x8.extmul_high_i8x16_u`, [
+ i8x16([0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40]),
+ i8x16([0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40]),
+ ]),
+ [i16x8([0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:277
+assert_return(
+ () => invoke($0, `i16x8.extmul_high_i8x16_u`, [
+ i8x16([0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1]),
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ ]),
+ [i16x8([0x90c0, 0x90c0, 0x90c0, 0x90c0, 0x90c0, 0x90c0, 0x90c0, 0x90c0])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:280
+assert_return(
+ () => invoke($0, `i16x8.extmul_high_i8x16_u`, [
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ ]),
+ [i16x8([0x9000, 0x9000, 0x9000, 0x9000, 0x9000, 0x9000, 0x9000, 0x9000])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:283
+assert_return(
+ () => invoke($0, `i16x8.extmul_high_i8x16_u`, [
+ i8x16([0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf]),
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ ]),
+ [i16x8([0x8f40, 0x8f40, 0x8f40, 0x8f40, 0x8f40, 0x8f40, 0x8f40, 0x8f40])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:286
+assert_return(
+ () => invoke($0, `i16x8.extmul_high_i8x16_u`, [
+ i8x16([0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:289
+assert_return(
+ () => invoke($0, `i16x8.extmul_high_i8x16_u`, [
+ i8x16([0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:292
+assert_return(
+ () => invoke($0, `i16x8.extmul_high_i8x16_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:295
+assert_return(
+ () => invoke($0, `i16x8.extmul_high_i8x16_u`, [
+ i8x16([0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0x817e, 0x817e, 0x817e, 0x817e, 0x817e, 0x817e, 0x817e, 0x817e])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:298
+assert_return(
+ () => invoke($0, `i16x8.extmul_high_i8x16_u`, [
+ i8x16([0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0x807f, 0x807f, 0x807f, 0x807f, 0x807f, 0x807f, 0x807f, 0x807f])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:301
+assert_return(
+ () => invoke($0, `i16x8.extmul_high_i8x16_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0x7f80, 0x7f80, 0x7f80, 0x7f80, 0x7f80, 0x7f80, 0x7f80, 0x7f80])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:304
+assert_return(
+ () => invoke($0, `i16x8.extmul_high_i8x16_u`, [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [i16x8([0x3f01, 0x3f01, 0x3f01, 0x3f01, 0x3f01, 0x3f01, 0x3f01, 0x3f01])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:307
+assert_return(
+ () => invoke($0, `i16x8.extmul_high_i8x16_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:310
+assert_return(
+ () => invoke($0, `i16x8.extmul_high_i8x16_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81]),
+ ]),
+ [i16x8([0x4080, 0x4080, 0x4080, 0x4080, 0x4080, 0x4080, 0x4080, 0x4080])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:313
+assert_return(
+ () => invoke($0, `i16x8.extmul_high_i8x16_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:316
+assert_return(
+ () => invoke($0, `i16x8.extmul_high_i8x16_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:319
+assert_return(
+ () => invoke($0, `i16x8.extmul_high_i8x16_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0xfe01, 0xfe01, 0xfe01, 0xfe01, 0xfe01, 0xfe01, 0xfe01, 0xfe01])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:322
+assert_return(
+ () => invoke($0, `i16x8.extmul_high_i8x16_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [i16x8([0x7e81, 0x7e81, 0x7e81, 0x7e81, 0x7e81, 0x7e81, 0x7e81, 0x7e81])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:325
+assert_return(
+ () => invoke($0, `i16x8.extmul_high_i8x16_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [i16x8([0x7f80, 0x7f80, 0x7f80, 0x7f80, 0x7f80, 0x7f80, 0x7f80, 0x7f80])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:328
+assert_return(
+ () => invoke($0, `i16x8.extmul_high_i8x16_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0xfe01, 0xfe01, 0xfe01, 0xfe01, 0xfe01, 0xfe01, 0xfe01, 0xfe01])],
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:333
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i16x8.extmul_low_i8x16_s (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:334
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i16x8.extmul_high_i8x16_s (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:335
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i16x8.extmul_low_i8x16_u (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:336
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i16x8.extmul_high_i8x16_u (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:340
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.extmul_low_i8x16_s-1st-arg-empty (result v128)
+ (i16x8.extmul_low_i8x16_s (v128.const i16x8 0 0 0 0 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:348
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.extmul_low_i8x16_s-arg-empty (result v128)
+ (i16x8.extmul_low_i8x16_s)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:356
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.extmul_high_i8x16_s-1st-arg-empty (result v128)
+ (i16x8.extmul_high_i8x16_s (v128.const i16x8 0 0 0 0 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:364
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.extmul_high_i8x16_s-arg-empty (result v128)
+ (i16x8.extmul_high_i8x16_s)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:372
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.extmul_low_i8x16_u-1st-arg-empty (result v128)
+ (i16x8.extmul_low_i8x16_u (v128.const i16x8 0 0 0 0 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:380
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.extmul_low_i8x16_u-arg-empty (result v128)
+ (i16x8.extmul_low_i8x16_u)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:388
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.extmul_high_i8x16_u-1st-arg-empty (result v128)
+ (i16x8.extmul_high_i8x16_u (v128.const i16x8 0 0 0 0 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_extmul_i8x16.wast:396
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.extmul_high_i8x16_u-arg-empty (result v128)
+ (i16x8.extmul_high_i8x16_u)
+ )
+ )`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/simd_i16x8_q15mulr_sat_s.wast.js b/js/src/jit-test/tests/wasm/spec/spec/simd_i16x8_q15mulr_sat_s.wast.js
new file mode 100644
index 0000000000..7d02f8a85f
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/simd_i16x8_q15mulr_sat_s.wast.js
@@ -0,0 +1,283 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_i16x8_q15mulr_sat_s.wast
+
+// ./test/core/simd/simd_i16x8_q15mulr_sat_s.wast:4
+let $0 = instantiate(`(module
+ (func (export "i16x8.q15mulr_sat_s") (param v128 v128) (result v128) (i16x8.q15mulr_sat_s (local.get 0) (local.get 1)))
+)`);
+
+// ./test/core/simd/simd_i16x8_q15mulr_sat_s.wast:10
+assert_return(
+ () => invoke($0, `i16x8.q15mulr_sat_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_q15mulr_sat_s.wast:13
+assert_return(
+ () => invoke($0, `i16x8.q15mulr_sat_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_q15mulr_sat_s.wast:16
+assert_return(
+ () => invoke($0, `i16x8.q15mulr_sat_s`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_q15mulr_sat_s.wast:19
+assert_return(
+ () => invoke($0, `i16x8.q15mulr_sat_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_q15mulr_sat_s.wast:22
+assert_return(
+ () => invoke($0, `i16x8.q15mulr_sat_s`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_q15mulr_sat_s.wast:25
+assert_return(
+ () => invoke($0, `i16x8.q15mulr_sat_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_q15mulr_sat_s.wast:28
+assert_return(
+ () => invoke($0, `i16x8.q15mulr_sat_s`, [
+ i16x8([0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff]),
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ ]),
+ [i16x8([0x2000, 0x2000, 0x2000, 0x2000, 0x2000, 0x2000, 0x2000, 0x2000])],
+);
+
+// ./test/core/simd/simd_i16x8_q15mulr_sat_s.wast:31
+assert_return(
+ () => invoke($0, `i16x8.q15mulr_sat_s`, [
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ ]),
+ [i16x8([0x2000, 0x2000, 0x2000, 0x2000, 0x2000, 0x2000, 0x2000, 0x2000])],
+);
+
+// ./test/core/simd/simd_i16x8_q15mulr_sat_s.wast:34
+assert_return(
+ () => invoke($0, `i16x8.q15mulr_sat_s`, [
+ i16x8([0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001]),
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ ]),
+ [i16x8([0x2000, 0x2000, 0x2000, 0x2000, 0x2000, 0x2000, 0x2000, 0x2000])],
+);
+
+// ./test/core/simd/simd_i16x8_q15mulr_sat_s.wast:37
+assert_return(
+ () => invoke($0, `i16x8.q15mulr_sat_s`, [
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ ]),
+ [i16x8([0x2000, 0x2000, 0x2000, 0x2000, 0x2000, 0x2000, 0x2000, 0x2000])],
+);
+
+// ./test/core/simd/simd_i16x8_q15mulr_sat_s.wast:40
+assert_return(
+ () => invoke($0, `i16x8.q15mulr_sat_s`, [
+ i16x8([0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff]),
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ ]),
+ [i16x8([0x2001, 0x2001, 0x2001, 0x2001, 0x2001, 0x2001, 0x2001, 0x2001])],
+);
+
+// ./test/core/simd/simd_i16x8_q15mulr_sat_s.wast:43
+assert_return(
+ () => invoke($0, `i16x8.q15mulr_sat_s`, [
+ i16x8([0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_q15mulr_sat_s.wast:46
+assert_return(
+ () => invoke($0, `i16x8.q15mulr_sat_s`, [
+ i16x8([0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_q15mulr_sat_s.wast:49
+assert_return(
+ () => invoke($0, `i16x8.q15mulr_sat_s`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_q15mulr_sat_s.wast:52
+assert_return(
+ () => invoke($0, `i16x8.q15mulr_sat_s`, [
+ i16x8([0x8002, 0x8002, 0x8002, 0x8002, 0x8002, 0x8002, 0x8002, 0x8002]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_q15mulr_sat_s.wast:55
+assert_return(
+ () => invoke($0, `i16x8.q15mulr_sat_s`, [
+ i16x8([0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_q15mulr_sat_s.wast:58
+assert_return(
+ () => invoke($0, `i16x8.q15mulr_sat_s`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_q15mulr_sat_s.wast:61
+assert_return(
+ () => invoke($0, `i16x8.q15mulr_sat_s`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i16x8([0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe])],
+);
+
+// ./test/core/simd/simd_i16x8_q15mulr_sat_s.wast:64
+assert_return(
+ () => invoke($0, `i16x8.q15mulr_sat_s`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_i16x8_q15mulr_sat_s.wast:67
+assert_return(
+ () => invoke($0, `i16x8.q15mulr_sat_s`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001]),
+ ]),
+ [i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_i16x8_q15mulr_sat_s.wast:70
+assert_return(
+ () => invoke($0, `i16x8.q15mulr_sat_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_q15mulr_sat_s.wast:73
+assert_return(
+ () => invoke($0, `i16x8.q15mulr_sat_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_q15mulr_sat_s.wast:76
+assert_return(
+ () => invoke($0, `i16x8.q15mulr_sat_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_q15mulr_sat_s.wast:79
+assert_return(
+ () => invoke($0, `i16x8.q15mulr_sat_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_q15mulr_sat_s.wast:82
+assert_return(
+ () => invoke($0, `i16x8.q15mulr_sat_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_q15mulr_sat_s.wast:85
+assert_return(
+ () => invoke($0, `i16x8.q15mulr_sat_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_q15mulr_sat_s.wast:90
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i16x8.q15mulr_sat_s (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_q15mulr_sat_s.wast:94
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.q15mulr_sat_s-1st-arg-empty (result v128)
+ (i16x8.q15mulr_sat_s (v128.const i16x8 0 0 0 0 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_q15mulr_sat_s.wast:102
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.q15mulr_sat_s-arg-empty (result v128)
+ (i16x8.q15mulr_sat_s)
+ )
+ )`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/simd_i16x8_sat_arith.wast.js b/js/src/jit-test/tests/wasm/spec/spec/simd_i16x8_sat_arith.wast.js
new file mode 100644
index 0000000000..999c6a2b31
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/simd_i16x8_sat_arith.wast.js
@@ -0,0 +1,2150 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:4
+let $0 = instantiate(`(module
+ (func (export "i16x8.add_sat_s") (param v128 v128) (result v128) (i16x8.add_sat_s (local.get 0) (local.get 1)))
+ (func (export "i16x8.add_sat_u") (param v128 v128) (result v128) (i16x8.add_sat_u (local.get 0) (local.get 1)))
+ (func (export "i16x8.sub_sat_s") (param v128 v128) (result v128) (i16x8.sub_sat_s (local.get 0) (local.get 1)))
+ (func (export "i16x8.sub_sat_u") (param v128 v128) (result v128) (i16x8.sub_sat_u (local.get 0) (local.get 1)))
+)`);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:13
+assert_return(
+ () => invoke($0, `i16x8.add_sat_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:16
+assert_return(
+ () => invoke($0, `i16x8.add_sat_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:19
+assert_return(
+ () => invoke($0, `i16x8.add_sat_s`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:22
+assert_return(
+ () => invoke($0, `i16x8.add_sat_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:25
+assert_return(
+ () => invoke($0, `i16x8.add_sat_s`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:28
+assert_return(
+ () => invoke($0, `i16x8.add_sat_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:31
+assert_return(
+ () => invoke($0, `i16x8.add_sat_s`, [
+ i16x8([0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff]),
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ ]),
+ [i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:34
+assert_return(
+ () => invoke($0, `i16x8.add_sat_s`, [
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ ]),
+ [i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:37
+assert_return(
+ () => invoke($0, `i16x8.add_sat_s`, [
+ i16x8([0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001]),
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ ]),
+ [i16x8([0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:40
+assert_return(
+ () => invoke($0, `i16x8.add_sat_s`, [
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:43
+assert_return(
+ () => invoke($0, `i16x8.add_sat_s`, [
+ i16x8([0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff]),
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:46
+assert_return(
+ () => invoke($0, `i16x8.add_sat_s`, [
+ i16x8([0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:49
+assert_return(
+ () => invoke($0, `i16x8.add_sat_s`, [
+ i16x8([0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:52
+assert_return(
+ () => invoke($0, `i16x8.add_sat_s`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:55
+assert_return(
+ () => invoke($0, `i16x8.add_sat_s`, [
+ i16x8([0x8002, 0x8002, 0x8002, 0x8002, 0x8002, 0x8002, 0x8002, 0x8002]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:58
+assert_return(
+ () => invoke($0, `i16x8.add_sat_s`, [
+ i16x8([0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:61
+assert_return(
+ () => invoke($0, `i16x8.add_sat_s`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:64
+assert_return(
+ () => invoke($0, `i16x8.add_sat_s`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:67
+assert_return(
+ () => invoke($0, `i16x8.add_sat_s`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:70
+assert_return(
+ () => invoke($0, `i16x8.add_sat_s`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:73
+assert_return(
+ () => invoke($0, `i16x8.add_sat_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:76
+assert_return(
+ () => invoke($0, `i16x8.add_sat_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:79
+assert_return(
+ () => invoke($0, `i16x8.add_sat_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:82
+assert_return(
+ () => invoke($0, `i16x8.add_sat_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i16x8([0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:85
+assert_return(
+ () => invoke($0, `i16x8.add_sat_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:88
+assert_return(
+ () => invoke($0, `i16x8.add_sat_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:91
+assert_return(
+ () => invoke($0, `i16x8.add_sat_s`, [
+ i16x8([0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff]),
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ ]),
+ [i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:94
+assert_return(
+ () => invoke($0, `i16x8.add_sat_s`, [
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ ]),
+ [i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:97
+assert_return(
+ () => invoke($0, `i16x8.add_sat_s`, [
+ i16x8([0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001]),
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ ]),
+ [i16x8([0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:100
+assert_return(
+ () => invoke($0, `i16x8.add_sat_s`, [
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:103
+assert_return(
+ () => invoke($0, `i16x8.add_sat_s`, [
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ i16x8([0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:106
+assert_return(
+ () => invoke($0, `i16x8.add_sat_s`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:109
+assert_return(
+ () => invoke($0, `i16x8.add_sat_s`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:112
+assert_return(
+ () => invoke($0, `i16x8.add_sat_s`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:115
+assert_return(
+ () => invoke($0, `i16x8.add_sat_s`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:118
+assert_return(
+ () => invoke($0, `i16x8.add_sat_s`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:121
+assert_return(
+ () => invoke($0, `i16x8.add_sat_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:124
+assert_return(
+ () => invoke($0, `i16x8.add_sat_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:127
+assert_return(
+ () => invoke($0, `i16x8.add_sat_s`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:130
+assert_return(
+ () => invoke($0, `i16x8.add_sat_s`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i16x8([0x1, 0x7f81, 0x1, 0x7f81, 0x1, 0x7f81, 0x1, 0x7f81])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:133
+assert_return(
+ () => invoke($0, `i16x8.add_sat_s`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i16x8([0x1, 0xff81, 0x1, 0xff81, 0x1, 0xff81, 0x1, 0xff81])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:136
+assert_return(
+ () => invoke($0, `i16x8.add_sat_s`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i16x8([0x1, 0x7fc1, 0x1, 0x7fc1, 0x1, 0x7fc1, 0x1, 0x7fc1])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:139
+assert_return(
+ () => invoke($0, `i16x8.add_sat_s`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i16x8([0x1, 0xffc1, 0x1, 0xffc1, 0x1, 0xffc1, 0x1, 0xffc1])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:142
+assert_return(
+ () => invoke($0, `i16x8.add_sat_s`, [
+ i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7]),
+ i16x8([0x0, 0xffff, 0xfffe, 0xfffd, 0xfffc, 0xfffb, 0xfffa, 0xfff9]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:145
+assert_return(
+ () => invoke($0, `i16x8.add_sat_s`, [
+ i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7]),
+ i16x8([0x0, 0x2, 0x4, 0x6, 0x8, 0xa, 0xc, 0xe]),
+ ]),
+ [i16x8([0x0, 0x3, 0x6, 0x9, 0xc, 0xf, 0x12, 0x15])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:148
+assert_return(
+ () => invoke($0, `i16x8.add_sat_s`, [
+ i16x8([0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039]),
+ i16x8([0x7d7b, 0x7d7b, 0x7d7b, 0x7d7b, 0x7d7b, 0x7d7b, 0x7d7b, 0x7d7b]),
+ ]),
+ [i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:151
+assert_return(
+ () => invoke($0, `i16x8.add_sat_s`, [
+ i16x8([0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039]),
+ i16x8([0xddd5, 0xddd5, 0xddd5, 0xddd5, 0xddd5, 0xddd5, 0xddd5, 0xddd5]),
+ ]),
+ [i16x8([0xe0e, 0xe0e, 0xe0e, 0xe0e, 0xe0e, 0xe0e, 0xe0e, 0xe0e])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:154
+assert_return(
+ () => invoke($0, `i16x8.add_sat_s`, [
+ i16x8([0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234]),
+ i16x8([0x5678, 0x5678, 0x5678, 0x5678, 0x5678, 0x5678, 0x5678, 0x5678]),
+ ]),
+ [i16x8([0x68ac, 0x68ac, 0x68ac, 0x68ac, 0x68ac, 0x68ac, 0x68ac, 0x68ac])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:157
+assert_return(
+ () => invoke($0, `i16x8.add_sat_s`, [
+ i16x8([0x90ab, 0x90ab, 0x90ab, 0x90ab, 0x90ab, 0x90ab, 0x90ab, 0x90ab]),
+ i16x8([0xcdef, 0xcdef, 0xcdef, 0xcdef, 0xcdef, 0xcdef, 0xcdef, 0xcdef]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:162
+assert_return(
+ () => invoke($0, `i16x8.add_sat_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:165
+assert_return(
+ () => invoke($0, `i16x8.add_sat_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:168
+assert_return(
+ () => invoke($0, `i16x8.add_sat_u`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:171
+assert_return(
+ () => invoke($0, `i16x8.add_sat_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:174
+assert_return(
+ () => invoke($0, `i16x8.add_sat_u`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:177
+assert_return(
+ () => invoke($0, `i16x8.add_sat_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:180
+assert_return(
+ () => invoke($0, `i16x8.add_sat_u`, [
+ i16x8([0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff]),
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ ]),
+ [i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:183
+assert_return(
+ () => invoke($0, `i16x8.add_sat_u`, [
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:186
+assert_return(
+ () => invoke($0, `i16x8.add_sat_u`, [
+ i16x8([0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001]),
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:189
+assert_return(
+ () => invoke($0, `i16x8.add_sat_u`, [
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:192
+assert_return(
+ () => invoke($0, `i16x8.add_sat_u`, [
+ i16x8([0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff]),
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:195
+assert_return(
+ () => invoke($0, `i16x8.add_sat_u`, [
+ i16x8([0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:198
+assert_return(
+ () => invoke($0, `i16x8.add_sat_u`, [
+ i16x8([0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:201
+assert_return(
+ () => invoke($0, `i16x8.add_sat_u`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:204
+assert_return(
+ () => invoke($0, `i16x8.add_sat_u`, [
+ i16x8([0x8002, 0x8002, 0x8002, 0x8002, 0x8002, 0x8002, 0x8002, 0x8002]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:207
+assert_return(
+ () => invoke($0, `i16x8.add_sat_u`, [
+ i16x8([0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:210
+assert_return(
+ () => invoke($0, `i16x8.add_sat_u`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:213
+assert_return(
+ () => invoke($0, `i16x8.add_sat_u`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i16x8([0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:216
+assert_return(
+ () => invoke($0, `i16x8.add_sat_u`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:219
+assert_return(
+ () => invoke($0, `i16x8.add_sat_u`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:222
+assert_return(
+ () => invoke($0, `i16x8.add_sat_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:225
+assert_return(
+ () => invoke($0, `i16x8.add_sat_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:228
+assert_return(
+ () => invoke($0, `i16x8.add_sat_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:231
+assert_return(
+ () => invoke($0, `i16x8.add_sat_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:234
+assert_return(
+ () => invoke($0, `i16x8.add_sat_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:237
+assert_return(
+ () => invoke($0, `i16x8.add_sat_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:240
+assert_return(
+ () => invoke($0, `i16x8.add_sat_u`, [
+ i16x8([0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff]),
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ ]),
+ [i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:243
+assert_return(
+ () => invoke($0, `i16x8.add_sat_u`, [
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:246
+assert_return(
+ () => invoke($0, `i16x8.add_sat_u`, [
+ i16x8([0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001]),
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:249
+assert_return(
+ () => invoke($0, `i16x8.add_sat_u`, [
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:252
+assert_return(
+ () => invoke($0, `i16x8.add_sat_u`, [
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ i16x8([0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:255
+assert_return(
+ () => invoke($0, `i16x8.add_sat_u`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i16x8([0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:258
+assert_return(
+ () => invoke($0, `i16x8.add_sat_u`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:261
+assert_return(
+ () => invoke($0, `i16x8.add_sat_u`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:264
+assert_return(
+ () => invoke($0, `i16x8.add_sat_u`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:267
+assert_return(
+ () => invoke($0, `i16x8.add_sat_u`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:270
+assert_return(
+ () => invoke($0, `i16x8.add_sat_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:273
+assert_return(
+ () => invoke($0, `i16x8.add_sat_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:276
+assert_return(
+ () => invoke($0, `i16x8.add_sat_u`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i16x8([0x8000, 0xffff, 0x8000, 0xffff, 0x8000, 0xffff, 0x8000, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:279
+assert_return(
+ () => invoke($0, `i16x8.add_sat_u`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i16x8([0x1, 0x7f81, 0x1, 0x7f81, 0x1, 0x7f81, 0x1, 0x7f81])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:282
+assert_return(
+ () => invoke($0, `i16x8.add_sat_u`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i16x8([0x1, 0xff81, 0x1, 0xff81, 0x1, 0xff81, 0x1, 0xff81])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:285
+assert_return(
+ () => invoke($0, `i16x8.add_sat_u`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i16x8([0x1, 0x7fc1, 0x1, 0x7fc1, 0x1, 0x7fc1, 0x1, 0x7fc1])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:288
+assert_return(
+ () => invoke($0, `i16x8.add_sat_u`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i16x8([0x1, 0x7fc1, 0x1, 0x7fc1, 0x1, 0x7fc1, 0x1, 0x7fc1])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:291
+assert_return(
+ () => invoke($0, `i16x8.add_sat_u`, [
+ i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7]),
+ i16x8([0x0, 0xffff, 0xfffe, 0xfffd, 0xfffc, 0xfffb, 0xfffa, 0xfff9]),
+ ]),
+ [i16x8([0x0, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:294
+assert_return(
+ () => invoke($0, `i16x8.add_sat_u`, [
+ i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7]),
+ i16x8([0x0, 0x2, 0x4, 0x6, 0x8, 0xa, 0xc, 0xe]),
+ ]),
+ [i16x8([0x0, 0x3, 0x6, 0x9, 0xc, 0xf, 0x12, 0x15])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:297
+assert_return(
+ () => invoke($0, `i16x8.add_sat_u`, [
+ i16x8([0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039]),
+ i16x8([0xddd5, 0xddd5, 0xddd5, 0xddd5, 0xddd5, 0xddd5, 0xddd5, 0xddd5]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:300
+assert_return(
+ () => invoke($0, `i16x8.add_sat_u`, [
+ i16x8([0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039]),
+ i16x8([0xcfc7, 0xcfc7, 0xcfc7, 0xcfc7, 0xcfc7, 0xcfc7, 0xcfc7, 0xcfc7]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:303
+assert_return(
+ () => invoke($0, `i16x8.add_sat_u`, [
+ i16x8([0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234]),
+ i16x8([0x5678, 0x5678, 0x5678, 0x5678, 0x5678, 0x5678, 0x5678, 0x5678]),
+ ]),
+ [i16x8([0x68ac, 0x68ac, 0x68ac, 0x68ac, 0x68ac, 0x68ac, 0x68ac, 0x68ac])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:306
+assert_return(
+ () => invoke($0, `i16x8.add_sat_u`, [
+ i16x8([0x90ab, 0x90ab, 0x90ab, 0x90ab, 0x90ab, 0x90ab, 0x90ab, 0x90ab]),
+ i16x8([0xcdef, 0xcdef, 0xcdef, 0xcdef, 0xcdef, 0xcdef, 0xcdef, 0xcdef]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:311
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:314
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:317
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_s`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:320
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:323
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_s`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:326
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:329
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_s`, [
+ i16x8([0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff]),
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:332
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_s`, [
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:335
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_s`, [
+ i16x8([0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001]),
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:338
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_s`, [
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:341
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_s`, [
+ i16x8([0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff]),
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:344
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_s`, [
+ i16x8([0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x7ffc, 0x7ffc, 0x7ffc, 0x7ffc, 0x7ffc, 0x7ffc, 0x7ffc, 0x7ffc])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:347
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_s`, [
+ i16x8([0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:350
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_s`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:353
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_s`, [
+ i16x8([0x8002, 0x8002, 0x8002, 0x8002, 0x8002, 0x8002, 0x8002, 0x8002]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x8003, 0x8003, 0x8003, 0x8003, 0x8003, 0x8003, 0x8003, 0x8003])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:356
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_s`, [
+ i16x8([0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x8002, 0x8002, 0x8002, 0x8002, 0x8002, 0x8002, 0x8002, 0x8002])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:359
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_s`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:362
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_s`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:365
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_s`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:368
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_s`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:371
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:374
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:377
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:380
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:383
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:386
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:389
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_s`, [
+ i16x8([0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff]),
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:392
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_s`, [
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:395
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_s`, [
+ i16x8([0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001]),
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:398
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_s`, [
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:401
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_s`, [
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ i16x8([0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:404
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_s`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:407
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_s`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:410
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_s`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:413
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_s`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:416
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_s`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:419
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:422
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:425
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_s`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i16x8([0x8000, 0x0, 0x8000, 0x0, 0x8000, 0x0, 0x8000, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:428
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_s`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i16x8([0x1, 0x8081, 0x1, 0x8081, 0x1, 0x8081, 0x1, 0x8081])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:431
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_s`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i16x8([0x1, 0x81, 0x1, 0x81, 0x1, 0x81, 0x1, 0x81])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:434
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_s`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i16x8([0x1, 0x8041, 0x1, 0x8041, 0x1, 0x8041, 0x1, 0x8041])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:437
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_s`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i16x8([0x1, 0x41, 0x1, 0x41, 0x1, 0x41, 0x1, 0x41])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:440
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_s`, [
+ i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7]),
+ i16x8([0x0, 0xffff, 0xfffe, 0xfffd, 0xfffc, 0xfffb, 0xfffa, 0xfff9]),
+ ]),
+ [i16x8([0x0, 0x2, 0x4, 0x6, 0x8, 0xa, 0xc, 0xe])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:443
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_s`, [
+ i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7]),
+ i16x8([0x0, 0x2, 0x4, 0x6, 0x8, 0xa, 0xc, 0xe]),
+ ]),
+ [i16x8([0x0, 0xffff, 0xfffe, 0xfffd, 0xfffc, 0xfffb, 0xfffa, 0xfff9])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:446
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_s`, [
+ i16x8([0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039]),
+ i16x8([0xddd5, 0xddd5, 0xddd5, 0xddd5, 0xddd5, 0xddd5, 0xddd5, 0xddd5]),
+ ]),
+ [i16x8([0x5264, 0x5264, 0x5264, 0x5264, 0x5264, 0x5264, 0x5264, 0x5264])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:449
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_s`, [
+ i16x8([0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039]),
+ i16x8([0xcfc7, 0xcfc7, 0xcfc7, 0xcfc7, 0xcfc7, 0xcfc7, 0xcfc7, 0xcfc7]),
+ ]),
+ [i16x8([0x6072, 0x6072, 0x6072, 0x6072, 0x6072, 0x6072, 0x6072, 0x6072])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:452
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_s`, [
+ i16x8([0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234]),
+ i16x8([0x5678, 0x5678, 0x5678, 0x5678, 0x5678, 0x5678, 0x5678, 0x5678]),
+ ]),
+ [i16x8([0xbbbc, 0xbbbc, 0xbbbc, 0xbbbc, 0xbbbc, 0xbbbc, 0xbbbc, 0xbbbc])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:455
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_s`, [
+ i16x8([0x90ab, 0x90ab, 0x90ab, 0x90ab, 0x90ab, 0x90ab, 0x90ab, 0x90ab]),
+ i16x8([0xedcc, 0xedcc, 0xedcc, 0xedcc, 0xedcc, 0xedcc, 0xedcc, 0xedcc]),
+ ]),
+ [i16x8([0xa2df, 0xa2df, 0xa2df, 0xa2df, 0xa2df, 0xa2df, 0xa2df, 0xa2df])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:460
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:463
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:466
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_u`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:469
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:472
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_u`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:475
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:478
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_u`, [
+ i16x8([0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff]),
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:481
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_u`, [
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:484
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_u`, [
+ i16x8([0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001]),
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:487
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_u`, [
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:490
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_u`, [
+ i16x8([0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff]),
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:493
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_u`, [
+ i16x8([0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x7ffc, 0x7ffc, 0x7ffc, 0x7ffc, 0x7ffc, 0x7ffc, 0x7ffc, 0x7ffc])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:496
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_u`, [
+ i16x8([0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:499
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_u`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:502
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_u`, [
+ i16x8([0x8002, 0x8002, 0x8002, 0x8002, 0x8002, 0x8002, 0x8002, 0x8002]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:505
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_u`, [
+ i16x8([0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:508
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_u`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:511
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_u`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:514
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_u`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:517
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_u`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:520
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:523
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:526
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:529
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:532
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:535
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:538
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_u`, [
+ i16x8([0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff]),
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:541
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_u`, [
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:544
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_u`, [
+ i16x8([0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001]),
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:547
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_u`, [
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:550
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_u`, [
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ i16x8([0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:553
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_u`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:556
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_u`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:559
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_u`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:562
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_u`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:565
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_u`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:568
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:571
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:574
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_u`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i16x8([0x8000, 0x0, 0x8000, 0x0, 0x8000, 0x0, 0x8000, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:577
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_u`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i16x8([0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:580
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_u`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i16x8([0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:583
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_u`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i16x8([0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:586
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_u`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i16x8([0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:589
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_u`, [
+ i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7]),
+ i16x8([0x0, 0xffff, 0xfffe, 0xfffd, 0xfffc, 0xfffb, 0xfffa, 0xfff9]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:592
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_u`, [
+ i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7]),
+ i16x8([0x0, 0x2, 0x4, 0x6, 0x8, 0xa, 0xc, 0xe]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:595
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_u`, [
+ i16x8([0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039]),
+ i16x8([0xddd5, 0xddd5, 0xddd5, 0xddd5, 0xddd5, 0xddd5, 0xddd5, 0xddd5]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:598
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_u`, [
+ i16x8([0xddd5, 0xddd5, 0xddd5, 0xddd5, 0xddd5, 0xddd5, 0xddd5, 0xddd5]),
+ i16x8([0xcfc7, 0xcfc7, 0xcfc7, 0xcfc7, 0xcfc7, 0xcfc7, 0xcfc7, 0xcfc7]),
+ ]),
+ [i16x8([0xe0e, 0xe0e, 0xe0e, 0xe0e, 0xe0e, 0xe0e, 0xe0e, 0xe0e])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:601
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_u`, [
+ i16x8([0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234]),
+ i16x8([0xa988, 0xa988, 0xa988, 0xa988, 0xa988, 0xa988, 0xa988, 0xa988]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:604
+assert_return(
+ () => invoke($0, `i16x8.sub_sat_u`, [
+ i16x8([0xcdef, 0xcdef, 0xcdef, 0xcdef, 0xcdef, 0xcdef, 0xcdef, 0xcdef]),
+ i16x8([0x90ab, 0x90ab, 0x90ab, 0x90ab, 0x90ab, 0x90ab, 0x90ab, 0x90ab]),
+ ]),
+ [i16x8([0x3d44, 0x3d44, 0x3d44, 0x3d44, 0x3d44, 0x3d44, 0x3d44, 0x3d44])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:609
+assert_malformed(
+ () => instantiate(`(func (result v128) (i16x8.add_sat (v128.const i16x8 1 1 1 1 1 1 1 1) (v128.const i16x8 2 2 2 2 2 2 2 2))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:612
+assert_malformed(
+ () => instantiate(`(func (result v128) (i16x8.sub_sat (v128.const i16x8 1 1 1 1 1 1 1 1) (v128.const i16x8 2 2 2 2 2 2 2 2))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:615
+assert_malformed(
+ () => instantiate(`(func (result v128) (i16x8.mul_sat (v128.const i16x8 1 1 1 1 1 1 1 1) (v128.const i16x8 2 2 2 2 2 2 2 2))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:618
+assert_malformed(
+ () => instantiate(`(func (result v128) (i16x8.div_sat (v128.const i16x8 1 1 1 1 1 1 1 1) (v128.const i16x8 2 2 2 2 2 2 2 2))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:623
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i16x8.add_sat_s (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:624
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i16x8.add_sat_u (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:625
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i16x8.sub_sat_s (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:626
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i16x8.sub_sat_u (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:630
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.add_sat_s-1st-arg-empty (result v128)
+ (i16x8.add_sat_s (v128.const i16x8 0 0 0 0 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:638
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.add_sat_s-arg-empty (result v128)
+ (i16x8.add_sat_s)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:646
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.add_sat_u-1st-arg-empty (result v128)
+ (i16x8.add_sat_u (v128.const i16x8 0 0 0 0 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:654
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.add_sat_u-arg-empty (result v128)
+ (i16x8.add_sat_u)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:662
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.sub_sat_s-1st-arg-empty (result v128)
+ (i16x8.sub_sat_s (v128.const i16x8 0 0 0 0 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:670
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.sub_sat_s-arg-empty (result v128)
+ (i16x8.sub_sat_s)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:678
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.sub_sat_u-1st-arg-empty (result v128)
+ (i16x8.sub_sat_u (v128.const i16x8 0 0 0 0 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:686
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.sub_sat_u-arg-empty (result v128)
+ (i16x8.sub_sat_u)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:696
+let $1 = instantiate(`(module
+ (func (export "sat-add_s-sub_s") (param v128 v128 v128) (result v128)
+ (i16x8.add_sat_s (i16x8.sub_sat_s (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "sat-add_s-sub_u") (param v128 v128 v128) (result v128)
+ (i16x8.add_sat_s (i16x8.sub_sat_u (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "sat-add_u-sub_s") (param v128 v128 v128) (result v128)
+ (i16x8.add_sat_u (i16x8.sub_sat_s (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "sat-add_u-sub_u") (param v128 v128 v128) (result v128)
+ (i16x8.add_sat_u (i16x8.sub_sat_u (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "sat-add_s-neg") (param v128 v128) (result v128)
+ (i16x8.add_sat_s (i16x8.neg (local.get 0)) (local.get 1)))
+ (func (export "sat-add_u-neg") (param v128 v128) (result v128)
+ (i16x8.add_sat_u (i16x8.neg (local.get 0)) (local.get 1)))
+ (func (export "sat-sub_s-neg") (param v128 v128) (result v128)
+ (i16x8.sub_sat_s (i16x8.neg (local.get 0)) (local.get 1)))
+ (func (export "sat-sub_u-neg") (param v128 v128) (result v128)
+ (i16x8.sub_sat_u (i16x8.neg (local.get 0)) (local.get 1)))
+)`);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:715
+assert_return(
+ () => invoke($1, `sat-add_s-sub_s`, [
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:719
+assert_return(
+ () => invoke($1, `sat-add_s-sub_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:723
+assert_return(
+ () => invoke($1, `sat-add_u-sub_s`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i16x8([0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:727
+assert_return(
+ () => invoke($1, `sat-add_u-sub_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:731
+assert_return(
+ () => invoke($1, `sat-add_s-neg`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:734
+assert_return(
+ () => invoke($1, `sat-add_u-neg`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:737
+assert_return(
+ () => invoke($1, `sat-sub_s-neg`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i16x8_sat_arith.wast:740
+assert_return(
+ () => invoke($1, `sat-sub_u-neg`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/simd_i32x4_arith.wast.js b/js/src/jit-test/tests/wasm/spec/spec/simd_i32x4_arith.wast.js
new file mode 100644
index 0000000000..42976320d0
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/simd_i32x4_arith.wast.js
@@ -0,0 +1,1801 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_i32x4_arith.wast
+
+// ./test/core/simd/simd_i32x4_arith.wast:4
+let $0 = instantiate(`(module
+ (func (export "i32x4.add") (param v128 v128) (result v128) (i32x4.add (local.get 0) (local.get 1)))
+ (func (export "i32x4.sub") (param v128 v128) (result v128) (i32x4.sub (local.get 0) (local.get 1)))
+ (func (export "i32x4.mul") (param v128 v128) (result v128) (i32x4.mul (local.get 0) (local.get 1)))
+ (func (export "i32x4.neg") (param v128) (result v128) (i32x4.neg (local.get 0)))
+)`);
+
+// ./test/core/simd/simd_i32x4_arith.wast:13
+assert_return(
+ () => invoke($0, `i32x4.add`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:16
+assert_return(
+ () => invoke($0, `i32x4.add`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:19
+assert_return(
+ () => invoke($0, `i32x4.add`, [
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0x2, 0x2, 0x2, 0x2])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:22
+assert_return(
+ () => invoke($0, `i32x4.add`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:25
+assert_return(
+ () => invoke($0, `i32x4.add`, [
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:28
+assert_return(
+ () => invoke($0, `i32x4.add`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0xfffffffe, 0xfffffffe, 0xfffffffe, 0xfffffffe])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:31
+assert_return(
+ () => invoke($0, `i32x4.add`, [
+ i32x4([0x3fffffff, 0x3fffffff, 0x3fffffff, 0x3fffffff]),
+ i32x4([0x40000000, 0x40000000, 0x40000000, 0x40000000]),
+ ]),
+ [i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:34
+assert_return(
+ () => invoke($0, `i32x4.add`, [
+ i32x4([0x40000000, 0x40000000, 0x40000000, 0x40000000]),
+ i32x4([0x40000000, 0x40000000, 0x40000000, 0x40000000]),
+ ]),
+ [i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:37
+assert_return(
+ () => invoke($0, `i32x4.add`, [
+ i32x4([0xc0000001, 0xc0000001, 0xc0000001, 0xc0000001]),
+ i32x4([0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000]),
+ ]),
+ [i32x4([0x80000001, 0x80000001, 0x80000001, 0x80000001])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:40
+assert_return(
+ () => invoke($0, `i32x4.add`, [
+ i32x4([0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000]),
+ i32x4([0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000]),
+ ]),
+ [i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:43
+assert_return(
+ () => invoke($0, `i32x4.add`, [
+ i32x4([0xbfffffff, 0xbfffffff, 0xbfffffff, 0xbfffffff]),
+ i32x4([0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000]),
+ ]),
+ [i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:46
+assert_return(
+ () => invoke($0, `i32x4.add`, [
+ i32x4([0x7ffffffd, 0x7ffffffd, 0x7ffffffd, 0x7ffffffd]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0x7ffffffe, 0x7ffffffe, 0x7ffffffe, 0x7ffffffe])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:49
+assert_return(
+ () => invoke($0, `i32x4.add`, [
+ i32x4([0x7ffffffe, 0x7ffffffe, 0x7ffffffe, 0x7ffffffe]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:52
+assert_return(
+ () => invoke($0, `i32x4.add`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0x80000001, 0x80000001, 0x80000001, 0x80000001])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:55
+assert_return(
+ () => invoke($0, `i32x4.add`, [
+ i32x4([0x80000002, 0x80000002, 0x80000002, 0x80000002]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x80000001, 0x80000001, 0x80000001, 0x80000001])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:58
+assert_return(
+ () => invoke($0, `i32x4.add`, [
+ i32x4([0x80000001, 0x80000001, 0x80000001, 0x80000001]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:61
+assert_return(
+ () => invoke($0, `i32x4.add`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:64
+assert_return(
+ () => invoke($0, `i32x4.add`, [
+ i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff]),
+ i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff]),
+ ]),
+ [i32x4([0xfffffffe, 0xfffffffe, 0xfffffffe, 0xfffffffe])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:67
+assert_return(
+ () => invoke($0, `i32x4.add`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:70
+assert_return(
+ () => invoke($0, `i32x4.add`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ i32x4([0x80000001, 0x80000001, 0x80000001, 0x80000001]),
+ ]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:73
+assert_return(
+ () => invoke($0, `i32x4.add`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:76
+assert_return(
+ () => invoke($0, `i32x4.add`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:79
+assert_return(
+ () => invoke($0, `i32x4.add`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0xfffffffe, 0xfffffffe, 0xfffffffe, 0xfffffffe])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:82
+assert_return(
+ () => invoke($0, `i32x4.add`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff]),
+ ]),
+ [i32x4([0x7ffffffe, 0x7ffffffe, 0x7ffffffe, 0x7ffffffe])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:85
+assert_return(
+ () => invoke($0, `i32x4.add`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ ]),
+ [i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:88
+assert_return(
+ () => invoke($0, `i32x4.add`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0xfffffffe, 0xfffffffe, 0xfffffffe, 0xfffffffe])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:91
+assert_return(
+ () => invoke($0, `i32x4.add`, [
+ i32x4([0x3fffffff, 0x3fffffff, 0x3fffffff, 0x3fffffff]),
+ i32x4([0x40000000, 0x40000000, 0x40000000, 0x40000000]),
+ ]),
+ [i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:94
+assert_return(
+ () => invoke($0, `i32x4.add`, [
+ i32x4([0x40000000, 0x40000000, 0x40000000, 0x40000000]),
+ i32x4([0x40000000, 0x40000000, 0x40000000, 0x40000000]),
+ ]),
+ [i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:97
+assert_return(
+ () => invoke($0, `i32x4.add`, [
+ i32x4([0xc0000001, 0xc0000001, 0xc0000001, 0xc0000001]),
+ i32x4([0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000]),
+ ]),
+ [i32x4([0x80000001, 0x80000001, 0x80000001, 0x80000001])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:100
+assert_return(
+ () => invoke($0, `i32x4.add`, [
+ i32x4([0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000]),
+ i32x4([0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000]),
+ ]),
+ [i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:103
+assert_return(
+ () => invoke($0, `i32x4.add`, [
+ i32x4([0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000]),
+ i32x4([0xbfffffff, 0xbfffffff, 0xbfffffff, 0xbfffffff]),
+ ]),
+ [i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:106
+assert_return(
+ () => invoke($0, `i32x4.add`, [
+ i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff]),
+ i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff]),
+ ]),
+ [i32x4([0xfffffffe, 0xfffffffe, 0xfffffffe, 0xfffffffe])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:109
+assert_return(
+ () => invoke($0, `i32x4.add`, [
+ i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:112
+assert_return(
+ () => invoke($0, `i32x4.add`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:115
+assert_return(
+ () => invoke($0, `i32x4.add`, [
+ i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff]),
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:118
+assert_return(
+ () => invoke($0, `i32x4.add`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:121
+assert_return(
+ () => invoke($0, `i32x4.add`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:124
+assert_return(
+ () => invoke($0, `i32x4.add`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0xfffffffe, 0xfffffffe, 0xfffffffe, 0xfffffffe])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:127
+assert_return(
+ () => invoke($0, `i32x4.add`, [
+ i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff]),
+ i8x16([0x0, 0x0, 0x0, 0x80, 0x0, 0x0, 0x0, 0x80, 0x0, 0x0, 0x0, 0x80, 0x0, 0x0, 0x0, 0x80]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:130
+assert_return(
+ () => invoke($0, `i32x4.add`, [
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:133
+assert_return(
+ () => invoke($0, `i32x4.add`, [
+ i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff]),
+ i16x8([0x0, 0x8000, 0x0, 0x8000, 0x0, 0x8000, 0x0, 0x8000]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:136
+assert_return(
+ () => invoke($0, `i32x4.add`, [
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:139
+assert_return(
+ () => invoke($0, `i32x4.add`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:142
+assert_return(
+ () => invoke($0, `i32x4.add`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:145
+assert_return(
+ () => invoke($0, `i32x4.add`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:148
+assert_return(
+ () => invoke($0, `i32x4.add`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:151
+assert_return(
+ () => invoke($0, `i32x4.add`, [
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x7f800001, 0x7f800001, 0x7f800001, 0x7f800001])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:154
+assert_return(
+ () => invoke($0, `i32x4.add`, [
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0xff800001, 0xff800001, 0xff800001, 0xff800001])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:157
+assert_return(
+ () => invoke($0, `i32x4.add`, [
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x7fc00001, 0x7fc00001, 0x7fc00001, 0x7fc00001])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:160
+assert_return(
+ () => invoke($0, `i32x4.add`, [
+ i32x4([0x0, 0x1, 0x2, 0x3]),
+ i32x4([0x0, 0xffffffff, 0xfffffffe, 0xfffffffd]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:163
+assert_return(
+ () => invoke($0, `i32x4.add`, [
+ i32x4([0x0, 0x1, 0x2, 0x3]),
+ i32x4([0x0, 0x2, 0x4, 0x6]),
+ ]),
+ [i32x4([0x0, 0x3, 0x6, 0x9])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:166
+assert_return(
+ () => invoke($0, `i32x4.add`, [
+ i32x4([0x499602d2, 0x499602d2, 0x499602d2, 0x499602d2]),
+ i32x4([0x499602d2, 0x499602d2, 0x499602d2, 0x499602d2]),
+ ]),
+ [i32x4([0x932c05a4, 0x932c05a4, 0x932c05a4, 0x932c05a4])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:169
+assert_return(
+ () => invoke($0, `i32x4.add`, [
+ i32x4([0x12345678, 0x12345678, 0x12345678, 0x12345678]),
+ i32x4([0x90abcdef, 0x90abcdef, 0x90abcdef, 0x90abcdef]),
+ ]),
+ [i32x4([0xa2e02467, 0xa2e02467, 0xa2e02467, 0xa2e02467])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:174
+assert_return(
+ () => invoke($0, `i32x4.sub`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:177
+assert_return(
+ () => invoke($0, `i32x4.sub`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:180
+assert_return(
+ () => invoke($0, `i32x4.sub`, [
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:183
+assert_return(
+ () => invoke($0, `i32x4.sub`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:186
+assert_return(
+ () => invoke($0, `i32x4.sub`, [
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x2, 0x2, 0x2, 0x2])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:189
+assert_return(
+ () => invoke($0, `i32x4.sub`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:192
+assert_return(
+ () => invoke($0, `i32x4.sub`, [
+ i32x4([0x3fffffff, 0x3fffffff, 0x3fffffff, 0x3fffffff]),
+ i32x4([0x40000000, 0x40000000, 0x40000000, 0x40000000]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:195
+assert_return(
+ () => invoke($0, `i32x4.sub`, [
+ i32x4([0x40000000, 0x40000000, 0x40000000, 0x40000000]),
+ i32x4([0x40000000, 0x40000000, 0x40000000, 0x40000000]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:198
+assert_return(
+ () => invoke($0, `i32x4.sub`, [
+ i32x4([0xc0000001, 0xc0000001, 0xc0000001, 0xc0000001]),
+ i32x4([0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000]),
+ ]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:201
+assert_return(
+ () => invoke($0, `i32x4.sub`, [
+ i32x4([0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000]),
+ i32x4([0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:204
+assert_return(
+ () => invoke($0, `i32x4.sub`, [
+ i32x4([0xbfffffff, 0xbfffffff, 0xbfffffff, 0xbfffffff]),
+ i32x4([0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:207
+assert_return(
+ () => invoke($0, `i32x4.sub`, [
+ i32x4([0x7ffffffd, 0x7ffffffd, 0x7ffffffd, 0x7ffffffd]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0x7ffffffc, 0x7ffffffc, 0x7ffffffc, 0x7ffffffc])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:210
+assert_return(
+ () => invoke($0, `i32x4.sub`, [
+ i32x4([0x7ffffffe, 0x7ffffffe, 0x7ffffffe, 0x7ffffffe]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0x7ffffffd, 0x7ffffffd, 0x7ffffffd, 0x7ffffffd])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:213
+assert_return(
+ () => invoke($0, `i32x4.sub`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:216
+assert_return(
+ () => invoke($0, `i32x4.sub`, [
+ i32x4([0x80000002, 0x80000002, 0x80000002, 0x80000002]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x80000003, 0x80000003, 0x80000003, 0x80000003])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:219
+assert_return(
+ () => invoke($0, `i32x4.sub`, [
+ i32x4([0x80000001, 0x80000001, 0x80000001, 0x80000001]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x80000002, 0x80000002, 0x80000002, 0x80000002])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:222
+assert_return(
+ () => invoke($0, `i32x4.sub`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x80000001, 0x80000001, 0x80000001, 0x80000001])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:225
+assert_return(
+ () => invoke($0, `i32x4.sub`, [
+ i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff]),
+ i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:228
+assert_return(
+ () => invoke($0, `i32x4.sub`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:231
+assert_return(
+ () => invoke($0, `i32x4.sub`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ i32x4([0x80000001, 0x80000001, 0x80000001, 0x80000001]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:234
+assert_return(
+ () => invoke($0, `i32x4.sub`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:237
+assert_return(
+ () => invoke($0, `i32x4.sub`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0xfffffffe, 0xfffffffe, 0xfffffffe, 0xfffffffe])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:240
+assert_return(
+ () => invoke($0, `i32x4.sub`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:243
+assert_return(
+ () => invoke($0, `i32x4.sub`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff]),
+ ]),
+ [i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:246
+assert_return(
+ () => invoke($0, `i32x4.sub`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ ]),
+ [i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:249
+assert_return(
+ () => invoke($0, `i32x4.sub`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:252
+assert_return(
+ () => invoke($0, `i32x4.sub`, [
+ i32x4([0x3fffffff, 0x3fffffff, 0x3fffffff, 0x3fffffff]),
+ i32x4([0x40000000, 0x40000000, 0x40000000, 0x40000000]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:255
+assert_return(
+ () => invoke($0, `i32x4.sub`, [
+ i32x4([0x40000000, 0x40000000, 0x40000000, 0x40000000]),
+ i32x4([0x40000000, 0x40000000, 0x40000000, 0x40000000]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:258
+assert_return(
+ () => invoke($0, `i32x4.sub`, [
+ i32x4([0xc0000001, 0xc0000001, 0xc0000001, 0xc0000001]),
+ i32x4([0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000]),
+ ]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:261
+assert_return(
+ () => invoke($0, `i32x4.sub`, [
+ i32x4([0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000]),
+ i32x4([0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:264
+assert_return(
+ () => invoke($0, `i32x4.sub`, [
+ i32x4([0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000]),
+ i32x4([0xbfffffff, 0xbfffffff, 0xbfffffff, 0xbfffffff]),
+ ]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:267
+assert_return(
+ () => invoke($0, `i32x4.sub`, [
+ i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff]),
+ i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:270
+assert_return(
+ () => invoke($0, `i32x4.sub`, [
+ i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0x7ffffffe, 0x7ffffffe, 0x7ffffffe, 0x7ffffffe])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:273
+assert_return(
+ () => invoke($0, `i32x4.sub`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x80000001, 0x80000001, 0x80000001, 0x80000001])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:276
+assert_return(
+ () => invoke($0, `i32x4.sub`, [
+ i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff]),
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:279
+assert_return(
+ () => invoke($0, `i32x4.sub`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:282
+assert_return(
+ () => invoke($0, `i32x4.sub`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0xfffffffe, 0xfffffffe, 0xfffffffe, 0xfffffffe])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:285
+assert_return(
+ () => invoke($0, `i32x4.sub`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:288
+assert_return(
+ () => invoke($0, `i32x4.sub`, [
+ i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff]),
+ i8x16([0x0, 0x0, 0x0, 0x80, 0x0, 0x0, 0x0, 0x80, 0x0, 0x0, 0x0, 0x80, 0x0, 0x0, 0x0, 0x80]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:291
+assert_return(
+ () => invoke($0, `i32x4.sub`, [
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i32x4([0x2, 0x2, 0x2, 0x2])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:294
+assert_return(
+ () => invoke($0, `i32x4.sub`, [
+ i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff]),
+ i16x8([0x0, 0x8000, 0x0, 0x8000, 0x0, 0x8000, 0x0, 0x8000]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:297
+assert_return(
+ () => invoke($0, `i32x4.sub`, [
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0x2, 0x2, 0x2, 0x2])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:300
+assert_return(
+ () => invoke($0, `i32x4.sub`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:303
+assert_return(
+ () => invoke($0, `i32x4.sub`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:306
+assert_return(
+ () => invoke($0, `i32x4.sub`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0x40800000, 0x40800000, 0x40800000, 0x40800000])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:309
+assert_return(
+ () => invoke($0, `i32x4.sub`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0xc0800000, 0xc0800000, 0xc0800000, 0xc0800000])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:312
+assert_return(
+ () => invoke($0, `i32x4.sub`, [
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x80800001, 0x80800001, 0x80800001, 0x80800001])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:315
+assert_return(
+ () => invoke($0, `i32x4.sub`, [
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x800001, 0x800001, 0x800001, 0x800001])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:318
+assert_return(
+ () => invoke($0, `i32x4.sub`, [
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x80400001, 0x80400001, 0x80400001, 0x80400001])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:321
+assert_return(
+ () => invoke($0, `i32x4.sub`, [
+ i32x4([0x0, 0x1, 0x2, 0x3]),
+ i32x4([0x0, 0xffffffff, 0xfffffffe, 0xfffffffd]),
+ ]),
+ [i32x4([0x0, 0x2, 0x4, 0x6])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:324
+assert_return(
+ () => invoke($0, `i32x4.sub`, [
+ i32x4([0x0, 0x1, 0x2, 0x3]),
+ i32x4([0x0, 0x2, 0x4, 0x6]),
+ ]),
+ [i32x4([0x0, 0xffffffff, 0xfffffffe, 0xfffffffd])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:327
+assert_return(
+ () => invoke($0, `i32x4.sub`, [
+ i32x4([0xbf9a69d2, 0xbf9a69d2, 0xbf9a69d2, 0xbf9a69d2]),
+ i32x4([0x499602d2, 0x499602d2, 0x499602d2, 0x499602d2]),
+ ]),
+ [i32x4([0x76046700, 0x76046700, 0x76046700, 0x76046700])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:330
+assert_return(
+ () => invoke($0, `i32x4.sub`, [
+ i32x4([0x90abcdef, 0x90abcdef, 0x90abcdef, 0x90abcdef]),
+ i32x4([0x12345678, 0x12345678, 0x12345678, 0x12345678]),
+ ]),
+ [i32x4([0x7e777777, 0x7e777777, 0x7e777777, 0x7e777777])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:335
+assert_return(
+ () => invoke($0, `i32x4.mul`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:338
+assert_return(
+ () => invoke($0, `i32x4.mul`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:341
+assert_return(
+ () => invoke($0, `i32x4.mul`, [
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:344
+assert_return(
+ () => invoke($0, `i32x4.mul`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:347
+assert_return(
+ () => invoke($0, `i32x4.mul`, [
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:350
+assert_return(
+ () => invoke($0, `i32x4.mul`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:353
+assert_return(
+ () => invoke($0, `i32x4.mul`, [
+ i32x4([0x3fffffff, 0x3fffffff, 0x3fffffff, 0x3fffffff]),
+ i32x4([0x40000000, 0x40000000, 0x40000000, 0x40000000]),
+ ]),
+ [i32x4([0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:356
+assert_return(
+ () => invoke($0, `i32x4.mul`, [
+ i32x4([0x40000000, 0x40000000, 0x40000000, 0x40000000]),
+ i32x4([0x40000000, 0x40000000, 0x40000000, 0x40000000]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:359
+assert_return(
+ () => invoke($0, `i32x4.mul`, [
+ i32x4([0xc0000001, 0xc0000001, 0xc0000001, 0xc0000001]),
+ i32x4([0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000]),
+ ]),
+ [i32x4([0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:362
+assert_return(
+ () => invoke($0, `i32x4.mul`, [
+ i32x4([0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000]),
+ i32x4([0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:365
+assert_return(
+ () => invoke($0, `i32x4.mul`, [
+ i32x4([0xbfffffff, 0xbfffffff, 0xbfffffff, 0xbfffffff]),
+ i32x4([0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000]),
+ ]),
+ [i32x4([0x40000000, 0x40000000, 0x40000000, 0x40000000])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:368
+assert_return(
+ () => invoke($0, `i32x4.mul`, [
+ i32x4([0x7ffffffd, 0x7ffffffd, 0x7ffffffd, 0x7ffffffd]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0x7ffffffd, 0x7ffffffd, 0x7ffffffd, 0x7ffffffd])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:371
+assert_return(
+ () => invoke($0, `i32x4.mul`, [
+ i32x4([0x7ffffffe, 0x7ffffffe, 0x7ffffffe, 0x7ffffffe]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0x7ffffffe, 0x7ffffffe, 0x7ffffffe, 0x7ffffffe])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:374
+assert_return(
+ () => invoke($0, `i32x4.mul`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:377
+assert_return(
+ () => invoke($0, `i32x4.mul`, [
+ i32x4([0x80000002, 0x80000002, 0x80000002, 0x80000002]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x7ffffffe, 0x7ffffffe, 0x7ffffffe, 0x7ffffffe])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:380
+assert_return(
+ () => invoke($0, `i32x4.mul`, [
+ i32x4([0x80000001, 0x80000001, 0x80000001, 0x80000001]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:383
+assert_return(
+ () => invoke($0, `i32x4.mul`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:386
+assert_return(
+ () => invoke($0, `i32x4.mul`, [
+ i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff]),
+ i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff]),
+ ]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:389
+assert_return(
+ () => invoke($0, `i32x4.mul`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:392
+assert_return(
+ () => invoke($0, `i32x4.mul`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ i32x4([0x80000001, 0x80000001, 0x80000001, 0x80000001]),
+ ]),
+ [i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:395
+assert_return(
+ () => invoke($0, `i32x4.mul`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:398
+assert_return(
+ () => invoke($0, `i32x4.mul`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:401
+assert_return(
+ () => invoke($0, `i32x4.mul`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:404
+assert_return(
+ () => invoke($0, `i32x4.mul`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff]),
+ ]),
+ [i32x4([0x80000001, 0x80000001, 0x80000001, 0x80000001])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:407
+assert_return(
+ () => invoke($0, `i32x4.mul`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ ]),
+ [i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:410
+assert_return(
+ () => invoke($0, `i32x4.mul`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:413
+assert_return(
+ () => invoke($0, `i32x4.mul`, [
+ i32x4([0x3fffffff, 0x3fffffff, 0x3fffffff, 0x3fffffff]),
+ i32x4([0x40000000, 0x40000000, 0x40000000, 0x40000000]),
+ ]),
+ [i32x4([0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:416
+assert_return(
+ () => invoke($0, `i32x4.mul`, [
+ i32x4([0x40000000, 0x40000000, 0x40000000, 0x40000000]),
+ i32x4([0x40000000, 0x40000000, 0x40000000, 0x40000000]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:419
+assert_return(
+ () => invoke($0, `i32x4.mul`, [
+ i32x4([0xc0000001, 0xc0000001, 0xc0000001, 0xc0000001]),
+ i32x4([0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000]),
+ ]),
+ [i32x4([0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:422
+assert_return(
+ () => invoke($0, `i32x4.mul`, [
+ i32x4([0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000]),
+ i32x4([0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:425
+assert_return(
+ () => invoke($0, `i32x4.mul`, [
+ i32x4([0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000]),
+ i32x4([0xbfffffff, 0xbfffffff, 0xbfffffff, 0xbfffffff]),
+ ]),
+ [i32x4([0x40000000, 0x40000000, 0x40000000, 0x40000000])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:428
+assert_return(
+ () => invoke($0, `i32x4.mul`, [
+ i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff]),
+ i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff]),
+ ]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:431
+assert_return(
+ () => invoke($0, `i32x4.mul`, [
+ i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:434
+assert_return(
+ () => invoke($0, `i32x4.mul`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:437
+assert_return(
+ () => invoke($0, `i32x4.mul`, [
+ i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff]),
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ ]),
+ [i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:440
+assert_return(
+ () => invoke($0, `i32x4.mul`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:443
+assert_return(
+ () => invoke($0, `i32x4.mul`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:446
+assert_return(
+ () => invoke($0, `i32x4.mul`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:449
+assert_return(
+ () => invoke($0, `i32x4.mul`, [
+ i32x4([0x10000000, 0x10000000, 0x10000000, 0x10000000]),
+ i8x16([0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:452
+assert_return(
+ () => invoke($0, `i32x4.mul`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:455
+assert_return(
+ () => invoke($0, `i32x4.mul`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ i16x8([0x0, 0x2, 0x0, 0x2, 0x0, 0x2, 0x0, 0x2]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:458
+assert_return(
+ () => invoke($0, `i32x4.mul`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:461
+assert_return(
+ () => invoke($0, `i32x4.mul`, [
+ i32x4([0x8000, 0x8000, 0x8000, 0x8000]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:464
+assert_return(
+ () => invoke($0, `i32x4.mul`, [
+ i32x4([0x8000, 0x8000, 0x8000, 0x8000]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:467
+assert_return(
+ () => invoke($0, `i32x4.mul`, [
+ i32x4([0x8000, 0x8000, 0x8000, 0x8000]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:470
+assert_return(
+ () => invoke($0, `i32x4.mul`, [
+ i32x4([0x8000, 0x8000, 0x8000, 0x8000]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:473
+assert_return(
+ () => invoke($0, `i32x4.mul`, [
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:476
+assert_return(
+ () => invoke($0, `i32x4.mul`, [
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0xff800000, 0xff800000, 0xff800000, 0xff800000])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:479
+assert_return(
+ () => invoke($0, `i32x4.mul`, [
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x7fc00000, 0x7fc00000, 0x7fc00000, 0x7fc00000])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:482
+assert_return(
+ () => invoke($0, `i32x4.mul`, [
+ i32x4([0x0, 0x1, 0x2, 0x3]),
+ i32x4([0x0, 0xffffffff, 0xfffffffe, 0xfffffffd]),
+ ]),
+ [i32x4([0x0, 0xffffffff, 0xfffffffc, 0xfffffff7])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:485
+assert_return(
+ () => invoke($0, `i32x4.mul`, [
+ i32x4([0x0, 0x1, 0x2, 0x3]),
+ i32x4([0x0, 0x2, 0x4, 0x6]),
+ ]),
+ [i32x4([0x0, 0x2, 0x8, 0x12])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:488
+assert_return(
+ () => invoke($0, `i32x4.mul`, [
+ i32x4([0x75bcd15, 0x75bcd15, 0x75bcd15, 0x75bcd15]),
+ i32x4([0x3ade68b1, 0x3ade68b1, 0x3ade68b1, 0x3ade68b1]),
+ ]),
+ [i32x4([0xfbff5385, 0xfbff5385, 0xfbff5385, 0xfbff5385])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:491
+assert_return(
+ () => invoke($0, `i32x4.mul`, [
+ i32x4([0x12345678, 0x12345678, 0x12345678, 0x12345678]),
+ i32x4([0x90abcdef, 0x90abcdef, 0x90abcdef, 0x90abcdef]),
+ ]),
+ [i32x4([0x2a42d208, 0x2a42d208, 0x2a42d208, 0x2a42d208])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:496
+assert_return(
+ () => invoke($0, `i32x4.neg`, [i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:498
+assert_return(
+ () => invoke($0, `i32x4.neg`, [i32x4([0x1, 0x1, 0x1, 0x1])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:500
+assert_return(
+ () => invoke($0, `i32x4.neg`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:502
+assert_return(
+ () => invoke($0, `i32x4.neg`, [
+ i32x4([0x7ffffffe, 0x7ffffffe, 0x7ffffffe, 0x7ffffffe]),
+ ]),
+ [i32x4([0x80000002, 0x80000002, 0x80000002, 0x80000002])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:504
+assert_return(
+ () => invoke($0, `i32x4.neg`, [
+ i32x4([0x80000001, 0x80000001, 0x80000001, 0x80000001]),
+ ]),
+ [i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:506
+assert_return(
+ () => invoke($0, `i32x4.neg`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ ]),
+ [i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:508
+assert_return(
+ () => invoke($0, `i32x4.neg`, [
+ i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff]),
+ ]),
+ [i32x4([0x80000001, 0x80000001, 0x80000001, 0x80000001])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:510
+assert_return(
+ () => invoke($0, `i32x4.neg`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:512
+assert_return(
+ () => invoke($0, `i32x4.neg`, [i32x4([0x1, 0x1, 0x1, 0x1])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:514
+assert_return(
+ () => invoke($0, `i32x4.neg`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:516
+assert_return(
+ () => invoke($0, `i32x4.neg`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ ]),
+ [i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:518
+assert_return(
+ () => invoke($0, `i32x4.neg`, [
+ i32x4([0x80000001, 0x80000001, 0x80000001, 0x80000001]),
+ ]),
+ [i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:520
+assert_return(
+ () => invoke($0, `i32x4.neg`, [
+ i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff]),
+ ]),
+ [i32x4([0x80000001, 0x80000001, 0x80000001, 0x80000001])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:522
+assert_return(
+ () => invoke($0, `i32x4.neg`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ ]),
+ [i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:524
+assert_return(
+ () => invoke($0, `i32x4.neg`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:528
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i32x4.neg (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:529
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i32x4.add (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:530
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i32x4.sub (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:531
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i32x4.mul (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:535
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.neg-arg-empty (result v128)
+ (i32x4.neg)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:543
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.add-1st-arg-empty (result v128)
+ (i32x4.add (v128.const i32x4 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:551
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.add-arg-empty (result v128)
+ (i32x4.add)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:559
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.sub-1st-arg-empty (result v128)
+ (i32x4.sub (v128.const i32x4 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:567
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.sub-arg-empty (result v128)
+ (i32x4.sub)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:575
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.mul-1st-arg-empty (result v128)
+ (i32x4.mul (v128.const i32x4 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:583
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.mul-arg-empty (result v128)
+ (i32x4.mul)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:593
+let $1 = instantiate(`(module
+ (func (export "add-sub") (param v128 v128 v128) (result v128)
+ (i32x4.add (i32x4.sub (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "mul-add") (param v128 v128 v128) (result v128)
+ (i32x4.mul (i32x4.add (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "mul-sub") (param v128 v128 v128) (result v128)
+ (i32x4.mul (i32x4.sub (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "sub-add") (param v128 v128 v128) (result v128)
+ (i32x4.sub (i32x4.add (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "add-neg") (param v128 v128) (result v128)
+ (i32x4.add (i32x4.neg (local.get 0)) (local.get 1)))
+ (func (export "mul-neg") (param v128 v128) (result v128)
+ (i32x4.mul (i32x4.neg (local.get 0)) (local.get 1)))
+ (func (export "sub-neg") (param v128 v128) (result v128)
+ (i32x4.sub (i32x4.neg (local.get 0)) (local.get 1)))
+)`);
+
+// ./test/core/simd/simd_i32x4_arith.wast:610
+assert_return(
+ () => invoke($1, `add-sub`, [
+ i32x4([0x0, 0x1, 0x2, 0x3]),
+ i32x4([0x0, 0x2, 0x4, 0x6]),
+ i32x4([0x0, 0x2, 0x4, 0x6]),
+ ]),
+ [i32x4([0x0, 0x1, 0x2, 0x3])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:614
+assert_return(
+ () => invoke($1, `mul-add`, [
+ i32x4([0x0, 0x1, 0x2, 0x3]),
+ i32x4([0x0, 0x1, 0x2, 0x3]),
+ i32x4([0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [i32x4([0x0, 0x4, 0x8, 0xc])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:618
+assert_return(
+ () => invoke($1, `mul-sub`, [
+ i32x4([0x0, 0x2, 0x4, 0x6]),
+ i32x4([0x0, 0x1, 0x2, 0x3]),
+ i32x4([0x0, 0x1, 0x2, 0x3]),
+ ]),
+ [i32x4([0x0, 0x1, 0x4, 0x9])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:622
+assert_return(
+ () => invoke($1, `sub-add`, [
+ i32x4([0x0, 0x1, 0x2, 0x3]),
+ i32x4([0x0, 0x2, 0x4, 0x6]),
+ i32x4([0x0, 0x2, 0x4, 0x6]),
+ ]),
+ [i32x4([0x0, 0x1, 0x2, 0x3])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:626
+assert_return(
+ () => invoke($1, `add-neg`, [
+ i32x4([0x0, 0x1, 0x2, 0x3]),
+ i32x4([0x0, 0x1, 0x2, 0x3]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:629
+assert_return(
+ () => invoke($1, `mul-neg`, [
+ i32x4([0x0, 0x1, 0x2, 0x3]),
+ i32x4([0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [i32x4([0x0, 0xfffffffe, 0xfffffffc, 0xfffffffa])],
+);
+
+// ./test/core/simd/simd_i32x4_arith.wast:632
+assert_return(
+ () => invoke($1, `sub-neg`, [
+ i32x4([0x0, 0x1, 0x2, 0x3]),
+ i32x4([0x0, 0x1, 0x2, 0x3]),
+ ]),
+ [i32x4([0x0, 0xfffffffe, 0xfffffffc, 0xfffffffa])],
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/simd_i32x4_arith2.wast.js b/js/src/jit-test/tests/wasm/spec/spec/simd_i32x4_arith2.wast.js
new file mode 100644
index 0000000000..42d50dfefd
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/simd_i32x4_arith2.wast.js
@@ -0,0 +1,1279 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_i32x4_arith2.wast
+
+// ./test/core/simd/simd_i32x4_arith2.wast:3
+let $0 = instantiate(`(module
+ (func (export "i32x4.min_s") (param v128 v128) (result v128) (i32x4.min_s (local.get 0) (local.get 1)))
+ (func (export "i32x4.min_u") (param v128 v128) (result v128) (i32x4.min_u (local.get 0) (local.get 1)))
+ (func (export "i32x4.max_s") (param v128 v128) (result v128) (i32x4.max_s (local.get 0) (local.get 1)))
+ (func (export "i32x4.max_u") (param v128 v128) (result v128) (i32x4.max_u (local.get 0) (local.get 1)))
+ (func (export "i32x4.abs") (param v128) (result v128) (i32x4.abs (local.get 0)))
+ (func (export "i32x4.min_s_with_const_0") (result v128) (i32x4.min_s (v128.const i32x4 -2147483648 2147483647 1073741824 4294967295) (v128.const i32x4 4294967295 1073741824 2147483647 -2147483648)))
+ (func (export "i32x4.min_s_with_const_1") (result v128) (i32x4.min_s (v128.const i32x4 0 1 2 3) (v128.const i32x4 3 2 1 0)))
+ (func (export "i32x4.min_u_with_const_2") (result v128) (i32x4.min_u (v128.const i32x4 -2147483648 2147483647 1073741824 4294967295) (v128.const i32x4 4294967295 1073741824 2147483647 -2147483648)))
+ (func (export "i32x4.min_u_with_const_3") (result v128) (i32x4.min_u (v128.const i32x4 0 1 2 3) (v128.const i32x4 3 2 1 0)))
+ (func (export "i32x4.max_s_with_const_4") (result v128) (i32x4.max_s (v128.const i32x4 -2147483648 2147483647 1073741824 4294967295) (v128.const i32x4 4294967295 1073741824 2147483647 -2147483648)))
+ (func (export "i32x4.max_s_with_const_5") (result v128) (i32x4.max_s (v128.const i32x4 0 1 2 3) (v128.const i32x4 3 2 1 0)))
+ (func (export "i32x4.max_u_with_const_6") (result v128) (i32x4.max_u (v128.const i32x4 -2147483648 2147483647 1073741824 4294967295) (v128.const i32x4 4294967295 1073741824 2147483647 -2147483648)))
+ (func (export "i32x4.max_u_with_const_7") (result v128) (i32x4.max_u (v128.const i32x4 0 1 2 3) (v128.const i32x4 3 2 1 0)))
+ (func (export "i32x4.abs_with_const_8") (result v128) (i32x4.abs (v128.const i32x4 -2147483648 2147483647 1073741824 4294967295)))
+ (func (export "i32x4.min_s_with_const_9") (param v128) (result v128) (i32x4.min_s (local.get 0) (v128.const i32x4 -2147483648 2147483647 1073741824 4294967295)))
+ (func (export "i32x4.min_s_with_const_10") (param v128) (result v128) (i32x4.min_s (local.get 0) (v128.const i32x4 0 1 2 3)))
+ (func (export "i32x4.min_u_with_const_11") (param v128) (result v128) (i32x4.min_u (local.get 0) (v128.const i32x4 -2147483648 2147483647 1073741824 4294967295)))
+ (func (export "i32x4.min_u_with_const_12") (param v128) (result v128) (i32x4.min_u (local.get 0) (v128.const i32x4 0 1 2 3)))
+ (func (export "i32x4.max_s_with_const_13") (param v128) (result v128) (i32x4.max_s (local.get 0) (v128.const i32x4 -2147483648 2147483647 1073741824 4294967295)))
+ (func (export "i32x4.max_s_with_const_14") (param v128) (result v128) (i32x4.max_s (local.get 0) (v128.const i32x4 0 1 2 3)))
+ (func (export "i32x4.max_u_with_const_15") (param v128) (result v128) (i32x4.max_u (local.get 0) (v128.const i32x4 -2147483648 2147483647 1073741824 4294967295)))
+ (func (export "i32x4.max_u_with_const_16") (param v128) (result v128) (i32x4.max_u (local.get 0) (v128.const i32x4 0 1 2 3)))
+)`);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:28
+assert_return(
+ () => invoke($0, `i32x4.min_s`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:31
+assert_return(
+ () => invoke($0, `i32x4.min_s`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:34
+assert_return(
+ () => invoke($0, `i32x4.min_s`, [
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ i32x4([0x0, 0xffffffff, 0x0, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:37
+assert_return(
+ () => invoke($0, `i32x4.min_s`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:40
+assert_return(
+ () => invoke($0, `i32x4.min_s`, [
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:43
+assert_return(
+ () => invoke($0, `i32x4.min_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:46
+assert_return(
+ () => invoke($0, `i32x4.min_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:49
+assert_return(
+ () => invoke($0, `i32x4.min_s`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ ]),
+ [i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:52
+assert_return(
+ () => invoke($0, `i32x4.min_s`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ ]),
+ [i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:55
+assert_return(
+ () => invoke($0, `i32x4.min_s`, [
+ i32x4([0x7b, 0x7b, 0x7b, 0x7b]),
+ i32x4([0x7b, 0x7b, 0x7b, 0x7b]),
+ ]),
+ [i32x4([0x7b, 0x7b, 0x7b, 0x7b])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:58
+assert_return(
+ () => invoke($0, `i32x4.min_s`, [
+ i32x4([0x80, 0x80, 0x80, 0x80]),
+ i32x4([0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [i32x4([0x80, 0x80, 0x80, 0x80])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:61
+assert_return(
+ () => invoke($0, `i32x4.min_u`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:64
+assert_return(
+ () => invoke($0, `i32x4.min_u`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:67
+assert_return(
+ () => invoke($0, `i32x4.min_u`, [
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ i32x4([0x0, 0xffffffff, 0x0, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:70
+assert_return(
+ () => invoke($0, `i32x4.min_u`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:73
+assert_return(
+ () => invoke($0, `i32x4.min_u`, [
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:76
+assert_return(
+ () => invoke($0, `i32x4.min_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:79
+assert_return(
+ () => invoke($0, `i32x4.min_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [i32x4([0x80, 0x80, 0x80, 0x80])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:82
+assert_return(
+ () => invoke($0, `i32x4.min_u`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ ]),
+ [i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:85
+assert_return(
+ () => invoke($0, `i32x4.min_u`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ ]),
+ [i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:88
+assert_return(
+ () => invoke($0, `i32x4.min_u`, [
+ i32x4([0x7b, 0x7b, 0x7b, 0x7b]),
+ i32x4([0x7b, 0x7b, 0x7b, 0x7b]),
+ ]),
+ [i32x4([0x7b, 0x7b, 0x7b, 0x7b])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:91
+assert_return(
+ () => invoke($0, `i32x4.min_u`, [
+ i32x4([0x80, 0x80, 0x80, 0x80]),
+ i32x4([0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [i32x4([0x80, 0x80, 0x80, 0x80])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:94
+assert_return(
+ () => invoke($0, `i32x4.max_s`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:97
+assert_return(
+ () => invoke($0, `i32x4.max_s`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:100
+assert_return(
+ () => invoke($0, `i32x4.max_s`, [
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ i32x4([0x0, 0xffffffff, 0x0, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:103
+assert_return(
+ () => invoke($0, `i32x4.max_s`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:106
+assert_return(
+ () => invoke($0, `i32x4.max_s`, [
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:109
+assert_return(
+ () => invoke($0, `i32x4.max_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:112
+assert_return(
+ () => invoke($0, `i32x4.max_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [i32x4([0x80, 0x80, 0x80, 0x80])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:115
+assert_return(
+ () => invoke($0, `i32x4.max_s`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ ]),
+ [i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:118
+assert_return(
+ () => invoke($0, `i32x4.max_s`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ ]),
+ [i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:121
+assert_return(
+ () => invoke($0, `i32x4.max_s`, [
+ i32x4([0x7b, 0x7b, 0x7b, 0x7b]),
+ i32x4([0x7b, 0x7b, 0x7b, 0x7b]),
+ ]),
+ [i32x4([0x7b, 0x7b, 0x7b, 0x7b])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:124
+assert_return(
+ () => invoke($0, `i32x4.max_s`, [
+ i32x4([0x80, 0x80, 0x80, 0x80]),
+ i32x4([0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [i32x4([0x80, 0x80, 0x80, 0x80])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:127
+assert_return(
+ () => invoke($0, `i32x4.max_u`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:130
+assert_return(
+ () => invoke($0, `i32x4.max_u`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:133
+assert_return(
+ () => invoke($0, `i32x4.max_u`, [
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ i32x4([0x0, 0xffffffff, 0x0, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:136
+assert_return(
+ () => invoke($0, `i32x4.max_u`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:139
+assert_return(
+ () => invoke($0, `i32x4.max_u`, [
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:142
+assert_return(
+ () => invoke($0, `i32x4.max_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:145
+assert_return(
+ () => invoke($0, `i32x4.max_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:148
+assert_return(
+ () => invoke($0, `i32x4.max_u`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ ]),
+ [i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:151
+assert_return(
+ () => invoke($0, `i32x4.max_u`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ ]),
+ [i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:154
+assert_return(
+ () => invoke($0, `i32x4.max_u`, [
+ i32x4([0x7b, 0x7b, 0x7b, 0x7b]),
+ i32x4([0x7b, 0x7b, 0x7b, 0x7b]),
+ ]),
+ [i32x4([0x7b, 0x7b, 0x7b, 0x7b])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:157
+assert_return(
+ () => invoke($0, `i32x4.max_u`, [
+ i32x4([0x80, 0x80, 0x80, 0x80]),
+ i32x4([0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [i32x4([0x80, 0x80, 0x80, 0x80])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:160
+assert_return(
+ () => invoke($0, `i32x4.abs`, [i32x4([0x1, 0x1, 0x1, 0x1])]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:162
+assert_return(
+ () => invoke($0, `i32x4.abs`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:164
+assert_return(
+ () => invoke($0, `i32x4.abs`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:166
+assert_return(
+ () => invoke($0, `i32x4.abs`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:168
+assert_return(
+ () => invoke($0, `i32x4.abs`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ ]),
+ [i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:170
+assert_return(
+ () => invoke($0, `i32x4.abs`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ ]),
+ [i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:172
+assert_return(
+ () => invoke($0, `i32x4.abs`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ ]),
+ [i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:174
+assert_return(
+ () => invoke($0, `i32x4.abs`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ ]),
+ [i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:176
+assert_return(
+ () => invoke($0, `i32x4.abs`, [i32x4([0x7b, 0x7b, 0x7b, 0x7b])]),
+ [i32x4([0x7b, 0x7b, 0x7b, 0x7b])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:178
+assert_return(
+ () => invoke($0, `i32x4.abs`, [
+ i32x4([0xffffff85, 0xffffff85, 0xffffff85, 0xffffff85]),
+ ]),
+ [i32x4([0x7b, 0x7b, 0x7b, 0x7b])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:180
+assert_return(
+ () => invoke($0, `i32x4.abs`, [i32x4([0x80, 0x80, 0x80, 0x80])]),
+ [i32x4([0x80, 0x80, 0x80, 0x80])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:182
+assert_return(
+ () => invoke($0, `i32x4.abs`, [
+ i32x4([0xffffff80, 0xffffff80, 0xffffff80, 0xffffff80]),
+ ]),
+ [i32x4([0x80, 0x80, 0x80, 0x80])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:184
+assert_return(
+ () => invoke($0, `i32x4.abs`, [i32x4([0x80, 0x80, 0x80, 0x80])]),
+ [i32x4([0x80, 0x80, 0x80, 0x80])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:186
+assert_return(
+ () => invoke($0, `i32x4.abs`, [
+ i32x4([0xffffff80, 0xffffff80, 0xffffff80, 0xffffff80]),
+ ]),
+ [i32x4([0x80, 0x80, 0x80, 0x80])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:190
+assert_return(
+ () => invoke($0, `i32x4.min_s_with_const_0`, []),
+ [i32x4([0x80000000, 0x40000000, 0x40000000, 0x80000000])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:191
+assert_return(() => invoke($0, `i32x4.min_s_with_const_1`, []), [i32x4([0x0, 0x1, 0x1, 0x0])]);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:192
+assert_return(
+ () => invoke($0, `i32x4.min_u_with_const_2`, []),
+ [i32x4([0x80000000, 0x40000000, 0x40000000, 0x80000000])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:193
+assert_return(() => invoke($0, `i32x4.min_u_with_const_3`, []), [i32x4([0x0, 0x1, 0x1, 0x0])]);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:194
+assert_return(
+ () => invoke($0, `i32x4.max_s_with_const_4`, []),
+ [i32x4([0xffffffff, 0x7fffffff, 0x7fffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:195
+assert_return(() => invoke($0, `i32x4.max_s_with_const_5`, []), [i32x4([0x3, 0x2, 0x2, 0x3])]);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:196
+assert_return(
+ () => invoke($0, `i32x4.max_u_with_const_6`, []),
+ [i32x4([0xffffffff, 0x7fffffff, 0x7fffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:197
+assert_return(() => invoke($0, `i32x4.max_u_with_const_7`, []), [i32x4([0x3, 0x2, 0x2, 0x3])]);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:198
+assert_return(
+ () => invoke($0, `i32x4.abs_with_const_8`, []),
+ [i32x4([0x80000000, 0x7fffffff, 0x40000000, 0x1])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:201
+assert_return(
+ () => invoke($0, `i32x4.min_s_with_const_9`, [
+ i32x4([0xffffffff, 0x40000000, 0x7fffffff, 0x80000000]),
+ ]),
+ [i32x4([0x80000000, 0x40000000, 0x40000000, 0x80000000])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:203
+assert_return(
+ () => invoke($0, `i32x4.min_s_with_const_10`, [i32x4([0x3, 0x2, 0x1, 0x0])]),
+ [i32x4([0x0, 0x1, 0x1, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:205
+assert_return(
+ () => invoke($0, `i32x4.min_u_with_const_11`, [
+ i32x4([0xffffffff, 0x40000000, 0x7fffffff, 0x80000000]),
+ ]),
+ [i32x4([0x80000000, 0x40000000, 0x40000000, 0x80000000])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:207
+assert_return(
+ () => invoke($0, `i32x4.min_u_with_const_12`, [i32x4([0x3, 0x2, 0x1, 0x0])]),
+ [i32x4([0x0, 0x1, 0x1, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:209
+assert_return(
+ () => invoke($0, `i32x4.max_s_with_const_13`, [
+ i32x4([0xffffffff, 0x40000000, 0x7fffffff, 0x80000000]),
+ ]),
+ [i32x4([0xffffffff, 0x7fffffff, 0x7fffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:211
+assert_return(
+ () => invoke($0, `i32x4.max_s_with_const_14`, [i32x4([0x3, 0x2, 0x1, 0x0])]),
+ [i32x4([0x3, 0x2, 0x2, 0x3])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:213
+assert_return(
+ () => invoke($0, `i32x4.max_u_with_const_15`, [
+ i32x4([0xffffffff, 0x40000000, 0x7fffffff, 0x80000000]),
+ ]),
+ [i32x4([0xffffffff, 0x7fffffff, 0x7fffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:215
+assert_return(
+ () => invoke($0, `i32x4.max_u_with_const_16`, [i32x4([0x3, 0x2, 0x1, 0x0])]),
+ [i32x4([0x3, 0x2, 0x2, 0x3])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:219
+assert_return(
+ () => invoke($0, `i32x4.min_s`, [
+ i32x4([0x80000000, 0x7fffffff, 0x40000000, 0xffffffff]),
+ i32x4([0xffffffff, 0x40000000, 0x7fffffff, 0x80000000]),
+ ]),
+ [i32x4([0x80000000, 0x40000000, 0x40000000, 0x80000000])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:222
+assert_return(
+ () => invoke($0, `i32x4.min_s`, [
+ i32x4([0x0, 0x1, 0x2, 0x80]),
+ i32x4([0x0, 0x2, 0x1, 0x80]),
+ ]),
+ [i32x4([0x0, 0x1, 0x1, 0x80])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:225
+assert_return(
+ () => invoke($0, `i32x4.min_u`, [
+ i32x4([0x80000000, 0x7fffffff, 0x40000000, 0xffffffff]),
+ i32x4([0xffffffff, 0x40000000, 0x7fffffff, 0x80000000]),
+ ]),
+ [i32x4([0x80000000, 0x40000000, 0x40000000, 0x80000000])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:228
+assert_return(
+ () => invoke($0, `i32x4.min_u`, [
+ i32x4([0x0, 0x1, 0x2, 0x80]),
+ i32x4([0x0, 0x2, 0x1, 0x80]),
+ ]),
+ [i32x4([0x0, 0x1, 0x1, 0x80])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:231
+assert_return(
+ () => invoke($0, `i32x4.max_s`, [
+ i32x4([0x80000000, 0x7fffffff, 0x40000000, 0xffffffff]),
+ i32x4([0xffffffff, 0x40000000, 0x7fffffff, 0x80000000]),
+ ]),
+ [i32x4([0xffffffff, 0x7fffffff, 0x7fffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:234
+assert_return(
+ () => invoke($0, `i32x4.max_s`, [
+ i32x4([0x0, 0x1, 0x2, 0x80]),
+ i32x4([0x0, 0x2, 0x1, 0x80]),
+ ]),
+ [i32x4([0x0, 0x2, 0x2, 0x80])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:237
+assert_return(
+ () => invoke($0, `i32x4.max_u`, [
+ i32x4([0x80000000, 0x7fffffff, 0x40000000, 0xffffffff]),
+ i32x4([0xffffffff, 0x40000000, 0x7fffffff, 0x80000000]),
+ ]),
+ [i32x4([0xffffffff, 0x7fffffff, 0x7fffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:240
+assert_return(
+ () => invoke($0, `i32x4.max_u`, [
+ i32x4([0x0, 0x1, 0x2, 0x80]),
+ i32x4([0x0, 0x2, 0x1, 0x80]),
+ ]),
+ [i32x4([0x0, 0x2, 0x2, 0x80])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:243
+assert_return(
+ () => invoke($0, `i32x4.abs`, [
+ i32x4([0x80000000, 0x7fffffff, 0x40000000, 0xffffffff]),
+ ]),
+ [i32x4([0x80000000, 0x7fffffff, 0x40000000, 0x1])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:247
+assert_return(
+ () => invoke($0, `i32x4.min_s`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:250
+assert_return(
+ () => invoke($0, `i32x4.min_s`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:253
+assert_return(
+ () => invoke($0, `i32x4.min_u`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:256
+assert_return(
+ () => invoke($0, `i32x4.min_u`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:259
+assert_return(
+ () => invoke($0, `i32x4.max_s`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:262
+assert_return(
+ () => invoke($0, `i32x4.max_s`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:265
+assert_return(
+ () => invoke($0, `i32x4.max_u`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:268
+assert_return(
+ () => invoke($0, `i32x4.max_u`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:271
+assert_return(
+ () => invoke($0, `i32x4.abs`, [i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:273
+assert_return(
+ () => invoke($0, `i32x4.abs`, [i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:275
+assert_return(
+ () => invoke($0, `i32x4.abs`, [i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:277
+assert_return(
+ () => invoke($0, `i32x4.abs`, [i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:281
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (f32x4.min_s (v128.const i32x4 0 0 0 0) (v128.const i32x4 1 1 1 1))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:282
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (f32x4.min_u (v128.const i32x4 0 0 0 0) (v128.const i32x4 1 1 1 1))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:283
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (f32x4.max_s (v128.const i32x4 0 0 0 0) (v128.const i32x4 1 1 1 1))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:284
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (f32x4.max_u (v128.const i32x4 0 0 0 0) (v128.const i32x4 1 1 1 1))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:285
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i64x2.min_s (v128.const i32x4 0 0 0 0) (v128.const i32x4 1 1 1 1))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:286
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i64x2.min_u (v128.const i32x4 0 0 0 0) (v128.const i32x4 1 1 1 1))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:287
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i64x2.max_s (v128.const i32x4 0 0 0 0) (v128.const i32x4 1 1 1 1))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:288
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (i64x2.max_u (v128.const i32x4 0 0 0 0) (v128.const i32x4 1 1 1 1))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:289
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (f64x2.min_s (v128.const i32x4 0 0 0 0) (v128.const i32x4 1 1 1 1))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:290
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (f64x2.min_u (v128.const i32x4 0 0 0 0) (v128.const i32x4 1 1 1 1))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:291
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (f64x2.max_s (v128.const i32x4 0 0 0 0) (v128.const i32x4 1 1 1 1))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:292
+assert_malformed(
+ () => instantiate(`(memory 1) (func (result v128) (f64x2.max_u (v128.const i32x4 0 0 0 0) (v128.const i32x4 1 1 1 1))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:295
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i32x4.min_s (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:296
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i32x4.min_u (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:297
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i32x4.max_s (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:298
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i32x4.max_u (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:299
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i32x4.abs (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:303
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.min_s-1st-arg-empty (result v128)
+ (i32x4.min_s (v128.const i32x4 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:311
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.min_s-arg-empty (result v128)
+ (i32x4.min_s)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:319
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.min_u-1st-arg-empty (result v128)
+ (i32x4.min_u (v128.const i32x4 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:327
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.min_u-arg-empty (result v128)
+ (i32x4.min_u)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:335
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.max_s-1st-arg-empty (result v128)
+ (i32x4.max_s (v128.const i32x4 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:343
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.max_s-arg-empty (result v128)
+ (i32x4.max_s)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:351
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.max_u-1st-arg-empty (result v128)
+ (i32x4.max_u (v128.const i32x4 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:359
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.max_u-arg-empty (result v128)
+ (i32x4.max_u)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:367
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.abs-arg-empty (result v128)
+ (i32x4.abs)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:377
+let $1 = instantiate(`(module
+ (func (export "i32x4.min_s-i32x4.max_u") (param v128 v128 v128) (result v128) (i32x4.min_s (i32x4.max_u (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "i32x4.min_s-i32x4.max_s") (param v128 v128 v128) (result v128) (i32x4.min_s (i32x4.max_s (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "i32x4.min_s-i32x4.min_u") (param v128 v128 v128) (result v128) (i32x4.min_s (i32x4.min_u (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "i32x4.min_s-i32x4.min_s") (param v128 v128 v128) (result v128) (i32x4.min_s (i32x4.min_s (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "i32x4.min_s-i32x4.abs") (param v128 v128) (result v128) (i32x4.min_s (i32x4.abs (local.get 0))(local.get 1)))
+ (func (export "i32x4.abs-i32x4.min_s") (param v128 v128) (result v128) (i32x4.abs (i32x4.min_s (local.get 0) (local.get 1))))
+ (func (export "i32x4.min_u-i32x4.max_u") (param v128 v128 v128) (result v128) (i32x4.min_u (i32x4.max_u (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "i32x4.min_u-i32x4.max_s") (param v128 v128 v128) (result v128) (i32x4.min_u (i32x4.max_s (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "i32x4.min_u-i32x4.min_u") (param v128 v128 v128) (result v128) (i32x4.min_u (i32x4.min_u (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "i32x4.min_u-i32x4.min_s") (param v128 v128 v128) (result v128) (i32x4.min_u (i32x4.min_s (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "i32x4.min_u-i32x4.abs") (param v128 v128) (result v128) (i32x4.min_u (i32x4.abs (local.get 0))(local.get 1)))
+ (func (export "i32x4.abs-i32x4.min_u") (param v128 v128) (result v128) (i32x4.abs (i32x4.min_u (local.get 0) (local.get 1))))
+ (func (export "i32x4.max_s-i32x4.max_u") (param v128 v128 v128) (result v128) (i32x4.max_s (i32x4.max_u (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "i32x4.max_s-i32x4.max_s") (param v128 v128 v128) (result v128) (i32x4.max_s (i32x4.max_s (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "i32x4.max_s-i32x4.min_u") (param v128 v128 v128) (result v128) (i32x4.max_s (i32x4.min_u (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "i32x4.max_s-i32x4.min_s") (param v128 v128 v128) (result v128) (i32x4.max_s (i32x4.min_s (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "i32x4.max_s-i32x4.abs") (param v128 v128) (result v128) (i32x4.max_s (i32x4.abs (local.get 0))(local.get 1)))
+ (func (export "i32x4.abs-i32x4.max_s") (param v128 v128) (result v128) (i32x4.abs (i32x4.max_s (local.get 0) (local.get 1))))
+ (func (export "i32x4.max_u-i32x4.max_u") (param v128 v128 v128) (result v128) (i32x4.max_u (i32x4.max_u (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "i32x4.max_u-i32x4.max_s") (param v128 v128 v128) (result v128) (i32x4.max_u (i32x4.max_s (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "i32x4.max_u-i32x4.min_u") (param v128 v128 v128) (result v128) (i32x4.max_u (i32x4.min_u (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "i32x4.max_u-i32x4.min_s") (param v128 v128 v128) (result v128) (i32x4.max_u (i32x4.min_s (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "i32x4.max_u-i32x4.abs") (param v128 v128) (result v128) (i32x4.max_u (i32x4.abs (local.get 0))(local.get 1)))
+ (func (export "i32x4.abs-i32x4.max_u") (param v128 v128) (result v128) (i32x4.abs (i32x4.max_u (local.get 0) (local.get 1))))
+ (func (export "i32x4.abs-i32x4.abs") (param v128) (result v128) (i32x4.abs (i32x4.abs (local.get 0))))
+)`);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:405
+assert_return(
+ () => invoke($1, `i32x4.min_s-i32x4.max_u`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ i32x4([0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:409
+assert_return(
+ () => invoke($1, `i32x4.min_s-i32x4.max_s`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ i32x4([0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:413
+assert_return(
+ () => invoke($1, `i32x4.min_s-i32x4.min_u`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ i32x4([0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:417
+assert_return(
+ () => invoke($1, `i32x4.min_s-i32x4.min_s`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ i32x4([0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:421
+assert_return(
+ () => invoke($1, `i32x4.min_s-i32x4.abs`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:424
+assert_return(
+ () => invoke($1, `i32x4.abs-i32x4.min_s`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:427
+assert_return(
+ () => invoke($1, `i32x4.min_u-i32x4.max_u`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ i32x4([0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:431
+assert_return(
+ () => invoke($1, `i32x4.min_u-i32x4.max_s`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ i32x4([0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:435
+assert_return(
+ () => invoke($1, `i32x4.min_u-i32x4.min_u`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ i32x4([0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:439
+assert_return(
+ () => invoke($1, `i32x4.min_u-i32x4.min_s`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ i32x4([0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:443
+assert_return(
+ () => invoke($1, `i32x4.min_u-i32x4.abs`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:446
+assert_return(
+ () => invoke($1, `i32x4.abs-i32x4.min_u`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:449
+assert_return(
+ () => invoke($1, `i32x4.max_s-i32x4.max_u`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ i32x4([0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [i32x4([0x2, 0x2, 0x2, 0x2])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:453
+assert_return(
+ () => invoke($1, `i32x4.max_s-i32x4.max_s`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ i32x4([0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [i32x4([0x2, 0x2, 0x2, 0x2])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:457
+assert_return(
+ () => invoke($1, `i32x4.max_s-i32x4.min_u`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ i32x4([0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [i32x4([0x2, 0x2, 0x2, 0x2])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:461
+assert_return(
+ () => invoke($1, `i32x4.max_s-i32x4.min_s`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ i32x4([0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [i32x4([0x2, 0x2, 0x2, 0x2])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:465
+assert_return(
+ () => invoke($1, `i32x4.max_s-i32x4.abs`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:468
+assert_return(
+ () => invoke($1, `i32x4.abs-i32x4.max_s`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:471
+assert_return(
+ () => invoke($1, `i32x4.max_u-i32x4.max_u`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ i32x4([0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [i32x4([0x2, 0x2, 0x2, 0x2])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:475
+assert_return(
+ () => invoke($1, `i32x4.max_u-i32x4.max_s`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ i32x4([0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [i32x4([0x2, 0x2, 0x2, 0x2])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:479
+assert_return(
+ () => invoke($1, `i32x4.max_u-i32x4.min_u`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ i32x4([0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [i32x4([0x2, 0x2, 0x2, 0x2])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:483
+assert_return(
+ () => invoke($1, `i32x4.max_u-i32x4.min_s`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ i32x4([0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [i32x4([0x2, 0x2, 0x2, 0x2])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:487
+assert_return(
+ () => invoke($1, `i32x4.max_u-i32x4.abs`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:490
+assert_return(
+ () => invoke($1, `i32x4.abs-i32x4.max_u`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i32x4_arith2.wast:493
+assert_return(
+ () => invoke($1, `i32x4.abs-i32x4.abs`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/simd_i32x4_cmp.wast.js b/js/src/jit-test/tests/wasm/spec/spec/simd_i32x4_cmp.wast.js
new file mode 100644
index 0000000000..7e3efca7a3
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/simd_i32x4_cmp.wast.js
@@ -0,0 +1,4369 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_i32x4_cmp.wast
+
+// ./test/core/simd/simd_i32x4_cmp.wast:4
+let $0 = instantiate(`(module
+ (func (export "eq") (param $$x v128) (param $$y v128) (result v128) (i32x4.eq (local.get $$x) (local.get $$y)))
+ (func (export "ne") (param $$x v128) (param $$y v128) (result v128) (i32x4.ne (local.get $$x) (local.get $$y)))
+ (func (export "lt_s") (param $$x v128) (param $$y v128) (result v128) (i32x4.lt_s (local.get $$x) (local.get $$y)))
+ (func (export "lt_u") (param $$x v128) (param $$y v128) (result v128) (i32x4.lt_u (local.get $$x) (local.get $$y)))
+ (func (export "le_s") (param $$x v128) (param $$y v128) (result v128) (i32x4.le_s (local.get $$x) (local.get $$y)))
+ (func (export "le_u") (param $$x v128) (param $$y v128) (result v128) (i32x4.le_u (local.get $$x) (local.get $$y)))
+ (func (export "gt_s") (param $$x v128) (param $$y v128) (result v128) (i32x4.gt_s (local.get $$x) (local.get $$y)))
+ (func (export "gt_u") (param $$x v128) (param $$y v128) (result v128) (i32x4.gt_u (local.get $$x) (local.get $$y)))
+ (func (export "ge_s") (param $$x v128) (param $$y v128) (result v128) (i32x4.ge_s (local.get $$x) (local.get $$y)))
+ (func (export "ge_u") (param $$x v128) (param $$y v128) (result v128) (i32x4.ge_u (local.get $$x) (local.get $$y)))
+)`);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:23
+assert_return(
+ () => invoke($0, `eq`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:26
+assert_return(
+ () => invoke($0, `eq`, [i32x4([0x0, 0x0, 0x0, 0x0]), i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:29
+assert_return(
+ () => invoke($0, `eq`, [
+ i32x4([0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0]),
+ i32x4([0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:32
+assert_return(
+ () => invoke($0, `eq`, [
+ i32x4([0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f]),
+ i32x4([0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:35
+assert_return(
+ () => invoke($0, `eq`, [
+ i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]),
+ i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:38
+assert_return(
+ () => invoke($0, `eq`, [
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:41
+assert_return(
+ () => invoke($0, `eq`, [
+ i32x4([0x3020100, 0x11100904, 0x1a0b0a12, 0xffabaa1b]),
+ i32x4([0x3020100, 0x11100904, 0x1a0b0a12, 0xffabaa1b]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:46
+assert_return(
+ () => invoke($0, `eq`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:49
+assert_return(
+ () => invoke($0, `eq`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:52
+assert_return(
+ () => invoke($0, `eq`, [
+ i32x4([0x80808080, 0x80808080, 0x80808080, 0x80808080]),
+ i32x4([0x80808080, 0x80808080, 0x80808080, 0x80808080]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:55
+assert_return(
+ () => invoke($0, `eq`, [
+ i32x4([0x80808080, 0x80808080, 0x80808080, 0x80808080]),
+ i32x4([0x80808080, 0x80808080, 0x80808080, 0x80808080]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:58
+assert_return(
+ () => invoke($0, `eq`, [
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:63
+assert_return(
+ () => invoke($0, `eq`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:66
+assert_return(
+ () => invoke($0, `eq`, [i32x4([0x0, 0x0, 0x0, 0x0]), i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:69
+assert_return(
+ () => invoke($0, `eq`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:72
+assert_return(
+ () => invoke($0, `eq`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:75
+assert_return(
+ () => invoke($0, `eq`, [
+ i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]),
+ i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:78
+assert_return(
+ () => invoke($0, `eq`, [
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:81
+assert_return(
+ () => invoke($0, `eq`, [
+ i32x4([0x80000001, 0xffffffff, 0x0, 0xffffffff]),
+ i32x4([0x80000001, 0xffffffff, 0x0, 0xffffffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:86
+assert_return(
+ () => invoke($0, `eq`, [
+ i32x4([0xc3000000, 0xc2fe0000, 0xbf800000, 0x0]),
+ f32x4([-128, -127, -1, 0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:89
+assert_return(
+ () => invoke($0, `eq`, [
+ i32x4([0x3f800000, 0x42fe0000, 0x43000000, 0x437f0000]),
+ f32x4([1, 127, 128, 255]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:94
+assert_return(
+ () => invoke($0, `eq`, [
+ i32x4([0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f]),
+ i32x4([0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:97
+assert_return(
+ () => invoke($0, `eq`, [
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:100
+assert_return(
+ () => invoke($0, `eq`, [
+ i32x4([0x2030001, 0x10110409, 0xb1a120a, 0xabff1baa]),
+ i32x4([0xaa1bffab, 0xa121a0b, 0x9041110, 0x1000302]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:103
+assert_return(
+ () => invoke($0, `eq`, [
+ i32x4([0x80018000, 0x80038002, 0x80058004, 0x80078006]),
+ i32x4([0x80078006, 0x80058004, 0x80038002, 0x80018000]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:106
+assert_return(
+ () => invoke($0, `eq`, [
+ i32x4([0x80000000, 0x7fffffff, 0x0, 0xffffffff]),
+ i32x4([0x80000000, 0x80000001, 0xffffffff, 0x0]),
+ ]),
+ [i32x4([0xffffffff, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:111
+assert_return(
+ () => invoke($0, `eq`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:114
+assert_return(
+ () => invoke($0, `eq`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:117
+assert_return(
+ () => invoke($0, `eq`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:120
+assert_return(
+ () => invoke($0, `eq`, [
+ i32x4([0x3020100, 0x7060504, 0xb0a0908, 0xf0e0d0c]),
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:123
+assert_return(
+ () => invoke($0, `eq`, [
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:126
+assert_return(
+ () => invoke($0, `eq`, [
+ i32x4([0xff80ff80, 0x0, 0x1, 0xffffffff]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i32x4([0x0, 0xffffffff, 0x0, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:129
+assert_return(
+ () => invoke($0, `eq`, [
+ i32x4([0x55555555, 0x55555555, 0x55555555, 0x55555555]),
+ i8x16([0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:134
+assert_return(
+ () => invoke($0, `eq`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:137
+assert_return(
+ () => invoke($0, `eq`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:140
+assert_return(
+ () => invoke($0, `eq`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:143
+assert_return(
+ () => invoke($0, `eq`, [
+ i32x4([0x3020100, 0x7060504, 0xb0a0908, 0xf0e0d0c]),
+ i16x8([0x100, 0x302, 0x504, 0x706, 0x908, 0xb0a, 0xd0c, 0xf0e]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:146
+assert_return(
+ () => invoke($0, `eq`, [
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:149
+assert_return(
+ () => invoke($0, `eq`, [
+ i32x4([0xffffffff, 0x0, 0x1, 0xffff]),
+ i16x8([0xffff, 0xffff, 0x0, 0x0, 0x1, 0x0, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:152
+assert_return(
+ () => invoke($0, `eq`, [
+ i32x4([0x55555555, 0x55555555, 0x55555555, 0x55555555]),
+ i16x8([0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:155
+assert_return(
+ () => invoke($0, `eq`, [
+ i32x4([0x75bcd15, 0x75bcd15, 0x75bcd15, 0x75bcd15]),
+ i32x4([0x75bcd15, 0x75bcd15, 0x75bcd15, 0x75bcd15]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:158
+assert_return(
+ () => invoke($0, `eq`, [
+ i32x4([0x12345678, 0x12345678, 0x12345678, 0x12345678]),
+ i32x4([0x12345678, 0x12345678, 0x12345678, 0x12345678]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:167
+assert_return(
+ () => invoke($0, `ne`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:170
+assert_return(
+ () => invoke($0, `ne`, [i32x4([0x0, 0x0, 0x0, 0x0]), i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:173
+assert_return(
+ () => invoke($0, `ne`, [
+ i32x4([0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0]),
+ i32x4([0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:176
+assert_return(
+ () => invoke($0, `ne`, [
+ i32x4([0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f]),
+ i32x4([0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:179
+assert_return(
+ () => invoke($0, `ne`, [
+ i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]),
+ i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:182
+assert_return(
+ () => invoke($0, `ne`, [
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:185
+assert_return(
+ () => invoke($0, `ne`, [
+ i32x4([0x3020100, 0x11100904, 0x1a0b0a12, 0xffabaa1b]),
+ i32x4([0x3020100, 0x11100904, 0x1a0b0a12, 0xffabaa1b]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:190
+assert_return(
+ () => invoke($0, `ne`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:193
+assert_return(
+ () => invoke($0, `ne`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:196
+assert_return(
+ () => invoke($0, `ne`, [
+ i32x4([0x80808080, 0x80808080, 0x80808080, 0x80808080]),
+ i32x4([0x80808080, 0x80808080, 0x80808080, 0x80808080]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:199
+assert_return(
+ () => invoke($0, `ne`, [
+ i32x4([0x80808080, 0x80808080, 0x80808080, 0x80808080]),
+ i32x4([0x80808080, 0x80808080, 0x80808080, 0x80808080]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:202
+assert_return(
+ () => invoke($0, `ne`, [
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:207
+assert_return(
+ () => invoke($0, `ne`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:210
+assert_return(
+ () => invoke($0, `ne`, [i32x4([0x0, 0x0, 0x0, 0x0]), i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:213
+assert_return(
+ () => invoke($0, `ne`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:216
+assert_return(
+ () => invoke($0, `ne`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:219
+assert_return(
+ () => invoke($0, `ne`, [
+ i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]),
+ i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:222
+assert_return(
+ () => invoke($0, `ne`, [
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:225
+assert_return(
+ () => invoke($0, `ne`, [
+ i32x4([0x80000001, 0xffffffff, 0x0, 0xffffffff]),
+ i32x4([0x80000001, 0xffffffff, 0x0, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:230
+assert_return(
+ () => invoke($0, `ne`, [
+ i32x4([0xc3000000, 0xc2fe0000, 0xbf800000, 0x0]),
+ f32x4([-128, -127, -1, 0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:233
+assert_return(
+ () => invoke($0, `ne`, [
+ i32x4([0x3f800000, 0x42fe0000, 0x43000000, 0x437f0000]),
+ f32x4([1, 127, 128, 255]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:238
+assert_return(
+ () => invoke($0, `ne`, [
+ i32x4([0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f]),
+ i32x4([0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:241
+assert_return(
+ () => invoke($0, `ne`, [
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:244
+assert_return(
+ () => invoke($0, `ne`, [
+ i32x4([0x2030001, 0x10110409, 0xb1a120a, 0xabff1baa]),
+ i32x4([0xaa1bffab, 0xa121a0b, 0x9041110, 0x1000302]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:247
+assert_return(
+ () => invoke($0, `ne`, [
+ i32x4([0x80018000, 0x80038002, 0x80058004, 0x80078006]),
+ i32x4([0x80078006, 0x80058004, 0x80038002, 0x80018000]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:250
+assert_return(
+ () => invoke($0, `ne`, [
+ i32x4([0x80000000, 0x7fffffff, 0x0, 0xffffffff]),
+ i32x4([0x80000000, 0x80000001, 0xffffffff, 0x0]),
+ ]),
+ [i32x4([0x0, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:255
+assert_return(
+ () => invoke($0, `ne`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:258
+assert_return(
+ () => invoke($0, `ne`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:261
+assert_return(
+ () => invoke($0, `ne`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:264
+assert_return(
+ () => invoke($0, `ne`, [
+ i32x4([0x3020100, 0x7060504, 0xb0a0908, 0xf0e0d0c]),
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:267
+assert_return(
+ () => invoke($0, `ne`, [
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:270
+assert_return(
+ () => invoke($0, `ne`, [
+ i32x4([0xff80ff80, 0x0, 0x1, 0xffffffff]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i32x4([0xffffffff, 0x0, 0xffffffff, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:273
+assert_return(
+ () => invoke($0, `ne`, [
+ i32x4([0x55555555, 0x55555555, 0x55555555, 0x55555555]),
+ i8x16([0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:278
+assert_return(
+ () => invoke($0, `ne`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:281
+assert_return(
+ () => invoke($0, `ne`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:284
+assert_return(
+ () => invoke($0, `ne`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:287
+assert_return(
+ () => invoke($0, `ne`, [
+ i32x4([0x3020100, 0x7060504, 0xb0a0908, 0xf0e0d0c]),
+ i16x8([0x100, 0x302, 0x504, 0x706, 0x908, 0xb0a, 0xd0c, 0xf0e]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:290
+assert_return(
+ () => invoke($0, `ne`, [
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:293
+assert_return(
+ () => invoke($0, `ne`, [
+ i32x4([0xffffff80, 0x0, 0x1, 0xff]),
+ i16x8([0xff80, 0xff80, 0x0, 0x0, 0x1, 0x1, 0xff, 0xff]),
+ ]),
+ [i32x4([0xffffffff, 0x0, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:296
+assert_return(
+ () => invoke($0, `ne`, [
+ i32x4([0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa]),
+ i16x8([0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:299
+assert_return(
+ () => invoke($0, `ne`, [
+ i32x4([0x75bcd15, 0x75bcd15, 0x75bcd15, 0x75bcd15]),
+ i32x4([0x75bcd15, 0x75bcd15, 0x75bcd15, 0x75bcd15]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:302
+assert_return(
+ () => invoke($0, `ne`, [
+ i32x4([0x12345678, 0x12345678, 0x12345678, 0x12345678]),
+ i32x4([0x12345678, 0x12345678, 0x12345678, 0x12345678]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:311
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:314
+assert_return(
+ () => invoke($0, `lt_s`, [i32x4([0x0, 0x0, 0x0, 0x0]), i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:317
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i32x4([0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0]),
+ i32x4([0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:320
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i32x4([0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f]),
+ i32x4([0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:323
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]),
+ i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:326
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:329
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i32x4([0x3020100, 0x11100904, 0x1a0b0a12, 0xffabaa1b]),
+ i32x4([0x3020100, 0x11100904, 0x1a0b0a12, 0xffabaa1b]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:334
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:337
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:340
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i32x4([0x80808080, 0x80808080, 0x80808080, 0x80808080]),
+ i32x4([0x80808080, 0x80808080, 0x80808080, 0x80808080]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:343
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i32x4([0x80808080, 0x80808080, 0x80808080, 0x80808080]),
+ i32x4([0x80808080, 0x80808080, 0x80808080, 0x80808080]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:346
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:351
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:354
+assert_return(
+ () => invoke($0, `lt_s`, [i32x4([0x0, 0x0, 0x0, 0x0]), i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:357
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:360
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:363
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]),
+ i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:366
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:369
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i32x4([0x80000001, 0xffffffff, 0x0, 0xffffffff]),
+ i32x4([0x80000001, 0xffffffff, 0x0, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:374
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i32x4([0xc3000000, 0xc2fe0000, 0xbf800000, 0x0]),
+ f32x4([-128, -127, -1, 0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:377
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i32x4([0x3f800000, 0x42fe0000, 0x43000000, 0x437f0000]),
+ f32x4([1, 127, 128, 255]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:382
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i32x4([0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f]),
+ i32x4([0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:385
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:388
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i32x4([0x2030001, 0x10110409, 0xb1a120a, 0xabff1baa]),
+ i32x4([0xaa1bffab, 0xa121a0b, 0x9041110, 0x1000302]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:391
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i32x4([0x80018000, 0x80038002, 0x80058004, 0x80078006]),
+ i32x4([0x80078006, 0x80058004, 0x80038002, 0x80018000]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:394
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i32x4([0x80000000, 0x7fffffff, 0x0, 0xffffffff]),
+ i32x4([0x80000000, 0x80000001, 0xffffffff, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:399
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:402
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:405
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:408
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i32x4([0x3020100, 0x7060504, 0xb0a0908, 0xf0e0d0c]),
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:411
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:414
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i32x4([0xff80ff80, 0x0, 0x1, 0xffffffff]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i32x4([0x0, 0x0, 0xffffffff, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:417
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i32x4([0x55555555, 0x55555555, 0x55555555, 0x55555555]),
+ i8x16([0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:422
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:425
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:428
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:431
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i32x4([0x3020100, 0x7060504, 0xb0a0908, 0xf0e0d0c]),
+ i16x8([0x100, 0x302, 0x504, 0x706, 0x908, 0xb0a, 0xd0c, 0xf0e]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:434
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:437
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i32x4([0xffffff80, 0x0, 0x1, 0xff]),
+ i16x8([0xff80, 0xff80, 0x0, 0x0, 0x1, 0x1, 0xff, 0xff]),
+ ]),
+ [i32x4([0x0, 0x0, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:440
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i32x4([0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa]),
+ i16x8([0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:443
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i32x4([0x75bcd15, 0x75bcd15, 0x75bcd15, 0x75bcd15]),
+ i32x4([0x75bcd15, 0x75bcd15, 0x75bcd15, 0x75bcd15]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:446
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i32x4([0x90abcdef, 0x90abcdef, 0x90abcdef, 0x90abcdef]),
+ i32x4([0x90abcdf0, 0x90abcdf0, 0x90abcdf0, 0x90abcdf0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:455
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:458
+assert_return(
+ () => invoke($0, `lt_u`, [i32x4([0x0, 0x0, 0x0, 0x0]), i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:461
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i32x4([0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0]),
+ i32x4([0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:464
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i32x4([0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f]),
+ i32x4([0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:467
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]),
+ i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:470
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:473
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i32x4([0x3020100, 0x11100904, 0x1a0b0a12, 0xffabaa1b]),
+ i32x4([0x3020100, 0x11100904, 0x1a0b0a12, 0xffabaa1b]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:478
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:481
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:484
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i32x4([0x80808080, 0x80808080, 0x80808080, 0x80808080]),
+ i32x4([0x80808080, 0x80808080, 0x80808080, 0x80808080]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:487
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i32x4([0x80808080, 0x80808080, 0x80808080, 0x80808080]),
+ i32x4([0x80808080, 0x80808080, 0x80808080, 0x80808080]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:490
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:495
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:498
+assert_return(
+ () => invoke($0, `lt_u`, [i32x4([0x0, 0x0, 0x0, 0x0]), i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:501
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:504
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:507
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]),
+ i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:510
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:513
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i32x4([0x80000001, 0xffffffff, 0x0, 0xffffffff]),
+ i32x4([0x80000001, 0xffffffff, 0x0, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:518
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i32x4([0xc3000000, 0xc2fe0000, 0xbf800000, 0x0]),
+ f32x4([-128, -127, -1, 0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:521
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i32x4([0x3f800000, 0x42fe0000, 0x43000000, 0x437f0000]),
+ f32x4([1, 127, 128, 255]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:526
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i32x4([0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f]),
+ i32x4([0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:529
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:532
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i32x4([0x2030001, 0x10110409, 0xb1a120a, 0xabff1baa]),
+ i32x4([0xaa1bffab, 0xa121a0b, 0x9041110, 0x1000302]),
+ ]),
+ [i32x4([0xffffffff, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:535
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i32x4([0x80018000, 0x80038002, 0x80058004, 0x80078006]),
+ i32x4([0x80078006, 0x80058004, 0x80038002, 0x80018000]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:538
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i32x4([0x80000000, 0x7fffffff, 0x0, 0xffffffff]),
+ i32x4([0x80000000, 0x80000001, 0xffffffff, 0x0]),
+ ]),
+ [i32x4([0x0, 0xffffffff, 0xffffffff, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:543
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:546
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:549
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:552
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i32x4([0x3020100, 0x7060504, 0xb0a0908, 0xf0e0d0c]),
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:555
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:558
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i32x4([0xff80ff80, 0x0, 0x1, 0xffffffff]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i32x4([0x0, 0x0, 0xffffffff, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:561
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i32x4([0x55555555, 0x55555555, 0x55555555, 0x55555555]),
+ i8x16([0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:566
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:569
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:572
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:575
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i32x4([0x3020100, 0x7060504, 0xb0a0908, 0xf0e0d0c]),
+ i16x8([0x100, 0x302, 0x504, 0x706, 0x908, 0xb0a, 0xd0c, 0xf0e]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:578
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:581
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i32x4([0xffffff80, 0x0, 0x1, 0xff]),
+ i16x8([0xff80, 0xff80, 0x0, 0x0, 0x1, 0x1, 0xff, 0xff]),
+ ]),
+ [i32x4([0x0, 0x0, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:584
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i32x4([0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa]),
+ i16x8([0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:587
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i32x4([0x75bcd15, 0x75bcd15, 0x75bcd15, 0x75bcd15]),
+ i32x4([0x75bcd15, 0x75bcd15, 0x75bcd15, 0x75bcd15]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:590
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i32x4([0x90abcdef, 0x90abcdef, 0x90abcdef, 0x90abcdef]),
+ i32x4([0x90abcdf0, 0x90abcdf0, 0x90abcdf0, 0x90abcdf0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:599
+assert_return(
+ () => invoke($0, `le_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:602
+assert_return(
+ () => invoke($0, `le_s`, [i32x4([0x0, 0x0, 0x0, 0x0]), i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:605
+assert_return(
+ () => invoke($0, `le_s`, [
+ i32x4([0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0]),
+ i32x4([0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:608
+assert_return(
+ () => invoke($0, `le_s`, [
+ i32x4([0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f]),
+ i32x4([0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:611
+assert_return(
+ () => invoke($0, `le_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]),
+ i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:614
+assert_return(
+ () => invoke($0, `le_s`, [
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:617
+assert_return(
+ () => invoke($0, `le_s`, [
+ i32x4([0x3020100, 0x11100904, 0x1a0b0a12, 0xffabaa1b]),
+ i32x4([0x3020100, 0x11100904, 0x1a0b0a12, 0xffabaa1b]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:622
+assert_return(
+ () => invoke($0, `le_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:625
+assert_return(
+ () => invoke($0, `le_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:628
+assert_return(
+ () => invoke($0, `le_s`, [
+ i32x4([0x80808080, 0x80808080, 0x80808080, 0x80808080]),
+ i32x4([0x80808080, 0x80808080, 0x80808080, 0x80808080]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:631
+assert_return(
+ () => invoke($0, `le_s`, [
+ i32x4([0x80808080, 0x80808080, 0x80808080, 0x80808080]),
+ i32x4([0x80808080, 0x80808080, 0x80808080, 0x80808080]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:634
+assert_return(
+ () => invoke($0, `le_s`, [
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:639
+assert_return(
+ () => invoke($0, `le_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:642
+assert_return(
+ () => invoke($0, `le_s`, [i32x4([0x0, 0x0, 0x0, 0x0]), i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:645
+assert_return(
+ () => invoke($0, `le_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:648
+assert_return(
+ () => invoke($0, `le_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:651
+assert_return(
+ () => invoke($0, `le_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]),
+ i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:654
+assert_return(
+ () => invoke($0, `le_s`, [
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:657
+assert_return(
+ () => invoke($0, `le_s`, [
+ i32x4([0x80000001, 0xffffffff, 0x0, 0xffffffff]),
+ i32x4([0x80000001, 0xffffffff, 0x0, 0xffffffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:662
+assert_return(
+ () => invoke($0, `le_s`, [
+ i32x4([0xc3000000, 0xc2fe0000, 0xbf800000, 0x0]),
+ f32x4([-128, -127, -1, 0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:665
+assert_return(
+ () => invoke($0, `le_s`, [
+ i32x4([0x3f800000, 0x42fe0000, 0x43000000, 0x437f0000]),
+ f32x4([1, 127, 128, 255]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:670
+assert_return(
+ () => invoke($0, `le_s`, [
+ i32x4([0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f]),
+ i32x4([0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:673
+assert_return(
+ () => invoke($0, `le_s`, [
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:676
+assert_return(
+ () => invoke($0, `le_s`, [
+ i32x4([0x2030001, 0x10110409, 0xb1a120a, 0xabff1baa]),
+ i32x4([0xaa1bffab, 0xa121a0b, 0x9041110, 0x1000302]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:679
+assert_return(
+ () => invoke($0, `le_s`, [
+ i32x4([0x80018000, 0x80038002, 0x80058004, 0x80078006]),
+ i32x4([0x80078006, 0x80058004, 0x80038002, 0x80018000]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:682
+assert_return(
+ () => invoke($0, `le_s`, [
+ i32x4([0x80000000, 0x7fffffff, 0x0, 0xffffffff]),
+ i32x4([0x80000000, 0x80000001, 0xffffffff, 0x0]),
+ ]),
+ [i32x4([0xffffffff, 0x0, 0x0, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:687
+assert_return(
+ () => invoke($0, `le_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:690
+assert_return(
+ () => invoke($0, `le_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:693
+assert_return(
+ () => invoke($0, `le_s`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:696
+assert_return(
+ () => invoke($0, `le_s`, [
+ i32x4([0x3020100, 0x7060504, 0xb0a0908, 0xf0e0d0c]),
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:699
+assert_return(
+ () => invoke($0, `le_s`, [
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:702
+assert_return(
+ () => invoke($0, `le_s`, [
+ i32x4([0xff80ff80, 0x0, 0x1, 0xffffffff]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i32x4([0x0, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:705
+assert_return(
+ () => invoke($0, `le_s`, [
+ i32x4([0x55555555, 0x55555555, 0x55555555, 0x55555555]),
+ i8x16([0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:710
+assert_return(
+ () => invoke($0, `le_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:713
+assert_return(
+ () => invoke($0, `le_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:716
+assert_return(
+ () => invoke($0, `le_s`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:719
+assert_return(
+ () => invoke($0, `le_s`, [
+ i32x4([0x3020100, 0x7060504, 0xb0a0908, 0xf0e0d0c]),
+ i16x8([0x100, 0x302, 0x504, 0x706, 0x908, 0xb0a, 0xd0c, 0xf0e]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:722
+assert_return(
+ () => invoke($0, `le_s`, [
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:725
+assert_return(
+ () => invoke($0, `le_s`, [
+ i32x4([0xffffff80, 0x0, 0x1, 0xff]),
+ i16x8([0xff80, 0xff80, 0x0, 0x0, 0x1, 0x1, 0xff, 0xff]),
+ ]),
+ [i32x4([0x0, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:728
+assert_return(
+ () => invoke($0, `le_s`, [
+ i32x4([0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa]),
+ i16x8([0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:731
+assert_return(
+ () => invoke($0, `le_s`, [
+ i32x4([0x75bcd15, 0x75bcd15, 0x75bcd15, 0x75bcd15]),
+ i32x4([0x75bcd15, 0x75bcd15, 0x75bcd15, 0x75bcd15]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:734
+assert_return(
+ () => invoke($0, `le_s`, [
+ i32x4([0x12345678, 0x12345678, 0x12345678, 0x12345678]),
+ i32x4([0x12345678, 0x12345678, 0x12345678, 0x12345678]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:743
+assert_return(
+ () => invoke($0, `le_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:746
+assert_return(
+ () => invoke($0, `le_u`, [i32x4([0x0, 0x0, 0x0, 0x0]), i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:749
+assert_return(
+ () => invoke($0, `le_u`, [
+ i32x4([0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0]),
+ i32x4([0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:752
+assert_return(
+ () => invoke($0, `le_u`, [
+ i32x4([0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f]),
+ i32x4([0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:755
+assert_return(
+ () => invoke($0, `le_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]),
+ i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:758
+assert_return(
+ () => invoke($0, `le_u`, [
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:761
+assert_return(
+ () => invoke($0, `le_u`, [
+ i32x4([0x3020100, 0x11100904, 0x1a0b0a12, 0xffabaa1b]),
+ i32x4([0x3020100, 0x11100904, 0x1a0b0a12, 0xffabaa1b]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:766
+assert_return(
+ () => invoke($0, `le_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:769
+assert_return(
+ () => invoke($0, `le_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:772
+assert_return(
+ () => invoke($0, `le_u`, [
+ i32x4([0x80808080, 0x80808080, 0x80808080, 0x80808080]),
+ i32x4([0x80808080, 0x80808080, 0x80808080, 0x80808080]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:775
+assert_return(
+ () => invoke($0, `le_u`, [
+ i32x4([0x80808080, 0x80808080, 0x80808080, 0x80808080]),
+ i32x4([0x80808080, 0x80808080, 0x80808080, 0x80808080]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:778
+assert_return(
+ () => invoke($0, `le_u`, [
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:783
+assert_return(
+ () => invoke($0, `le_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:786
+assert_return(
+ () => invoke($0, `le_u`, [i32x4([0x0, 0x0, 0x0, 0x0]), i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:789
+assert_return(
+ () => invoke($0, `le_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:792
+assert_return(
+ () => invoke($0, `le_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:795
+assert_return(
+ () => invoke($0, `le_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]),
+ i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:798
+assert_return(
+ () => invoke($0, `le_u`, [
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:801
+assert_return(
+ () => invoke($0, `le_u`, [
+ i32x4([0x80000001, 0xffffffff, 0x0, 0xffffffff]),
+ i32x4([0x80000001, 0xffffffff, 0x0, 0xffffffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:806
+assert_return(
+ () => invoke($0, `le_u`, [
+ i32x4([0xc3000000, 0xc2fe0000, 0xbf800000, 0x0]),
+ f32x4([-128, -127, -1, 0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:809
+assert_return(
+ () => invoke($0, `le_u`, [
+ i32x4([0x3f800000, 0x42fe0000, 0x43000000, 0x437f0000]),
+ f32x4([1, 127, 128, 255]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:814
+assert_return(
+ () => invoke($0, `le_u`, [
+ i32x4([0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f]),
+ i32x4([0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:817
+assert_return(
+ () => invoke($0, `le_u`, [
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:820
+assert_return(
+ () => invoke($0, `le_u`, [
+ i32x4([0x2030001, 0x10110409, 0xb1a120a, 0xabff1baa]),
+ i32x4([0xaa1bffab, 0xa121a0b, 0x9041110, 0x1000302]),
+ ]),
+ [i32x4([0xffffffff, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:823
+assert_return(
+ () => invoke($0, `le_u`, [
+ i32x4([0x80018000, 0x80038002, 0x80058004, 0x80078006]),
+ i32x4([0x80078006, 0x80058004, 0x80038002, 0x80018000]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:826
+assert_return(
+ () => invoke($0, `le_u`, [
+ i32x4([0x80000000, 0x7fffffff, 0x0, 0xffffffff]),
+ i32x4([0x80000000, 0x80000001, 0xffffffff, 0x0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:831
+assert_return(
+ () => invoke($0, `le_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:834
+assert_return(
+ () => invoke($0, `le_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:837
+assert_return(
+ () => invoke($0, `le_u`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:840
+assert_return(
+ () => invoke($0, `le_u`, [
+ i32x4([0x3020100, 0x7060504, 0xb0a0908, 0xf0e0d0c]),
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:843
+assert_return(
+ () => invoke($0, `le_u`, [
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:846
+assert_return(
+ () => invoke($0, `le_u`, [
+ i32x4([0xff80ff80, 0x0, 0x1, 0xffffffff]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i32x4([0x0, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:849
+assert_return(
+ () => invoke($0, `le_u`, [
+ i32x4([0x55555555, 0x55555555, 0x55555555, 0x55555555]),
+ i8x16([0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:854
+assert_return(
+ () => invoke($0, `le_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:857
+assert_return(
+ () => invoke($0, `le_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:860
+assert_return(
+ () => invoke($0, `le_u`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:863
+assert_return(
+ () => invoke($0, `le_u`, [
+ i32x4([0x3020100, 0x7060504, 0xb0a0908, 0xf0e0d0c]),
+ i16x8([0x100, 0x302, 0x504, 0x706, 0x908, 0xb0a, 0xd0c, 0xf0e]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:866
+assert_return(
+ () => invoke($0, `le_u`, [
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:869
+assert_return(
+ () => invoke($0, `le_u`, [
+ i32x4([0xffffff80, 0x0, 0x1, 0xff]),
+ i16x8([0xff80, 0xff80, 0x0, 0x0, 0x1, 0x1, 0xff, 0xff]),
+ ]),
+ [i32x4([0x0, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:872
+assert_return(
+ () => invoke($0, `le_u`, [
+ i32x4([0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa]),
+ i16x8([0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:875
+assert_return(
+ () => invoke($0, `le_u`, [
+ i32x4([0x75bcd15, 0x75bcd15, 0x75bcd15, 0x75bcd15]),
+ i32x4([0x75bcd15, 0x75bcd15, 0x75bcd15, 0x75bcd15]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:878
+assert_return(
+ () => invoke($0, `le_u`, [
+ i32x4([0x90abcdef, 0x90abcdef, 0x90abcdef, 0x90abcdef]),
+ i32x4([0x90abcdef, 0x90abcdef, 0x90abcdef, 0x90abcdef]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:887
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:890
+assert_return(
+ () => invoke($0, `gt_s`, [i32x4([0x0, 0x0, 0x0, 0x0]), i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:893
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i32x4([0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0]),
+ i32x4([0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:896
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i32x4([0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f]),
+ i32x4([0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:899
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]),
+ i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:902
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:905
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i32x4([0x3020100, 0x11100904, 0x1a0b0a12, 0xffabaa1b]),
+ i32x4([0x3020100, 0x11100904, 0x1a0b0a12, 0xffabaa1b]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:910
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:913
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:916
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i32x4([0x80808080, 0x80808080, 0x80808080, 0x80808080]),
+ i32x4([0x80808080, 0x80808080, 0x80808080, 0x80808080]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:919
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i32x4([0x80808080, 0x80808080, 0x80808080, 0x80808080]),
+ i32x4([0x80808080, 0x80808080, 0x80808080, 0x80808080]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:922
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:927
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:930
+assert_return(
+ () => invoke($0, `gt_s`, [i32x4([0x0, 0x0, 0x0, 0x0]), i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:933
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:936
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:939
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]),
+ i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:942
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:945
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i32x4([0x80000001, 0xffffffff, 0x0, 0xffffffff]),
+ i32x4([0x80000001, 0xffffffff, 0x0, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:950
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i32x4([0xc3000000, 0xc2fe0000, 0xbf800000, 0x0]),
+ f32x4([-128, -127, -1, 0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:953
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i32x4([0x3f800000, 0x42fe0000, 0x43000000, 0x437f0000]),
+ f32x4([1, 127, 128, 255]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:958
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i32x4([0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f]),
+ i32x4([0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:961
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:964
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i32x4([0x2030001, 0x10110409, 0xb1a120a, 0xabff1baa]),
+ i32x4([0xaa1bffab, 0xa121a0b, 0x9041110, 0x1000302]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:967
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i32x4([0x80018000, 0x80038002, 0x80058004, 0x80078006]),
+ i32x4([0x80078006, 0x80058004, 0x80038002, 0x80018000]),
+ ]),
+ [i32x4([0x0, 0x0, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:970
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i32x4([0x80000000, 0x7fffffff, 0x0, 0xffffffff]),
+ i32x4([0x80000000, 0x80000001, 0xffffffff, 0x0]),
+ ]),
+ [i32x4([0x0, 0xffffffff, 0xffffffff, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:975
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:978
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:981
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:984
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i32x4([0x3020100, 0x7060504, 0xb0a0908, 0xf0e0d0c]),
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:987
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:990
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i32x4([0xff80ff80, 0x0, 0x1, 0xffffffff]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i32x4([0xffffffff, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:993
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i32x4([0x55555555, 0x55555555, 0x55555555, 0x55555555]),
+ i8x16([0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:998
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1001
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1004
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1007
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i32x4([0x3020100, 0x7060504, 0xb0a0908, 0xf0e0d0c]),
+ i16x8([0x100, 0x302, 0x504, 0x706, 0x908, 0xb0a, 0xd0c, 0xf0e]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1010
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1013
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i32x4([0xffff, 0x0, 0x1, 0x8000]),
+ i16x8([0xffff, 0xffff, 0x0, 0x0, 0x1, 0x1, 0x8000, 0x8000]),
+ ]),
+ [i32x4([0xffffffff, 0x0, 0x0, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1016
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i32x4([0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa]),
+ i16x8([0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1019
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i32x4([0x75bcd15, 0x75bcd15, 0x75bcd15, 0x75bcd15]),
+ i32x4([0x75bcd15, 0x75bcd15, 0x75bcd15, 0x75bcd15]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1022
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i32x4([0x90abcdef, 0x90abcdef, 0x90abcdef, 0x90abcdef]),
+ i32x4([0x90abcdef, 0x90abcdef, 0x90abcdef, 0x90abcdef]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1031
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1034
+assert_return(
+ () => invoke($0, `gt_u`, [i32x4([0x0, 0x0, 0x0, 0x0]), i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1037
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i32x4([0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0]),
+ i32x4([0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1040
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i32x4([0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f]),
+ i32x4([0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1043
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]),
+ i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1046
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1049
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i32x4([0x3020100, 0x11100904, 0x1a0b0a12, 0xffabaa1b]),
+ i32x4([0x3020100, 0x11100904, 0x1a0b0a12, 0xffabaa1b]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1054
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1057
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1060
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i32x4([0x80808080, 0x80808080, 0x80808080, 0x80808080]),
+ i32x4([0x80808080, 0x80808080, 0x80808080, 0x80808080]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1063
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i32x4([0x80808080, 0x80808080, 0x80808080, 0x80808080]),
+ i32x4([0x80808080, 0x80808080, 0x80808080, 0x80808080]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1066
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1071
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1074
+assert_return(
+ () => invoke($0, `gt_u`, [i32x4([0x0, 0x0, 0x0, 0x0]), i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1077
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1080
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1083
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]),
+ i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1086
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1089
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i32x4([0x80000001, 0xffffffff, 0x0, 0xffffffff]),
+ i32x4([0x80000001, 0xffffffff, 0x0, 0xffffffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1094
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i32x4([0xc3000000, 0xc2fe0000, 0xbf800000, 0x0]),
+ f32x4([-128, -127, -1, 0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1097
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i32x4([0x3f800000, 0x42fe0000, 0x43000000, 0x437f0000]),
+ f32x4([1, 127, 128, 255]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1102
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i32x4([0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f]),
+ i32x4([0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1105
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1108
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i32x4([0x2030001, 0x10110409, 0xb1a120a, 0xabff1baa]),
+ i32x4([0xaa1bffab, 0xa121a0b, 0x9041110, 0x1000302]),
+ ]),
+ [i32x4([0x0, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1111
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i32x4([0x80018000, 0x80038002, 0x80058004, 0x80078006]),
+ i32x4([0x80078006, 0x80058004, 0x80038002, 0x80018000]),
+ ]),
+ [i32x4([0x0, 0x0, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1114
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i32x4([0x80000000, 0x7fffffff, 0x0, 0xffffffff]),
+ i32x4([0x80000000, 0x80000001, 0xffffffff, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1119
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1122
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1125
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1128
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i32x4([0x3020100, 0x7060504, 0xb0a0908, 0xf0e0d0c]),
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1131
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1134
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i32x4([0xff80ff80, 0x0, 0x1, 0xffffffff]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i32x4([0xffffffff, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1137
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i32x4([0x55555555, 0x55555555, 0x55555555, 0x55555555]),
+ i8x16([0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1142
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1145
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1148
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1151
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i32x4([0x3020100, 0x7060504, 0xb0a0908, 0xf0e0d0c]),
+ i16x8([0x100, 0x302, 0x504, 0x706, 0x908, 0xb0a, 0xd0c, 0xf0e]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1154
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1157
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i32x4([0xffffff80, 0x0, 0x1, 0xff]),
+ i16x8([0xff80, 0xff80, 0x0, 0x0, 0x1, 0x1, 0xff, 0xff]),
+ ]),
+ [i32x4([0xffffffff, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1160
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i32x4([0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa]),
+ i16x8([0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1163
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i32x4([0x75bcd15, 0x75bcd15, 0x75bcd15, 0x75bcd15]),
+ i32x4([0x75bcd15, 0x75bcd15, 0x75bcd15, 0x75bcd15]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1166
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i32x4([0x12345678, 0x12345678, 0x12345678, 0x12345678]),
+ i32x4([0x12345678, 0x12345678, 0x12345678, 0x12345678]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1175
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1178
+assert_return(
+ () => invoke($0, `ge_s`, [i32x4([0x0, 0x0, 0x0, 0x0]), i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1181
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i32x4([0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0]),
+ i32x4([0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1184
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i32x4([0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f]),
+ i32x4([0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1187
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]),
+ i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1190
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1193
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i32x4([0x3020100, 0x11100904, 0x1a0b0a12, 0xffabaa1b]),
+ i32x4([0x3020100, 0x11100904, 0x1a0b0a12, 0xffabaa1b]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1198
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1201
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1204
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i32x4([0x80808080, 0x80808080, 0x80808080, 0x80808080]),
+ i32x4([0x80808080, 0x80808080, 0x80808080, 0x80808080]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1207
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i32x4([0x80808080, 0x80808080, 0x80808080, 0x80808080]),
+ i32x4([0x80808080, 0x80808080, 0x80808080, 0x80808080]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1210
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1215
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1218
+assert_return(
+ () => invoke($0, `ge_s`, [i32x4([0x0, 0x0, 0x0, 0x0]), i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1221
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1224
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1227
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]),
+ i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1230
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1233
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i32x4([0x80000001, 0xffffffff, 0x0, 0xffffffff]),
+ i32x4([0x80000001, 0xffffffff, 0x0, 0xffffffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1238
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i32x4([0xc3000000, 0xc2fe0000, 0xbf800000, 0x0]),
+ f32x4([-128, -127, -1, 0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1241
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i32x4([0x3f800000, 0x42fe0000, 0x43000000, 0x437f0000]),
+ f32x4([1, 127, 128, 255]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1246
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i32x4([0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f]),
+ i32x4([0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1249
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1252
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i32x4([0x2030001, 0x10110409, 0xb1a120a, 0xabff1baa]),
+ i32x4([0xaa1bffab, 0xa121a0b, 0x9041110, 0x1000302]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1255
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i32x4([0x80018000, 0x80038002, 0x80058004, 0x80078006]),
+ i32x4([0x80078006, 0x80058004, 0x80038002, 0x80018000]),
+ ]),
+ [i32x4([0x0, 0x0, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1258
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i32x4([0x80000000, 0x7fffffff, 0x0, 0xffffffff]),
+ i32x4([0x80000000, 0x80000001, 0xffffffff, 0x0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1263
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1266
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1269
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1272
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i32x4([0x3020100, 0x7060504, 0xb0a0908, 0xf0e0d0c]),
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1275
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1278
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i32x4([0xff80ff80, 0x0, 0x1, 0xffffffff]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0x0, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1281
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i32x4([0x55555555, 0x55555555, 0x55555555, 0x55555555]),
+ i8x16([0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1286
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1289
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1292
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1295
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i32x4([0x3020100, 0x7060504, 0xb0a0908, 0xf0e0d0c]),
+ i16x8([0x100, 0x302, 0x504, 0x706, 0x908, 0xb0a, 0xd0c, 0xf0e]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1298
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1301
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i32x4([0xffff, 0x0, 0x1, 0x8000]),
+ i16x8([0xffff, 0xffff, 0x0, 0x0, 0x1, 0x1, 0x8000, 0x8000]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0x0, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1304
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i32x4([0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa]),
+ i16x8([0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1307
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i32x4([0x75bcd15, 0x75bcd15, 0x75bcd15, 0x75bcd15]),
+ i32x4([0x75bcd15, 0x75bcd15, 0x75bcd15, 0x75bcd15]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1310
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i32x4([0x12345678, 0x12345678, 0x12345678, 0x12345678]),
+ i32x4([0x12345678, 0x12345678, 0x12345678, 0x12345678]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1319
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1322
+assert_return(
+ () => invoke($0, `ge_u`, [i32x4([0x0, 0x0, 0x0, 0x0]), i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1325
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i32x4([0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0]),
+ i32x4([0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1328
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i32x4([0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f]),
+ i32x4([0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1331
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]),
+ i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1334
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1337
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i32x4([0x3020100, 0x11100904, 0x1a0b0a12, 0xffabaa1b]),
+ i32x4([0x3020100, 0x11100904, 0x1a0b0a12, 0xffabaa1b]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1342
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1345
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1348
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i32x4([0x80808080, 0x80808080, 0x80808080, 0x80808080]),
+ i32x4([0x80808080, 0x80808080, 0x80808080, 0x80808080]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1351
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i32x4([0x80808080, 0x80808080, 0x80808080, 0x80808080]),
+ i32x4([0x80808080, 0x80808080, 0x80808080, 0x80808080]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1354
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1359
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1362
+assert_return(
+ () => invoke($0, `ge_u`, [i32x4([0x0, 0x0, 0x0, 0x0]), i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1365
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1368
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1371
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]),
+ i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1374
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1377
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i32x4([0x80000001, 0xffffffff, 0x0, 0xffffffff]),
+ i32x4([0x80000001, 0xffffffff, 0x0, 0xffffffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1382
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i32x4([0xc3000000, 0xc2fe0000, 0xbf800000, 0x0]),
+ f32x4([-128, -127, -1, 0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1385
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i32x4([0x3f800000, 0x42fe0000, 0x43000000, 0x437f0000]),
+ f32x4([1, 127, 128, 255]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1390
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i32x4([0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f]),
+ i32x4([0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0, 0xf0f0f0f0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1393
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1396
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i32x4([0x2030001, 0x10110409, 0xb1a120a, 0xabff1baa]),
+ i32x4([0xaa1bffab, 0xa121a0b, 0x9041110, 0x1000302]),
+ ]),
+ [i32x4([0x0, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1399
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i32x4([0x80018000, 0x80038002, 0x80058004, 0x80078006]),
+ i32x4([0x80078006, 0x80058004, 0x80038002, 0x80018000]),
+ ]),
+ [i32x4([0x0, 0x0, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1402
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i32x4([0x80000000, 0x7fffffff, 0x0, 0xffffffff]),
+ i32x4([0x80000000, 0x80000001, 0xffffffff, 0x0]),
+ ]),
+ [i32x4([0xffffffff, 0x0, 0x0, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1407
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1410
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1413
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1416
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i32x4([0x3020100, 0x7060504, 0xb0a0908, 0xf0e0d0c]),
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1419
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1422
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i32x4([0xff80ff80, 0x0, 0x1, 0xffffffff]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0x0, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1425
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i32x4([0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa]),
+ i8x16([0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1430
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1433
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1436
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1439
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i32x4([0x3020100, 0x7060504, 0xb0a0908, 0xf0e0d0c]),
+ i16x8([0x100, 0x302, 0x504, 0x706, 0x908, 0xb0a, 0xd0c, 0xf0e]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1442
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1445
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i32x4([0xffffff80, 0x0, 0x1, 0xff]),
+ i16x8([0xffff, 0xffff, 0x0, 0x0, 0x1, 0x1, 0x8000, 0x8000]),
+ ]),
+ [i32x4([0x0, 0xffffffff, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1448
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i32x4([0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa]),
+ i16x8([0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1451
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i32x4([0x75bcd15, 0x75bcd15, 0x75bcd15, 0x75bcd15]),
+ i32x4([0x75bcd15, 0x75bcd15, 0x75bcd15, 0x75bcd15]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1454
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i32x4([0x12345678, 0x12345678, 0x12345678, 0x12345678]),
+ i32x4([0x12345678, 0x12345678, 0x12345678, 0x12345678]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1461
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i32x4.eq (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1462
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i32x4.ge_s (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1463
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i32x4.ge_u (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1464
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i32x4.gt_s (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1465
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i32x4.gt_u (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1466
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i32x4.le_s (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1467
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i32x4.le_u (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1468
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i32x4.lt_s (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1469
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i32x4.lt_u (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1470
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i32x4.ne (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1475
+let $1 = instantiate(`(module (memory 1)
+ (func (export "eq-in-block")
+ (block
+ (drop
+ (block (result v128)
+ (i32x4.eq
+ (block (result v128) (v128.load (i32.const 0)))
+ (block (result v128) (v128.load (i32.const 1)))
+ )
+ )
+ )
+ )
+ )
+ (func (export "ne-in-block")
+ (block
+ (drop
+ (block (result v128)
+ (i32x4.ne
+ (block (result v128) (v128.load (i32.const 0)))
+ (block (result v128) (v128.load (i32.const 1)))
+ )
+ )
+ )
+ )
+ )
+ (func (export "lt_s-in-block")
+ (block
+ (drop
+ (block (result v128)
+ (i32x4.lt_s
+ (block (result v128) (v128.load (i32.const 0)))
+ (block (result v128) (v128.load (i32.const 1)))
+ )
+ )
+ )
+ )
+ )
+ (func (export "le_u-in-block")
+ (block
+ (drop
+ (block (result v128)
+ (i32x4.le_u
+ (block (result v128) (v128.load (i32.const 0)))
+ (block (result v128) (v128.load (i32.const 1)))
+ )
+ )
+ )
+ )
+ )
+ (func (export "gt_u-in-block")
+ (block
+ (drop
+ (block (result v128)
+ (i32x4.gt_u
+ (block (result v128) (v128.load (i32.const 0)))
+ (block (result v128) (v128.load (i32.const 1)))
+ )
+ )
+ )
+ )
+ )
+ (func (export "ge_s-in-block")
+ (block
+ (drop
+ (block (result v128)
+ (i32x4.ge_s
+ (block (result v128) (v128.load (i32.const 0)))
+ (block (result v128) (v128.load (i32.const 1)))
+ )
+ )
+ )
+ )
+ )
+ (func (export "nested-eq")
+ (drop
+ (i32x4.eq
+ (i32x4.eq
+ (i32x4.eq
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (i32x4.eq
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ (i32x4.eq
+ (i32x4.eq
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (i32x4.eq
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ )
+ )
+ )
+ (func (export "nested-ne")
+ (drop
+ (i32x4.ne
+ (i32x4.ne
+ (i32x4.ne
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (i32x4.ne
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ (i32x4.ne
+ (i32x4.ne
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (i32x4.ne
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ )
+ )
+ )
+ (func (export "nested-lt_s")
+ (drop
+ (i32x4.lt_s
+ (i32x4.lt_s
+ (i32x4.lt_s
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (i32x4.lt_s
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ (i32x4.lt_s
+ (i32x4.lt_s
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (i32x4.lt_s
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ )
+ )
+ )
+ (func (export "nested-le_u")
+ (drop
+ (i32x4.le_u
+ (i32x4.le_u
+ (i32x4.le_u
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (i32x4.le_u
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ (i32x4.le_u
+ (i32x4.le_u
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (i32x4.le_u
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ )
+ )
+ )
+ (func (export "nested-gt_u")
+ (drop
+ (i32x4.gt_u
+ (i32x4.gt_u
+ (i32x4.gt_u
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (i32x4.gt_u
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ (i32x4.gt_u
+ (i32x4.gt_u
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (i32x4.gt_u
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ )
+ )
+ )
+ (func (export "nested-ge_s")
+ (drop
+ (i32x4.ge_s
+ (i32x4.ge_s
+ (i32x4.ge_s
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (i32x4.ge_s
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ (i32x4.ge_s
+ (i32x4.ge_s
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (i32x4.ge_s
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ )
+ )
+ )
+ (func (export "as-param")
+ (drop
+ (i32x4.ge_u
+ (i32x4.eq
+ (i32x4.lt_s
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (i32x4.le_u
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ (i32x4.ne
+ (i32x4.gt_s
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (i32x4.lt_u
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ )
+ )
+ )
+)`);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1731
+assert_return(() => invoke($1, `eq-in-block`, []), []);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1732
+assert_return(() => invoke($1, `ne-in-block`, []), []);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1733
+assert_return(() => invoke($1, `lt_s-in-block`, []), []);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1734
+assert_return(() => invoke($1, `le_u-in-block`, []), []);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1735
+assert_return(() => invoke($1, `gt_u-in-block`, []), []);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1736
+assert_return(() => invoke($1, `ge_s-in-block`, []), []);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1737
+assert_return(() => invoke($1, `nested-eq`, []), []);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1738
+assert_return(() => invoke($1, `nested-ne`, []), []);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1739
+assert_return(() => invoke($1, `nested-lt_s`, []), []);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1740
+assert_return(() => invoke($1, `nested-le_u`, []), []);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1741
+assert_return(() => invoke($1, `nested-gt_u`, []), []);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1742
+assert_return(() => invoke($1, `nested-ge_s`, []), []);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1743
+assert_return(() => invoke($1, `as-param`, []), []);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1748
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.eq-1st-arg-empty (result v128)
+ (i32x4.eq (v128.const i32x4 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1756
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.eq-arg-empty (result v128)
+ (i32x4.eq)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1764
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.ne-1st-arg-empty (result v128)
+ (i32x4.ne (v128.const i32x4 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1772
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.ne-arg-empty (result v128)
+ (i32x4.ne)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1780
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.lt_s-1st-arg-empty (result v128)
+ (i32x4.lt_s (v128.const i32x4 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1788
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.lt_s-arg-empty (result v128)
+ (i32x4.lt_s)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1796
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.lt_u-1st-arg-empty (result v128)
+ (i32x4.lt_u (v128.const i32x4 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1804
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.lt_u-arg-empty (result v128)
+ (i32x4.lt_u)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1812
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.le_s-1st-arg-empty (result v128)
+ (i32x4.le_s (v128.const i32x4 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1820
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.le_s-arg-empty (result v128)
+ (i32x4.le_s)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1828
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.le_u-1st-arg-empty (result v128)
+ (i32x4.le_u (v128.const i32x4 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1836
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.le_u-arg-empty (result v128)
+ (i32x4.le_u)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1844
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.gt_s-1st-arg-empty (result v128)
+ (i32x4.gt_s (v128.const i32x4 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1852
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.gt_s-arg-empty (result v128)
+ (i32x4.gt_s)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1860
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.gt_u-1st-arg-empty (result v128)
+ (i32x4.gt_u (v128.const i32x4 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1868
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.gt_u-arg-empty (result v128)
+ (i32x4.gt_u)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1876
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.ge_s-1st-arg-empty (result v128)
+ (i32x4.ge_s (v128.const i32x4 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1884
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.ge_s-arg-empty (result v128)
+ (i32x4.ge_s)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1892
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.ge_u-1st-arg-empty (result v128)
+ (i32x4.ge_u (v128.const i32x4 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1900
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.ge_u-arg-empty (result v128)
+ (i32x4.ge_u)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1910
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param $$x v128) (param $$y v128) (result v128) (i4x32.eq (local.get $$x) (local.get $$y))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1911
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param $$x v128) (param $$y v128) (result v128) (i4x32.ne (local.get $$x) (local.get $$y))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1912
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param $$x v128) (param $$y v128) (result v128) (i4x32.lt_s (local.get $$x) (local.get $$y))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1913
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param $$x v128) (param $$y v128) (result v128) (i4x32.lt_u (local.get $$x) (local.get $$y))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1914
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param $$x v128) (param $$y v128) (result v128) (i4x32.le_s (local.get $$x) (local.get $$y))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1915
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param $$x v128) (param $$y v128) (result v128) (i4x32.le_u (local.get $$x) (local.get $$y))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1916
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param $$x v128) (param $$y v128) (result v128) (i4x32.gt_s (local.get $$x) (local.get $$y))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1917
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param $$x v128) (param $$y v128) (result v128) (i4x32.gt_u (local.get $$x) (local.get $$y))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1918
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param $$x v128) (param $$y v128) (result v128) (i4x32.ge_s (local.get $$x) (local.get $$y))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_i32x4_cmp.wast:1919
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param $$x v128) (param $$y v128) (result v128) (i4x32.ge_u (local.get $$x) (local.get $$y))) `),
+ `unknown operator`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/simd_i32x4_dot_i16x8.wast.js b/js/src/jit-test/tests/wasm/spec/spec/simd_i32x4_dot_i16x8.wast.js
new file mode 100644
index 0000000000..be80d0d2e8
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/simd_i32x4_dot_i16x8.wast.js
@@ -0,0 +1,283 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_i32x4_dot_i16x8.wast
+
+// ./test/core/simd/simd_i32x4_dot_i16x8.wast:4
+let $0 = instantiate(`(module
+ (func (export "i32x4.dot_i16x8_s") (param v128 v128) (result v128) (i32x4.dot_i16x8_s (local.get 0) (local.get 1)))
+)`);
+
+// ./test/core/simd/simd_i32x4_dot_i16x8.wast:10
+assert_return(
+ () => invoke($0, `i32x4.dot_i16x8_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_dot_i16x8.wast:13
+assert_return(
+ () => invoke($0, `i32x4.dot_i16x8_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_dot_i16x8.wast:16
+assert_return(
+ () => invoke($0, `i32x4.dot_i16x8_s`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0x2, 0x2, 0x2, 0x2])],
+);
+
+// ./test/core/simd/simd_i32x4_dot_i16x8.wast:19
+assert_return(
+ () => invoke($0, `i32x4.dot_i16x8_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_dot_i16x8.wast:22
+assert_return(
+ () => invoke($0, `i32x4.dot_i16x8_s`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0xfffffffe, 0xfffffffe, 0xfffffffe, 0xfffffffe])],
+);
+
+// ./test/core/simd/simd_i32x4_dot_i16x8.wast:25
+assert_return(
+ () => invoke($0, `i32x4.dot_i16x8_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0x2, 0x2, 0x2, 0x2])],
+);
+
+// ./test/core/simd/simd_i32x4_dot_i16x8.wast:28
+assert_return(
+ () => invoke($0, `i32x4.dot_i16x8_s`, [
+ i16x8([0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff]),
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ ]),
+ [i32x4([0x1fff8000, 0x1fff8000, 0x1fff8000, 0x1fff8000])],
+);
+
+// ./test/core/simd/simd_i32x4_dot_i16x8.wast:31
+assert_return(
+ () => invoke($0, `i32x4.dot_i16x8_s`, [
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ ]),
+ [i32x4([0x20000000, 0x20000000, 0x20000000, 0x20000000])],
+);
+
+// ./test/core/simd/simd_i32x4_dot_i16x8.wast:34
+assert_return(
+ () => invoke($0, `i32x4.dot_i16x8_s`, [
+ i16x8([0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001]),
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ ]),
+ [i32x4([0x1fff8000, 0x1fff8000, 0x1fff8000, 0x1fff8000])],
+);
+
+// ./test/core/simd/simd_i32x4_dot_i16x8.wast:37
+assert_return(
+ () => invoke($0, `i32x4.dot_i16x8_s`, [
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ ]),
+ [i32x4([0x20000000, 0x20000000, 0x20000000, 0x20000000])],
+);
+
+// ./test/core/simd/simd_i32x4_dot_i16x8.wast:40
+assert_return(
+ () => invoke($0, `i32x4.dot_i16x8_s`, [
+ i16x8([0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff]),
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ ]),
+ [i32x4([0x20008000, 0x20008000, 0x20008000, 0x20008000])],
+);
+
+// ./test/core/simd/simd_i32x4_dot_i16x8.wast:43
+assert_return(
+ () => invoke($0, `i32x4.dot_i16x8_s`, [
+ i16x8([0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0xfffa, 0xfffa, 0xfffa, 0xfffa])],
+);
+
+// ./test/core/simd/simd_i32x4_dot_i16x8.wast:46
+assert_return(
+ () => invoke($0, `i32x4.dot_i16x8_s`, [
+ i16x8([0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0xfffc, 0xfffc, 0xfffc, 0xfffc])],
+);
+
+// ./test/core/simd/simd_i32x4_dot_i16x8.wast:49
+assert_return(
+ () => invoke($0, `i32x4.dot_i16x8_s`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0xffff0000, 0xffff0000, 0xffff0000, 0xffff0000])],
+);
+
+// ./test/core/simd/simd_i32x4_dot_i16x8.wast:52
+assert_return(
+ () => invoke($0, `i32x4.dot_i16x8_s`, [
+ i16x8([0x8002, 0x8002, 0x8002, 0x8002, 0x8002, 0x8002, 0x8002, 0x8002]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0xfffc, 0xfffc, 0xfffc, 0xfffc])],
+);
+
+// ./test/core/simd/simd_i32x4_dot_i16x8.wast:55
+assert_return(
+ () => invoke($0, `i32x4.dot_i16x8_s`, [
+ i16x8([0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0xfffe, 0xfffe, 0xfffe, 0xfffe])],
+);
+
+// ./test/core/simd/simd_i32x4_dot_i16x8.wast:58
+assert_return(
+ () => invoke($0, `i32x4.dot_i16x8_s`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0x10000, 0x10000, 0x10000, 0x10000])],
+);
+
+// ./test/core/simd/simd_i32x4_dot_i16x8.wast:61
+assert_return(
+ () => invoke($0, `i32x4.dot_i16x8_s`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i32x4([0x7ffe0002, 0x7ffe0002, 0x7ffe0002, 0x7ffe0002])],
+);
+
+// ./test/core/simd/simd_i32x4_dot_i16x8.wast:64
+assert_return(
+ () => invoke($0, `i32x4.dot_i16x8_s`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000])],
+);
+
+// ./test/core/simd/simd_i32x4_dot_i16x8.wast:67
+assert_return(
+ () => invoke($0, `i32x4.dot_i16x8_s`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001]),
+ ]),
+ [i32x4([0x7fff0000, 0x7fff0000, 0x7fff0000, 0x7fff0000])],
+);
+
+// ./test/core/simd/simd_i32x4_dot_i16x8.wast:70
+assert_return(
+ () => invoke($0, `i32x4.dot_i16x8_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_dot_i16x8.wast:73
+assert_return(
+ () => invoke($0, `i32x4.dot_i16x8_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0xfffffffe, 0xfffffffe, 0xfffffffe, 0xfffffffe])],
+);
+
+// ./test/core/simd/simd_i32x4_dot_i16x8.wast:76
+assert_return(
+ () => invoke($0, `i32x4.dot_i16x8_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0x2, 0x2, 0x2, 0x2])],
+);
+
+// ./test/core/simd/simd_i32x4_dot_i16x8.wast:79
+assert_return(
+ () => invoke($0, `i32x4.dot_i16x8_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i32x4([0xffff0002, 0xffff0002, 0xffff0002, 0xffff0002])],
+);
+
+// ./test/core/simd/simd_i32x4_dot_i16x8.wast:82
+assert_return(
+ () => invoke($0, `i32x4.dot_i16x8_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i32x4([0x10000, 0x10000, 0x10000, 0x10000])],
+);
+
+// ./test/core/simd/simd_i32x4_dot_i16x8.wast:85
+assert_return(
+ () => invoke($0, `i32x4.dot_i16x8_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0x2, 0x2, 0x2, 0x2])],
+);
+
+// ./test/core/simd/simd_i32x4_dot_i16x8.wast:90
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i32x4.dot_i16x8_s (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_dot_i16x8.wast:94
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.dot_i16x8_s-1st-arg-empty (result v128)
+ (i32x4.dot_i16x8_s (v128.const i32x4 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_dot_i16x8.wast:102
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.dot_i16x8_s-arg-empty (result v128)
+ (i32x4.dot_i16x8_s)
+ )
+ )`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/simd_i32x4_extadd_pairwise_i16x8.wast.js b/js/src/jit-test/tests/wasm/spec/spec/simd_i32x4_extadd_pairwise_i16x8.wast.js
new file mode 100644
index 0000000000..910ae3c5b1
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/simd_i32x4_extadd_pairwise_i16x8.wast.js
@@ -0,0 +1,184 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_i32x4_extadd_pairwise_i16x8.wast
+
+// ./test/core/simd/simd_i32x4_extadd_pairwise_i16x8.wast:4
+let $0 = instantiate(`(module
+ (func (export "i32x4.extadd_pairwise_i16x8_s") (param v128) (result v128) (i32x4.extadd_pairwise_i16x8_s (local.get 0)))
+ (func (export "i32x4.extadd_pairwise_i16x8_u") (param v128) (result v128) (i32x4.extadd_pairwise_i16x8_u (local.get 0)))
+)`);
+
+// ./test/core/simd/simd_i32x4_extadd_pairwise_i16x8.wast:11
+assert_return(
+ () => invoke($0, `i32x4.extadd_pairwise_i16x8_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_extadd_pairwise_i16x8.wast:13
+assert_return(
+ () => invoke($0, `i32x4.extadd_pairwise_i16x8_s`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0x2, 0x2, 0x2, 0x2])],
+);
+
+// ./test/core/simd/simd_i32x4_extadd_pairwise_i16x8.wast:15
+assert_return(
+ () => invoke($0, `i32x4.extadd_pairwise_i16x8_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0xfffffffe, 0xfffffffe, 0xfffffffe, 0xfffffffe])],
+);
+
+// ./test/core/simd/simd_i32x4_extadd_pairwise_i16x8.wast:17
+assert_return(
+ () => invoke($0, `i32x4.extadd_pairwise_i16x8_s`, [
+ i16x8([0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe]),
+ ]),
+ [i32x4([0xfffc, 0xfffc, 0xfffc, 0xfffc])],
+);
+
+// ./test/core/simd/simd_i32x4_extadd_pairwise_i16x8.wast:19
+assert_return(
+ () => invoke($0, `i32x4.extadd_pairwise_i16x8_s`, [
+ i16x8([0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001]),
+ ]),
+ [i32x4([0xffff0002, 0xffff0002, 0xffff0002, 0xffff0002])],
+);
+
+// ./test/core/simd/simd_i32x4_extadd_pairwise_i16x8.wast:21
+assert_return(
+ () => invoke($0, `i32x4.extadd_pairwise_i16x8_s`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i32x4([0xffff0000, 0xffff0000, 0xffff0000, 0xffff0000])],
+);
+
+// ./test/core/simd/simd_i32x4_extadd_pairwise_i16x8.wast:23
+assert_return(
+ () => invoke($0, `i32x4.extadd_pairwise_i16x8_s`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i32x4([0xfffe, 0xfffe, 0xfffe, 0xfffe])],
+);
+
+// ./test/core/simd/simd_i32x4_extadd_pairwise_i16x8.wast:25
+assert_return(
+ () => invoke($0, `i32x4.extadd_pairwise_i16x8_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0xfffffffe, 0xfffffffe, 0xfffffffe, 0xfffffffe])],
+);
+
+// ./test/core/simd/simd_i32x4_extadd_pairwise_i16x8.wast:29
+assert_return(
+ () => invoke($0, `i32x4.extadd_pairwise_i16x8_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_extadd_pairwise_i16x8.wast:31
+assert_return(
+ () => invoke($0, `i32x4.extadd_pairwise_i16x8_u`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0x2, 0x2, 0x2, 0x2])],
+);
+
+// ./test/core/simd/simd_i32x4_extadd_pairwise_i16x8.wast:33
+assert_return(
+ () => invoke($0, `i32x4.extadd_pairwise_i16x8_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0x1fffe, 0x1fffe, 0x1fffe, 0x1fffe])],
+);
+
+// ./test/core/simd/simd_i32x4_extadd_pairwise_i16x8.wast:35
+assert_return(
+ () => invoke($0, `i32x4.extadd_pairwise_i16x8_u`, [
+ i16x8([0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe]),
+ ]),
+ [i32x4([0xfffc, 0xfffc, 0xfffc, 0xfffc])],
+);
+
+// ./test/core/simd/simd_i32x4_extadd_pairwise_i16x8.wast:37
+assert_return(
+ () => invoke($0, `i32x4.extadd_pairwise_i16x8_u`, [
+ i16x8([0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001]),
+ ]),
+ [i32x4([0x10002, 0x10002, 0x10002, 0x10002])],
+);
+
+// ./test/core/simd/simd_i32x4_extadd_pairwise_i16x8.wast:39
+assert_return(
+ () => invoke($0, `i32x4.extadd_pairwise_i16x8_u`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i32x4([0x10000, 0x10000, 0x10000, 0x10000])],
+);
+
+// ./test/core/simd/simd_i32x4_extadd_pairwise_i16x8.wast:41
+assert_return(
+ () => invoke($0, `i32x4.extadd_pairwise_i16x8_u`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i32x4([0xfffe, 0xfffe, 0xfffe, 0xfffe])],
+);
+
+// ./test/core/simd/simd_i32x4_extadd_pairwise_i16x8.wast:43
+assert_return(
+ () => invoke($0, `i32x4.extadd_pairwise_i16x8_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0x1fffe, 0x1fffe, 0x1fffe, 0x1fffe])],
+);
+
+// ./test/core/simd/simd_i32x4_extadd_pairwise_i16x8.wast:47
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i32x4.extadd_pairwise_i16x8_s (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_extadd_pairwise_i16x8.wast:48
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i32x4.extadd_pairwise_i16x8_u (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_extadd_pairwise_i16x8.wast:52
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.extadd_pairwise_i16x8_s-arg-empty (result v128)
+ (i32x4.extadd_pairwise_i16x8_s)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_extadd_pairwise_i16x8.wast:60
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.extadd_pairwise_i16x8_u-arg-empty (result v128)
+ (i32x4.extadd_pairwise_i16x8_u)
+ )
+ )`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/simd_i32x4_extmul_i16x8.wast.js b/js/src/jit-test/tests/wasm/spec/spec/simd_i32x4_extmul_i16x8.wast.js
new file mode 100644
index 0000000000..8fc1d05e97
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/simd_i32x4_extmul_i16x8.wast.js
@@ -0,0 +1,1066 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:4
+let $0 = instantiate(`(module
+ (func (export "i32x4.extmul_low_i16x8_s") (param v128 v128) (result v128) (i32x4.extmul_low_i16x8_s (local.get 0) (local.get 1)))
+ (func (export "i32x4.extmul_high_i16x8_s") (param v128 v128) (result v128) (i32x4.extmul_high_i16x8_s (local.get 0) (local.get 1)))
+ (func (export "i32x4.extmul_low_i16x8_u") (param v128 v128) (result v128) (i32x4.extmul_low_i16x8_u (local.get 0) (local.get 1)))
+ (func (export "i32x4.extmul_high_i16x8_u") (param v128 v128) (result v128) (i32x4.extmul_high_i16x8_u (local.get 0) (local.get 1)))
+)`);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:13
+assert_return(
+ () => invoke($0, `i32x4.extmul_low_i16x8_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:16
+assert_return(
+ () => invoke($0, `i32x4.extmul_low_i16x8_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:19
+assert_return(
+ () => invoke($0, `i32x4.extmul_low_i16x8_s`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:22
+assert_return(
+ () => invoke($0, `i32x4.extmul_low_i16x8_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:25
+assert_return(
+ () => invoke($0, `i32x4.extmul_low_i16x8_s`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:28
+assert_return(
+ () => invoke($0, `i32x4.extmul_low_i16x8_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:31
+assert_return(
+ () => invoke($0, `i32x4.extmul_low_i16x8_s`, [
+ i16x8([0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff]),
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ ]),
+ [i32x4([0xfffc000, 0xfffc000, 0xfffc000, 0xfffc000])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:34
+assert_return(
+ () => invoke($0, `i32x4.extmul_low_i16x8_s`, [
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ ]),
+ [i32x4([0x10000000, 0x10000000, 0x10000000, 0x10000000])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:37
+assert_return(
+ () => invoke($0, `i32x4.extmul_low_i16x8_s`, [
+ i16x8([0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001]),
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ ]),
+ [i32x4([0xfffc000, 0xfffc000, 0xfffc000, 0xfffc000])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:40
+assert_return(
+ () => invoke($0, `i32x4.extmul_low_i16x8_s`, [
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ ]),
+ [i32x4([0x10000000, 0x10000000, 0x10000000, 0x10000000])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:43
+assert_return(
+ () => invoke($0, `i32x4.extmul_low_i16x8_s`, [
+ i16x8([0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff]),
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ ]),
+ [i32x4([0x10004000, 0x10004000, 0x10004000, 0x10004000])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:46
+assert_return(
+ () => invoke($0, `i32x4.extmul_low_i16x8_s`, [
+ i16x8([0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:49
+assert_return(
+ () => invoke($0, `i32x4.extmul_low_i16x8_s`, [
+ i16x8([0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:52
+assert_return(
+ () => invoke($0, `i32x4.extmul_low_i16x8_s`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0xffff8000, 0xffff8000, 0xffff8000, 0xffff8000])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:55
+assert_return(
+ () => invoke($0, `i32x4.extmul_low_i16x8_s`, [
+ i16x8([0x8002, 0x8002, 0x8002, 0x8002, 0x8002, 0x8002, 0x8002, 0x8002]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:58
+assert_return(
+ () => invoke($0, `i32x4.extmul_low_i16x8_s`, [
+ i16x8([0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:61
+assert_return(
+ () => invoke($0, `i32x4.extmul_low_i16x8_s`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:64
+assert_return(
+ () => invoke($0, `i32x4.extmul_low_i16x8_s`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i32x4([0x3fff0001, 0x3fff0001, 0x3fff0001, 0x3fff0001])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:67
+assert_return(
+ () => invoke($0, `i32x4.extmul_low_i16x8_s`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i32x4([0x40000000, 0x40000000, 0x40000000, 0x40000000])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:70
+assert_return(
+ () => invoke($0, `i32x4.extmul_low_i16x8_s`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001]),
+ ]),
+ [i32x4([0x3fff8000, 0x3fff8000, 0x3fff8000, 0x3fff8000])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:73
+assert_return(
+ () => invoke($0, `i32x4.extmul_low_i16x8_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:76
+assert_return(
+ () => invoke($0, `i32x4.extmul_low_i16x8_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:79
+assert_return(
+ () => invoke($0, `i32x4.extmul_low_i16x8_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:82
+assert_return(
+ () => invoke($0, `i32x4.extmul_low_i16x8_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i32x4([0xffff8001, 0xffff8001, 0xffff8001, 0xffff8001])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:85
+assert_return(
+ () => invoke($0, `i32x4.extmul_low_i16x8_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i32x4([0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:88
+assert_return(
+ () => invoke($0, `i32x4.extmul_low_i16x8_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:93
+assert_return(
+ () => invoke($0, `i32x4.extmul_high_i16x8_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:96
+assert_return(
+ () => invoke($0, `i32x4.extmul_high_i16x8_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:99
+assert_return(
+ () => invoke($0, `i32x4.extmul_high_i16x8_s`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:102
+assert_return(
+ () => invoke($0, `i32x4.extmul_high_i16x8_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:105
+assert_return(
+ () => invoke($0, `i32x4.extmul_high_i16x8_s`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:108
+assert_return(
+ () => invoke($0, `i32x4.extmul_high_i16x8_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:111
+assert_return(
+ () => invoke($0, `i32x4.extmul_high_i16x8_s`, [
+ i16x8([0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff]),
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ ]),
+ [i32x4([0xfffc000, 0xfffc000, 0xfffc000, 0xfffc000])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:114
+assert_return(
+ () => invoke($0, `i32x4.extmul_high_i16x8_s`, [
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ ]),
+ [i32x4([0x10000000, 0x10000000, 0x10000000, 0x10000000])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:117
+assert_return(
+ () => invoke($0, `i32x4.extmul_high_i16x8_s`, [
+ i16x8([0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001]),
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ ]),
+ [i32x4([0xfffc000, 0xfffc000, 0xfffc000, 0xfffc000])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:120
+assert_return(
+ () => invoke($0, `i32x4.extmul_high_i16x8_s`, [
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ ]),
+ [i32x4([0x10000000, 0x10000000, 0x10000000, 0x10000000])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:123
+assert_return(
+ () => invoke($0, `i32x4.extmul_high_i16x8_s`, [
+ i16x8([0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff]),
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ ]),
+ [i32x4([0x10004000, 0x10004000, 0x10004000, 0x10004000])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:126
+assert_return(
+ () => invoke($0, `i32x4.extmul_high_i16x8_s`, [
+ i16x8([0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:129
+assert_return(
+ () => invoke($0, `i32x4.extmul_high_i16x8_s`, [
+ i16x8([0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:132
+assert_return(
+ () => invoke($0, `i32x4.extmul_high_i16x8_s`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0xffff8000, 0xffff8000, 0xffff8000, 0xffff8000])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:135
+assert_return(
+ () => invoke($0, `i32x4.extmul_high_i16x8_s`, [
+ i16x8([0x8002, 0x8002, 0x8002, 0x8002, 0x8002, 0x8002, 0x8002, 0x8002]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:138
+assert_return(
+ () => invoke($0, `i32x4.extmul_high_i16x8_s`, [
+ i16x8([0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:141
+assert_return(
+ () => invoke($0, `i32x4.extmul_high_i16x8_s`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:144
+assert_return(
+ () => invoke($0, `i32x4.extmul_high_i16x8_s`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i32x4([0x3fff0001, 0x3fff0001, 0x3fff0001, 0x3fff0001])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:147
+assert_return(
+ () => invoke($0, `i32x4.extmul_high_i16x8_s`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i32x4([0x40000000, 0x40000000, 0x40000000, 0x40000000])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:150
+assert_return(
+ () => invoke($0, `i32x4.extmul_high_i16x8_s`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001]),
+ ]),
+ [i32x4([0x3fff8000, 0x3fff8000, 0x3fff8000, 0x3fff8000])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:153
+assert_return(
+ () => invoke($0, `i32x4.extmul_high_i16x8_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:156
+assert_return(
+ () => invoke($0, `i32x4.extmul_high_i16x8_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:159
+assert_return(
+ () => invoke($0, `i32x4.extmul_high_i16x8_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:162
+assert_return(
+ () => invoke($0, `i32x4.extmul_high_i16x8_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i32x4([0xffff8001, 0xffff8001, 0xffff8001, 0xffff8001])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:165
+assert_return(
+ () => invoke($0, `i32x4.extmul_high_i16x8_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i32x4([0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:168
+assert_return(
+ () => invoke($0, `i32x4.extmul_high_i16x8_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:173
+assert_return(
+ () => invoke($0, `i32x4.extmul_low_i16x8_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:176
+assert_return(
+ () => invoke($0, `i32x4.extmul_low_i16x8_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:179
+assert_return(
+ () => invoke($0, `i32x4.extmul_low_i16x8_u`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:182
+assert_return(
+ () => invoke($0, `i32x4.extmul_low_i16x8_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:185
+assert_return(
+ () => invoke($0, `i32x4.extmul_low_i16x8_u`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:188
+assert_return(
+ () => invoke($0, `i32x4.extmul_low_i16x8_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0xfffe0001, 0xfffe0001, 0xfffe0001, 0xfffe0001])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:191
+assert_return(
+ () => invoke($0, `i32x4.extmul_low_i16x8_u`, [
+ i16x8([0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff]),
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ ]),
+ [i32x4([0xfffc000, 0xfffc000, 0xfffc000, 0xfffc000])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:194
+assert_return(
+ () => invoke($0, `i32x4.extmul_low_i16x8_u`, [
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ ]),
+ [i32x4([0x10000000, 0x10000000, 0x10000000, 0x10000000])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:197
+assert_return(
+ () => invoke($0, `i32x4.extmul_low_i16x8_u`, [
+ i16x8([0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001]),
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ ]),
+ [i32x4([0x9000c000, 0x9000c000, 0x9000c000, 0x9000c000])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:200
+assert_return(
+ () => invoke($0, `i32x4.extmul_low_i16x8_u`, [
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ ]),
+ [i32x4([0x90000000, 0x90000000, 0x90000000, 0x90000000])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:203
+assert_return(
+ () => invoke($0, `i32x4.extmul_low_i16x8_u`, [
+ i16x8([0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff]),
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ ]),
+ [i32x4([0x8fff4000, 0x8fff4000, 0x8fff4000, 0x8fff4000])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:206
+assert_return(
+ () => invoke($0, `i32x4.extmul_low_i16x8_u`, [
+ i16x8([0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:209
+assert_return(
+ () => invoke($0, `i32x4.extmul_low_i16x8_u`, [
+ i16x8([0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:212
+assert_return(
+ () => invoke($0, `i32x4.extmul_low_i16x8_u`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:215
+assert_return(
+ () => invoke($0, `i32x4.extmul_low_i16x8_u`, [
+ i16x8([0x8002, 0x8002, 0x8002, 0x8002, 0x8002, 0x8002, 0x8002, 0x8002]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0x80017ffe, 0x80017ffe, 0x80017ffe, 0x80017ffe])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:218
+assert_return(
+ () => invoke($0, `i32x4.extmul_low_i16x8_u`, [
+ i16x8([0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0x80007fff, 0x80007fff, 0x80007fff, 0x80007fff])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:221
+assert_return(
+ () => invoke($0, `i32x4.extmul_low_i16x8_u`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0x7fff8000, 0x7fff8000, 0x7fff8000, 0x7fff8000])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:224
+assert_return(
+ () => invoke($0, `i32x4.extmul_low_i16x8_u`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i32x4([0x3fff0001, 0x3fff0001, 0x3fff0001, 0x3fff0001])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:227
+assert_return(
+ () => invoke($0, `i32x4.extmul_low_i16x8_u`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i32x4([0x40000000, 0x40000000, 0x40000000, 0x40000000])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:230
+assert_return(
+ () => invoke($0, `i32x4.extmul_low_i16x8_u`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001]),
+ ]),
+ [i32x4([0x40008000, 0x40008000, 0x40008000, 0x40008000])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:233
+assert_return(
+ () => invoke($0, `i32x4.extmul_low_i16x8_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:236
+assert_return(
+ () => invoke($0, `i32x4.extmul_low_i16x8_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:239
+assert_return(
+ () => invoke($0, `i32x4.extmul_low_i16x8_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0xfffe0001, 0xfffe0001, 0xfffe0001, 0xfffe0001])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:242
+assert_return(
+ () => invoke($0, `i32x4.extmul_low_i16x8_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i32x4([0x7ffe8001, 0x7ffe8001, 0x7ffe8001, 0x7ffe8001])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:245
+assert_return(
+ () => invoke($0, `i32x4.extmul_low_i16x8_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i32x4([0x7fff8000, 0x7fff8000, 0x7fff8000, 0x7fff8000])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:248
+assert_return(
+ () => invoke($0, `i32x4.extmul_low_i16x8_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0xfffe0001, 0xfffe0001, 0xfffe0001, 0xfffe0001])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:253
+assert_return(
+ () => invoke($0, `i32x4.extmul_high_i16x8_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:256
+assert_return(
+ () => invoke($0, `i32x4.extmul_high_i16x8_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:259
+assert_return(
+ () => invoke($0, `i32x4.extmul_high_i16x8_u`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:262
+assert_return(
+ () => invoke($0, `i32x4.extmul_high_i16x8_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:265
+assert_return(
+ () => invoke($0, `i32x4.extmul_high_i16x8_u`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:268
+assert_return(
+ () => invoke($0, `i32x4.extmul_high_i16x8_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0xfffe0001, 0xfffe0001, 0xfffe0001, 0xfffe0001])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:271
+assert_return(
+ () => invoke($0, `i32x4.extmul_high_i16x8_u`, [
+ i16x8([0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff]),
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ ]),
+ [i32x4([0xfffc000, 0xfffc000, 0xfffc000, 0xfffc000])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:274
+assert_return(
+ () => invoke($0, `i32x4.extmul_high_i16x8_u`, [
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ i16x8([0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000]),
+ ]),
+ [i32x4([0x10000000, 0x10000000, 0x10000000, 0x10000000])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:277
+assert_return(
+ () => invoke($0, `i32x4.extmul_high_i16x8_u`, [
+ i16x8([0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001, 0xc001]),
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ ]),
+ [i32x4([0x9000c000, 0x9000c000, 0x9000c000, 0x9000c000])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:280
+assert_return(
+ () => invoke($0, `i32x4.extmul_high_i16x8_u`, [
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ ]),
+ [i32x4([0x90000000, 0x90000000, 0x90000000, 0x90000000])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:283
+assert_return(
+ () => invoke($0, `i32x4.extmul_high_i16x8_u`, [
+ i16x8([0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff, 0xbfff]),
+ i16x8([0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000]),
+ ]),
+ [i32x4([0x8fff4000, 0x8fff4000, 0x8fff4000, 0x8fff4000])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:286
+assert_return(
+ () => invoke($0, `i32x4.extmul_high_i16x8_u`, [
+ i16x8([0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0x7ffd, 0x7ffd, 0x7ffd, 0x7ffd])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:289
+assert_return(
+ () => invoke($0, `i32x4.extmul_high_i16x8_u`, [
+ i16x8([0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:292
+assert_return(
+ () => invoke($0, `i32x4.extmul_high_i16x8_u`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:295
+assert_return(
+ () => invoke($0, `i32x4.extmul_high_i16x8_u`, [
+ i16x8([0x8002, 0x8002, 0x8002, 0x8002, 0x8002, 0x8002, 0x8002, 0x8002]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0x80017ffe, 0x80017ffe, 0x80017ffe, 0x80017ffe])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:298
+assert_return(
+ () => invoke($0, `i32x4.extmul_high_i16x8_u`, [
+ i16x8([0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0x80007fff, 0x80007fff, 0x80007fff, 0x80007fff])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:301
+assert_return(
+ () => invoke($0, `i32x4.extmul_high_i16x8_u`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0x7fff8000, 0x7fff8000, 0x7fff8000, 0x7fff8000])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:304
+assert_return(
+ () => invoke($0, `i32x4.extmul_high_i16x8_u`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i32x4([0x3fff0001, 0x3fff0001, 0x3fff0001, 0x3fff0001])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:307
+assert_return(
+ () => invoke($0, `i32x4.extmul_high_i16x8_u`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i32x4([0x40000000, 0x40000000, 0x40000000, 0x40000000])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:310
+assert_return(
+ () => invoke($0, `i32x4.extmul_high_i16x8_u`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ i16x8([0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001, 0x8001]),
+ ]),
+ [i32x4([0x40008000, 0x40008000, 0x40008000, 0x40008000])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:313
+assert_return(
+ () => invoke($0, `i32x4.extmul_high_i16x8_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:316
+assert_return(
+ () => invoke($0, `i32x4.extmul_high_i16x8_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:319
+assert_return(
+ () => invoke($0, `i32x4.extmul_high_i16x8_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0xfffe0001, 0xfffe0001, 0xfffe0001, 0xfffe0001])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:322
+assert_return(
+ () => invoke($0, `i32x4.extmul_high_i16x8_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i32x4([0x7ffe8001, 0x7ffe8001, 0x7ffe8001, 0x7ffe8001])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:325
+assert_return(
+ () => invoke($0, `i32x4.extmul_high_i16x8_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i32x4([0x7fff8000, 0x7fff8000, 0x7fff8000, 0x7fff8000])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:328
+assert_return(
+ () => invoke($0, `i32x4.extmul_high_i16x8_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0xfffe0001, 0xfffe0001, 0xfffe0001, 0xfffe0001])],
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:333
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i32x4.extmul_low_i16x8_s (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:334
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i32x4.extmul_high_i16x8_s (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:335
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i32x4.extmul_low_i16x8_u (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:336
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i32x4.extmul_high_i16x8_u (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:340
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.extmul_low_i16x8_s-1st-arg-empty (result v128)
+ (i32x4.extmul_low_i16x8_s (v128.const i32x4 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:348
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.extmul_low_i16x8_s-arg-empty (result v128)
+ (i32x4.extmul_low_i16x8_s)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:356
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.extmul_high_i16x8_s-1st-arg-empty (result v128)
+ (i32x4.extmul_high_i16x8_s (v128.const i32x4 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:364
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.extmul_high_i16x8_s-arg-empty (result v128)
+ (i32x4.extmul_high_i16x8_s)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:372
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.extmul_low_i16x8_u-1st-arg-empty (result v128)
+ (i32x4.extmul_low_i16x8_u (v128.const i32x4 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:380
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.extmul_low_i16x8_u-arg-empty (result v128)
+ (i32x4.extmul_low_i16x8_u)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:388
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.extmul_high_i16x8_u-1st-arg-empty (result v128)
+ (i32x4.extmul_high_i16x8_u (v128.const i32x4 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_extmul_i16x8.wast:396
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.extmul_high_i16x8_u-arg-empty (result v128)
+ (i32x4.extmul_high_i16x8_u)
+ )
+ )`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/simd_i32x4_trunc_sat_f32x4.wast.js b/js/src/jit-test/tests/wasm/spec/spec/simd_i32x4_trunc_sat_f32x4.wast.js
new file mode 100644
index 0000000000..bc24976ff9
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/simd_i32x4_trunc_sat_f32x4.wast.js
@@ -0,0 +1,1016 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:3
+let $0 = instantiate(`(module
+ (func (export "i32x4.trunc_sat_f32x4_s") (param v128) (result v128) (i32x4.trunc_sat_f32x4_s (local.get 0)))
+ (func (export "i32x4.trunc_sat_f32x4_u") (param v128) (result v128) (i32x4.trunc_sat_f32x4_u (local.get 0)))
+)`);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:10
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_s`, [f32x4([0, 0, 0, 0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:12
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_s`, [f32x4([-0, -0, -0, -0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:14
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_s`, [f32x4([1.5, 1.5, 1.5, 1.5])]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:16
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_s`, [f32x4([-1.5, -1.5, -1.5, -1.5])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:18
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_s`, [f32x4([1.9, 1.9, 1.9, 1.9])]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:20
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_s`, [f32x4([2, 2, 2, 2])]),
+ [i32x4([0x2, 0x2, 0x2, 0x2])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:22
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_s`, [f32x4([-1.9, -1.9, -1.9, -1.9])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:24
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_s`, [f32x4([-2, -2, -2, -2])]),
+ [i32x4([0xfffffffe, 0xfffffffe, 0xfffffffe, 0xfffffffe])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:26
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_s`, [
+ f32x4([2147483500, 2147483500, 2147483500, 2147483500]),
+ ]),
+ [i32x4([0x7fffff80, 0x7fffff80, 0x7fffff80, 0x7fffff80])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:28
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_s`, [
+ f32x4([-2147483500, -2147483500, -2147483500, -2147483500]),
+ ]),
+ [i32x4([0x80000080, 0x80000080, 0x80000080, 0x80000080])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:30
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_s`, [
+ f32x4([2147483600, 2147483600, 2147483600, 2147483600]),
+ ]),
+ [i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:32
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_s`, [
+ f32x4([-2147483600, -2147483600, -2147483600, -2147483600]),
+ ]),
+ [i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:34
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_s`, [
+ f32x4([4294967300, 4294967300, 4294967300, 4294967300]),
+ ]),
+ [i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:36
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_s`, [
+ f32x4([-4294967300, -4294967300, -4294967300, -4294967300]),
+ ]),
+ [i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:38
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_s`, [
+ f32x4([2147483600, 2147483600, 2147483600, 2147483600]),
+ ]),
+ [i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:40
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_s`, [
+ f32x4([-2147483600, -2147483600, -2147483600, -2147483600]),
+ ]),
+ [i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:42
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_s`, [
+ f32x4([4294967300, 4294967300, 4294967300, 4294967300]),
+ ]),
+ [i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:44
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_s`, [
+ f32x4([4294967300, 4294967300, 4294967300, 4294967300]),
+ ]),
+ [i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:46
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_s`, [
+ f32x4([4294967300, 4294967300, 4294967300, 4294967300]),
+ ]),
+ [i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:48
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_s`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:50
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_s`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:52
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_s`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:54
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_s`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:56
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_s`, [f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:58
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_s`, [f32x4([-0.5, -0.5, -0.5, -0.5])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:60
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_s`, [f32x4([1, 1, 1, 1])]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:62
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_s`, [f32x4([-1, -1, -1, -1])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:64
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_s`, [f32x4([1.1, 1.1, 1.1, 1.1])]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:66
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_s`, [f32x4([-1.1, -1.1, -1.1, -1.1])]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:68
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_s`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x6, 0x6, 0x6, 0x6])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:70
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_s`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0xfffffffa, 0xfffffffa, 0xfffffffa, 0xfffffffa])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:72
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_s`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:74
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_s`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:76
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_s`, [f32x4([0.9, 0.9, 0.9, 0.9])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:78
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_s`, [f32x4([-0.9, -0.9, -0.9, -0.9])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:80
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_s`, [
+ f32x4([0.99999994, 0.99999994, 0.99999994, 0.99999994]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:82
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_s`, [
+ f32x4([-0.99999994, -0.99999994, -0.99999994, -0.99999994]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:84
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_s`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x6, 0x6, 0x6, 0x6])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:86
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_s`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0xfffffffa, 0xfffffffa, 0xfffffffa, 0xfffffffa])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:88
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_s`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:90
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_s`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:92
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_s`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:94
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_s`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:96
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_s`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:98
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_s`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:100
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_s`, [
+ bytes('v128', [
+ 0x44,
+ 0x44,
+ 0xc4,
+ 0x7f,
+ 0x44,
+ 0x44,
+ 0xc4,
+ 0x7f,
+ 0x44,
+ 0x44,
+ 0xc4,
+ 0x7f,
+ 0x44,
+ 0x44,
+ 0xc4,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:102
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_s`, [
+ bytes('v128', [
+ 0x44,
+ 0x44,
+ 0xc4,
+ 0xff,
+ 0x44,
+ 0x44,
+ 0xc4,
+ 0xff,
+ 0x44,
+ 0x44,
+ 0xc4,
+ 0xff,
+ 0x44,
+ 0x44,
+ 0xc4,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:104
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_s`, [f32x4([42, 42, 42, 42])]),
+ [i32x4([0x2a, 0x2a, 0x2a, 0x2a])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:106
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_s`, [f32x4([-42, -42, -42, -42])]),
+ [i32x4([0xffffffd6, 0xffffffd6, 0xffffffd6, 0xffffffd6])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:108
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_s`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [i32x4([0x75bcd18, 0x75bcd18, 0x75bcd18, 0x75bcd18])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:110
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_s`, [
+ f32x4([1234568000, 1234568000, 1234568000, 1234568000]),
+ ]),
+ [i32x4([0x49960300, 0x49960300, 0x49960300, 0x49960300])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:114
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_u`, [f32x4([0, 0, 0, 0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:116
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_u`, [f32x4([-0, -0, -0, -0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:118
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_u`, [f32x4([1.5, 1.5, 1.5, 1.5])]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:120
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_u`, [f32x4([-1.5, -1.5, -1.5, -1.5])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:122
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_u`, [f32x4([1.9, 1.9, 1.9, 1.9])]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:124
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_u`, [f32x4([2, 2, 2, 2])]),
+ [i32x4([0x2, 0x2, 0x2, 0x2])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:126
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_u`, [f32x4([-1.9, -1.9, -1.9, -1.9])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:128
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_u`, [f32x4([-2, -2, -2, -2])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:130
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_u`, [
+ f32x4([2147483500, 2147483500, 2147483500, 2147483500]),
+ ]),
+ [i32x4([0x7fffff80, 0x7fffff80, 0x7fffff80, 0x7fffff80])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:132
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_u`, [
+ f32x4([-2147483500, -2147483500, -2147483500, -2147483500]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:134
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_u`, [
+ f32x4([2147483600, 2147483600, 2147483600, 2147483600]),
+ ]),
+ [i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:136
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_u`, [
+ f32x4([-2147483600, -2147483600, -2147483600, -2147483600]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:138
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_u`, [
+ f32x4([4294967300, 4294967300, 4294967300, 4294967300]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:140
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_u`, [
+ f32x4([-4294967300, -4294967300, -4294967300, -4294967300]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:142
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_u`, [
+ f32x4([2147483600, 2147483600, 2147483600, 2147483600]),
+ ]),
+ [i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:144
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_u`, [
+ f32x4([-2147483600, -2147483600, -2147483600, -2147483600]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:146
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_u`, [
+ f32x4([4294967300, 4294967300, 4294967300, 4294967300]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:148
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_u`, [
+ f32x4([4294967300, 4294967300, 4294967300, 4294967300]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:150
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_u`, [
+ f32x4([4294967300, 4294967300, 4294967300, 4294967300]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:152
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_u`, [
+ f32x4([
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ 0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:154
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_u`, [
+ f32x4([
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ -0.000000000000000000000000000000000000000000001,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:156
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_u`, [
+ f32x4([
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ 0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:158
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_u`, [
+ f32x4([
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ -0.000000000000000000000000000000000000011754944,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:160
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_u`, [f32x4([0.5, 0.5, 0.5, 0.5])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:162
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_u`, [f32x4([-0.5, -0.5, -0.5, -0.5])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:164
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_u`, [f32x4([1, 1, 1, 1])]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:166
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_u`, [f32x4([-1, -1, -1, -1])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:168
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_u`, [f32x4([1.1, 1.1, 1.1, 1.1])]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:170
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_u`, [f32x4([-1.1, -1.1, -1.1, -1.1])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:172
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_u`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x6, 0x6, 0x6, 0x6])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:174
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_u`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:176
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_u`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:178
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_u`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:180
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_u`, [f32x4([0.9, 0.9, 0.9, 0.9])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:182
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_u`, [f32x4([-0.9, -0.9, -0.9, -0.9])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:184
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_u`, [
+ f32x4([0.99999994, 0.99999994, 0.99999994, 0.99999994]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:186
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_u`, [
+ f32x4([-0.99999994, -0.99999994, -0.99999994, -0.99999994]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:188
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_u`, [
+ f32x4([6.2831855, 6.2831855, 6.2831855, 6.2831855]),
+ ]),
+ [i32x4([0x6, 0x6, 0x6, 0x6])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:190
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_u`, [
+ f32x4([-6.2831855, -6.2831855, -6.2831855, -6.2831855]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:192
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_u`, [
+ f32x4([
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ 340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:194
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_u`, [
+ f32x4([
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ -340282350000000000000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:196
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_u`, [
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:198
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_u`, [
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:200
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_u`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:202
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_u`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:204
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_u`, [
+ bytes('v128', [
+ 0x44,
+ 0x44,
+ 0xc4,
+ 0x7f,
+ 0x44,
+ 0x44,
+ 0xc4,
+ 0x7f,
+ 0x44,
+ 0x44,
+ 0xc4,
+ 0x7f,
+ 0x44,
+ 0x44,
+ 0xc4,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:206
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_u`, [
+ bytes('v128', [
+ 0x44,
+ 0x44,
+ 0xc4,
+ 0xff,
+ 0x44,
+ 0x44,
+ 0xc4,
+ 0xff,
+ 0x44,
+ 0x44,
+ 0xc4,
+ 0xff,
+ 0x44,
+ 0x44,
+ 0xc4,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:208
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_u`, [f32x4([42, 42, 42, 42])]),
+ [i32x4([0x2a, 0x2a, 0x2a, 0x2a])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:210
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_u`, [f32x4([-42, -42, -42, -42])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:212
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_u`, [
+ f32x4([123456790, 123456790, 123456790, 123456790]),
+ ]),
+ [i32x4([0x75bcd18, 0x75bcd18, 0x75bcd18, 0x75bcd18])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:214
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f32x4_u`, [
+ f32x4([1234568000, 1234568000, 1234568000, 1234568000]),
+ ]),
+ [i32x4([0x49960300, 0x49960300, 0x49960300, 0x49960300])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:218
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i32x4.trunc_sat_f32x4_s (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:219
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i32x4.trunc_sat_f32x4_u (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:223
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.trunc_sat_f32x4_s-arg-empty (result v128)
+ (i32x4.trunc_sat_f32x4_s)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f32x4.wast:231
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.trunc_sat_f32x4_u-arg-empty (result v128)
+ (i32x4.trunc_sat_f32x4_u)
+ )
+ )`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/simd_i32x4_trunc_sat_f64x2.wast.js b/js/src/jit-test/tests/wasm/spec/spec/simd_i32x4_trunc_sat_f64x2.wast.js
new file mode 100644
index 0000000000..72cf5568a8
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/simd_i32x4_trunc_sat_f64x2.wast.js
@@ -0,0 +1,940 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:3
+let $0 = instantiate(`(module
+ (func (export "i32x4.trunc_sat_f64x2_s_zero") (param v128) (result v128) (i32x4.trunc_sat_f64x2_s_zero (local.get 0)))
+ (func (export "i32x4.trunc_sat_f64x2_u_zero") (param v128) (result v128) (i32x4.trunc_sat_f64x2_u_zero (local.get 0)))
+)`);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:10
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_s_zero`, [f64x2([0, 0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:12
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_s_zero`, [f64x2([-0, -0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:14
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_s_zero`, [f64x2([1.5, 1.5])]),
+ [i32x4([0x1, 0x1, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:16
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_s_zero`, [f64x2([-1.5, -1.5])]),
+ [i32x4([0xffffffff, 0xffffffff, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:18
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_s_zero`, [f64x2([1.9, 1.9])]),
+ [i32x4([0x1, 0x1, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:20
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_s_zero`, [f64x2([2, 2])]),
+ [i32x4([0x2, 0x2, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:22
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_s_zero`, [f64x2([-1.9, -1.9])]),
+ [i32x4([0xffffffff, 0xffffffff, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:24
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_s_zero`, [f64x2([-2, -2])]),
+ [i32x4([0xfffffffe, 0xfffffffe, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:26
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_s_zero`, [f64x2([2147483520, 2147483520])]),
+ [i32x4([0x7fffff80, 0x7fffff80, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:28
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_s_zero`, [f64x2([-2147483520, -2147483520])]),
+ [i32x4([0x80000080, 0x80000080, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:30
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_s_zero`, [f64x2([2147483648, 2147483648])]),
+ [i32x4([0x7fffffff, 0x7fffffff, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:32
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_s_zero`, [f64x2([-2147483648, -2147483648])]),
+ [i32x4([0x80000000, 0x80000000, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:34
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_s_zero`, [f64x2([4294967294, 4294967294])]),
+ [i32x4([0x7fffffff, 0x7fffffff, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:36
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_s_zero`, [f64x2([-4294967294, -4294967294])]),
+ [i32x4([0x80000000, 0x80000000, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:38
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_s_zero`, [f64x2([2147483647, 2147483647])]),
+ [i32x4([0x7fffffff, 0x7fffffff, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:40
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_s_zero`, [f64x2([-2147483647, -2147483647])]),
+ [i32x4([0x80000001, 0x80000001, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:42
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_s_zero`, [f64x2([4294967294, 4294967294])]),
+ [i32x4([0x7fffffff, 0x7fffffff, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:44
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_s_zero`, [f64x2([4294967295, 4294967295])]),
+ [i32x4([0x7fffffff, 0x7fffffff, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:46
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_s_zero`, [f64x2([4294967296, 4294967296])]),
+ [i32x4([0x7fffffff, 0x7fffffff, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:48
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_s_zero`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000001401298464324817,
+ 0.000000000000000000000000000000000000000000001401298464324817,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:50
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_s_zero`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000001401298464324817,
+ -0.000000000000000000000000000000000000000000001401298464324817,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:52
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_s_zero`, [
+ f64x2([
+ 0.000000000000000000000000000000000000011754943508222875,
+ 0.000000000000000000000000000000000000011754943508222875,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:54
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_s_zero`, [
+ f64x2([
+ -0.000000000000000000000000000000000000011754943508222875,
+ -0.000000000000000000000000000000000000011754943508222875,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:56
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_s_zero`, [f64x2([0.5, 0.5])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:58
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_s_zero`, [f64x2([-0.5, -0.5])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:60
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_s_zero`, [f64x2([1, 1])]),
+ [i32x4([0x1, 0x1, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:62
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_s_zero`, [f64x2([-1, -1])]),
+ [i32x4([0xffffffff, 0xffffffff, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:64
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_s_zero`, [
+ f64x2([1.100000023841858, 1.100000023841858]),
+ ]),
+ [i32x4([0x1, 0x1, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:66
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_s_zero`, [
+ f64x2([-1.100000023841858, -1.100000023841858]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:68
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_s_zero`, [
+ f64x2([6.2831854820251465, 6.2831854820251465]),
+ ]),
+ [i32x4([0x6, 0x6, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:70
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_s_zero`, [
+ f64x2([-6.2831854820251465, -6.2831854820251465]),
+ ]),
+ [i32x4([0xfffffffa, 0xfffffffa, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:72
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_s_zero`, [
+ f64x2([
+ 340282346638528860000000000000000000000,
+ 340282346638528860000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x7fffffff, 0x7fffffff, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:74
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_s_zero`, [
+ f64x2([
+ -340282346638528860000000000000000000000,
+ -340282346638528860000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x80000000, 0x80000000, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:76
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_s_zero`, [
+ f64x2([0.8999999761581421, 0.8999999761581421]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:78
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_s_zero`, [
+ f64x2([-0.8999999761581421, -0.8999999761581421]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:80
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_s_zero`, [
+ f64x2([0.9999999403953552, 0.9999999403953552]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:82
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_s_zero`, [
+ f64x2([-0.9999999403953552, -0.9999999403953552]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:84
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_s_zero`, [
+ f64x2([6.2831854820251465, 6.2831854820251465]),
+ ]),
+ [i32x4([0x6, 0x6, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:86
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_s_zero`, [
+ f64x2([-6.2831854820251465, -6.2831854820251465]),
+ ]),
+ [i32x4([0xfffffffa, 0xfffffffa, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:88
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_s_zero`, [
+ f64x2([
+ 340282346638528860000000000000000000000,
+ 340282346638528860000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x7fffffff, 0x7fffffff, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:90
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_s_zero`, [
+ f64x2([
+ -340282346638528860000000000000000000000,
+ -340282346638528860000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x80000000, 0x80000000, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:92
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_s_zero`, [f64x2([Infinity, Infinity])]),
+ [i32x4([0x7fffffff, 0x7fffffff, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:94
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_s_zero`, [f64x2([-Infinity, -Infinity])]),
+ [i32x4([0x80000000, 0x80000000, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:96
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_s_zero`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:98
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_s_zero`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:100
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_s_zero`, [
+ bytes('v128', [
+ 0x44,
+ 0x44,
+ 0x44,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf0,
+ 0x7f,
+ 0x44,
+ 0x44,
+ 0x44,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:102
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_s_zero`, [
+ bytes('v128', [
+ 0x44,
+ 0x44,
+ 0x44,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf0,
+ 0xff,
+ 0x44,
+ 0x44,
+ 0x44,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:104
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_s_zero`, [f64x2([42, 42])]),
+ [i32x4([0x2a, 0x2a, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:106
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_s_zero`, [f64x2([-42, -42])]),
+ [i32x4([0xffffffd6, 0xffffffd6, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:108
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_s_zero`, [f64x2([123456792, 123456792])]),
+ [i32x4([0x75bcd18, 0x75bcd18, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:110
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_s_zero`, [f64x2([1234567890, 1234567890])]),
+ [i32x4([0x499602d2, 0x499602d2, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:114
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_u_zero`, [f64x2([0, 0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:116
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_u_zero`, [f64x2([-0, -0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:118
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_u_zero`, [f64x2([1.5, 1.5])]),
+ [i32x4([0x1, 0x1, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:120
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_u_zero`, [f64x2([-1.5, -1.5])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:122
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_u_zero`, [f64x2([1.9, 1.9])]),
+ [i32x4([0x1, 0x1, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:124
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_u_zero`, [f64x2([2, 2])]),
+ [i32x4([0x2, 0x2, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:126
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_u_zero`, [f64x2([-1.9, -1.9])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:128
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_u_zero`, [f64x2([-2, -2])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:130
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_u_zero`, [f64x2([2147483520, 2147483520])]),
+ [i32x4([0x7fffff80, 0x7fffff80, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:132
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_u_zero`, [f64x2([-2147483520, -2147483520])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:134
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_u_zero`, [f64x2([2147483648, 2147483648])]),
+ [i32x4([0x80000000, 0x80000000, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:136
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_u_zero`, [f64x2([-2147483648, -2147483648])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:138
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_u_zero`, [f64x2([4294967294, 4294967294])]),
+ [i32x4([0xfffffffe, 0xfffffffe, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:140
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_u_zero`, [f64x2([-4294967294, -4294967294])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:142
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_u_zero`, [f64x2([2147483647, 2147483647])]),
+ [i32x4([0x7fffffff, 0x7fffffff, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:144
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_u_zero`, [f64x2([-2147483647, -2147483647])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:146
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_u_zero`, [f64x2([4294967294, 4294967294])]),
+ [i32x4([0xfffffffe, 0xfffffffe, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:148
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_u_zero`, [f64x2([4294967295, 4294967295])]),
+ [i32x4([0xffffffff, 0xffffffff, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:150
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_u_zero`, [f64x2([4294967296, 4294967296])]),
+ [i32x4([0xffffffff, 0xffffffff, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:152
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_u_zero`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000001401298464324817,
+ 0.000000000000000000000000000000000000000000001401298464324817,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:154
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_u_zero`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000001401298464324817,
+ -0.000000000000000000000000000000000000000000001401298464324817,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:156
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_u_zero`, [
+ f64x2([
+ 0.000000000000000000000000000000000000011754943508222875,
+ 0.000000000000000000000000000000000000011754943508222875,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:158
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_u_zero`, [
+ f64x2([
+ -0.000000000000000000000000000000000000011754943508222875,
+ -0.000000000000000000000000000000000000011754943508222875,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:160
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_u_zero`, [f64x2([0.5, 0.5])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:162
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_u_zero`, [f64x2([-0.5, -0.5])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:164
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_u_zero`, [f64x2([1, 1])]),
+ [i32x4([0x1, 0x1, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:166
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_u_zero`, [f64x2([-1, -1])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:168
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_u_zero`, [
+ f64x2([1.100000023841858, 1.100000023841858]),
+ ]),
+ [i32x4([0x1, 0x1, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:170
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_u_zero`, [
+ f64x2([-1.100000023841858, -1.100000023841858]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:172
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_u_zero`, [
+ f64x2([6.2831854820251465, 6.2831854820251465]),
+ ]),
+ [i32x4([0x6, 0x6, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:174
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_u_zero`, [
+ f64x2([-6.2831854820251465, -6.2831854820251465]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:176
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_u_zero`, [
+ f64x2([
+ 340282346638528860000000000000000000000,
+ 340282346638528860000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:178
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_u_zero`, [
+ f64x2([
+ -340282346638528860000000000000000000000,
+ -340282346638528860000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:180
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_u_zero`, [
+ f64x2([0.8999999761581421, 0.8999999761581421]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:182
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_u_zero`, [
+ f64x2([-0.8999999761581421, -0.8999999761581421]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:184
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_u_zero`, [
+ f64x2([0.9999999403953552, 0.9999999403953552]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:186
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_u_zero`, [
+ f64x2([-0.9999999403953552, -0.9999999403953552]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:188
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_u_zero`, [
+ f64x2([6.2831854820251465, 6.2831854820251465]),
+ ]),
+ [i32x4([0x6, 0x6, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:190
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_u_zero`, [
+ f64x2([-6.2831854820251465, -6.2831854820251465]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:192
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_u_zero`, [
+ f64x2([
+ 340282346638528860000000000000000000000,
+ 340282346638528860000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:194
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_u_zero`, [
+ f64x2([
+ -340282346638528860000000000000000000000,
+ -340282346638528860000000000000000000000,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:196
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_u_zero`, [f64x2([Infinity, Infinity])]),
+ [i32x4([0xffffffff, 0xffffffff, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:198
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_u_zero`, [f64x2([-Infinity, -Infinity])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:200
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_u_zero`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:202
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_u_zero`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:204
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_u_zero`, [
+ bytes('v128', [
+ 0x44,
+ 0x44,
+ 0x44,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf0,
+ 0x7f,
+ 0x44,
+ 0x44,
+ 0x44,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf0,
+ 0x7f,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:206
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_u_zero`, [
+ bytes('v128', [
+ 0x44,
+ 0x44,
+ 0x44,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf0,
+ 0xff,
+ 0x44,
+ 0x44,
+ 0x44,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf0,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:208
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_u_zero`, [f64x2([42, 42])]),
+ [i32x4([0x2a, 0x2a, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:210
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_u_zero`, [f64x2([-42, -42])]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:212
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_u_zero`, [f64x2([123456792, 123456792])]),
+ [i32x4([0x75bcd18, 0x75bcd18, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:214
+assert_return(
+ () => invoke($0, `i32x4.trunc_sat_f64x2_u_zero`, [f64x2([1234567890, 1234567890])]),
+ [i32x4([0x499602d2, 0x499602d2, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:218
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i32x4.trunc_sat_f64x2_s_zero (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:219
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i32x4.trunc_sat_f64x2_u_zero (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:223
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.trunc_sat_f64x2_s_zero-arg-empty (result v128)
+ (i32x4.trunc_sat_f64x2_s_zero)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i32x4_trunc_sat_f64x2.wast:231
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.trunc_sat_f64x2_u_zero-arg-empty (result v128)
+ (i32x4.trunc_sat_f64x2_u_zero)
+ )
+ )`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/simd_i64x2_arith.wast.js b/js/src/jit-test/tests/wasm/spec/spec/simd_i64x2_arith.wast.js
new file mode 100644
index 0000000000..90ad748a42
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/simd_i64x2_arith.wast.js
@@ -0,0 +1,1753 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_i64x2_arith.wast
+
+// ./test/core/simd/simd_i64x2_arith.wast:4
+let $0 = instantiate(`(module
+ (func (export "i64x2.add") (param v128 v128) (result v128) (i64x2.add (local.get 0) (local.get 1)))
+ (func (export "i64x2.sub") (param v128 v128) (result v128) (i64x2.sub (local.get 0) (local.get 1)))
+ (func (export "i64x2.mul") (param v128 v128) (result v128) (i64x2.mul (local.get 0) (local.get 1)))
+ (func (export "i64x2.neg") (param v128) (result v128) (i64x2.neg (local.get 0)))
+)`);
+
+// ./test/core/simd/simd_i64x2_arith.wast:13
+assert_return(
+ () => invoke($0, `i64x2.add`, [i64x2([0x0n, 0x0n]), i64x2([0x0n, 0x0n])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:16
+assert_return(
+ () => invoke($0, `i64x2.add`, [i64x2([0x0n, 0x0n]), i64x2([0x1n, 0x1n])]),
+ [i64x2([0x1n, 0x1n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:19
+assert_return(
+ () => invoke($0, `i64x2.add`, [i64x2([0x1n, 0x1n]), i64x2([0x1n, 0x1n])]),
+ [i64x2([0x2n, 0x2n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:22
+assert_return(
+ () => invoke($0, `i64x2.add`, [
+ i64x2([0x0n, 0x0n]),
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:25
+assert_return(
+ () => invoke($0, `i64x2.add`, [
+ i64x2([0x1n, 0x1n]),
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:28
+assert_return(
+ () => invoke($0, `i64x2.add`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0xfffffffffffffffen, 0xfffffffffffffffen])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:31
+assert_return(
+ () => invoke($0, `i64x2.add`, [
+ i64x2([0x3fffffffffffffffn, 0x3fffffffffffffffn]),
+ i64x2([0x4000000000000000n, 0x4000000000000000n]),
+ ]),
+ [i64x2([0x7fffffffffffffffn, 0x7fffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:34
+assert_return(
+ () => invoke($0, `i64x2.add`, [
+ i64x2([0x4000000000000000n, 0x4000000000000000n]),
+ i64x2([0x4000000000000000n, 0x4000000000000000n]),
+ ]),
+ [i64x2([0x8000000000000000n, 0x8000000000000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:37
+assert_return(
+ () => invoke($0, `i64x2.add`, [
+ i64x2([0xc000000000000001n, 0xc000000000000001n]),
+ i64x2([0xc000000000000000n, 0xc000000000000000n]),
+ ]),
+ [i64x2([0x8000000000000001n, 0x8000000000000001n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:40
+assert_return(
+ () => invoke($0, `i64x2.add`, [
+ i64x2([0xc000000000000000n, 0xc000000000000000n]),
+ i64x2([0xc000000000000000n, 0xc000000000000000n]),
+ ]),
+ [i64x2([0x8000000000000000n, 0x8000000000000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:43
+assert_return(
+ () => invoke($0, `i64x2.add`, [
+ i64x2([0xbfffffffffffffffn, 0xbfffffffffffffffn]),
+ i64x2([0xc000000000000000n, 0xc000000000000000n]),
+ ]),
+ [i64x2([0x7fffffffffffffffn, 0x7fffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:46
+assert_return(
+ () => invoke($0, `i64x2.add`, [
+ i64x2([0x7ffffffffffffffdn, 0x7ffffffffffffffdn]),
+ i64x2([0x1n, 0x1n]),
+ ]),
+ [i64x2([0x7ffffffffffffffen, 0x7ffffffffffffffen])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:49
+assert_return(
+ () => invoke($0, `i64x2.add`, [
+ i64x2([0x7ffffffffffffffen, 0x7ffffffffffffffen]),
+ i64x2([0x1n, 0x1n]),
+ ]),
+ [i64x2([0x7fffffffffffffffn, 0x7fffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:52
+assert_return(
+ () => invoke($0, `i64x2.add`, [
+ i64x2([0x8000000000000000n, 0x8000000000000000n]),
+ i64x2([0x1n, 0x1n]),
+ ]),
+ [i64x2([0x8000000000000001n, 0x8000000000000001n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:55
+assert_return(
+ () => invoke($0, `i64x2.add`, [
+ i64x2([0x8000000000000002n, 0x8000000000000002n]),
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0x8000000000000001n, 0x8000000000000001n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:58
+assert_return(
+ () => invoke($0, `i64x2.add`, [
+ i64x2([0x8000000000000001n, 0x8000000000000001n]),
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0x8000000000000000n, 0x8000000000000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:61
+assert_return(
+ () => invoke($0, `i64x2.add`, [
+ i64x2([0x8000000000000000n, 0x8000000000000000n]),
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0x7fffffffffffffffn, 0x7fffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:64
+assert_return(
+ () => invoke($0, `i64x2.add`, [
+ i64x2([0x7fffffffffffffffn, 0x7fffffffffffffffn]),
+ i64x2([0x7fffffffffffffffn, 0x7fffffffffffffffn]),
+ ]),
+ [i64x2([0xfffffffffffffffen, 0xfffffffffffffffen])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:67
+assert_return(
+ () => invoke($0, `i64x2.add`, [
+ i64x2([0x8000000000000000n, 0x8000000000000000n]),
+ i64x2([0x8000000000000000n, 0x8000000000000000n]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:70
+assert_return(
+ () => invoke($0, `i64x2.add`, [
+ i64x2([0x8000000000000000n, 0x8000000000000000n]),
+ i64x2([0x8000000000000001n, 0x8000000000000001n]),
+ ]),
+ [i64x2([0x1n, 0x1n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:73
+assert_return(
+ () => invoke($0, `i64x2.add`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i64x2([0x0n, 0x0n]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:76
+assert_return(
+ () => invoke($0, `i64x2.add`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i64x2([0x1n, 0x1n]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:79
+assert_return(
+ () => invoke($0, `i64x2.add`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0xfffffffffffffffen, 0xfffffffffffffffen])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:82
+assert_return(
+ () => invoke($0, `i64x2.add`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i64x2([0x7fffffffffffffffn, 0x7fffffffffffffffn]),
+ ]),
+ [i64x2([0x7ffffffffffffffen, 0x7ffffffffffffffen])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:85
+assert_return(
+ () => invoke($0, `i64x2.add`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i64x2([0x8000000000000000n, 0x8000000000000000n]),
+ ]),
+ [i64x2([0x7fffffffffffffffn, 0x7fffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:88
+assert_return(
+ () => invoke($0, `i64x2.add`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0xfffffffffffffffen, 0xfffffffffffffffen])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:91
+assert_return(
+ () => invoke($0, `i64x2.add`, [
+ i64x2([0x3fffffffffffffffn, 0x3fffffffffffffffn]),
+ i64x2([0x4000000000000000n, 0x4000000000000000n]),
+ ]),
+ [i64x2([0x7fffffffffffffffn, 0x7fffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:94
+assert_return(
+ () => invoke($0, `i64x2.add`, [
+ i64x2([0x4000000000000000n, 0x4000000000000000n]),
+ i64x2([0x4000000000000000n, 0x4000000000000000n]),
+ ]),
+ [i64x2([0x8000000000000000n, 0x8000000000000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:97
+assert_return(
+ () => invoke($0, `i64x2.add`, [
+ i64x2([0xc000000000000001n, 0xc000000000000001n]),
+ i64x2([0xfbfffffff0000001n, 0xfbfffffff0000001n]),
+ ]),
+ [i64x2([0xbbfffffff0000002n, 0xbbfffffff0000002n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:100
+assert_return(
+ () => invoke($0, `i64x2.add`, [
+ i64x2([0xc000000000000000n, 0xc000000000000000n]),
+ i64x2([0xfc00000000000000n, 0xfc00000000000000n]),
+ ]),
+ [i64x2([0xbc00000000000000n, 0xbc00000000000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:103
+assert_return(
+ () => invoke($0, `i64x2.add`, [
+ i64x2([0xc000000000000000n, 0xc000000000000000n]),
+ i64x2([0xfbffffffffffffffn, 0xfbffffffffffffffn]),
+ ]),
+ [i64x2([0xbbffffffffffffffn, 0xbbffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:106
+assert_return(
+ () => invoke($0, `i64x2.add`, [
+ i64x2([0x7fffffffffffffffn, 0x7fffffffffffffffn]),
+ i64x2([0x7ffffffffffffffn, 0x7ffffffffffffffn]),
+ ]),
+ [i64x2([0x87fffffffffffffen, 0x87fffffffffffffen])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:109
+assert_return(
+ () => invoke($0, `i64x2.add`, [
+ i64x2([0x7fffffffffffffffn, 0x7fffffffffffffffn]),
+ i64x2([0x1n, 0x1n]),
+ ]),
+ [i64x2([0x8000000000000000n, 0x8000000000000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:112
+assert_return(
+ () => invoke($0, `i64x2.add`, [
+ i64x2([0x8000000000000000n, 0x8000000000000000n]),
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0x7fffffffffffffffn, 0x7fffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:115
+assert_return(
+ () => invoke($0, `i64x2.add`, [
+ i64x2([0x7fffffffffffffffn, 0x7fffffffffffffffn]),
+ i64x2([0x8000000000000000n, 0x8000000000000000n]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:118
+assert_return(
+ () => invoke($0, `i64x2.add`, [
+ i64x2([0x8000000000000000n, 0x8000000000000000n]),
+ i64x2([0x8000000000000000n, 0x8000000000000000n]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:121
+assert_return(
+ () => invoke($0, `i64x2.add`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i64x2([0x1n, 0x1n]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:124
+assert_return(
+ () => invoke($0, `i64x2.add`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0xfffffffffffffffen, 0xfffffffffffffffen])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:127
+assert_return(
+ () => invoke($0, `i64x2.add`, [
+ i64x2([0x7fffffffffffffffn, 0x7fffffffffffffffn]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:130
+assert_return(
+ () => invoke($0, `i64x2.add`, [
+ i64x2([0x1n, 0x1n]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:133
+assert_return(
+ () => invoke($0, `i64x2.add`, [
+ i64x2([0x7fffffffffffffffn, 0x7fffffffffffffffn]),
+ i16x8([0x0, 0x0, 0x0, 0x8000, 0x0, 0x0, 0x0, 0x8000]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:136
+assert_return(
+ () => invoke($0, `i64x2.add`, [
+ i64x2([0x1n, 0x1n]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:139
+assert_return(
+ () => invoke($0, `i64x2.add`, [
+ i64x2([0x7fffffffffffffffn, 0x7fffffffffffffffn]),
+ i32x4([0x0, 0x80000000, 0x0, 0x80000000]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:142
+assert_return(
+ () => invoke($0, `i64x2.add`, [
+ i64x2([0x1n, 0x1n]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:145
+assert_return(
+ () => invoke($0, `i64x2.add`, [
+ i64x2([0x8000000000000000n, 0x8000000000000000n]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0x8000000000000000n, 0x8000000000000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:148
+assert_return(
+ () => invoke($0, `i64x2.add`, [
+ i64x2([0x8000000000000000n, 0x8000000000000000n]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:151
+assert_return(
+ () => invoke($0, `i64x2.add`, [
+ i64x2([0x8000000000000000n, 0x8000000000000000n]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0xbff0000000000000n, 0xbff0000000000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:154
+assert_return(
+ () => invoke($0, `i64x2.add`, [
+ i64x2([0x8000000000000000n, 0x8000000000000000n]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0x3ff0000000000000n, 0x3ff0000000000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:157
+assert_return(
+ () => invoke($0, `i64x2.add`, [i64x2([0x1n, 0x1n]), f64x2([Infinity, Infinity])]),
+ [i64x2([0x7ff0000000000001n, 0x7ff0000000000001n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:160
+assert_return(
+ () => invoke($0, `i64x2.add`, [i64x2([0x1n, 0x1n]), f64x2([-Infinity, -Infinity])]),
+ [i64x2([0xfff0000000000001n, 0xfff0000000000001n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:163
+assert_return(
+ () => invoke($0, `i64x2.add`, [
+ i64x2([0x1n, 0x1n]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x7ff8000000000001n, 0x7ff8000000000001n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:166
+assert_return(
+ () => invoke($0, `i64x2.add`, [
+ i64x2([0x0n, 0x1n]),
+ i64x2([0x0n, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:169
+assert_return(
+ () => invoke($0, `i64x2.add`, [i64x2([0x0n, 0x1n]), i64x2([0x0n, 0x2n])]),
+ [i64x2([0x0n, 0x3n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:172
+assert_return(
+ () => invoke($0, `i64x2.add`, [
+ i64x2([0x112210f47de98115n, 0x112210f47de98115n]),
+ i64x2([0x112210f47de98115n, 0x112210f47de98115n]),
+ ]),
+ [i64x2([0x224421e8fbd3022an, 0x224421e8fbd3022an])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:175
+assert_return(
+ () => invoke($0, `i64x2.add`, [
+ i64x2([0x1234567890abcdefn, 0x1234567890abcdefn]),
+ i64x2([0x90abcdef12345678n, 0x90abcdef12345678n]),
+ ]),
+ [i64x2([0xa2e02467a2e02467n, 0xa2e02467a2e02467n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:180
+assert_return(
+ () => invoke($0, `i64x2.sub`, [i64x2([0x0n, 0x0n]), i64x2([0x0n, 0x0n])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:183
+assert_return(
+ () => invoke($0, `i64x2.sub`, [i64x2([0x0n, 0x0n]), i64x2([0x1n, 0x1n])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:186
+assert_return(
+ () => invoke($0, `i64x2.sub`, [i64x2([0x1n, 0x1n]), i64x2([0x1n, 0x1n])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:189
+assert_return(
+ () => invoke($0, `i64x2.sub`, [
+ i64x2([0x0n, 0x0n]),
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0x1n, 0x1n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:192
+assert_return(
+ () => invoke($0, `i64x2.sub`, [
+ i64x2([0x1n, 0x1n]),
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0x2n, 0x2n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:195
+assert_return(
+ () => invoke($0, `i64x2.sub`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:198
+assert_return(
+ () => invoke($0, `i64x2.sub`, [
+ i64x2([0x3fffffffffffffffn, 0x3fffffffffffffffn]),
+ i64x2([0x4000000000000000n, 0x4000000000000000n]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:201
+assert_return(
+ () => invoke($0, `i64x2.sub`, [
+ i64x2([0x4000000000000000n, 0x4000000000000000n]),
+ i64x2([0x4000000000000000n, 0x4000000000000000n]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:204
+assert_return(
+ () => invoke($0, `i64x2.sub`, [
+ i64x2([0xc000000000000001n, 0xc000000000000001n]),
+ i64x2([0xc000000000000000n, 0xc000000000000000n]),
+ ]),
+ [i64x2([0x1n, 0x1n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:207
+assert_return(
+ () => invoke($0, `i64x2.sub`, [
+ i64x2([0xc000000000000000n, 0xc000000000000000n]),
+ i64x2([0xc000000000000000n, 0xc000000000000000n]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:210
+assert_return(
+ () => invoke($0, `i64x2.sub`, [
+ i64x2([0xbfffffffffffffffn, 0xbfffffffffffffffn]),
+ i64x2([0xc000000000000000n, 0xc000000000000000n]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:213
+assert_return(
+ () => invoke($0, `i64x2.sub`, [
+ i64x2([0x7ffffffffffffffdn, 0x7ffffffffffffffdn]),
+ i64x2([0x1n, 0x1n]),
+ ]),
+ [i64x2([0x7ffffffffffffffcn, 0x7ffffffffffffffcn])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:216
+assert_return(
+ () => invoke($0, `i64x2.sub`, [
+ i64x2([0x7ffffffffffffffen, 0x7ffffffffffffffen]),
+ i64x2([0x1n, 0x1n]),
+ ]),
+ [i64x2([0x7ffffffffffffffdn, 0x7ffffffffffffffdn])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:219
+assert_return(
+ () => invoke($0, `i64x2.sub`, [
+ i64x2([0x8000000000000000n, 0x8000000000000000n]),
+ i64x2([0x1n, 0x1n]),
+ ]),
+ [i64x2([0x7fffffffffffffffn, 0x7fffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:222
+assert_return(
+ () => invoke($0, `i64x2.sub`, [
+ i64x2([0x8000000000000002n, 0x8000000000000002n]),
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0x8000000000000003n, 0x8000000000000003n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:225
+assert_return(
+ () => invoke($0, `i64x2.sub`, [
+ i64x2([0x8000000000000001n, 0x8000000000000001n]),
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0x8000000000000002n, 0x8000000000000002n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:228
+assert_return(
+ () => invoke($0, `i64x2.sub`, [
+ i64x2([0x8000000000000000n, 0x8000000000000000n]),
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0x8000000000000001n, 0x8000000000000001n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:231
+assert_return(
+ () => invoke($0, `i64x2.sub`, [
+ i64x2([0x7fffffffffffffffn, 0x7fffffffffffffffn]),
+ i64x2([0x7fffffffffffffffn, 0x7fffffffffffffffn]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:234
+assert_return(
+ () => invoke($0, `i64x2.sub`, [
+ i64x2([0x8000000000000000n, 0x8000000000000000n]),
+ i64x2([0x8000000000000000n, 0x8000000000000000n]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:237
+assert_return(
+ () => invoke($0, `i64x2.sub`, [
+ i64x2([0x8000000000000000n, 0x8000000000000000n]),
+ i64x2([0x8000000000000001n, 0x8000000000000001n]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:240
+assert_return(
+ () => invoke($0, `i64x2.sub`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i64x2([0x0n, 0x0n]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:243
+assert_return(
+ () => invoke($0, `i64x2.sub`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i64x2([0x1n, 0x1n]),
+ ]),
+ [i64x2([0xfffffffffffffffen, 0xfffffffffffffffen])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:246
+assert_return(
+ () => invoke($0, `i64x2.sub`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:249
+assert_return(
+ () => invoke($0, `i64x2.sub`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i64x2([0x7fffffffffffffffn, 0x7fffffffffffffffn]),
+ ]),
+ [i64x2([0x8000000000000000n, 0x8000000000000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:252
+assert_return(
+ () => invoke($0, `i64x2.sub`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i64x2([0x8000000000000000n, 0x8000000000000000n]),
+ ]),
+ [i64x2([0x7fffffffffffffffn, 0x7fffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:255
+assert_return(
+ () => invoke($0, `i64x2.sub`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:258
+assert_return(
+ () => invoke($0, `i64x2.sub`, [
+ i64x2([0x3fffffffffffffffn, 0x3fffffffffffffffn]),
+ i64x2([0x4000000000000000n, 0x4000000000000000n]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:261
+assert_return(
+ () => invoke($0, `i64x2.sub`, [
+ i64x2([0x4000000000000000n, 0x4000000000000000n]),
+ i64x2([0x4000000000000000n, 0x4000000000000000n]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:264
+assert_return(
+ () => invoke($0, `i64x2.sub`, [
+ i64x2([0xc000000000000001n, 0xc000000000000001n]),
+ i64x2([0xfbfffffff0000001n, 0xfbfffffff0000001n]),
+ ]),
+ [i64x2([0xc400000010000000n, 0xc400000010000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:267
+assert_return(
+ () => invoke($0, `i64x2.sub`, [
+ i64x2([0xc000000000000000n, 0xc000000000000000n]),
+ i64x2([0xfc00000000000000n, 0xfc00000000000000n]),
+ ]),
+ [i64x2([0xc400000000000000n, 0xc400000000000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:270
+assert_return(
+ () => invoke($0, `i64x2.sub`, [
+ i64x2([0xc000000000000000n, 0xc000000000000000n]),
+ i64x2([0xfbffffffffffffffn, 0xfbffffffffffffffn]),
+ ]),
+ [i64x2([0xc400000000000001n, 0xc400000000000001n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:273
+assert_return(
+ () => invoke($0, `i64x2.sub`, [
+ i64x2([0x7fffffffffffffffn, 0x7fffffffffffffffn]),
+ i64x2([0x7ffffffffffffffn, 0x7ffffffffffffffn]),
+ ]),
+ [i64x2([0x7800000000000000n, 0x7800000000000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:276
+assert_return(
+ () => invoke($0, `i64x2.sub`, [
+ i64x2([0x7fffffffffffffffn, 0x7fffffffffffffffn]),
+ i64x2([0x1n, 0x1n]),
+ ]),
+ [i64x2([0x7ffffffffffffffen, 0x7ffffffffffffffen])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:279
+assert_return(
+ () => invoke($0, `i64x2.sub`, [
+ i64x2([0x8000000000000000n, 0x8000000000000000n]),
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0x8000000000000001n, 0x8000000000000001n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:282
+assert_return(
+ () => invoke($0, `i64x2.sub`, [
+ i64x2([0x7fffffffffffffffn, 0x7fffffffffffffffn]),
+ i64x2([0x8000000000000000n, 0x8000000000000000n]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:285
+assert_return(
+ () => invoke($0, `i64x2.sub`, [
+ i64x2([0x8000000000000000n, 0x8000000000000000n]),
+ i64x2([0x8000000000000000n, 0x8000000000000000n]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:288
+assert_return(
+ () => invoke($0, `i64x2.sub`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i64x2([0x1n, 0x1n]),
+ ]),
+ [i64x2([0xfffffffffffffffen, 0xfffffffffffffffen])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:291
+assert_return(
+ () => invoke($0, `i64x2.sub`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:294
+assert_return(
+ () => invoke($0, `i64x2.sub`, [
+ i64x2([0x7fffffffffffffffn, 0x7fffffffffffffffn]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:297
+assert_return(
+ () => invoke($0, `i64x2.sub`, [
+ i64x2([0x1n, 0x1n]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i64x2([0x2n, 0x2n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:300
+assert_return(
+ () => invoke($0, `i64x2.sub`, [
+ i64x2([0x7fffffffffffffffn, 0x7fffffffffffffffn]),
+ i16x8([0x0, 0x0, 0x0, 0x8000, 0x0, 0x0, 0x0, 0x8000]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:303
+assert_return(
+ () => invoke($0, `i64x2.sub`, [
+ i64x2([0x1n, 0x1n]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i64x2([0x2n, 0x2n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:306
+assert_return(
+ () => invoke($0, `i64x2.sub`, [
+ i64x2([0x7fffffffffffffffn, 0x7fffffffffffffffn]),
+ i32x4([0x0, 0x80000000, 0x0, 0x80000000]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:309
+assert_return(
+ () => invoke($0, `i64x2.sub`, [
+ i64x2([0x1n, 0x1n]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i64x2([0x2n, 0x2n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:312
+assert_return(
+ () => invoke($0, `i64x2.sub`, [
+ i64x2([0x8000000000000000n, 0x8000000000000000n]),
+ f64x2([0, 0]),
+ ]),
+ [i64x2([0x8000000000000000n, 0x8000000000000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:315
+assert_return(
+ () => invoke($0, `i64x2.sub`, [
+ i64x2([0x8000000000000000n, 0x8000000000000000n]),
+ f64x2([-0, -0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:318
+assert_return(
+ () => invoke($0, `i64x2.sub`, [
+ i64x2([0x8000000000000000n, 0x8000000000000000n]),
+ f64x2([1, 1]),
+ ]),
+ [i64x2([0x4010000000000000n, 0x4010000000000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:321
+assert_return(
+ () => invoke($0, `i64x2.sub`, [
+ i64x2([0x8000000000000000n, 0x8000000000000000n]),
+ f64x2([-1, -1]),
+ ]),
+ [i64x2([0xc010000000000000n, 0xc010000000000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:324
+assert_return(
+ () => invoke($0, `i64x2.sub`, [i64x2([0x1n, 0x1n]), f64x2([Infinity, Infinity])]),
+ [i64x2([0x8010000000000001n, 0x8010000000000001n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:327
+assert_return(
+ () => invoke($0, `i64x2.sub`, [i64x2([0x1n, 0x1n]), f64x2([-Infinity, -Infinity])]),
+ [i64x2([0x10000000000001n, 0x10000000000001n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:330
+assert_return(
+ () => invoke($0, `i64x2.sub`, [
+ i64x2([0x1n, 0x1n]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x8008000000000001n, 0x8008000000000001n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:333
+assert_return(
+ () => invoke($0, `i64x2.sub`, [
+ i64x2([0x0n, 0x1n]),
+ i64x2([0x0n, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0x0n, 0x2n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:336
+assert_return(
+ () => invoke($0, `i64x2.sub`, [i64x2([0x0n, 0x1n]), i64x2([0x0n, 0x2n])]),
+ [i64x2([0x0n, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:339
+assert_return(
+ () => invoke($0, `i64x2.sub`, [
+ i64x2([0x2c9c7076ed2f8115n, 0x2c9c7076ed2f8115n]),
+ i64x2([0x112210f47de98115n, 0x112210f47de98115n]),
+ ]),
+ [i64x2([0x1b7a5f826f460000n, 0x1b7a5f826f460000n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:342
+assert_return(
+ () => invoke($0, `i64x2.sub`, [
+ i64x2([0x90abcdef87654321n, 0x90abcdef87654321n]),
+ i64x2([0x1234567890abcdefn, 0x1234567890abcdefn]),
+ ]),
+ [i64x2([0x7e777776f6b97532n, 0x7e777776f6b97532n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:347
+assert_return(
+ () => invoke($0, `i64x2.mul`, [i64x2([0x0n, 0x0n]), i64x2([0x0n, 0x0n])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:350
+assert_return(
+ () => invoke($0, `i64x2.mul`, [i64x2([0x0n, 0x0n]), i64x2([0x1n, 0x1n])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:353
+assert_return(
+ () => invoke($0, `i64x2.mul`, [i64x2([0x1n, 0x1n]), i64x2([0x1n, 0x1n])]),
+ [i64x2([0x1n, 0x1n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:356
+assert_return(
+ () => invoke($0, `i64x2.mul`, [
+ i64x2([0x0n, 0x0n]),
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:359
+assert_return(
+ () => invoke($0, `i64x2.mul`, [
+ i64x2([0x1n, 0x1n]),
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:362
+assert_return(
+ () => invoke($0, `i64x2.mul`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0x1n, 0x1n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:365
+assert_return(
+ () => invoke($0, `i64x2.mul`, [
+ i64x2([0x3fffffffffffffffn, 0x3fffffffffffffffn]),
+ i64x2([0x4000000000000000n, 0x4000000000000000n]),
+ ]),
+ [i64x2([0xc000000000000000n, 0xc000000000000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:368
+assert_return(
+ () => invoke($0, `i64x2.mul`, [
+ i64x2([0x4000000000000000n, 0x4000000000000000n]),
+ i64x2([0x4000000000000000n, 0x4000000000000000n]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:371
+assert_return(
+ () => invoke($0, `i64x2.mul`, [
+ i64x2([0xc000000000000001n, 0xc000000000000001n]),
+ i64x2([0xc000000000000000n, 0xc000000000000000n]),
+ ]),
+ [i64x2([0xc000000000000000n, 0xc000000000000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:374
+assert_return(
+ () => invoke($0, `i64x2.mul`, [
+ i64x2([0xc000000000000000n, 0xc000000000000000n]),
+ i64x2([0xc000000000000000n, 0xc000000000000000n]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:377
+assert_return(
+ () => invoke($0, `i64x2.mul`, [
+ i64x2([0xbfffffffffffffffn, 0xbfffffffffffffffn]),
+ i64x2([0xc000000000000000n, 0xc000000000000000n]),
+ ]),
+ [i64x2([0x4000000000000000n, 0x4000000000000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:380
+assert_return(
+ () => invoke($0, `i64x2.mul`, [
+ i64x2([0x7ffffffffffffffdn, 0x7ffffffffffffffdn]),
+ i64x2([0x1n, 0x1n]),
+ ]),
+ [i64x2([0x7ffffffffffffffdn, 0x7ffffffffffffffdn])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:383
+assert_return(
+ () => invoke($0, `i64x2.mul`, [
+ i64x2([0x7ffffffffffffffen, 0x7ffffffffffffffen]),
+ i64x2([0x1n, 0x1n]),
+ ]),
+ [i64x2([0x7ffffffffffffffen, 0x7ffffffffffffffen])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:386
+assert_return(
+ () => invoke($0, `i64x2.mul`, [
+ i64x2([0x8000000000000000n, 0x8000000000000000n]),
+ i64x2([0x1n, 0x1n]),
+ ]),
+ [i64x2([0x8000000000000000n, 0x8000000000000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:389
+assert_return(
+ () => invoke($0, `i64x2.mul`, [
+ i64x2([0x8000000000000002n, 0x8000000000000002n]),
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0x7ffffffffffffffen, 0x7ffffffffffffffen])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:392
+assert_return(
+ () => invoke($0, `i64x2.mul`, [
+ i64x2([0x8000000000000001n, 0x8000000000000001n]),
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0x7fffffffffffffffn, 0x7fffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:395
+assert_return(
+ () => invoke($0, `i64x2.mul`, [
+ i64x2([0x8000000000000000n, 0x8000000000000000n]),
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0x8000000000000000n, 0x8000000000000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:398
+assert_return(
+ () => invoke($0, `i64x2.mul`, [
+ i64x2([0x7fffffffffffffffn, 0x7fffffffffffffffn]),
+ i64x2([0x7fffffffffffffffn, 0x7fffffffffffffffn]),
+ ]),
+ [i64x2([0x1n, 0x1n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:401
+assert_return(
+ () => invoke($0, `i64x2.mul`, [
+ i64x2([0x8000000000000000n, 0x8000000000000000n]),
+ i64x2([0x8000000000000000n, 0x8000000000000000n]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:404
+assert_return(
+ () => invoke($0, `i64x2.mul`, [
+ i64x2([0x8000000000000000n, 0x8000000000000000n]),
+ i64x2([0x8000000000000001n, 0x8000000000000001n]),
+ ]),
+ [i64x2([0x8000000000000000n, 0x8000000000000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:407
+assert_return(
+ () => invoke($0, `i64x2.mul`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i64x2([0x0n, 0x0n]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:410
+assert_return(
+ () => invoke($0, `i64x2.mul`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i64x2([0x1n, 0x1n]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:413
+assert_return(
+ () => invoke($0, `i64x2.mul`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0x1n, 0x1n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:416
+assert_return(
+ () => invoke($0, `i64x2.mul`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i64x2([0x7fffffffffffffffn, 0x7fffffffffffffffn]),
+ ]),
+ [i64x2([0x8000000000000001n, 0x8000000000000001n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:419
+assert_return(
+ () => invoke($0, `i64x2.mul`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i64x2([0x8000000000000000n, 0x8000000000000000n]),
+ ]),
+ [i64x2([0x8000000000000000n, 0x8000000000000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:422
+assert_return(
+ () => invoke($0, `i64x2.mul`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0x1n, 0x1n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:425
+assert_return(
+ () => invoke($0, `i64x2.mul`, [
+ i64x2([0x3fffffffffffffffn, 0x3fffffffffffffffn]),
+ i64x2([0x4000000000000000n, 0x4000000000000000n]),
+ ]),
+ [i64x2([0xc000000000000000n, 0xc000000000000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:428
+assert_return(
+ () => invoke($0, `i64x2.mul`, [
+ i64x2([0x4000000000000000n, 0x4000000000000000n]),
+ i64x2([0x4000000000000000n, 0x4000000000000000n]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:431
+assert_return(
+ () => invoke($0, `i64x2.mul`, [
+ i64x2([0xc000000000000001n, 0xc000000000000001n]),
+ i64x2([0xfbfffffff0000001n, 0xfbfffffff0000001n]),
+ ]),
+ [i64x2([0xbbfffffff0000001n, 0xbbfffffff0000001n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:434
+assert_return(
+ () => invoke($0, `i64x2.mul`, [
+ i64x2([0xc000000000000000n, 0xc000000000000000n]),
+ i64x2([0xfc00000000000000n, 0xfc00000000000000n]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:437
+assert_return(
+ () => invoke($0, `i64x2.mul`, [
+ i64x2([0xc000000000000000n, 0xc000000000000000n]),
+ i64x2([0xfbffffffffffffffn, 0xfbffffffffffffffn]),
+ ]),
+ [i64x2([0x4000000000000000n, 0x4000000000000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:440
+assert_return(
+ () => invoke($0, `i64x2.mul`, [
+ i64x2([0x7fffffffffffffffn, 0x7fffffffffffffffn]),
+ i64x2([0x7ffffffffffffffn, 0x7ffffffffffffffn]),
+ ]),
+ [i64x2([0x7800000000000001n, 0x7800000000000001n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:443
+assert_return(
+ () => invoke($0, `i64x2.mul`, [
+ i64x2([0x7fffffffffffffffn, 0x7fffffffffffffffn]),
+ i64x2([0x1n, 0x1n]),
+ ]),
+ [i64x2([0x7fffffffffffffffn, 0x7fffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:446
+assert_return(
+ () => invoke($0, `i64x2.mul`, [
+ i64x2([0x8000000000000000n, 0x8000000000000000n]),
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0x8000000000000000n, 0x8000000000000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:449
+assert_return(
+ () => invoke($0, `i64x2.mul`, [
+ i64x2([0x7fffffffffffffffn, 0x7fffffffffffffffn]),
+ i64x2([0x8000000000000000n, 0x8000000000000000n]),
+ ]),
+ [i64x2([0x8000000000000000n, 0x8000000000000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:452
+assert_return(
+ () => invoke($0, `i64x2.mul`, [
+ i64x2([0x8000000000000000n, 0x8000000000000000n]),
+ i64x2([0x8000000000000000n, 0x8000000000000000n]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:455
+assert_return(
+ () => invoke($0, `i64x2.mul`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i64x2([0x1n, 0x1n]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:458
+assert_return(
+ () => invoke($0, `i64x2.mul`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0x1n, 0x1n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:461
+assert_return(
+ () => invoke($0, `i64x2.mul`, [
+ i64x2([0x8000000000000000n, 0x8000000000000000n]),
+ i8x16([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:464
+assert_return(
+ () => invoke($0, `i64x2.mul`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i64x2([0x1n, 0x1n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:467
+assert_return(
+ () => invoke($0, `i64x2.mul`, [
+ i64x2([0x8000000000000000n, 0x8000000000000000n]),
+ i16x8([0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x2]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:470
+assert_return(
+ () => invoke($0, `i64x2.mul`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i64x2([0x1n, 0x1n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:473
+assert_return(
+ () => invoke($0, `i64x2.mul`, [
+ i64x2([0x8000000000000000n, 0x8000000000000000n]),
+ i32x4([0x0, 0x2, 0x0, 0x2]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:476
+assert_return(
+ () => invoke($0, `i64x2.mul`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i64x2([0x1n, 0x1n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:479
+assert_return(
+ () => invoke($0, `i64x2.mul`, [i64x2([0x80000000n, 0x80000000n]), f64x2([0, 0])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:482
+assert_return(
+ () => invoke($0, `i64x2.mul`, [i64x2([0x80000000n, 0x80000000n]), f64x2([-0, -0])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:485
+assert_return(
+ () => invoke($0, `i64x2.mul`, [i64x2([0x80000000n, 0x80000000n]), f64x2([1, 1])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:488
+assert_return(
+ () => invoke($0, `i64x2.mul`, [i64x2([0x80000000n, 0x80000000n]), f64x2([-1, -1])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:491
+assert_return(
+ () => invoke($0, `i64x2.mul`, [i64x2([0x1n, 0x1n]), f64x2([Infinity, Infinity])]),
+ [i64x2([0x7ff0000000000000n, 0x7ff0000000000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:494
+assert_return(
+ () => invoke($0, `i64x2.mul`, [i64x2([0x1n, 0x1n]), f64x2([-Infinity, -Infinity])]),
+ [i64x2([0xfff0000000000000n, 0xfff0000000000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:497
+assert_return(
+ () => invoke($0, `i64x2.mul`, [
+ i64x2([0x1n, 0x1n]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [i64x2([0x7ff8000000000000n, 0x7ff8000000000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:500
+assert_return(
+ () => invoke($0, `i64x2.mul`, [
+ i64x2([0x0n, 0x1n]),
+ i64x2([0x0n, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0x0n, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:503
+assert_return(
+ () => invoke($0, `i64x2.mul`, [i64x2([0x0n, 0x1n]), i64x2([0x0n, 0x2n])]),
+ [i64x2([0x0n, 0x2n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:506
+assert_return(
+ () => invoke($0, `i64x2.mul`, [
+ i64x2([0x112210f47de98115n, 0x112210f47de98115n]),
+ i64x2([0x112210f47de98115n, 0x112210f47de98115n]),
+ ]),
+ [i64x2([0x86c28d12bb502bb9n, 0x86c28d12bb502bb9n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:509
+assert_return(
+ () => invoke($0, `i64x2.mul`, [
+ i64x2([0x1234567890abcdefn, 0x1234567890abcdefn]),
+ i64x2([0x90abcdef87654321n, 0x90abcdef87654321n]),
+ ]),
+ [i64x2([0x602f05e9e55618cfn, 0x602f05e9e55618cfn])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:514
+assert_return(() => invoke($0, `i64x2.neg`, [i64x2([0x0n, 0x0n])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_i64x2_arith.wast:516
+assert_return(
+ () => invoke($0, `i64x2.neg`, [i64x2([0x1n, 0x1n])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:518
+assert_return(
+ () => invoke($0, `i64x2.neg`, [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])]),
+ [i64x2([0x1n, 0x1n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:520
+assert_return(
+ () => invoke($0, `i64x2.neg`, [i64x2([0x7ffffffffffffffen, 0x7ffffffffffffffen])]),
+ [i64x2([0x8000000000000002n, 0x8000000000000002n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:522
+assert_return(
+ () => invoke($0, `i64x2.neg`, [i64x2([0x8000000000000001n, 0x8000000000000001n])]),
+ [i64x2([0x7fffffffffffffffn, 0x7fffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:524
+assert_return(
+ () => invoke($0, `i64x2.neg`, [i64x2([0x8000000000000000n, 0x8000000000000000n])]),
+ [i64x2([0x8000000000000000n, 0x8000000000000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:526
+assert_return(
+ () => invoke($0, `i64x2.neg`, [i64x2([0x7fffffffffffffffn, 0x7fffffffffffffffn])]),
+ [i64x2([0x8000000000000001n, 0x8000000000000001n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:528
+assert_return(
+ () => invoke($0, `i64x2.neg`, [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])]),
+ [i64x2([0x1n, 0x1n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:530
+assert_return(
+ () => invoke($0, `i64x2.neg`, [i64x2([0x1n, 0x1n])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:532
+assert_return(
+ () => invoke($0, `i64x2.neg`, [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])]),
+ [i64x2([0x1n, 0x1n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:534
+assert_return(
+ () => invoke($0, `i64x2.neg`, [i64x2([0x8000000000000000n, 0x8000000000000000n])]),
+ [i64x2([0x8000000000000000n, 0x8000000000000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:536
+assert_return(
+ () => invoke($0, `i64x2.neg`, [i64x2([0x8000000000000001n, 0x8000000000000001n])]),
+ [i64x2([0x7fffffffffffffffn, 0x7fffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:538
+assert_return(
+ () => invoke($0, `i64x2.neg`, [i64x2([0x7fffffffffffffffn, 0x7fffffffffffffffn])]),
+ [i64x2([0x8000000000000001n, 0x8000000000000001n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:540
+assert_return(
+ () => invoke($0, `i64x2.neg`, [i64x2([0x8000000000000000n, 0x8000000000000000n])]),
+ [i64x2([0x8000000000000000n, 0x8000000000000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:542
+assert_return(
+ () => invoke($0, `i64x2.neg`, [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])]),
+ [i64x2([0x1n, 0x1n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:546
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i64x2.neg (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:547
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i64x2.add (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:548
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i64x2.sub (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:549
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i64x2.mul (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:553
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i64x2.neg-arg-empty (result v128)
+ (i64x2.neg)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:561
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i64x2.add-1st-arg-empty (result v128)
+ (i64x2.add (v128.const i64x2 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:569
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i64x2.add-arg-empty (result v128)
+ (i64x2.add)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:577
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i64x2.sub-1st-arg-empty (result v128)
+ (i64x2.sub (v128.const i64x2 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:585
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i64x2.sub-arg-empty (result v128)
+ (i64x2.sub)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:593
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i64x2.mul-1st-arg-empty (result v128)
+ (i64x2.mul (v128.const i64x2 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:601
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i64x2.mul-arg-empty (result v128)
+ (i64x2.mul)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:611
+let $1 = instantiate(`(module
+ (func (export "add-sub") (param v128 v128 v128) (result v128)
+ (i64x2.add (i64x2.sub (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "mul-add") (param v128 v128 v128) (result v128)
+ (i64x2.mul (i64x2.add (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "mul-sub") (param v128 v128 v128) (result v128)
+ (i64x2.mul (i64x2.sub (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "sub-add") (param v128 v128 v128) (result v128)
+ (i64x2.sub (i64x2.add (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "add-neg") (param v128 v128) (result v128)
+ (i64x2.add (i64x2.neg (local.get 0)) (local.get 1)))
+ (func (export "mul-neg") (param v128 v128) (result v128)
+ (i64x2.mul (i64x2.neg (local.get 0)) (local.get 1)))
+ (func (export "sub-neg") (param v128 v128) (result v128)
+ (i64x2.sub (i64x2.neg (local.get 0)) (local.get 1)))
+)`);
+
+// ./test/core/simd/simd_i64x2_arith.wast:628
+assert_return(
+ () => invoke($1, `add-sub`, [
+ i64x2([0x0n, 0x1n]),
+ i64x2([0x0n, 0x2n]),
+ i64x2([0x0n, 0x2n]),
+ ]),
+ [i64x2([0x0n, 0x1n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:632
+assert_return(
+ () => invoke($1, `mul-add`, [
+ i64x2([0x0n, 0x1n]),
+ i64x2([0x0n, 0x1n]),
+ i64x2([0x2n, 0x2n]),
+ ]),
+ [i64x2([0x0n, 0x4n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:636
+assert_return(
+ () => invoke($1, `mul-sub`, [
+ i64x2([0x0n, 0x2n]),
+ i64x2([0x0n, 0x1n]),
+ i64x2([0x0n, 0x1n]),
+ ]),
+ [i64x2([0x0n, 0x1n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:640
+assert_return(
+ () => invoke($1, `sub-add`, [
+ i64x2([0x0n, 0x1n]),
+ i64x2([0x0n, 0x2n]),
+ i64x2([0x0n, 0x2n]),
+ ]),
+ [i64x2([0x0n, 0x1n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:644
+assert_return(
+ () => invoke($1, `add-neg`, [i64x2([0x0n, 0x1n]), i64x2([0x0n, 0x1n])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:647
+assert_return(
+ () => invoke($1, `mul-neg`, [i64x2([0x0n, 0x1n]), i64x2([0x2n, 0x2n])]),
+ [i64x2([0x0n, 0xfffffffffffffffen])],
+);
+
+// ./test/core/simd/simd_i64x2_arith.wast:650
+assert_return(
+ () => invoke($1, `sub-neg`, [i64x2([0x0n, 0x1n]), i64x2([0x0n, 0x1n])]),
+ [i64x2([0x0n, 0xfffffffffffffffen])],
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/simd_i64x2_arith2.wast.js b/js/src/jit-test/tests/wasm/spec/spec/simd_i64x2_arith2.wast.js
new file mode 100644
index 0000000000..208a463b94
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/simd_i64x2_arith2.wast.js
@@ -0,0 +1,149 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_i64x2_arith2.wast
+
+// ./test/core/simd/simd_i64x2_arith2.wast:3
+let $0 = instantiate(`(module
+ (func (export "i64x2.abs") (param v128) (result v128) (i64x2.abs (local.get 0)))
+ (func (export "i64x2.abs_with_const_0") (result v128) (i64x2.abs (v128.const i64x2 -9223372036854775808 9223372036854775807)))
+)`);
+
+// ./test/core/simd/simd_i64x2_arith2.wast:8
+assert_return(() => invoke($0, `i64x2.abs`, [i64x2([0x1n, 0x1n])]), [i64x2([0x1n, 0x1n])]);
+
+// ./test/core/simd/simd_i64x2_arith2.wast:10
+assert_return(
+ () => invoke($0, `i64x2.abs`, [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])]),
+ [i64x2([0x1n, 0x1n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith2.wast:12
+assert_return(
+ () => invoke($0, `i64x2.abs`, [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])]),
+ [i64x2([0x1n, 0x1n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith2.wast:14
+assert_return(
+ () => invoke($0, `i64x2.abs`, [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])]),
+ [i64x2([0x1n, 0x1n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith2.wast:16
+assert_return(
+ () => invoke($0, `i64x2.abs`, [i64x2([0x8000000000000000n, 0x8000000000000000n])]),
+ [i64x2([0x8000000000000000n, 0x8000000000000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith2.wast:18
+assert_return(
+ () => invoke($0, `i64x2.abs`, [i64x2([0x8000000000000000n, 0x8000000000000000n])]),
+ [i64x2([0x8000000000000000n, 0x8000000000000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith2.wast:20
+assert_return(
+ () => invoke($0, `i64x2.abs`, [i64x2([0x8000000000000000n, 0x8000000000000000n])]),
+ [i64x2([0x8000000000000000n, 0x8000000000000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith2.wast:22
+assert_return(
+ () => invoke($0, `i64x2.abs`, [i64x2([0x8000000000000000n, 0x8000000000000000n])]),
+ [i64x2([0x8000000000000000n, 0x8000000000000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith2.wast:24
+assert_return(() => invoke($0, `i64x2.abs`, [i64x2([0x7bn, 0x7bn])]), [i64x2([0x7bn, 0x7bn])]);
+
+// ./test/core/simd/simd_i64x2_arith2.wast:26
+assert_return(
+ () => invoke($0, `i64x2.abs`, [i64x2([0xffffffffffffff85n, 0xffffffffffffff85n])]),
+ [i64x2([0x7bn, 0x7bn])],
+);
+
+// ./test/core/simd/simd_i64x2_arith2.wast:28
+assert_return(() => invoke($0, `i64x2.abs`, [i64x2([0x80n, 0x80n])]), [i64x2([0x80n, 0x80n])]);
+
+// ./test/core/simd/simd_i64x2_arith2.wast:30
+assert_return(
+ () => invoke($0, `i64x2.abs`, [i64x2([0xffffffffffffff80n, 0xffffffffffffff80n])]),
+ [i64x2([0x80n, 0x80n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith2.wast:32
+assert_return(() => invoke($0, `i64x2.abs`, [i64x2([0x80n, 0x80n])]), [i64x2([0x80n, 0x80n])]);
+
+// ./test/core/simd/simd_i64x2_arith2.wast:34
+assert_return(
+ () => invoke($0, `i64x2.abs`, [i64x2([0xffffffffffffff80n, 0xffffffffffffff80n])]),
+ [i64x2([0x80n, 0x80n])],
+);
+
+// ./test/core/simd/simd_i64x2_arith2.wast:38
+assert_return(
+ () => invoke($0, `i64x2.abs_with_const_0`, []),
+ [i64x2([0x8000000000000000n, 0x7fffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_arith2.wast:43
+assert_return(
+ () => invoke($0, `i64x2.abs`, [i64x2([0x8000000000000000n, 0x7fffffffffffffffn])]),
+ [i64x2([0x8000000000000000n, 0x7fffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_arith2.wast:47
+assert_return(() => invoke($0, `i64x2.abs`, [i64x2([0x0n, 0x0n])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_i64x2_arith2.wast:49
+assert_return(() => invoke($0, `i64x2.abs`, [i64x2([0x0n, 0x0n])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_i64x2_arith2.wast:51
+assert_return(() => invoke($0, `i64x2.abs`, [i64x2([0x0n, 0x0n])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_i64x2_arith2.wast:53
+assert_return(() => invoke($0, `i64x2.abs`, [i64x2([0x0n, 0x0n])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_i64x2_arith2.wast:59
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i64x2.abs (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i64x2_arith2.wast:63
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i64x2.abs-arg-empty (result v128)
+ (i64x2.abs)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i64x2_arith2.wast:73
+let $1 = instantiate(`(module
+ (func (export "i64x2.abs-i64x2.abs") (param v128) (result v128) (i64x2.abs (i64x2.abs (local.get 0))))
+)`);
+
+// ./test/core/simd/simd_i64x2_arith2.wast:77
+assert_return(
+ () => invoke($1, `i64x2.abs-i64x2.abs`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0x1n, 0x1n])],
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/simd_i64x2_cmp.wast.js b/js/src/jit-test/tests/wasm/spec/spec/simd_i64x2_cmp.wast.js
new file mode 100644
index 0000000000..9e346fa8b3
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/simd_i64x2_cmp.wast.js
@@ -0,0 +1,980 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_i64x2_cmp.wast
+
+// ./test/core/simd/simd_i64x2_cmp.wast:4
+let $0 = instantiate(`(module
+ (func (export "eq") (param $$x v128) (param $$y v128) (result v128) (i64x2.eq (local.get $$x) (local.get $$y)))
+ (func (export "ne") (param $$x v128) (param $$y v128) (result v128) (i64x2.ne (local.get $$x) (local.get $$y)))
+ (func (export "lt_s") (param $$x v128) (param $$y v128) (result v128) (i64x2.lt_s (local.get $$x) (local.get $$y)))
+ (func (export "le_s") (param $$x v128) (param $$y v128) (result v128) (i64x2.le_s (local.get $$x) (local.get $$y)))
+ (func (export "gt_s") (param $$x v128) (param $$y v128) (result v128) (i64x2.gt_s (local.get $$x) (local.get $$y)))
+ (func (export "ge_s") (param $$x v128) (param $$y v128) (result v128) (i64x2.ge_s (local.get $$x) (local.get $$y)))
+)`);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:17
+assert_return(
+ () => invoke($0, `eq`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:20
+assert_return(
+ () => invoke($0, `eq`, [i64x2([0x0n, 0x0n]), i64x2([0x0n, 0x0n])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:23
+assert_return(
+ () => invoke($0, `eq`, [
+ i64x2([0xf0f0f0f0f0f0f0f0n, 0xf0f0f0f0f0f0f0f0n]),
+ i64x2([0xf0f0f0f0f0f0f0f0n, 0xf0f0f0f0f0f0f0f0n]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:26
+assert_return(
+ () => invoke($0, `eq`, [
+ i64x2([0xf0f0f0f0f0f0f0fn, 0xf0f0f0f0f0f0f0fn]),
+ i64x2([0xf0f0f0f0f0f0f0fn, 0xf0f0f0f0f0f0f0fn]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:29
+assert_return(
+ () => invoke($0, `eq`, [
+ i64x2([0xffffffffffffffffn, 0x0n]),
+ i64x2([0xffffffffffffffffn, 0x0n]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:32
+assert_return(
+ () => invoke($0, `eq`, [
+ i64x2([0x0n, 0xffffffffffffffffn]),
+ i64x2([0x0n, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:35
+assert_return(
+ () => invoke($0, `eq`, [
+ i64x2([0x3020100n, 0x11100904n]),
+ i64x2([0x3020100n, 0x11100904n]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:38
+assert_return(
+ () => invoke($0, `eq`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i64x2([0xfffffffffffffffn, 0xfffffffffffffffn]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:41
+assert_return(() => invoke($0, `eq`, [i64x2([0x1n, 0x1n]), i64x2([0x2n, 0x2n])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:50
+assert_return(
+ () => invoke($0, `ne`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:53
+assert_return(() => invoke($0, `ne`, [i64x2([0x0n, 0x0n]), i64x2([0x0n, 0x0n])]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:56
+assert_return(
+ () => invoke($0, `ne`, [
+ i64x2([0xf0f0f0f0f0f0f0f0n, 0xf0f0f0f0f0f0f0f0n]),
+ i64x2([0xf0f0f0f0f0f0f0f0n, 0xf0f0f0f0f0f0f0f0n]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:59
+assert_return(
+ () => invoke($0, `ne`, [
+ i64x2([0xf0f0f0f0f0f0f0fn, 0xf0f0f0f0f0f0f0fn]),
+ i64x2([0xf0f0f0f0f0f0f0fn, 0xf0f0f0f0f0f0f0fn]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:62
+assert_return(
+ () => invoke($0, `ne`, [
+ i64x2([0xffffffffffffffffn, 0x0n]),
+ i64x2([0xffffffffffffffffn, 0x0n]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:65
+assert_return(
+ () => invoke($0, `ne`, [
+ i64x2([0x0n, 0xffffffffffffffffn]),
+ i64x2([0x0n, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:68
+assert_return(
+ () => invoke($0, `ne`, [
+ i64x2([0x3020100n, 0x11100904n]),
+ i64x2([0x3020100n, 0x11100904n]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:77
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:80
+assert_return(
+ () => invoke($0, `lt_s`, [i64x2([0x0n, 0x0n]), i64x2([0x0n, 0x0n])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:83
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i64x2([0xf0f0f0f0f0f0f0f0n, 0xf0f0f0f0f0f0f0f0n]),
+ i64x2([0xf0f0f0f0f0f0f0f0n, 0xf0f0f0f0f0f0f0f0n]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:86
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i64x2([0xf0f0f0f0f0f0f0fn, 0xf0f0f0f0f0f0f0fn]),
+ i64x2([0xf0f0f0f0f0f0f0fn, 0xf0f0f0f0f0f0f0fn]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:89
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i64x2([0xffffffffffffffffn, 0x0n]),
+ i64x2([0xffffffffffffffffn, 0x0n]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:92
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i64x2([0x0n, 0xffffffffffffffffn]),
+ i64x2([0x0n, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:95
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i64x2([0x302010011100904n, 0x1a0b0a12ffabaa1bn]),
+ i64x2([0x302010011100904n, 0x1a0b0a12ffabaa1bn]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:100
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:103
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:106
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i64x2([0x8080808080808080n, 0x8080808080808080n]),
+ i64x2([0x8080808080808080n, 0x8080808080808080n]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:109
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i64x2([0x8080808080808080n, 0x8080808080808080n]),
+ i64x2([0x8080808080808080n, 0x8080808080808080n]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:112
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i64x2([0x8382818000fffefdn, 0x7f020100fffefd80n]),
+ i64x2([0x8382818000fffefdn, 0x7f020100fffefd80n]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:117
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:120
+assert_return(
+ () => invoke($0, `lt_s`, [i64x2([0x0n, 0x0n]), i64x2([0x0n, 0x0n])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:123
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:126
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:129
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i64x2([0xffffffffffffffffn, 0x0n]),
+ i64x2([0xffffffffffffffffn, 0x0n]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:132
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i64x2([0x0n, 0xffffffffffffffffn]),
+ i64x2([0x0n, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:135
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i64x2([0x8000000000000001n, 0xffffffffffffffffn]),
+ i64x2([0x8000000000000001n, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:140
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i64x2([0xc060000000000000n, 0xc05fc00000000000n]),
+ f64x2([-128, -127]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:143
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i64x2([0x3ff0000000000000n, 0x405fc00000000000n]),
+ f64x2([1, 127]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:152
+assert_return(
+ () => invoke($0, `le_s`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:155
+assert_return(
+ () => invoke($0, `le_s`, [i64x2([0x0n, 0x0n]), i64x2([0x0n, 0x0n])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:158
+assert_return(
+ () => invoke($0, `le_s`, [
+ i64x2([0xf0f0f0f0f0f0f0f0n, 0xf0f0f0f0f0f0f0f0n]),
+ i64x2([0xf0f0f0f0f0f0f0f0n, 0xf0f0f0f0f0f0f0f0n]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:161
+assert_return(
+ () => invoke($0, `le_s`, [
+ i64x2([0xf0f0f0f0f0f0f0fn, 0xf0f0f0f0f0f0f0fn]),
+ i64x2([0xf0f0f0f0f0f0f0fn, 0xf0f0f0f0f0f0f0fn]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:164
+assert_return(
+ () => invoke($0, `le_s`, [
+ i64x2([0xffffffffffffffffn, 0x0n]),
+ i64x2([0xffffffffffffffffn, 0x0n]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:167
+assert_return(
+ () => invoke($0, `le_s`, [
+ i64x2([0x0n, 0xffffffffffffffffn]),
+ i64x2([0x0n, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:170
+assert_return(
+ () => invoke($0, `le_s`, [
+ i64x2([0x302010011100904n, 0x1a0b0a12ffabaa1bn]),
+ i64x2([0x302010011100904n, 0x1a0b0a12ffabaa1bn]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:175
+assert_return(
+ () => invoke($0, `le_s`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:178
+assert_return(
+ () => invoke($0, `le_s`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:181
+assert_return(
+ () => invoke($0, `le_s`, [
+ i64x2([0x8080808080808080n, 0x8080808080808080n]),
+ i64x2([0x8080808080808080n, 0x8080808080808080n]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:184
+assert_return(
+ () => invoke($0, `le_s`, [
+ i64x2([0x8080808080808080n, 0x8080808080808080n]),
+ i64x2([0x8080808080808080n, 0x8080808080808080n]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:187
+assert_return(
+ () => invoke($0, `le_s`, [
+ i64x2([0x8382818000fffefdn, 0x7f020100fffefd80n]),
+ i64x2([0x8382818000fffefdn, 0x7f020100fffefd80n]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:192
+assert_return(
+ () => invoke($0, `le_s`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:195
+assert_return(
+ () => invoke($0, `le_s`, [i64x2([0x0n, 0x0n]), i64x2([0x0n, 0xffffffffffffffffn])]),
+ [i64x2([0xffffffffffffffffn, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:198
+assert_return(
+ () => invoke($0, `le_s`, [i64x2([0x0n, 0x0n]), i64x2([0x0n, 0x0n])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:201
+assert_return(
+ () => invoke($0, `le_s`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:204
+assert_return(
+ () => invoke($0, `le_s`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:207
+assert_return(
+ () => invoke($0, `le_s`, [
+ i64x2([0xffffffffffffffffn, 0x0n]),
+ i64x2([0xffffffffffffffffn, 0x0n]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:210
+assert_return(
+ () => invoke($0, `le_s`, [
+ i64x2([0x0n, 0xffffffffffffffffn]),
+ i64x2([0x0n, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:213
+assert_return(
+ () => invoke($0, `le_s`, [
+ i64x2([0x8000000000000001n, 0xffffffffffffffffn]),
+ i64x2([0x8000000000000001n, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:218
+assert_return(
+ () => invoke($0, `le_s`, [
+ i64x2([0xc060000000000000n, 0xc05fc00000000000n]),
+ f64x2([-128, -127]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:221
+assert_return(
+ () => invoke($0, `le_s`, [
+ i64x2([0x3ff0000000000000n, 0x405fc00000000000n]),
+ f64x2([1, 127]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:230
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:233
+assert_return(
+ () => invoke($0, `gt_s`, [i64x2([0x0n, 0x0n]), i64x2([0x0n, 0x0n])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:236
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i64x2([0xf0f0f0f0f0f0f0f0n, 0xf0f0f0f0f0f0f0f0n]),
+ i64x2([0xf0f0f0f0f0f0f0f0n, 0xf0f0f0f0f0f0f0f0n]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:239
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i64x2([0xf0f0f0f0f0f0f0fn, 0xf0f0f0f0f0f0f0fn]),
+ i64x2([0xf0f0f0f0f0f0f0fn, 0xf0f0f0f0f0f0f0fn]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:242
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i64x2([0xffffffffffffffffn, 0x0n]),
+ i64x2([0xffffffffffffffffn, 0x0n]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:245
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i64x2([0x0n, 0xffffffffffffffffn]),
+ i64x2([0x0n, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:248
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i64x2([0x302010011100904n, 0x1a0b0a12ffabaa1bn]),
+ i64x2([0x302010011100904n, 0x1a0b0a12ffabaa1bn]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:253
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:256
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:259
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i64x2([0x8080808080808080n, 0x8080808080808080n]),
+ i64x2([0x8080808080808080n, 0x8080808080808080n]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:262
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i64x2([0x8080808080808080n, 0x8080808080808080n]),
+ i64x2([0x8080808080808080n, 0x8080808080808080n]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:265
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i64x2([0x8382818000fffefdn, 0x7f020100fffefd80n]),
+ i64x2([0x8382818000fffefdn, 0x7f020100fffefd80n]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:270
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:273
+assert_return(
+ () => invoke($0, `gt_s`, [i64x2([0x0n, 0x0n]), i64x2([0x0n, 0x0n])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:276
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:279
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:282
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i64x2([0xffffffffffffffffn, 0x0n]),
+ i64x2([0xffffffffffffffffn, 0x0n]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:285
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i64x2([0x0n, 0xffffffffffffffffn]),
+ i64x2([0x0n, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:288
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i64x2([0x8000000000000001n, 0xffffffffffffffffn]),
+ i64x2([0x8000000000000001n, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:293
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i64x2([0xc060000000000000n, 0xc05fc00000000000n]),
+ f64x2([-128, -127]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:296
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i64x2([0x3ff0000000000000n, 0x405fc00000000000n]),
+ f64x2([1, 127]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:305
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:308
+assert_return(
+ () => invoke($0, `ge_s`, [i64x2([0x0n, 0x0n]), i64x2([0x0n, 0x0n])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:311
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i64x2([0xf0f0f0f0f0f0f0f0n, 0xf0f0f0f0f0f0f0f0n]),
+ i64x2([0xf0f0f0f0f0f0f0f0n, 0xf0f0f0f0f0f0f0f0n]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:314
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i64x2([0xf0f0f0f0f0f0f0fn, 0xf0f0f0f0f0f0f0fn]),
+ i64x2([0xf0f0f0f0f0f0f0fn, 0xf0f0f0f0f0f0f0fn]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:317
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i64x2([0xffffffffffffffffn, 0x0n]),
+ i64x2([0xffffffffffffffffn, 0x0n]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:320
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i64x2([0x0n, 0xffffffffffffffffn]),
+ i64x2([0x0n, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:323
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i64x2([0x302010011100904n, 0x1a0b0a12ffabaa1bn]),
+ i64x2([0x302010011100904n, 0x1a0b0a12ffabaa1bn]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:328
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:331
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:334
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i64x2([0x8080808080808080n, 0x8080808080808080n]),
+ i64x2([0x8080808080808080n, 0x8080808080808080n]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:337
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i64x2([0x8080808080808080n, 0x8080808080808080n]),
+ i64x2([0x8080808080808080n, 0x8080808080808080n]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:340
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i64x2([0x8382818000fffefdn, 0x7f020100fffefd80n]),
+ i64x2([0x8382818000fffefdn, 0x7f020100fffefd80n]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:345
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:348
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i64x2([0x0n, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0x0n, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:351
+assert_return(
+ () => invoke($0, `ge_s`, [i64x2([0x0n, 0x0n]), i64x2([0x0n, 0x0n])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:354
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:357
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:360
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i64x2([0xffffffffffffffffn, 0x0n]),
+ i64x2([0xffffffffffffffffn, 0x0n]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:363
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i64x2([0x0n, 0xffffffffffffffffn]),
+ i64x2([0x0n, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:366
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i64x2([0x8000000000000001n, 0xffffffffffffffffn]),
+ i64x2([0x8000000000000001n, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:371
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i64x2([0xc060000000000000n, 0xc05fc00000000000n]),
+ f64x2([-128, -127]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:374
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i64x2([0x3ff0000000000000n, 0x405fc00000000000n]),
+ f64x2([1, 127]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:380
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i64x2.eq (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:381
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i64x2.ne (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:382
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i64x2.ge_s (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:383
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i64x2.gt_s (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:384
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i64x2.le_s (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:385
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i64x2.lt_s (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:389
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i64x2.eq-1st-arg-empty (result v128)
+ (i64x2.eq (v128.const i64x2 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:397
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i64x2.eq-arg-empty (result v128)
+ (i64x2.eq)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:405
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i64x2.ne-1st-arg-empty (result v128)
+ (i64x2.ne (v128.const i64x2 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i64x2_cmp.wast:413
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i64x2.ne-arg-empty (result v128)
+ (i64x2.ne)
+ )
+ )`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/simd_i64x2_extmul_i32x4.wast.js b/js/src/jit-test/tests/wasm/spec/spec/simd_i64x2_extmul_i32x4.wast.js
new file mode 100644
index 0000000000..7427c7fd0d
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/simd_i64x2_extmul_i32x4.wast.js
@@ -0,0 +1,1066 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:4
+let $0 = instantiate(`(module
+ (func (export "i64x2.extmul_low_i32x4_s") (param v128 v128) (result v128) (i64x2.extmul_low_i32x4_s (local.get 0) (local.get 1)))
+ (func (export "i64x2.extmul_high_i32x4_s") (param v128 v128) (result v128) (i64x2.extmul_high_i32x4_s (local.get 0) (local.get 1)))
+ (func (export "i64x2.extmul_low_i32x4_u") (param v128 v128) (result v128) (i64x2.extmul_low_i32x4_u (local.get 0) (local.get 1)))
+ (func (export "i64x2.extmul_high_i32x4_u") (param v128 v128) (result v128) (i64x2.extmul_high_i32x4_u (local.get 0) (local.get 1)))
+)`);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:13
+assert_return(
+ () => invoke($0, `i64x2.extmul_low_i32x4_s`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:16
+assert_return(
+ () => invoke($0, `i64x2.extmul_low_i32x4_s`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:19
+assert_return(
+ () => invoke($0, `i64x2.extmul_low_i32x4_s`, [
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i64x2([0x1n, 0x1n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:22
+assert_return(
+ () => invoke($0, `i64x2.extmul_low_i32x4_s`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:25
+assert_return(
+ () => invoke($0, `i64x2.extmul_low_i32x4_s`, [
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:28
+assert_return(
+ () => invoke($0, `i64x2.extmul_low_i32x4_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i64x2([0x1n, 0x1n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:31
+assert_return(
+ () => invoke($0, `i64x2.extmul_low_i32x4_s`, [
+ i32x4([0x3fffffff, 0x3fffffff, 0x3fffffff, 0x3fffffff]),
+ i32x4([0x40000000, 0x40000000, 0x40000000, 0x40000000]),
+ ]),
+ [i64x2([0xfffffffc0000000n, 0xfffffffc0000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:34
+assert_return(
+ () => invoke($0, `i64x2.extmul_low_i32x4_s`, [
+ i32x4([0x40000000, 0x40000000, 0x40000000, 0x40000000]),
+ i32x4([0x40000000, 0x40000000, 0x40000000, 0x40000000]),
+ ]),
+ [i64x2([0x1000000000000000n, 0x1000000000000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:37
+assert_return(
+ () => invoke($0, `i64x2.extmul_low_i32x4_s`, [
+ i32x4([0xc0000001, 0xc0000001, 0xc0000001, 0xc0000001]),
+ i32x4([0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000]),
+ ]),
+ [i64x2([0xfffffffc0000000n, 0xfffffffc0000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:40
+assert_return(
+ () => invoke($0, `i64x2.extmul_low_i32x4_s`, [
+ i32x4([0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000]),
+ i32x4([0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000]),
+ ]),
+ [i64x2([0x1000000000000000n, 0x1000000000000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:43
+assert_return(
+ () => invoke($0, `i64x2.extmul_low_i32x4_s`, [
+ i32x4([0xbfffffff, 0xbfffffff, 0xbfffffff, 0xbfffffff]),
+ i32x4([0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000]),
+ ]),
+ [i64x2([0x1000000040000000n, 0x1000000040000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:46
+assert_return(
+ () => invoke($0, `i64x2.extmul_low_i32x4_s`, [
+ i32x4([0x7ffffffd, 0x7ffffffd, 0x7ffffffd, 0x7ffffffd]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i64x2([0x7ffffffdn, 0x7ffffffdn])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:49
+assert_return(
+ () => invoke($0, `i64x2.extmul_low_i32x4_s`, [
+ i32x4([0x7ffffffe, 0x7ffffffe, 0x7ffffffe, 0x7ffffffe]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i64x2([0x7ffffffen, 0x7ffffffen])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:52
+assert_return(
+ () => invoke($0, `i64x2.extmul_low_i32x4_s`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i64x2([0xffffffff80000000n, 0xffffffff80000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:55
+assert_return(
+ () => invoke($0, `i64x2.extmul_low_i32x4_s`, [
+ i32x4([0x80000002, 0x80000002, 0x80000002, 0x80000002]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i64x2([0x7ffffffen, 0x7ffffffen])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:58
+assert_return(
+ () => invoke($0, `i64x2.extmul_low_i32x4_s`, [
+ i32x4([0x80000001, 0x80000001, 0x80000001, 0x80000001]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i64x2([0x7fffffffn, 0x7fffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:61
+assert_return(
+ () => invoke($0, `i64x2.extmul_low_i32x4_s`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i64x2([0x80000000n, 0x80000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:64
+assert_return(
+ () => invoke($0, `i64x2.extmul_low_i32x4_s`, [
+ i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff]),
+ i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff]),
+ ]),
+ [i64x2([0x3fffffff00000001n, 0x3fffffff00000001n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:67
+assert_return(
+ () => invoke($0, `i64x2.extmul_low_i32x4_s`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ ]),
+ [i64x2([0x4000000000000000n, 0x4000000000000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:70
+assert_return(
+ () => invoke($0, `i64x2.extmul_low_i32x4_s`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ i32x4([0x80000001, 0x80000001, 0x80000001, 0x80000001]),
+ ]),
+ [i64x2([0x3fffffff80000000n, 0x3fffffff80000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:73
+assert_return(
+ () => invoke($0, `i64x2.extmul_low_i32x4_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:76
+assert_return(
+ () => invoke($0, `i64x2.extmul_low_i32x4_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:79
+assert_return(
+ () => invoke($0, `i64x2.extmul_low_i32x4_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i64x2([0x1n, 0x1n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:82
+assert_return(
+ () => invoke($0, `i64x2.extmul_low_i32x4_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff]),
+ ]),
+ [i64x2([0xffffffff80000001n, 0xffffffff80000001n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:85
+assert_return(
+ () => invoke($0, `i64x2.extmul_low_i32x4_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ ]),
+ [i64x2([0x80000000n, 0x80000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:88
+assert_return(
+ () => invoke($0, `i64x2.extmul_low_i32x4_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i64x2([0x1n, 0x1n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:93
+assert_return(
+ () => invoke($0, `i64x2.extmul_high_i32x4_s`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:96
+assert_return(
+ () => invoke($0, `i64x2.extmul_high_i32x4_s`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:99
+assert_return(
+ () => invoke($0, `i64x2.extmul_high_i32x4_s`, [
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i64x2([0x1n, 0x1n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:102
+assert_return(
+ () => invoke($0, `i64x2.extmul_high_i32x4_s`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:105
+assert_return(
+ () => invoke($0, `i64x2.extmul_high_i32x4_s`, [
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:108
+assert_return(
+ () => invoke($0, `i64x2.extmul_high_i32x4_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i64x2([0x1n, 0x1n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:111
+assert_return(
+ () => invoke($0, `i64x2.extmul_high_i32x4_s`, [
+ i32x4([0x3fffffff, 0x3fffffff, 0x3fffffff, 0x3fffffff]),
+ i32x4([0x40000000, 0x40000000, 0x40000000, 0x40000000]),
+ ]),
+ [i64x2([0xfffffffc0000000n, 0xfffffffc0000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:114
+assert_return(
+ () => invoke($0, `i64x2.extmul_high_i32x4_s`, [
+ i32x4([0x40000000, 0x40000000, 0x40000000, 0x40000000]),
+ i32x4([0x40000000, 0x40000000, 0x40000000, 0x40000000]),
+ ]),
+ [i64x2([0x1000000000000000n, 0x1000000000000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:117
+assert_return(
+ () => invoke($0, `i64x2.extmul_high_i32x4_s`, [
+ i32x4([0xc0000001, 0xc0000001, 0xc0000001, 0xc0000001]),
+ i32x4([0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000]),
+ ]),
+ [i64x2([0xfffffffc0000000n, 0xfffffffc0000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:120
+assert_return(
+ () => invoke($0, `i64x2.extmul_high_i32x4_s`, [
+ i32x4([0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000]),
+ i32x4([0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000]),
+ ]),
+ [i64x2([0x1000000000000000n, 0x1000000000000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:123
+assert_return(
+ () => invoke($0, `i64x2.extmul_high_i32x4_s`, [
+ i32x4([0xbfffffff, 0xbfffffff, 0xbfffffff, 0xbfffffff]),
+ i32x4([0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000]),
+ ]),
+ [i64x2([0x1000000040000000n, 0x1000000040000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:126
+assert_return(
+ () => invoke($0, `i64x2.extmul_high_i32x4_s`, [
+ i32x4([0x7ffffffd, 0x7ffffffd, 0x7ffffffd, 0x7ffffffd]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i64x2([0x7ffffffdn, 0x7ffffffdn])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:129
+assert_return(
+ () => invoke($0, `i64x2.extmul_high_i32x4_s`, [
+ i32x4([0x7ffffffe, 0x7ffffffe, 0x7ffffffe, 0x7ffffffe]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i64x2([0x7ffffffen, 0x7ffffffen])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:132
+assert_return(
+ () => invoke($0, `i64x2.extmul_high_i32x4_s`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i64x2([0xffffffff80000000n, 0xffffffff80000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:135
+assert_return(
+ () => invoke($0, `i64x2.extmul_high_i32x4_s`, [
+ i32x4([0x80000002, 0x80000002, 0x80000002, 0x80000002]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i64x2([0x7ffffffen, 0x7ffffffen])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:138
+assert_return(
+ () => invoke($0, `i64x2.extmul_high_i32x4_s`, [
+ i32x4([0x80000001, 0x80000001, 0x80000001, 0x80000001]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i64x2([0x7fffffffn, 0x7fffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:141
+assert_return(
+ () => invoke($0, `i64x2.extmul_high_i32x4_s`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i64x2([0x80000000n, 0x80000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:144
+assert_return(
+ () => invoke($0, `i64x2.extmul_high_i32x4_s`, [
+ i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff]),
+ i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff]),
+ ]),
+ [i64x2([0x3fffffff00000001n, 0x3fffffff00000001n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:147
+assert_return(
+ () => invoke($0, `i64x2.extmul_high_i32x4_s`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ ]),
+ [i64x2([0x4000000000000000n, 0x4000000000000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:150
+assert_return(
+ () => invoke($0, `i64x2.extmul_high_i32x4_s`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ i32x4([0x80000001, 0x80000001, 0x80000001, 0x80000001]),
+ ]),
+ [i64x2([0x3fffffff80000000n, 0x3fffffff80000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:153
+assert_return(
+ () => invoke($0, `i64x2.extmul_high_i32x4_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:156
+assert_return(
+ () => invoke($0, `i64x2.extmul_high_i32x4_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:159
+assert_return(
+ () => invoke($0, `i64x2.extmul_high_i32x4_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i64x2([0x1n, 0x1n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:162
+assert_return(
+ () => invoke($0, `i64x2.extmul_high_i32x4_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff]),
+ ]),
+ [i64x2([0xffffffff80000001n, 0xffffffff80000001n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:165
+assert_return(
+ () => invoke($0, `i64x2.extmul_high_i32x4_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ ]),
+ [i64x2([0x80000000n, 0x80000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:168
+assert_return(
+ () => invoke($0, `i64x2.extmul_high_i32x4_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i64x2([0x1n, 0x1n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:173
+assert_return(
+ () => invoke($0, `i64x2.extmul_low_i32x4_u`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:176
+assert_return(
+ () => invoke($0, `i64x2.extmul_low_i32x4_u`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:179
+assert_return(
+ () => invoke($0, `i64x2.extmul_low_i32x4_u`, [
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i64x2([0x1n, 0x1n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:182
+assert_return(
+ () => invoke($0, `i64x2.extmul_low_i32x4_u`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:185
+assert_return(
+ () => invoke($0, `i64x2.extmul_low_i32x4_u`, [
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i64x2([0xffffffffn, 0xffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:188
+assert_return(
+ () => invoke($0, `i64x2.extmul_low_i32x4_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i64x2([0xfffffffe00000001n, 0xfffffffe00000001n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:191
+assert_return(
+ () => invoke($0, `i64x2.extmul_low_i32x4_u`, [
+ i32x4([0x3fffffff, 0x3fffffff, 0x3fffffff, 0x3fffffff]),
+ i32x4([0x40000000, 0x40000000, 0x40000000, 0x40000000]),
+ ]),
+ [i64x2([0xfffffffc0000000n, 0xfffffffc0000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:194
+assert_return(
+ () => invoke($0, `i64x2.extmul_low_i32x4_u`, [
+ i32x4([0x40000000, 0x40000000, 0x40000000, 0x40000000]),
+ i32x4([0x40000000, 0x40000000, 0x40000000, 0x40000000]),
+ ]),
+ [i64x2([0x1000000000000000n, 0x1000000000000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:197
+assert_return(
+ () => invoke($0, `i64x2.extmul_low_i32x4_u`, [
+ i32x4([0xc0000001, 0xc0000001, 0xc0000001, 0xc0000001]),
+ i32x4([0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000]),
+ ]),
+ [i64x2([0x90000000c0000000n, 0x90000000c0000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:200
+assert_return(
+ () => invoke($0, `i64x2.extmul_low_i32x4_u`, [
+ i32x4([0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000]),
+ i32x4([0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000]),
+ ]),
+ [i64x2([0x9000000000000000n, 0x9000000000000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:203
+assert_return(
+ () => invoke($0, `i64x2.extmul_low_i32x4_u`, [
+ i32x4([0xbfffffff, 0xbfffffff, 0xbfffffff, 0xbfffffff]),
+ i32x4([0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000]),
+ ]),
+ [i64x2([0x8fffffff40000000n, 0x8fffffff40000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:206
+assert_return(
+ () => invoke($0, `i64x2.extmul_low_i32x4_u`, [
+ i32x4([0x7ffffffd, 0x7ffffffd, 0x7ffffffd, 0x7ffffffd]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i64x2([0x7ffffffdn, 0x7ffffffdn])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:209
+assert_return(
+ () => invoke($0, `i64x2.extmul_low_i32x4_u`, [
+ i32x4([0x7ffffffe, 0x7ffffffe, 0x7ffffffe, 0x7ffffffe]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i64x2([0x7ffffffen, 0x7ffffffen])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:212
+assert_return(
+ () => invoke($0, `i64x2.extmul_low_i32x4_u`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i64x2([0x80000000n, 0x80000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:215
+assert_return(
+ () => invoke($0, `i64x2.extmul_low_i32x4_u`, [
+ i32x4([0x80000002, 0x80000002, 0x80000002, 0x80000002]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i64x2([0x800000017ffffffen, 0x800000017ffffffen])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:218
+assert_return(
+ () => invoke($0, `i64x2.extmul_low_i32x4_u`, [
+ i32x4([0x80000001, 0x80000001, 0x80000001, 0x80000001]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i64x2([0x800000007fffffffn, 0x800000007fffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:221
+assert_return(
+ () => invoke($0, `i64x2.extmul_low_i32x4_u`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i64x2([0x7fffffff80000000n, 0x7fffffff80000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:224
+assert_return(
+ () => invoke($0, `i64x2.extmul_low_i32x4_u`, [
+ i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff]),
+ i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff]),
+ ]),
+ [i64x2([0x3fffffff00000001n, 0x3fffffff00000001n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:227
+assert_return(
+ () => invoke($0, `i64x2.extmul_low_i32x4_u`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ ]),
+ [i64x2([0x4000000000000000n, 0x4000000000000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:230
+assert_return(
+ () => invoke($0, `i64x2.extmul_low_i32x4_u`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ i32x4([0x80000001, 0x80000001, 0x80000001, 0x80000001]),
+ ]),
+ [i64x2([0x4000000080000000n, 0x4000000080000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:233
+assert_return(
+ () => invoke($0, `i64x2.extmul_low_i32x4_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:236
+assert_return(
+ () => invoke($0, `i64x2.extmul_low_i32x4_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i64x2([0xffffffffn, 0xffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:239
+assert_return(
+ () => invoke($0, `i64x2.extmul_low_i32x4_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i64x2([0xfffffffe00000001n, 0xfffffffe00000001n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:242
+assert_return(
+ () => invoke($0, `i64x2.extmul_low_i32x4_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff]),
+ ]),
+ [i64x2([0x7ffffffe80000001n, 0x7ffffffe80000001n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:245
+assert_return(
+ () => invoke($0, `i64x2.extmul_low_i32x4_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ ]),
+ [i64x2([0x7fffffff80000000n, 0x7fffffff80000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:248
+assert_return(
+ () => invoke($0, `i64x2.extmul_low_i32x4_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i64x2([0xfffffffe00000001n, 0xfffffffe00000001n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:253
+assert_return(
+ () => invoke($0, `i64x2.extmul_high_i32x4_u`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:256
+assert_return(
+ () => invoke($0, `i64x2.extmul_high_i32x4_u`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:259
+assert_return(
+ () => invoke($0, `i64x2.extmul_high_i32x4_u`, [
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i64x2([0x1n, 0x1n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:262
+assert_return(
+ () => invoke($0, `i64x2.extmul_high_i32x4_u`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:265
+assert_return(
+ () => invoke($0, `i64x2.extmul_high_i32x4_u`, [
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i64x2([0xffffffffn, 0xffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:268
+assert_return(
+ () => invoke($0, `i64x2.extmul_high_i32x4_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i64x2([0xfffffffe00000001n, 0xfffffffe00000001n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:271
+assert_return(
+ () => invoke($0, `i64x2.extmul_high_i32x4_u`, [
+ i32x4([0x3fffffff, 0x3fffffff, 0x3fffffff, 0x3fffffff]),
+ i32x4([0x40000000, 0x40000000, 0x40000000, 0x40000000]),
+ ]),
+ [i64x2([0xfffffffc0000000n, 0xfffffffc0000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:274
+assert_return(
+ () => invoke($0, `i64x2.extmul_high_i32x4_u`, [
+ i32x4([0x40000000, 0x40000000, 0x40000000, 0x40000000]),
+ i32x4([0x40000000, 0x40000000, 0x40000000, 0x40000000]),
+ ]),
+ [i64x2([0x1000000000000000n, 0x1000000000000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:277
+assert_return(
+ () => invoke($0, `i64x2.extmul_high_i32x4_u`, [
+ i32x4([0xc0000001, 0xc0000001, 0xc0000001, 0xc0000001]),
+ i32x4([0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000]),
+ ]),
+ [i64x2([0x90000000c0000000n, 0x90000000c0000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:280
+assert_return(
+ () => invoke($0, `i64x2.extmul_high_i32x4_u`, [
+ i32x4([0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000]),
+ i32x4([0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000]),
+ ]),
+ [i64x2([0x9000000000000000n, 0x9000000000000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:283
+assert_return(
+ () => invoke($0, `i64x2.extmul_high_i32x4_u`, [
+ i32x4([0xbfffffff, 0xbfffffff, 0xbfffffff, 0xbfffffff]),
+ i32x4([0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000]),
+ ]),
+ [i64x2([0x8fffffff40000000n, 0x8fffffff40000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:286
+assert_return(
+ () => invoke($0, `i64x2.extmul_high_i32x4_u`, [
+ i32x4([0x7ffffffd, 0x7ffffffd, 0x7ffffffd, 0x7ffffffd]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i64x2([0x7ffffffdn, 0x7ffffffdn])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:289
+assert_return(
+ () => invoke($0, `i64x2.extmul_high_i32x4_u`, [
+ i32x4([0x7ffffffe, 0x7ffffffe, 0x7ffffffe, 0x7ffffffe]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i64x2([0x7ffffffen, 0x7ffffffen])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:292
+assert_return(
+ () => invoke($0, `i64x2.extmul_high_i32x4_u`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i64x2([0x80000000n, 0x80000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:295
+assert_return(
+ () => invoke($0, `i64x2.extmul_high_i32x4_u`, [
+ i32x4([0x80000002, 0x80000002, 0x80000002, 0x80000002]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i64x2([0x800000017ffffffen, 0x800000017ffffffen])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:298
+assert_return(
+ () => invoke($0, `i64x2.extmul_high_i32x4_u`, [
+ i32x4([0x80000001, 0x80000001, 0x80000001, 0x80000001]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i64x2([0x800000007fffffffn, 0x800000007fffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:301
+assert_return(
+ () => invoke($0, `i64x2.extmul_high_i32x4_u`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i64x2([0x7fffffff80000000n, 0x7fffffff80000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:304
+assert_return(
+ () => invoke($0, `i64x2.extmul_high_i32x4_u`, [
+ i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff]),
+ i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff]),
+ ]),
+ [i64x2([0x3fffffff00000001n, 0x3fffffff00000001n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:307
+assert_return(
+ () => invoke($0, `i64x2.extmul_high_i32x4_u`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ ]),
+ [i64x2([0x4000000000000000n, 0x4000000000000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:310
+assert_return(
+ () => invoke($0, `i64x2.extmul_high_i32x4_u`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ i32x4([0x80000001, 0x80000001, 0x80000001, 0x80000001]),
+ ]),
+ [i64x2([0x4000000080000000n, 0x4000000080000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:313
+assert_return(
+ () => invoke($0, `i64x2.extmul_high_i32x4_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:316
+assert_return(
+ () => invoke($0, `i64x2.extmul_high_i32x4_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i64x2([0xffffffffn, 0xffffffffn])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:319
+assert_return(
+ () => invoke($0, `i64x2.extmul_high_i32x4_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i64x2([0xfffffffe00000001n, 0xfffffffe00000001n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:322
+assert_return(
+ () => invoke($0, `i64x2.extmul_high_i32x4_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff]),
+ ]),
+ [i64x2([0x7ffffffe80000001n, 0x7ffffffe80000001n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:325
+assert_return(
+ () => invoke($0, `i64x2.extmul_high_i32x4_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ ]),
+ [i64x2([0x7fffffff80000000n, 0x7fffffff80000000n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:328
+assert_return(
+ () => invoke($0, `i64x2.extmul_high_i32x4_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i64x2([0xfffffffe00000001n, 0xfffffffe00000001n])],
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:333
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i64x2.extmul_low_i32x4_s (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:334
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i64x2.extmul_high_i32x4_s (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:335
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i64x2.extmul_low_i32x4_u (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:336
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i64x2.extmul_high_i32x4_u (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:340
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i64x2.extmul_low_i32x4_s-1st-arg-empty (result v128)
+ (i64x2.extmul_low_i32x4_s (v128.const i64x2 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:348
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i64x2.extmul_low_i32x4_s-arg-empty (result v128)
+ (i64x2.extmul_low_i32x4_s)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:356
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i64x2.extmul_high_i32x4_s-1st-arg-empty (result v128)
+ (i64x2.extmul_high_i32x4_s (v128.const i64x2 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:364
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i64x2.extmul_high_i32x4_s-arg-empty (result v128)
+ (i64x2.extmul_high_i32x4_s)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:372
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i64x2.extmul_low_i32x4_u-1st-arg-empty (result v128)
+ (i64x2.extmul_low_i32x4_u (v128.const i64x2 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:380
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i64x2.extmul_low_i32x4_u-arg-empty (result v128)
+ (i64x2.extmul_low_i32x4_u)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:388
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i64x2.extmul_high_i32x4_u-1st-arg-empty (result v128)
+ (i64x2.extmul_high_i32x4_u (v128.const i64x2 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i64x2_extmul_i32x4.wast:396
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i64x2.extmul_high_i32x4_u-arg-empty (result v128)
+ (i64x2.extmul_high_i32x4_u)
+ )
+ )`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/simd_i8x16_arith.wast.js b/js/src/jit-test/tests/wasm/spec/spec/simd_i8x16_arith.wast.js
new file mode 100644
index 0000000000..698420ca4d
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/simd_i8x16_arith.wast.js
@@ -0,0 +1,1457 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_i8x16_arith.wast
+
+// ./test/core/simd/simd_i8x16_arith.wast:4
+let $0 = instantiate(`(module
+ (func (export "i8x16.add") (param v128 v128) (result v128) (i8x16.add (local.get 0) (local.get 1)))
+ (func (export "i8x16.sub") (param v128 v128) (result v128) (i8x16.sub (local.get 0) (local.get 1)))
+ (func (export "i8x16.neg") (param v128) (result v128) (i8x16.neg (local.get 0)))
+)`);
+
+// ./test/core/simd/simd_i8x16_arith.wast:12
+assert_return(
+ () => invoke($0, `i8x16.add`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:15
+assert_return(
+ () => invoke($0, `i8x16.add`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:18
+assert_return(
+ () => invoke($0, `i8x16.add`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:21
+assert_return(
+ () => invoke($0, `i8x16.add`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:24
+assert_return(
+ () => invoke($0, `i8x16.add`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:27
+assert_return(
+ () => invoke($0, `i8x16.add`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:30
+assert_return(
+ () => invoke($0, `i8x16.add`, [
+ i8x16([0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f]),
+ i8x16([0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40]),
+ ]),
+ [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:33
+assert_return(
+ () => invoke($0, `i8x16.add`, [
+ i8x16([0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40]),
+ i8x16([0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:36
+assert_return(
+ () => invoke($0, `i8x16.add`, [
+ i8x16([0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1]),
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ ]),
+ [
+ i8x16([0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:39
+assert_return(
+ () => invoke($0, `i8x16.add`, [
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:42
+assert_return(
+ () => invoke($0, `i8x16.add`, [
+ i8x16([0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf]),
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ ]),
+ [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:45
+assert_return(
+ () => invoke($0, `i8x16.add`, [
+ i8x16([0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:48
+assert_return(
+ () => invoke($0, `i8x16.add`, [
+ i8x16([0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:51
+assert_return(
+ () => invoke($0, `i8x16.add`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:54
+assert_return(
+ () => invoke($0, `i8x16.add`, [
+ i8x16([0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:57
+assert_return(
+ () => invoke($0, `i8x16.add`, [
+ i8x16([0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:60
+assert_return(
+ () => invoke($0, `i8x16.add`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:63
+assert_return(
+ () => invoke($0, `i8x16.add`, [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [
+ i8x16([0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:66
+assert_return(
+ () => invoke($0, `i8x16.add`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:69
+assert_return(
+ () => invoke($0, `i8x16.add`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:72
+assert_return(
+ () => invoke($0, `i8x16.add`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:75
+assert_return(
+ () => invoke($0, `i8x16.add`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:78
+assert_return(
+ () => invoke($0, `i8x16.add`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:81
+assert_return(
+ () => invoke($0, `i8x16.add`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [
+ i8x16([0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:84
+assert_return(
+ () => invoke($0, `i8x16.add`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:87
+assert_return(
+ () => invoke($0, `i8x16.add`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:90
+assert_return(
+ () => invoke($0, `i8x16.add`, [
+ i8x16([0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f]),
+ i8x16([0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40]),
+ ]),
+ [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:93
+assert_return(
+ () => invoke($0, `i8x16.add`, [
+ i8x16([0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40]),
+ i8x16([0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:96
+assert_return(
+ () => invoke($0, `i8x16.add`, [
+ i8x16([0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1]),
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ ]),
+ [
+ i8x16([0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:99
+assert_return(
+ () => invoke($0, `i8x16.add`, [
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:102
+assert_return(
+ () => invoke($0, `i8x16.add`, [
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ i8x16([0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf]),
+ ]),
+ [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:105
+assert_return(
+ () => invoke($0, `i8x16.add`, [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [
+ i8x16([0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:108
+assert_return(
+ () => invoke($0, `i8x16.add`, [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:111
+assert_return(
+ () => invoke($0, `i8x16.add`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:114
+assert_return(
+ () => invoke($0, `i8x16.add`, [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:117
+assert_return(
+ () => invoke($0, `i8x16.add`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:120
+assert_return(
+ () => invoke($0, `i8x16.add`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:123
+assert_return(
+ () => invoke($0, `i8x16.add`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:126
+assert_return(
+ () => invoke($0, `i8x16.add`, [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ i16x8([0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:129
+assert_return(
+ () => invoke($0, `i8x16.add`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:132
+assert_return(
+ () => invoke($0, `i8x16.add`, [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ i32x4([0x80808080, 0x80808080, 0x80808080, 0x80808080]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:135
+assert_return(
+ () => invoke($0, `i8x16.add`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:138
+assert_return(
+ () => invoke($0, `i8x16.add`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:141
+assert_return(
+ () => invoke($0, `i8x16.add`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x0, 0x80, 0x80, 0x80, 0x0, 0x80, 0x80, 0x80, 0x0, 0x80, 0x80, 0x80, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:144
+assert_return(
+ () => invoke($0, `i8x16.add`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x0, 0xbf, 0x80, 0x80, 0x0, 0xbf, 0x80, 0x80, 0x0, 0xbf, 0x80, 0x80, 0x0, 0xbf]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:147
+assert_return(
+ () => invoke($0, `i8x16.add`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x0, 0x3f, 0x80, 0x80, 0x0, 0x3f, 0x80, 0x80, 0x0, 0x3f, 0x80, 0x80, 0x0, 0x3f]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:150
+assert_return(
+ () => invoke($0, `i8x16.add`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x81, 0x80, 0x1, 0x1, 0x81, 0x80, 0x1, 0x1, 0x81, 0x80, 0x1, 0x1, 0x81, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:153
+assert_return(
+ () => invoke($0, `i8x16.add`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x81, 0x0, 0x1, 0x1, 0x81, 0x0, 0x1, 0x1, 0x81, 0x0, 0x1, 0x1, 0x81, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:156
+assert_return(
+ () => invoke($0, `i8x16.add`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0xc1, 0x80, 0x1, 0x1, 0xc1, 0x80, 0x1, 0x1, 0xc1, 0x80, 0x1, 0x1, 0xc1, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:159
+assert_return(
+ () => invoke($0, `i8x16.add`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i8x16([0x0, 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:162
+assert_return(
+ () => invoke($0, `i8x16.add`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i8x16([0x0, 0x2, 0x4, 0x6, 0x8, 0xa, 0xc, 0xe, 0x10, 0x12, 0x14, 0x16, 0x18, 0x1a, 0x1c, 0x1e]),
+ ]),
+ [
+ i8x16([0x0, 0x3, 0x6, 0x9, 0xc, 0xf, 0x12, 0x15, 0x18, 0x1b, 0x1e, 0x21, 0x24, 0x27, 0x2a, 0x2d]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:167
+assert_return(
+ () => invoke($0, `i8x16.sub`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:170
+assert_return(
+ () => invoke($0, `i8x16.sub`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:173
+assert_return(
+ () => invoke($0, `i8x16.sub`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:176
+assert_return(
+ () => invoke($0, `i8x16.sub`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:179
+assert_return(
+ () => invoke($0, `i8x16.sub`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:182
+assert_return(
+ () => invoke($0, `i8x16.sub`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:185
+assert_return(
+ () => invoke($0, `i8x16.sub`, [
+ i8x16([0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f]),
+ i8x16([0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:188
+assert_return(
+ () => invoke($0, `i8x16.sub`, [
+ i8x16([0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40]),
+ i8x16([0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:191
+assert_return(
+ () => invoke($0, `i8x16.sub`, [
+ i8x16([0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1]),
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:194
+assert_return(
+ () => invoke($0, `i8x16.sub`, [
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:197
+assert_return(
+ () => invoke($0, `i8x16.sub`, [
+ i8x16([0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf]),
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:200
+assert_return(
+ () => invoke($0, `i8x16.sub`, [
+ i8x16([0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:203
+assert_return(
+ () => invoke($0, `i8x16.sub`, [
+ i8x16([0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:206
+assert_return(
+ () => invoke($0, `i8x16.sub`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:209
+assert_return(
+ () => invoke($0, `i8x16.sub`, [
+ i8x16([0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:212
+assert_return(
+ () => invoke($0, `i8x16.sub`, [
+ i8x16([0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:215
+assert_return(
+ () => invoke($0, `i8x16.sub`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:218
+assert_return(
+ () => invoke($0, `i8x16.sub`, [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:221
+assert_return(
+ () => invoke($0, `i8x16.sub`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:224
+assert_return(
+ () => invoke($0, `i8x16.sub`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:227
+assert_return(
+ () => invoke($0, `i8x16.sub`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:230
+assert_return(
+ () => invoke($0, `i8x16.sub`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:233
+assert_return(
+ () => invoke($0, `i8x16.sub`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:236
+assert_return(
+ () => invoke($0, `i8x16.sub`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:239
+assert_return(
+ () => invoke($0, `i8x16.sub`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:242
+assert_return(
+ () => invoke($0, `i8x16.sub`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:245
+assert_return(
+ () => invoke($0, `i8x16.sub`, [
+ i8x16([0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f]),
+ i8x16([0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:248
+assert_return(
+ () => invoke($0, `i8x16.sub`, [
+ i8x16([0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40]),
+ i8x16([0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:251
+assert_return(
+ () => invoke($0, `i8x16.sub`, [
+ i8x16([0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1]),
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:254
+assert_return(
+ () => invoke($0, `i8x16.sub`, [
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:257
+assert_return(
+ () => invoke($0, `i8x16.sub`, [
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ i8x16([0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:260
+assert_return(
+ () => invoke($0, `i8x16.sub`, [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:263
+assert_return(
+ () => invoke($0, `i8x16.sub`, [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:266
+assert_return(
+ () => invoke($0, `i8x16.sub`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:269
+assert_return(
+ () => invoke($0, `i8x16.sub`, [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:272
+assert_return(
+ () => invoke($0, `i8x16.sub`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:275
+assert_return(
+ () => invoke($0, `i8x16.sub`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:278
+assert_return(
+ () => invoke($0, `i8x16.sub`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:281
+assert_return(
+ () => invoke($0, `i8x16.sub`, [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ i16x8([0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:284
+assert_return(
+ () => invoke($0, `i8x16.sub`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [
+ i8x16([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:287
+assert_return(
+ () => invoke($0, `i8x16.sub`, [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ i32x4([0x80808080, 0x80808080, 0x80808080, 0x80808080]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:290
+assert_return(
+ () => invoke($0, `i8x16.sub`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [
+ i8x16([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:293
+assert_return(
+ () => invoke($0, `i8x16.sub`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ f32x4([0, 0, 0, 0]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:296
+assert_return(
+ () => invoke($0, `i8x16.sub`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x0, 0x80, 0x80, 0x80, 0x0, 0x80, 0x80, 0x80, 0x0, 0x80, 0x80, 0x80, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:299
+assert_return(
+ () => invoke($0, `i8x16.sub`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ f32x4([1, 1, 1, 1]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x0, 0x41, 0x80, 0x80, 0x0, 0x41, 0x80, 0x80, 0x0, 0x41, 0x80, 0x80, 0x0, 0x41]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:302
+assert_return(
+ () => invoke($0, `i8x16.sub`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ f32x4([-1, -1, -1, -1]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x0, 0xc1, 0x80, 0x80, 0x0, 0xc1, 0x80, 0x80, 0x0, 0xc1, 0x80, 0x80, 0x0, 0xc1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:305
+assert_return(
+ () => invoke($0, `i8x16.sub`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x81, 0x82, 0x1, 0x1, 0x81, 0x82, 0x1, 0x1, 0x81, 0x82, 0x1, 0x1, 0x81, 0x82]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:308
+assert_return(
+ () => invoke($0, `i8x16.sub`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x81, 0x2, 0x1, 0x1, 0x81, 0x2, 0x1, 0x1, 0x81, 0x2, 0x1, 0x1, 0x81, 0x2]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:311
+assert_return(
+ () => invoke($0, `i8x16.sub`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x41, 0x82, 0x1, 0x1, 0x41, 0x82, 0x1, 0x1, 0x41, 0x82, 0x1, 0x1, 0x41, 0x82]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:314
+assert_return(
+ () => invoke($0, `i8x16.sub`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i8x16([0x0, 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1]),
+ ]),
+ [
+ i8x16([0x0, 0x2, 0x4, 0x6, 0x8, 0xa, 0xc, 0xe, 0x10, 0x12, 0x14, 0x16, 0x18, 0x1a, 0x1c, 0x1e]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:317
+assert_return(
+ () => invoke($0, `i8x16.sub`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i8x16([0x0, 0x2, 0x4, 0x6, 0x8, 0xa, 0xc, 0xe, 0x10, 0x12, 0x14, 0x16, 0x18, 0x1a, 0x1c, 0x1e]),
+ ]),
+ [
+ i8x16([0x0, 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:322
+assert_return(
+ () => invoke($0, `i8x16.neg`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:324
+assert_return(
+ () => invoke($0, `i8x16.neg`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:326
+assert_return(
+ () => invoke($0, `i8x16.neg`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:328
+assert_return(
+ () => invoke($0, `i8x16.neg`, [
+ i8x16([0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e]),
+ ]),
+ [
+ i8x16([0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:330
+assert_return(
+ () => invoke($0, `i8x16.neg`, [
+ i8x16([0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81]),
+ ]),
+ [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:332
+assert_return(
+ () => invoke($0, `i8x16.neg`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:334
+assert_return(
+ () => invoke($0, `i8x16.neg`, [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [
+ i8x16([0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:336
+assert_return(
+ () => invoke($0, `i8x16.neg`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:338
+assert_return(
+ () => invoke($0, `i8x16.neg`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:340
+assert_return(
+ () => invoke($0, `i8x16.neg`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:342
+assert_return(
+ () => invoke($0, `i8x16.neg`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:344
+assert_return(
+ () => invoke($0, `i8x16.neg`, [
+ i8x16([0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81]),
+ ]),
+ [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:346
+assert_return(
+ () => invoke($0, `i8x16.neg`, [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [
+ i8x16([0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:348
+assert_return(
+ () => invoke($0, `i8x16.neg`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:350
+assert_return(
+ () => invoke($0, `i8x16.neg`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:354
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i8x16.neg (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:355
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i8x16.add (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:356
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i8x16.sub (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:360
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.neg-arg-empty (result v128)
+ (i8x16.neg)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:368
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.add-1st-arg-empty (result v128)
+ (i8x16.add (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:376
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.add-arg-empty (result v128)
+ (i8x16.add)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:384
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.sub-1st-arg-empty (result v128)
+ (i8x16.sub (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:392
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.sub-arg-empty (result v128)
+ (i8x16.sub)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:402
+let $1 = instantiate(`(module
+ (func (export "add-sub") (param v128 v128 v128) (result v128)
+ (i8x16.add (i8x16.sub (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "sub-add") (param v128 v128 v128) (result v128)
+ (i8x16.sub (i8x16.add (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "add-neg") (param v128 v128) (result v128)
+ (i8x16.add (i8x16.neg (local.get 0)) (local.get 1)))
+ (func (export "sub-neg") (param v128 v128) (result v128)
+ (i8x16.sub (i8x16.neg (local.get 0)) (local.get 1)))
+)`);
+
+// ./test/core/simd/simd_i8x16_arith.wast:413
+assert_return(
+ () => invoke($1, `add-sub`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i8x16([0x0, 0x2, 0x4, 0x6, 0x8, 0xa, 0xc, 0xe, 0x10, 0x12, 0x14, 0x16, 0x18, 0x1a, 0x1c, 0x1e]),
+ i8x16([0x0, 0x2, 0x4, 0x6, 0x8, 0xa, 0xc, 0xe, 0x10, 0x12, 0x14, 0x16, 0x18, 0x1a, 0x1c, 0x1e]),
+ ]),
+ [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:417
+assert_return(
+ () => invoke($1, `sub-add`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i8x16([0x0, 0x2, 0x4, 0x6, 0x8, 0xa, 0xc, 0xe, 0x10, 0x12, 0x14, 0x16, 0x18, 0x1a, 0x1c, 0x1e]),
+ i8x16([0x0, 0x2, 0x4, 0x6, 0x8, 0xa, 0xc, 0xe, 0x10, 0x12, 0x14, 0x16, 0x18, 0x1a, 0x1c, 0x1e]),
+ ]),
+ [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:421
+assert_return(
+ () => invoke($1, `add-neg`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith.wast:424
+assert_return(
+ () => invoke($1, `sub-neg`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ]),
+ [
+ i8x16([0x0, 0xfe, 0xfc, 0xfa, 0xf8, 0xf6, 0xf4, 0xf2, 0xf0, 0xee, 0xec, 0xea, 0xe8, 0xe6, 0xe4, 0xe2]),
+ ],
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/simd_i8x16_arith2.wast.js b/js/src/jit-test/tests/wasm/spec/spec/simd_i8x16_arith2.wast.js
new file mode 100644
index 0000000000..7d8d376765
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/simd_i8x16_arith2.wast.js
@@ -0,0 +1,2263 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_i8x16_arith2.wast
+
+// ./test/core/simd/simd_i8x16_arith2.wast:3
+let $0 = instantiate(`(module
+ (func (export "i8x16.min_s") (param v128 v128) (result v128) (i8x16.min_s (local.get 0) (local.get 1)))
+ (func (export "i8x16.min_u") (param v128 v128) (result v128) (i8x16.min_u (local.get 0) (local.get 1)))
+ (func (export "i8x16.max_s") (param v128 v128) (result v128) (i8x16.max_s (local.get 0) (local.get 1)))
+ (func (export "i8x16.max_u") (param v128 v128) (result v128) (i8x16.max_u (local.get 0) (local.get 1)))
+ (func (export "i8x16.avgr_u") (param v128 v128) (result v128) (i8x16.avgr_u (local.get 0) (local.get 1)))
+ (func (export "i8x16.abs") (param v128) (result v128) (i8x16.abs (local.get 0)))
+ (func (export "i8x16.popcnt") (param v128) (result v128) (i8x16.popcnt (local.get 0)))
+ (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)))
+ (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)))
+ (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)))
+ (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)))
+ (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)))
+ (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)))
+ (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)))
+ (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)))
+ (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)))
+ (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)))
+ (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)))
+ (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)))
+ (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)))
+ (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)))
+ (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)))
+ (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)))
+ (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)))
+ (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)))
+ (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)))
+ (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)))
+ (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)))
+ (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)))
+)`);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:35
+assert_return(
+ () => invoke($0, `i8x16.min_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:38
+assert_return(
+ () => invoke($0, `i8x16.min_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:41
+assert_return(
+ () => invoke($0, `i8x16.min_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:44
+assert_return(
+ () => invoke($0, `i8x16.min_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:47
+assert_return(
+ () => invoke($0, `i8x16.min_s`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:50
+assert_return(
+ () => invoke($0, `i8x16.min_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:53
+assert_return(
+ () => invoke($0, `i8x16.min_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:56
+assert_return(
+ () => invoke($0, `i8x16.min_s`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:59
+assert_return(
+ () => invoke($0, `i8x16.min_s`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:62
+assert_return(
+ () => invoke($0, `i8x16.min_s`, [
+ i8x16([0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b]),
+ i8x16([0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b]),
+ ]),
+ [
+ i8x16([0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:65
+assert_return(
+ () => invoke($0, `i8x16.min_s`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:68
+assert_return(
+ () => invoke($0, `i8x16.min_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:71
+assert_return(
+ () => invoke($0, `i8x16.min_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:74
+assert_return(
+ () => invoke($0, `i8x16.min_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:77
+assert_return(
+ () => invoke($0, `i8x16.min_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:80
+assert_return(
+ () => invoke($0, `i8x16.min_u`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:83
+assert_return(
+ () => invoke($0, `i8x16.min_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:86
+assert_return(
+ () => invoke($0, `i8x16.min_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:89
+assert_return(
+ () => invoke($0, `i8x16.min_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:92
+assert_return(
+ () => invoke($0, `i8x16.min_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:95
+assert_return(
+ () => invoke($0, `i8x16.min_u`, [
+ i8x16([0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b]),
+ i8x16([0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b]),
+ ]),
+ [
+ i8x16([0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:98
+assert_return(
+ () => invoke($0, `i8x16.min_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:101
+assert_return(
+ () => invoke($0, `i8x16.max_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:104
+assert_return(
+ () => invoke($0, `i8x16.max_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:107
+assert_return(
+ () => invoke($0, `i8x16.max_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:110
+assert_return(
+ () => invoke($0, `i8x16.max_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:113
+assert_return(
+ () => invoke($0, `i8x16.max_s`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:116
+assert_return(
+ () => invoke($0, `i8x16.max_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:119
+assert_return(
+ () => invoke($0, `i8x16.max_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:122
+assert_return(
+ () => invoke($0, `i8x16.max_s`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:125
+assert_return(
+ () => invoke($0, `i8x16.max_s`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:128
+assert_return(
+ () => invoke($0, `i8x16.max_s`, [
+ i8x16([0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b]),
+ i8x16([0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b]),
+ ]),
+ [
+ i8x16([0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:131
+assert_return(
+ () => invoke($0, `i8x16.max_s`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:134
+assert_return(
+ () => invoke($0, `i8x16.max_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:137
+assert_return(
+ () => invoke($0, `i8x16.max_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:140
+assert_return(
+ () => invoke($0, `i8x16.max_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:143
+assert_return(
+ () => invoke($0, `i8x16.max_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:146
+assert_return(
+ () => invoke($0, `i8x16.max_u`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:149
+assert_return(
+ () => invoke($0, `i8x16.max_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:152
+assert_return(
+ () => invoke($0, `i8x16.max_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:155
+assert_return(
+ () => invoke($0, `i8x16.max_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:158
+assert_return(
+ () => invoke($0, `i8x16.max_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:161
+assert_return(
+ () => invoke($0, `i8x16.max_u`, [
+ i8x16([0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b]),
+ i8x16([0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b]),
+ ]),
+ [
+ i8x16([0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:164
+assert_return(
+ () => invoke($0, `i8x16.max_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:167
+assert_return(
+ () => invoke($0, `i8x16.avgr_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:170
+assert_return(
+ () => invoke($0, `i8x16.avgr_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:173
+assert_return(
+ () => invoke($0, `i8x16.avgr_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:176
+assert_return(
+ () => invoke($0, `i8x16.avgr_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:179
+assert_return(
+ () => invoke($0, `i8x16.avgr_u`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:182
+assert_return(
+ () => invoke($0, `i8x16.avgr_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:185
+assert_return(
+ () => invoke($0, `i8x16.avgr_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:188
+assert_return(
+ () => invoke($0, `i8x16.avgr_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:191
+assert_return(
+ () => invoke($0, `i8x16.avgr_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:194
+assert_return(
+ () => invoke($0, `i8x16.avgr_u`, [
+ i8x16([0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b]),
+ i8x16([0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b]),
+ ]),
+ [
+ i8x16([0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:197
+assert_return(
+ () => invoke($0, `i8x16.avgr_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:200
+assert_return(
+ () => invoke($0, `i8x16.abs`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:202
+assert_return(
+ () => invoke($0, `i8x16.abs`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:204
+assert_return(
+ () => invoke($0, `i8x16.abs`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:206
+assert_return(
+ () => invoke($0, `i8x16.abs`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:208
+assert_return(
+ () => invoke($0, `i8x16.abs`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:210
+assert_return(
+ () => invoke($0, `i8x16.abs`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:212
+assert_return(
+ () => invoke($0, `i8x16.abs`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:214
+assert_return(
+ () => invoke($0, `i8x16.abs`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:216
+assert_return(
+ () => invoke($0, `i8x16.abs`, [
+ i8x16([0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b]),
+ ]),
+ [
+ i8x16([0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:218
+assert_return(
+ () => invoke($0, `i8x16.abs`, [
+ i8x16([0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85]),
+ ]),
+ [
+ i8x16([0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:220
+assert_return(
+ () => invoke($0, `i8x16.abs`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:222
+assert_return(
+ () => invoke($0, `i8x16.abs`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:224
+assert_return(
+ () => invoke($0, `i8x16.abs`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:226
+assert_return(
+ () => invoke($0, `i8x16.abs`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:228
+assert_return(
+ () => invoke($0, `i8x16.popcnt`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:230
+assert_return(
+ () => invoke($0, `i8x16.popcnt`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:232
+assert_return(
+ () => invoke($0, `i8x16.popcnt`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:234
+assert_return(
+ () => invoke($0, `i8x16.popcnt`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:236
+assert_return(
+ () => invoke($0, `i8x16.popcnt`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:238
+assert_return(
+ () => invoke($0, `i8x16.popcnt`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:240
+assert_return(
+ () => invoke($0, `i8x16.popcnt`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:242
+assert_return(
+ () => invoke($0, `i8x16.popcnt`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:244
+assert_return(
+ () => invoke($0, `i8x16.popcnt`, [
+ i8x16([0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b]),
+ ]),
+ [
+ i8x16([0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:246
+assert_return(
+ () => invoke($0, `i8x16.popcnt`, [
+ i8x16([0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85]),
+ ]),
+ [
+ i8x16([0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:248
+assert_return(
+ () => invoke($0, `i8x16.popcnt`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:250
+assert_return(
+ () => invoke($0, `i8x16.popcnt`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:252
+assert_return(
+ () => invoke($0, `i8x16.popcnt`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:254
+assert_return(
+ () => invoke($0, `i8x16.popcnt`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:258
+assert_return(
+ () => invoke($0, `i8x16.min_s_with_const_0`, []),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:259
+assert_return(
+ () => invoke($0, `i8x16.min_s_with_const_1`, []),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:260
+assert_return(
+ () => invoke($0, `i8x16.min_u_with_const_2`, []),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:261
+assert_return(
+ () => invoke($0, `i8x16.min_u_with_const_3`, []),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:262
+assert_return(
+ () => invoke($0, `i8x16.max_s_with_const_4`, []),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:263
+assert_return(
+ () => invoke($0, `i8x16.max_s_with_const_5`, []),
+ [
+ i8x16([0x3, 0x3, 0x3, 0x3, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x3, 0x3, 0x3, 0x3]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:264
+assert_return(
+ () => invoke($0, `i8x16.max_u_with_const_6`, []),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:265
+assert_return(
+ () => invoke($0, `i8x16.max_u_with_const_7`, []),
+ [
+ i8x16([0x3, 0x3, 0x3, 0x3, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x3, 0x3, 0x3, 0x3]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:266
+assert_return(
+ () => invoke($0, `i8x16.avgr_u_with_const_8`, []),
+ [
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0xc0, 0xc0, 0xc0, 0xc0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:267
+assert_return(
+ () => invoke($0, `i8x16.avgr_u_with_const_9`, []),
+ [
+ i8x16([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:268
+assert_return(
+ () => invoke($0, `i8x16.abs_with_const_10`, []),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x7f, 0x7f, 0x7f, 0x7f, 0x40, 0x40, 0x40, 0x40, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:269
+assert_return(
+ () => invoke($0, `i8x16.popcnt_with_const_11`, []),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x7, 0x7, 0x7, 0x7, 0x1, 0x1, 0x1, 0x1, 0x8, 0x8, 0x8, 0x8]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:272
+assert_return(
+ () => invoke($0, `i8x16.min_s_with_const_12`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0x40, 0x40, 0x40, 0x40, 0x7f, 0x7f, 0x7f, 0x7f, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:274
+assert_return(
+ () => invoke($0, `i8x16.min_s_with_const_13`, [
+ i8x16([0x3, 0x3, 0x3, 0x3, 0x2, 0x2, 0x2, 0x2, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:276
+assert_return(
+ () => invoke($0, `i8x16.min_u_with_const_14`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0x40, 0x40, 0x40, 0x40, 0x7f, 0x7f, 0x7f, 0x7f, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:278
+assert_return(
+ () => invoke($0, `i8x16.min_u_with_const_15`, [
+ i8x16([0x3, 0x3, 0x3, 0x3, 0x2, 0x2, 0x2, 0x2, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:280
+assert_return(
+ () => invoke($0, `i8x16.max_s_with_const_16`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0x40, 0x40, 0x40, 0x40, 0x7f, 0x7f, 0x7f, 0x7f, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:282
+assert_return(
+ () => invoke($0, `i8x16.max_s_with_const_17`, [
+ i8x16([0x3, 0x3, 0x3, 0x3, 0x2, 0x2, 0x2, 0x2, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x3, 0x3, 0x3, 0x3, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x3, 0x3, 0x3, 0x3]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:284
+assert_return(
+ () => invoke($0, `i8x16.max_u_with_const_18`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0x40, 0x40, 0x40, 0x40, 0x7f, 0x7f, 0x7f, 0x7f, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:286
+assert_return(
+ () => invoke($0, `i8x16.max_u_with_const_19`, [
+ i8x16([0x3, 0x3, 0x3, 0x3, 0x2, 0x2, 0x2, 0x2, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x3, 0x3, 0x3, 0x3, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x3, 0x3, 0x3, 0x3]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:288
+assert_return(
+ () => invoke($0, `i8x16.avgr_u_with_const_20`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0x40, 0x40, 0x40, 0x40, 0x7f, 0x7f, 0x7f, 0x7f, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0xc0, 0xc0, 0xc0, 0xc0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:290
+assert_return(
+ () => invoke($0, `i8x16.avgr_u_with_const_21`, [
+ i8x16([0x3, 0x3, 0x3, 0x3, 0x2, 0x2, 0x2, 0x2, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:294
+assert_return(
+ () => invoke($0, `i8x16.min_s`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x7f, 0x7f, 0x7f, 0x7f, 0x40, 0x40, 0x40, 0x40, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0x40, 0x40, 0x40, 0x40, 0x7f, 0x7f, 0x7f, 0x7f, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:297
+assert_return(
+ () => invoke($0, `i8x16.min_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x2, 0x2, 0x2, 0x2, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x2, 0x2, 0x2, 0x2, 0x1, 0x1, 0x1, 0x1, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:300
+assert_return(
+ () => invoke($0, `i8x16.min_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x7f, 0x7f, 0x7f, 0x7f, 0x40, 0x40, 0x40, 0x40, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0x40, 0x40, 0x40, 0x40, 0x7f, 0x7f, 0x7f, 0x7f, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:303
+assert_return(
+ () => invoke($0, `i8x16.min_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x2, 0x2, 0x2, 0x2, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x2, 0x2, 0x2, 0x2, 0x1, 0x1, 0x1, 0x1, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:306
+assert_return(
+ () => invoke($0, `i8x16.max_s`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x7f, 0x7f, 0x7f, 0x7f, 0x40, 0x40, 0x40, 0x40, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0x40, 0x40, 0x40, 0x40, 0x7f, 0x7f, 0x7f, 0x7f, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:309
+assert_return(
+ () => invoke($0, `i8x16.max_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x2, 0x2, 0x2, 0x2, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x2, 0x2, 0x2, 0x2, 0x1, 0x1, 0x1, 0x1, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:312
+assert_return(
+ () => invoke($0, `i8x16.max_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x7f, 0x7f, 0x7f, 0x7f, 0x40, 0x40, 0x40, 0x40, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0x40, 0x40, 0x40, 0x40, 0x7f, 0x7f, 0x7f, 0x7f, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:315
+assert_return(
+ () => invoke($0, `i8x16.max_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x2, 0x2, 0x2, 0x2, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x2, 0x2, 0x2, 0x2, 0x1, 0x1, 0x1, 0x1, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:318
+assert_return(
+ () => invoke($0, `i8x16.avgr_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x7f, 0x7f, 0x7f, 0x7f, 0x40, 0x40, 0x40, 0x40, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0x40, 0x40, 0x40, 0x40, 0x7f, 0x7f, 0x7f, 0x7f, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0xc0, 0xc0, 0xc0, 0xc0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:321
+assert_return(
+ () => invoke($0, `i8x16.avgr_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x2, 0x2, 0x2, 0x2, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x2, 0x2, 0x2, 0x2, 0x1, 0x1, 0x1, 0x1, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:324
+assert_return(
+ () => invoke($0, `i8x16.abs`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x7f, 0x7f, 0x7f, 0x7f, 0x40, 0x40, 0x40, 0x40, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x7f, 0x7f, 0x7f, 0x7f, 0x40, 0x40, 0x40, 0x40, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:326
+assert_return(
+ () => invoke($0, `i8x16.popcnt`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x7f, 0x7f, 0x7f, 0x7f, 0x40, 0x40, 0x40, 0x40, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x7, 0x7, 0x7, 0x7, 0x1, 0x1, 0x1, 0x1, 0x8, 0x8, 0x8, 0x8]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:330
+assert_return(
+ () => invoke($0, `i8x16.min_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:333
+assert_return(
+ () => invoke($0, `i8x16.min_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:336
+assert_return(
+ () => invoke($0, `i8x16.min_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:339
+assert_return(
+ () => invoke($0, `i8x16.min_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:342
+assert_return(
+ () => invoke($0, `i8x16.max_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:345
+assert_return(
+ () => invoke($0, `i8x16.max_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:348
+assert_return(
+ () => invoke($0, `i8x16.max_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:351
+assert_return(
+ () => invoke($0, `i8x16.max_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:354
+assert_return(
+ () => invoke($0, `i8x16.avgr_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:357
+assert_return(
+ () => invoke($0, `i8x16.avgr_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:360
+assert_return(
+ () => invoke($0, `i8x16.abs`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:362
+assert_return(
+ () => invoke($0, `i8x16.abs`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:364
+assert_return(
+ () => invoke($0, `i8x16.abs`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:366
+assert_return(
+ () => invoke($0, `i8x16.abs`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:368
+assert_return(
+ () => invoke($0, `i8x16.popcnt`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:370
+assert_return(
+ () => invoke($0, `i8x16.popcnt`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:372
+assert_return(
+ () => invoke($0, `i8x16.popcnt`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:374
+assert_return(
+ () => invoke($0, `i8x16.popcnt`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:378
+assert_malformed(
+ () => instantiate(`(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`,
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:379
+assert_malformed(
+ () => instantiate(`(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`,
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:380
+assert_malformed(
+ () => instantiate(`(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`,
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:381
+assert_malformed(
+ () => instantiate(`(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`,
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:382
+assert_malformed(
+ () => instantiate(`(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`,
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:383
+assert_malformed(
+ () => instantiate(`(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`,
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:386
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i8x16.min_s (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:387
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i8x16.min_u (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:388
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i8x16.max_s (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:389
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i8x16.max_u (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:390
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i8x16.avgr_u (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:391
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i8x16.abs (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:392
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i8x16.popcnt (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:396
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.min_s-1st-arg-empty (result v128)
+ (i8x16.min_s (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:404
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.min_s-arg-empty (result v128)
+ (i8x16.min_s)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:412
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.min_u-1st-arg-empty (result v128)
+ (i8x16.min_u (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:420
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.min_u-arg-empty (result v128)
+ (i8x16.min_u)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:428
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.max_s-1st-arg-empty (result v128)
+ (i8x16.max_s (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:436
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.max_s-arg-empty (result v128)
+ (i8x16.max_s)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:444
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.max_u-1st-arg-empty (result v128)
+ (i8x16.max_u (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:452
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.max_u-arg-empty (result v128)
+ (i8x16.max_u)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:460
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.avgr_u-1st-arg-empty (result v128)
+ (i8x16.avgr_u (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:468
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.avgr_u-arg-empty (result v128)
+ (i8x16.avgr_u)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:476
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.abs-arg-empty (result v128)
+ (i8x16.abs)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:484
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.popcnt-arg-empty (result v128)
+ (i8x16.popcnt)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:494
+let $1 = instantiate(`(module
+ (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)))
+ (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)))
+ (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)))
+ (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)))
+ (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)))
+ (func (export "i8x16.min_s-i8x16.abs") (param v128 v128) (result v128) (i8x16.min_s (i8x16.abs (local.get 0))(local.get 1)))
+ (func (export "i8x16.abs-i8x16.min_s") (param v128 v128) (result v128) (i8x16.abs (i8x16.min_s (local.get 0) (local.get 1))))
+ (func (export "i8x16.min_s-i8x16.popcnt") (param v128 v128) (result v128) (i8x16.min_s (i8x16.popcnt (local.get 0))(local.get 1)))
+ (func (export "i8x16.popcnt-i8x16.min_s") (param v128 v128) (result v128) (i8x16.popcnt (i8x16.min_s (local.get 0) (local.get 1))))
+ (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)))
+ (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)))
+ (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)))
+ (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)))
+ (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)))
+ (func (export "i8x16.min_u-i8x16.abs") (param v128 v128) (result v128) (i8x16.min_u (i8x16.abs (local.get 0))(local.get 1)))
+ (func (export "i8x16.abs-i8x16.min_u") (param v128 v128) (result v128) (i8x16.abs (i8x16.min_u (local.get 0) (local.get 1))))
+ (func (export "i8x16.min_u-i8x16.popcnt") (param v128 v128) (result v128) (i8x16.min_u (i8x16.popcnt (local.get 0))(local.get 1)))
+ (func (export "i8x16.popcnt-i8x16.min_u") (param v128 v128) (result v128) (i8x16.popcnt (i8x16.min_u (local.get 0) (local.get 1))))
+ (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)))
+ (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)))
+ (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)))
+ (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)))
+ (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)))
+ (func (export "i8x16.max_s-i8x16.abs") (param v128 v128) (result v128) (i8x16.max_s (i8x16.abs (local.get 0))(local.get 1)))
+ (func (export "i8x16.abs-i8x16.max_s") (param v128 v128) (result v128) (i8x16.abs (i8x16.max_s (local.get 0) (local.get 1))))
+ (func (export "i8x16.max_s-i8x16.popcnt") (param v128 v128) (result v128) (i8x16.max_s (i8x16.popcnt (local.get 0))(local.get 1)))
+ (func (export "i8x16.popcnt-i8x16.max_s") (param v128 v128) (result v128) (i8x16.popcnt (i8x16.max_s (local.get 0) (local.get 1))))
+ (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)))
+ (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)))
+ (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)))
+ (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)))
+ (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)))
+ (func (export "i8x16.max_u-i8x16.abs") (param v128 v128) (result v128) (i8x16.max_u (i8x16.abs (local.get 0))(local.get 1)))
+ (func (export "i8x16.abs-i8x16.max_u") (param v128 v128) (result v128) (i8x16.abs (i8x16.max_u (local.get 0) (local.get 1))))
+ (func (export "i8x16.max_u-i8x16.popcnt") (param v128 v128) (result v128) (i8x16.max_u (i8x16.popcnt (local.get 0))(local.get 1)))
+ (func (export "i8x16.popcnt-i8x16.max_u") (param v128 v128) (result v128) (i8x16.popcnt (i8x16.max_u (local.get 0) (local.get 1))))
+ (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)))
+ (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)))
+ (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)))
+ (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)))
+ (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)))
+ (func (export "i8x16.avgr_u-i8x16.abs") (param v128 v128) (result v128) (i8x16.avgr_u (i8x16.abs (local.get 0))(local.get 1)))
+ (func (export "i8x16.abs-i8x16.avgr_u") (param v128 v128) (result v128) (i8x16.abs (i8x16.avgr_u (local.get 0) (local.get 1))))
+ (func (export "i8x16.avgr_u-i8x16.popcnt") (param v128 v128) (result v128) (i8x16.avgr_u (i8x16.popcnt (local.get 0))(local.get 1)))
+ (func (export "i8x16.popcnt-i8x16.avgr_u") (param v128 v128) (result v128) (i8x16.popcnt (i8x16.avgr_u (local.get 0) (local.get 1))))
+ (func (export "i8x16.abs-i8x16.popcnt") (param v128) (result v128) (i8x16.abs (i8x16.popcnt (local.get 0))))
+ (func (export "i8x16.abs-i8x16.abs") (param v128) (result v128) (i8x16.abs (i8x16.abs (local.get 0))))
+ (func (export "i8x16.popcnt-i8x16.popcnt") (param v128) (result v128) (i8x16.popcnt (i8x16.popcnt (local.get 0))))
+ (func (export "i8x16.popcnt-i8x16.abs") (param v128) (result v128) (i8x16.popcnt (i8x16.abs (local.get 0))))
+)`);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:546
+assert_return(
+ () => invoke($1, `i8x16.min_s-i8x16.avgr_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:550
+assert_return(
+ () => invoke($1, `i8x16.min_s-i8x16.max_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:554
+assert_return(
+ () => invoke($1, `i8x16.min_s-i8x16.max_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:558
+assert_return(
+ () => invoke($1, `i8x16.min_s-i8x16.min_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:562
+assert_return(
+ () => invoke($1, `i8x16.min_s-i8x16.min_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:566
+assert_return(
+ () => invoke($1, `i8x16.min_s-i8x16.abs`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:569
+assert_return(
+ () => invoke($1, `i8x16.abs-i8x16.min_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:572
+assert_return(
+ () => invoke($1, `i8x16.min_s-i8x16.popcnt`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:575
+assert_return(
+ () => invoke($1, `i8x16.popcnt-i8x16.min_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:578
+assert_return(
+ () => invoke($1, `i8x16.min_u-i8x16.avgr_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:582
+assert_return(
+ () => invoke($1, `i8x16.min_u-i8x16.max_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:586
+assert_return(
+ () => invoke($1, `i8x16.min_u-i8x16.max_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:590
+assert_return(
+ () => invoke($1, `i8x16.min_u-i8x16.min_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:594
+assert_return(
+ () => invoke($1, `i8x16.min_u-i8x16.min_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:598
+assert_return(
+ () => invoke($1, `i8x16.min_u-i8x16.abs`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:601
+assert_return(
+ () => invoke($1, `i8x16.abs-i8x16.min_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:604
+assert_return(
+ () => invoke($1, `i8x16.min_u-i8x16.popcnt`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:607
+assert_return(
+ () => invoke($1, `i8x16.popcnt-i8x16.min_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:610
+assert_return(
+ () => invoke($1, `i8x16.max_s-i8x16.avgr_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [
+ i8x16([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:614
+assert_return(
+ () => invoke($1, `i8x16.max_s-i8x16.max_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [
+ i8x16([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:618
+assert_return(
+ () => invoke($1, `i8x16.max_s-i8x16.max_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [
+ i8x16([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:622
+assert_return(
+ () => invoke($1, `i8x16.max_s-i8x16.min_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [
+ i8x16([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:626
+assert_return(
+ () => invoke($1, `i8x16.max_s-i8x16.min_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [
+ i8x16([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:630
+assert_return(
+ () => invoke($1, `i8x16.max_s-i8x16.abs`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:633
+assert_return(
+ () => invoke($1, `i8x16.abs-i8x16.max_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:636
+assert_return(
+ () => invoke($1, `i8x16.max_s-i8x16.popcnt`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:639
+assert_return(
+ () => invoke($1, `i8x16.popcnt-i8x16.max_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:642
+assert_return(
+ () => invoke($1, `i8x16.max_u-i8x16.avgr_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [
+ i8x16([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:646
+assert_return(
+ () => invoke($1, `i8x16.max_u-i8x16.max_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [
+ i8x16([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:650
+assert_return(
+ () => invoke($1, `i8x16.max_u-i8x16.max_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [
+ i8x16([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:654
+assert_return(
+ () => invoke($1, `i8x16.max_u-i8x16.min_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [
+ i8x16([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:658
+assert_return(
+ () => invoke($1, `i8x16.max_u-i8x16.min_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [
+ i8x16([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:662
+assert_return(
+ () => invoke($1, `i8x16.max_u-i8x16.abs`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:665
+assert_return(
+ () => invoke($1, `i8x16.abs-i8x16.max_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:668
+assert_return(
+ () => invoke($1, `i8x16.max_u-i8x16.popcnt`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:671
+assert_return(
+ () => invoke($1, `i8x16.popcnt-i8x16.max_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:674
+assert_return(
+ () => invoke($1, `i8x16.avgr_u-i8x16.avgr_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [
+ i8x16([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:678
+assert_return(
+ () => invoke($1, `i8x16.avgr_u-i8x16.max_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [
+ i8x16([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:682
+assert_return(
+ () => invoke($1, `i8x16.avgr_u-i8x16.max_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [
+ i8x16([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:686
+assert_return(
+ () => invoke($1, `i8x16.avgr_u-i8x16.min_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:690
+assert_return(
+ () => invoke($1, `i8x16.avgr_u-i8x16.min_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:694
+assert_return(
+ () => invoke($1, `i8x16.avgr_u-i8x16.abs`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:697
+assert_return(
+ () => invoke($1, `i8x16.abs-i8x16.avgr_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:700
+assert_return(
+ () => invoke($1, `i8x16.avgr_u-i8x16.popcnt`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:703
+assert_return(
+ () => invoke($1, `i8x16.popcnt-i8x16.avgr_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:706
+assert_return(
+ () => invoke($1, `i8x16.abs-i8x16.popcnt`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:708
+assert_return(
+ () => invoke($1, `i8x16.abs-i8x16.abs`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:710
+assert_return(
+ () => invoke($1, `i8x16.popcnt-i8x16.popcnt`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_arith2.wast:712
+assert_return(
+ () => invoke($1, `i8x16.popcnt-i8x16.abs`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/simd_i8x16_cmp.wast.js b/js/src/jit-test/tests/wasm/spec/spec/simd_i8x16_cmp.wast.js
new file mode 100644
index 0000000000..7cd76b5e0e
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/simd_i8x16_cmp.wast.js
@@ -0,0 +1,4989 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_i8x16_cmp.wast
+
+// ./test/core/simd/simd_i8x16_cmp.wast:4
+let $0 = instantiate(`(module
+ (func (export "eq") (param $$x v128) (param $$y v128) (result v128) (i8x16.eq (local.get $$x) (local.get $$y)))
+ (func (export "ne") (param $$x v128) (param $$y v128) (result v128) (i8x16.ne (local.get $$x) (local.get $$y)))
+ (func (export "lt_s") (param $$x v128) (param $$y v128) (result v128) (i8x16.lt_s (local.get $$x) (local.get $$y)))
+ (func (export "lt_u") (param $$x v128) (param $$y v128) (result v128) (i8x16.lt_u (local.get $$x) (local.get $$y)))
+ (func (export "le_s") (param $$x v128) (param $$y v128) (result v128) (i8x16.le_s (local.get $$x) (local.get $$y)))
+ (func (export "le_u") (param $$x v128) (param $$y v128) (result v128) (i8x16.le_u (local.get $$x) (local.get $$y)))
+ (func (export "gt_s") (param $$x v128) (param $$y v128) (result v128) (i8x16.gt_s (local.get $$x) (local.get $$y)))
+ (func (export "gt_u") (param $$x v128) (param $$y v128) (result v128) (i8x16.gt_u (local.get $$x) (local.get $$y)))
+ (func (export "ge_s") (param $$x v128) (param $$y v128) (result v128) (i8x16.ge_s (local.get $$x) (local.get $$y)))
+ (func (export "ge_u") (param $$x v128) (param $$y v128) (result v128) (i8x16.ge_u (local.get $$x) (local.get $$y)))
+)`);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:23
+assert_return(
+ () => invoke($0, `eq`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:26
+assert_return(
+ () => invoke($0, `eq`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:29
+assert_return(
+ () => invoke($0, `eq`, [
+ i8x16([0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0]),
+ i8x16([0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:32
+assert_return(
+ () => invoke($0, `eq`, [
+ i8x16([0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf]),
+ i8x16([0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:35
+assert_return(
+ () => invoke($0, `eq`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:38
+assert_return(
+ () => invoke($0, `eq`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:41
+assert_return(
+ () => invoke($0, `eq`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x9, 0x10, 0x11, 0x12, 0xa, 0xb, 0x1a, 0x1b, 0xaa, 0xab, 0xff]),
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x9, 0x10, 0x11, 0x12, 0xa, 0xb, 0x1a, 0x1b, 0xaa, 0xab, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:46
+assert_return(
+ () => invoke($0, `eq`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:49
+assert_return(
+ () => invoke($0, `eq`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:52
+assert_return(
+ () => invoke($0, `eq`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:55
+assert_return(
+ () => invoke($0, `eq`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:58
+assert_return(
+ () => invoke($0, `eq`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:63
+assert_return(
+ () => invoke($0, `eq`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:66
+assert_return(
+ () => invoke($0, `eq`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:69
+assert_return(
+ () => invoke($0, `eq`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:72
+assert_return(
+ () => invoke($0, `eq`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:75
+assert_return(
+ () => invoke($0, `eq`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:78
+assert_return(
+ () => invoke($0, `eq`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:81
+assert_return(
+ () => invoke($0, `eq`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:86
+assert_return(
+ () => invoke($0, `eq`, [
+ i8x16([0x0, 0x0, 0x0, 0xc3, 0x0, 0x0, 0xfe, 0xc2, 0x0, 0x0, 0x80, 0xbf, 0x0, 0x0, 0x0, 0x0]),
+ f32x4([-128, -127, -1, 0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:89
+assert_return(
+ () => invoke($0, `eq`, [
+ i8x16([0x0, 0x0, 0x80, 0x3f, 0x0, 0x0, 0xfe, 0x42, 0x0, 0x0, 0x0, 0x43, 0x0, 0x0, 0x7f, 0x43]),
+ f32x4([1, 127, 128, 255]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:94
+assert_return(
+ () => invoke($0, `eq`, [
+ i8x16([0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf]),
+ i8x16([0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:97
+assert_return(
+ () => invoke($0, `eq`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:100
+assert_return(
+ () => invoke($0, `eq`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x9, 0x10, 0x11, 0x12, 0xa, 0xb, 0x1a, 0x1b, 0xaa, 0xab, 0xff]),
+ i8x16([0xff, 0xab, 0xaa, 0x1b, 0x1a, 0xb, 0xa, 0x12, 0x11, 0x10, 0x9, 0x4, 0x3, 0x2, 0x1, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:103
+assert_return(
+ () => invoke($0, `eq`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i8x16([0xff, 0xfe, 0xfd, 0x80, 0x7f, 0x2, 0x1, 0x0, 0x0, 0xff, 0xfe, 0xfd, 0x83, 0x82, 0x81, 0x80]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:106
+assert_return(
+ () => invoke($0, `eq`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i8x16([0xff, 0xfe, 0xfd, 0x80, 0x7f, 0x2, 0x1, 0x0, 0x0, 0xff, 0xfe, 0xfd, 0x83, 0x82, 0x81, 0x80]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:111
+assert_return(
+ () => invoke($0, `eq`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:114
+assert_return(
+ () => invoke($0, `eq`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:117
+assert_return(
+ () => invoke($0, `eq`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:120
+assert_return(
+ () => invoke($0, `eq`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i16x8([0x100, 0x302, 0x504, 0x706, 0x908, 0xb0a, 0xd0c, 0xf0e]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:123
+assert_return(
+ () => invoke($0, `eq`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:126
+assert_return(
+ () => invoke($0, `eq`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0xff, 0xff, 0xff, 0xff]),
+ i16x8([0xff80, 0xff80, 0x0, 0x0, 0x1, 0x1, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0x0, 0xff, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:129
+assert_return(
+ () => invoke($0, `eq`, [
+ i8x16([0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55]),
+ i16x8([0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:134
+assert_return(
+ () => invoke($0, `eq`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:137
+assert_return(
+ () => invoke($0, `eq`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:140
+assert_return(
+ () => invoke($0, `eq`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:143
+assert_return(
+ () => invoke($0, `eq`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i32x4([0x3020100, 0x7060504, 0xb0a0908, 0xf0e0d0c]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:146
+assert_return(
+ () => invoke($0, `eq`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:149
+assert_return(
+ () => invoke($0, `eq`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0xff, 0xff, 0xff, 0xff]),
+ i32x4([0xffffff80, 0x0, 0x1, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:152
+assert_return(
+ () => invoke($0, `eq`, [
+ i8x16([0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55]),
+ i32x4([0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:161
+assert_return(
+ () => invoke($0, `ne`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:164
+assert_return(
+ () => invoke($0, `ne`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:167
+assert_return(
+ () => invoke($0, `ne`, [
+ i8x16([0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0]),
+ i8x16([0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:170
+assert_return(
+ () => invoke($0, `ne`, [
+ i8x16([0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf]),
+ i8x16([0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:173
+assert_return(
+ () => invoke($0, `ne`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:176
+assert_return(
+ () => invoke($0, `ne`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:179
+assert_return(
+ () => invoke($0, `ne`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x9, 0x10, 0x11, 0x12, 0xa, 0xb, 0x1a, 0x1b, 0xaa, 0xab, 0xff]),
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x9, 0x10, 0x11, 0x12, 0xa, 0xb, 0x1a, 0x1b, 0xaa, 0xab, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:184
+assert_return(
+ () => invoke($0, `ne`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:187
+assert_return(
+ () => invoke($0, `ne`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:190
+assert_return(
+ () => invoke($0, `ne`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:193
+assert_return(
+ () => invoke($0, `ne`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:196
+assert_return(
+ () => invoke($0, `ne`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:201
+assert_return(
+ () => invoke($0, `ne`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:204
+assert_return(
+ () => invoke($0, `ne`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:207
+assert_return(
+ () => invoke($0, `ne`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:210
+assert_return(
+ () => invoke($0, `ne`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:213
+assert_return(
+ () => invoke($0, `ne`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:216
+assert_return(
+ () => invoke($0, `ne`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:219
+assert_return(
+ () => invoke($0, `ne`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:224
+assert_return(
+ () => invoke($0, `ne`, [
+ i8x16([0x0, 0x0, 0x0, 0xc3, 0x0, 0x0, 0xfe, 0xc2, 0x0, 0x0, 0x80, 0xbf, 0x0, 0x0, 0x0, 0x0]),
+ f32x4([-128, -127, -1, 0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:227
+assert_return(
+ () => invoke($0, `ne`, [
+ i8x16([0x0, 0x0, 0x80, 0x3f, 0x0, 0x0, 0xfe, 0x42, 0x0, 0x0, 0x0, 0x43, 0x0, 0x0, 0x7f, 0x43]),
+ f32x4([1, 127, 128, 255]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:232
+assert_return(
+ () => invoke($0, `ne`, [
+ i8x16([0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf]),
+ i8x16([0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:235
+assert_return(
+ () => invoke($0, `ne`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:238
+assert_return(
+ () => invoke($0, `ne`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x9, 0x10, 0x11, 0x12, 0xa, 0xb, 0x1a, 0x1b, 0xaa, 0xab, 0xff]),
+ i8x16([0xff, 0xab, 0xaa, 0x1b, 0x1a, 0xb, 0xa, 0x12, 0x11, 0x10, 0x9, 0x4, 0x3, 0x2, 0x1, 0x0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:241
+assert_return(
+ () => invoke($0, `ne`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i8x16([0xff, 0xfe, 0xfd, 0x80, 0x7f, 0x2, 0x1, 0x0, 0x0, 0xff, 0xfe, 0xfd, 0x83, 0x82, 0x81, 0x80]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:244
+assert_return(
+ () => invoke($0, `ne`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i8x16([0xff, 0xfe, 0xfd, 0x80, 0x7f, 0x2, 0x1, 0x0, 0x0, 0xff, 0xfe, 0xfd, 0x83, 0x82, 0x81, 0x80]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:249
+assert_return(
+ () => invoke($0, `ne`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:252
+assert_return(
+ () => invoke($0, `ne`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:255
+assert_return(
+ () => invoke($0, `ne`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:258
+assert_return(
+ () => invoke($0, `ne`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i16x8([0x100, 0x302, 0x504, 0x706, 0x908, 0xb0a, 0xd0c, 0xf0e]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:261
+assert_return(
+ () => invoke($0, `ne`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:264
+assert_return(
+ () => invoke($0, `ne`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0xff, 0xff, 0xff, 0xff]),
+ i16x8([0xff80, 0xff80, 0x0, 0x0, 0x1, 0x1, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0xff, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:267
+assert_return(
+ () => invoke($0, `ne`, [
+ i8x16([0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55]),
+ i16x8([0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:272
+assert_return(
+ () => invoke($0, `ne`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:275
+assert_return(
+ () => invoke($0, `ne`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:278
+assert_return(
+ () => invoke($0, `ne`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:281
+assert_return(
+ () => invoke($0, `ne`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i32x4([0x3020100, 0x7060504, 0xb0a0908, 0xf0e0d0c]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:284
+assert_return(
+ () => invoke($0, `ne`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:287
+assert_return(
+ () => invoke($0, `ne`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0xff, 0xff, 0xff, 0xff]),
+ i32x4([0xffffff80, 0x0, 0x1, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0x0, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:290
+assert_return(
+ () => invoke($0, `ne`, [
+ i8x16([0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55]),
+ i32x4([0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:299
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:302
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:305
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i8x16([0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0]),
+ i8x16([0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:308
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i8x16([0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf]),
+ i8x16([0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:311
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:314
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:317
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x9, 0x10, 0x11, 0x12, 0xa, 0xb, 0x1a, 0x1b, 0xaa, 0xab, 0xff]),
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x9, 0x10, 0x11, 0x12, 0xa, 0xb, 0x1a, 0x1b, 0xaa, 0xab, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:322
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:325
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:328
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:331
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:334
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:339
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:342
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:345
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:348
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:351
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:354
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:357
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:362
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i8x16([0x0, 0x0, 0x0, 0xc3, 0x0, 0x0, 0xfe, 0xc2, 0x0, 0x0, 0x80, 0xbf, 0x0, 0x0, 0x0, 0x0]),
+ f32x4([-128, -127, -1, 0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:365
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i8x16([0x0, 0x0, 0x80, 0x3f, 0x0, 0x0, 0xfe, 0x42, 0x0, 0x0, 0x0, 0x43, 0x0, 0x0, 0x7f, 0x43]),
+ f32x4([1, 127, 128, 255]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:370
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i8x16([0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf]),
+ i8x16([0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:373
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:376
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x9, 0x10, 0x11, 0x12, 0xa, 0xb, 0x1a, 0x1b, 0xaa, 0xab, 0xff]),
+ i8x16([0xff, 0xab, 0xaa, 0x1b, 0x1a, 0xb, 0xa, 0x12, 0x11, 0x10, 0x9, 0x4, 0x3, 0x2, 0x1, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:379
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i8x16([0xff, 0xfe, 0xfd, 0x80, 0x7f, 0x2, 0x1, 0x0, 0x0, 0xff, 0xfe, 0xfd, 0x83, 0x82, 0x81, 0x80]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0x0, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:382
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i8x16([0xff, 0xfe, 0xfd, 0x80, 0x7f, 0x2, 0x1, 0x0, 0x0, 0xff, 0xfe, 0xfd, 0x83, 0x82, 0x81, 0x80]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0x0, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:387
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:390
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:393
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:396
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i16x8([0x100, 0x302, 0x504, 0x706, 0x908, 0xb0a, 0xd0c, 0xf0e]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:399
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:402
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0xff, 0xff, 0xff, 0xff]),
+ i16x8([0xff80, 0xff80, 0x0, 0x0, 0x1, 0x1, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0xff, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:405
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i8x16([0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55]),
+ i16x8([0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:410
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:413
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:416
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:419
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i32x4([0x3020100, 0x7060504, 0xb0a0908, 0xf0e0d0c]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:422
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:425
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0xff, 0xff, 0xff, 0xff]),
+ i32x4([0xffffff80, 0x0, 0x1, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:428
+assert_return(
+ () => invoke($0, `lt_s`, [
+ i8x16([0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55]),
+ i32x4([0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:437
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:440
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:443
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i8x16([0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0]),
+ i8x16([0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:446
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i8x16([0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf]),
+ i8x16([0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:449
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:452
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:455
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x9, 0x10, 0x11, 0x12, 0xa, 0xb, 0x1a, 0x1b, 0xaa, 0xab, 0xff]),
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x9, 0x10, 0x11, 0x12, 0xa, 0xb, 0x1a, 0x1b, 0xaa, 0xab, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:460
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:463
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:466
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:469
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:472
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:477
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:480
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:483
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:486
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:489
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:492
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:495
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:500
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i8x16([0x0, 0x0, 0x0, 0xc3, 0x0, 0x0, 0xfe, 0xc2, 0x0, 0x0, 0x80, 0xbf, 0x0, 0x0, 0x0, 0x0]),
+ f32x4([-128, -127, -1, 0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:503
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i8x16([0x0, 0x0, 0x80, 0x3f, 0x0, 0x0, 0xfe, 0x42, 0x0, 0x0, 0x0, 0x43, 0x0, 0x0, 0x7f, 0x43]),
+ f32x4([1, 127, 128, 255]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:508
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i8x16([0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf]),
+ i8x16([0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:511
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:514
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x9, 0x10, 0x11, 0x12, 0xa, 0xb, 0x1a, 0x1b, 0xaa, 0xab, 0xff]),
+ i8x16([0xff, 0xab, 0xaa, 0x1b, 0x1a, 0xb, 0xa, 0x12, 0x11, 0x10, 0x9, 0x4, 0x3, 0x2, 0x1, 0x0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:517
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i8x16([0xff, 0xfe, 0xfd, 0x80, 0x7f, 0x2, 0x1, 0x0, 0x0, 0xff, 0xfe, 0xfd, 0x83, 0x82, 0x81, 0x80]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:520
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i8x16([0xff, 0xfe, 0xfd, 0x80, 0x7f, 0x2, 0x1, 0x0, 0x0, 0xff, 0xfe, 0xfd, 0x83, 0x82, 0x81, 0x80]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:525
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:528
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:531
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:534
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i16x8([0x100, 0x302, 0x504, 0x706, 0x908, 0xb0a, 0xd0c, 0xf0e]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:537
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:540
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0xff, 0xff, 0xff, 0xff]),
+ i16x8([0xff80, 0xff80, 0x0, 0x0, 0x1, 0x1, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0xff, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:543
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i8x16([0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55]),
+ i16x8([0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:548
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:551
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:554
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:557
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i32x4([0x3020100, 0x7060504, 0xb0a0908, 0xf0e0d0c]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:560
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:563
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0xff, 0xff, 0xff, 0xff]),
+ i32x4([0xffffff80, 0x0, 0x1, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:566
+assert_return(
+ () => invoke($0, `lt_u`, [
+ i8x16([0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55]),
+ i32x4([0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:575
+assert_return(
+ () => invoke($0, `le_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:578
+assert_return(
+ () => invoke($0, `le_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:581
+assert_return(
+ () => invoke($0, `le_s`, [
+ i8x16([0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0]),
+ i8x16([0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:584
+assert_return(
+ () => invoke($0, `le_s`, [
+ i8x16([0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf]),
+ i8x16([0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:587
+assert_return(
+ () => invoke($0, `le_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:590
+assert_return(
+ () => invoke($0, `le_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:593
+assert_return(
+ () => invoke($0, `le_s`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x9, 0x10, 0x11, 0x12, 0xa, 0xb, 0x1a, 0x1b, 0xaa, 0xab, 0xff]),
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x9, 0x10, 0x11, 0x12, 0xa, 0xb, 0x1a, 0x1b, 0xaa, 0xab, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:598
+assert_return(
+ () => invoke($0, `le_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:601
+assert_return(
+ () => invoke($0, `le_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:604
+assert_return(
+ () => invoke($0, `le_s`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:607
+assert_return(
+ () => invoke($0, `le_s`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:610
+assert_return(
+ () => invoke($0, `le_s`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:615
+assert_return(
+ () => invoke($0, `le_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:618
+assert_return(
+ () => invoke($0, `le_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:621
+assert_return(
+ () => invoke($0, `le_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:624
+assert_return(
+ () => invoke($0, `le_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:627
+assert_return(
+ () => invoke($0, `le_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:630
+assert_return(
+ () => invoke($0, `le_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:633
+assert_return(
+ () => invoke($0, `le_s`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:638
+assert_return(
+ () => invoke($0, `le_s`, [
+ i8x16([0x0, 0x0, 0x0, 0xc3, 0x0, 0x0, 0xfe, 0xc2, 0x0, 0x0, 0x80, 0xbf, 0x0, 0x0, 0x0, 0x0]),
+ f32x4([-128, -127, -1, 0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:641
+assert_return(
+ () => invoke($0, `le_s`, [
+ i8x16([0x0, 0x0, 0x80, 0x3f, 0x0, 0x0, 0xfe, 0x42, 0x0, 0x0, 0x0, 0x43, 0x0, 0x0, 0x7f, 0x43]),
+ f32x4([1, 127, 128, 255]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:646
+assert_return(
+ () => invoke($0, `le_s`, [
+ i8x16([0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf]),
+ i8x16([0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:649
+assert_return(
+ () => invoke($0, `le_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:652
+assert_return(
+ () => invoke($0, `le_s`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x9, 0x10, 0x11, 0x12, 0xa, 0xb, 0x1a, 0x1b, 0xaa, 0xab, 0xff]),
+ i8x16([0xff, 0xab, 0xaa, 0x1b, 0x1a, 0xb, 0xa, 0x12, 0x11, 0x10, 0x9, 0x4, 0x3, 0x2, 0x1, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:655
+assert_return(
+ () => invoke($0, `le_s`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i8x16([0xff, 0xfe, 0xfd, 0x80, 0x7f, 0x2, 0x1, 0x0, 0x0, 0xff, 0xfe, 0xfd, 0x83, 0x82, 0x81, 0x80]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:658
+assert_return(
+ () => invoke($0, `le_s`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i8x16([0xff, 0xfe, 0xfd, 0x80, 0x7f, 0x2, 0x1, 0x0, 0x0, 0xff, 0xfe, 0xfd, 0x83, 0x82, 0x81, 0x80]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:663
+assert_return(
+ () => invoke($0, `le_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:666
+assert_return(
+ () => invoke($0, `le_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:669
+assert_return(
+ () => invoke($0, `le_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:672
+assert_return(
+ () => invoke($0, `le_s`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i16x8([0x100, 0x302, 0x504, 0x706, 0x908, 0xb0a, 0xd0c, 0xf0e]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:675
+assert_return(
+ () => invoke($0, `le_s`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:678
+assert_return(
+ () => invoke($0, `le_s`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0xff, 0xff, 0xff, 0xff]),
+ i16x8([0xff80, 0xff80, 0x0, 0x0, 0x1, 0x1, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0xff, 0x0, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:681
+assert_return(
+ () => invoke($0, `le_s`, [
+ i8x16([0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55]),
+ i16x8([0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:686
+assert_return(
+ () => invoke($0, `le_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:689
+assert_return(
+ () => invoke($0, `le_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:692
+assert_return(
+ () => invoke($0, `le_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:695
+assert_return(
+ () => invoke($0, `le_s`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i32x4([0x3020100, 0x7060504, 0xb0a0908, 0xf0e0d0c]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:698
+assert_return(
+ () => invoke($0, `le_s`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:701
+assert_return(
+ () => invoke($0, `le_s`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0xff, 0xff, 0xff, 0xff]),
+ i32x4([0xffffff80, 0x0, 0x1, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:704
+assert_return(
+ () => invoke($0, `le_s`, [
+ i8x16([0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55]),
+ i32x4([0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:713
+assert_return(
+ () => invoke($0, `le_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:716
+assert_return(
+ () => invoke($0, `le_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:719
+assert_return(
+ () => invoke($0, `le_u`, [
+ i8x16([0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0]),
+ i8x16([0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:722
+assert_return(
+ () => invoke($0, `le_u`, [
+ i8x16([0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf]),
+ i8x16([0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:725
+assert_return(
+ () => invoke($0, `le_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:728
+assert_return(
+ () => invoke($0, `le_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:731
+assert_return(
+ () => invoke($0, `le_u`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x9, 0x10, 0x11, 0x12, 0xa, 0xb, 0x1a, 0x1b, 0xaa, 0xab, 0xff]),
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x9, 0x10, 0x11, 0x12, 0xa, 0xb, 0x1a, 0x1b, 0xaa, 0xab, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:736
+assert_return(
+ () => invoke($0, `le_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:739
+assert_return(
+ () => invoke($0, `le_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:742
+assert_return(
+ () => invoke($0, `le_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:745
+assert_return(
+ () => invoke($0, `le_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:748
+assert_return(
+ () => invoke($0, `le_u`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:753
+assert_return(
+ () => invoke($0, `le_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:756
+assert_return(
+ () => invoke($0, `le_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:759
+assert_return(
+ () => invoke($0, `le_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:762
+assert_return(
+ () => invoke($0, `le_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:765
+assert_return(
+ () => invoke($0, `le_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:768
+assert_return(
+ () => invoke($0, `le_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:771
+assert_return(
+ () => invoke($0, `le_u`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:776
+assert_return(
+ () => invoke($0, `le_u`, [
+ i8x16([0x0, 0x0, 0x0, 0xc3, 0x0, 0x0, 0xfe, 0xc2, 0x0, 0x0, 0x80, 0xbf, 0x0, 0x0, 0x0, 0x0]),
+ f32x4([-128, -127, -1, 0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:779
+assert_return(
+ () => invoke($0, `le_u`, [
+ i8x16([0x0, 0x0, 0x80, 0x3f, 0x0, 0x0, 0xfe, 0x42, 0x0, 0x0, 0x0, 0x43, 0x0, 0x0, 0x7f, 0x43]),
+ f32x4([1, 127, 128, 255]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:784
+assert_return(
+ () => invoke($0, `le_u`, [
+ i8x16([0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf]),
+ i8x16([0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:787
+assert_return(
+ () => invoke($0, `le_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:790
+assert_return(
+ () => invoke($0, `le_u`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x9, 0x10, 0x11, 0x12, 0xa, 0xb, 0x1a, 0x1b, 0xaa, 0xab, 0xff]),
+ i8x16([0xff, 0xab, 0xaa, 0x1b, 0x1a, 0xb, 0xa, 0x12, 0x11, 0x10, 0x9, 0x4, 0x3, 0x2, 0x1, 0x0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:793
+assert_return(
+ () => invoke($0, `le_u`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i8x16([0xff, 0xfe, 0xfd, 0x80, 0x7f, 0x2, 0x1, 0x0, 0x0, 0xff, 0xfe, 0xfd, 0x83, 0x82, 0x81, 0x80]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:796
+assert_return(
+ () => invoke($0, `le_u`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i8x16([0xff, 0xfe, 0xfd, 0x80, 0x7f, 0x2, 0x1, 0x0, 0x0, 0xff, 0xfe, 0xfd, 0x83, 0x82, 0x81, 0x80]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:801
+assert_return(
+ () => invoke($0, `le_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:804
+assert_return(
+ () => invoke($0, `le_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:807
+assert_return(
+ () => invoke($0, `le_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:810
+assert_return(
+ () => invoke($0, `le_u`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i16x8([0x100, 0x302, 0x504, 0x706, 0x908, 0xb0a, 0xd0c, 0xf0e]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:813
+assert_return(
+ () => invoke($0, `le_u`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:816
+assert_return(
+ () => invoke($0, `le_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0xff, 0xff, 0xff, 0xff]),
+ i16x8([0xff80, 0xff80, 0x0, 0x0, 0x1, 0x1, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:819
+assert_return(
+ () => invoke($0, `le_u`, [
+ i8x16([0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55]),
+ i16x8([0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:824
+assert_return(
+ () => invoke($0, `le_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:827
+assert_return(
+ () => invoke($0, `le_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:830
+assert_return(
+ () => invoke($0, `le_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:833
+assert_return(
+ () => invoke($0, `le_u`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i32x4([0x3020100, 0x7060504, 0xb0a0908, 0xf0e0d0c]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:836
+assert_return(
+ () => invoke($0, `le_u`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:839
+assert_return(
+ () => invoke($0, `le_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0xff, 0xff, 0xff, 0xff]),
+ i32x4([0xffffff80, 0x0, 0x1, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:842
+assert_return(
+ () => invoke($0, `le_u`, [
+ i8x16([0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55]),
+ i32x4([0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:851
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:854
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:857
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i8x16([0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0]),
+ i8x16([0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:860
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i8x16([0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf]),
+ i8x16([0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:863
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:866
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:869
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x9, 0x10, 0x11, 0x12, 0xa, 0xb, 0x1a, 0x1b, 0xaa, 0xab, 0xff]),
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x9, 0x10, 0x11, 0x12, 0xa, 0xb, 0x1a, 0x1b, 0xaa, 0xab, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:874
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:877
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:880
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:883
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:886
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:891
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:894
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:897
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:900
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:903
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:906
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:909
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:914
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i8x16([0x0, 0x0, 0x0, 0xc3, 0x0, 0x0, 0xfe, 0xc2, 0x0, 0x0, 0x80, 0xbf, 0x0, 0x0, 0x0, 0x0]),
+ f32x4([-128, -127, -1, 0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:917
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i8x16([0x0, 0x0, 0x80, 0x3f, 0x0, 0x0, 0xfe, 0x42, 0x0, 0x0, 0x0, 0x43, 0x0, 0x0, 0x7f, 0x43]),
+ f32x4([1, 127, 128, 255]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:922
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i8x16([0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf]),
+ i8x16([0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:925
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:928
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x9, 0x10, 0x11, 0x12, 0xa, 0xb, 0x1a, 0x1b, 0xaa, 0xab, 0xff]),
+ i8x16([0xff, 0xab, 0xaa, 0x1b, 0x1a, 0xb, 0xa, 0x12, 0x11, 0x10, 0x9, 0x4, 0x3, 0x2, 0x1, 0x0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:931
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i8x16([0xff, 0xfe, 0xfd, 0x80, 0x7f, 0x2, 0x1, 0x0, 0x0, 0xff, 0xfe, 0xfd, 0x83, 0x82, 0x81, 0x80]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0x0, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:934
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i8x16([0xff, 0xfe, 0xfd, 0x80, 0x7f, 0x2, 0x1, 0x0, 0x0, 0xff, 0xfe, 0xfd, 0x83, 0x82, 0x81, 0x80]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0x0, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:939
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:942
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:945
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:948
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i16x8([0x100, 0x302, 0x504, 0x706, 0x908, 0xb0a, 0xd0c, 0xf0e]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:951
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:954
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0xff, 0xff, 0xff, 0xff]),
+ i16x8([0xff80, 0xff80, 0x0, 0x0, 0x1, 0x1, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:957
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i8x16([0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55]),
+ i16x8([0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:962
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:965
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:968
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:971
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i32x4([0x3020100, 0x7060504, 0xb0a0908, 0xf0e0d0c]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:974
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:977
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0xff, 0xff, 0xff, 0xff]),
+ i32x4([0xffffff80, 0x0, 0x1, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:980
+assert_return(
+ () => invoke($0, `gt_s`, [
+ i8x16([0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55]),
+ i32x4([0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:989
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:992
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:995
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i8x16([0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0]),
+ i8x16([0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:998
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i8x16([0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf]),
+ i8x16([0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1001
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1004
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1007
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x9, 0x10, 0x11, 0x12, 0xa, 0xb, 0x1a, 0x1b, 0xaa, 0xab, 0xff]),
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x9, 0x10, 0x11, 0x12, 0xa, 0xb, 0x1a, 0x1b, 0xaa, 0xab, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1012
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1015
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1018
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1021
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1024
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1029
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1032
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1035
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1038
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1041
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1044
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1047
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1052
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i8x16([0x0, 0x0, 0x0, 0xc3, 0x0, 0x0, 0xfe, 0xc2, 0x0, 0x0, 0x80, 0xbf, 0x0, 0x0, 0x0, 0x0]),
+ f32x4([-128, -127, -1, 0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1055
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i8x16([0x0, 0x0, 0x80, 0x3f, 0x0, 0x0, 0xfe, 0x42, 0x0, 0x0, 0x0, 0x43, 0x0, 0x0, 0x7f, 0x43]),
+ f32x4([1, 127, 128, 255]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1060
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i8x16([0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf]),
+ i8x16([0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1063
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1066
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x9, 0x10, 0x11, 0x12, 0xa, 0xb, 0x1a, 0x1b, 0xaa, 0xab, 0xff]),
+ i8x16([0xff, 0xab, 0xaa, 0x1b, 0x1a, 0xb, 0xa, 0x12, 0x11, 0x10, 0x9, 0x4, 0x3, 0x2, 0x1, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1069
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i8x16([0xff, 0xfe, 0xfd, 0x80, 0x7f, 0x2, 0x1, 0x0, 0x0, 0xff, 0xfe, 0xfd, 0x83, 0x82, 0x81, 0x80]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1072
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i8x16([0xff, 0xfe, 0xfd, 0x80, 0x7f, 0x2, 0x1, 0x0, 0x0, 0xff, 0xfe, 0xfd, 0x83, 0x82, 0x81, 0x80]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1077
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1080
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1083
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1086
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i16x8([0x100, 0x302, 0x504, 0x706, 0x908, 0xb0a, 0xd0c, 0xf0e]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1089
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1092
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0xff, 0xff, 0xff, 0xff]),
+ i16x8([0xff80, 0xff80, 0x0, 0x0, 0x1, 0x1, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1095
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i8x16([0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55]),
+ i16x8([0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1100
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1103
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1106
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1109
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i32x4([0x3020100, 0x7060504, 0xb0a0908, 0xf0e0d0c]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1112
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1115
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0xff, 0xff, 0xff, 0xff]),
+ i32x4([0xffffff80, 0x0, 0x1, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0x0, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1118
+assert_return(
+ () => invoke($0, `gt_u`, [
+ i8x16([0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55]),
+ i32x4([0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1127
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1130
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1133
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i8x16([0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0]),
+ i8x16([0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1136
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i8x16([0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf]),
+ i8x16([0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1139
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1142
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1145
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x9, 0x10, 0x11, 0x12, 0xa, 0xb, 0x1a, 0x1b, 0xaa, 0xab, 0xff]),
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x9, 0x10, 0x11, 0x12, 0xa, 0xb, 0x1a, 0x1b, 0xaa, 0xab, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1150
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1153
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1156
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1159
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1162
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1167
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1170
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1173
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1176
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1179
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1182
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1185
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1190
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i8x16([0x0, 0x0, 0x0, 0xc3, 0x0, 0x0, 0xfe, 0xc2, 0x0, 0x0, 0x80, 0xbf, 0x0, 0x0, 0x0, 0x0]),
+ f32x4([-128, -127, -1, 0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1193
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i8x16([0x0, 0x0, 0x80, 0x3f, 0x0, 0x0, 0xfe, 0x42, 0x0, 0x0, 0x0, 0x43, 0x0, 0x0, 0x7f, 0x43]),
+ f32x4([1, 127, 128, 255]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1198
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i8x16([0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf]),
+ i8x16([0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1201
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1204
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x9, 0x10, 0x11, 0x12, 0xa, 0xb, 0x1a, 0x1b, 0xaa, 0xab, 0xff]),
+ i8x16([0xff, 0xab, 0xaa, 0x1b, 0x1a, 0xb, 0xa, 0x12, 0x11, 0x10, 0x9, 0x4, 0x3, 0x2, 0x1, 0x0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1207
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i8x16([0xff, 0xfe, 0xfd, 0x80, 0x7f, 0x2, 0x1, 0x0, 0x0, 0xff, 0xfe, 0xfd, 0x83, 0x82, 0x81, 0x80]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1210
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i8x16([0xff, 0xfe, 0xfd, 0x80, 0x7f, 0x2, 0x1, 0x0, 0x0, 0xff, 0xfe, 0xfd, 0x83, 0x82, 0x81, 0x80]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1215
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1218
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1221
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1224
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i16x8([0x100, 0x302, 0x504, 0x706, 0x908, 0xb0a, 0xd0c, 0xf0e]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1227
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1230
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0xff, 0xff, 0xff, 0xff]),
+ i16x8([0xff80, 0xff80, 0x0, 0x0, 0x1, 0x1, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0x0, 0xff, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0xff, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1233
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i8x16([0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55]),
+ i16x8([0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1238
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1241
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1244
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1247
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i32x4([0x3020100, 0x7060504, 0xb0a0908, 0xf0e0d0c]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1250
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1253
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0xff, 0xff, 0xff, 0xff]),
+ i32x4([0xffffff80, 0x0, 0x1, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1256
+assert_return(
+ () => invoke($0, `ge_s`, [
+ i8x16([0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55]),
+ i32x4([0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1265
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1268
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1271
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i8x16([0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0]),
+ i8x16([0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1274
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i8x16([0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf]),
+ i8x16([0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1277
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1280
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1283
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x9, 0x10, 0x11, 0x12, 0xa, 0xb, 0x1a, 0x1b, 0xaa, 0xab, 0xff]),
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x9, 0x10, 0x11, 0x12, 0xa, 0xb, 0x1a, 0x1b, 0xaa, 0xab, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1288
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1291
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1294
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1297
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1300
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1305
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1308
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1311
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1314
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1317
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1320
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1323
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1328
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i8x16([0x0, 0x0, 0x0, 0xc3, 0x0, 0x0, 0xfe, 0xc2, 0x0, 0x0, 0x80, 0xbf, 0x0, 0x0, 0x0, 0x0]),
+ f32x4([-128, -127, -1, 0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1331
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i8x16([0x0, 0x0, 0x80, 0x3f, 0x0, 0x0, 0xfe, 0x42, 0x0, 0x0, 0x0, 0x43, 0x0, 0x0, 0x7f, 0x43]),
+ f32x4([1, 127, 128, 255]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1336
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i8x16([0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf]),
+ i8x16([0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1339
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1342
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x9, 0x10, 0x11, 0x12, 0xa, 0xb, 0x1a, 0x1b, 0xaa, 0xab, 0xff]),
+ i8x16([0xff, 0xab, 0xaa, 0x1b, 0x1a, 0xb, 0xa, 0x12, 0x11, 0x10, 0x9, 0x4, 0x3, 0x2, 0x1, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1345
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i8x16([0xff, 0xfe, 0xfd, 0x80, 0x7f, 0x2, 0x1, 0x0, 0x0, 0xff, 0xfe, 0xfd, 0x83, 0x82, 0x81, 0x80]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1348
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i8x16([0xff, 0xfe, 0xfd, 0x80, 0x7f, 0x2, 0x1, 0x0, 0x0, 0xff, 0xfe, 0xfd, 0x83, 0x82, 0x81, 0x80]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1353
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1356
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1359
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1362
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i16x8([0x100, 0x302, 0x504, 0x706, 0x908, 0xb0a, 0xd0c, 0xf0e]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1365
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i16x8([0x8180, 0x8382, 0xfefd, 0xff, 0x100, 0x7f02, 0xfd80, 0xfffe]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1368
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0xff, 0xff, 0xff, 0xff]),
+ i16x8([0xff80, 0xff80, 0x0, 0x0, 0x1, 0x1, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0x0, 0xff, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1371
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i8x16([0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55]),
+ i16x8([0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1376
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1379
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1382
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1385
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i32x4([0x3020100, 0x7060504, 0xb0a0908, 0xf0e0d0c]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1388
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i8x16([0x80, 0x81, 0x82, 0x83, 0xfd, 0xfe, 0xff, 0x0, 0x0, 0x1, 0x2, 0x7f, 0x80, 0xfd, 0xfe, 0xff]),
+ i32x4([0x83828180, 0xfffefd, 0x7f020100, 0xfffefd80]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1391
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0xff, 0xff, 0xff, 0xff]),
+ i32x4([0xffffff80, 0x0, 0x1, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1394
+assert_return(
+ () => invoke($0, `ge_u`, [
+ i8x16([0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55]),
+ i32x4([0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1401
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i8x16.eq (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1402
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i8x16.ge_s (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1403
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i8x16.ge_u (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1404
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i8x16.gt_s (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1405
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i8x16.gt_u (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1406
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i8x16.le_s (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1407
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i8x16.le_u (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1408
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i8x16.lt_s (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1409
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i8x16.lt_u (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1410
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i8x16.ne (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1415
+let $1 = instantiate(`(module (memory 1)
+ (func (export "eq-in-block")
+ (block
+ (drop
+ (block (result v128)
+ (i8x16.eq
+ (block (result v128) (v128.load (i32.const 0)))
+ (block (result v128) (v128.load (i32.const 1)))
+ )
+ )
+ )
+ )
+ )
+ (func (export "ne-in-block")
+ (block
+ (drop
+ (block (result v128)
+ (i8x16.ne
+ (block (result v128) (v128.load (i32.const 0)))
+ (block (result v128) (v128.load (i32.const 1)))
+ )
+ )
+ )
+ )
+ )
+ (func (export "lt_s-in-block")
+ (block
+ (drop
+ (block (result v128)
+ (i8x16.lt_s
+ (block (result v128) (v128.load (i32.const 0)))
+ (block (result v128) (v128.load (i32.const 1)))
+ )
+ )
+ )
+ )
+ )
+ (func (export "le_u-in-block")
+ (block
+ (drop
+ (block (result v128)
+ (i8x16.le_u
+ (block (result v128) (v128.load (i32.const 0)))
+ (block (result v128) (v128.load (i32.const 1)))
+ )
+ )
+ )
+ )
+ )
+ (func (export "gt_u-in-block")
+ (block
+ (drop
+ (block (result v128)
+ (i8x16.gt_u
+ (block (result v128) (v128.load (i32.const 0)))
+ (block (result v128) (v128.load (i32.const 1)))
+ )
+ )
+ )
+ )
+ )
+ (func (export "ge_s-in-block")
+ (block
+ (drop
+ (block (result v128)
+ (i8x16.ge_s
+ (block (result v128) (v128.load (i32.const 0)))
+ (block (result v128) (v128.load (i32.const 1)))
+ )
+ )
+ )
+ )
+ )
+ (func (export "nested-eq")
+ (drop
+ (i8x16.eq
+ (i8x16.eq
+ (i8x16.eq
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (i8x16.eq
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ (i8x16.eq
+ (i8x16.eq
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (i8x16.eq
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ )
+ )
+ )
+ (func (export "nested-ne")
+ (drop
+ (i8x16.ne
+ (i8x16.ne
+ (i8x16.ne
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (i8x16.ne
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ (i8x16.ne
+ (i8x16.ne
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (i8x16.ne
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ )
+ )
+ )
+ (func (export "nested-lt_s")
+ (drop
+ (i8x16.lt_s
+ (i8x16.lt_s
+ (i8x16.lt_s
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (i8x16.lt_s
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ (i8x16.lt_s
+ (i8x16.lt_s
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (i8x16.lt_s
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ )
+ )
+ )
+ (func (export "nested-le_u")
+ (drop
+ (i8x16.le_u
+ (i8x16.le_u
+ (i8x16.le_u
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (i8x16.le_u
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ (i8x16.le_u
+ (i8x16.le_u
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (i8x16.le_u
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ )
+ )
+ )
+ (func (export "nested-gt_u")
+ (drop
+ (i8x16.gt_u
+ (i8x16.gt_u
+ (i8x16.gt_u
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (i8x16.gt_u
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ (i8x16.gt_u
+ (i8x16.gt_u
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (i8x16.gt_u
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ )
+ )
+ )
+ (func (export "nested-ge_s")
+ (drop
+ (i8x16.ge_s
+ (i8x16.ge_s
+ (i8x16.ge_s
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (i8x16.ge_s
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ (i8x16.ge_s
+ (i8x16.ge_s
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (i8x16.ge_s
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ )
+ )
+ )
+ (func (export "as-param")
+ (drop
+ (i8x16.ge_u
+ (i8x16.eq
+ (i8x16.lt_s
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (i8x16.le_u
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ (i8x16.ne
+ (i8x16.gt_s
+ (v128.load (i32.const 0))
+ (v128.load (i32.const 1))
+ )
+ (i8x16.lt_u
+ (v128.load (i32.const 2))
+ (v128.load (i32.const 3))
+ )
+ )
+ )
+ )
+ )
+)`);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1671
+assert_return(() => invoke($1, `eq-in-block`, []), []);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1672
+assert_return(() => invoke($1, `ne-in-block`, []), []);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1673
+assert_return(() => invoke($1, `lt_s-in-block`, []), []);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1674
+assert_return(() => invoke($1, `le_u-in-block`, []), []);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1675
+assert_return(() => invoke($1, `gt_u-in-block`, []), []);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1676
+assert_return(() => invoke($1, `ge_s-in-block`, []), []);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1677
+assert_return(() => invoke($1, `nested-eq`, []), []);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1678
+assert_return(() => invoke($1, `nested-ne`, []), []);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1679
+assert_return(() => invoke($1, `nested-lt_s`, []), []);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1680
+assert_return(() => invoke($1, `nested-le_u`, []), []);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1681
+assert_return(() => invoke($1, `nested-gt_u`, []), []);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1682
+assert_return(() => invoke($1, `nested-ge_s`, []), []);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1683
+assert_return(() => invoke($1, `as-param`, []), []);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1688
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.eq-1st-arg-empty (result v128)
+ (i8x16.eq (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1696
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.eq-arg-empty (result v128)
+ (i8x16.eq)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1704
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.ne-1st-arg-empty (result v128)
+ (i8x16.ne (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1712
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.ne-arg-empty (result v128)
+ (i8x16.ne)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1720
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.lt_s-1st-arg-empty (result v128)
+ (i8x16.lt_s (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1728
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.lt_s-arg-empty (result v128)
+ (i8x16.lt_s)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1736
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.lt_u-1st-arg-empty (result v128)
+ (i8x16.lt_u (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1744
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.lt_u-arg-empty (result v128)
+ (i8x16.lt_u)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1752
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.le_s-1st-arg-empty (result v128)
+ (i8x16.le_s (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1760
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.le_s-arg-empty (result v128)
+ (i8x16.le_s)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1768
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.le_u-1st-arg-empty (result v128)
+ (i8x16.le_u (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1776
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.le_u-arg-empty (result v128)
+ (i8x16.le_u)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1784
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.gt_s-1st-arg-empty (result v128)
+ (i8x16.gt_s (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1792
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.gt_s-arg-empty (result v128)
+ (i8x16.gt_s)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1800
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.gt_u-1st-arg-empty (result v128)
+ (i8x16.gt_u (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1808
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.gt_u-arg-empty (result v128)
+ (i8x16.gt_u)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1816
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.ge_s-1st-arg-empty (result v128)
+ (i8x16.ge_s (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1824
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.ge_s-arg-empty (result v128)
+ (i8x16.ge_s)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1832
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.ge_u-1st-arg-empty (result v128)
+ (i8x16.ge_u (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_cmp.wast:1840
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.ge_u-arg-empty (result v128)
+ (i8x16.ge_u)
+ )
+ )`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/simd_i8x16_sat_arith.wast.js b/js/src/jit-test/tests/wasm/spec/spec/simd_i8x16_sat_arith.wast.js
new file mode 100644
index 0000000000..856ea0d8d3
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/simd_i8x16_sat_arith.wast.js
@@ -0,0 +1,2430 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:4
+let $0 = instantiate(`(module
+ (func (export "i8x16.add_sat_s") (param v128 v128) (result v128) (i8x16.add_sat_s (local.get 0) (local.get 1)))
+ (func (export "i8x16.add_sat_u") (param v128 v128) (result v128) (i8x16.add_sat_u (local.get 0) (local.get 1)))
+ (func (export "i8x16.sub_sat_s") (param v128 v128) (result v128) (i8x16.sub_sat_s (local.get 0) (local.get 1)))
+ (func (export "i8x16.sub_sat_u") (param v128 v128) (result v128) (i8x16.sub_sat_u (local.get 0) (local.get 1)))
+)`);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:13
+assert_return(
+ () => invoke($0, `i8x16.add_sat_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:16
+assert_return(
+ () => invoke($0, `i8x16.add_sat_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:19
+assert_return(
+ () => invoke($0, `i8x16.add_sat_s`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:22
+assert_return(
+ () => invoke($0, `i8x16.add_sat_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:25
+assert_return(
+ () => invoke($0, `i8x16.add_sat_s`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:28
+assert_return(
+ () => invoke($0, `i8x16.add_sat_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:31
+assert_return(
+ () => invoke($0, `i8x16.add_sat_s`, [
+ i8x16([0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f]),
+ i8x16([0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40]),
+ ]),
+ [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:34
+assert_return(
+ () => invoke($0, `i8x16.add_sat_s`, [
+ i8x16([0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40]),
+ i8x16([0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40]),
+ ]),
+ [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:37
+assert_return(
+ () => invoke($0, `i8x16.add_sat_s`, [
+ i8x16([0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1]),
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ ]),
+ [
+ i8x16([0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:40
+assert_return(
+ () => invoke($0, `i8x16.add_sat_s`, [
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:43
+assert_return(
+ () => invoke($0, `i8x16.add_sat_s`, [
+ i8x16([0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf]),
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:46
+assert_return(
+ () => invoke($0, `i8x16.add_sat_s`, [
+ i8x16([0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:49
+assert_return(
+ () => invoke($0, `i8x16.add_sat_s`, [
+ i8x16([0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:52
+assert_return(
+ () => invoke($0, `i8x16.add_sat_s`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:55
+assert_return(
+ () => invoke($0, `i8x16.add_sat_s`, [
+ i8x16([0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:58
+assert_return(
+ () => invoke($0, `i8x16.add_sat_s`, [
+ i8x16([0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:61
+assert_return(
+ () => invoke($0, `i8x16.add_sat_s`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:64
+assert_return(
+ () => invoke($0, `i8x16.add_sat_s`, [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:67
+assert_return(
+ () => invoke($0, `i8x16.add_sat_s`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:70
+assert_return(
+ () => invoke($0, `i8x16.add_sat_s`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:73
+assert_return(
+ () => invoke($0, `i8x16.add_sat_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:76
+assert_return(
+ () => invoke($0, `i8x16.add_sat_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:79
+assert_return(
+ () => invoke($0, `i8x16.add_sat_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:82
+assert_return(
+ () => invoke($0, `i8x16.add_sat_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [
+ i8x16([0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:85
+assert_return(
+ () => invoke($0, `i8x16.add_sat_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:88
+assert_return(
+ () => invoke($0, `i8x16.add_sat_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:91
+assert_return(
+ () => invoke($0, `i8x16.add_sat_s`, [
+ i8x16([0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f]),
+ i8x16([0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40]),
+ ]),
+ [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:94
+assert_return(
+ () => invoke($0, `i8x16.add_sat_s`, [
+ i8x16([0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40]),
+ i8x16([0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40]),
+ ]),
+ [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:97
+assert_return(
+ () => invoke($0, `i8x16.add_sat_s`, [
+ i8x16([0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1]),
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ ]),
+ [
+ i8x16([0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:100
+assert_return(
+ () => invoke($0, `i8x16.add_sat_s`, [
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:103
+assert_return(
+ () => invoke($0, `i8x16.add_sat_s`, [
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ i8x16([0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:106
+assert_return(
+ () => invoke($0, `i8x16.add_sat_s`, [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:109
+assert_return(
+ () => invoke($0, `i8x16.add_sat_s`, [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:112
+assert_return(
+ () => invoke($0, `i8x16.add_sat_s`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:115
+assert_return(
+ () => invoke($0, `i8x16.add_sat_s`, [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:118
+assert_return(
+ () => invoke($0, `i8x16.add_sat_s`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:121
+assert_return(
+ () => invoke($0, `i8x16.add_sat_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:124
+assert_return(
+ () => invoke($0, `i8x16.add_sat_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:127
+assert_return(
+ () => invoke($0, `i8x16.add_sat_s`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:130
+assert_return(
+ () => invoke($0, `i8x16.add_sat_s`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x81, 0x7f, 0x1, 0x1, 0x81, 0x7f, 0x1, 0x1, 0x81, 0x7f, 0x1, 0x1, 0x81, 0x7f]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:133
+assert_return(
+ () => invoke($0, `i8x16.add_sat_s`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x81, 0x0, 0x1, 0x1, 0x81, 0x0, 0x1, 0x1, 0x81, 0x0, 0x1, 0x1, 0x81, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:136
+assert_return(
+ () => invoke($0, `i8x16.add_sat_s`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0xc1, 0x7f, 0x1, 0x1, 0xc1, 0x7f, 0x1, 0x1, 0xc1, 0x7f, 0x1, 0x1, 0xc1, 0x7f]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:139
+assert_return(
+ () => invoke($0, `i8x16.add_sat_s`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0xc1, 0x0, 0x1, 0x1, 0xc1, 0x0, 0x1, 0x1, 0xc1, 0x0, 0x1, 0x1, 0xc1, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:142
+assert_return(
+ () => invoke($0, `i8x16.add_sat_s`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i8x16([0x0, 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:145
+assert_return(
+ () => invoke($0, `i8x16.add_sat_s`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i8x16([0x0, 0x2, 0x4, 0x6, 0x8, 0xa, 0xc, 0xe, 0x10, 0x12, 0x14, 0x16, 0x18, 0x1a, 0x1c, 0x1e]),
+ ]),
+ [
+ i8x16([0x0, 0x3, 0x6, 0x9, 0xc, 0xf, 0x12, 0x15, 0x18, 0x1b, 0x1e, 0x21, 0x24, 0x27, 0x2a, 0x2d]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:150
+assert_return(
+ () => invoke($0, `i8x16.add_sat_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:153
+assert_return(
+ () => invoke($0, `i8x16.add_sat_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:156
+assert_return(
+ () => invoke($0, `i8x16.add_sat_u`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:159
+assert_return(
+ () => invoke($0, `i8x16.add_sat_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:162
+assert_return(
+ () => invoke($0, `i8x16.add_sat_u`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:165
+assert_return(
+ () => invoke($0, `i8x16.add_sat_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:168
+assert_return(
+ () => invoke($0, `i8x16.add_sat_u`, [
+ i8x16([0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f]),
+ i8x16([0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40]),
+ ]),
+ [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:171
+assert_return(
+ () => invoke($0, `i8x16.add_sat_u`, [
+ i8x16([0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40]),
+ i8x16([0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:174
+assert_return(
+ () => invoke($0, `i8x16.add_sat_u`, [
+ i8x16([0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1]),
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:177
+assert_return(
+ () => invoke($0, `i8x16.add_sat_u`, [
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:180
+assert_return(
+ () => invoke($0, `i8x16.add_sat_u`, [
+ i8x16([0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf]),
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:183
+assert_return(
+ () => invoke($0, `i8x16.add_sat_u`, [
+ i8x16([0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:186
+assert_return(
+ () => invoke($0, `i8x16.add_sat_u`, [
+ i8x16([0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:189
+assert_return(
+ () => invoke($0, `i8x16.add_sat_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:192
+assert_return(
+ () => invoke($0, `i8x16.add_sat_u`, [
+ i8x16([0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:195
+assert_return(
+ () => invoke($0, `i8x16.add_sat_u`, [
+ i8x16([0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:198
+assert_return(
+ () => invoke($0, `i8x16.add_sat_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:201
+assert_return(
+ () => invoke($0, `i8x16.add_sat_u`, [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [
+ i8x16([0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:204
+assert_return(
+ () => invoke($0, `i8x16.add_sat_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:207
+assert_return(
+ () => invoke($0, `i8x16.add_sat_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:210
+assert_return(
+ () => invoke($0, `i8x16.add_sat_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:213
+assert_return(
+ () => invoke($0, `i8x16.add_sat_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:216
+assert_return(
+ () => invoke($0, `i8x16.add_sat_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:219
+assert_return(
+ () => invoke($0, `i8x16.add_sat_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:222
+assert_return(
+ () => invoke($0, `i8x16.add_sat_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:225
+assert_return(
+ () => invoke($0, `i8x16.add_sat_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:228
+assert_return(
+ () => invoke($0, `i8x16.add_sat_u`, [
+ i8x16([0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f]),
+ i8x16([0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40]),
+ ]),
+ [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:231
+assert_return(
+ () => invoke($0, `i8x16.add_sat_u`, [
+ i8x16([0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40]),
+ i8x16([0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:234
+assert_return(
+ () => invoke($0, `i8x16.add_sat_u`, [
+ i8x16([0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1]),
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:237
+assert_return(
+ () => invoke($0, `i8x16.add_sat_u`, [
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:240
+assert_return(
+ () => invoke($0, `i8x16.add_sat_u`, [
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ i8x16([0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:243
+assert_return(
+ () => invoke($0, `i8x16.add_sat_u`, [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [
+ i8x16([0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:246
+assert_return(
+ () => invoke($0, `i8x16.add_sat_u`, [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:249
+assert_return(
+ () => invoke($0, `i8x16.add_sat_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:252
+assert_return(
+ () => invoke($0, `i8x16.add_sat_u`, [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:255
+assert_return(
+ () => invoke($0, `i8x16.add_sat_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:258
+assert_return(
+ () => invoke($0, `i8x16.add_sat_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:261
+assert_return(
+ () => invoke($0, `i8x16.add_sat_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:264
+assert_return(
+ () => invoke($0, `i8x16.add_sat_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0xff, 0x80, 0x80, 0x80, 0xff, 0x80, 0x80, 0x80, 0xff, 0x80, 0x80, 0x80, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:267
+assert_return(
+ () => invoke($0, `i8x16.add_sat_u`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x81, 0x80, 0x1, 0x1, 0x81, 0x80, 0x1, 0x1, 0x81, 0x80, 0x1, 0x1, 0x81, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:270
+assert_return(
+ () => invoke($0, `i8x16.add_sat_u`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x81, 0xff, 0x1, 0x1, 0x81, 0xff, 0x1, 0x1, 0x81, 0xff, 0x1, 0x1, 0x81, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:273
+assert_return(
+ () => invoke($0, `i8x16.add_sat_u`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0xc1, 0x80, 0x1, 0x1, 0xc1, 0x80, 0x1, 0x1, 0xc1, 0x80, 0x1, 0x1, 0xc1, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:276
+assert_return(
+ () => invoke($0, `i8x16.add_sat_u`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0xc1, 0xff, 0x1, 0x1, 0xc1, 0xff, 0x1, 0x1, 0xc1, 0xff, 0x1, 0x1, 0xc1, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:279
+assert_return(
+ () => invoke($0, `i8x16.add_sat_u`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i8x16([0x0, 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1]),
+ ]),
+ [
+ i8x16([0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:282
+assert_return(
+ () => invoke($0, `i8x16.add_sat_u`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i8x16([0x0, 0x2, 0x4, 0x6, 0x8, 0xa, 0xc, 0xe, 0x10, 0x12, 0x14, 0x16, 0x18, 0x1a, 0x1c, 0x1e]),
+ ]),
+ [
+ i8x16([0x0, 0x3, 0x6, 0x9, 0xc, 0xf, 0x12, 0x15, 0x18, 0x1b, 0x1e, 0x21, 0x24, 0x27, 0x2a, 0x2d]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:287
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:290
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:293
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_s`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:296
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:299
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_s`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:302
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:305
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_s`, [
+ i8x16([0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f]),
+ i8x16([0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:308
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_s`, [
+ i8x16([0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40]),
+ i8x16([0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:311
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_s`, [
+ i8x16([0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1]),
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:314
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_s`, [
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:317
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_s`, [
+ i8x16([0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf]),
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:320
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_s`, [
+ i8x16([0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:323
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_s`, [
+ i8x16([0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:326
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_s`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:329
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_s`, [
+ i8x16([0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:332
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_s`, [
+ i8x16([0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:335
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_s`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:338
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_s`, [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:341
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_s`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:344
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_s`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:347
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:350
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:353
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:356
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:359
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:362
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:365
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_s`, [
+ i8x16([0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f]),
+ i8x16([0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:368
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_s`, [
+ i8x16([0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40]),
+ i8x16([0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:371
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_s`, [
+ i8x16([0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1]),
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:374
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_s`, [
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:377
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_s`, [
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ i8x16([0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:380
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_s`, [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:383
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_s`, [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:386
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_s`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:389
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_s`, [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:392
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_s`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:395
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:398
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:401
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_s`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x0, 0x80, 0x80, 0x80, 0x0, 0x80, 0x80, 0x80, 0x0, 0x80, 0x80, 0x80, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:404
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_s`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x7f, 0x82, 0x1, 0x1, 0x7f, 0x82, 0x1, 0x1, 0x7f, 0x82, 0x1, 0x1, 0x7f, 0x82]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:407
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_s`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x7f, 0x2, 0x1, 0x1, 0x7f, 0x2, 0x1, 0x1, 0x7f, 0x2, 0x1, 0x1, 0x7f, 0x2]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:410
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_s`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x41, 0x82, 0x1, 0x1, 0x41, 0x82, 0x1, 0x1, 0x41, 0x82, 0x1, 0x1, 0x41, 0x82]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:413
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_s`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x41, 0x2, 0x1, 0x1, 0x41, 0x2, 0x1, 0x1, 0x41, 0x2, 0x1, 0x1, 0x41, 0x2]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:416
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_s`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i8x16([0x0, 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1]),
+ ]),
+ [
+ i8x16([0x0, 0x2, 0x4, 0x6, 0x8, 0xa, 0xc, 0xe, 0x10, 0x12, 0x14, 0x16, 0x18, 0x1a, 0x1c, 0x1e]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:419
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_s`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i8x16([0x0, 0x2, 0x4, 0x6, 0x8, 0xa, 0xc, 0xe, 0x10, 0x12, 0x14, 0x16, 0x18, 0x1a, 0x1c, 0x1e]),
+ ]),
+ [
+ i8x16([0x0, 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:424
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:427
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:430
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_u`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:433
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:436
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_u`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:439
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:442
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_u`, [
+ i8x16([0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f]),
+ i8x16([0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:445
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_u`, [
+ i8x16([0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40]),
+ i8x16([0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:448
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_u`, [
+ i8x16([0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1]),
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:451
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_u`, [
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:454
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_u`, [
+ i8x16([0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf]),
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:457
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_u`, [
+ i8x16([0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:460
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_u`, [
+ i8x16([0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:463
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:466
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_u`, [
+ i8x16([0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:469
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_u`, [
+ i8x16([0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:472
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:475
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_u`, [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:478
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:481
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:484
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:487
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:490
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:493
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:496
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:499
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:502
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_u`, [
+ i8x16([0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f]),
+ i8x16([0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:505
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_u`, [
+ i8x16([0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40]),
+ i8x16([0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:508
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_u`, [
+ i8x16([0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1]),
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:511
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_u`, [
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:514
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_u`, [
+ i8x16([0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0]),
+ i8x16([0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:517
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_u`, [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:520
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_u`, [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:523
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:526
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_u`, [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:529
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:532
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:535
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:538
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ f32x4([-0, -0, -0, -0]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x0, 0x80, 0x80, 0x80, 0x0, 0x80, 0x80, 0x80, 0x0, 0x80, 0x80, 0x80, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:541
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_u`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ f32x4([Infinity, Infinity, Infinity, Infinity]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:544
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_u`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ f32x4([-Infinity, -Infinity, -Infinity, -Infinity]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:547
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_u`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:550
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_u`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ ]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:553
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_u`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i8x16([0x0, 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:556
+assert_return(
+ () => invoke($0, `i8x16.sub_sat_u`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i8x16([0x0, 0x2, 0x4, 0x6, 0x8, 0xa, 0xc, 0xe, 0x10, 0x12, 0x14, 0x16, 0x18, 0x1a, 0x1c, 0x1e]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:561
+assert_malformed(
+ () => instantiate(`(func (result v128) (i8x16.add_sat (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1) (v128.const i8x16 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:564
+assert_malformed(
+ () => instantiate(`(func (result v128) (i8x16.sub_sat (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1) (v128.const i8x16 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:567
+assert_malformed(
+ () => instantiate(`(func (result v128) (i8x16.mul_sat (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1) (v128.const i8x16 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:570
+assert_malformed(
+ () => instantiate(`(func (result v128) (i8x16.div_sat (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1) (v128.const i8x16 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:573
+assert_malformed(
+ () => instantiate(`(func (result v128) (i32x4.add_sat_s (v128.const i32x4 0 0 0 0) (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:576
+assert_malformed(
+ () => instantiate(`(func (result v128) (i32x4.add_sat_u (v128.const i32x4 0 0 0 0) (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:579
+assert_malformed(
+ () => instantiate(`(func (result v128) (i32x4.sub_sat_s (v128.const i32x4 0 0 0 0) (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:582
+assert_malformed(
+ () => instantiate(`(func (result v128) (i32x4.sub_sat_u (v128.const i32x4 0 0 0 0) (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:585
+assert_malformed(
+ () => instantiate(`(func (result v128) (f32x4.add_sat_s (v128.const f32x4 0 0 0 0) (v128.const f32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:588
+assert_malformed(
+ () => instantiate(`(func (result v128) (f32x4.add_sat_u (v128.const f32x4 0 0 0 0) (v128.const f32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:591
+assert_malformed(
+ () => instantiate(`(func (result v128) (f32x4.sub_sat_s (v128.const f32x4 0 0 0 0) (v128.const f32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:594
+assert_malformed(
+ () => instantiate(`(func (result v128) (f32x4.sub_sat_u (v128.const f32x4 0 0 0 0) (v128.const f32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:599
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i8x16.add_sat_s (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:600
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i8x16.add_sat_u (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:601
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i8x16.sub_sat_s (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:602
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i8x16.sub_sat_u (i32.const 0) (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:606
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.add_sat_s-1st-arg-empty (result v128)
+ (i8x16.add_sat_s (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:614
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.add_sat_s-arg-empty (result v128)
+ (i8x16.add_sat_s)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:622
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.add_sat_u-1st-arg-empty (result v128)
+ (i8x16.add_sat_u (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:630
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.add_sat_u-arg-empty (result v128)
+ (i8x16.add_sat_u)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:638
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.sub_sat_s-1st-arg-empty (result v128)
+ (i8x16.sub_sat_s (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:646
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.sub_sat_s-arg-empty (result v128)
+ (i8x16.sub_sat_s)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:654
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.sub_sat_u-1st-arg-empty (result v128)
+ (i8x16.sub_sat_u (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:662
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.sub_sat_u-arg-empty (result v128)
+ (i8x16.sub_sat_u)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:672
+let $1 = instantiate(`(module
+ (func (export "sat-add_s-sub_s") (param v128 v128 v128) (result v128)
+ (i8x16.add_sat_s (i8x16.sub_sat_s (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "sat-add_s-sub_u") (param v128 v128 v128) (result v128)
+ (i8x16.add_sat_s (i8x16.sub_sat_u (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "sat-add_u-sub_s") (param v128 v128 v128) (result v128)
+ (i8x16.add_sat_u (i8x16.sub_sat_s (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "sat-add_u-sub_u") (param v128 v128 v128) (result v128)
+ (i8x16.add_sat_u (i8x16.sub_sat_u (local.get 0) (local.get 1))(local.get 2)))
+ (func (export "sat-add_s-neg") (param v128 v128) (result v128)
+ (i8x16.add_sat_s (i8x16.neg (local.get 0)) (local.get 1)))
+ (func (export "sat-add_u-neg") (param v128 v128) (result v128)
+ (i8x16.add_sat_u (i8x16.neg (local.get 0)) (local.get 1)))
+ (func (export "sat-sub_s-neg") (param v128 v128) (result v128)
+ (i8x16.sub_sat_s (i8x16.neg (local.get 0)) (local.get 1)))
+ (func (export "sat-sub_u-neg") (param v128 v128) (result v128)
+ (i8x16.sub_sat_u (i8x16.neg (local.get 0)) (local.get 1)))
+)`);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:691
+assert_return(
+ () => invoke($1, `sat-add_s-sub_s`, [
+ i8x16([0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40]),
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:695
+assert_return(
+ () => invoke($1, `sat-add_s-sub_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:699
+assert_return(
+ () => invoke($1, `sat-add_u-sub_s`, [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [
+ i8x16([0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:703
+assert_return(
+ () => invoke($1, `sat-add_u-sub_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:707
+assert_return(
+ () => invoke($1, `sat-add_s-neg`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:710
+assert_return(
+ () => invoke($1, `sat-add_u-neg`, [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:713
+assert_return(
+ () => invoke($1, `sat-sub_s-neg`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_i8x16_sat_arith.wast:716
+assert_return(
+ () => invoke($1, `sat-sub_u-neg`, [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/simd_int_to_int_extend.wast.js b/js/src/jit-test/tests/wasm/spec/spec/simd_int_to_int_extend.wast.js
new file mode 100644
index 0000000000..0f5a430e5a
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/simd_int_to_int_extend.wast.js
@@ -0,0 +1,2026 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_int_to_int_extend.wast
+
+// ./test/core/simd/simd_int_to_int_extend.wast:3
+let $0 = instantiate(`(module
+ (func (export "i16x8.extend_high_i8x16_s") (param v128) (result v128) (i16x8.extend_high_i8x16_s (local.get 0)))
+ (func (export "i16x8.extend_high_i8x16_u") (param v128) (result v128) (i16x8.extend_high_i8x16_u (local.get 0)))
+ (func (export "i16x8.extend_low_i8x16_s") (param v128) (result v128) (i16x8.extend_low_i8x16_s (local.get 0)))
+ (func (export "i16x8.extend_low_i8x16_u") (param v128) (result v128) (i16x8.extend_low_i8x16_u (local.get 0)))
+ (func (export "i32x4.extend_high_i16x8_s") (param v128) (result v128) (i32x4.extend_high_i16x8_s (local.get 0)))
+ (func (export "i32x4.extend_high_i16x8_u") (param v128) (result v128) (i32x4.extend_high_i16x8_u (local.get 0)))
+ (func (export "i32x4.extend_low_i16x8_s") (param v128) (result v128) (i32x4.extend_low_i16x8_s (local.get 0)))
+ (func (export "i32x4.extend_low_i16x8_u") (param v128) (result v128) (i32x4.extend_low_i16x8_u (local.get 0)))
+ (func (export "i64x2.extend_high_i32x4_s") (param v128) (result v128) (i64x2.extend_high_i32x4_s (local.get 0)))
+ (func (export "i64x2.extend_high_i32x4_u") (param v128) (result v128) (i64x2.extend_high_i32x4_u (local.get 0)))
+ (func (export "i64x2.extend_low_i32x4_s") (param v128) (result v128) (i64x2.extend_low_i32x4_s (local.get 0)))
+ (func (export "i64x2.extend_low_i32x4_u") (param v128) (result v128) (i64x2.extend_low_i32x4_u (local.get 0)))
+)`);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:18
+assert_return(
+ () => invoke($0, `i16x8.extend_high_i8x16_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:20
+assert_return(
+ () => invoke($0, `i16x8.extend_high_i8x16_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:22
+assert_return(
+ () => invoke($0, `i16x8.extend_high_i8x16_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:24
+assert_return(
+ () => invoke($0, `i16x8.extend_high_i8x16_s`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:26
+assert_return(
+ () => invoke($0, `i16x8.extend_high_i8x16_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:28
+assert_return(
+ () => invoke($0, `i16x8.extend_high_i8x16_s`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:30
+assert_return(
+ () => invoke($0, `i16x8.extend_high_i8x16_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:32
+assert_return(
+ () => invoke($0, `i16x8.extend_high_i8x16_s`, [
+ i8x16([0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [i16x8([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:34
+assert_return(
+ () => invoke($0, `i16x8.extend_high_i8x16_s`, [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e]),
+ ]),
+ [i16x8([0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:36
+assert_return(
+ () => invoke($0, `i16x8.extend_high_i8x16_s`, [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [i16x8([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:38
+assert_return(
+ () => invoke($0, `i16x8.extend_high_i8x16_s`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [i16x8([0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:40
+assert_return(
+ () => invoke($0, `i16x8.extend_high_i8x16_s`, [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [i16x8([0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:42
+assert_return(
+ () => invoke($0, `i16x8.extend_high_i8x16_s`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [i16x8([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:44
+assert_return(
+ () => invoke($0, `i16x8.extend_high_i8x16_s`, [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:46
+assert_return(
+ () => invoke($0, `i16x8.extend_high_i8x16_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [i16x8([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:48
+assert_return(
+ () => invoke($0, `i16x8.extend_high_i8x16_s`, [
+ i8x16([0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [i16x8([0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:50
+assert_return(
+ () => invoke($0, `i16x8.extend_high_i8x16_s`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81]),
+ ]),
+ [i16x8([0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:52
+assert_return(
+ () => invoke($0, `i16x8.extend_high_i8x16_s`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:54
+assert_return(
+ () => invoke($0, `i16x8.extend_high_i8x16_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [i16x8([0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:57
+assert_return(
+ () => invoke($0, `i16x8.extend_high_i8x16_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:59
+assert_return(
+ () => invoke($0, `i16x8.extend_high_i8x16_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:61
+assert_return(
+ () => invoke($0, `i16x8.extend_high_i8x16_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:63
+assert_return(
+ () => invoke($0, `i16x8.extend_high_i8x16_u`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:65
+assert_return(
+ () => invoke($0, `i16x8.extend_high_i8x16_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:67
+assert_return(
+ () => invoke($0, `i16x8.extend_high_i8x16_u`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:69
+assert_return(
+ () => invoke($0, `i16x8.extend_high_i8x16_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:71
+assert_return(
+ () => invoke($0, `i16x8.extend_high_i8x16_u`, [
+ i8x16([0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [i16x8([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:73
+assert_return(
+ () => invoke($0, `i16x8.extend_high_i8x16_u`, [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e]),
+ ]),
+ [i16x8([0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:75
+assert_return(
+ () => invoke($0, `i16x8.extend_high_i8x16_u`, [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [i16x8([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:77
+assert_return(
+ () => invoke($0, `i16x8.extend_high_i8x16_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:79
+assert_return(
+ () => invoke($0, `i16x8.extend_high_i8x16_u`, [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:81
+assert_return(
+ () => invoke($0, `i16x8.extend_high_i8x16_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [i16x8([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:83
+assert_return(
+ () => invoke($0, `i16x8.extend_high_i8x16_u`, [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:85
+assert_return(
+ () => invoke($0, `i16x8.extend_high_i8x16_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [i16x8([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:87
+assert_return(
+ () => invoke($0, `i16x8.extend_high_i8x16_u`, [
+ i8x16([0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:89
+assert_return(
+ () => invoke($0, `i16x8.extend_high_i8x16_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81]),
+ ]),
+ [i16x8([0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:91
+assert_return(
+ () => invoke($0, `i16x8.extend_high_i8x16_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:93
+assert_return(
+ () => invoke($0, `i16x8.extend_high_i8x16_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:96
+assert_return(
+ () => invoke($0, `i16x8.extend_low_i8x16_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:98
+assert_return(
+ () => invoke($0, `i16x8.extend_low_i8x16_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:100
+assert_return(
+ () => invoke($0, `i16x8.extend_low_i8x16_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:102
+assert_return(
+ () => invoke($0, `i16x8.extend_low_i8x16_s`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:104
+assert_return(
+ () => invoke($0, `i16x8.extend_low_i8x16_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:106
+assert_return(
+ () => invoke($0, `i16x8.extend_low_i8x16_s`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:108
+assert_return(
+ () => invoke($0, `i16x8.extend_low_i8x16_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:110
+assert_return(
+ () => invoke($0, `i16x8.extend_low_i8x16_s`, [
+ i8x16([0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [i16x8([0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:112
+assert_return(
+ () => invoke($0, `i16x8.extend_low_i8x16_s`, [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e]),
+ ]),
+ [i16x8([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:114
+assert_return(
+ () => invoke($0, `i16x8.extend_low_i8x16_s`, [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [i16x8([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:116
+assert_return(
+ () => invoke($0, `i16x8.extend_low_i8x16_s`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [i16x8([0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:118
+assert_return(
+ () => invoke($0, `i16x8.extend_low_i8x16_s`, [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [i16x8([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:120
+assert_return(
+ () => invoke($0, `i16x8.extend_low_i8x16_s`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [i16x8([0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:122
+assert_return(
+ () => invoke($0, `i16x8.extend_low_i8x16_s`, [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:124
+assert_return(
+ () => invoke($0, `i16x8.extend_low_i8x16_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:126
+assert_return(
+ () => invoke($0, `i16x8.extend_low_i8x16_s`, [
+ i8x16([0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [i16x8([0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:128
+assert_return(
+ () => invoke($0, `i16x8.extend_low_i8x16_s`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81]),
+ ]),
+ [i16x8([0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:130
+assert_return(
+ () => invoke($0, `i16x8.extend_low_i8x16_s`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:132
+assert_return(
+ () => invoke($0, `i16x8.extend_low_i8x16_s`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:135
+assert_return(
+ () => invoke($0, `i16x8.extend_low_i8x16_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:137
+assert_return(
+ () => invoke($0, `i16x8.extend_low_i8x16_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:139
+assert_return(
+ () => invoke($0, `i16x8.extend_low_i8x16_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:141
+assert_return(
+ () => invoke($0, `i16x8.extend_low_i8x16_u`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:143
+assert_return(
+ () => invoke($0, `i16x8.extend_low_i8x16_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:145
+assert_return(
+ () => invoke($0, `i16x8.extend_low_i8x16_u`, [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:147
+assert_return(
+ () => invoke($0, `i16x8.extend_low_i8x16_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i16x8([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:149
+assert_return(
+ () => invoke($0, `i16x8.extend_low_i8x16_u`, [
+ i8x16([0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [i16x8([0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:151
+assert_return(
+ () => invoke($0, `i16x8.extend_low_i8x16_u`, [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e]),
+ ]),
+ [i16x8([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:153
+assert_return(
+ () => invoke($0, `i16x8.extend_low_i8x16_u`, [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [i16x8([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:155
+assert_return(
+ () => invoke($0, `i16x8.extend_low_i8x16_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:157
+assert_return(
+ () => invoke($0, `i16x8.extend_low_i8x16_u`, [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [i16x8([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:159
+assert_return(
+ () => invoke($0, `i16x8.extend_low_i8x16_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:161
+assert_return(
+ () => invoke($0, `i16x8.extend_low_i8x16_u`, [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:163
+assert_return(
+ () => invoke($0, `i16x8.extend_low_i8x16_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ]),
+ [i16x8([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:165
+assert_return(
+ () => invoke($0, `i16x8.extend_low_i8x16_u`, [
+ i8x16([0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [i16x8([0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:167
+assert_return(
+ () => invoke($0, `i16x8.extend_low_i8x16_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81]),
+ ]),
+ [i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:169
+assert_return(
+ () => invoke($0, `i16x8.extend_low_i8x16_u`, [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:171
+assert_return(
+ () => invoke($0, `i16x8.extend_low_i8x16_u`, [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ]),
+ [i16x8([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:174
+assert_return(
+ () => invoke($0, `i32x4.extend_high_i16x8_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:176
+assert_return(
+ () => invoke($0, `i32x4.extend_high_i16x8_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:178
+assert_return(
+ () => invoke($0, `i32x4.extend_high_i16x8_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:180
+assert_return(
+ () => invoke($0, `i32x4.extend_high_i16x8_s`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:182
+assert_return(
+ () => invoke($0, `i32x4.extend_high_i16x8_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:184
+assert_return(
+ () => invoke($0, `i32x4.extend_high_i16x8_s`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:186
+assert_return(
+ () => invoke($0, `i32x4.extend_high_i16x8_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:188
+assert_return(
+ () => invoke($0, `i32x4.extend_high_i16x8_s`, [
+ i16x8([0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i32x4([0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:190
+assert_return(
+ () => invoke($0, `i32x4.extend_high_i16x8_s`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe]),
+ ]),
+ [i32x4([0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:192
+assert_return(
+ () => invoke($0, `i32x4.extend_high_i16x8_s`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i32x4([0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:194
+assert_return(
+ () => invoke($0, `i32x4.extend_high_i16x8_s`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i32x4([0xffff8000, 0xffff8000, 0xffff8000, 0xffff8000])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:196
+assert_return(
+ () => invoke($0, `i32x4.extend_high_i16x8_s`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i32x4([0xffff8000, 0xffff8000, 0xffff8000, 0xffff8000])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:198
+assert_return(
+ () => invoke($0, `i32x4.extend_high_i16x8_s`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i32x4([0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:200
+assert_return(
+ () => invoke($0, `i32x4.extend_high_i16x8_s`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:202
+assert_return(
+ () => invoke($0, `i32x4.extend_high_i16x8_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i32x4([0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:204
+assert_return(
+ () => invoke($0, `i32x4.extend_high_i16x8_s`, [
+ i16x8([0x8001, 0x8001, 0x8001, 0x8001, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i32x4([0xffff8000, 0xffff8000, 0xffff8000, 0xffff8000])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:206
+assert_return(
+ () => invoke($0, `i32x4.extend_high_i16x8_s`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8001, 0x8001, 0x8001, 0x8001]),
+ ]),
+ [i32x4([0xffff8001, 0xffff8001, 0xffff8001, 0xffff8001])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:208
+assert_return(
+ () => invoke($0, `i32x4.extend_high_i16x8_s`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:210
+assert_return(
+ () => invoke($0, `i32x4.extend_high_i16x8_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i32x4([0xffff8000, 0xffff8000, 0xffff8000, 0xffff8000])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:213
+assert_return(
+ () => invoke($0, `i32x4.extend_high_i16x8_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:215
+assert_return(
+ () => invoke($0, `i32x4.extend_high_i16x8_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:217
+assert_return(
+ () => invoke($0, `i32x4.extend_high_i16x8_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:219
+assert_return(
+ () => invoke($0, `i32x4.extend_high_i16x8_u`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:221
+assert_return(
+ () => invoke($0, `i32x4.extend_high_i16x8_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:223
+assert_return(
+ () => invoke($0, `i32x4.extend_high_i16x8_u`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:225
+assert_return(
+ () => invoke($0, `i32x4.extend_high_i16x8_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:227
+assert_return(
+ () => invoke($0, `i32x4.extend_high_i16x8_u`, [
+ i16x8([0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i32x4([0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:229
+assert_return(
+ () => invoke($0, `i32x4.extend_high_i16x8_u`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe]),
+ ]),
+ [i32x4([0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:231
+assert_return(
+ () => invoke($0, `i32x4.extend_high_i16x8_u`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i32x4([0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:233
+assert_return(
+ () => invoke($0, `i32x4.extend_high_i16x8_u`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i32x4([0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:235
+assert_return(
+ () => invoke($0, `i32x4.extend_high_i16x8_u`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i32x4([0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:237
+assert_return(
+ () => invoke($0, `i32x4.extend_high_i16x8_u`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i32x4([0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:239
+assert_return(
+ () => invoke($0, `i32x4.extend_high_i16x8_u`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:241
+assert_return(
+ () => invoke($0, `i32x4.extend_high_i16x8_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i32x4([0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:243
+assert_return(
+ () => invoke($0, `i32x4.extend_high_i16x8_u`, [
+ i16x8([0x8001, 0x8001, 0x8001, 0x8001, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i32x4([0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:245
+assert_return(
+ () => invoke($0, `i32x4.extend_high_i16x8_u`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8001, 0x8001, 0x8001, 0x8001]),
+ ]),
+ [i32x4([0x8001, 0x8001, 0x8001, 0x8001])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:247
+assert_return(
+ () => invoke($0, `i32x4.extend_high_i16x8_u`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:249
+assert_return(
+ () => invoke($0, `i32x4.extend_high_i16x8_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i32x4([0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:252
+assert_return(
+ () => invoke($0, `i32x4.extend_low_i16x8_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:254
+assert_return(
+ () => invoke($0, `i32x4.extend_low_i16x8_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:256
+assert_return(
+ () => invoke($0, `i32x4.extend_low_i16x8_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:258
+assert_return(
+ () => invoke($0, `i32x4.extend_low_i16x8_s`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:260
+assert_return(
+ () => invoke($0, `i32x4.extend_low_i16x8_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:262
+assert_return(
+ () => invoke($0, `i32x4.extend_low_i16x8_s`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:264
+assert_return(
+ () => invoke($0, `i32x4.extend_low_i16x8_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:266
+assert_return(
+ () => invoke($0, `i32x4.extend_low_i16x8_s`, [
+ i16x8([0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i32x4([0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:268
+assert_return(
+ () => invoke($0, `i32x4.extend_low_i16x8_s`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe]),
+ ]),
+ [i32x4([0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:270
+assert_return(
+ () => invoke($0, `i32x4.extend_low_i16x8_s`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i32x4([0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:272
+assert_return(
+ () => invoke($0, `i32x4.extend_low_i16x8_s`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i32x4([0xffff8000, 0xffff8000, 0xffff8000, 0xffff8000])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:274
+assert_return(
+ () => invoke($0, `i32x4.extend_low_i16x8_s`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i32x4([0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:276
+assert_return(
+ () => invoke($0, `i32x4.extend_low_i16x8_s`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i32x4([0xffff8000, 0xffff8000, 0xffff8000, 0xffff8000])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:278
+assert_return(
+ () => invoke($0, `i32x4.extend_low_i16x8_s`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:280
+assert_return(
+ () => invoke($0, `i32x4.extend_low_i16x8_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:282
+assert_return(
+ () => invoke($0, `i32x4.extend_low_i16x8_s`, [
+ i16x8([0x8001, 0x8001, 0x8001, 0x8001, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i32x4([0xffff8001, 0xffff8001, 0xffff8001, 0xffff8001])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:284
+assert_return(
+ () => invoke($0, `i32x4.extend_low_i16x8_s`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8001, 0x8001, 0x8001, 0x8001]),
+ ]),
+ [i32x4([0xffff8000, 0xffff8000, 0xffff8000, 0xffff8000])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:286
+assert_return(
+ () => invoke($0, `i32x4.extend_low_i16x8_s`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0xffff8000, 0xffff8000, 0xffff8000, 0xffff8000])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:288
+assert_return(
+ () => invoke($0, `i32x4.extend_low_i16x8_s`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:291
+assert_return(
+ () => invoke($0, `i32x4.extend_low_i16x8_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:293
+assert_return(
+ () => invoke($0, `i32x4.extend_low_i16x8_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:295
+assert_return(
+ () => invoke($0, `i32x4.extend_low_i16x8_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:297
+assert_return(
+ () => invoke($0, `i32x4.extend_low_i16x8_u`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:299
+assert_return(
+ () => invoke($0, `i32x4.extend_low_i16x8_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i32x4([0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:301
+assert_return(
+ () => invoke($0, `i32x4.extend_low_i16x8_u`, [
+ i16x8([0x1, 0x1, 0x1, 0x1, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:303
+assert_return(
+ () => invoke($0, `i32x4.extend_low_i16x8_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x1, 0x1, 0x1, 0x1]),
+ ]),
+ [i32x4([0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:305
+assert_return(
+ () => invoke($0, `i32x4.extend_low_i16x8_u`, [
+ i16x8([0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i32x4([0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:307
+assert_return(
+ () => invoke($0, `i32x4.extend_low_i16x8_u`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe]),
+ ]),
+ [i32x4([0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:309
+assert_return(
+ () => invoke($0, `i32x4.extend_low_i16x8_u`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i32x4([0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:311
+assert_return(
+ () => invoke($0, `i32x4.extend_low_i16x8_u`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i32x4([0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:313
+assert_return(
+ () => invoke($0, `i32x4.extend_low_i16x8_u`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i32x4([0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:315
+assert_return(
+ () => invoke($0, `i32x4.extend_low_i16x8_u`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i32x4([0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:317
+assert_return(
+ () => invoke($0, `i32x4.extend_low_i16x8_u`, [
+ i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:319
+assert_return(
+ () => invoke($0, `i32x4.extend_low_i16x8_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x7fff, 0x7fff, 0x7fff, 0x7fff]),
+ ]),
+ [i32x4([0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:321
+assert_return(
+ () => invoke($0, `i32x4.extend_low_i16x8_u`, [
+ i16x8([0x8001, 0x8001, 0x8001, 0x8001, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i32x4([0x8001, 0x8001, 0x8001, 0x8001])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:323
+assert_return(
+ () => invoke($0, `i32x4.extend_low_i16x8_u`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8001, 0x8001, 0x8001, 0x8001]),
+ ]),
+ [i32x4([0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:325
+assert_return(
+ () => invoke($0, `i32x4.extend_low_i16x8_u`, [
+ i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i32x4([0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:327
+assert_return(
+ () => invoke($0, `i32x4.extend_low_i16x8_u`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x8000, 0x8000, 0x8000, 0x8000]),
+ ]),
+ [i32x4([0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:330
+assert_return(
+ () => invoke($0, `i64x2.extend_high_i32x4_s`, [i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:332
+assert_return(
+ () => invoke($0, `i64x2.extend_high_i32x4_s`, [i32x4([0x0, 0x0, 0x1, 0x1])]),
+ [i64x2([0x1n, 0x1n])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:334
+assert_return(
+ () => invoke($0, `i64x2.extend_high_i32x4_s`, [
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:336
+assert_return(
+ () => invoke($0, `i64x2.extend_high_i32x4_s`, [i32x4([0x1, 0x1, 0x0, 0x0])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:338
+assert_return(
+ () => invoke($0, `i64x2.extend_high_i32x4_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:340
+assert_return(
+ () => invoke($0, `i64x2.extend_high_i32x4_s`, [
+ i32x4([0x1, 0x1, 0xffffffff, 0xffffffff]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:342
+assert_return(
+ () => invoke($0, `i64x2.extend_high_i32x4_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0x1, 0x1]),
+ ]),
+ [i64x2([0x1n, 0x1n])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:344
+assert_return(
+ () => invoke($0, `i64x2.extend_high_i32x4_s`, [
+ i32x4([0x7ffffffe, 0x7ffffffe, 0x7fffffff, 0x7fffffff]),
+ ]),
+ [i64x2([0x7fffffffn, 0x7fffffffn])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:346
+assert_return(
+ () => invoke($0, `i64x2.extend_high_i32x4_s`, [
+ i32x4([0x7fffffff, 0x7fffffff, 0x7ffffffe, 0x7ffffffe]),
+ ]),
+ [i64x2([0x7ffffffen, 0x7ffffffen])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:348
+assert_return(
+ () => invoke($0, `i64x2.extend_high_i32x4_s`, [
+ i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff]),
+ ]),
+ [i64x2([0x7fffffffn, 0x7fffffffn])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:350
+assert_return(
+ () => invoke($0, `i64x2.extend_high_i32x4_s`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ ]),
+ [i64x2([0xffffffff80000000n, 0xffffffff80000000n])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:352
+assert_return(
+ () => invoke($0, `i64x2.extend_high_i32x4_s`, [
+ i32x4([0x7fffffff, 0x7fffffff, 0x80000000, 0x80000000]),
+ ]),
+ [i64x2([0xffffffff80000000n, 0xffffffff80000000n])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:354
+assert_return(
+ () => invoke($0, `i64x2.extend_high_i32x4_s`, [
+ i32x4([0x80000000, 0x80000000, 0x7fffffff, 0x7fffffff]),
+ ]),
+ [i64x2([0x7fffffffn, 0x7fffffffn])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:356
+assert_return(
+ () => invoke($0, `i64x2.extend_high_i32x4_s`, [
+ i32x4([0x7fffffff, 0x7fffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:358
+assert_return(
+ () => invoke($0, `i64x2.extend_high_i32x4_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0x7fffffff, 0x7fffffff]),
+ ]),
+ [i64x2([0x7fffffffn, 0x7fffffffn])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:360
+assert_return(
+ () => invoke($0, `i64x2.extend_high_i32x4_s`, [
+ i32x4([0x80000001, 0x80000001, 0x80000000, 0x80000000]),
+ ]),
+ [i64x2([0xffffffff80000000n, 0xffffffff80000000n])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:362
+assert_return(
+ () => invoke($0, `i64x2.extend_high_i32x4_s`, [
+ i32x4([0x80000000, 0x80000000, 0x80000001, 0x80000001]),
+ ]),
+ [i64x2([0xffffffff80000001n, 0xffffffff80000001n])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:364
+assert_return(
+ () => invoke($0, `i64x2.extend_high_i32x4_s`, [
+ i32x4([0x80000000, 0x80000000, 0xffffffff, 0xffffffff]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:366
+assert_return(
+ () => invoke($0, `i64x2.extend_high_i32x4_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0x80000000, 0x80000000]),
+ ]),
+ [i64x2([0xffffffff80000000n, 0xffffffff80000000n])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:369
+assert_return(
+ () => invoke($0, `i64x2.extend_high_i32x4_u`, [i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:371
+assert_return(
+ () => invoke($0, `i64x2.extend_high_i32x4_u`, [i32x4([0x0, 0x0, 0x1, 0x1])]),
+ [i64x2([0x1n, 0x1n])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:373
+assert_return(
+ () => invoke($0, `i64x2.extend_high_i32x4_u`, [
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ ]),
+ [i64x2([0xffffffffn, 0xffffffffn])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:375
+assert_return(
+ () => invoke($0, `i64x2.extend_high_i32x4_u`, [i32x4([0x1, 0x1, 0x0, 0x0])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:377
+assert_return(
+ () => invoke($0, `i64x2.extend_high_i32x4_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:379
+assert_return(
+ () => invoke($0, `i64x2.extend_high_i32x4_u`, [
+ i32x4([0x1, 0x1, 0xffffffff, 0xffffffff]),
+ ]),
+ [i64x2([0xffffffffn, 0xffffffffn])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:381
+assert_return(
+ () => invoke($0, `i64x2.extend_high_i32x4_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0x1, 0x1]),
+ ]),
+ [i64x2([0x1n, 0x1n])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:383
+assert_return(
+ () => invoke($0, `i64x2.extend_high_i32x4_u`, [
+ i32x4([0x7ffffffe, 0x7ffffffe, 0x7fffffff, 0x7fffffff]),
+ ]),
+ [i64x2([0x7fffffffn, 0x7fffffffn])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:385
+assert_return(
+ () => invoke($0, `i64x2.extend_high_i32x4_u`, [
+ i32x4([0x7fffffff, 0x7fffffff, 0x7ffffffe, 0x7ffffffe]),
+ ]),
+ [i64x2([0x7ffffffen, 0x7ffffffen])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:387
+assert_return(
+ () => invoke($0, `i64x2.extend_high_i32x4_u`, [
+ i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff]),
+ ]),
+ [i64x2([0x7fffffffn, 0x7fffffffn])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:389
+assert_return(
+ () => invoke($0, `i64x2.extend_high_i32x4_u`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ ]),
+ [i64x2([0x80000000n, 0x80000000n])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:391
+assert_return(
+ () => invoke($0, `i64x2.extend_high_i32x4_u`, [
+ i32x4([0x7fffffff, 0x7fffffff, 0x80000000, 0x80000000]),
+ ]),
+ [i64x2([0x80000000n, 0x80000000n])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:393
+assert_return(
+ () => invoke($0, `i64x2.extend_high_i32x4_u`, [
+ i32x4([0x80000000, 0x80000000, 0x7fffffff, 0x7fffffff]),
+ ]),
+ [i64x2([0x7fffffffn, 0x7fffffffn])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:395
+assert_return(
+ () => invoke($0, `i64x2.extend_high_i32x4_u`, [
+ i32x4([0x7fffffff, 0x7fffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i64x2([0xffffffffn, 0xffffffffn])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:397
+assert_return(
+ () => invoke($0, `i64x2.extend_high_i32x4_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0x7fffffff, 0x7fffffff]),
+ ]),
+ [i64x2([0x7fffffffn, 0x7fffffffn])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:399
+assert_return(
+ () => invoke($0, `i64x2.extend_high_i32x4_u`, [
+ i32x4([0x80000001, 0x80000001, 0x80000000, 0x80000000]),
+ ]),
+ [i64x2([0x80000000n, 0x80000000n])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:401
+assert_return(
+ () => invoke($0, `i64x2.extend_high_i32x4_u`, [
+ i32x4([0x80000000, 0x80000000, 0x80000001, 0x80000001]),
+ ]),
+ [i64x2([0x80000001n, 0x80000001n])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:403
+assert_return(
+ () => invoke($0, `i64x2.extend_high_i32x4_u`, [
+ i32x4([0x80000000, 0x80000000, 0xffffffff, 0xffffffff]),
+ ]),
+ [i64x2([0xffffffffn, 0xffffffffn])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:405
+assert_return(
+ () => invoke($0, `i64x2.extend_high_i32x4_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0x80000000, 0x80000000]),
+ ]),
+ [i64x2([0x80000000n, 0x80000000n])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:408
+assert_return(
+ () => invoke($0, `i64x2.extend_low_i32x4_s`, [i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:410
+assert_return(
+ () => invoke($0, `i64x2.extend_low_i32x4_s`, [i32x4([0x0, 0x0, 0x1, 0x1])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:412
+assert_return(
+ () => invoke($0, `i64x2.extend_low_i32x4_s`, [
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:414
+assert_return(
+ () => invoke($0, `i64x2.extend_low_i32x4_s`, [i32x4([0x1, 0x1, 0x0, 0x0])]),
+ [i64x2([0x1n, 0x1n])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:416
+assert_return(
+ () => invoke($0, `i64x2.extend_low_i32x4_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:418
+assert_return(
+ () => invoke($0, `i64x2.extend_low_i32x4_s`, [
+ i32x4([0x1, 0x1, 0xffffffff, 0xffffffff]),
+ ]),
+ [i64x2([0x1n, 0x1n])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:420
+assert_return(
+ () => invoke($0, `i64x2.extend_low_i32x4_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0x1, 0x1]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:422
+assert_return(
+ () => invoke($0, `i64x2.extend_low_i32x4_s`, [
+ i32x4([0x7ffffffe, 0x7ffffffe, 0x7fffffff, 0x7fffffff]),
+ ]),
+ [i64x2([0x7ffffffen, 0x7ffffffen])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:424
+assert_return(
+ () => invoke($0, `i64x2.extend_low_i32x4_s`, [
+ i32x4([0x7fffffff, 0x7fffffff, 0x7ffffffe, 0x7ffffffe]),
+ ]),
+ [i64x2([0x7fffffffn, 0x7fffffffn])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:426
+assert_return(
+ () => invoke($0, `i64x2.extend_low_i32x4_s`, [
+ i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff]),
+ ]),
+ [i64x2([0x7fffffffn, 0x7fffffffn])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:428
+assert_return(
+ () => invoke($0, `i64x2.extend_low_i32x4_s`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ ]),
+ [i64x2([0xffffffff80000000n, 0xffffffff80000000n])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:430
+assert_return(
+ () => invoke($0, `i64x2.extend_low_i32x4_s`, [
+ i32x4([0x7fffffff, 0x7fffffff, 0x80000000, 0x80000000]),
+ ]),
+ [i64x2([0x7fffffffn, 0x7fffffffn])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:432
+assert_return(
+ () => invoke($0, `i64x2.extend_low_i32x4_s`, [
+ i32x4([0x80000000, 0x80000000, 0x7fffffff, 0x7fffffff]),
+ ]),
+ [i64x2([0xffffffff80000000n, 0xffffffff80000000n])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:434
+assert_return(
+ () => invoke($0, `i64x2.extend_low_i32x4_s`, [
+ i32x4([0x7fffffff, 0x7fffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i64x2([0x7fffffffn, 0x7fffffffn])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:436
+assert_return(
+ () => invoke($0, `i64x2.extend_low_i32x4_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0x7fffffff, 0x7fffffff]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:438
+assert_return(
+ () => invoke($0, `i64x2.extend_low_i32x4_s`, [
+ i32x4([0x80000001, 0x80000001, 0x80000000, 0x80000000]),
+ ]),
+ [i64x2([0xffffffff80000001n, 0xffffffff80000001n])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:440
+assert_return(
+ () => invoke($0, `i64x2.extend_low_i32x4_s`, [
+ i32x4([0x80000000, 0x80000000, 0x80000001, 0x80000001]),
+ ]),
+ [i64x2([0xffffffff80000000n, 0xffffffff80000000n])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:442
+assert_return(
+ () => invoke($0, `i64x2.extend_low_i32x4_s`, [
+ i32x4([0x80000000, 0x80000000, 0xffffffff, 0xffffffff]),
+ ]),
+ [i64x2([0xffffffff80000000n, 0xffffffff80000000n])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:444
+assert_return(
+ () => invoke($0, `i64x2.extend_low_i32x4_s`, [
+ i32x4([0xffffffff, 0xffffffff, 0x80000000, 0x80000000]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:447
+assert_return(
+ () => invoke($0, `i64x2.extend_low_i32x4_u`, [i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:449
+assert_return(
+ () => invoke($0, `i64x2.extend_low_i32x4_u`, [i32x4([0x0, 0x0, 0x1, 0x1])]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:451
+assert_return(
+ () => invoke($0, `i64x2.extend_low_i32x4_u`, [
+ i32x4([0x0, 0x0, 0xffffffff, 0xffffffff]),
+ ]),
+ [i64x2([0x0n, 0x0n])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:453
+assert_return(
+ () => invoke($0, `i64x2.extend_low_i32x4_u`, [i32x4([0x1, 0x1, 0x0, 0x0])]),
+ [i64x2([0x1n, 0x1n])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:455
+assert_return(
+ () => invoke($0, `i64x2.extend_low_i32x4_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]),
+ ]),
+ [i64x2([0xffffffffn, 0xffffffffn])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:457
+assert_return(
+ () => invoke($0, `i64x2.extend_low_i32x4_u`, [
+ i32x4([0x1, 0x1, 0xffffffff, 0xffffffff]),
+ ]),
+ [i64x2([0x1n, 0x1n])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:459
+assert_return(
+ () => invoke($0, `i64x2.extend_low_i32x4_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0x1, 0x1]),
+ ]),
+ [i64x2([0xffffffffn, 0xffffffffn])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:461
+assert_return(
+ () => invoke($0, `i64x2.extend_low_i32x4_u`, [
+ i32x4([0x7ffffffe, 0x7ffffffe, 0x7fffffff, 0x7fffffff]),
+ ]),
+ [i64x2([0x7ffffffen, 0x7ffffffen])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:463
+assert_return(
+ () => invoke($0, `i64x2.extend_low_i32x4_u`, [
+ i32x4([0x7fffffff, 0x7fffffff, 0x7ffffffe, 0x7ffffffe]),
+ ]),
+ [i64x2([0x7fffffffn, 0x7fffffffn])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:465
+assert_return(
+ () => invoke($0, `i64x2.extend_low_i32x4_u`, [
+ i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff]),
+ ]),
+ [i64x2([0x7fffffffn, 0x7fffffffn])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:467
+assert_return(
+ () => invoke($0, `i64x2.extend_low_i32x4_u`, [
+ i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]),
+ ]),
+ [i64x2([0x80000000n, 0x80000000n])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:469
+assert_return(
+ () => invoke($0, `i64x2.extend_low_i32x4_u`, [
+ i32x4([0x7fffffff, 0x7fffffff, 0x80000000, 0x80000000]),
+ ]),
+ [i64x2([0x7fffffffn, 0x7fffffffn])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:471
+assert_return(
+ () => invoke($0, `i64x2.extend_low_i32x4_u`, [
+ i32x4([0x80000000, 0x80000000, 0x7fffffff, 0x7fffffff]),
+ ]),
+ [i64x2([0x80000000n, 0x80000000n])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:473
+assert_return(
+ () => invoke($0, `i64x2.extend_low_i32x4_u`, [
+ i32x4([0x7fffffff, 0x7fffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i64x2([0x7fffffffn, 0x7fffffffn])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:475
+assert_return(
+ () => invoke($0, `i64x2.extend_low_i32x4_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0x7fffffff, 0x7fffffff]),
+ ]),
+ [i64x2([0xffffffffn, 0xffffffffn])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:477
+assert_return(
+ () => invoke($0, `i64x2.extend_low_i32x4_u`, [
+ i32x4([0x80000001, 0x80000001, 0x80000000, 0x80000000]),
+ ]),
+ [i64x2([0x80000001n, 0x80000001n])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:479
+assert_return(
+ () => invoke($0, `i64x2.extend_low_i32x4_u`, [
+ i32x4([0x80000000, 0x80000000, 0x80000001, 0x80000001]),
+ ]),
+ [i64x2([0x80000000n, 0x80000000n])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:481
+assert_return(
+ () => invoke($0, `i64x2.extend_low_i32x4_u`, [
+ i32x4([0x80000000, 0x80000000, 0xffffffff, 0xffffffff]),
+ ]),
+ [i64x2([0x80000000n, 0x80000000n])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:483
+assert_return(
+ () => invoke($0, `i64x2.extend_low_i32x4_u`, [
+ i32x4([0xffffffff, 0xffffffff, 0x80000000, 0x80000000]),
+ ]),
+ [i64x2([0xffffffffn, 0xffffffffn])],
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:488
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i16x8.extend_high_i8x16_s (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:489
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i16x8.extend_high_i8x16_u (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:490
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i16x8.extend_low_i8x16_s (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:491
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i16x8.extend_low_i8x16_u (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:492
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i32x4.extend_high_i16x8_s (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:493
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i32x4.extend_high_i16x8_u (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:494
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i32x4.extend_low_i16x8_s (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:495
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i32x4.extend_low_i16x8_u (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:496
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i64x2.extend_high_i32x4_s (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:497
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i64x2.extend_high_i32x4_u (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:498
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i64x2.extend_low_i32x4_s (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:499
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i64x2.extend_low_i32x4_u (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:503
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.extend_high_i8x16_s-arg-empty (result v128)
+ (i16x8.extend_high_i8x16_s)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:511
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.extend_high_i8x16_u-arg-empty (result v128)
+ (i16x8.extend_high_i8x16_u)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:519
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.extend_low_i8x16_s-arg-empty (result v128)
+ (i16x8.extend_low_i8x16_s)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:527
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.extend_low_i8x16_u-arg-empty (result v128)
+ (i16x8.extend_low_i8x16_u)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:535
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.extend_high_i16x8_s-arg-empty (result v128)
+ (i32x4.extend_high_i16x8_s)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:543
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.extend_high_i16x8_u-arg-empty (result v128)
+ (i32x4.extend_high_i16x8_u)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:551
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.extend_low_i16x8_s-arg-empty (result v128)
+ (i32x4.extend_low_i16x8_s)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:559
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.extend_low_i16x8_u-arg-empty (result v128)
+ (i32x4.extend_low_i16x8_u)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:567
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i64x2.extend_high_i32x4_s-arg-empty (result v128)
+ (i64x2.extend_high_i32x4_s)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:575
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i64x2.extend_high_i32x4_u-arg-empty (result v128)
+ (i64x2.extend_high_i32x4_u)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:583
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i64x2.extend_low_i32x4_s-arg-empty (result v128)
+ (i64x2.extend_low_i32x4_s)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_int_to_int_extend.wast:591
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i64x2.extend_low_i32x4_u-arg-empty (result v128)
+ (i64x2.extend_low_i32x4_u)
+ )
+ )`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/simd_lane.wast.js b/js/src/jit-test/tests/wasm/spec/spec/simd_lane.wast.js
new file mode 100644
index 0000000000..614e722fb7
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/simd_lane.wast.js
@@ -0,0 +1,4349 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_lane.wast
+
+// ./test/core/simd/simd_lane.wast:4
+let $0 = instantiate(`(module
+ (func (export "i8x16_extract_lane_s-first") (param v128) (result i32)
+ (i8x16.extract_lane_s 0 (local.get 0)))
+ (func (export "i8x16_extract_lane_s-last") (param v128) (result i32)
+ (i8x16.extract_lane_s 15 (local.get 0)))
+ (func (export "i8x16_extract_lane_u-first") (param v128) (result i32)
+ (i8x16.extract_lane_u 0 (local.get 0)))
+ (func (export "i8x16_extract_lane_u-last") (param v128) (result i32)
+ (i8x16.extract_lane_u 15 (local.get 0)))
+ (func (export "i16x8_extract_lane_s-first") (param v128) (result i32)
+ (i16x8.extract_lane_s 0 (local.get 0)))
+ (func (export "i16x8_extract_lane_s-last") (param v128) (result i32)
+ (i16x8.extract_lane_s 7 (local.get 0)))
+ (func (export "i16x8_extract_lane_u-first") (param v128) (result i32)
+ (i16x8.extract_lane_u 0 (local.get 0)))
+ (func (export "i16x8_extract_lane_u-last") (param v128) (result i32)
+ (i16x8.extract_lane_u 7 (local.get 0)))
+ (func (export "i32x4_extract_lane-first") (param v128) (result i32)
+ (i32x4.extract_lane 0 (local.get 0)))
+ (func (export "i32x4_extract_lane-last") (param v128) (result i32)
+ (i32x4.extract_lane 3 (local.get 0)))
+ (func (export "f32x4_extract_lane-first") (param v128) (result f32)
+ (f32x4.extract_lane 0 (local.get 0)))
+ (func (export "f32x4_extract_lane-last") (param v128) (result f32)
+ (f32x4.extract_lane 3 (local.get 0)))
+ (func (export "i8x16_replace_lane-first") (param v128 i32) (result v128)
+ (i8x16.replace_lane 0 (local.get 0) (local.get 1)))
+ (func (export "i8x16_replace_lane-last") (param v128 i32) (result v128)
+ (i8x16.replace_lane 15 (local.get 0) (local.get 1)))
+ (func (export "i16x8_replace_lane-first") (param v128 i32) (result v128)
+ (i16x8.replace_lane 0 (local.get 0) (local.get 1)))
+ (func (export "i16x8_replace_lane-last") (param v128 i32) (result v128)
+ (i16x8.replace_lane 7 (local.get 0) (local.get 1)))
+ (func (export "i32x4_replace_lane-first") (param v128 i32) (result v128)
+ (i32x4.replace_lane 0 (local.get 0) (local.get 1)))
+ (func (export "i32x4_replace_lane-last") (param v128 i32) (result v128)
+ (i32x4.replace_lane 3 (local.get 0) (local.get 1)))
+ (func (export "f32x4_replace_lane-first") (param v128 f32) (result v128)
+ (f32x4.replace_lane 0 (local.get 0) (local.get 1)))
+ (func (export "f32x4_replace_lane-last") (param v128 f32) (result v128)
+ (f32x4.replace_lane 3 (local.get 0) (local.get 1)))
+ (func (export "i64x2_extract_lane-first") (param v128) (result i64)
+ (i64x2.extract_lane 0 (local.get 0)))
+ (func (export "i64x2_extract_lane-last") (param v128) (result i64)
+ (i64x2.extract_lane 1 (local.get 0)))
+ (func (export "f64x2_extract_lane-first") (param v128) (result f64)
+ (f64x2.extract_lane 0 (local.get 0)))
+ (func (export "f64x2_extract_lane-last") (param v128) (result f64)
+ (f64x2.extract_lane 1 (local.get 0)))
+ (func (export "i64x2_replace_lane-first") (param v128 i64) (result v128)
+ (i64x2.replace_lane 0 (local.get 0) (local.get 1)))
+ (func (export "i64x2_replace_lane-last") (param v128 i64) (result v128)
+ (i64x2.replace_lane 1 (local.get 0) (local.get 1)))
+ (func (export "f64x2_replace_lane-first") (param v128 f64) (result v128)
+ (f64x2.replace_lane 0 (local.get 0) (local.get 1)))
+ (func (export "f64x2_replace_lane-last") (param v128 f64) (result v128)
+ (f64x2.replace_lane 1 (local.get 0) (local.get 1)))
+
+ ;; Swizzle and shuffle
+ (func (export "v8x16_swizzle") (param v128 v128) (result v128)
+ (i8x16.swizzle (local.get 0) (local.get 1)))
+ (func (export "v8x16_shuffle-1") (param v128 v128) (result v128)
+ (i8x16.shuffle 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 (local.get 0) (local.get 1)))
+ (func (export "v8x16_shuffle-2") (param v128 v128) (result v128)
+ (i8x16.shuffle 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 (local.get 0) (local.get 1)))
+ (func (export "v8x16_shuffle-3") (param v128 v128) (result v128)
+ (i8x16.shuffle 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 (local.get 0) (local.get 1)))
+ (func (export "v8x16_shuffle-4") (param v128 v128) (result v128)
+ (i8x16.shuffle 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 (local.get 0) (local.get 1)))
+ (func (export "v8x16_shuffle-5") (param v128 v128) (result v128)
+ (i8x16.shuffle 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (local.get 0) (local.get 1)))
+ (func (export "v8x16_shuffle-6") (param v128 v128) (result v128)
+ (i8x16.shuffle 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 (local.get 0) (local.get 1)))
+ (func (export "v8x16_shuffle-7") (param v128 v128) (result v128)
+ (i8x16.shuffle 0 0 0 0 0 0 0 0 16 16 16 16 16 16 16 16 (local.get 0) (local.get 1)))
+)`);
+
+// ./test/core/simd/simd_lane.wast:81
+assert_return(
+ () => invoke($0, `i8x16_extract_lane_s-first`, [
+ i8x16([0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 127)],
+);
+
+// ./test/core/simd/simd_lane.wast:82
+assert_return(
+ () => invoke($0, `i8x16_extract_lane_s-first`, [
+ i8x16([0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 127)],
+);
+
+// ./test/core/simd/simd_lane.wast:83
+assert_return(
+ () => invoke($0, `i8x16_extract_lane_s-first`, [
+ i8x16([0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", -1)],
+);
+
+// ./test/core/simd/simd_lane.wast:84
+assert_return(
+ () => invoke($0, `i8x16_extract_lane_s-first`, [
+ i8x16([0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", -1)],
+);
+
+// ./test/core/simd/simd_lane.wast:85
+assert_return(
+ () => invoke($0, `i8x16_extract_lane_u-first`, [
+ i8x16([0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 255)],
+);
+
+// ./test/core/simd/simd_lane.wast:86
+assert_return(
+ () => invoke($0, `i8x16_extract_lane_u-first`, [
+ i8x16([0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 255)],
+);
+
+// ./test/core/simd/simd_lane.wast:87
+assert_return(
+ () => invoke($0, `i8x16_extract_lane_s-last`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80]),
+ ]),
+ [value("i32", -128)],
+);
+
+// ./test/core/simd/simd_lane.wast:88
+assert_return(
+ () => invoke($0, `i8x16_extract_lane_s-last`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80]),
+ ]),
+ [value("i32", -128)],
+);
+
+// ./test/core/simd/simd_lane.wast:89
+assert_return(
+ () => invoke($0, `i8x16_extract_lane_u-last`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff]),
+ ]),
+ [value("i32", 255)],
+);
+
+// ./test/core/simd/simd_lane.wast:90
+assert_return(
+ () => invoke($0, `i8x16_extract_lane_u-last`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff]),
+ ]),
+ [value("i32", 255)],
+);
+
+// ./test/core/simd/simd_lane.wast:91
+assert_return(
+ () => invoke($0, `i8x16_extract_lane_u-last`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80]),
+ ]),
+ [value("i32", 128)],
+);
+
+// ./test/core/simd/simd_lane.wast:92
+assert_return(
+ () => invoke($0, `i8x16_extract_lane_u-last`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80]),
+ ]),
+ [value("i32", 128)],
+);
+
+// ./test/core/simd/simd_lane.wast:94
+assert_return(
+ () => invoke($0, `i16x8_extract_lane_s-first`, [
+ i16x8([0x7fff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 32767)],
+);
+
+// ./test/core/simd/simd_lane.wast:95
+assert_return(
+ () => invoke($0, `i16x8_extract_lane_s-first`, [
+ i16x8([0x7fff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 32767)],
+);
+
+// ./test/core/simd/simd_lane.wast:96
+assert_return(
+ () => invoke($0, `i16x8_extract_lane_s-first`, [
+ i16x8([0xffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", -1)],
+);
+
+// ./test/core/simd/simd_lane.wast:97
+assert_return(
+ () => invoke($0, `i16x8_extract_lane_s-first`, [
+ i16x8([0xffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", -1)],
+);
+
+// ./test/core/simd/simd_lane.wast:98
+assert_return(
+ () => invoke($0, `i16x8_extract_lane_s-first`, [
+ i16x8([0x3039, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 12345)],
+);
+
+// ./test/core/simd/simd_lane.wast:99
+assert_return(
+ () => invoke($0, `i16x8_extract_lane_s-first`, [
+ i16x8([0xedcc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", -4660)],
+);
+
+// ./test/core/simd/simd_lane.wast:100
+assert_return(
+ () => invoke($0, `i16x8_extract_lane_u-first`, [
+ i16x8([0xffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 65535)],
+);
+
+// ./test/core/simd/simd_lane.wast:101
+assert_return(
+ () => invoke($0, `i16x8_extract_lane_u-first`, [
+ i16x8([0xffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 65535)],
+);
+
+// ./test/core/simd/simd_lane.wast:102
+assert_return(
+ () => invoke($0, `i16x8_extract_lane_u-first`, [
+ i16x8([0x3039, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 12345)],
+);
+
+// ./test/core/simd/simd_lane.wast:103
+assert_return(
+ () => invoke($0, `i16x8_extract_lane_u-first`, [
+ i16x8([0xedcc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 60876)],
+);
+
+// ./test/core/simd/simd_lane.wast:104
+assert_return(
+ () => invoke($0, `i16x8_extract_lane_s-last`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8000]),
+ ]),
+ [value("i32", -32768)],
+);
+
+// ./test/core/simd/simd_lane.wast:105
+assert_return(
+ () => invoke($0, `i16x8_extract_lane_s-last`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8000]),
+ ]),
+ [value("i32", -32768)],
+);
+
+// ./test/core/simd/simd_lane.wast:106
+assert_return(
+ () => invoke($0, `i16x8_extract_lane_s-last`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1a85]),
+ ]),
+ [value("i32", 6789)],
+);
+
+// ./test/core/simd/simd_lane.wast:107
+assert_return(
+ () => invoke($0, `i16x8_extract_lane_s-last`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9877]),
+ ]),
+ [value("i32", -26505)],
+);
+
+// ./test/core/simd/simd_lane.wast:108
+assert_return(
+ () => invoke($0, `i16x8_extract_lane_u-last`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffff]),
+ ]),
+ [value("i32", 65535)],
+);
+
+// ./test/core/simd/simd_lane.wast:109
+assert_return(
+ () => invoke($0, `i16x8_extract_lane_u-last`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffff]),
+ ]),
+ [value("i32", 65535)],
+);
+
+// ./test/core/simd/simd_lane.wast:110
+assert_return(
+ () => invoke($0, `i16x8_extract_lane_u-last`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8000]),
+ ]),
+ [value("i32", 32768)],
+);
+
+// ./test/core/simd/simd_lane.wast:111
+assert_return(
+ () => invoke($0, `i16x8_extract_lane_u-last`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8000]),
+ ]),
+ [value("i32", 32768)],
+);
+
+// ./test/core/simd/simd_lane.wast:112
+assert_return(
+ () => invoke($0, `i16x8_extract_lane_u-last`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1a85]),
+ ]),
+ [value("i32", 6789)],
+);
+
+// ./test/core/simd/simd_lane.wast:113
+assert_return(
+ () => invoke($0, `i16x8_extract_lane_u-last`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9877]),
+ ]),
+ [value("i32", 39031)],
+);
+
+// ./test/core/simd/simd_lane.wast:115
+assert_return(
+ () => invoke($0, `i32x4_extract_lane-first`, [i32x4([0x7fffffff, 0x0, 0x0, 0x0])]),
+ [value("i32", 2147483647)],
+);
+
+// ./test/core/simd/simd_lane.wast:116
+assert_return(
+ () => invoke($0, `i32x4_extract_lane-first`, [i32x4([0x7fffffff, 0x0, 0x0, 0x0])]),
+ [value("i32", 2147483647)],
+);
+
+// ./test/core/simd/simd_lane.wast:117
+assert_return(
+ () => invoke($0, `i32x4_extract_lane-first`, [i32x4([0xffffffff, 0x0, 0x0, 0x0])]),
+ [value("i32", -1)],
+);
+
+// ./test/core/simd/simd_lane.wast:118
+assert_return(
+ () => invoke($0, `i32x4_extract_lane-first`, [i32x4([0xffffffff, 0x0, 0x0, 0x0])]),
+ [value("i32", -1)],
+);
+
+// ./test/core/simd/simd_lane.wast:119
+assert_return(
+ () => invoke($0, `i32x4_extract_lane-first`, [i32x4([0x499602d2, 0x0, 0x0, 0x0])]),
+ [value("i32", 1234567890)],
+);
+
+// ./test/core/simd/simd_lane.wast:120
+assert_return(
+ () => invoke($0, `i32x4_extract_lane-first`, [i32x4([0xedcba988, 0x0, 0x0, 0x0])]),
+ [value("i32", -305419896)],
+);
+
+// ./test/core/simd/simd_lane.wast:121
+assert_return(
+ () => invoke($0, `i32x4_extract_lane-last`, [i32x4([0x0, 0x0, 0x0, 0x80000000])]),
+ [value("i32", -2147483648)],
+);
+
+// ./test/core/simd/simd_lane.wast:122
+assert_return(
+ () => invoke($0, `i32x4_extract_lane-last`, [i32x4([0x0, 0x0, 0x0, 0x80000000])]),
+ [value("i32", -2147483648)],
+);
+
+// ./test/core/simd/simd_lane.wast:123
+assert_return(
+ () => invoke($0, `i32x4_extract_lane-last`, [i32x4([0x0, 0x0, 0x0, 0xffffffff])]),
+ [value("i32", -1)],
+);
+
+// ./test/core/simd/simd_lane.wast:124
+assert_return(
+ () => invoke($0, `i32x4_extract_lane-last`, [i32x4([0x0, 0x0, 0x0, 0xffffffff])]),
+ [value("i32", -1)],
+);
+
+// ./test/core/simd/simd_lane.wast:125
+assert_return(
+ () => invoke($0, `i32x4_extract_lane-last`, [i32x4([0x0, 0x0, 0x0, 0x3ade68b1])]),
+ [value("i32", 987654321)],
+);
+
+// ./test/core/simd/simd_lane.wast:126
+assert_return(
+ () => invoke($0, `i32x4_extract_lane-last`, [i32x4([0x0, 0x0, 0x0, 0xedcba988])]),
+ [value("i32", -305419896)],
+);
+
+// ./test/core/simd/simd_lane.wast:128
+assert_return(
+ () => invoke($0, `i64x2_extract_lane-first`, [i64x2([0x7fffffffffffffffn, 0x0n])]),
+ [value("i64", 9223372036854775807n)],
+);
+
+// ./test/core/simd/simd_lane.wast:129
+assert_return(
+ () => invoke($0, `i64x2_extract_lane-first`, [i64x2([0x7ffffffffffffffen, 0x0n])]),
+ [value("i64", 9223372036854775806n)],
+);
+
+// ./test/core/simd/simd_lane.wast:130
+assert_return(
+ () => invoke($0, `i64x2_extract_lane-first`, [i64x2([0xffffffffffffffffn, 0x0n])]),
+ [value("i64", -1n)],
+);
+
+// ./test/core/simd/simd_lane.wast:131
+assert_return(
+ () => invoke($0, `i64x2_extract_lane-first`, [i64x2([0xffffffffffffffffn, 0x0n])]),
+ [value("i64", -1n)],
+);
+
+// ./test/core/simd/simd_lane.wast:132
+assert_return(
+ () => invoke($0, `i64x2_extract_lane-first`, [i64x2([0x112210f47de98115n, 0x0n])]),
+ [value("i64", 1234567890123456789n)],
+);
+
+// ./test/core/simd/simd_lane.wast:133
+assert_return(
+ () => invoke($0, `i64x2_extract_lane-first`, [i64x2([0x1234567890abcdefn, 0x0n])]),
+ [value("i64", 1311768467294899695n)],
+);
+
+// ./test/core/simd/simd_lane.wast:134
+assert_return(
+ () => invoke($0, `i64x2_extract_lane-last`, [i64x2([0x0n, 0x8000000000000000n])]),
+ [value("i64", -9223372036854775808n)],
+);
+
+// ./test/core/simd/simd_lane.wast:135
+assert_return(
+ () => invoke($0, `i64x2_extract_lane-last`, [i64x2([0x0n, 0x8000000000000000n])]),
+ [value("i64", -9223372036854775808n)],
+);
+
+// ./test/core/simd/simd_lane.wast:136
+assert_return(
+ () => invoke($0, `i64x2_extract_lane-last`, [i64x2([0x0n, 0x8000000000000000n])]),
+ [value("i64", -9223372036854775808n)],
+);
+
+// ./test/core/simd/simd_lane.wast:137
+assert_return(
+ () => invoke($0, `i64x2_extract_lane-last`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f]),
+ ]),
+ [value("i64", 9223372036854775807n)],
+);
+
+// ./test/core/simd/simd_lane.wast:138
+assert_return(
+ () => invoke($0, `i64x2_extract_lane-last`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8000]),
+ ]),
+ [value("i64", -9223372036854775808n)],
+);
+
+// ./test/core/simd/simd_lane.wast:139
+assert_return(
+ () => invoke($0, `i64x2_extract_lane-last`, [
+ i32x4([0x0, 0x0, 0xffffffff, 0x7fffffff]),
+ ]),
+ [value("i64", 9223372036854775807n)],
+);
+
+// ./test/core/simd/simd_lane.wast:140
+assert_return(
+ () => invoke($0, `i64x2_extract_lane-last`, [f64x2([-Infinity, Infinity])]),
+ [value("i64", 9218868437227405312n)],
+);
+
+// ./test/core/simd/simd_lane.wast:141
+assert_return(
+ () => invoke($0, `i64x2_extract_lane-last`, [i64x2([0x0n, 0x112210f47de98115n])]),
+ [value("i64", 1234567890123456789n)],
+);
+
+// ./test/core/simd/simd_lane.wast:142
+assert_return(
+ () => invoke($0, `i64x2_extract_lane-last`, [i64x2([0x0n, 0x1234567890abcdefn])]),
+ [value("i64", 1311768467294899695n)],
+);
+
+// ./test/core/simd/simd_lane.wast:144
+assert_return(() => invoke($0, `f32x4_extract_lane-first`, [f32x4([-5, 0, 0, 0])]), [value("f32", -5)]);
+
+// ./test/core/simd/simd_lane.wast:145
+assert_return(
+ () => invoke($0, `f32x4_extract_lane-first`, [
+ f32x4([100000000000000000000000000000000000000, 0, 0, 0]),
+ ]),
+ [value("f32", 100000000000000000000000000000000000000)],
+);
+
+// ./test/core/simd/simd_lane.wast:146
+assert_return(
+ () => invoke($0, `f32x4_extract_lane-first`, [
+ f32x4([340282350000000000000000000000000000000, 0, 0, 0]),
+ ]),
+ [value("f32", 340282350000000000000000000000000000000)],
+);
+
+// ./test/core/simd/simd_lane.wast:147
+assert_return(
+ () => invoke($0, `f32x4_extract_lane-first`, [
+ f32x4([170141180000000000000000000000000000000, 0, 0, 0]),
+ ]),
+ [value("f32", 170141180000000000000000000000000000000)],
+);
+
+// ./test/core/simd/simd_lane.wast:148
+assert_return(
+ () => invoke($0, `f32x4_extract_lane-first`, [f32x4([Infinity, 0, 0, 0])]),
+ [value("f32", Infinity)],
+);
+
+// ./test/core/simd/simd_lane.wast:149
+assert_return(
+ () => invoke($0, `f32x4_extract_lane-first`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x80,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ ]),
+ ]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])],
+);
+
+// ./test/core/simd/simd_lane.wast:150
+assert_return(
+ () => invoke($0, `f32x4_extract_lane-first`, [
+ f32x4([1234567900000000000000000000, 0, 0, 0]),
+ ]),
+ [value("f32", 1234567900000000000000000000)],
+);
+
+// ./test/core/simd/simd_lane.wast:151
+assert_return(
+ () => invoke($0, `f32x4_extract_lane-first`, [f32x4([156374990000, 0, 0, 0])]),
+ [value("f32", 156374990000)],
+);
+
+// ./test/core/simd/simd_lane.wast:152
+assert_return(
+ () => invoke($0, `f32x4_extract_lane-last`, [
+ f32x4([0, 0, 0, -100000000000000000000000000000000000000]),
+ ]),
+ [value("f32", -100000000000000000000000000000000000000)],
+);
+
+// ./test/core/simd/simd_lane.wast:153
+assert_return(
+ () => invoke($0, `f32x4_extract_lane-last`, [
+ f32x4([0, 0, 0, -340282350000000000000000000000000000000]),
+ ]),
+ [value("f32", -340282350000000000000000000000000000000)],
+);
+
+// ./test/core/simd/simd_lane.wast:154
+assert_return(
+ () => invoke($0, `f32x4_extract_lane-last`, [
+ f32x4([0, 0, 0, -170141180000000000000000000000000000000]),
+ ]),
+ [value("f32", -170141180000000000000000000000000000000)],
+);
+
+// ./test/core/simd/simd_lane.wast:155
+assert_return(
+ () => invoke($0, `f32x4_extract_lane-last`, [f32x4([0, 0, 0, -Infinity])]),
+ [value("f32", -Infinity)],
+);
+
+// ./test/core/simd/simd_lane.wast:156
+assert_return(
+ () => invoke($0, `f32x4_extract_lane-last`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x80,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])],
+);
+
+// ./test/core/simd/simd_lane.wast:157
+assert_return(
+ () => invoke($0, `f32x4_extract_lane-last`, [f32x4([0, 0, 0, 123456790])]),
+ [value("f32", 123456790)],
+);
+
+// ./test/core/simd/simd_lane.wast:158
+assert_return(
+ () => invoke($0, `f32x4_extract_lane-last`, [f32x4([0, 0, 0, 81985530000000000])]),
+ [value("f32", 81985530000000000)],
+);
+
+// ./test/core/simd/simd_lane.wast:160
+assert_return(() => invoke($0, `f64x2_extract_lane-first`, [f64x2([-1.5, 0])]), [value("f64", -1.5)]);
+
+// ./test/core/simd/simd_lane.wast:161
+assert_return(() => invoke($0, `f64x2_extract_lane-first`, [f64x2([1.5, 0])]), [value("f64", 1.5)]);
+
+// ./test/core/simd/simd_lane.wast:162
+assert_return(
+ () => invoke($0, `f64x2_extract_lane-first`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000017976931348623155,
+ 0,
+ ]),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000017976931348623155),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:163
+assert_return(
+ () => invoke($0, `f64x2_extract_lane-first`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000017976931348623155,
+ 0,
+ ]),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000017976931348623155),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:164
+assert_return(
+ () => invoke($0, `f64x2_extract_lane-first`, [
+ f64x2([
+ -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0,
+ ]),
+ ]),
+ [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:165
+assert_return(
+ () => invoke($0, `f64x2_extract_lane-first`, [
+ f64x2([
+ 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,
+ 0,
+ ]),
+ ]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:166
+assert_return(
+ () => invoke($0, `f64x2_extract_lane-first`, [f64x2([-Infinity, 0])]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/simd/simd_lane.wast:167
+assert_return(
+ () => invoke($0, `f64x2_extract_lane-first`, [f64x2([Infinity, 0])]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/simd/simd_lane.wast:168
+assert_return(
+ () => invoke($0, `f64x2_extract_lane-first`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x80,
+ ]),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff])],
+);
+
+// ./test/core/simd/simd_lane.wast:169
+assert_return(
+ () => invoke($0, `f64x2_extract_lane-first`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ ]),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f])],
+);
+
+// ./test/core/simd/simd_lane.wast:170
+assert_return(
+ () => invoke($0, `f64x2_extract_lane-first`, [
+ f64x2([1234567890123456900000000000, 0]),
+ ]),
+ [value("f64", 1234567890123456900000000000)],
+);
+
+// ./test/core/simd/simd_lane.wast:171
+assert_return(
+ () => invoke($0, `f64x2_extract_lane-first`, [f64x2([2623536934927580700, 0])]),
+ [value("f64", 2623536934927580700)],
+);
+
+// ./test/core/simd/simd_lane.wast:172
+assert_return(() => invoke($0, `f64x2_extract_lane-last`, [f64x2([0, 2.25])]), [value("f64", 2.25)]);
+
+// ./test/core/simd/simd_lane.wast:173
+assert_return(() => invoke($0, `f64x2_extract_lane-last`, [f64x2([0, -2.25])]), [value("f64", -2.25)]);
+
+// ./test/core/simd/simd_lane.wast:174
+assert_return(
+ () => invoke($0, `f64x2_extract_lane-last`, [
+ f64x2([
+ 0,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:175
+assert_return(
+ () => invoke($0, `f64x2_extract_lane-last`, [
+ f64x2([
+ 0,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:176
+assert_return(
+ () => invoke($0, `f64x2_extract_lane-last`, [
+ f64x2([
+ 0,
+ -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:177
+assert_return(
+ () => invoke($0, `f64x2_extract_lane-last`, [
+ f64x2([
+ 0,
+ 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
+ ]),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:178
+assert_return(
+ () => invoke($0, `f64x2_extract_lane-last`, [f64x2([-0, -Infinity])]),
+ [value("f64", -Infinity)],
+);
+
+// ./test/core/simd/simd_lane.wast:179
+assert_return(
+ () => invoke($0, `f64x2_extract_lane-last`, [f64x2([0, Infinity])]),
+ [value("f64", Infinity)],
+);
+
+// ./test/core/simd/simd_lane.wast:180
+assert_return(
+ () => invoke($0, `f64x2_extract_lane-last`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x80,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff])],
+);
+
+// ./test/core/simd/simd_lane.wast:181
+assert_return(
+ () => invoke($0, `f64x2_extract_lane-last`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f])],
+);
+
+// ./test/core/simd/simd_lane.wast:182
+assert_return(
+ () => invoke($0, `f64x2_extract_lane-last`, [f64x2([0, 123456789])]),
+ [value("f64", 123456789)],
+);
+
+// ./test/core/simd/simd_lane.wast:183
+assert_return(
+ () => invoke($0, `f64x2_extract_lane-last`, [f64x2([0, 1375488932539311400000000])]),
+ [value("f64", 1375488932539311400000000)],
+);
+
+// ./test/core/simd/simd_lane.wast:185
+assert_return(
+ () => invoke($0, `f64x2_extract_lane-last`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("f64", 0)],
+);
+
+// ./test/core/simd/simd_lane.wast:186
+assert_return(
+ () => invoke($0, `f64x2_extract_lane-last`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80]),
+ ]),
+ [value("f64", -0)],
+);
+
+// ./test/core/simd/simd_lane.wast:187
+assert_return(
+ () => invoke($0, `f64x2_extract_lane-last`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4000]),
+ ]),
+ [value("f64", 2)],
+);
+
+// ./test/core/simd/simd_lane.wast:188
+assert_return(
+ () => invoke($0, `f64x2_extract_lane-last`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc000]),
+ ]),
+ [value("f64", -2)],
+);
+
+// ./test/core/simd/simd_lane.wast:189
+assert_return(
+ () => invoke($0, `f64x2_extract_lane-last`, [
+ i32x4([0x0, 0x0, 0xffffffff, 0x7fefffff]),
+ ]),
+ [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:190
+assert_return(
+ () => invoke($0, `f64x2_extract_lane-last`, [i32x4([0x0, 0x0, 0x0, 0x100000])]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:191
+assert_return(
+ () => invoke($0, `f64x2_extract_lane-last`, [i32x4([0x0, 0x0, 0xffffffff, 0xfffff])]),
+ [
+ value("f64", 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507201),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:192
+assert_return(
+ () => invoke($0, `f64x2_extract_lane-last`, [i32x4([0x0, 0x0, 0x1, 0x0])]),
+ [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:194
+assert_return(
+ () => invoke($0, `i8x16_replace_lane-first`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ 127,
+ ]),
+ [
+ i8x16([0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:195
+assert_return(
+ () => invoke($0, `i8x16_replace_lane-first`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ 128,
+ ]),
+ [
+ i8x16([0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:196
+assert_return(
+ () => invoke($0, `i8x16_replace_lane-first`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ 255,
+ ]),
+ [
+ i8x16([0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:197
+assert_return(
+ () => invoke($0, `i8x16_replace_lane-first`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ 256,
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:198
+assert_return(
+ () => invoke($0, `i8x16_replace_lane-last`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ -128,
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:199
+assert_return(
+ () => invoke($0, `i8x16_replace_lane-last`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ -129,
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f]),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:200
+assert_return(
+ () => invoke($0, `i8x16_replace_lane-last`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ 32767,
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:201
+assert_return(
+ () => invoke($0, `i8x16_replace_lane-last`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ -32768,
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:203
+assert_return(
+ () => invoke($0, `i16x8_replace_lane-first`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ 32767,
+ ]),
+ [i16x8([0x7fff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_lane.wast:204
+assert_return(
+ () => invoke($0, `i16x8_replace_lane-first`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ 32768,
+ ]),
+ [i16x8([0x8000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_lane.wast:205
+assert_return(
+ () => invoke($0, `i16x8_replace_lane-first`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ 65535,
+ ]),
+ [i16x8([0xffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_lane.wast:206
+assert_return(
+ () => invoke($0, `i16x8_replace_lane-first`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ 65536,
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_lane.wast:207
+assert_return(
+ () => invoke($0, `i16x8_replace_lane-first`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ 12345,
+ ]),
+ [i16x8([0x3039, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_lane.wast:208
+assert_return(
+ () => invoke($0, `i16x8_replace_lane-first`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ -4660,
+ ]),
+ [i16x8([0xedcc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_lane.wast:209
+assert_return(
+ () => invoke($0, `i16x8_replace_lane-last`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ -32768,
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8000])],
+);
+
+// ./test/core/simd/simd_lane.wast:210
+assert_return(
+ () => invoke($0, `i16x8_replace_lane-last`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ -32769,
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7fff])],
+);
+
+// ./test/core/simd/simd_lane.wast:211
+assert_return(
+ () => invoke($0, `i16x8_replace_lane-last`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ 2147483647,
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffff])],
+);
+
+// ./test/core/simd/simd_lane.wast:212
+assert_return(
+ () => invoke($0, `i16x8_replace_lane-last`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ -2147483648,
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_lane.wast:213
+assert_return(
+ () => invoke($0, `i16x8_replace_lane-last`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ 54321,
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd431])],
+);
+
+// ./test/core/simd/simd_lane.wast:214
+assert_return(
+ () => invoke($0, `i16x8_replace_lane-last`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ -17185,
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbcdf])],
+);
+
+// ./test/core/simd/simd_lane.wast:216
+assert_return(
+ () => invoke($0, `i32x4_replace_lane-first`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ 2147483647,
+ ]),
+ [i32x4([0x7fffffff, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_lane.wast:217
+assert_return(
+ () => invoke($0, `i32x4_replace_lane-first`, [i32x4([0x0, 0x0, 0x0, 0x0]), -1]),
+ [i32x4([0xffffffff, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_lane.wast:218
+assert_return(
+ () => invoke($0, `i32x4_replace_lane-first`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ 1234567890,
+ ]),
+ [i32x4([0x499602d2, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_lane.wast:219
+assert_return(
+ () => invoke($0, `i32x4_replace_lane-first`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ -305419896,
+ ]),
+ [i32x4([0xedcba988, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_lane.wast:220
+assert_return(
+ () => invoke($0, `i32x4_replace_lane-last`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ -2147483648,
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x80000000])],
+);
+
+// ./test/core/simd/simd_lane.wast:221
+assert_return(
+ () => invoke($0, `i32x4_replace_lane-last`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ -2147483648,
+ ]),
+ [i32x4([0x0, 0x0, 0x0, 0x80000000])],
+);
+
+// ./test/core/simd/simd_lane.wast:222
+assert_return(
+ () => invoke($0, `i32x4_replace_lane-last`, [i32x4([0x0, 0x0, 0x0, 0x0]), 1234567890]),
+ [i32x4([0x0, 0x0, 0x0, 0x499602d2])],
+);
+
+// ./test/core/simd/simd_lane.wast:223
+assert_return(
+ () => invoke($0, `i32x4_replace_lane-last`, [i32x4([0x0, 0x0, 0x0, 0x0]), -305419896]),
+ [i32x4([0x0, 0x0, 0x0, 0xedcba988])],
+);
+
+// ./test/core/simd/simd_lane.wast:225
+assert_return(
+ () => invoke($0, `f32x4_replace_lane-first`, [f32x4([0, 0, 0, 0]), value("f32", 53)]),
+ [
+ new F32x4Pattern(
+ value("f32", 53),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:226
+assert_return(
+ () => invoke($0, `f32x4_replace_lane-first`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ value("f32", 53),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 53),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:227
+assert_return(
+ () => invoke($0, `f32x4_replace_lane-first`, [
+ f32x4([0, 0, 0, 0]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:228
+assert_return(
+ () => invoke($0, `f32x4_replace_lane-first`, [
+ f32x4([0, 0, 0, 0]),
+ value("f32", Infinity),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:229
+assert_return(
+ () => invoke($0, `f32x4_replace_lane-first`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ ]),
+ value("f32", 3.14),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 3.14),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:230
+assert_return(
+ () => invoke($0, `f32x4_replace_lane-first`, [
+ f32x4([Infinity, 0, 0, 0]),
+ value("f32", 100000000000000000000000000000000000000),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 100000000000000000000000000000000000000),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:231
+assert_return(
+ () => invoke($0, `f32x4_replace_lane-first`, [
+ f32x4([Infinity, 0, 0, 0]),
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:232
+assert_return(
+ () => invoke($0, `f32x4_replace_lane-first`, [
+ f32x4([Infinity, 0, 0, 0]),
+ value("f32", 170141180000000000000000000000000000000),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 170141180000000000000000000000000000000),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:233
+assert_return(
+ () => invoke($0, `f32x4_replace_lane-first`, [
+ f32x4([0, 0, 0, 0]),
+ value("f32", 123456790),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:234
+assert_return(
+ () => invoke($0, `f32x4_replace_lane-first`, [
+ f32x4([0, 0, 0, 0]),
+ value("f32", 123456790),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:235
+assert_return(
+ () => invoke($0, `f32x4_replace_lane-first`, [
+ f32x4([0, 0, 0, 0]),
+ value("f32", 81985530000000000),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:236
+assert_return(
+ () => invoke($0, `f32x4_replace_lane-first`, [
+ f32x4([0, 0, 0, 0]),
+ value("f32", 81985530000000000),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:237
+assert_return(
+ () => invoke($0, `f32x4_replace_lane-last`, [f32x4([0, 0, 0, 0]), value("f32", -53)]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", -53),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:238
+assert_return(
+ () => invoke($0, `f32x4_replace_lane-last`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ value("f32", -53),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", -53),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:239
+assert_return(
+ () => invoke($0, `f32x4_replace_lane-last`, [
+ f32x4([0, 0, 0, 0]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:240
+assert_return(
+ () => invoke($0, `f32x4_replace_lane-last`, [
+ f32x4([0, 0, 0, 0]),
+ value("f32", -Infinity),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:241
+assert_return(
+ () => invoke($0, `f32x4_replace_lane-last`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ value("f32", 3.14),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 3.14),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:242
+assert_return(
+ () => invoke($0, `f32x4_replace_lane-last`, [
+ f32x4([0, 0, 0, -Infinity]),
+ value("f32", -100000000000000000000000000000000000000),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", -100000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:243
+assert_return(
+ () => invoke($0, `f32x4_replace_lane-last`, [
+ f32x4([0, 0, 0, -Infinity]),
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:244
+assert_return(
+ () => invoke($0, `f32x4_replace_lane-last`, [
+ f32x4([0, 0, 0, -Infinity]),
+ value("f32", -170141180000000000000000000000000000000),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", -170141180000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:245
+assert_return(
+ () => invoke($0, `f32x4_replace_lane-last`, [
+ f32x4([0, 0, 0, 0]),
+ value("f32", 1234567900000000000000000000),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:246
+assert_return(
+ () => invoke($0, `f32x4_replace_lane-last`, [
+ f32x4([0, 0, 0, 0]),
+ value("f32", 1234567900000000000000000000),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:247
+assert_return(
+ () => invoke($0, `f32x4_replace_lane-last`, [
+ f32x4([0, 0, 0, 0]),
+ value("f32", 42984030000000000000000),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:248
+assert_return(
+ () => invoke($0, `f32x4_replace_lane-last`, [
+ f32x4([0, 0, 0, 0]),
+ value("f32", 156374990000),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:250
+assert_return(
+ () => invoke($0, `i64x2_replace_lane-first`, [
+ i64x2([0x0n, 0x0n]),
+ 9223372036854775807n,
+ ]),
+ [i64x2([0x7fffffffffffffffn, 0x0n])],
+);
+
+// ./test/core/simd/simd_lane.wast:251
+assert_return(
+ () => invoke($0, `i64x2_replace_lane-first`, [i64x2([0x0n, 0x0n]), -1n]),
+ [i64x2([0xffffffffffffffffn, 0x0n])],
+);
+
+// ./test/core/simd/simd_lane.wast:252
+assert_return(
+ () => invoke($0, `i64x2_replace_lane-first`, [
+ i64x2([0x0n, 0x0n]),
+ 1234567890123456789n,
+ ]),
+ [i64x2([0x112210f47de98115n, 0x0n])],
+);
+
+// ./test/core/simd/simd_lane.wast:253
+assert_return(
+ () => invoke($0, `i64x2_replace_lane-first`, [
+ i64x2([0x0n, 0x0n]),
+ 1311768467294899695n,
+ ]),
+ [i64x2([0x1234567890abcdefn, 0x0n])],
+);
+
+// ./test/core/simd/simd_lane.wast:254
+assert_return(
+ () => invoke($0, `i64x2_replace_lane-last`, [
+ i64x2([0x0n, 0x0n]),
+ -9223372036854775808n,
+ ]),
+ [i64x2([0x0n, 0x8000000000000000n])],
+);
+
+// ./test/core/simd/simd_lane.wast:255
+assert_return(
+ () => invoke($0, `i64x2_replace_lane-last`, [
+ i64x2([0x0n, 0x0n]),
+ -9223372036854775808n,
+ ]),
+ [i64x2([0x0n, 0x8000000000000000n])],
+);
+
+// ./test/core/simd/simd_lane.wast:256
+assert_return(
+ () => invoke($0, `i64x2_replace_lane-last`, [
+ i64x2([0x0n, 0x0n]),
+ 1234567890123456789n,
+ ]),
+ [i64x2([0x0n, 0x112210f47de98115n])],
+);
+
+// ./test/core/simd/simd_lane.wast:257
+assert_return(
+ () => invoke($0, `i64x2_replace_lane-last`, [
+ i64x2([0x0n, 0x0n]),
+ 1311768467294899695n,
+ ]),
+ [i64x2([0x0n, 0x1234567890abcdefn])],
+);
+
+// ./test/core/simd/simd_lane.wast:259
+assert_return(
+ () => invoke($0, `f64x2_replace_lane-first`, [f64x2([1, 1]), value("f64", 0)]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_lane.wast:260
+assert_return(
+ () => invoke($0, `f64x2_replace_lane-first`, [f64x2([-1, -1]), value("f64", -0)]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_lane.wast:261
+assert_return(
+ () => invoke($0, `f64x2_replace_lane-first`, [f64x2([0, 0]), value("f64", 1.25)]),
+ [new F64x2Pattern(value("f64", 1.25), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_lane.wast:262
+assert_return(
+ () => invoke($0, `f64x2_replace_lane-first`, [f64x2([0, 0]), value("f64", -1.25)]),
+ [new F64x2Pattern(value("f64", -1.25), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_lane.wast:263
+assert_return(
+ () => invoke($0, `f64x2_replace_lane-first`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ ]),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:264
+assert_return(
+ () => invoke($0, `f64x2_replace_lane-first`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ ]),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:265
+assert_return(
+ () => invoke($0, `f64x2_replace_lane-first`, [
+ f64x2([-Infinity, 0]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:266
+assert_return(
+ () => invoke($0, `f64x2_replace_lane-first`, [
+ f64x2([Infinity, 0]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:267
+assert_return(
+ () => invoke($0, `f64x2_replace_lane-first`, [
+ f64x2([0, 0]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ value("f64", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:268
+assert_return(
+ () => invoke($0, `f64x2_replace_lane-first`, [
+ f64x2([0, 0]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ value("f64", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:269
+assert_return(
+ () => invoke($0, `f64x2_replace_lane-first`, [f64x2([0, 0]), value("f64", -Infinity)]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_lane.wast:270
+assert_return(
+ () => invoke($0, `f64x2_replace_lane-first`, [f64x2([0, 0]), value("f64", Infinity)]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_lane.wast:271
+assert_return(
+ () => invoke($0, `f64x2_replace_lane-first`, [f64x2([0, 0]), value("f64", 123456789)]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_lane.wast:272
+assert_return(
+ () => invoke($0, `f64x2_replace_lane-first`, [f64x2([0, 0]), value("f64", 123456789)]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_lane.wast:273
+assert_return(
+ () => invoke($0, `f64x2_replace_lane-first`, [
+ f64x2([0, 0]),
+ value("f64", 1375488932539311400000000),
+ ]),
+ [new F64x2Pattern(value("f64", 1375488932539311400000000), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_lane.wast:274
+assert_return(
+ () => invoke($0, `f64x2_replace_lane-first`, [
+ f64x2([0, 0]),
+ value("f64", 1375488932539311400000000),
+ ]),
+ [new F64x2Pattern(value("f64", 1375488932539311400000000), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_lane.wast:275
+assert_return(
+ () => invoke($0, `f64x2_replace_lane-last`, [f64x2([2, 2]), value("f64", 0)]),
+ [new F64x2Pattern(value("f64", 2), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_lane.wast:276
+assert_return(
+ () => invoke($0, `f64x2_replace_lane-last`, [f64x2([-2, -2]), value("f64", -0)]),
+ [new F64x2Pattern(value("f64", -2), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_lane.wast:277
+assert_return(
+ () => invoke($0, `f64x2_replace_lane-last`, [f64x2([0, 0]), value("f64", 2.25)]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 2.25))],
+);
+
+// ./test/core/simd/simd_lane.wast:278
+assert_return(
+ () => invoke($0, `f64x2_replace_lane-last`, [f64x2([0, 0]), value("f64", -2.25)]),
+ [new F64x2Pattern(value("f64", 0), value("f64", -2.25))],
+);
+
+// ./test/core/simd/simd_lane.wast:279
+assert_return(
+ () => invoke($0, `f64x2_replace_lane-last`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0xff,
+ ]),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:280
+assert_return(
+ () => invoke($0, `f64x2_replace_lane-last`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:281
+assert_return(
+ () => invoke($0, `f64x2_replace_lane-last`, [
+ f64x2([0, -Infinity]),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:282
+assert_return(
+ () => invoke($0, `f64x2_replace_lane-last`, [
+ f64x2([0, Infinity]),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:283
+assert_return(
+ () => invoke($0, `f64x2_replace_lane-last`, [
+ f64x2([0, 0]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:284
+assert_return(
+ () => invoke($0, `f64x2_replace_lane-last`, [
+ f64x2([0, 0]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:285
+assert_return(
+ () => invoke($0, `f64x2_replace_lane-last`, [f64x2([0, 0]), value("f64", -Infinity)]),
+ [new F64x2Pattern(value("f64", 0), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_lane.wast:286
+assert_return(
+ () => invoke($0, `f64x2_replace_lane-last`, [f64x2([0, 0]), value("f64", Infinity)]),
+ [new F64x2Pattern(value("f64", 0), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_lane.wast:287
+assert_return(
+ () => invoke($0, `f64x2_replace_lane-last`, [
+ f64x2([0, 0]),
+ value("f64", 1234567890000000000000000000),
+ ]),
+ [
+ new F64x2Pattern(value("f64", 0), value("f64", 1234567890000000000000000000)),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:288
+assert_return(
+ () => invoke($0, `f64x2_replace_lane-last`, [
+ f64x2([0, 0]),
+ value("f64", 1234567890000000000000000000),
+ ]),
+ [
+ new F64x2Pattern(value("f64", 0), value("f64", 1234567890000000000000000000)),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:289
+assert_return(
+ () => invoke($0, `f64x2_replace_lane-last`, [
+ f64x2([0, 0]),
+ value("f64", 1234567890000000000000000000),
+ ]),
+ [
+ new F64x2Pattern(value("f64", 0), value("f64", 1234567890000000000000000000)),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:290
+assert_return(
+ () => invoke($0, `f64x2_replace_lane-last`, [
+ f64x2([0, 0]),
+ value("f64", 0.0000000000123456789),
+ ]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0.0000000000123456789))],
+);
+
+// ./test/core/simd/simd_lane.wast:292
+assert_return(
+ () => invoke($0, `v8x16_swizzle`, [
+ i8x16([0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f]),
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ]),
+ [
+ i8x16([0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f]),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:296
+assert_return(
+ () => invoke($0, `v8x16_swizzle`, [
+ i8x16([0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff]),
+ i8x16([0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:300
+assert_return(
+ () => invoke($0, `v8x16_swizzle`, [
+ i8x16([0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73]),
+ i8x16([0xf, 0xe, 0xd, 0xc, 0xb, 0xa, 0x9, 0x8, 0x7, 0x6, 0x5, 0x4, 0x3, 0x2, 0x1, 0x0]),
+ ]),
+ [
+ i8x16([0x73, 0x72, 0x71, 0x70, 0x6f, 0x6e, 0x6d, 0x6c, 0x6b, 0x6a, 0x69, 0x68, 0x67, 0x66, 0x65, 0x64]),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:304
+assert_return(
+ () => invoke($0, `v8x16_swizzle`, [
+ i8x16([0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73]),
+ i8x16([0xff, 0x1, 0xfe, 0x2, 0xfd, 0x3, 0xfc, 0x4, 0xfb, 0x5, 0xfa, 0x6, 0xf9, 0x7, 0xf8, 0x8]),
+ ]),
+ [
+ i8x16([0x0, 0x65, 0x0, 0x66, 0x0, 0x67, 0x0, 0x68, 0x0, 0x69, 0x0, 0x6a, 0x0, 0x6b, 0x0, 0x6c]),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:308
+assert_return(
+ () => invoke($0, `v8x16_swizzle`, [
+ i8x16([0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73]),
+ i8x16([0x9, 0x10, 0xa, 0x11, 0xb, 0x12, 0xc, 0x13, 0xd, 0x14, 0xe, 0x15, 0xf, 0x16, 0x10, 0x17]),
+ ]),
+ [
+ i8x16([0x6d, 0x0, 0x6e, 0x0, 0x6f, 0x0, 0x70, 0x0, 0x71, 0x0, 0x72, 0x0, 0x73, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:312
+assert_return(
+ () => invoke($0, `v8x16_swizzle`, [
+ i8x16([0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73]),
+ i8x16([0x9, 0x10, 0xa, 0x11, 0xb, 0x12, 0xc, 0x13, 0xd, 0x14, 0xe, 0x15, 0xf, 0x16, 0x10, 0x17]),
+ ]),
+ [
+ i8x16([0x6d, 0x0, 0x6e, 0x0, 0x6f, 0x0, 0x70, 0x0, 0x71, 0x0, 0x72, 0x0, 0x73, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:316
+assert_return(
+ () => invoke($0, `v8x16_swizzle`, [
+ i16x8([0x6465, 0x6667, 0x6869, 0x6a6b, 0x6c6d, 0x6e6f, 0x7071, 0x7273]),
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ]),
+ [i16x8([0x6465, 0x6667, 0x6869, 0x6a6b, 0x6c6d, 0x6e6f, 0x7071, 0x7273])],
+);
+
+// ./test/core/simd/simd_lane.wast:320
+assert_return(
+ () => invoke($0, `v8x16_swizzle`, [
+ i32x4([0x64656667, 0x68696a6b, 0x6c6d6e6f, 0x70717273]),
+ i8x16([0xf, 0xe, 0xd, 0xc, 0xb, 0xa, 0x9, 0x8, 0x7, 0x6, 0x5, 0x4, 0x3, 0x2, 0x1, 0x0]),
+ ]),
+ [i32x4([0x73727170, 0x6f6e6d6c, 0x6b6a6968, 0x67666564])],
+);
+
+// ./test/core/simd/simd_lane.wast:324
+assert_return(
+ () => invoke($0, `v8x16_swizzle`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0xff,
+ 0x0,
+ 0x0,
+ 0x80,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x80,
+ 0xff,
+ ]),
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ]),
+ [i32x4([0x7fc00000, 0xffc00000, 0x7f800000, 0xff800000])],
+);
+
+// ./test/core/simd/simd_lane.wast:328
+assert_return(
+ () => invoke($0, `v8x16_swizzle`, [
+ i32x4([0x67666564, 0x6b6a6968, 0x6f6e6d5c, 0x73727170]),
+ f32x4([0, -0, Infinity, -Infinity]),
+ ]),
+ [i32x4([0x64646464, 0x646464, 0x6464, 0x6464])],
+);
+
+// ./test/core/simd/simd_lane.wast:333
+assert_return(
+ () => invoke($0, `v8x16_shuffle-1`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i8x16([0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f]),
+ ]),
+ [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:337
+assert_return(
+ () => invoke($0, `v8x16_shuffle-2`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i8x16([0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff]),
+ ]),
+ [
+ i8x16([0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:341
+assert_return(
+ () => invoke($0, `v8x16_shuffle-3`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i8x16([0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0]),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:345
+assert_return(
+ () => invoke($0, `v8x16_shuffle-4`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i8x16([0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff]),
+ ]),
+ [
+ i8x16([0xf, 0xe, 0xd, 0xc, 0xb, 0xa, 0x9, 0x8, 0x7, 0x6, 0x5, 0x4, 0x3, 0x2, 0x1, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:349
+assert_return(
+ () => invoke($0, `v8x16_shuffle-5`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i8x16([0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:353
+assert_return(
+ () => invoke($0, `v8x16_shuffle-6`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i8x16([0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff]),
+ ]),
+ [
+ i8x16([0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0]),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:357
+assert_return(
+ () => invoke($0, `v8x16_shuffle-7`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i8x16([0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0]),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:361
+assert_return(
+ () => invoke($0, `v8x16_shuffle-1`, [
+ i8x16([0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73]),
+ i8x16([0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff]),
+ ]),
+ [
+ i8x16([0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73]),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:365
+assert_return(
+ () => invoke($0, `v8x16_shuffle-1`, [
+ i16x8([0x100, 0x302, 0x504, 0x706, 0x908, 0xb0a, 0xd0c, 0xf0e]),
+ i8x16([0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff]),
+ ]),
+ [i16x8([0x100, 0x302, 0x504, 0x706, 0x908, 0xb0a, 0xd0c, 0xf0e])],
+);
+
+// ./test/core/simd/simd_lane.wast:369
+assert_return(
+ () => invoke($0, `v8x16_shuffle-2`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i32x4([0xf3f2f1f0, 0xf7f6f5f4, 0xfbfaf9f8, 0xfffefdfc]),
+ ]),
+ [i32x4([0xf3f2f1f0, 0xf7f6f5f4, 0xfbfaf9f8, 0xfffefdfc])],
+);
+
+// ./test/core/simd/simd_lane.wast:373
+assert_return(
+ () => invoke($0, `v8x16_shuffle-1`, [
+ i32x4([0x10203, 0x4050607, 0x8090a0b, 0xc0d0e0f]),
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ]),
+ [i32x4([0x10203, 0x4050607, 0x8090a0b, 0xc0d0e0f])],
+);
+
+// ./test/core/simd/simd_lane.wast:377
+assert_return(
+ () => invoke($0, `v8x16_shuffle-1`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x80,
+ 0x3f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x80,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x80,
+ 0xff,
+ ]),
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ]),
+ [i32x4([0x3f800000, 0x7fc00000, 0x7f800000, 0xff800000])],
+);
+
+// ./test/core/simd/simd_lane.wast:381
+assert_return(
+ () => invoke($0, `v8x16_shuffle-1`, [
+ i32x4([0x10203, 0x4050607, 0x8090a0b, 0xc0d0e0f]),
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x80,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x80,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x80,
+ 0xff,
+ ]),
+ ]),
+ [i32x4([0x10203, 0x4050607, 0x8090a0b, 0xc0d0e0f])],
+);
+
+// ./test/core/simd/simd_lane.wast:387
+assert_return(
+ () => invoke($0, `v8x16_swizzle`, [
+ i32x4([0x499602d2, 0x12345678, 0x499602d2, 0x12345678]),
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ]),
+ [i32x4([0x499602d2, 0x12345678, 0x499602d2, 0x12345678])],
+);
+
+// ./test/core/simd/simd_lane.wast:391
+assert_return(
+ () => invoke($0, `v8x16_shuffle-1`, [
+ i64x2([0xab54a98ceb1f0ad2n, 0x1234567890abcdefn]),
+ i64x2([0xab54a98ceb1f0ad2n, 0x1234567890abcdefn]),
+ ]),
+ [i32x4([0xeb1f0ad2, 0xab54a98c, 0x90abcdef, 0x12345678])],
+);
+
+// ./test/core/simd/simd_lane.wast:398
+assert_malformed(
+ () => instantiate(`(func (result i32) (i8x16.extract_lane_s -1 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:399
+assert_malformed(
+ () => instantiate(`(func (result i32) (i8x16.extract_lane_u -1 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:400
+assert_malformed(
+ () => instantiate(`(func (result i32) (i16x8.extract_lane_s -1 (v128.const i16x8 0 0 0 0 0 0 0 0))) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:401
+assert_malformed(
+ () => instantiate(`(func (result i32) (i16x8.extract_lane_u -1 (v128.const i16x8 0 0 0 0 0 0 0 0))) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:402
+assert_malformed(
+ () => instantiate(`(func (result i32) (i32x4.extract_lane -1 (v128.const i32x4 0 0 0 0))) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:403
+assert_malformed(
+ () => instantiate(`(func (result f32) (f32x4.extract_lane -1 (v128.const f32x4 0 0 0 0))) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:404
+assert_malformed(
+ () => instantiate(`(func (result v128) (i8x16.replace_lane -1 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) (i32.const 1))) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:405
+assert_malformed(
+ () => instantiate(`(func (result v128) (i16x8.replace_lane -1 (v128.const i16x8 0 0 0 0 0 0 0 0) (i32.const 1))) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:406
+assert_malformed(
+ () => instantiate(`(func (result v128) (i32x4.replace_lane -1 (v128.const i32x4 0 0 0 0) (i32.const 1))) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:407
+assert_malformed(
+ () => instantiate(`(func (result v128) (f32x4.replace_lane -1 (v128.const f32x4 0 0 0 0) (i32.const 1))) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:408
+assert_malformed(
+ () => instantiate(`(func (result i64) (i64x2.extract_lane -1 (v128.const i64x2 0 0))) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:409
+assert_malformed(
+ () => instantiate(`(func (result f64) (f64x2.extract_lane -1 (v128.const f64x2 0 0))) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:410
+assert_malformed(
+ () => instantiate(`(func (result v128) (i64x2.replace_lane -1 (v128.const i64x2 0 0) (i64.const 1))) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:411
+assert_malformed(
+ () => instantiate(`(func (result v128) (f64x2.replace_lane -1 (v128.const f64x2 0 0) (f64.const 1))) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:415
+assert_malformed(
+ () => instantiate(`(func (result i32) (i8x16.extract_lane_s 256 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))) `),
+ `malformed lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:416
+assert_malformed(
+ () => instantiate(`(func (result i32) (i8x16.extract_lane_u 256 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))) `),
+ `malformed lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:417
+assert_malformed(
+ () => instantiate(`(func (result i32) (i16x8.extract_lane_s 256 (v128.const i16x8 0 0 0 0 0 0 0 0))) `),
+ `malformed lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:418
+assert_malformed(
+ () => instantiate(`(func (result i32) (i16x8.extract_lane_u 256 (v128.const i16x8 0 0 0 0 0 0 0 0))) `),
+ `malformed lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:419
+assert_malformed(
+ () => instantiate(`(func (result i32) (i32x4.extract_lane 256 (v128.const i32x4 0 0 0 0))) `),
+ `malformed lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:420
+assert_malformed(
+ () => instantiate(`(func (result f32) (f32x4.extract_lane 256 (v128.const f32x4 0 0 0 0))) `),
+ `malformed lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:421
+assert_malformed(
+ () => instantiate(`(func (result v128) (i8x16.replace_lane 256 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) (i32.const 1))) `),
+ `malformed lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:422
+assert_malformed(
+ () => instantiate(`(func (result v128) (i16x8.replace_lane 256 (v128.const i16x8 0 0 0 0 0 0 0 0) (i32.const 1))) `),
+ `malformed lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:423
+assert_malformed(
+ () => instantiate(`(func (result v128) (i32x4.replace_lane 256 (v128.const i32x4 0 0 0 0) (i32.const 1))) `),
+ `malformed lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:424
+assert_malformed(
+ () => instantiate(`(func (result v128) (f32x4.replace_lane 256 (v128.const f32x4 0 0 0 0) (i32.const 1))) `),
+ `malformed lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:425
+assert_malformed(
+ () => instantiate(`(func (result i64) (i64x2.extract_lane 256 (v128.const i64x2 0 0))) `),
+ `malformed lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:426
+assert_malformed(
+ () => instantiate(`(func (result f64) (f64x2.extract_lane 256 (v128.const f64x2 0 0))) `),
+ `malformed lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:427
+assert_malformed(
+ () => instantiate(`(func (result v128) (i64x2.replace_lane 256 (v128.const i64x2 0 0) (i64.const 1))) `),
+ `malformed lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:428
+assert_malformed(
+ () => instantiate(`(func (result v128) (f64x2.replace_lane 256 (v128.const f64x2 0 0) (f64.const 1))) `),
+ `malformed lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:432
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (i8x16.extract_lane_s 16 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))))`),
+ `invalid lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:433
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (i8x16.extract_lane_s 255 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))))`),
+ `invalid lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:434
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (i8x16.extract_lane_u 16 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))))`),
+ `invalid lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:435
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (i8x16.extract_lane_u 255 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))))`),
+ `invalid lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:436
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (i16x8.extract_lane_s 8 (v128.const i16x8 0 0 0 0 0 0 0 0))))`),
+ `invalid lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:437
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (i16x8.extract_lane_s 255 (v128.const i16x8 0 0 0 0 0 0 0 0))))`),
+ `invalid lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:438
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (i16x8.extract_lane_u 8 (v128.const i16x8 0 0 0 0 0 0 0 0))))`),
+ `invalid lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:439
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (i16x8.extract_lane_u 255 (v128.const i16x8 0 0 0 0 0 0 0 0))))`),
+ `invalid lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:440
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (i32x4.extract_lane 4 (v128.const i32x4 0 0 0 0))))`),
+ `invalid lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:441
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (i32x4.extract_lane 255 (v128.const i32x4 0 0 0 0))))`),
+ `invalid lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:442
+assert_invalid(
+ () => instantiate(`(module (func (result f32) (f32x4.extract_lane 4 (v128.const f32x4 0 0 0 0))))`),
+ `invalid lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:443
+assert_invalid(
+ () => instantiate(`(module (func (result f32) (f32x4.extract_lane 255 (v128.const f32x4 0 0 0 0))))`),
+ `invalid lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:444
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i8x16.replace_lane 16 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) (i32.const 1))))`),
+ `invalid lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:445
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i8x16.replace_lane 255 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) (i32.const 1))))`),
+ `invalid lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:446
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i16x8.replace_lane 16 (v128.const i16x8 0 0 0 0 0 0 0 0) (i32.const 1))))`),
+ `invalid lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:447
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i16x8.replace_lane 255 (v128.const i16x8 0 0 0 0 0 0 0 0) (i32.const 1))))`),
+ `invalid lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:448
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i32x4.replace_lane 4 (v128.const i32x4 0 0 0 0) (i32.const 1))))`),
+ `invalid lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:449
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i32x4.replace_lane 255 (v128.const i32x4 0 0 0 0) (i32.const 1))))`),
+ `invalid lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:450
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (f32x4.replace_lane 4 (v128.const f32x4 0 0 0 0) (f32.const 1))))`),
+ `invalid lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:451
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (f32x4.replace_lane 255 (v128.const f32x4 0 0 0 0) (f32.const 1))))`),
+ `invalid lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:452
+assert_invalid(
+ () => instantiate(`(module (func (result i64) (i64x2.extract_lane 2 (v128.const i64x2 0 0))))`),
+ `invalid lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:453
+assert_invalid(
+ () => instantiate(`(module (func (result i64) (i64x2.extract_lane 255 (v128.const i64x2 0 0))))`),
+ `invalid lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:454
+assert_invalid(
+ () => instantiate(`(module (func (result f64) (f64x2.extract_lane 2 (v128.const f64x2 0 0))))`),
+ `invalid lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:455
+assert_invalid(
+ () => instantiate(`(module (func (result f64) (f64x2.extract_lane 255 (v128.const f64x2 0 0))))`),
+ `invalid lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:456
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i64x2.replace_lane 2 (v128.const i64x2 0 0) (i64.const 1))))`),
+ `invalid lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:457
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i64x2.replace_lane 255 (v128.const i64x2 0 0) (i64.const 1))))`),
+ `invalid lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:458
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (f64x2.replace_lane 2 (v128.const f64x2 0 0) (f64.const 1))))`),
+ `invalid lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:459
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (f64x2.replace_lane 255 (v128.const f64x2 0 0) (f64.const 1.0))))`),
+ `invalid lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:463
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (i16x8.extract_lane_s 8 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))))`),
+ `invalid lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:464
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (i16x8.extract_lane_u 8 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))))`),
+ `invalid lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:465
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (i32x4.extract_lane 4 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))))`),
+ `invalid lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:466
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (f32x4.extract_lane 4 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))))`),
+ `invalid lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:467
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i16x8.replace_lane 8 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) (i32.const 1))))`),
+ `invalid lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:468
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i32x4.replace_lane 4 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) (i32.const 1))))`),
+ `invalid lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:469
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (f32x4.replace_lane 4 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) (f32.const 1))))`),
+ `invalid lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:470
+assert_invalid(
+ () => instantiate(`(module (func (result i64) (i64x2.extract_lane 2 (v128.const i64x2 0 0))))`),
+ `invalid lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:471
+assert_invalid(
+ () => instantiate(`(module (func (result f64) (f64x2.extract_lane 2 (v128.const f64x2 0 0))))`),
+ `invalid lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:472
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i64x2.replace_lane 2 (v128.const i64x2 0 0) (i64.const 1))))`),
+ `invalid lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:473
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (f64x2.replace_lane 2 (v128.const f64x2 0 0) (f64.const 1.0))))`),
+ `invalid lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:477
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (i8x16.extract_lane_s 0 (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_lane.wast:478
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (i8x16.extract_lane_u 0 (i64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_lane.wast:479
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (i8x16.extract_lane_s 0 (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_lane.wast:480
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (i8x16.extract_lane_u 0 (f64.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_lane.wast:481
+assert_invalid(
+ () => instantiate(`(module (func (result i32) (i32x4.extract_lane 0 (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_lane.wast:482
+assert_invalid(
+ () => instantiate(`(module (func (result f32) (f32x4.extract_lane 0 (f32.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_lane.wast:483
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i8x16.replace_lane 0 (i32.const 0) (i32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_lane.wast:484
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i16x8.replace_lane 0 (i64.const 0) (i32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_lane.wast:485
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i32x4.replace_lane 0 (i32.const 0) (i32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_lane.wast:486
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (f32x4.replace_lane 0 (f32.const 0.0) (i32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_lane.wast:487
+assert_invalid(
+ () => instantiate(`(module (func (result i64) (i64x2.extract_lane 0 (i64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_lane.wast:488
+assert_invalid(
+ () => instantiate(`(module (func (result f64) (f64x2.extract_lane 0 (f64.const 0.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_lane.wast:489
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i32x4.replace_lane 0 (i32.const 0) (i32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_lane.wast:490
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (f32x4.replace_lane 0 (f32.const 0.0) (i32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_lane.wast:494
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i8x16.replace_lane 0 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) (f32.const 1.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_lane.wast:495
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i16x8.replace_lane 0 (v128.const i16x8 0 0 0 0 0 0 0 0) (f64.const 1.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_lane.wast:496
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i32x4.replace_lane 0 (v128.const i32x4 0 0 0 0) (f32.const 1.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_lane.wast:497
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (f32x4.replace_lane 0 (v128.const f32x4 0 0 0 0) (i32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_lane.wast:499
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (i64x2.replace_lane 0 (v128.const i64x2 0 0) (f64.const 1.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_lane.wast:500
+assert_invalid(
+ () => instantiate(`(module (func (result v128) (f64x2.replace_lane 0 (v128.const f64x2 0 0) (i64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_lane.wast:503
+assert_invalid(
+ () => instantiate(`(module (func (result v128)
+ (i8x16.swizzle (i32.const 1) (v128.const i8x16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_lane.wast:505
+assert_invalid(
+ () => instantiate(`(module (func (result v128)
+ (i8x16.swizzle (v128.const i8x16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0) (i32.const 2))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_lane.wast:507
+assert_invalid(
+ () => instantiate(`(module (func (result v128)
+ (i8x16.shuffle 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 (f32.const 3.0)
+ (v128.const i8x16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_lane.wast:510
+assert_invalid(
+ () => instantiate(`(module (func (result v128)
+ (i8x16.shuffle 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+ (v128.const i8x16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0) (f32.const 4.0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_lane.wast:515
+assert_malformed(
+ () => instantiate(`(func (param v128) (result v128) (i8x16.shuffle 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 (local.get 0) (local.get 0))) `),
+ `invalid lane length`,
+);
+
+// ./test/core/simd/simd_lane.wast:518
+assert_malformed(
+ () => instantiate(`(func (param v128) (result v128) (i8x16.shuffle 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 (local.get 0) (local.get 0))) `),
+ `invalid lane length`,
+);
+
+// ./test/core/simd/simd_lane.wast:521
+assert_malformed(
+ () => instantiate(`(func (result v128) (i8x16.shuffle 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 -1 (v128.const i8x16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0) (v128.const i8x16 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15))) `),
+ `malformed lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:525
+assert_malformed(
+ () => instantiate(`(func (result v128) (i8x16.shuffle 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 256 (v128.const i8x16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0) (v128.const i8x16 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15))) `),
+ `malformed lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:529
+assert_invalid(
+ () => instantiate(`(module (func (result v128)
+ (i8x16.shuffle 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 255
+ (v128.const i8x16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0)
+ (v128.const i8x16 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15))))`),
+ `invalid lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:536
+assert_malformed(
+ () => instantiate(`(func (result i32) (i8x16.extract_lane 0 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_lane.wast:537
+assert_malformed(
+ () => instantiate(`(func (result i32) (i16x8.extract_lane 0 (v128.const i16x8 0 0 0 0 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_lane.wast:538
+assert_malformed(
+ () => instantiate(`(func (result i32) (i32x4.extract_lane_s 0 (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_lane.wast:539
+assert_malformed(
+ () => instantiate(`(func (result i32) (i32x4.extract_lane_u 0 (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_lane.wast:540
+assert_malformed(
+ () => instantiate(`(func (result i32) (i64x2.extract_lane_s 0 (v128.const i64x2 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_lane.wast:541
+assert_malformed(
+ () => instantiate(`(func (result i32) (i64x2.extract_lane_u 0 (v128.const i64x2 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_lane.wast:545
+assert_malformed(
+ () => instantiate(`(func (result v128) (i8x16.shuffle1 (v128.const i8x16 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15) (v128.const i8x16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_lane.wast:549
+assert_malformed(
+ () => instantiate(`(func (result v128) (i8x16.shuffle2_imm 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 (v128.const i8x16 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15) (v128.const i8x16 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_lane.wast:555
+assert_malformed(
+ () => instantiate(`(func (result v128) (v8x16.swizzle (v128.const i8x16 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15) (v128.const i8x16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_lane.wast:559
+assert_malformed(
+ () => instantiate(`(func (result v128) (v8x16.shuffle 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 (v128.const i8x16 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15) (v128.const i8x16 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_lane.wast:570
+assert_malformed(
+ () => instantiate(`(func (param i32) (result i32) (i8x16.extract_lane_s (local.get 0) (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:571
+assert_malformed(
+ () => instantiate(`(func (param i32) (result i32) (i8x16.extract_lane_u (local.get 0) (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:572
+assert_malformed(
+ () => instantiate(`(func (param i32) (result i32) (i16x8.extract_lane_s (local.get 0) (v128.const i16x8 0 0 0 0 0 0 0 0))) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:573
+assert_malformed(
+ () => instantiate(`(func (param i32) (result i32) (i16x8.extract_lane_u (local.get 0) (v128.const i16x8 0 0 0 0 0 0 0 0))) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:574
+assert_malformed(
+ () => instantiate(`(func (param i32) (result i32) (i32x4.extract_lane (local.get 0) (v128.const i32x4 0 0 0 0))) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:575
+assert_malformed(
+ () => instantiate(`(func (param i32) (result f32) (f32x4.extract_lane (local.get 0) (v128.const f32x4 0 0 0 0))) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:576
+assert_malformed(
+ () => instantiate(`(func (param i32) (result v128) (i8x16.replace_lane (local.get 0) (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) (i32.const 1))) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:577
+assert_malformed(
+ () => instantiate(`(func (param i32) (result v128) (i16x8.replace_lane (local.get 0) (v128.const i16x8 0 0 0 0 0 0 0 0) (i32.const 1))) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:578
+assert_malformed(
+ () => instantiate(`(func (param i32) (result v128) (i32x4.replace_lane (local.get 0) (v128.const i32x4 0 0 0 0) (i32.const 1))) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:579
+assert_malformed(
+ () => instantiate(`(func (param i32) (result v128) (f32x4.replace_lane (local.get 0) (v128.const f32x4 0 0 0 0) (f32.const 1.0))) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:581
+assert_malformed(
+ () => instantiate(`(func (param i32) (result i64) (i64x2.extract_lane (local.get 0) (v128.const i64x2 0 0))) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:582
+assert_malformed(
+ () => instantiate(`(func (param i32) (result f64) (f64x2.extract_lane (local.get 0) (v128.const f64x2 0 0))) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:583
+assert_malformed(
+ () => instantiate(`(func (param i32) (result v128) (i64x2.replace_lane (local.get 0) (v128.const i64x2 0 0) (i64.const 1))) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:584
+assert_malformed(
+ () => instantiate(`(func (param i32) (result v128) (f64x2.replace_lane (local.get 0) (v128.const f64x2 0 0) (f64.const 1.0))) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:588
+assert_malformed(
+ () => instantiate(`(func (result i32) (i8x16.extract_lane_s 1.5 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:589
+assert_malformed(
+ () => instantiate(`(func (result i32) (i8x16.extract_lane_u nan (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:590
+assert_malformed(
+ () => instantiate(`(func (result i32) (i16x8.extract_lane_s inf (v128.const i16x8 0 0 0 0 0 0 0 0))) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:591
+assert_malformed(
+ () => instantiate(`(func (result i32) (i16x8.extract_lane_u -inf (v128.const i16x8 0 0 0 0 0 0 0 0))) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:592
+assert_malformed(
+ () => instantiate(`(func (result i32) (i32x4.extract_lane nan (v128.const i32x4 0 0 0 0))) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:593
+assert_malformed(
+ () => instantiate(`(func (result f32) (f32x4.extract_lane nan (v128.const f32x4 0 0 0 0))) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:594
+assert_malformed(
+ () => instantiate(`(func (result v128) (i8x16.replace_lane -2.5 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) (i32.const 1))) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:595
+assert_malformed(
+ () => instantiate(`(func (result v128) (i16x8.replace_lane nan (v128.const i16x8 0 0 0 0 0 0 0 0) (i32.const 1))) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:596
+assert_malformed(
+ () => instantiate(`(func (result v128) (i32x4.replace_lane inf (v128.const i32x4 0 0 0 0) (i32.const 1))) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:597
+assert_malformed(
+ () => instantiate(`(func (result v128) (f32x4.replace_lane -inf (v128.const f32x4 0 0 0 0) (f32.const 1.1))) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:600
+assert_malformed(
+ () => instantiate(`(func (result v128) (i8x16.shuffle (v128.const i8x16 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31) (v128.const i8x16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0) (v128.const i8x16 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15))) `),
+ `invalid lane length`,
+);
+
+// ./test/core/simd/simd_lane.wast:604
+assert_malformed(
+ () => instantiate(`(func (result v128) (i8x16.shuffle 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15.0) (v128.const i8x16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0) (v128.const i8x16 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15))) `),
+ `malformed lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:608
+assert_malformed(
+ () => instantiate(`(func (result v128) (i8x16.shuffle 0.5 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15) (v128.const i8x16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0) (v128.const i8x16 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15))) `),
+ `malformed lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:612
+assert_malformed(
+ () => instantiate(`(func (result v128) (i8x16.shuffle -inf 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15) (v128.const i8x16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0) (v128.const i8x16 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15))) `),
+ `malformed lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:616
+assert_malformed(
+ () => instantiate(`(func (result v128) (i8x16.shuffle 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 inf) (v128.const i8x16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0) (v128.const i8x16 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15))) `),
+ `malformed lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:620
+assert_malformed(
+ () => instantiate(`(func (result v128) (i8x16.shuffle nan 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15) (v128.const i8x16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0) (v128.const i8x16 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15))) `),
+ `malformed lane index`,
+);
+
+// ./test/core/simd/simd_lane.wast:628
+let $1 = instantiate(`(module
+ ;; as *.replace_lane's operand
+ (func (export "i8x16_extract_lane_s") (param v128 v128) (result v128)
+ (i8x16.replace_lane 0 (local.get 0) (i8x16.extract_lane_s 0 (local.get 1))))
+ (func (export "i8x16_extract_lane_u") (param v128 v128) (result v128)
+ (i8x16.replace_lane 0 (local.get 0) (i8x16.extract_lane_u 0 (local.get 1))))
+ (func (export "i16x8_extract_lane_s") (param v128 v128) (result v128)
+ (i16x8.replace_lane 0 (local.get 0) (i16x8.extract_lane_s 0 (local.get 1))))
+ (func (export "i16x8_extract_lane_u") (param v128 v128) (result v128)
+ (i16x8.replace_lane 0 (local.get 0) (i16x8.extract_lane_u 0 (local.get 1))))
+ (func (export "i32x4_extract_lane") (param v128 v128) (result v128)
+ (i32x4.replace_lane 0 (local.get 0) (i32x4.extract_lane 0 (local.get 1))))
+ (func (export "f32x4_extract_lane") (param v128 v128) (result v128)
+ (i32x4.replace_lane 0 (local.get 0) (i32x4.extract_lane 0 (local.get 1))))
+ (func (export "i64x2_extract_lane") (param v128 v128) (result v128)
+ (i64x2.replace_lane 0 (local.get 0) (i64x2.extract_lane 0 (local.get 1))))
+ (func (export "f64x2_extract_lane") (param v128 v128) (result v128)
+ (f64x2.replace_lane 0 (local.get 0) (f64x2.extract_lane 0 (local.get 1))))
+
+ ;; as *.extract_lane's operand
+ (func (export "i8x16_replace_lane-s") (param v128 i32) (result i32)
+ (i8x16.extract_lane_s 15 (i8x16.replace_lane 15 (local.get 0) (local.get 1))))
+ (func (export "i8x16_replace_lane-u") (param v128 i32) (result i32)
+ (i8x16.extract_lane_u 15 (i8x16.replace_lane 15 (local.get 0) (local.get 1))))
+ (func (export "i16x8_replace_lane-s") (param v128 i32) (result i32)
+ (i16x8.extract_lane_s 7 (i16x8.replace_lane 7 (local.get 0) (local.get 1))))
+ (func (export "i16x8_replace_lane-u") (param v128 i32) (result i32)
+ (i16x8.extract_lane_u 7 (i16x8.replace_lane 7 (local.get 0) (local.get 1))))
+ (func (export "i32x4_replace_lane") (param v128 i32) (result i32)
+ (i32x4.extract_lane 3 (i32x4.replace_lane 3 (local.get 0) (local.get 1))))
+ (func (export "f32x4_replace_lane") (param v128 f32) (result f32)
+ (f32x4.extract_lane 3 (f32x4.replace_lane 3 (local.get 0) (local.get 1))))
+ (func (export "i64x2_replace_lane") (param v128 i64) (result i64)
+ (i64x2.extract_lane 1 (i64x2.replace_lane 1 (local.get 0) (local.get 1))))
+ (func (export "f64x2_replace_lane") (param v128 f64) (result f64)
+ (f64x2.extract_lane 1 (f64x2.replace_lane 1 (local.get 0) (local.get 1))))
+
+ ;; i8x16.replace outputs as shuffle operand
+ (func (export "as-v8x16_swizzle-operand") (param v128 i32 v128) (result v128)
+ (i8x16.swizzle (i8x16.replace_lane 0 (local.get 0) (local.get 1)) (local.get 2)))
+ (func (export "as-v8x16_shuffle-operands") (param v128 i32 v128 i32) (result v128)
+ (i8x16.shuffle 16 1 18 3 20 5 22 7 24 9 26 11 28 13 30 15
+ (i8x16.replace_lane 0 (local.get 0) (local.get 1))
+ (i8x16.replace_lane 15 (local.get 2) (local.get 3))))
+)`);
+
+// ./test/core/simd/simd_lane.wast:674
+assert_return(
+ () => invoke($1, `i8x16_extract_lane_s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:675
+assert_return(
+ () => invoke($1, `i8x16_extract_lane_u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ]),
+ [
+ i8x16([0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:676
+assert_return(
+ () => invoke($1, `i16x8_extract_lane_s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_lane.wast:677
+assert_return(
+ () => invoke($1, `i16x8_extract_lane_u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]),
+ ]),
+ [i16x8([0xffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_lane.wast:678
+assert_return(
+ () => invoke($1, `i32x4_extract_lane`, [
+ i32x4([0x0, 0x0, 0x0, 0x0]),
+ i32x4([0x10000, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [i32x4([0x10000, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_lane.wast:679
+assert_return(
+ () => invoke($1, `f32x4_extract_lane`, [
+ f32x4([0, 0, 0, 0]),
+ bytes('v128', [
+ 0x99,
+ 0x76,
+ 0x96,
+ 0x7e,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 100000000000000000000000000000000000000),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:680
+assert_return(
+ () => invoke($1, `i8x16_replace_lane-s`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ 255,
+ ]),
+ [value("i32", -1)],
+);
+
+// ./test/core/simd/simd_lane.wast:681
+assert_return(
+ () => invoke($1, `i8x16_replace_lane-u`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ 255,
+ ]),
+ [value("i32", 255)],
+);
+
+// ./test/core/simd/simd_lane.wast:682
+assert_return(
+ () => invoke($1, `i16x8_replace_lane-s`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ 65535,
+ ]),
+ [value("i32", -1)],
+);
+
+// ./test/core/simd/simd_lane.wast:683
+assert_return(
+ () => invoke($1, `i16x8_replace_lane-u`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ 65535,
+ ]),
+ [value("i32", 65535)],
+);
+
+// ./test/core/simd/simd_lane.wast:684
+assert_return(
+ () => invoke($1, `i32x4_replace_lane`, [i32x4([0x0, 0x0, 0x0, 0x0]), -1]),
+ [value("i32", -1)],
+);
+
+// ./test/core/simd/simd_lane.wast:685
+assert_return(
+ () => invoke($1, `f32x4_replace_lane`, [f32x4([0, 0, 0, 0]), value("f32", 1.25)]),
+ [value("f32", 1.25)],
+);
+
+// ./test/core/simd/simd_lane.wast:687
+assert_return(
+ () => invoke($1, `i64x2_extract_lane`, [
+ i64x2([0x0n, 0x0n]),
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [i64x2([0xffffffffffffffffn, 0x0n])],
+);
+
+// ./test/core/simd/simd_lane.wast:688
+assert_return(
+ () => invoke($1, `f64x2_extract_lane`, [
+ f64x2([0, 0]),
+ bytes('v128', [
+ 0xa0,
+ 0xc8,
+ 0xeb,
+ 0x85,
+ 0xf3,
+ 0xcc,
+ 0xe1,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:689
+assert_return(() => invoke($1, `i64x2_replace_lane`, [i64x2([0x0n, 0x0n]), -1n]), [value("i64", -1n)]);
+
+// ./test/core/simd/simd_lane.wast:690
+assert_return(
+ () => invoke($1, `f64x2_replace_lane`, [f64x2([0, 0]), value("f64", 2.5)]),
+ [value("f64", 2.5)],
+);
+
+// ./test/core/simd/simd_lane.wast:692
+assert_return(
+ () => invoke($1, `as-v8x16_swizzle-operand`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ 255,
+ i8x16([0xff, 0xf, 0xe, 0xd, 0xc, 0xb, 0xa, 0x9, 0x8, 0x7, 0x6, 0x5, 0x4, 0x3, 0x2, 0x1]),
+ ]),
+ [
+ i8x16([0x0, 0xf, 0xe, 0xd, 0xc, 0xb, 0xa, 0x9, 0x8, 0x7, 0x6, 0x5, 0x4, 0x3, 0x2, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:696
+assert_return(
+ () => invoke($1, `as-v8x16_shuffle-operands`, [
+ i8x16([0x0, 0xff, 0x0, 0xff, 0xf, 0xff, 0x0, 0xff, 0xff, 0xff, 0x0, 0xff, 0x7f, 0xff, 0x0, 0xff]),
+ 1,
+ i8x16([0x55, 0x0, 0x55, 0x0, 0x55, 0x0, 0x55, 0x0, 0x55, 0x0, 0x55, 0x0, 0x55, 0x1, 0x55, 0xff]),
+ 0,
+ ]),
+ [
+ i8x16([0x55, 0xff, 0x55, 0xff, 0x55, 0xff, 0x55, 0xff, 0x55, 0xff, 0x55, 0xff, 0x55, 0xff, 0x55, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:703
+let $2 = instantiate(`(module
+ ;; Constructing SIMD values
+ (func (export "as-i8x16_splat-operand") (param v128) (result v128)
+ (i8x16.splat (i8x16.extract_lane_s 0 (local.get 0))))
+ (func (export "as-i16x8_splat-operand") (param v128) (result v128)
+ (i16x8.splat (i16x8.extract_lane_u 0 (local.get 0))))
+ (func (export "as-i32x4_splat-operand") (param v128) (result v128)
+ (i32x4.splat (i32x4.extract_lane 0 (local.get 0))))
+ (func (export "as-f32x4_splat-operand") (param v128) (result v128)
+ (f32x4.splat (f32x4.extract_lane 0 (local.get 0))))
+ (func (export "as-i64x2_splat-operand") (param v128) (result v128)
+ (i64x2.splat (i64x2.extract_lane 0 (local.get 0))))
+ (func (export "as-f64x2_splat-operand") (param v128) (result v128)
+ (f64x2.splat (f64x2.extract_lane 0 (local.get 0))))
+
+ ;; Integer arithmetic
+ (func (export "as-i8x16_add-operands") (param v128 i32 v128 i32) (result v128)
+ (i8x16.add (i8x16.replace_lane 0 (local.get 0) (local.get 1)) (i8x16.replace_lane 15 (local.get 2) (local.get 3))))
+ (func (export "as-i16x8_add-operands") (param v128 i32 v128 i32) (result v128)
+ (i16x8.add (i16x8.replace_lane 0 (local.get 0) (local.get 1)) (i16x8.replace_lane 7 (local.get 2) (local.get 3))))
+ (func (export "as-i32x4_add-operands") (param v128 i32 v128 i32) (result v128)
+ (i32x4.add (i32x4.replace_lane 0 (local.get 0) (local.get 1)) (i32x4.replace_lane 3 (local.get 2) (local.get 3))))
+ (func (export "as-i64x2_add-operands") (param v128 i64 v128 i64) (result v128)
+ (i64x2.add (i64x2.replace_lane 0 (local.get 0) (local.get 1)) (i64x2.replace_lane 1 (local.get 2) (local.get 3))))
+
+ (func (export "swizzle-as-i8x16_add-operands") (param v128 v128 v128 v128) (result v128)
+ (i8x16.add (i8x16.swizzle (local.get 0) (local.get 1)) (i8x16.swizzle (local.get 2) (local.get 3))))
+ (func (export "shuffle-as-i8x16_sub-operands") (param v128 v128 v128 v128) (result v128)
+ (i8x16.sub (i8x16.shuffle 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 (local.get 0) (local.get 1))
+ (i8x16.shuffle 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 (local.get 2) (local.get 3))))
+
+ ;; Boolean horizontal reductions
+ (func (export "as-i8x16_any_true-operand") (param v128 i32) (result i32)
+ (v128.any_true (i8x16.replace_lane 0 (local.get 0) (local.get 1))))
+ (func (export "as-i16x8_any_true-operand") (param v128 i32) (result i32)
+ (v128.any_true (i16x8.replace_lane 0 (local.get 0) (local.get 1))))
+ (func (export "as-i32x4_any_true-operand1") (param v128 i32) (result i32)
+ (v128.any_true (i32x4.replace_lane 0 (local.get 0) (local.get 1))))
+ (func (export "as-i32x4_any_true-operand2") (param v128 i64) (result i32)
+ (v128.any_true (i64x2.replace_lane 0 (local.get 0) (local.get 1))))
+
+ (func (export "swizzle-as-i8x16_all_true-operands") (param v128 v128) (result i32)
+ (i8x16.all_true (i8x16.swizzle (local.get 0) (local.get 1))))
+ (func (export "shuffle-as-i8x16_any_true-operands") (param v128 v128) (result i32)
+ (v128.any_true (i8x16.shuffle 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 (local.get 0) (local.get 1))))
+)`);
+
+// ./test/core/simd/simd_lane.wast:750
+assert_return(
+ () => invoke($2, `as-i8x16_splat-operand`, [
+ i8x16([0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:751
+assert_return(
+ () => invoke($2, `as-i16x8_splat-operand`, [
+ i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_lane.wast:752
+assert_return(
+ () => invoke($2, `as-i32x4_splat-operand`, [i32x4([0x10000, 0x0, 0x0, 0x0])]),
+ [i32x4([0x10000, 0x10000, 0x10000, 0x10000])],
+);
+
+// ./test/core/simd/simd_lane.wast:753
+assert_return(
+ () => invoke($2, `as-f32x4_splat-operand`, [
+ bytes('v128', [
+ 0xc3,
+ 0xf5,
+ 0x48,
+ 0x40,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0xc0,
+ 0x7f,
+ ]),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 3.14),
+ value("f32", 3.14),
+ value("f32", 3.14),
+ value("f32", 3.14),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:754
+assert_return(
+ () => invoke($2, `as-i64x2_splat-operand`, [i64x2([0xffffffffffffffffn, 0x0n])]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_lane.wast:755
+assert_return(
+ () => invoke($2, `as-f64x2_splat-operand`, [
+ bytes('v128', [
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf0,
+ 0x7f,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0xf8,
+ 0x7f,
+ ]),
+ ]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_lane.wast:756
+assert_return(
+ () => invoke($2, `as-i8x16_add-operands`, [
+ i8x16([0xff, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf, 0x10]),
+ 1,
+ i8x16([0x10, 0xf, 0xe, 0xd, 0xc, 0xb, 0xa, 0x9, 0x8, 0x7, 0x6, 0x5, 0x4, 0x3, 0x2, 0xff]),
+ 1,
+ ]),
+ [
+ i8x16([0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11]),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:760
+assert_return(
+ () => invoke($2, `as-i16x8_add-operands`, [
+ i16x8([0xffff, 0x4, 0x9, 0x10, 0x19, 0x24, 0x31, 0x40]),
+ 1,
+ i16x8([0x40, 0x31, 0x24, 0x19, 0x10, 0x9, 0x4, 0xffff]),
+ 1,
+ ]),
+ [i16x8([0x41, 0x35, 0x2d, 0x29, 0x29, 0x2d, 0x35, 0x41])],
+);
+
+// ./test/core/simd/simd_lane.wast:764
+assert_return(
+ () => invoke($2, `as-i32x4_add-operands`, [
+ i32x4([0xffffffff, 0x8, 0x1b, 0x40]),
+ 1,
+ i32x4([0x40, 0x1b, 0x8, 0xffffffff]),
+ 1,
+ ]),
+ [i32x4([0x41, 0x23, 0x23, 0x41])],
+);
+
+// ./test/core/simd/simd_lane.wast:766
+assert_return(
+ () => invoke($2, `as-i64x2_add-operands`, [
+ i64x2([0xffffffffffffffffn, 0x8n]),
+ 1n,
+ i64x2([0x40n, 0x1bn]),
+ 1n,
+ ]),
+ [i64x2([0x41n, 0x9n])],
+);
+
+// ./test/core/simd/simd_lane.wast:769
+assert_return(
+ () => invoke($2, `swizzle-as-i8x16_add-operands`, [
+ i8x16([0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff]),
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i8x16([0xf, 0xe, 0xd, 0xc, 0xb, 0xa, 0x9, 0x8, 0x7, 0x6, 0x5, 0x4, 0x3, 0x2, 0x1, 0x0]),
+ ]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:775
+assert_return(
+ () => invoke($2, `shuffle-as-i8x16_sub-operands`, [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ i8x16([0xf, 0xe, 0xd, 0xc, 0xb, 0xa, 0x9, 0x8, 0x7, 0x6, 0x5, 0x4, 0x3, 0x2, 0x1, 0x0]),
+ i8x16([0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff]),
+ i8x16([0xf, 0xe, 0xd, 0xc, 0xb, 0xa, 0x9, 0x8, 0x7, 0x6, 0x5, 0x4, 0x3, 0x2, 0x1, 0x0]),
+ ]),
+ [
+ i8x16([0xf1, 0xf3, 0xf5, 0xf7, 0xf9, 0xfb, 0xfd, 0xff, 0x1, 0x3, 0x5, 0x7, 0x9, 0xb, 0xd, 0xf]),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:782
+assert_return(
+ () => invoke($2, `as-i8x16_any_true-operand`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ 1,
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_lane.wast:783
+assert_return(
+ () => invoke($2, `as-i16x8_any_true-operand`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ 1,
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_lane.wast:784
+assert_return(
+ () => invoke($2, `as-i32x4_any_true-operand1`, [i32x4([0x1, 0x0, 0x0, 0x0]), 0]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_lane.wast:785
+assert_return(
+ () => invoke($2, `as-i32x4_any_true-operand2`, [i64x2([0x1n, 0x0n]), 0n]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_lane.wast:787
+assert_return(
+ () => invoke($2, `swizzle-as-i8x16_all_true-operands`, [
+ i8x16([0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf, 0x10]),
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_lane.wast:790
+assert_return(
+ () => invoke($2, `swizzle-as-i8x16_all_true-operands`, [
+ i8x16([0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff]),
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0x10]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_lane.wast:793
+assert_return(
+ () => invoke($2, `shuffle-as-i8x16_any_true-operands`, [
+ i8x16([0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff]),
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ]),
+ [value("i32", 1)],
+);
+
+// ./test/core/simd/simd_lane.wast:799
+let $3 = instantiate(`(module
+ (memory 1)
+ (func (export "as-v128_store-operand-1") (param v128 i32) (result v128)
+ (v128.store (i32.const 0) (i8x16.replace_lane 0 (local.get 0) (local.get 1)))
+ (v128.load (i32.const 0)))
+ (func (export "as-v128_store-operand-2") (param v128 i32) (result v128)
+ (v128.store (i32.const 0) (i16x8.replace_lane 0 (local.get 0) (local.get 1)))
+ (v128.load (i32.const 0)))
+ (func (export "as-v128_store-operand-3") (param v128 i32) (result v128)
+ (v128.store (i32.const 0) (i32x4.replace_lane 0 (local.get 0) (local.get 1)))
+ (v128.load (i32.const 0)))
+ (func (export "as-v128_store-operand-4") (param v128 f32) (result v128)
+ (v128.store (i32.const 0) (f32x4.replace_lane 0 (local.get 0) (local.get 1)))
+ (v128.load (i32.const 0)))
+ (func (export "as-v128_store-operand-5") (param v128 i64) (result v128)
+ (v128.store (i32.const 0) (i64x2.replace_lane 0 (local.get 0) (local.get 1)))
+ (v128.load (i32.const 0)))
+ (func (export "as-v128_store-operand-6") (param v128 f64) (result v128)
+ (v128.store (i32.const 0) (f64x2.replace_lane 0 (local.get 0) (local.get 1)))
+ (v128.load (i32.const 0)))
+)`);
+
+// ./test/core/simd/simd_lane.wast:821
+assert_return(
+ () => invoke($3, `as-v128_store-operand-1`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ 1,
+ ]),
+ [
+ i8x16([0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:822
+assert_return(
+ () => invoke($3, `as-v128_store-operand-2`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ 256,
+ ]),
+ [i16x8([0x100, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_lane.wast:823
+assert_return(
+ () => invoke($3, `as-v128_store-operand-3`, [i32x4([0x0, 0x0, 0x0, 0x0]), -1]),
+ [i32x4([0xffffffff, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_lane.wast:824
+assert_return(
+ () => invoke($3, `as-v128_store-operand-4`, [f32x4([0, 0, 0, 0]), value("f32", 3.14)]),
+ [
+ new F32x4Pattern(
+ value("f32", 3.14),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:825
+assert_return(
+ () => invoke($3, `as-v128_store-operand-5`, [i64x2([0x0n, 0x0n]), -1n]),
+ [i64x2([0xffffffffffffffffn, 0x0n])],
+);
+
+// ./test/core/simd/simd_lane.wast:826
+assert_return(
+ () => invoke($3, `as-v128_store-operand-6`, [f64x2([0, 0]), value("f64", 3.14)]),
+ [new F64x2Pattern(value("f64", 3.14), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_lane.wast:830
+let $4 = instantiate(`(module
+ (global $$g (mut v128) (v128.const f32x4 0.0 0.0 0.0 0.0))
+ (global $$h (mut v128) (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))
+ (func (export "as-if-condition-value") (param v128) (result i32)
+ (if (result i32) (i8x16.extract_lane_s 0 (local.get 0)) (then (i32.const 0xff)) (else (i32.const 0))))
+ (func (export "as-return-value-1") (param v128 i32) (result v128)
+ (return (i16x8.replace_lane 0 (local.get 0) (local.get 1))))
+ (func (export "as-local_set-value") (param v128) (result i32) (local i32)
+ (local.set 1 (i32x4.extract_lane 0 (local.get 0)))
+ (return (local.get 1)))
+ (func (export "as-global_set-value-1") (param v128 f32) (result v128)
+ (global.set $$g (f32x4.replace_lane 0 (local.get 0) (local.get 1)))
+ (return (global.get $$g)))
+
+ (func (export "as-return-value-2") (param v128 v128) (result v128)
+ (return (i8x16.swizzle (local.get 0) (local.get 1))))
+ (func (export "as-global_set-value-2") (param v128 v128) (result v128)
+ (global.set $$h (i8x16.shuffle 0 1 2 3 4 5 6 7 24 25 26 27 28 29 30 31 (local.get 0) (local.get 1)))
+ (return (global.get $$h)))
+
+ (func (export "as-local_set-value-1") (param v128) (result i64) (local i64)
+ (local.set 1 (i64x2.extract_lane 0 (local.get 0)))
+ (return (local.get 1)))
+ (func (export "as-global_set-value-3") (param v128 f64) (result v128)
+ (global.set $$g (f64x2.replace_lane 0 (local.get 0) (local.get 1)))
+ (return (global.get $$g)))
+)`);
+
+// ./test/core/simd/simd_lane.wast:858
+assert_return(
+ () => invoke($4, `as-if-condition-value`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i32", 0)],
+);
+
+// ./test/core/simd/simd_lane.wast:859
+assert_return(
+ () => invoke($4, `as-return-value-1`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ 1,
+ ]),
+ [i16x8([0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_lane.wast:860
+assert_return(
+ () => invoke($4, `as-local_set-value`, [
+ i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]),
+ ]),
+ [value("i32", -1)],
+);
+
+// ./test/core/simd/simd_lane.wast:861
+assert_return(
+ () => invoke($4, `as-global_set-value-1`, [f32x4([0, 0, 0, 0]), value("f32", 3.14)]),
+ [
+ new F32x4Pattern(
+ value("f32", 3.14),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:863
+assert_return(
+ () => invoke($4, `as-return-value-2`, [
+ i8x16([0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff]),
+ i8x16([0xf, 0xe, 0xd, 0xc, 0xb, 0xa, 0x9, 0x8, 0x7, 0x6, 0x5, 0x4, 0x3, 0x2, 0x1, 0x0]),
+ ]),
+ [
+ i8x16([0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0]),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:867
+assert_return(
+ () => invoke($4, `as-global_set-value-2`, [
+ i8x16([0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff]),
+ i8x16([0x10, 0xf, 0xe, 0xd, 0xc, 0xb, 0xa, 0x9, 0x8, 0x7, 0x6, 0x5, 0x4, 0x3, 0x2, 0x1]),
+ ]),
+ [
+ i8x16([0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0x8, 0x7, 0x6, 0x5, 0x4, 0x3, 0x2, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_lane.wast:872
+assert_return(
+ () => invoke($4, `as-local_set-value-1`, [
+ i64x2([0xffffffffffffffffn, 0xffffffffffffffffn]),
+ ]),
+ [value("i64", -1n)],
+);
+
+// ./test/core/simd/simd_lane.wast:873
+assert_return(
+ () => invoke($4, `as-global_set-value-3`, [f64x2([0, 0]), value("f64", 3.14)]),
+ [new F64x2Pattern(value("f64", 3.14), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_lane.wast:877
+assert_malformed(
+ () => instantiate(`(func (result i32) (i8x16.extract_lane_u +0x0f (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:878
+assert_malformed(
+ () => instantiate(`(func (result f32) (f32x4.extract_lane +03 (v128.const f32x4 0 0 0 0))) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:879
+assert_malformed(
+ () => instantiate(`(func (result i64) (i64x2.extract_lane +1 (v128.const i64x2 0 0))) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:880
+assert_malformed(
+ () => instantiate(`(func (result v128) (i8x16.replace_lane +015 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) (i32.const 1))) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:881
+assert_malformed(
+ () => instantiate(`(func (result v128) (i16x8.replace_lane +0x7 (v128.const i16x8 0 0 0 0 0 0 0 0) (i32.const 1))) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:882
+assert_malformed(
+ () => instantiate(`(func (result v128) (i32x4.replace_lane +3 (v128.const i32x4 0 0 0 0) (i32.const 1))) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:883
+assert_malformed(
+ () => instantiate(`(func (result v128) (f64x2.replace_lane +0x01 (v128.const f64x2 0 0) (f64.const 1.0))) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:887
+let $5 = instantiate(`(module (func (result i32) (i8x16.extract_lane_s 0x0f (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))))`);
+
+// ./test/core/simd/simd_lane.wast:888
+let $6 = instantiate(`(module (func (result i32) (i16x8.extract_lane_s 0x07 (v128.const i16x8 0 0 0 0 0 0 0 0))))`);
+
+// ./test/core/simd/simd_lane.wast:889
+let $7 = instantiate(`(module (func (result i32) (i16x8.extract_lane_u 0x0_7 (v128.const i16x8 0 0 0 0 0 0 0 0))))`);
+
+// ./test/core/simd/simd_lane.wast:890
+let $8 = instantiate(`(module (func (result i32) (i32x4.extract_lane 03 (v128.const i32x4 0 0 0 0))))`);
+
+// ./test/core/simd/simd_lane.wast:891
+let $9 = instantiate(`(module (func (result f64) (f64x2.extract_lane 0x1 (v128.const f64x2 0 0))))`);
+
+// ./test/core/simd/simd_lane.wast:892
+let $10 = instantiate(`(module (func (result v128) (f32x4.replace_lane 0x3 (v128.const f32x4 0 0 0 0) (f32.const 1.0))))`);
+
+// ./test/core/simd/simd_lane.wast:893
+let $11 = instantiate(`(module (func (result v128) (i64x2.replace_lane 01 (v128.const i64x2 0 0) (i64.const 1))))`);
+
+// ./test/core/simd/simd_lane.wast:897
+assert_malformed(
+ () => instantiate(`(func (result i32) (i8x16.extract_lane_s 1.0 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:901
+assert_malformed(
+ () => instantiate(`(func $$i8x16.extract_lane_s-1st-arg-empty (result i32) (i8x16.extract_lane_s (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) ) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:909
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.extract_lane_s-2nd-arg-empty (result i32)
+ (i8x16.extract_lane_s 0)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_lane.wast:917
+assert_malformed(
+ () => instantiate(`(func $$i8x16.extract_lane_s-arg-empty (result i32) (i8x16.extract_lane_s) ) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:925
+assert_malformed(
+ () => instantiate(`(func $$i16x8.extract_lane_u-1st-arg-empty (result i32) (i16x8.extract_lane_u (v128.const i16x8 0 0 0 0 0 0 0 0)) ) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:933
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.extract_lane_u-2nd-arg-empty (result i32)
+ (i16x8.extract_lane_u 0)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_lane.wast:941
+assert_malformed(
+ () => instantiate(`(func $$i16x8.extract_lane_u-arg-empty (result i32) (i16x8.extract_lane_u) ) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:949
+assert_malformed(
+ () => instantiate(`(func $$i32x4.extract_lane-1st-arg-empty (result i32) (i32x4.extract_lane (v128.const i32x4 0 0 0 0)) ) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:957
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.extract_lane-2nd-arg-empty (result i32)
+ (i32x4.extract_lane 0)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_lane.wast:965
+assert_malformed(
+ () => instantiate(`(func $$i32x4.extract_lane-arg-empty (result i32) (i32x4.extract_lane) ) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:973
+assert_malformed(
+ () => instantiate(`(func $$i64x2.extract_lane-1st-arg-empty (result i64) (i64x2.extract_lane (v128.const i64x2 0 0)) ) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:981
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i64x2.extract_lane-2nd-arg-empty (result i64)
+ (i64x2.extract_lane 0)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_lane.wast:989
+assert_malformed(
+ () => instantiate(`(func $$i64x2.extract_lane-arg-empty (result i64) (i64x2.extract_lane) ) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:997
+assert_malformed(
+ () => instantiate(`(func $$f32x4.extract_lane-1st-arg-empty (result f32) (f32x4.extract_lane (v128.const f32x4 0 0 0 0)) ) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:1005
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f32x4.extract_lane-2nd-arg-empty (result f32)
+ (f32x4.extract_lane 0)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_lane.wast:1013
+assert_malformed(
+ () => instantiate(`(func $$f32x4.extract_lane-arg-empty (result f32) (f32x4.extract_lane) ) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:1021
+assert_malformed(
+ () => instantiate(`(func $$f64x2.extract_lane-1st-arg-empty (result f64) (f64x2.extract_lane (v128.const f64x2 0 0)) ) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:1029
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f64x2.extract_lane-2nd-arg-empty (result f64)
+ (f64x2.extract_lane 0)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_lane.wast:1037
+assert_malformed(
+ () => instantiate(`(func $$f64x2.extract_lane-arg-empty (result f64) (f64x2.extract_lane) ) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:1045
+assert_malformed(
+ () => instantiate(`(func $$i8x16.replace_lane-1st-arg-empty (result v128) (i8x16.replace_lane (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) (i32.const 1)) ) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:1053
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.replace_lane-2nd-arg-empty (result v128)
+ (i8x16.replace_lane 0 (i32.const 1))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_lane.wast:1061
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.replace_lane-3rd-arg-empty (result v128)
+ (i8x16.replace_lane 0 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_lane.wast:1069
+assert_malformed(
+ () => instantiate(`(func $$i8x16.replace_lane-arg-empty (result v128) (i8x16.replace_lane) ) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:1077
+assert_malformed(
+ () => instantiate(`(func $$i16x8.replace_lane-1st-arg-empty (result v128) (i16x8.replace_lane (v128.const i16x8 0 0 0 0 0 0 0 0) (i32.const 1)) ) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:1085
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.replace_lane-2nd-arg-empty (result v128)
+ (i16x8.replace_lane 0 (i32.const 1))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_lane.wast:1093
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.replace_lane-3rd-arg-empty (result v128)
+ (i16x8.replace_lane 0 (v128.const i16x8 0 0 0 0 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_lane.wast:1101
+assert_malformed(
+ () => instantiate(`(func $$i16x8.replace_lane-arg-empty (result v128) (i16x8.replace_lane) ) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:1109
+assert_malformed(
+ () => instantiate(`(func $$i32x4.replace_lane-1st-arg-empty (result v128) (i32x4.replace_lane (v128.const i32x4 0 0 0 0) (i32.const 1)) ) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:1117
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.replace_lane-2nd-arg-empty (result v128)
+ (i32x4.replace_lane 0 (i32.const 1))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_lane.wast:1125
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.replace_lane-3rd-arg-empty (result v128)
+ (i32x4.replace_lane 0 (v128.const i32x4 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_lane.wast:1133
+assert_malformed(
+ () => instantiate(`(func $$i32x4.replace_lane-arg-empty (result v128) (i32x4.replace_lane) ) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:1141
+assert_malformed(
+ () => instantiate(`(func $$f32x4.replace_lane-1st-arg-empty (result v128) (f32x4.replace_lane (v128.const f32x4 0 0 0 0) (f32.const 1.0)) ) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:1149
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f32x4.replace_lane-2nd-arg-empty (result v128)
+ (f32x4.replace_lane 0 (f32.const 1.0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_lane.wast:1157
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f32x4.replace_lane-3rd-arg-empty (result v128)
+ (f32x4.replace_lane 0 (v128.const f32x4 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_lane.wast:1165
+assert_malformed(
+ () => instantiate(`(func $$f32x4.replace_lane-arg-empty (result v128) (f32x4.replace_lane) ) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:1173
+assert_malformed(
+ () => instantiate(`(func $$i64x2.replace_lane-1st-arg-empty (result v128) (i64x2.replace_lane (v128.const i64x2 0 0) (i64.const 1)) ) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:1181
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i64x2.replace_lane-2nd-arg-empty (result v128)
+ (i64x2.replace_lane 0 (i64.const 1))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_lane.wast:1189
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i64x2.replace_lane-3rd-arg-empty (result v128)
+ (i64x2.replace_lane 0 (v128.const i64x2 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_lane.wast:1197
+assert_malformed(
+ () => instantiate(`(func $$i64x2.replace_lane-arg-empty (result v128) (i64x2.replace_lane) ) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:1205
+assert_malformed(
+ () => instantiate(`(func $$f64x2.replace_lane-1st-arg-empty (result v128) (f64x2.replace_lane (v128.const f64x2 0 0) (f64.const 1.0)) ) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:1213
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f64x2.replace_lane-2nd-arg-empty (result v128)
+ (f64x2.replace_lane 0 (f64.const 1.0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_lane.wast:1221
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f64x2.replace_lane-3rd-arg-empty (result v128)
+ (f64x2.replace_lane 0 (v128.const f64x2 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_lane.wast:1229
+assert_malformed(
+ () => instantiate(`(func $$f64x2.replace_lane-arg-empty (result v128) (f64x2.replace_lane) ) `),
+ `unexpected token`,
+);
+
+// ./test/core/simd/simd_lane.wast:1237
+assert_malformed(
+ () => instantiate(`(func $$i8x16.shuffle-1st-arg-empty (result v128) (i8x16.shuffle (v128.const i8x16 0 1 2 3 5 6 6 7 8 9 10 11 12 13 14 15) (v128.const i8x16 1 2 3 5 6 6 7 8 9 10 11 12 13 14 15 16) ) ) `),
+ `invalid lane length`,
+);
+
+// ./test/core/simd/simd_lane.wast:1248
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.shuffle-2nd-arg-empty (result v128)
+ (i8x16.shuffle 0 1 2 3 5 6 6 7 8 9 10 11 12 13 14 15
+ (v128.const i8x16 1 2 3 5 6 6 7 8 9 10 11 12 13 14 15 16)
+ )
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_lane.wast:1258
+assert_malformed(
+ () => instantiate(`(func $$i8x16.shuffle-arg-empty (result v128) (i8x16.shuffle) ) `),
+ `invalid lane length`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/simd_load.wast.js b/js/src/jit-test/tests/wasm/spec/spec/simd_load.wast.js
new file mode 100644
index 0000000000..e609e1fe58
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/simd_load.wast.js
@@ -0,0 +1,295 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_load.wast
+
+// ./test/core/simd/simd_load.wast:3
+let $0 = instantiate(`(module
+ (memory 1)
+ (data (i32.const 0) "\\00\\01\\02\\03\\04\\05\\06\\07\\08\\09\\0a\\0b\\0c\\0d\\0e\\0f\\00\\01\\02\\03")
+ (func (export "v128.load") (result v128)
+ (v128.load (i32.const 0))
+ )
+)`);
+
+// ./test/core/simd/simd_load.wast:11
+assert_return(
+ () => invoke($0, `v128.load`, []),
+ [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ],
+);
+
+// ./test/core/simd/simd_load.wast:12
+assert_return(
+ () => invoke($0, `v128.load`, []),
+ [i16x8([0x100, 0x302, 0x504, 0x706, 0x908, 0xb0a, 0xd0c, 0xf0e])],
+);
+
+// ./test/core/simd/simd_load.wast:13
+assert_return(() => invoke($0, `v128.load`, []), [i32x4([0x3020100, 0x7060504, 0xb0a0908, 0xf0e0d0c])]);
+
+// ./test/core/simd/simd_load.wast:18
+let $1 = instantiate(`(module (memory 1)
+ (data (i32.const 0) "\\00\\01\\02\\03\\04\\05\\06\\07\\08\\09\\0a\\0b\\0c\\0d\\0e\\0f\\00\\01\\02\\03")
+ (func (export "as-i8x16_extract_lane_s-value/0") (result i32)
+ (i8x16.extract_lane_s 0 (v128.load (i32.const 0)))
+ )
+)`);
+
+// ./test/core/simd/simd_load.wast:24
+assert_return(() => invoke($1, `as-i8x16_extract_lane_s-value/0`, []), [value("i32", 0)]);
+
+// ./test/core/simd/simd_load.wast:26
+let $2 = instantiate(`(module (memory 1)
+ (data (i32.const 0) "\\00\\01\\02\\03\\04\\05\\06\\07\\08\\09\\0a\\0b\\0c\\0d\\0e\\0f\\00\\01\\02\\03")
+ (func (export "as-i8x16.eq-operand") (result v128)
+ (i8x16.eq (v128.load offset=0 (i32.const 0)) (v128.load offset=16 (i32.const 0)))
+ )
+)`);
+
+// ./test/core/simd/simd_load.wast:32
+assert_return(() => invoke($2, `as-i8x16.eq-operand`, []), [i32x4([0xffffffff, 0x0, 0x0, 0x0])]);
+
+// ./test/core/simd/simd_load.wast:34
+let $3 = instantiate(`(module (memory 1)
+ (data (i32.const 0) "\\00\\01\\02\\03\\04\\05\\06\\07\\08\\09\\0a\\0b\\0c\\0d\\0e\\0f\\00\\01\\02\\03")
+ (func (export "as-v128.not-operand") (result v128)
+ (v128.not (v128.load (i32.const 0)))
+ )
+ (func (export "as-i8x16.all_true-operand") (result i32)
+ (i8x16.all_true (v128.load (i32.const 0)))
+ )
+)`);
+
+// ./test/core/simd/simd_load.wast:43
+assert_return(
+ () => invoke($3, `as-v128.not-operand`, []),
+ [i32x4([0xfcfdfeff, 0xf8f9fafb, 0xf4f5f6f7, 0xf0f1f2f3])],
+);
+
+// ./test/core/simd/simd_load.wast:44
+assert_return(() => invoke($3, `as-i8x16.all_true-operand`, []), [value("i32", 0)]);
+
+// ./test/core/simd/simd_load.wast:46
+let $4 = instantiate(`(module (memory 1)
+ (data (offset (i32.const 0)) "\\AA\\AA\\AA\\AA\\AA\\AA\\AA\\AA\\AA\\AA\\AA\\AA\\AA\\AA\\AA\\AA")
+ (data (offset (i32.const 16)) "\\BB\\BB\\BB\\BB\\BB\\BB\\BB\\BB\\BB\\BB\\BB\\BB\\BB\\BB\\BB\\BB")
+ (data (offset (i32.const 32)) "\\F0\\F0\\F0\\F0\\FF\\FF\\FF\\FF\\00\\00\\00\\00\\FF\\00\\FF\\00")
+ (func (export "as-v128.bitselect-operand") (result v128)
+ (v128.bitselect (v128.load (i32.const 0)) (v128.load (i32.const 16)) (v128.load (i32.const 32)))
+ )
+)`);
+
+// ./test/core/simd/simd_load.wast:54
+assert_return(
+ () => invoke($4, `as-v128.bitselect-operand`, []),
+ [i32x4([0xabababab, 0xaaaaaaaa, 0xbbbbbbbb, 0xbbaabbaa])],
+);
+
+// ./test/core/simd/simd_load.wast:56
+let $5 = instantiate(`(module (memory 1)
+ (data (offset (i32.const 0)) "\\AA\\AA\\AA\\AA\\AA\\AA\\AA\\AA\\AA\\AA\\AA\\AA\\AA\\AA\\AA\\AA")
+ (func (export "as-i8x16.shl-operand") (result v128)
+ (i8x16.shl (v128.load (i32.const 0)) (i32.const 1))
+ )
+)`);
+
+// ./test/core/simd/simd_load.wast:62
+assert_return(
+ () => invoke($5, `as-i8x16.shl-operand`, []),
+ [i32x4([0x54545454, 0x54545454, 0x54545454, 0x54545454])],
+);
+
+// ./test/core/simd/simd_load.wast:64
+let $6 = instantiate(`(module (memory 1)
+ (data (offset (i32.const 0)) "\\02\\00\\00\\00\\02\\00\\00\\00\\02\\00\\00\\00\\02\\00\\00\\00")
+ (data (offset (i32.const 16)) "\\03\\00\\00\\00\\03\\00\\00\\00\\03\\00\\00\\00\\03\\00\\00\\00")
+ (func (export "as-add/sub-operand") (result v128)
+ ;; 2 2 2 2 + 3 3 3 3 = 5 5 5 5
+ ;; 5 5 5 5 - 3 3 3 3 = 2 2 2 2
+ (i8x16.sub
+ (i8x16.add (v128.load (i32.const 0)) (v128.load (i32.const 16)))
+ (v128.load (i32.const 16))
+ )
+ )
+)`);
+
+// ./test/core/simd/simd_load.wast:76
+assert_return(() => invoke($6, `as-add/sub-operand`, []), [i32x4([0x2, 0x2, 0x2, 0x2])]);
+
+// ./test/core/simd/simd_load.wast:78
+let $7 = instantiate(`(module (memory 1)
+ (data (offset (i32.const 0)) "\\00\\00\\00\\43\\00\\00\\80\\3f\\66\\66\\e6\\3f\\00\\00\\80\\bf") ;; 128 1.0 1.8 -1
+ (data (offset (i32.const 16)) "\\00\\00\\00\\40\\00\\00\\00\\40\\00\\00\\00\\40\\00\\00\\00\\40") ;; 2.0 2.0 2.0 2.0
+ (func (export "as-f32x4.mul-operand") (result v128)
+ (f32x4.mul (v128.load (i32.const 0)) (v128.load (i32.const 16)))
+ )
+)`);
+
+// ./test/core/simd/simd_load.wast:85
+assert_return(
+ () => invoke($7, `as-f32x4.mul-operand`, []),
+ [
+ new F32x4Pattern(
+ value("f32", 256),
+ value("f32", 2),
+ value("f32", 3.6),
+ value("f32", -2),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_load.wast:87
+let $8 = instantiate(`(module (memory 1)
+ (data (offset (i32.const 0)) "\\ff\\ff\\ff\\ff\\ff\\ff\\ff\\ff\\ff\\ff\\ff\\ff\\ff\\ff\\ff\\ff") ;; 1111 ...
+ (func (export "as-f32x4.abs-operand") (result v128)
+ (f32x4.abs (v128.load (i32.const 0)))
+ )
+)`);
+
+// ./test/core/simd/simd_load.wast:93
+assert_return(
+ () => invoke($8, `as-f32x4.abs-operand`, []),
+ [i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff])],
+);
+
+// ./test/core/simd/simd_load.wast:95
+let $9 = instantiate(`(module (memory 1)
+ (data (offset (i32.const 0)) "\\AA\\AA\\AA\\AA\\AA\\AA\\AA\\AA\\AA\\AA\\AA\\AA\\AA\\AA\\AA\\AA")
+ (data (offset (i32.const 16)) "\\02\\00\\00\\00\\02\\00\\00\\00\\02\\00\\00\\00\\02\\00\\00\\00")
+ (func (export "as-f32x4.min-operand") (result v128)
+ (f32x4.min (v128.load (i32.const 0)) (v128.load offset=16 (i32.const 1)))
+ )
+)`);
+
+// ./test/core/simd/simd_load.wast:102
+assert_return(
+ () => invoke($9, `as-f32x4.min-operand`, []),
+ [i32x4([0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa])],
+);
+
+// ./test/core/simd/simd_load.wast:104
+let $10 = instantiate(`(module (memory 1)
+ (data (offset (i32.const 0)) "\\00\\00\\00\\43\\00\\00\\80\\3f\\66\\66\\e6\\3f\\00\\00\\80\\bf") ;; 128 1.0 1.8 -1
+ (func (export "as-i32x4.trunc_sat_f32x4_s-operand") (result v128)
+ (i32x4.trunc_sat_f32x4_s (v128.load (i32.const 0)))
+ )
+)`);
+
+// ./test/core/simd/simd_load.wast:110
+assert_return(
+ () => invoke($10, `as-i32x4.trunc_sat_f32x4_s-operand`, []),
+ [i32x4([0x80, 0x1, 0x1, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_load.wast:112
+let $11 = instantiate(`(module (memory 1)
+ (data (offset (i32.const 0)) "\\02\\00\\00\\00\\02\\00\\00\\00\\02\\00\\00\\00\\02\\00\\00\\00")
+ (func (export "as-f32x4.convert_i32x4_u-operand") (result v128)
+ (f32x4.convert_i32x4_u (v128.load (i32.const 0)))
+ )
+)`);
+
+// ./test/core/simd/simd_load.wast:118
+assert_return(
+ () => invoke($11, `as-f32x4.convert_i32x4_u-operand`, []),
+ [
+ new F32x4Pattern(
+ value("f32", 2),
+ value("f32", 2),
+ value("f32", 2),
+ value("f32", 2),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_load.wast:120
+let $12 = instantiate(`(module (memory 1)
+ (data (offset (i32.const 0)) "\\64\\65\\66\\67\\68\\69\\6a\\6b\\6c\\6d\\6e\\6f\\70\\71\\72\\73") ;; 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115
+ (data (offset (i32.const 16)) "\\0f\\0e\\0d\\0c\\0b\\0a\\09\\08\\07\\06\\05\\04\\03\\02\\01\\00") ;; 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
+ (func (export "as-i8x16.swizzle-operand") (result v128)
+ (i8x16.swizzle (v128.load (i32.const 0)) (v128.load offset=15 (i32.const 1)))
+ )
+)`);
+
+// ./test/core/simd/simd_load.wast:127
+assert_return(
+ () => invoke($12, `as-i8x16.swizzle-operand`, []),
+ [
+ i8x16([0x73, 0x72, 0x71, 0x70, 0x6f, 0x6e, 0x6d, 0x6c, 0x6b, 0x6a, 0x69, 0x68, 0x67, 0x66, 0x65, 0x64]),
+ ],
+);
+
+// ./test/core/simd/simd_load.wast:129
+let $13 = instantiate(`(module (memory 1)
+ (data (i32.const 0) "\\00\\01\\02\\03\\04\\05\\06\\07\\08\\09\\0a\\0b\\0c\\0d\\0e\\0f\\00\\01\\02\\03")
+ (func (export "as-br-value") (result v128)
+ (block (result v128) (br 0 (v128.load (i32.const 0))))
+ )
+)`);
+
+// ./test/core/simd/simd_load.wast:135
+assert_return(() => invoke($13, `as-br-value`, []), [i32x4([0x3020100, 0x7060504, 0xb0a0908, 0xf0e0d0c])]);
+
+// ./test/core/simd/simd_load.wast:140
+assert_malformed(
+ () => instantiate(`(memory 1) (func (local v128) (drop (v128.load8 (i32.const 0)))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_load.wast:147
+assert_malformed(
+ () => instantiate(`(memory 1) (func (local v128) (drop (v128.load16 (i32.const 0)))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_load.wast:154
+assert_malformed(
+ () => instantiate(`(memory 1) (func (local v128) (drop (v128.load32 (i32.const 0)))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_load.wast:165
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (local v128) (drop (v128.load (f32.const 0)))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_load.wast:169
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (local v128) (block (br_if 0 (v128.load (i32.const 0))))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_load.wast:173
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (local v128) (v128.load (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_load.wast:181
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (drop (v128.load (local.get 2)))))`),
+ `unknown local 2`,
+);
+
+// ./test/core/simd/simd_load.wast:185
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (drop (v128.load))))`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/simd_load16_lane.wast.js b/js/src/jit-test/tests/wasm/spec/spec/simd_load16_lane.wast.js
new file mode 100644
index 0000000000..7fe67adb0e
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/simd_load16_lane.wast.js
@@ -0,0 +1,424 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_load16_lane.wast
+
+// ./test/core/simd/simd_load16_lane.wast:4
+let $0 = instantiate(`(module
+ (memory 1)
+ (data (i32.const 0) "\\00\\01\\02\\03\\04\\05\\06\\07\\08\\09\\0A\\0B\\0C\\0D\\0E\\0F")
+ (func (export "v128.load16_lane_0")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load16_lane 0 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load16_lane_1")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load16_lane 1 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load16_lane_2")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load16_lane 2 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load16_lane_3")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load16_lane 3 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load16_lane_4")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load16_lane 4 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load16_lane_5")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load16_lane 5 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load16_lane_6")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load16_lane 6 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load16_lane_7")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load16_lane 7 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load16_lane_0_offset_0")
+ (param $$x v128) (result v128)
+ (v128.load16_lane offset=0 0 (i32.const 0) (local.get $$x)))
+ (func (export "v128.load16_lane_1_offset_1")
+ (param $$x v128) (result v128)
+ (v128.load16_lane offset=1 1 (i32.const 0) (local.get $$x)))
+ (func (export "v128.load16_lane_2_offset_2")
+ (param $$x v128) (result v128)
+ (v128.load16_lane offset=2 2 (i32.const 0) (local.get $$x)))
+ (func (export "v128.load16_lane_3_offset_3")
+ (param $$x v128) (result v128)
+ (v128.load16_lane offset=3 3 (i32.const 0) (local.get $$x)))
+ (func (export "v128.load16_lane_4_offset_4")
+ (param $$x v128) (result v128)
+ (v128.load16_lane offset=4 4 (i32.const 0) (local.get $$x)))
+ (func (export "v128.load16_lane_5_offset_5")
+ (param $$x v128) (result v128)
+ (v128.load16_lane offset=5 5 (i32.const 0) (local.get $$x)))
+ (func (export "v128.load16_lane_6_offset_6")
+ (param $$x v128) (result v128)
+ (v128.load16_lane offset=6 6 (i32.const 0) (local.get $$x)))
+ (func (export "v128.load16_lane_7_offset_7")
+ (param $$x v128) (result v128)
+ (v128.load16_lane offset=7 7 (i32.const 0) (local.get $$x)))
+ (func (export "v128.load16_lane_0_align_1")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load16_lane align=1 0 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load16_lane_0_align_2")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load16_lane align=2 0 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load16_lane_1_align_1")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load16_lane align=1 1 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load16_lane_1_align_2")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load16_lane align=2 1 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load16_lane_2_align_1")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load16_lane align=1 2 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load16_lane_2_align_2")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load16_lane align=2 2 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load16_lane_3_align_1")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load16_lane align=1 3 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load16_lane_3_align_2")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load16_lane align=2 3 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load16_lane_4_align_1")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load16_lane align=1 4 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load16_lane_4_align_2")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load16_lane align=2 4 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load16_lane_5_align_1")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load16_lane align=1 5 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load16_lane_5_align_2")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load16_lane align=2 5 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load16_lane_6_align_1")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load16_lane align=1 6 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load16_lane_6_align_2")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load16_lane align=2 6 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load16_lane_7_align_1")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load16_lane align=1 7 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load16_lane_7_align_2")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load16_lane align=2 7 (local.get $$address) (local.get $$x)))
+)`);
+
+// ./test/core/simd/simd_load16_lane.wast:105
+assert_return(
+ () => invoke($0, `v128.load16_lane_0`, [
+ 0,
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x100, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_load16_lane.wast:108
+assert_return(
+ () => invoke($0, `v128.load16_lane_1`, [
+ 1,
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x201, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_load16_lane.wast:111
+assert_return(
+ () => invoke($0, `v128.load16_lane_2`, [
+ 2,
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x302, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_load16_lane.wast:114
+assert_return(
+ () => invoke($0, `v128.load16_lane_3`, [
+ 3,
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x403, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_load16_lane.wast:117
+assert_return(
+ () => invoke($0, `v128.load16_lane_4`, [
+ 4,
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x504, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_load16_lane.wast:120
+assert_return(
+ () => invoke($0, `v128.load16_lane_5`, [
+ 5,
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x605, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_load16_lane.wast:123
+assert_return(
+ () => invoke($0, `v128.load16_lane_6`, [
+ 6,
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x706, 0x0])],
+);
+
+// ./test/core/simd/simd_load16_lane.wast:126
+assert_return(
+ () => invoke($0, `v128.load16_lane_7`, [
+ 7,
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x807])],
+);
+
+// ./test/core/simd/simd_load16_lane.wast:129
+assert_return(
+ () => invoke($0, `v128.load16_lane_0_offset_0`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x100, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_load16_lane.wast:131
+assert_return(
+ () => invoke($0, `v128.load16_lane_1_offset_1`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x201, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_load16_lane.wast:133
+assert_return(
+ () => invoke($0, `v128.load16_lane_2_offset_2`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x302, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_load16_lane.wast:135
+assert_return(
+ () => invoke($0, `v128.load16_lane_3_offset_3`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x403, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_load16_lane.wast:137
+assert_return(
+ () => invoke($0, `v128.load16_lane_4_offset_4`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x504, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_load16_lane.wast:139
+assert_return(
+ () => invoke($0, `v128.load16_lane_5_offset_5`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x605, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_load16_lane.wast:141
+assert_return(
+ () => invoke($0, `v128.load16_lane_6_offset_6`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x706, 0x0])],
+);
+
+// ./test/core/simd/simd_load16_lane.wast:143
+assert_return(
+ () => invoke($0, `v128.load16_lane_7_offset_7`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x807])],
+);
+
+// ./test/core/simd/simd_load16_lane.wast:145
+assert_return(
+ () => invoke($0, `v128.load16_lane_0_align_1`, [
+ 0,
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x100, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_load16_lane.wast:148
+assert_return(
+ () => invoke($0, `v128.load16_lane_0_align_2`, [
+ 0,
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x100, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_load16_lane.wast:151
+assert_return(
+ () => invoke($0, `v128.load16_lane_1_align_1`, [
+ 1,
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x201, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_load16_lane.wast:154
+assert_return(
+ () => invoke($0, `v128.load16_lane_1_align_2`, [
+ 1,
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x201, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_load16_lane.wast:157
+assert_return(
+ () => invoke($0, `v128.load16_lane_2_align_1`, [
+ 2,
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x302, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_load16_lane.wast:160
+assert_return(
+ () => invoke($0, `v128.load16_lane_2_align_2`, [
+ 2,
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x302, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_load16_lane.wast:163
+assert_return(
+ () => invoke($0, `v128.load16_lane_3_align_1`, [
+ 3,
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x403, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_load16_lane.wast:166
+assert_return(
+ () => invoke($0, `v128.load16_lane_3_align_2`, [
+ 3,
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x403, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_load16_lane.wast:169
+assert_return(
+ () => invoke($0, `v128.load16_lane_4_align_1`, [
+ 4,
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x504, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_load16_lane.wast:172
+assert_return(
+ () => invoke($0, `v128.load16_lane_4_align_2`, [
+ 4,
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x504, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_load16_lane.wast:175
+assert_return(
+ () => invoke($0, `v128.load16_lane_5_align_1`, [
+ 5,
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x605, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_load16_lane.wast:178
+assert_return(
+ () => invoke($0, `v128.load16_lane_5_align_2`, [
+ 5,
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x605, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_load16_lane.wast:181
+assert_return(
+ () => invoke($0, `v128.load16_lane_6_align_1`, [
+ 6,
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x706, 0x0])],
+);
+
+// ./test/core/simd/simd_load16_lane.wast:184
+assert_return(
+ () => invoke($0, `v128.load16_lane_6_align_2`, [
+ 6,
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x706, 0x0])],
+);
+
+// ./test/core/simd/simd_load16_lane.wast:187
+assert_return(
+ () => invoke($0, `v128.load16_lane_7_align_1`, [
+ 7,
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x807])],
+);
+
+// ./test/core/simd/simd_load16_lane.wast:190
+assert_return(
+ () => invoke($0, `v128.load16_lane_7_align_2`, [
+ 7,
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x807])],
+);
+
+// ./test/core/simd/simd_load16_lane.wast:195
+assert_invalid(
+ () => instantiate(`(module (memory 1)
+ (func (param $$x v128) (result v128)
+ (v128.load16_lane 0 (local.get $$x) (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_load16_lane.wast:201
+assert_invalid(
+ () => instantiate(`(module (memory 1)
+ (func (param $$x v128) (result v128)
+ (v128.load16_lane 8 (i32.const 0) (local.get $$x))))`),
+ `invalid lane index`,
+);
+
+// ./test/core/simd/simd_load16_lane.wast:207
+assert_invalid(
+ () => instantiate(`(module (memory 1)
+ (func (param $$x v128) (result v128)
+ (v128.load16_lane align=4 0 (i32.const 0) (local.get $$x))))`),
+ `alignment must not be larger than natural`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/simd_load32_lane.wast.js b/js/src/jit-test/tests/wasm/spec/spec/simd_load32_lane.wast.js
new file mode 100644
index 0000000000..fb8deca36e
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/simd_load32_lane.wast.js
@@ -0,0 +1,228 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_load32_lane.wast
+
+// ./test/core/simd/simd_load32_lane.wast:4
+let $0 = instantiate(`(module
+ (memory 1)
+ (data (i32.const 0) "\\00\\01\\02\\03\\04\\05\\06\\07\\08\\09\\0A\\0B\\0C\\0D\\0E\\0F")
+ (func (export "v128.load32_lane_0")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load32_lane 0 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load32_lane_1")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load32_lane 1 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load32_lane_2")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load32_lane 2 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load32_lane_3")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load32_lane 3 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load32_lane_0_offset_0")
+ (param $$x v128) (result v128)
+ (v128.load32_lane offset=0 0 (i32.const 0) (local.get $$x)))
+ (func (export "v128.load32_lane_1_offset_1")
+ (param $$x v128) (result v128)
+ (v128.load32_lane offset=1 1 (i32.const 0) (local.get $$x)))
+ (func (export "v128.load32_lane_2_offset_2")
+ (param $$x v128) (result v128)
+ (v128.load32_lane offset=2 2 (i32.const 0) (local.get $$x)))
+ (func (export "v128.load32_lane_3_offset_3")
+ (param $$x v128) (result v128)
+ (v128.load32_lane offset=3 3 (i32.const 0) (local.get $$x)))
+ (func (export "v128.load32_lane_0_align_1")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load32_lane align=1 0 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load32_lane_0_align_2")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load32_lane align=2 0 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load32_lane_0_align_4")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load32_lane align=4 0 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load32_lane_1_align_1")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load32_lane align=1 1 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load32_lane_1_align_2")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load32_lane align=2 1 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load32_lane_1_align_4")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load32_lane align=4 1 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load32_lane_2_align_1")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load32_lane align=1 2 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load32_lane_2_align_2")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load32_lane align=2 2 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load32_lane_2_align_4")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load32_lane align=4 2 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load32_lane_3_align_1")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load32_lane align=1 3 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load32_lane_3_align_2")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load32_lane align=2 3 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load32_lane_3_align_4")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load32_lane align=4 3 (local.get $$address) (local.get $$x)))
+)`);
+
+// ./test/core/simd/simd_load32_lane.wast:69
+assert_return(
+ () => invoke($0, `v128.load32_lane_0`, [0, i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [i32x4([0x3020100, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_load32_lane.wast:72
+assert_return(
+ () => invoke($0, `v128.load32_lane_1`, [1, i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [i32x4([0x0, 0x4030201, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_load32_lane.wast:75
+assert_return(
+ () => invoke($0, `v128.load32_lane_2`, [2, i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [i32x4([0x0, 0x0, 0x5040302, 0x0])],
+);
+
+// ./test/core/simd/simd_load32_lane.wast:78
+assert_return(
+ () => invoke($0, `v128.load32_lane_3`, [3, i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x6050403])],
+);
+
+// ./test/core/simd/simd_load32_lane.wast:81
+assert_return(
+ () => invoke($0, `v128.load32_lane_0_offset_0`, [i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [i32x4([0x3020100, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_load32_lane.wast:83
+assert_return(
+ () => invoke($0, `v128.load32_lane_1_offset_1`, [i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [i32x4([0x0, 0x4030201, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_load32_lane.wast:85
+assert_return(
+ () => invoke($0, `v128.load32_lane_2_offset_2`, [i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [i32x4([0x0, 0x0, 0x5040302, 0x0])],
+);
+
+// ./test/core/simd/simd_load32_lane.wast:87
+assert_return(
+ () => invoke($0, `v128.load32_lane_3_offset_3`, [i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x6050403])],
+);
+
+// ./test/core/simd/simd_load32_lane.wast:89
+assert_return(
+ () => invoke($0, `v128.load32_lane_0_align_1`, [0, i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [i32x4([0x3020100, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_load32_lane.wast:92
+assert_return(
+ () => invoke($0, `v128.load32_lane_0_align_2`, [0, i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [i32x4([0x3020100, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_load32_lane.wast:95
+assert_return(
+ () => invoke($0, `v128.load32_lane_0_align_4`, [0, i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [i32x4([0x3020100, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_load32_lane.wast:98
+assert_return(
+ () => invoke($0, `v128.load32_lane_1_align_1`, [1, i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [i32x4([0x0, 0x4030201, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_load32_lane.wast:101
+assert_return(
+ () => invoke($0, `v128.load32_lane_1_align_2`, [1, i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [i32x4([0x0, 0x4030201, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_load32_lane.wast:104
+assert_return(
+ () => invoke($0, `v128.load32_lane_1_align_4`, [1, i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [i32x4([0x0, 0x4030201, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_load32_lane.wast:107
+assert_return(
+ () => invoke($0, `v128.load32_lane_2_align_1`, [2, i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [i32x4([0x0, 0x0, 0x5040302, 0x0])],
+);
+
+// ./test/core/simd/simd_load32_lane.wast:110
+assert_return(
+ () => invoke($0, `v128.load32_lane_2_align_2`, [2, i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [i32x4([0x0, 0x0, 0x5040302, 0x0])],
+);
+
+// ./test/core/simd/simd_load32_lane.wast:113
+assert_return(
+ () => invoke($0, `v128.load32_lane_2_align_4`, [2, i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [i32x4([0x0, 0x0, 0x5040302, 0x0])],
+);
+
+// ./test/core/simd/simd_load32_lane.wast:116
+assert_return(
+ () => invoke($0, `v128.load32_lane_3_align_1`, [3, i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x6050403])],
+);
+
+// ./test/core/simd/simd_load32_lane.wast:119
+assert_return(
+ () => invoke($0, `v128.load32_lane_3_align_2`, [3, i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x6050403])],
+);
+
+// ./test/core/simd/simd_load32_lane.wast:122
+assert_return(
+ () => invoke($0, `v128.load32_lane_3_align_4`, [3, i32x4([0x0, 0x0, 0x0, 0x0])]),
+ [i32x4([0x0, 0x0, 0x0, 0x6050403])],
+);
+
+// ./test/core/simd/simd_load32_lane.wast:127
+assert_invalid(
+ () => instantiate(`(module (memory 1)
+ (func (param $$x v128) (result v128)
+ (v128.load32_lane 0 (local.get $$x) (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_load32_lane.wast:133
+assert_invalid(
+ () => instantiate(`(module (memory 1)
+ (func (param $$x v128) (result v128)
+ (v128.load32_lane 4 (i32.const 0) (local.get $$x))))`),
+ `invalid lane index`,
+);
+
+// ./test/core/simd/simd_load32_lane.wast:139
+assert_invalid(
+ () => instantiate(`(module (memory 1)
+ (func (param $$x v128) (result v128)
+ (v128.load32_lane align=8 0 (i32.const 0) (local.get $$x))))`),
+ `alignment must not be larger than natural`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/simd_load64_lane.wast.js b/js/src/jit-test/tests/wasm/spec/spec/simd_load64_lane.wast.js
new file mode 100644
index 0000000000..ff71464896
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/simd_load64_lane.wast.js
@@ -0,0 +1,156 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_load64_lane.wast
+
+// ./test/core/simd/simd_load64_lane.wast:4
+let $0 = instantiate(`(module
+ (memory 1)
+ (data (i32.const 0) "\\00\\01\\02\\03\\04\\05\\06\\07\\08\\09\\0A\\0B\\0C\\0D\\0E\\0F")
+ (func (export "v128.load64_lane_0")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load64_lane 0 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load64_lane_1")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load64_lane 1 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load64_lane_0_offset_0")
+ (param $$x v128) (result v128)
+ (v128.load64_lane offset=0 0 (i32.const 0) (local.get $$x)))
+ (func (export "v128.load64_lane_1_offset_1")
+ (param $$x v128) (result v128)
+ (v128.load64_lane offset=1 1 (i32.const 0) (local.get $$x)))
+ (func (export "v128.load64_lane_0_align_1")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load64_lane align=1 0 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load64_lane_0_align_2")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load64_lane align=2 0 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load64_lane_0_align_4")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load64_lane align=4 0 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load64_lane_0_align_8")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load64_lane align=8 0 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load64_lane_1_align_1")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load64_lane align=1 1 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load64_lane_1_align_2")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load64_lane align=2 1 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load64_lane_1_align_4")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load64_lane align=4 1 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load64_lane_1_align_8")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load64_lane align=8 1 (local.get $$address) (local.get $$x)))
+)`);
+
+// ./test/core/simd/simd_load64_lane.wast:45
+assert_return(
+ () => invoke($0, `v128.load64_lane_0`, [0, i64x2([0x0n, 0x0n])]),
+ [i64x2([0x706050403020100n, 0x0n])],
+);
+
+// ./test/core/simd/simd_load64_lane.wast:48
+assert_return(
+ () => invoke($0, `v128.load64_lane_1`, [1, i64x2([0x0n, 0x0n])]),
+ [i64x2([0x0n, 0x807060504030201n])],
+);
+
+// ./test/core/simd/simd_load64_lane.wast:51
+assert_return(
+ () => invoke($0, `v128.load64_lane_0_offset_0`, [i64x2([0x0n, 0x0n])]),
+ [i64x2([0x706050403020100n, 0x0n])],
+);
+
+// ./test/core/simd/simd_load64_lane.wast:53
+assert_return(
+ () => invoke($0, `v128.load64_lane_1_offset_1`, [i64x2([0x0n, 0x0n])]),
+ [i64x2([0x0n, 0x807060504030201n])],
+);
+
+// ./test/core/simd/simd_load64_lane.wast:55
+assert_return(
+ () => invoke($0, `v128.load64_lane_0_align_1`, [0, i64x2([0x0n, 0x0n])]),
+ [i64x2([0x706050403020100n, 0x0n])],
+);
+
+// ./test/core/simd/simd_load64_lane.wast:58
+assert_return(
+ () => invoke($0, `v128.load64_lane_0_align_2`, [0, i64x2([0x0n, 0x0n])]),
+ [i64x2([0x706050403020100n, 0x0n])],
+);
+
+// ./test/core/simd/simd_load64_lane.wast:61
+assert_return(
+ () => invoke($0, `v128.load64_lane_0_align_4`, [0, i64x2([0x0n, 0x0n])]),
+ [i64x2([0x706050403020100n, 0x0n])],
+);
+
+// ./test/core/simd/simd_load64_lane.wast:64
+assert_return(
+ () => invoke($0, `v128.load64_lane_0_align_8`, [0, i64x2([0x0n, 0x0n])]),
+ [i64x2([0x706050403020100n, 0x0n])],
+);
+
+// ./test/core/simd/simd_load64_lane.wast:67
+assert_return(
+ () => invoke($0, `v128.load64_lane_1_align_1`, [1, i64x2([0x0n, 0x0n])]),
+ [i64x2([0x0n, 0x807060504030201n])],
+);
+
+// ./test/core/simd/simd_load64_lane.wast:70
+assert_return(
+ () => invoke($0, `v128.load64_lane_1_align_2`, [1, i64x2([0x0n, 0x0n])]),
+ [i64x2([0x0n, 0x807060504030201n])],
+);
+
+// ./test/core/simd/simd_load64_lane.wast:73
+assert_return(
+ () => invoke($0, `v128.load64_lane_1_align_4`, [1, i64x2([0x0n, 0x0n])]),
+ [i64x2([0x0n, 0x807060504030201n])],
+);
+
+// ./test/core/simd/simd_load64_lane.wast:76
+assert_return(
+ () => invoke($0, `v128.load64_lane_1_align_8`, [1, i64x2([0x0n, 0x0n])]),
+ [i64x2([0x0n, 0x807060504030201n])],
+);
+
+// ./test/core/simd/simd_load64_lane.wast:81
+assert_invalid(
+ () => instantiate(`(module (memory 1)
+ (func (param $$x v128) (result v128)
+ (v128.load64_lane 0 (local.get $$x) (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_load64_lane.wast:87
+assert_invalid(
+ () => instantiate(`(module (memory 1)
+ (func (param $$x v128) (result v128)
+ (v128.load64_lane 2 (i32.const 0) (local.get $$x))))`),
+ `invalid lane index`,
+);
+
+// ./test/core/simd/simd_load64_lane.wast:93
+assert_invalid(
+ () => instantiate(`(module (memory 1)
+ (func (param $$x v128) (result v128)
+ (v128.load64_lane align=16 0 (i32.const 0) (local.get $$x))))`),
+ `alignment must not be larger than natural`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/simd_load8_lane.wast.js b/js/src/jit-test/tests/wasm/spec/spec/simd_load8_lane.wast.js
new file mode 100644
index 0000000000..61e75fdef1
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/simd_load8_lane.wast.js
@@ -0,0 +1,704 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_load8_lane.wast
+
+// ./test/core/simd/simd_load8_lane.wast:4
+let $0 = instantiate(`(module
+ (memory 1)
+ (data (i32.const 0) "\\00\\01\\02\\03\\04\\05\\06\\07\\08\\09\\0A\\0B\\0C\\0D\\0E\\0F")
+ (func (export "v128.load8_lane_0")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load8_lane 0 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load8_lane_1")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load8_lane 1 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load8_lane_2")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load8_lane 2 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load8_lane_3")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load8_lane 3 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load8_lane_4")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load8_lane 4 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load8_lane_5")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load8_lane 5 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load8_lane_6")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load8_lane 6 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load8_lane_7")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load8_lane 7 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load8_lane_8")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load8_lane 8 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load8_lane_9")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load8_lane 9 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load8_lane_10")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load8_lane 10 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load8_lane_11")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load8_lane 11 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load8_lane_12")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load8_lane 12 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load8_lane_13")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load8_lane 13 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load8_lane_14")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load8_lane 14 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load8_lane_15")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load8_lane 15 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load8_lane_0_offset_0")
+ (param $$x v128) (result v128)
+ (v128.load8_lane offset=0 0 (i32.const 0) (local.get $$x)))
+ (func (export "v128.load8_lane_1_offset_1")
+ (param $$x v128) (result v128)
+ (v128.load8_lane offset=1 1 (i32.const 0) (local.get $$x)))
+ (func (export "v128.load8_lane_2_offset_2")
+ (param $$x v128) (result v128)
+ (v128.load8_lane offset=2 2 (i32.const 0) (local.get $$x)))
+ (func (export "v128.load8_lane_3_offset_3")
+ (param $$x v128) (result v128)
+ (v128.load8_lane offset=3 3 (i32.const 0) (local.get $$x)))
+ (func (export "v128.load8_lane_4_offset_4")
+ (param $$x v128) (result v128)
+ (v128.load8_lane offset=4 4 (i32.const 0) (local.get $$x)))
+ (func (export "v128.load8_lane_5_offset_5")
+ (param $$x v128) (result v128)
+ (v128.load8_lane offset=5 5 (i32.const 0) (local.get $$x)))
+ (func (export "v128.load8_lane_6_offset_6")
+ (param $$x v128) (result v128)
+ (v128.load8_lane offset=6 6 (i32.const 0) (local.get $$x)))
+ (func (export "v128.load8_lane_7_offset_7")
+ (param $$x v128) (result v128)
+ (v128.load8_lane offset=7 7 (i32.const 0) (local.get $$x)))
+ (func (export "v128.load8_lane_8_offset_8")
+ (param $$x v128) (result v128)
+ (v128.load8_lane offset=8 8 (i32.const 0) (local.get $$x)))
+ (func (export "v128.load8_lane_9_offset_9")
+ (param $$x v128) (result v128)
+ (v128.load8_lane offset=9 9 (i32.const 0) (local.get $$x)))
+ (func (export "v128.load8_lane_10_offset_10")
+ (param $$x v128) (result v128)
+ (v128.load8_lane offset=10 10 (i32.const 0) (local.get $$x)))
+ (func (export "v128.load8_lane_11_offset_11")
+ (param $$x v128) (result v128)
+ (v128.load8_lane offset=11 11 (i32.const 0) (local.get $$x)))
+ (func (export "v128.load8_lane_12_offset_12")
+ (param $$x v128) (result v128)
+ (v128.load8_lane offset=12 12 (i32.const 0) (local.get $$x)))
+ (func (export "v128.load8_lane_13_offset_13")
+ (param $$x v128) (result v128)
+ (v128.load8_lane offset=13 13 (i32.const 0) (local.get $$x)))
+ (func (export "v128.load8_lane_14_offset_14")
+ (param $$x v128) (result v128)
+ (v128.load8_lane offset=14 14 (i32.const 0) (local.get $$x)))
+ (func (export "v128.load8_lane_15_offset_15")
+ (param $$x v128) (result v128)
+ (v128.load8_lane offset=15 15 (i32.const 0) (local.get $$x)))
+ (func (export "v128.load8_lane_0_align_1")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load8_lane align=1 0 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load8_lane_1_align_1")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load8_lane align=1 1 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load8_lane_2_align_1")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load8_lane align=1 2 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load8_lane_3_align_1")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load8_lane align=1 3 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load8_lane_4_align_1")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load8_lane align=1 4 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load8_lane_5_align_1")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load8_lane align=1 5 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load8_lane_6_align_1")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load8_lane align=1 6 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load8_lane_7_align_1")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load8_lane align=1 7 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load8_lane_8_align_1")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load8_lane align=1 8 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load8_lane_9_align_1")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load8_lane align=1 9 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load8_lane_10_align_1")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load8_lane align=1 10 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load8_lane_11_align_1")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load8_lane align=1 11 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load8_lane_12_align_1")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load8_lane align=1 12 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load8_lane_13_align_1")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load8_lane align=1 13 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load8_lane_14_align_1")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load8_lane align=1 14 (local.get $$address) (local.get $$x)))
+ (func (export "v128.load8_lane_15_align_1")
+ (param $$address i32) (param $$x v128) (result v128)
+ (v128.load8_lane align=1 15 (local.get $$address) (local.get $$x)))
+)`);
+
+// ./test/core/simd/simd_load8_lane.wast:153
+assert_return(
+ () => invoke($0, `v128.load8_lane_0`, [
+ 0,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_load8_lane.wast:156
+assert_return(
+ () => invoke($0, `v128.load8_lane_1`, [
+ 1,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_load8_lane.wast:159
+assert_return(
+ () => invoke($0, `v128.load8_lane_2`, [
+ 2,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_load8_lane.wast:162
+assert_return(
+ () => invoke($0, `v128.load8_lane_3`, [
+ 3,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_load8_lane.wast:165
+assert_return(
+ () => invoke($0, `v128.load8_lane_4`, [
+ 4,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_load8_lane.wast:168
+assert_return(
+ () => invoke($0, `v128.load8_lane_5`, [
+ 5,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_load8_lane.wast:171
+assert_return(
+ () => invoke($0, `v128.load8_lane_6`, [
+ 6,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_load8_lane.wast:174
+assert_return(
+ () => invoke($0, `v128.load8_lane_7`, [
+ 7,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_load8_lane.wast:177
+assert_return(
+ () => invoke($0, `v128.load8_lane_8`, [
+ 8,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_load8_lane.wast:180
+assert_return(
+ () => invoke($0, `v128.load8_lane_9`, [
+ 9,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_load8_lane.wast:183
+assert_return(
+ () => invoke($0, `v128.load8_lane_10`, [
+ 10,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_load8_lane.wast:186
+assert_return(
+ () => invoke($0, `v128.load8_lane_11`, [
+ 11,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_load8_lane.wast:189
+assert_return(
+ () => invoke($0, `v128.load8_lane_12`, [
+ 12,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_load8_lane.wast:192
+assert_return(
+ () => invoke($0, `v128.load8_lane_13`, [
+ 13,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_load8_lane.wast:195
+assert_return(
+ () => invoke($0, `v128.load8_lane_14`, [
+ 14,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_load8_lane.wast:198
+assert_return(
+ () => invoke($0, `v128.load8_lane_15`, [
+ 15,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf]),
+ ],
+);
+
+// ./test/core/simd/simd_load8_lane.wast:201
+assert_return(
+ () => invoke($0, `v128.load8_lane_0_offset_0`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_load8_lane.wast:203
+assert_return(
+ () => invoke($0, `v128.load8_lane_1_offset_1`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_load8_lane.wast:205
+assert_return(
+ () => invoke($0, `v128.load8_lane_2_offset_2`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_load8_lane.wast:207
+assert_return(
+ () => invoke($0, `v128.load8_lane_3_offset_3`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_load8_lane.wast:209
+assert_return(
+ () => invoke($0, `v128.load8_lane_4_offset_4`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_load8_lane.wast:211
+assert_return(
+ () => invoke($0, `v128.load8_lane_5_offset_5`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_load8_lane.wast:213
+assert_return(
+ () => invoke($0, `v128.load8_lane_6_offset_6`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_load8_lane.wast:215
+assert_return(
+ () => invoke($0, `v128.load8_lane_7_offset_7`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_load8_lane.wast:217
+assert_return(
+ () => invoke($0, `v128.load8_lane_8_offset_8`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_load8_lane.wast:219
+assert_return(
+ () => invoke($0, `v128.load8_lane_9_offset_9`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_load8_lane.wast:221
+assert_return(
+ () => invoke($0, `v128.load8_lane_10_offset_10`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_load8_lane.wast:223
+assert_return(
+ () => invoke($0, `v128.load8_lane_11_offset_11`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_load8_lane.wast:225
+assert_return(
+ () => invoke($0, `v128.load8_lane_12_offset_12`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_load8_lane.wast:227
+assert_return(
+ () => invoke($0, `v128.load8_lane_13_offset_13`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_load8_lane.wast:229
+assert_return(
+ () => invoke($0, `v128.load8_lane_14_offset_14`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_load8_lane.wast:231
+assert_return(
+ () => invoke($0, `v128.load8_lane_15_offset_15`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf]),
+ ],
+);
+
+// ./test/core/simd/simd_load8_lane.wast:233
+assert_return(
+ () => invoke($0, `v128.load8_lane_0_align_1`, [
+ 0,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_load8_lane.wast:236
+assert_return(
+ () => invoke($0, `v128.load8_lane_1_align_1`, [
+ 1,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_load8_lane.wast:239
+assert_return(
+ () => invoke($0, `v128.load8_lane_2_align_1`, [
+ 2,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_load8_lane.wast:242
+assert_return(
+ () => invoke($0, `v128.load8_lane_3_align_1`, [
+ 3,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_load8_lane.wast:245
+assert_return(
+ () => invoke($0, `v128.load8_lane_4_align_1`, [
+ 4,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_load8_lane.wast:248
+assert_return(
+ () => invoke($0, `v128.load8_lane_5_align_1`, [
+ 5,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_load8_lane.wast:251
+assert_return(
+ () => invoke($0, `v128.load8_lane_6_align_1`, [
+ 6,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_load8_lane.wast:254
+assert_return(
+ () => invoke($0, `v128.load8_lane_7_align_1`, [
+ 7,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_load8_lane.wast:257
+assert_return(
+ () => invoke($0, `v128.load8_lane_8_align_1`, [
+ 8,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_load8_lane.wast:260
+assert_return(
+ () => invoke($0, `v128.load8_lane_9_align_1`, [
+ 9,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_load8_lane.wast:263
+assert_return(
+ () => invoke($0, `v128.load8_lane_10_align_1`, [
+ 10,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_load8_lane.wast:266
+assert_return(
+ () => invoke($0, `v128.load8_lane_11_align_1`, [
+ 11,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_load8_lane.wast:269
+assert_return(
+ () => invoke($0, `v128.load8_lane_12_align_1`, [
+ 12,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_load8_lane.wast:272
+assert_return(
+ () => invoke($0, `v128.load8_lane_13_align_1`, [
+ 13,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_load8_lane.wast:275
+assert_return(
+ () => invoke($0, `v128.load8_lane_14_align_1`, [
+ 14,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_load8_lane.wast:278
+assert_return(
+ () => invoke($0, `v128.load8_lane_15_align_1`, [
+ 15,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf]),
+ ],
+);
+
+// ./test/core/simd/simd_load8_lane.wast:283
+assert_invalid(
+ () => instantiate(`(module (memory 1)
+ (func (param $$x v128) (result v128)
+ (v128.load8_lane 0 (local.get $$x) (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_load8_lane.wast:289
+assert_invalid(
+ () => instantiate(`(module (memory 1)
+ (func (param $$x v128) (result v128)
+ (v128.load8_lane 16 (i32.const 0) (local.get $$x))))`),
+ `invalid lane index`,
+);
+
+// ./test/core/simd/simd_load8_lane.wast:295
+assert_invalid(
+ () => instantiate(`(module (memory 1)
+ (func (param $$x v128) (result v128)
+ (v128.load8_lane align=2 0 (i32.const 0) (local.get $$x))))`),
+ `alignment must not be larger than natural`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/simd_load_extend.wast.js b/js/src/jit-test/tests/wasm/spec/spec/simd_load_extend.wast.js
new file mode 100644
index 0000000000..3ee50e0b23
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/simd_load_extend.wast.js
@@ -0,0 +1,726 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_load_extend.wast
+
+// ./test/core/simd/simd_load_extend.wast:3
+let $0 = instantiate(`(module
+ (memory 1)
+ (data (i32.const 0) "\\00\\01\\02\\03\\04\\05\\06\\07\\08\\09\\0A\\0B\\0C\\0D\\0E\\0F\\80\\81\\82\\83\\84\\85\\86\\87\\88\\89")
+ (data (i32.const 65520) "\\0A\\0B\\0C\\0D\\0E\\0F\\80\\81\\82\\83\\84\\85\\86\\87\\88\\89")
+
+ (func (export "v128.load8x8_s") (param $$0 i32) (result v128)
+ (v128.load8x8_s (local.get $$0))
+ )
+ (func (export "v128.load8x8_u") (param $$0 i32) (result v128)
+ (v128.load8x8_u (local.get $$0))
+ )
+ (func (export "v128.load16x4_s") (param $$0 i32) (result v128)
+ (v128.load16x4_s (local.get $$0))
+ )
+ (func (export "v128.load16x4_u") (param $$0 i32) (result v128)
+ (v128.load16x4_u (local.get $$0))
+ )
+ (func (export "v128.load32x2_s") (param $$0 i32) (result v128)
+ (v128.load32x2_s (local.get $$0))
+ )
+ (func (export "v128.load32x2_u") (param $$0 i32) (result v128)
+ (v128.load32x2_u (local.get $$0))
+ )
+
+ ;; load by a constant amount
+ (func (export "v128.load8x8_s_const0") (result v128)
+ (v128.load8x8_s (i32.const 0))
+ )
+ (func (export "v128.load8x8_u_const8") (result v128)
+ (v128.load8x8_u (i32.const 8))
+ )
+ (func (export "v128.load16x4_s_const10") (result v128)
+ (v128.load16x4_s (i32.const 10))
+ )
+ (func (export "v128.load16x4_u_const20") (result v128)
+ (v128.load16x4_u (i32.const 20))
+ )
+ (func (export "v128.load32x2_s_const65520") (result v128)
+ (v128.load32x2_s (i32.const 65520))
+ )
+ (func (export "v128.load32x2_u_const65526") (result v128)
+ (v128.load32x2_u (i32.const 65526))
+ )
+
+ ;; load data with different offset/align arguments
+ ;; i16x8
+ (func (export "v128.load8x8_s_offset0") (param $$0 i32) (result v128)
+ (v128.load8x8_s offset=0 (local.get $$0))
+ )
+ (func (export "v128.load8x8_s_align1") (param $$0 i32) (result v128)
+ (v128.load8x8_s align=1 (local.get $$0))
+ )
+ (func (export "v128.load8x8_s_offset0_align1") (param $$0 i32) (result v128)
+ (v128.load8x8_s offset=0 align=1 (local.get $$0))
+ )
+ (func (export "v128.load8x8_s_offset1_align1") (param $$0 i32) (result v128)
+ (v128.load8x8_s offset=1 align=1 (local.get $$0))
+ )
+ (func (export "v128.load8x8_s_offset10_align4") (param $$0 i32) (result v128)
+ (v128.load8x8_s offset=10 align=4 (local.get $$0))
+ )
+ (func (export "v128.load8x8_s_offset20_align8") (param $$0 i32) (result v128)
+ (v128.load8x8_s offset=20 align=8 (local.get $$0))
+ )
+ (func (export "v128.load8x8_u_offset0") (param $$0 i32) (result v128)
+ (v128.load8x8_u offset=0 (local.get $$0))
+ )
+ (func (export "v128.load8x8_u_align1") (param $$0 i32) (result v128)
+ (v128.load8x8_u align=1 (local.get $$0))
+ )
+ (func (export "v128.load8x8_u_offset0_align1") (param $$0 i32) (result v128)
+ (v128.load8x8_u offset=0 align=1 (local.get $$0))
+ )
+ (func (export "v128.load8x8_u_offset1_align1") (param $$0 i32) (result v128)
+ (v128.load8x8_u offset=1 align=1 (local.get $$0))
+ )
+ (func (export "v128.load8x8_u_offset10_align4") (param $$0 i32) (result v128)
+ (v128.load8x8_u offset=10 align=4 (local.get $$0))
+ )
+ (func (export "v128.load8x8_u_offset20_align8") (param $$0 i32) (result v128)
+ (v128.load8x8_u offset=20 align=8 (local.get $$0))
+ )
+ ;; i32x4
+ (func (export "v128.load16x4_s_offset0") (param $$0 i32) (result v128)
+ (v128.load16x4_s offset=0 (local.get $$0))
+ )
+ (func (export "v128.load16x4_s_align1") (param $$0 i32) (result v128)
+ (v128.load16x4_s align=1 (local.get $$0))
+ )
+ (func (export "v128.load16x4_s_offset0_align1") (param $$0 i32) (result v128)
+ (v128.load16x4_s offset=0 align=1 (local.get $$0))
+ )
+ (func (export "v128.load16x4_s_offset1_align1") (param $$0 i32) (result v128)
+ (v128.load16x4_s offset=1 align=1 (local.get $$0))
+ )
+ (func (export "v128.load16x4_s_offset10_align4") (param $$0 i32) (result v128)
+ (v128.load16x4_s offset=10 align=4 (local.get $$0))
+ )
+ (func (export "v128.load16x4_s_offset20_align8") (param $$0 i32) (result v128)
+ (v128.load16x4_s offset=20 align=8 (local.get $$0))
+ )
+ (func (export "v128.load16x4_u_offset0") (param $$0 i32) (result v128)
+ (v128.load16x4_u offset=0 (local.get $$0))
+ )
+ (func (export "v128.load16x4_u_align1") (param $$0 i32) (result v128)
+ (v128.load16x4_u align=1 (local.get $$0))
+ )
+ (func (export "v128.load16x4_u_offset0_align1") (param $$0 i32) (result v128)
+ (v128.load16x4_u offset=0 align=1 (local.get $$0))
+ )
+ (func (export "v128.load16x4_u_offset1_align1") (param $$0 i32) (result v128)
+ (v128.load16x4_u offset=1 align=1 (local.get $$0))
+ )
+ (func (export "v128.load16x4_u_offset10_align4") (param $$0 i32) (result v128)
+ (v128.load16x4_u offset=10 align=4 (local.get $$0))
+ )
+ (func (export "v128.load16x4_u_offset20_align8") (param $$0 i32) (result v128)
+ (v128.load16x4_u offset=20 align=8 (local.get $$0))
+ )
+ ;; i64x2
+ (func (export "v128.load32x2_s_offset0") (param $$0 i32) (result v128)
+ (v128.load32x2_s offset=0 (local.get $$0))
+ )
+ (func (export "v128.load32x2_s_align1") (param $$0 i32) (result v128)
+ (v128.load32x2_s align=1 (local.get $$0))
+ )
+ (func (export "v128.load32x2_s_offset0_align1") (param $$0 i32) (result v128)
+ (v128.load32x2_s offset=0 align=1 (local.get $$0))
+ )
+ (func (export "v128.load32x2_s_offset1_align1") (param $$0 i32) (result v128)
+ (v128.load32x2_s offset=1 align=1 (local.get $$0))
+ )
+ (func (export "v128.load32x2_s_offset10_align4") (param $$0 i32) (result v128)
+ (v128.load32x2_s offset=10 align=4 (local.get $$0))
+ )
+ (func (export "v128.load32x2_s_offset20_align8") (param $$0 i32) (result v128)
+ (v128.load32x2_s offset=20 align=8 (local.get $$0))
+ )
+ (func (export "v128.load32x2_u_offset0") (param $$0 i32) (result v128)
+ (v128.load32x2_u offset=0 (local.get $$0))
+ )
+ (func (export "v128.load32x2_u_align1") (param $$0 i32) (result v128)
+ (v128.load32x2_u align=1 (local.get $$0))
+ )
+ (func (export "v128.load32x2_u_offset0_align1") (param $$0 i32) (result v128)
+ (v128.load32x2_u offset=0 align=1 (local.get $$0))
+ )
+ (func (export "v128.load32x2_u_offset1_align1") (param $$0 i32) (result v128)
+ (v128.load32x2_u offset=1 align=1 (local.get $$0))
+ )
+ (func (export "v128.load32x2_u_offset10_align4") (param $$0 i32) (result v128)
+ (v128.load32x2_u offset=10 align=4 (local.get $$0))
+ )
+ (func (export "v128.load32x2_u_offset20_align8") (param $$0 i32) (result v128)
+ (v128.load32x2_u offset=20 align=8 (local.get $$0))
+ )
+)`);
+
+// ./test/core/simd/simd_load_extend.wast:163
+assert_return(
+ () => invoke($0, `v128.load8x8_s`, [0]),
+ [i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7])],
+);
+
+// ./test/core/simd/simd_load_extend.wast:164
+assert_return(
+ () => invoke($0, `v128.load8x8_u`, [0]),
+ [i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7])],
+);
+
+// ./test/core/simd/simd_load_extend.wast:165
+assert_return(() => invoke($0, `v128.load16x4_s`, [0]), [i32x4([0x100, 0x302, 0x504, 0x706])]);
+
+// ./test/core/simd/simd_load_extend.wast:166
+assert_return(() => invoke($0, `v128.load16x4_u`, [0]), [i32x4([0x100, 0x302, 0x504, 0x706])]);
+
+// ./test/core/simd/simd_load_extend.wast:167
+assert_return(() => invoke($0, `v128.load32x2_s`, [0]), [i64x2([0x3020100n, 0x7060504n])]);
+
+// ./test/core/simd/simd_load_extend.wast:168
+assert_return(() => invoke($0, `v128.load32x2_u`, [0]), [i64x2([0x3020100n, 0x7060504n])]);
+
+// ./test/core/simd/simd_load_extend.wast:169
+assert_return(
+ () => invoke($0, `v128.load8x8_s`, [10]),
+ [i16x8([0xa, 0xb, 0xc, 0xd, 0xe, 0xf, 0xff80, 0xff81])],
+);
+
+// ./test/core/simd/simd_load_extend.wast:170
+assert_return(
+ () => invoke($0, `v128.load8x8_u`, [10]),
+ [i16x8([0xa, 0xb, 0xc, 0xd, 0xe, 0xf, 0x80, 0x81])],
+);
+
+// ./test/core/simd/simd_load_extend.wast:171
+assert_return(() => invoke($0, `v128.load16x4_s`, [10]), [i32x4([0xb0a, 0xd0c, 0xf0e, 0xffff8180])]);
+
+// ./test/core/simd/simd_load_extend.wast:172
+assert_return(() => invoke($0, `v128.load16x4_u`, [10]), [i32x4([0xb0a, 0xd0c, 0xf0e, 0x8180])]);
+
+// ./test/core/simd/simd_load_extend.wast:173
+assert_return(() => invoke($0, `v128.load32x2_s`, [10]), [i64x2([0xd0c0b0an, 0xffffffff81800f0en])]);
+
+// ./test/core/simd/simd_load_extend.wast:174
+assert_return(() => invoke($0, `v128.load32x2_u`, [10]), [i64x2([0xd0c0b0an, 0x81800f0en])]);
+
+// ./test/core/simd/simd_load_extend.wast:175
+assert_return(
+ () => invoke($0, `v128.load8x8_s`, [20]),
+ [i16x8([0xff84, 0xff85, 0xff86, 0xff87, 0xff88, 0xff89, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_load_extend.wast:176
+assert_return(
+ () => invoke($0, `v128.load8x8_u`, [20]),
+ [i16x8([0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_load_extend.wast:177
+assert_return(
+ () => invoke($0, `v128.load16x4_s`, [20]),
+ [i32x4([0xffff8584, 0xffff8786, 0xffff8988, 0x0])],
+);
+
+// ./test/core/simd/simd_load_extend.wast:178
+assert_return(() => invoke($0, `v128.load16x4_u`, [20]), [i32x4([0x8584, 0x8786, 0x8988, 0x0])]);
+
+// ./test/core/simd/simd_load_extend.wast:179
+assert_return(() => invoke($0, `v128.load32x2_s`, [20]), [i64x2([0xffffffff87868584n, 0x8988n])]);
+
+// ./test/core/simd/simd_load_extend.wast:180
+assert_return(() => invoke($0, `v128.load32x2_u`, [20]), [i64x2([0x87868584n, 0x8988n])]);
+
+// ./test/core/simd/simd_load_extend.wast:183
+assert_return(
+ () => invoke($0, `v128.load8x8_s_const0`, []),
+ [i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7])],
+);
+
+// ./test/core/simd/simd_load_extend.wast:184
+assert_return(
+ () => invoke($0, `v128.load8x8_u_const8`, []),
+ [i16x8([0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf])],
+);
+
+// ./test/core/simd/simd_load_extend.wast:185
+assert_return(() => invoke($0, `v128.load16x4_s_const10`, []), [i32x4([0xb0a, 0xd0c, 0xf0e, 0xffff8180])]);
+
+// ./test/core/simd/simd_load_extend.wast:186
+assert_return(() => invoke($0, `v128.load16x4_u_const20`, []), [i32x4([0x8584, 0x8786, 0x8988, 0x0])]);
+
+// ./test/core/simd/simd_load_extend.wast:187
+assert_return(
+ () => invoke($0, `v128.load32x2_s_const65520`, []),
+ [i64x2([0xd0c0b0an, 0xffffffff81800f0en])],
+);
+
+// ./test/core/simd/simd_load_extend.wast:188
+assert_return(() => invoke($0, `v128.load32x2_u_const65526`, []), [i64x2([0x83828180n, 0x87868584n])]);
+
+// ./test/core/simd/simd_load_extend.wast:192
+assert_return(
+ () => invoke($0, `v128.load8x8_s_offset0`, [0]),
+ [i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7])],
+);
+
+// ./test/core/simd/simd_load_extend.wast:193
+assert_return(
+ () => invoke($0, `v128.load8x8_s_align1`, [1]),
+ [i16x8([0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8])],
+);
+
+// ./test/core/simd/simd_load_extend.wast:194
+assert_return(
+ () => invoke($0, `v128.load8x8_s_offset0_align1`, [2]),
+ [i16x8([0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9])],
+);
+
+// ./test/core/simd/simd_load_extend.wast:195
+assert_return(
+ () => invoke($0, `v128.load8x8_s_offset10_align4`, [3]),
+ [i16x8([0xd, 0xe, 0xf, 0xff80, 0xff81, 0xff82, 0xff83, 0xff84])],
+);
+
+// ./test/core/simd/simd_load_extend.wast:196
+assert_return(
+ () => invoke($0, `v128.load8x8_s_offset20_align8`, [4]),
+ [i16x8([0xff88, 0xff89, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_load_extend.wast:197
+assert_return(
+ () => invoke($0, `v128.load8x8_u_offset0`, [0]),
+ [i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7])],
+);
+
+// ./test/core/simd/simd_load_extend.wast:198
+assert_return(
+ () => invoke($0, `v128.load8x8_u_align1`, [1]),
+ [i16x8([0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8])],
+);
+
+// ./test/core/simd/simd_load_extend.wast:199
+assert_return(
+ () => invoke($0, `v128.load8x8_u_offset0_align1`, [2]),
+ [i16x8([0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9])],
+);
+
+// ./test/core/simd/simd_load_extend.wast:200
+assert_return(
+ () => invoke($0, `v128.load8x8_u_offset10_align4`, [3]),
+ [i16x8([0xd, 0xe, 0xf, 0x80, 0x81, 0x82, 0x83, 0x84])],
+);
+
+// ./test/core/simd/simd_load_extend.wast:201
+assert_return(
+ () => invoke($0, `v128.load8x8_u_offset20_align8`, [4]),
+ [i16x8([0x88, 0x89, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_load_extend.wast:203
+assert_return(() => invoke($0, `v128.load16x4_s_offset0`, [0]), [i32x4([0x100, 0x302, 0x504, 0x706])]);
+
+// ./test/core/simd/simd_load_extend.wast:204
+assert_return(() => invoke($0, `v128.load16x4_s_align1`, [1]), [i32x4([0x201, 0x403, 0x605, 0x807])]);
+
+// ./test/core/simd/simd_load_extend.wast:205
+assert_return(
+ () => invoke($0, `v128.load16x4_s_offset0_align1`, [2]),
+ [i32x4([0x302, 0x504, 0x706, 0x908])],
+);
+
+// ./test/core/simd/simd_load_extend.wast:206
+assert_return(
+ () => invoke($0, `v128.load16x4_s_offset10_align4`, [3]),
+ [i32x4([0xe0d, 0xffff800f, 0xffff8281, 0xffff8483])],
+);
+
+// ./test/core/simd/simd_load_extend.wast:207
+assert_return(
+ () => invoke($0, `v128.load16x4_s_offset20_align8`, [4]),
+ [i32x4([0xffff8988, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_load_extend.wast:208
+assert_return(() => invoke($0, `v128.load16x4_u_offset0`, [0]), [i32x4([0x100, 0x302, 0x504, 0x706])]);
+
+// ./test/core/simd/simd_load_extend.wast:209
+assert_return(() => invoke($0, `v128.load16x4_u_align1`, [1]), [i32x4([0x201, 0x403, 0x605, 0x807])]);
+
+// ./test/core/simd/simd_load_extend.wast:210
+assert_return(
+ () => invoke($0, `v128.load16x4_u_offset0_align1`, [2]),
+ [i32x4([0x302, 0x504, 0x706, 0x908])],
+);
+
+// ./test/core/simd/simd_load_extend.wast:211
+assert_return(
+ () => invoke($0, `v128.load16x4_u_offset10_align4`, [3]),
+ [i32x4([0xe0d, 0x800f, 0x8281, 0x8483])],
+);
+
+// ./test/core/simd/simd_load_extend.wast:212
+assert_return(
+ () => invoke($0, `v128.load16x4_u_offset20_align8`, [4]),
+ [i32x4([0x8988, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_load_extend.wast:214
+assert_return(() => invoke($0, `v128.load32x2_s_offset0`, [0]), [i64x2([0x3020100n, 0x7060504n])]);
+
+// ./test/core/simd/simd_load_extend.wast:215
+assert_return(() => invoke($0, `v128.load32x2_s_align1`, [1]), [i64x2([0x4030201n, 0x8070605n])]);
+
+// ./test/core/simd/simd_load_extend.wast:216
+assert_return(
+ () => invoke($0, `v128.load32x2_s_offset0_align1`, [2]),
+ [i64x2([0x5040302n, 0x9080706n])],
+);
+
+// ./test/core/simd/simd_load_extend.wast:217
+assert_return(
+ () => invoke($0, `v128.load32x2_s_offset10_align4`, [3]),
+ [i64x2([0xffffffff800f0e0dn, 0xffffffff84838281n])],
+);
+
+// ./test/core/simd/simd_load_extend.wast:218
+assert_return(() => invoke($0, `v128.load32x2_s_offset20_align8`, [4]), [i64x2([0x8988n, 0x0n])]);
+
+// ./test/core/simd/simd_load_extend.wast:219
+assert_return(() => invoke($0, `v128.load32x2_u_offset0`, [0]), [i64x2([0x3020100n, 0x7060504n])]);
+
+// ./test/core/simd/simd_load_extend.wast:220
+assert_return(() => invoke($0, `v128.load32x2_u_align1`, [1]), [i64x2([0x4030201n, 0x8070605n])]);
+
+// ./test/core/simd/simd_load_extend.wast:221
+assert_return(
+ () => invoke($0, `v128.load32x2_u_offset0_align1`, [2]),
+ [i64x2([0x5040302n, 0x9080706n])],
+);
+
+// ./test/core/simd/simd_load_extend.wast:222
+assert_return(
+ () => invoke($0, `v128.load32x2_u_offset10_align4`, [3]),
+ [i64x2([0x800f0e0dn, 0x84838281n])],
+);
+
+// ./test/core/simd/simd_load_extend.wast:223
+assert_return(() => invoke($0, `v128.load32x2_u_offset20_align8`, [4]), [i64x2([0x8988n, 0x0n])]);
+
+// ./test/core/simd/simd_load_extend.wast:226
+assert_trap(() => invoke($0, `v128.load8x8_s`, [-1]), `out of bounds memory access`);
+
+// ./test/core/simd/simd_load_extend.wast:227
+assert_trap(() => invoke($0, `v128.load8x8_u`, [-1]), `out of bounds memory access`);
+
+// ./test/core/simd/simd_load_extend.wast:228
+assert_trap(() => invoke($0, `v128.load16x4_s`, [65536]), `out of bounds memory access`);
+
+// ./test/core/simd/simd_load_extend.wast:229
+assert_trap(() => invoke($0, `v128.load16x4_u`, [65536]), `out of bounds memory access`);
+
+// ./test/core/simd/simd_load_extend.wast:230
+assert_trap(() => invoke($0, `v128.load32x2_s`, [65529]), `out of bounds memory access`);
+
+// ./test/core/simd/simd_load_extend.wast:231
+assert_trap(() => invoke($0, `v128.load32x2_u`, [65529]), `out of bounds memory access`);
+
+// ./test/core/simd/simd_load_extend.wast:233
+assert_trap(() => invoke($0, `v128.load8x8_s_offset1_align1`, [-1]), `out of bounds memory access`);
+
+// ./test/core/simd/simd_load_extend.wast:234
+assert_trap(() => invoke($0, `v128.load8x8_u_offset1_align1`, [-1]), `out of bounds memory access`);
+
+// ./test/core/simd/simd_load_extend.wast:235
+assert_trap(() => invoke($0, `v128.load16x4_s_offset1_align1`, [-1]), `out of bounds memory access`);
+
+// ./test/core/simd/simd_load_extend.wast:236
+assert_trap(() => invoke($0, `v128.load16x4_u_offset1_align1`, [-1]), `out of bounds memory access`);
+
+// ./test/core/simd/simd_load_extend.wast:237
+assert_trap(() => invoke($0, `v128.load32x2_s_offset1_align1`, [-1]), `out of bounds memory access`);
+
+// ./test/core/simd/simd_load_extend.wast:238
+assert_trap(() => invoke($0, `v128.load32x2_u_offset1_align1`, [-1]), `out of bounds memory access`);
+
+// ./test/core/simd/simd_load_extend.wast:241
+assert_invalid(
+ () => instantiate(`(module (memory 0) (func (result v128) (v128.load8x8_s (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_load_extend.wast:242
+assert_invalid(
+ () => instantiate(`(module (memory 0) (func (result v128) (v128.load8x8_u (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_load_extend.wast:243
+assert_invalid(
+ () => instantiate(`(module (memory 0) (func (result v128) (v128.load16x4_s (f64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_load_extend.wast:244
+assert_invalid(
+ () => instantiate(`(module (memory 0) (func (result v128) (v128.load16x4_u (f64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_load_extend.wast:245
+assert_invalid(
+ () => instantiate(`(module (memory 0) (func (result v128) (v128.load32x2_s (v128.const i32x4 0 0 0 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_load_extend.wast:246
+assert_invalid(
+ () => instantiate(`(module (memory 0) (func (result v128) (v128.load32x2_u (v128.const i32x4 0 0 0 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_load_extend.wast:250
+assert_invalid(
+ () => instantiate(`(module (memory 0)
+ (func $$v128.load8x8_s-arg-empty (result v128)
+ (v128.load8x8_s)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_load_extend.wast:258
+assert_invalid(
+ () => instantiate(`(module (memory 0)
+ (func $$v128.load8x8_u-arg-empty (result v128)
+ (v128.load8x8_u)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_load_extend.wast:266
+assert_invalid(
+ () => instantiate(`(module (memory 0)
+ (func $$v128.load16x4_s-arg-empty (result v128)
+ (v128.load16x4_s)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_load_extend.wast:274
+assert_invalid(
+ () => instantiate(`(module (memory 0)
+ (func $$v128.load16x4_u-arg-empty (result v128)
+ (v128.load16x4_u)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_load_extend.wast:282
+assert_invalid(
+ () => instantiate(`(module (memory 0)
+ (func $$v128.load32x2_s-arg-empty (result v128)
+ (v128.load32x2_s)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_load_extend.wast:290
+assert_invalid(
+ () => instantiate(`(module (memory 0)
+ (func $$v128.load32x2_u-arg-empty (result v128)
+ (v128.load32x2_u)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_load_extend.wast:301
+assert_malformed(
+ () => instantiate(`(memory 1) (func (drop (i16x8.load16x4_s (i32.const 0)))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_load_extend.wast:302
+assert_malformed(
+ () => instantiate(`(memory 1) (func (drop (i16x8.load16x4_u (i32.const 0)))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_load_extend.wast:303
+assert_malformed(
+ () => instantiate(`(memory 1) (func (drop (i32x4.load32x2_s (i32.const 0)))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_load_extend.wast:304
+assert_malformed(
+ () => instantiate(`(memory 1) (func (drop (i32x4.load32x2_u (i32.const 0)))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_load_extend.wast:305
+assert_malformed(
+ () => instantiate(`(memory 1) (func (drop (i64x2.load64x1_s (i32.const 0)))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_load_extend.wast:306
+assert_malformed(
+ () => instantiate(`(memory 1) (func (drop (i64x2.load64x1_u (i32.const 0)))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_load_extend.wast:309
+let $1 = instantiate(`(module
+ (memory 1)
+ (data (i32.const 0) "\\00\\01\\02\\03\\04\\05\\06\\07\\08\\09\\0A\\0B\\0C\\0D\\0E\\0F\\80\\81\\82\\83\\84\\85\\86\\87\\88\\89")
+ (func (export "v128.load8x8_s-in-block") (result v128)
+ (block (result v128) (block (result v128) (v128.load8x8_s (i32.const 0))))
+ )
+ (func (export "v128.load8x8_u-in-block") (result v128)
+ (block (result v128) (block (result v128) (v128.load8x8_u (i32.const 1))))
+ )
+ (func (export "v128.load16x4_s-in-block") (result v128)
+ (block (result v128) (block (result v128) (v128.load16x4_s (i32.const 2))))
+ )
+ (func (export "v128.load16x4_u-in-block") (result v128)
+ (block (result v128) (block (result v128) (v128.load16x4_u (i32.const 3))))
+ )
+ (func (export "v128.load32x2_s-in-block") (result v128)
+ (block (result v128) (block (result v128) (v128.load32x2_s (i32.const 4))))
+ )
+ (func (export "v128.load32x2_u-in-block") (result v128)
+ (block (result v128) (block (result v128) (v128.load32x2_u (i32.const 5))))
+ )
+ (func (export "v128.load8x8_s-as-br-value") (result v128)
+ (block (result v128) (br 0 (v128.load8x8_s (i32.const 6))))
+ )
+ (func (export "v128.load8x8_u-as-br-value") (result v128)
+ (block (result v128) (br 0 (v128.load8x8_u (i32.const 7))))
+ )
+ (func (export "v128.load16x4_s-as-br-value") (result v128)
+ (block (result v128) (br 0 (v128.load16x4_s (i32.const 8))))
+ )
+ (func (export "v128.load16x4_u-as-br-value") (result v128)
+ (block (result v128) (br 0 (v128.load16x4_u (i32.const 9))))
+ )
+ (func (export "v128.load32x2_s-as-br-value") (result v128)
+ (block (result v128) (br 0 (v128.load32x2_s (i32.const 10))))
+ )
+ (func (export "v128.load32x2_u-as-br-value") (result v128)
+ (block (result v128) (br 0 (v128.load32x2_u (i32.const 11))))
+ )
+ (func (export "v128.load8x8_s-extract_lane_s-operand") (result i32)
+ (i8x16.extract_lane_s 0 (v128.load8x8_s (i32.const 12)))
+ )
+ (func (export "v128.load8x8_u-extract_lane_s-operand") (result i32)
+ (i8x16.extract_lane_s 0 (v128.load8x8_u (i32.const 13)))
+ )
+ (func (export "v128.load16x4_s-extract_lane_s-operand") (result i32)
+ (i8x16.extract_lane_s 0 (v128.load16x4_s (i32.const 14)))
+ )
+ (func (export "v128.load16x4_u-extract_lane_s-operand") (result i32)
+ (i8x16.extract_lane_s 0 (v128.load16x4_u (i32.const 15)))
+ )
+ (func (export "v128.load32x2_s-extract_lane_s-operand") (result i32)
+ (i8x16.extract_lane_s 0 (v128.load32x2_s (i32.const 16)))
+ )
+ (func (export "v128.load32x2_u-extract_lane_s-operand") (result i32)
+ (i8x16.extract_lane_s 0 (v128.load32x2_u (i32.const 17)))
+ )
+)`);
+
+// ./test/core/simd/simd_load_extend.wast:367
+assert_return(
+ () => invoke($1, `v128.load8x8_s-in-block`, []),
+ [i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7])],
+);
+
+// ./test/core/simd/simd_load_extend.wast:368
+assert_return(
+ () => invoke($1, `v128.load8x8_u-in-block`, []),
+ [i16x8([0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8])],
+);
+
+// ./test/core/simd/simd_load_extend.wast:369
+assert_return(() => invoke($1, `v128.load16x4_s-in-block`, []), [i32x4([0x302, 0x504, 0x706, 0x908])]);
+
+// ./test/core/simd/simd_load_extend.wast:370
+assert_return(() => invoke($1, `v128.load16x4_u-in-block`, []), [i32x4([0x403, 0x605, 0x807, 0xa09])]);
+
+// ./test/core/simd/simd_load_extend.wast:371
+assert_return(() => invoke($1, `v128.load32x2_s-in-block`, []), [i64x2([0x7060504n, 0xb0a0908n])]);
+
+// ./test/core/simd/simd_load_extend.wast:372
+assert_return(() => invoke($1, `v128.load32x2_u-in-block`, []), [i64x2([0x8070605n, 0xc0b0a09n])]);
+
+// ./test/core/simd/simd_load_extend.wast:373
+assert_return(
+ () => invoke($1, `v128.load8x8_s-as-br-value`, []),
+ [i16x8([0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd])],
+);
+
+// ./test/core/simd/simd_load_extend.wast:374
+assert_return(
+ () => invoke($1, `v128.load8x8_u-as-br-value`, []),
+ [i16x8([0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe])],
+);
+
+// ./test/core/simd/simd_load_extend.wast:375
+assert_return(() => invoke($1, `v128.load16x4_s-as-br-value`, []), [i32x4([0x908, 0xb0a, 0xd0c, 0xf0e])]);
+
+// ./test/core/simd/simd_load_extend.wast:376
+assert_return(() => invoke($1, `v128.load16x4_u-as-br-value`, []), [i32x4([0xa09, 0xc0b, 0xe0d, 0x800f])]);
+
+// ./test/core/simd/simd_load_extend.wast:377
+assert_return(
+ () => invoke($1, `v128.load32x2_s-as-br-value`, []),
+ [i64x2([0xd0c0b0an, 0xffffffff81800f0en])],
+);
+
+// ./test/core/simd/simd_load_extend.wast:378
+assert_return(() => invoke($1, `v128.load32x2_u-as-br-value`, []), [i64x2([0xe0d0c0bn, 0x8281800fn])]);
+
+// ./test/core/simd/simd_load_extend.wast:379
+assert_return(() => invoke($1, `v128.load8x8_s-extract_lane_s-operand`, []), [value("i32", 12)]);
+
+// ./test/core/simd/simd_load_extend.wast:380
+assert_return(() => invoke($1, `v128.load8x8_u-extract_lane_s-operand`, []), [value("i32", 13)]);
+
+// ./test/core/simd/simd_load_extend.wast:381
+assert_return(() => invoke($1, `v128.load16x4_s-extract_lane_s-operand`, []), [value("i32", 14)]);
+
+// ./test/core/simd/simd_load_extend.wast:382
+assert_return(() => invoke($1, `v128.load16x4_u-extract_lane_s-operand`, []), [value("i32", 15)]);
+
+// ./test/core/simd/simd_load_extend.wast:383
+assert_return(() => invoke($1, `v128.load32x2_s-extract_lane_s-operand`, []), [value("i32", -128)]);
+
+// ./test/core/simd/simd_load_extend.wast:384
+assert_return(() => invoke($1, `v128.load32x2_u-extract_lane_s-operand`, []), [value("i32", -127)]);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/simd_load_splat.wast.js b/js/src/jit-test/tests/wasm/spec/spec/simd_load_splat.wast.js
new file mode 100644
index 0000000000..ee1ece3d20
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/simd_load_splat.wast.js
@@ -0,0 +1,750 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_load_splat.wast
+
+// ./test/core/simd/simd_load_splat.wast:3
+let $0 = instantiate(`(module
+ (memory 1)
+ (data (i32.const 0) "\\00\\01\\02\\03\\04\\05\\06\\07\\08\\09\\0A\\0B\\0C\\0D\\0E\\0F")
+ (data (i32.const 65520) "\\10\\11\\12\\13\\14\\15\\16\\17\\18\\19\\1A\\1B\\1C\\1D\\1E\\1F")
+
+ (func (export "v128.load8_splat") (param $$address i32) (result v128) (v128.load8_splat (local.get $$address)))
+ (func (export "v128.load16_splat") (param $$address i32) (result v128) (v128.load16_splat (local.get $$address)))
+ (func (export "v128.load32_splat") (param $$address i32) (result v128) (v128.load32_splat (local.get $$address)))
+ (func (export "v128.load64_splat") (param $$address i32) (result v128) (v128.load64_splat (local.get $$address)))
+
+ ;; Load data with different offset/align arguments
+ (func (export "v8x16.offset0") (param $$address i32) (result v128) (v128.load8_splat offset=0 (local.get $$address)))
+ (func (export "v8x16.align1") (param $$address i32) (result v128) (v128.load8_splat align=1 (local.get $$address)))
+ (func (export "v8x16.offset1_align1") (param $$address i32) (result v128) (v128.load8_splat offset=1 align=1 (local.get $$address)))
+ (func (export "v8x16.offset2_align1") (param $$address i32) (result v128) (v128.load8_splat offset=2 align=1 (local.get $$address)))
+ (func (export "v8x16.offset15_align1") (param $$address i32) (result v128) (v128.load8_splat offset=15 align=1 (local.get $$address)))
+
+ (func (export "v16x8.offset0") (param $$address i32) (result v128) (v128.load16_splat offset=0 (local.get $$address)))
+ (func (export "v16x8.align1") (param $$address i32) (result v128) (v128.load16_splat align=1 (local.get $$address)))
+ (func (export "v16x8.offset1_align1") (param $$address i32) (result v128) (v128.load16_splat offset=1 align=1 (local.get $$address)))
+ (func (export "v16x8.offset2_align1") (param $$address i32) (result v128) (v128.load16_splat offset=2 align=1 (local.get $$address)))
+ (func (export "v16x8.offset15_align2") (param $$address i32) (result v128) (v128.load16_splat offset=15 align=2 (local.get $$address)))
+
+ (func (export "v32x4.offset0") (param $$address i32) (result v128) (v128.load32_splat offset=0 (local.get $$address)))
+ (func (export "v32x4.align1") (param $$address i32) (result v128) (v128.load32_splat align=1 (local.get $$address)))
+ (func (export "v32x4.offset1_align1") (param $$address i32) (result v128) (v128.load32_splat offset=1 align=1 (local.get $$address)))
+ (func (export "v32x4.offset2_align2") (param $$address i32) (result v128) (v128.load32_splat offset=2 align=2 (local.get $$address)))
+ (func (export "v32x4.offset15_align4") (param $$address i32) (result v128) (v128.load32_splat offset=15 align=4 (local.get $$address)))
+
+ (func (export "v64x2.offset0") (param $$address i32) (result v128) (v128.load64_splat offset=0 (local.get $$address)))
+ (func (export "v64x2.align1") (param $$address i32) (result v128) (v128.load64_splat align=1 (local.get $$address)))
+ (func (export "v64x2.offset1_align2") (param $$address i32) (result v128) (v128.load64_splat offset=1 align=2 (local.get $$address)))
+ (func (export "v64x2.offset2_align4") (param $$address i32) (result v128) (v128.load64_splat offset=2 align=4 (local.get $$address)))
+ (func (export "v64x2.offset15_align8") (param $$address i32) (result v128) (v128.load64_splat offset=15 align=8 (local.get $$address)))
+
+ (func (export "v8x16.offset65536") (param $$address i32) (result v128) (v128.load8_splat offset=65536 (local.get $$address)))
+ (func (export "v16x8.offset65535") (param $$address i32) (result v128) (v128.load16_splat offset=65535 (local.get $$address)))
+ (func (export "v32x4.offset65533") (param $$address i32) (result v128) (v128.load32_splat offset=65533 (local.get $$address)))
+ (func (export "v64x2.offset65529") (param $$address i32) (result v128) (v128.load64_splat offset=65529 (local.get $$address)))
+)`);
+
+// ./test/core/simd/simd_load_splat.wast:43
+assert_return(
+ () => invoke($0, `v128.load8_splat`, [0]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_load_splat.wast:44
+assert_return(
+ () => invoke($0, `v128.load8_splat`, [1]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_load_splat.wast:45
+assert_return(
+ () => invoke($0, `v128.load8_splat`, [2]),
+ [
+ i8x16([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ],
+);
+
+// ./test/core/simd/simd_load_splat.wast:46
+assert_return(
+ () => invoke($0, `v128.load8_splat`, [3]),
+ [
+ i8x16([0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3]),
+ ],
+);
+
+// ./test/core/simd/simd_load_splat.wast:47
+assert_return(
+ () => invoke($0, `v128.load8_splat`, [65535]),
+ [
+ i8x16([0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f]),
+ ],
+);
+
+// ./test/core/simd/simd_load_splat.wast:48
+assert_return(
+ () => invoke($0, `v128.load16_splat`, [4]),
+ [i16x8([0x504, 0x504, 0x504, 0x504, 0x504, 0x504, 0x504, 0x504])],
+);
+
+// ./test/core/simd/simd_load_splat.wast:49
+assert_return(
+ () => invoke($0, `v128.load16_splat`, [5]),
+ [i16x8([0x605, 0x605, 0x605, 0x605, 0x605, 0x605, 0x605, 0x605])],
+);
+
+// ./test/core/simd/simd_load_splat.wast:50
+assert_return(
+ () => invoke($0, `v128.load16_splat`, [6]),
+ [i16x8([0x706, 0x706, 0x706, 0x706, 0x706, 0x706, 0x706, 0x706])],
+);
+
+// ./test/core/simd/simd_load_splat.wast:51
+assert_return(
+ () => invoke($0, `v128.load16_splat`, [7]),
+ [i16x8([0x807, 0x807, 0x807, 0x807, 0x807, 0x807, 0x807, 0x807])],
+);
+
+// ./test/core/simd/simd_load_splat.wast:52
+assert_return(
+ () => invoke($0, `v128.load16_splat`, [65534]),
+ [i16x8([0x1f1e, 0x1f1e, 0x1f1e, 0x1f1e, 0x1f1e, 0x1f1e, 0x1f1e, 0x1f1e])],
+);
+
+// ./test/core/simd/simd_load_splat.wast:53
+assert_return(
+ () => invoke($0, `v128.load32_splat`, [8]),
+ [i32x4([0xb0a0908, 0xb0a0908, 0xb0a0908, 0xb0a0908])],
+);
+
+// ./test/core/simd/simd_load_splat.wast:54
+assert_return(
+ () => invoke($0, `v128.load32_splat`, [9]),
+ [i32x4([0xc0b0a09, 0xc0b0a09, 0xc0b0a09, 0xc0b0a09])],
+);
+
+// ./test/core/simd/simd_load_splat.wast:55
+assert_return(
+ () => invoke($0, `v128.load32_splat`, [10]),
+ [i32x4([0xd0c0b0a, 0xd0c0b0a, 0xd0c0b0a, 0xd0c0b0a])],
+);
+
+// ./test/core/simd/simd_load_splat.wast:56
+assert_return(
+ () => invoke($0, `v128.load32_splat`, [11]),
+ [i32x4([0xe0d0c0b, 0xe0d0c0b, 0xe0d0c0b, 0xe0d0c0b])],
+);
+
+// ./test/core/simd/simd_load_splat.wast:57
+assert_return(
+ () => invoke($0, `v128.load32_splat`, [65532]),
+ [i32x4([0x1f1e1d1c, 0x1f1e1d1c, 0x1f1e1d1c, 0x1f1e1d1c])],
+);
+
+// ./test/core/simd/simd_load_splat.wast:58
+assert_return(() => invoke($0, `v128.load64_splat`, [12]), [i64x2([0xf0e0d0cn, 0xf0e0d0cn])]);
+
+// ./test/core/simd/simd_load_splat.wast:59
+assert_return(() => invoke($0, `v128.load64_splat`, [13]), [i64x2([0xf0e0dn, 0xf0e0dn])]);
+
+// ./test/core/simd/simd_load_splat.wast:60
+assert_return(() => invoke($0, `v128.load64_splat`, [14]), [i64x2([0xf0en, 0xf0en])]);
+
+// ./test/core/simd/simd_load_splat.wast:61
+assert_return(() => invoke($0, `v128.load64_splat`, [15]), [i64x2([0xfn, 0xfn])]);
+
+// ./test/core/simd/simd_load_splat.wast:62
+assert_return(
+ () => invoke($0, `v128.load64_splat`, [65528]),
+ [i64x2([0x1f1e1d1c1b1a1918n, 0x1f1e1d1c1b1a1918n])],
+);
+
+// ./test/core/simd/simd_load_splat.wast:65
+assert_return(
+ () => invoke($0, `v8x16.offset0`, [0]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_load_splat.wast:66
+assert_return(
+ () => invoke($0, `v8x16.align1`, [0]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_load_splat.wast:67
+assert_return(
+ () => invoke($0, `v8x16.offset1_align1`, [0]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_load_splat.wast:68
+assert_return(
+ () => invoke($0, `v8x16.offset2_align1`, [0]),
+ [
+ i8x16([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ],
+);
+
+// ./test/core/simd/simd_load_splat.wast:69
+assert_return(
+ () => invoke($0, `v8x16.offset15_align1`, [0]),
+ [
+ i8x16([0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf]),
+ ],
+);
+
+// ./test/core/simd/simd_load_splat.wast:70
+assert_return(
+ () => invoke($0, `v8x16.offset0`, [1]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_load_splat.wast:71
+assert_return(
+ () => invoke($0, `v8x16.align1`, [1]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_load_splat.wast:72
+assert_return(
+ () => invoke($0, `v8x16.offset1_align1`, [1]),
+ [
+ i8x16([0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2]),
+ ],
+);
+
+// ./test/core/simd/simd_load_splat.wast:73
+assert_return(
+ () => invoke($0, `v8x16.offset2_align1`, [1]),
+ [
+ i8x16([0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3]),
+ ],
+);
+
+// ./test/core/simd/simd_load_splat.wast:74
+assert_return(
+ () => invoke($0, `v8x16.offset15_align1`, [1]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_load_splat.wast:75
+assert_return(
+ () => invoke($0, `v8x16.offset0`, [65535]),
+ [
+ i8x16([0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f]),
+ ],
+);
+
+// ./test/core/simd/simd_load_splat.wast:76
+assert_return(
+ () => invoke($0, `v8x16.align1`, [65535]),
+ [
+ i8x16([0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f]),
+ ],
+);
+
+// ./test/core/simd/simd_load_splat.wast:78
+assert_return(
+ () => invoke($0, `v16x8.offset0`, [0]),
+ [i16x8([0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100])],
+);
+
+// ./test/core/simd/simd_load_splat.wast:79
+assert_return(
+ () => invoke($0, `v16x8.align1`, [0]),
+ [i16x8([0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100])],
+);
+
+// ./test/core/simd/simd_load_splat.wast:80
+assert_return(
+ () => invoke($0, `v16x8.offset1_align1`, [0]),
+ [i16x8([0x201, 0x201, 0x201, 0x201, 0x201, 0x201, 0x201, 0x201])],
+);
+
+// ./test/core/simd/simd_load_splat.wast:81
+assert_return(
+ () => invoke($0, `v16x8.offset2_align1`, [0]),
+ [i16x8([0x302, 0x302, 0x302, 0x302, 0x302, 0x302, 0x302, 0x302])],
+);
+
+// ./test/core/simd/simd_load_splat.wast:82
+assert_return(
+ () => invoke($0, `v16x8.offset15_align2`, [0]),
+ [i16x8([0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf])],
+);
+
+// ./test/core/simd/simd_load_splat.wast:83
+assert_return(
+ () => invoke($0, `v16x8.offset0`, [1]),
+ [i16x8([0x201, 0x201, 0x201, 0x201, 0x201, 0x201, 0x201, 0x201])],
+);
+
+// ./test/core/simd/simd_load_splat.wast:84
+assert_return(
+ () => invoke($0, `v16x8.align1`, [1]),
+ [i16x8([0x201, 0x201, 0x201, 0x201, 0x201, 0x201, 0x201, 0x201])],
+);
+
+// ./test/core/simd/simd_load_splat.wast:85
+assert_return(
+ () => invoke($0, `v16x8.offset1_align1`, [1]),
+ [i16x8([0x302, 0x302, 0x302, 0x302, 0x302, 0x302, 0x302, 0x302])],
+);
+
+// ./test/core/simd/simd_load_splat.wast:86
+assert_return(
+ () => invoke($0, `v16x8.offset2_align1`, [1]),
+ [i16x8([0x403, 0x403, 0x403, 0x403, 0x403, 0x403, 0x403, 0x403])],
+);
+
+// ./test/core/simd/simd_load_splat.wast:87
+assert_return(
+ () => invoke($0, `v16x8.offset15_align2`, [1]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_load_splat.wast:88
+assert_return(
+ () => invoke($0, `v16x8.offset0`, [65534]),
+ [i16x8([0x1f1e, 0x1f1e, 0x1f1e, 0x1f1e, 0x1f1e, 0x1f1e, 0x1f1e, 0x1f1e])],
+);
+
+// ./test/core/simd/simd_load_splat.wast:89
+assert_return(
+ () => invoke($0, `v16x8.align1`, [65534]),
+ [i16x8([0x1f1e, 0x1f1e, 0x1f1e, 0x1f1e, 0x1f1e, 0x1f1e, 0x1f1e, 0x1f1e])],
+);
+
+// ./test/core/simd/simd_load_splat.wast:91
+assert_return(
+ () => invoke($0, `v32x4.offset0`, [0]),
+ [i32x4([0x3020100, 0x3020100, 0x3020100, 0x3020100])],
+);
+
+// ./test/core/simd/simd_load_splat.wast:92
+assert_return(
+ () => invoke($0, `v32x4.align1`, [0]),
+ [i32x4([0x3020100, 0x3020100, 0x3020100, 0x3020100])],
+);
+
+// ./test/core/simd/simd_load_splat.wast:93
+assert_return(
+ () => invoke($0, `v32x4.offset1_align1`, [0]),
+ [i32x4([0x4030201, 0x4030201, 0x4030201, 0x4030201])],
+);
+
+// ./test/core/simd/simd_load_splat.wast:94
+assert_return(
+ () => invoke($0, `v32x4.offset2_align2`, [0]),
+ [i32x4([0x5040302, 0x5040302, 0x5040302, 0x5040302])],
+);
+
+// ./test/core/simd/simd_load_splat.wast:95
+assert_return(() => invoke($0, `v32x4.offset15_align4`, [0]), [i32x4([0xf, 0xf, 0xf, 0xf])]);
+
+// ./test/core/simd/simd_load_splat.wast:96
+assert_return(
+ () => invoke($0, `v32x4.offset0`, [1]),
+ [i32x4([0x4030201, 0x4030201, 0x4030201, 0x4030201])],
+);
+
+// ./test/core/simd/simd_load_splat.wast:97
+assert_return(
+ () => invoke($0, `v32x4.align1`, [1]),
+ [i32x4([0x4030201, 0x4030201, 0x4030201, 0x4030201])],
+);
+
+// ./test/core/simd/simd_load_splat.wast:98
+assert_return(
+ () => invoke($0, `v32x4.offset1_align1`, [1]),
+ [i32x4([0x5040302, 0x5040302, 0x5040302, 0x5040302])],
+);
+
+// ./test/core/simd/simd_load_splat.wast:99
+assert_return(
+ () => invoke($0, `v32x4.offset2_align2`, [1]),
+ [i32x4([0x6050403, 0x6050403, 0x6050403, 0x6050403])],
+);
+
+// ./test/core/simd/simd_load_splat.wast:100
+assert_return(() => invoke($0, `v32x4.offset15_align4`, [1]), [i32x4([0x0, 0x0, 0x0, 0x0])]);
+
+// ./test/core/simd/simd_load_splat.wast:101
+assert_return(
+ () => invoke($0, `v32x4.offset0`, [65532]),
+ [i32x4([0x1f1e1d1c, 0x1f1e1d1c, 0x1f1e1d1c, 0x1f1e1d1c])],
+);
+
+// ./test/core/simd/simd_load_splat.wast:102
+assert_return(
+ () => invoke($0, `v32x4.align1`, [65532]),
+ [i32x4([0x1f1e1d1c, 0x1f1e1d1c, 0x1f1e1d1c, 0x1f1e1d1c])],
+);
+
+// ./test/core/simd/simd_load_splat.wast:104
+assert_return(() => invoke($0, `v64x2.offset0`, [0]), [i64x2([0x706050403020100n, 0x706050403020100n])]);
+
+// ./test/core/simd/simd_load_splat.wast:105
+assert_return(() => invoke($0, `v64x2.align1`, [0]), [i64x2([0x706050403020100n, 0x706050403020100n])]);
+
+// ./test/core/simd/simd_load_splat.wast:106
+assert_return(
+ () => invoke($0, `v64x2.offset1_align2`, [0]),
+ [i64x2([0x807060504030201n, 0x807060504030201n])],
+);
+
+// ./test/core/simd/simd_load_splat.wast:107
+assert_return(
+ () => invoke($0, `v64x2.offset2_align4`, [0]),
+ [i64x2([0x908070605040302n, 0x908070605040302n])],
+);
+
+// ./test/core/simd/simd_load_splat.wast:108
+assert_return(() => invoke($0, `v64x2.offset15_align8`, [0]), [i64x2([0xfn, 0xfn])]);
+
+// ./test/core/simd/simd_load_splat.wast:109
+assert_return(() => invoke($0, `v64x2.offset0`, [1]), [i64x2([0x807060504030201n, 0x807060504030201n])]);
+
+// ./test/core/simd/simd_load_splat.wast:110
+assert_return(() => invoke($0, `v64x2.align1`, [1]), [i64x2([0x807060504030201n, 0x807060504030201n])]);
+
+// ./test/core/simd/simd_load_splat.wast:111
+assert_return(
+ () => invoke($0, `v64x2.offset1_align2`, [1]),
+ [i64x2([0x908070605040302n, 0x908070605040302n])],
+);
+
+// ./test/core/simd/simd_load_splat.wast:112
+assert_return(
+ () => invoke($0, `v64x2.offset2_align4`, [1]),
+ [i64x2([0xa09080706050403n, 0xa09080706050403n])],
+);
+
+// ./test/core/simd/simd_load_splat.wast:113
+assert_return(() => invoke($0, `v64x2.offset15_align8`, [1]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_load_splat.wast:114
+assert_return(
+ () => invoke($0, `v64x2.offset0`, [65528]),
+ [i64x2([0x1f1e1d1c1b1a1918n, 0x1f1e1d1c1b1a1918n])],
+);
+
+// ./test/core/simd/simd_load_splat.wast:115
+assert_return(
+ () => invoke($0, `v64x2.align1`, [65528]),
+ [i64x2([0x1f1e1d1c1b1a1918n, 0x1f1e1d1c1b1a1918n])],
+);
+
+// ./test/core/simd/simd_load_splat.wast:119
+assert_trap(() => invoke($0, `v128.load8_splat`, [-1]), `out of bounds memory access`);
+
+// ./test/core/simd/simd_load_splat.wast:120
+assert_trap(() => invoke($0, `v128.load16_splat`, [-1]), `out of bounds memory access`);
+
+// ./test/core/simd/simd_load_splat.wast:121
+assert_trap(() => invoke($0, `v128.load32_splat`, [-1]), `out of bounds memory access`);
+
+// ./test/core/simd/simd_load_splat.wast:122
+assert_trap(() => invoke($0, `v128.load64_splat`, [-1]), `out of bounds memory access`);
+
+// ./test/core/simd/simd_load_splat.wast:123
+assert_trap(() => invoke($0, `v128.load8_splat`, [65536]), `out of bounds memory access`);
+
+// ./test/core/simd/simd_load_splat.wast:124
+assert_trap(() => invoke($0, `v128.load16_splat`, [65535]), `out of bounds memory access`);
+
+// ./test/core/simd/simd_load_splat.wast:125
+assert_trap(() => invoke($0, `v128.load32_splat`, [65533]), `out of bounds memory access`);
+
+// ./test/core/simd/simd_load_splat.wast:126
+assert_trap(() => invoke($0, `v128.load64_splat`, [65529]), `out of bounds memory access`);
+
+// ./test/core/simd/simd_load_splat.wast:128
+assert_trap(() => invoke($0, `v8x16.offset1_align1`, [65535]), `out of bounds memory access`);
+
+// ./test/core/simd/simd_load_splat.wast:129
+assert_trap(() => invoke($0, `v8x16.offset2_align1`, [65535]), `out of bounds memory access`);
+
+// ./test/core/simd/simd_load_splat.wast:130
+assert_trap(() => invoke($0, `v8x16.offset15_align1`, [65535]), `out of bounds memory access`);
+
+// ./test/core/simd/simd_load_splat.wast:131
+assert_trap(() => invoke($0, `v16x8.offset1_align1`, [65534]), `out of bounds memory access`);
+
+// ./test/core/simd/simd_load_splat.wast:132
+assert_trap(() => invoke($0, `v16x8.offset2_align1`, [65534]), `out of bounds memory access`);
+
+// ./test/core/simd/simd_load_splat.wast:133
+assert_trap(() => invoke($0, `v16x8.offset15_align2`, [65534]), `out of bounds memory access`);
+
+// ./test/core/simd/simd_load_splat.wast:134
+assert_trap(() => invoke($0, `v32x4.offset1_align1`, [65532]), `out of bounds memory access`);
+
+// ./test/core/simd/simd_load_splat.wast:135
+assert_trap(() => invoke($0, `v32x4.offset2_align2`, [65532]), `out of bounds memory access`);
+
+// ./test/core/simd/simd_load_splat.wast:136
+assert_trap(() => invoke($0, `v32x4.offset15_align4`, [65532]), `out of bounds memory access`);
+
+// ./test/core/simd/simd_load_splat.wast:137
+assert_trap(() => invoke($0, `v64x2.offset1_align2`, [65528]), `out of bounds memory access`);
+
+// ./test/core/simd/simd_load_splat.wast:138
+assert_trap(() => invoke($0, `v64x2.offset2_align4`, [65528]), `out of bounds memory access`);
+
+// ./test/core/simd/simd_load_splat.wast:139
+assert_trap(() => invoke($0, `v64x2.offset15_align8`, [65528]), `out of bounds memory access`);
+
+// ./test/core/simd/simd_load_splat.wast:141
+assert_trap(() => invoke($0, `v8x16.offset1_align1`, [-1]), `out of bounds memory access`);
+
+// ./test/core/simd/simd_load_splat.wast:142
+assert_trap(() => invoke($0, `v16x8.offset1_align1`, [-1]), `out of bounds memory access`);
+
+// ./test/core/simd/simd_load_splat.wast:143
+assert_trap(() => invoke($0, `v32x4.offset1_align1`, [-1]), `out of bounds memory access`);
+
+// ./test/core/simd/simd_load_splat.wast:144
+assert_trap(() => invoke($0, `v64x2.offset1_align2`, [-1]), `out of bounds memory access`);
+
+// ./test/core/simd/simd_load_splat.wast:146
+assert_trap(() => invoke($0, `v8x16.offset65536`, [0]), `out of bounds memory access`);
+
+// ./test/core/simd/simd_load_splat.wast:147
+assert_trap(() => invoke($0, `v16x8.offset65535`, [0]), `out of bounds memory access`);
+
+// ./test/core/simd/simd_load_splat.wast:148
+assert_trap(() => invoke($0, `v32x4.offset65533`, [0]), `out of bounds memory access`);
+
+// ./test/core/simd/simd_load_splat.wast:149
+assert_trap(() => invoke($0, `v64x2.offset65529`, [0]), `out of bounds memory access`);
+
+// ./test/core/simd/simd_load_splat.wast:150
+assert_trap(() => invoke($0, `v8x16.offset65536`, [1]), `out of bounds memory access`);
+
+// ./test/core/simd/simd_load_splat.wast:151
+assert_trap(() => invoke($0, `v16x8.offset65535`, [1]), `out of bounds memory access`);
+
+// ./test/core/simd/simd_load_splat.wast:152
+assert_trap(() => invoke($0, `v32x4.offset65533`, [1]), `out of bounds memory access`);
+
+// ./test/core/simd/simd_load_splat.wast:153
+assert_trap(() => invoke($0, `v64x2.offset65529`, [1]), `out of bounds memory access`);
+
+// ./test/core/simd/simd_load_splat.wast:158
+let $1 = instantiate(`(module (memory 1)
+ (data (i32.const 0) "\\00\\01\\02\\03\\04\\05\\06\\07\\08\\09\\0A")
+
+ (func (export "v128.load8_splat-in-block") (result v128)
+ (block (result v128) (block (result v128) (v128.load8_splat (i32.const 0))))
+ )
+ (func (export "v128.load16_splat-in-block") (result v128)
+ (block (result v128) (block (result v128) (v128.load16_splat (i32.const 1))))
+ )
+ (func (export "v128.load32_splat-in-block") (result v128)
+ (block (result v128) (block (result v128) (v128.load32_splat (i32.const 2))))
+ )
+ (func (export "v128.load64_splat-in-block") (result v128)
+ (block (result v128) (block (result v128) (v128.load64_splat (i32.const 9))))
+ )
+ (func (export "v128.load8_splat-as-br-value") (result v128)
+ (block (result v128) (br 0 (v128.load8_splat (i32.const 3))))
+ )
+ (func (export "v128.load16_splat-as-br-value") (result v128)
+ (block (result v128) (br 0 (v128.load16_splat (i32.const 4))))
+ )
+ (func (export "v128.load32_splat-as-br-value") (result v128)
+ (block (result v128) (br 0 (v128.load32_splat (i32.const 5))))
+ )
+ (func (export "v128.load64_splat-as-br-value") (result v128)
+ (block (result v128) (br 0 (v128.load64_splat (i32.const 10))))
+ )
+ (func (export "v128.load8_splat-extract_lane_s-operand") (result i32)
+ (i8x16.extract_lane_s 0 (v128.load8_splat (i32.const 6)))
+ )
+ (func (export "v128.load16_splat-extract_lane_s-operand") (result i32)
+ (i8x16.extract_lane_s 0 (v128.load16_splat (i32.const 7)))
+ )
+ (func (export "v128.load32_splat-extract_lane_s-operand") (result i32)
+ (i8x16.extract_lane_s 0 (v128.load32_splat (i32.const 8)))
+ )
+ (func (export "v128.load64_splat-extract_lane_s-operand") (result i32)
+ (i8x16.extract_lane_s 0 (v128.load64_splat (i32.const 11)))
+ )
+)`);
+
+// ./test/core/simd/simd_load_splat.wast:198
+assert_return(
+ () => invoke($1, `v128.load8_splat-in-block`, []),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_load_splat.wast:199
+assert_return(
+ () => invoke($1, `v128.load16_splat-in-block`, []),
+ [i16x8([0x201, 0x201, 0x201, 0x201, 0x201, 0x201, 0x201, 0x201])],
+);
+
+// ./test/core/simd/simd_load_splat.wast:200
+assert_return(
+ () => invoke($1, `v128.load32_splat-in-block`, []),
+ [i32x4([0x5040302, 0x5040302, 0x5040302, 0x5040302])],
+);
+
+// ./test/core/simd/simd_load_splat.wast:201
+assert_return(() => invoke($1, `v128.load64_splat-in-block`, []), [i64x2([0xa09n, 0xa09n])]);
+
+// ./test/core/simd/simd_load_splat.wast:202
+assert_return(
+ () => invoke($1, `v128.load8_splat-as-br-value`, []),
+ [
+ i8x16([0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3]),
+ ],
+);
+
+// ./test/core/simd/simd_load_splat.wast:203
+assert_return(
+ () => invoke($1, `v128.load16_splat-as-br-value`, []),
+ [i16x8([0x504, 0x504, 0x504, 0x504, 0x504, 0x504, 0x504, 0x504])],
+);
+
+// ./test/core/simd/simd_load_splat.wast:204
+assert_return(
+ () => invoke($1, `v128.load32_splat-as-br-value`, []),
+ [i32x4([0x8070605, 0x8070605, 0x8070605, 0x8070605])],
+);
+
+// ./test/core/simd/simd_load_splat.wast:205
+assert_return(() => invoke($1, `v128.load64_splat-as-br-value`, []), [i64x2([0xan, 0xan])]);
+
+// ./test/core/simd/simd_load_splat.wast:206
+assert_return(() => invoke($1, `v128.load8_splat-extract_lane_s-operand`, []), [value("i32", 6)]);
+
+// ./test/core/simd/simd_load_splat.wast:207
+assert_return(() => invoke($1, `v128.load16_splat-extract_lane_s-operand`, []), [value("i32", 7)]);
+
+// ./test/core/simd/simd_load_splat.wast:208
+assert_return(() => invoke($1, `v128.load32_splat-extract_lane_s-operand`, []), [value("i32", 8)]);
+
+// ./test/core/simd/simd_load_splat.wast:209
+assert_return(() => invoke($1, `v128.load64_splat-extract_lane_s-operand`, []), [value("i32", 0)]);
+
+// ./test/core/simd/simd_load_splat.wast:214
+assert_invalid(
+ () => instantiate(`(module (memory 0) (func (result v128) (v128.load8_splat (v128.const i32x4 0 0 0 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_load_splat.wast:215
+assert_invalid(
+ () => instantiate(`(module (memory 0) (func (result v128) (v128.load16_splat (v128.const i32x4 0 0 0 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_load_splat.wast:216
+assert_invalid(
+ () => instantiate(`(module (memory 0) (func (result v128) (v128.load32_splat (v128.const i32x4 0 0 0 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_load_splat.wast:217
+assert_invalid(
+ () => instantiate(`(module (memory 0) (func (result v128) (v128.load64_splat (v128.const i32x4 0 0 0 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_load_splat.wast:222
+assert_malformed(
+ () => instantiate(`(memory 1) (func (drop (i8x16.load_splat (i32.const 0)))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_load_splat.wast:223
+assert_malformed(
+ () => instantiate(`(memory 1) (func (drop (i16x8.load_splat (i32.const 0)))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_load_splat.wast:224
+assert_malformed(
+ () => instantiate(`(memory 1) (func (drop (i32x4.load_splat (i32.const 0)))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_load_splat.wast:225
+assert_malformed(
+ () => instantiate(`(memory 1) (func (drop (i64x2.load_splat (i32.const 0)))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_load_splat.wast:230
+assert_invalid(
+ () => instantiate(`(module (memory 0)
+ (func $$v128.load8_splat-arg-empty (result v128)
+ (v128.load8_splat)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_load_splat.wast:238
+assert_invalid(
+ () => instantiate(`(module (memory 0)
+ (func $$v128.load16_splat-arg-empty (result v128)
+ (v128.load16_splat)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_load_splat.wast:246
+assert_invalid(
+ () => instantiate(`(module (memory 0)
+ (func $$v128.load32_splat-arg-empty (result v128)
+ (v128.load32_splat)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_load_splat.wast:254
+assert_invalid(
+ () => instantiate(`(module (memory 0)
+ (func $$v128.load64_splat-arg-empty (result v128)
+ (v128.load64_splat)
+ )
+ )`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/simd_load_zero.wast.js b/js/src/jit-test/tests/wasm/spec/spec/simd_load_zero.wast.js
new file mode 100644
index 0000000000..00f6573b37
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/simd_load_zero.wast.js
@@ -0,0 +1,264 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_load_zero.wast
+
+// ./test/core/simd/simd_load_zero.wast:3
+let $0 = instantiate(`(module
+ (memory 1)
+ (data (i32.const 0) "\\00\\01\\02\\03\\04\\05\\06\\07\\08\\09\\0A\\0B\\0C\\0D\\0E\\0F\\80\\81\\82\\83\\84\\85\\86\\87\\88\\89")
+ (data (i32.const 65520) "\\0A\\0B\\0C\\0D\\0E\\0F\\80\\81\\82\\83\\84\\85\\86\\87\\88\\89")
+
+ (func (export "v128.load32_zero") (param $$0 i32) (result v128)
+ (v128.load32_zero (local.get $$0))
+ )
+ (func (export "v128.load64_zero") (param $$0 i32) (result v128)
+ (v128.load64_zero (local.get $$0))
+ )
+
+ ;; load by a constant amount
+ (func (export "v128.load32_zero_const0") (result v128)
+ (v128.load32_zero (i32.const 0))
+ )
+ (func (export "v128.load64_zero_const8") (result v128)
+ (v128.load64_zero (i32.const 8))
+ )
+
+ ;; load data with different offset/align arguments
+ ;; i16x8
+ (func (export "v128.load32_zero_offset0") (param $$0 i32) (result v128)
+ (v128.load32_zero offset=0 (local.get $$0))
+ )
+ (func (export "v128.load32_zero_align1") (param $$0 i32) (result v128)
+ (v128.load32_zero align=1 (local.get $$0))
+ )
+ (func (export "v128.load32_zero_offset0_align1") (param $$0 i32) (result v128)
+ (v128.load32_zero offset=0 align=1 (local.get $$0))
+ )
+ (func (export "v128.load32_zero_offset1_align1") (param $$0 i32) (result v128)
+ (v128.load32_zero offset=1 align=1 (local.get $$0))
+ )
+ (func (export "v128.load32_zero_offset10_align4") (param $$0 i32) (result v128)
+ (v128.load32_zero offset=10 align=4 (local.get $$0))
+ )
+ (func (export "v128.load64_zero_offset0") (param $$0 i32) (result v128)
+ (v128.load64_zero offset=0 (local.get $$0))
+ )
+ (func (export "v128.load64_zero_align1") (param $$0 i32) (result v128)
+ (v128.load64_zero align=1 (local.get $$0))
+ )
+ (func (export "v128.load64_zero_offset0_align1") (param $$0 i32) (result v128)
+ (v128.load64_zero offset=0 align=1 (local.get $$0))
+ )
+ (func (export "v128.load64_zero_offset1_align1") (param $$0 i32) (result v128)
+ (v128.load64_zero offset=1 align=1 (local.get $$0))
+ )
+ (func (export "v128.load64_zero_offset10_align4") (param $$0 i32) (result v128)
+ (v128.load64_zero offset=10 align=4 (local.get $$0))
+ )
+ (func (export "v128.load64_zero_offset20_align8") (param $$0 i32) (result v128)
+ (v128.load64_zero offset=20 align=8 (local.get $$0))
+ )
+)`);
+
+// ./test/core/simd/simd_load_zero.wast:62
+assert_return(() => invoke($0, `v128.load32_zero`, [0]), [i32x4([0x3020100, 0x0, 0x0, 0x0])]);
+
+// ./test/core/simd/simd_load_zero.wast:63
+assert_return(() => invoke($0, `v128.load64_zero`, [0]), [i64x2([0x706050403020100n, 0x0n])]);
+
+// ./test/core/simd/simd_load_zero.wast:64
+assert_return(() => invoke($0, `v128.load32_zero`, [10]), [i32x4([0xd0c0b0a, 0x0, 0x0, 0x0])]);
+
+// ./test/core/simd/simd_load_zero.wast:65
+assert_return(() => invoke($0, `v128.load64_zero`, [10]), [i64x2([0x81800f0e0d0c0b0an, 0x0n])]);
+
+// ./test/core/simd/simd_load_zero.wast:66
+assert_return(() => invoke($0, `v128.load32_zero`, [20]), [i32x4([0x87868584, 0x0, 0x0, 0x0])]);
+
+// ./test/core/simd/simd_load_zero.wast:67
+assert_return(() => invoke($0, `v128.load64_zero`, [20]), [i64x2([0x898887868584n, 0x0n])]);
+
+// ./test/core/simd/simd_load_zero.wast:70
+assert_return(() => invoke($0, `v128.load32_zero_const0`, []), [i32x4([0x3020100, 0x0, 0x0, 0x0])]);
+
+// ./test/core/simd/simd_load_zero.wast:71
+assert_return(() => invoke($0, `v128.load64_zero_const8`, []), [i64x2([0xf0e0d0c0b0a0908n, 0x0n])]);
+
+// ./test/core/simd/simd_load_zero.wast:75
+assert_return(() => invoke($0, `v128.load32_zero_offset0`, [0]), [i32x4([0x3020100, 0x0, 0x0, 0x0])]);
+
+// ./test/core/simd/simd_load_zero.wast:76
+assert_return(() => invoke($0, `v128.load32_zero_align1`, [1]), [i32x4([0x4030201, 0x0, 0x0, 0x0])]);
+
+// ./test/core/simd/simd_load_zero.wast:77
+assert_return(
+ () => invoke($0, `v128.load32_zero_offset0_align1`, [2]),
+ [i32x4([0x5040302, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_load_zero.wast:78
+assert_return(
+ () => invoke($0, `v128.load32_zero_offset10_align4`, [3]),
+ [i32x4([0x800f0e0d, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_load_zero.wast:81
+assert_return(() => invoke($0, `v128.load64_zero_offset0`, [0]), [i64x2([0x706050403020100n, 0x0n])]);
+
+// ./test/core/simd/simd_load_zero.wast:82
+assert_return(() => invoke($0, `v128.load64_zero_align1`, [1]), [i64x2([0x807060504030201n, 0x0n])]);
+
+// ./test/core/simd/simd_load_zero.wast:83
+assert_return(
+ () => invoke($0, `v128.load64_zero_offset0_align1`, [2]),
+ [i64x2([0x908070605040302n, 0x0n])],
+);
+
+// ./test/core/simd/simd_load_zero.wast:84
+assert_return(
+ () => invoke($0, `v128.load64_zero_offset10_align4`, [3]),
+ [i64x2([0x84838281800f0e0dn, 0x0n])],
+);
+
+// ./test/core/simd/simd_load_zero.wast:85
+assert_return(() => invoke($0, `v128.load64_zero_offset20_align8`, [4]), [i64x2([0x8988n, 0x0n])]);
+
+// ./test/core/simd/simd_load_zero.wast:88
+assert_trap(() => invoke($0, `v128.load32_zero`, [-1]), `out of bounds memory access`);
+
+// ./test/core/simd/simd_load_zero.wast:89
+assert_trap(() => invoke($0, `v128.load64_zero`, [-1]), `out of bounds memory access`);
+
+// ./test/core/simd/simd_load_zero.wast:91
+assert_trap(() => invoke($0, `v128.load32_zero_offset1_align1`, [-1]), `out of bounds memory access`);
+
+// ./test/core/simd/simd_load_zero.wast:92
+assert_trap(() => invoke($0, `v128.load64_zero_offset1_align1`, [-1]), `out of bounds memory access`);
+
+// ./test/core/simd/simd_load_zero.wast:95
+assert_invalid(
+ () => instantiate(`(module (memory 0) (func (result v128) (v128.load32_zero (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_load_zero.wast:96
+assert_invalid(
+ () => instantiate(`(module (memory 0) (func (result v128) (v128.load64_zero (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_load_zero.wast:100
+assert_invalid(
+ () => instantiate(`(module (memory 0)
+ (func $$v128.load32_zero-arg-empty (result v128)
+ (v128.load32_zero)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_load_zero.wast:108
+assert_invalid(
+ () => instantiate(`(module (memory 0)
+ (func $$v128.load64_zero-arg-empty (result v128)
+ (v128.load64_zero)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_load_zero.wast:119
+assert_malformed(
+ () => instantiate(`(memory 1) (func (drop (i16x8.load16x4_s (i32.const 0)))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_load_zero.wast:120
+assert_malformed(
+ () => instantiate(`(memory 1) (func (drop (i16x8.load16x4_u (i32.const 0)))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_load_zero.wast:121
+assert_malformed(
+ () => instantiate(`(memory 1) (func (drop (i32x4.load32x2_s (i32.const 0)))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_load_zero.wast:122
+assert_malformed(
+ () => instantiate(`(memory 1) (func (drop (i32x4.load32x2_u (i32.const 0)))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_load_zero.wast:123
+assert_malformed(
+ () => instantiate(`(memory 1) (func (drop (i64x2.load64x1_s (i32.const 0)))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_load_zero.wast:124
+assert_malformed(
+ () => instantiate(`(memory 1) (func (drop (i64x2.load64x1_u (i32.const 0)))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_load_zero.wast:127
+let $1 = instantiate(`(module
+ (memory 1)
+ (data (i32.const 0) "\\00\\01\\02\\03\\04\\05\\06\\07\\08\\09\\0A\\0B\\0C\\0D\\0E\\0F\\80\\81\\82\\83\\84\\85\\86\\87\\88\\89")
+ (func (export "v128.load32_zero-in-block") (result v128)
+ (block (result v128) (block (result v128) (v128.load32_zero (i32.const 0))))
+ )
+ (func (export "v128.load64_zero-in-block") (result v128)
+ (block (result v128) (block (result v128) (v128.load64_zero (i32.const 1))))
+ )
+ (func (export "v128.load32_zero-as-br-value") (result v128)
+ (block (result v128) (br 0 (v128.load32_zero (i32.const 6))))
+ )
+ (func (export "v128.load64_zero-as-br-value") (result v128)
+ (block (result v128) (br 0 (v128.load64_zero (i32.const 7))))
+ )
+ (func (export "v128.load32_zero-extract_lane_s-operand") (result i32)
+ (i32x4.extract_lane 0 (v128.load32_zero (i32.const 12)))
+ )
+ (func (export "v128.load64_zero-extract_lane_s-operand") (result i64)
+ (i64x2.extract_lane 0 (v128.load64_zero (i32.const 13)))
+ )
+)`);
+
+// ./test/core/simd/simd_load_zero.wast:149
+assert_return(() => invoke($1, `v128.load32_zero-in-block`, []), [i32x4([0x3020100, 0x0, 0x0, 0x0])]);
+
+// ./test/core/simd/simd_load_zero.wast:150
+assert_return(() => invoke($1, `v128.load64_zero-in-block`, []), [i64x2([0x807060504030201n, 0x0n])]);
+
+// ./test/core/simd/simd_load_zero.wast:151
+assert_return(() => invoke($1, `v128.load32_zero-as-br-value`, []), [i32x4([0x9080706, 0x0, 0x0, 0x0])]);
+
+// ./test/core/simd/simd_load_zero.wast:152
+assert_return(() => invoke($1, `v128.load64_zero-as-br-value`, []), [i64x2([0xe0d0c0b0a090807n, 0x0n])]);
+
+// ./test/core/simd/simd_load_zero.wast:153
+assert_return(() => invoke($1, `v128.load32_zero-extract_lane_s-operand`, []), [value("i32", 252579084)]);
+
+// ./test/core/simd/simd_load_zero.wast:154
+assert_return(
+ () => invoke($1, `v128.load64_zero-extract_lane_s-operand`, []),
+ [value("i64", -8898124946043105779n)],
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/simd_splat.wast.js b/js/src/jit-test/tests/wasm/spec/spec/simd_splat.wast.js
new file mode 100644
index 0000000000..466e9ea901
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/simd_splat.wast.js
@@ -0,0 +1,1607 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_splat.wast
+
+// ./test/core/simd/simd_splat.wast:3
+let $0 = instantiate(`(module
+ (func (export "i8x16.splat") (param i32) (result v128) (i8x16.splat (local.get 0)))
+ (func (export "i16x8.splat") (param i32) (result v128) (i16x8.splat (local.get 0)))
+ (func (export "i32x4.splat") (param i32) (result v128) (i32x4.splat (local.get 0)))
+ (func (export "f32x4.splat") (param f32) (result v128) (f32x4.splat (local.get 0)))
+ (func (export "i64x2.splat") (param i64) (result v128) (i64x2.splat (local.get 0)))
+ (func (export "f64x2.splat") (param f64) (result v128) (f64x2.splat (local.get 0)))
+)`);
+
+// ./test/core/simd/simd_splat.wast:12
+assert_return(
+ () => invoke($0, `i8x16.splat`, [0]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:13
+assert_return(
+ () => invoke($0, `i8x16.splat`, [5]),
+ [
+ i8x16([0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5]),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:14
+assert_return(
+ () => invoke($0, `i8x16.splat`, [-5]),
+ [
+ i8x16([0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb]),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:15
+assert_return(
+ () => invoke($0, `i8x16.splat`, [257]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:16
+assert_return(
+ () => invoke($0, `i8x16.splat`, [255]),
+ [
+ i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:17
+assert_return(
+ () => invoke($0, `i8x16.splat`, [-128]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:18
+assert_return(
+ () => invoke($0, `i8x16.splat`, [127]),
+ [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:19
+assert_return(
+ () => invoke($0, `i8x16.splat`, [-129]),
+ [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:20
+assert_return(
+ () => invoke($0, `i8x16.splat`, [128]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:21
+assert_return(
+ () => invoke($0, `i8x16.splat`, [65407]),
+ [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:22
+assert_return(
+ () => invoke($0, `i8x16.splat`, [128]),
+ [
+ i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:23
+assert_return(
+ () => invoke($0, `i8x16.splat`, [171]),
+ [i32x4([0xabababab, 0xabababab, 0xabababab, 0xabababab])],
+);
+
+// ./test/core/simd/simd_splat.wast:25
+assert_return(() => invoke($0, `i16x8.splat`, [0]), [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])]);
+
+// ./test/core/simd/simd_splat.wast:26
+assert_return(() => invoke($0, `i16x8.splat`, [5]), [i16x8([0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5])]);
+
+// ./test/core/simd/simd_splat.wast:27
+assert_return(
+ () => invoke($0, `i16x8.splat`, [-5]),
+ [i16x8([0xfffb, 0xfffb, 0xfffb, 0xfffb, 0xfffb, 0xfffb, 0xfffb, 0xfffb])],
+);
+
+// ./test/core/simd/simd_splat.wast:28
+assert_return(
+ () => invoke($0, `i16x8.splat`, [65537]),
+ [i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_splat.wast:29
+assert_return(
+ () => invoke($0, `i16x8.splat`, [65535]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_splat.wast:30
+assert_return(
+ () => invoke($0, `i16x8.splat`, [-32768]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_splat.wast:31
+assert_return(
+ () => invoke($0, `i16x8.splat`, [32767]),
+ [i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_splat.wast:32
+assert_return(
+ () => invoke($0, `i16x8.splat`, [-32769]),
+ [i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_splat.wast:33
+assert_return(
+ () => invoke($0, `i16x8.splat`, [32768]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_splat.wast:34
+assert_return(
+ () => invoke($0, `i16x8.splat`, [-32769]),
+ [i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_splat.wast:35
+assert_return(
+ () => invoke($0, `i16x8.splat`, [32768]),
+ [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])],
+);
+
+// ./test/core/simd/simd_splat.wast:36
+assert_return(
+ () => invoke($0, `i16x8.splat`, [43981]),
+ [i32x4([0xabcdabcd, 0xabcdabcd, 0xabcdabcd, 0xabcdabcd])],
+);
+
+// ./test/core/simd/simd_splat.wast:37
+assert_return(
+ () => invoke($0, `i16x8.splat`, [12345]),
+ [i16x8([0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039])],
+);
+
+// ./test/core/simd/simd_splat.wast:38
+assert_return(
+ () => invoke($0, `i16x8.splat`, [4660]),
+ [i16x8([0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234])],
+);
+
+// ./test/core/simd/simd_splat.wast:40
+assert_return(() => invoke($0, `i32x4.splat`, [0]), [i32x4([0x0, 0x0, 0x0, 0x0])]);
+
+// ./test/core/simd/simd_splat.wast:41
+assert_return(() => invoke($0, `i32x4.splat`, [5]), [i32x4([0x5, 0x5, 0x5, 0x5])]);
+
+// ./test/core/simd/simd_splat.wast:42
+assert_return(
+ () => invoke($0, `i32x4.splat`, [-5]),
+ [i32x4([0xfffffffb, 0xfffffffb, 0xfffffffb, 0xfffffffb])],
+);
+
+// ./test/core/simd/simd_splat.wast:43
+assert_return(
+ () => invoke($0, `i32x4.splat`, [-1]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_splat.wast:44
+assert_return(
+ () => invoke($0, `i32x4.splat`, [-1]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_splat.wast:45
+assert_return(
+ () => invoke($0, `i32x4.splat`, [-2147483648]),
+ [i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000])],
+);
+
+// ./test/core/simd/simd_splat.wast:46
+assert_return(
+ () => invoke($0, `i32x4.splat`, [2147483647]),
+ [i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff])],
+);
+
+// ./test/core/simd/simd_splat.wast:47
+assert_return(
+ () => invoke($0, `i32x4.splat`, [-2147483648]),
+ [i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000])],
+);
+
+// ./test/core/simd/simd_splat.wast:48
+assert_return(
+ () => invoke($0, `i32x4.splat`, [1234567890]),
+ [i32x4([0x499602d2, 0x499602d2, 0x499602d2, 0x499602d2])],
+);
+
+// ./test/core/simd/simd_splat.wast:49
+assert_return(
+ () => invoke($0, `i32x4.splat`, [305419896]),
+ [i32x4([0x12345678, 0x12345678, 0x12345678, 0x12345678])],
+);
+
+// ./test/core/simd/simd_splat.wast:51
+assert_return(
+ () => invoke($0, `f32x4.splat`, [value("f32", 0)]),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ value("f32", 0),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:52
+assert_return(
+ () => invoke($0, `f32x4.splat`, [value("f32", 1.1)]),
+ [
+ new F32x4Pattern(
+ value("f32", 1.1),
+ value("f32", 1.1),
+ value("f32", 1.1),
+ value("f32", 1.1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:53
+assert_return(
+ () => invoke($0, `f32x4.splat`, [value("f32", -1.1)]),
+ [
+ new F32x4Pattern(
+ value("f32", -1.1),
+ value("f32", -1.1),
+ value("f32", -1.1),
+ value("f32", -1.1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:54
+assert_return(
+ () => invoke($0, `f32x4.splat`, [
+ value("f32", 100000000000000000000000000000000000000),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 100000000000000000000000000000000000000),
+ value("f32", 100000000000000000000000000000000000000),
+ value("f32", 100000000000000000000000000000000000000),
+ value("f32", 100000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:55
+assert_return(
+ () => invoke($0, `f32x4.splat`, [
+ value("f32", -100000000000000000000000000000000000000),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -100000000000000000000000000000000000000),
+ value("f32", -100000000000000000000000000000000000000),
+ value("f32", -100000000000000000000000000000000000000),
+ value("f32", -100000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:56
+assert_return(
+ () => invoke($0, `f32x4.splat`, [
+ value("f32", 340282350000000000000000000000000000000),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ value("f32", 340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:57
+assert_return(
+ () => invoke($0, `f32x4.splat`, [
+ value("f32", -340282350000000000000000000000000000000),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ value("f32", -340282350000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:58
+assert_return(
+ () => invoke($0, `f32x4.splat`, [
+ value("f32", 170141180000000000000000000000000000000),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 170141180000000000000000000000000000000),
+ value("f32", 170141180000000000000000000000000000000),
+ value("f32", 170141180000000000000000000000000000000),
+ value("f32", 170141180000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:59
+assert_return(
+ () => invoke($0, `f32x4.splat`, [
+ value("f32", -170141180000000000000000000000000000000),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", -170141180000000000000000000000000000000),
+ value("f32", -170141180000000000000000000000000000000),
+ value("f32", -170141180000000000000000000000000000000),
+ value("f32", -170141180000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:60
+assert_return(
+ () => invoke($0, `f32x4.splat`, [value("f32", Infinity)]),
+ [
+ new F32x4Pattern(
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ value("f32", Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:61
+assert_return(
+ () => invoke($0, `f32x4.splat`, [value("f32", -Infinity)]),
+ [
+ new F32x4Pattern(
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ value("f32", -Infinity),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:62
+assert_return(
+ () => invoke($0, `f32x4.splat`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ bytes("f32", [0x0, 0x0, 0xc0, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:63
+assert_return(
+ () => invoke($0, `f32x4.splat`, [bytes("f32", [0x1, 0x0, 0x80, 0x7f])]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0x1, 0x0, 0x80, 0x7f]),
+ bytes("f32", [0x1, 0x0, 0x80, 0x7f]),
+ bytes("f32", [0x1, 0x0, 0x80, 0x7f]),
+ bytes("f32", [0x1, 0x0, 0x80, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:64
+assert_return(
+ () => invoke($0, `f32x4.splat`, [bytes("f32", [0xff, 0xff, 0xff, 0x7f])]),
+ [
+ new F32x4Pattern(
+ bytes("f32", [0xff, 0xff, 0xff, 0x7f]),
+ bytes("f32", [0xff, 0xff, 0xff, 0x7f]),
+ bytes("f32", [0xff, 0xff, 0xff, 0x7f]),
+ bytes("f32", [0xff, 0xff, 0xff, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:65
+assert_return(
+ () => invoke($0, `f32x4.splat`, [value("f32", 123456790)]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:66
+assert_return(
+ () => invoke($0, `f32x4.splat`, [value("f32", 123456790)]),
+ [
+ new F32x4Pattern(
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ value("f32", 123456790),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:67
+assert_return(
+ () => invoke($0, `f32x4.splat`, [value("f32", 81985530000000000)]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:68
+assert_return(
+ () => invoke($0, `f32x4.splat`, [value("f32", 81985530000000000)]),
+ [
+ new F32x4Pattern(
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ value("f32", 81985530000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:69
+assert_return(
+ () => invoke($0, `f32x4.splat`, [value("f32", 1234567900000000000000000000)]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:70
+assert_return(
+ () => invoke($0, `f32x4.splat`, [value("f32", 1234567900000000000000000000)]),
+ [
+ new F32x4Pattern(
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ value("f32", 1234567900000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:71
+assert_return(
+ () => invoke($0, `f32x4.splat`, [value("f32", 42984030000000000000000)]),
+ [
+ new F32x4Pattern(
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ value("f32", 42984030000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:72
+assert_return(
+ () => invoke($0, `f32x4.splat`, [value("f32", 156374990000)]),
+ [
+ new F32x4Pattern(
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ value("f32", 156374990000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:74
+assert_return(() => invoke($0, `i64x2.splat`, [0n]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_splat.wast:75
+assert_return(() => invoke($0, `i64x2.splat`, [0n]), [i64x2([0x0n, 0x0n])]);
+
+// ./test/core/simd/simd_splat.wast:76
+assert_return(() => invoke($0, `i64x2.splat`, [1n]), [i64x2([0x1n, 0x1n])]);
+
+// ./test/core/simd/simd_splat.wast:77
+assert_return(
+ () => invoke($0, `i64x2.splat`, [-1n]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_splat.wast:78
+assert_return(
+ () => invoke($0, `i64x2.splat`, [-9223372036854775808n]),
+ [i64x2([0x8000000000000000n, 0x8000000000000000n])],
+);
+
+// ./test/core/simd/simd_splat.wast:79
+assert_return(
+ () => invoke($0, `i64x2.splat`, [-9223372036854775808n]),
+ [i64x2([0x8000000000000000n, 0x8000000000000000n])],
+);
+
+// ./test/core/simd/simd_splat.wast:80
+assert_return(
+ () => invoke($0, `i64x2.splat`, [9223372036854775807n]),
+ [i64x2([0x7fffffffffffffffn, 0x7fffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_splat.wast:81
+assert_return(
+ () => invoke($0, `i64x2.splat`, [-1n]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_splat.wast:82
+assert_return(
+ () => invoke($0, `i64x2.splat`, [9223372036854775807n]),
+ [i64x2([0x7fffffffffffffffn, 0x7fffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_splat.wast:83
+assert_return(
+ () => invoke($0, `i64x2.splat`, [-1n]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_splat.wast:84
+assert_return(
+ () => invoke($0, `i64x2.splat`, [-9223372036854775808n]),
+ [i64x2([0x8000000000000000n, 0x8000000000000000n])],
+);
+
+// ./test/core/simd/simd_splat.wast:85
+assert_return(
+ () => invoke($0, `i64x2.splat`, [-9223372036854775808n]),
+ [i64x2([0x8000000000000000n, 0x8000000000000000n])],
+);
+
+// ./test/core/simd/simd_splat.wast:86
+assert_return(
+ () => invoke($0, `i64x2.splat`, [1234567890123456789n]),
+ [i64x2([0x112210f47de98115n, 0x112210f47de98115n])],
+);
+
+// ./test/core/simd/simd_splat.wast:87
+assert_return(
+ () => invoke($0, `i64x2.splat`, [1311768467294899695n]),
+ [i64x2([0x1234567890abcdefn, 0x1234567890abcdefn])],
+);
+
+// ./test/core/simd/simd_splat.wast:89
+assert_return(
+ () => invoke($0, `f64x2.splat`, [value("f64", 0)]),
+ [new F64x2Pattern(value("f64", 0), value("f64", 0))],
+);
+
+// ./test/core/simd/simd_splat.wast:90
+assert_return(
+ () => invoke($0, `f64x2.splat`, [value("f64", -0)]),
+ [new F64x2Pattern(value("f64", -0), value("f64", -0))],
+);
+
+// ./test/core/simd/simd_splat.wast:91
+assert_return(
+ () => invoke($0, `f64x2.splat`, [value("f64", 1.1)]),
+ [new F64x2Pattern(value("f64", 1.1), value("f64", 1.1))],
+);
+
+// ./test/core/simd/simd_splat.wast:92
+assert_return(
+ () => invoke($0, `f64x2.splat`, [value("f64", -1.1)]),
+ [new F64x2Pattern(value("f64", -1.1), value("f64", -1.1))],
+);
+
+// ./test/core/simd/simd_splat.wast:93
+assert_return(
+ () => invoke($0, `f64x2.splat`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:94
+assert_return(
+ () => invoke($0, `f64x2.splat`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:95
+assert_return(
+ () => invoke($0, `f64x2.splat`, [
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:96
+assert_return(
+ () => invoke($0, `f64x2.splat`, [
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ value("f64", -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:97
+assert_return(
+ () => invoke($0, `f64x2.splat`, [value("f64", 0.5)]),
+ [new F64x2Pattern(value("f64", 0.5), value("f64", 0.5))],
+);
+
+// ./test/core/simd/simd_splat.wast:98
+assert_return(
+ () => invoke($0, `f64x2.splat`, [value("f64", -0.5)]),
+ [new F64x2Pattern(value("f64", -0.5), value("f64", -0.5))],
+);
+
+// ./test/core/simd/simd_splat.wast:99
+assert_return(
+ () => invoke($0, `f64x2.splat`, [value("f64", 1)]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_splat.wast:100
+assert_return(
+ () => invoke($0, `f64x2.splat`, [value("f64", -1)]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_splat.wast:101
+assert_return(
+ () => invoke($0, `f64x2.splat`, [value("f64", 6.283185307179586)]),
+ [
+ new F64x2Pattern(
+ value("f64", 6.283185307179586),
+ value("f64", 6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:102
+assert_return(
+ () => invoke($0, `f64x2.splat`, [value("f64", -6.283185307179586)]),
+ [
+ new F64x2Pattern(
+ value("f64", -6.283185307179586),
+ value("f64", -6.283185307179586),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:103
+assert_return(
+ () => invoke($0, `f64x2.splat`, [
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:104
+assert_return(
+ () => invoke($0, `f64x2.splat`, [
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ]),
+ [
+ new F64x2Pattern(
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ value("f64", -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:105
+assert_return(
+ () => invoke($0, `f64x2.splat`, [value("f64", Infinity)]),
+ [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))],
+);
+
+// ./test/core/simd/simd_splat.wast:106
+assert_return(
+ () => invoke($0, `f64x2.splat`, [value("f64", -Infinity)]),
+ [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))],
+);
+
+// ./test/core/simd/simd_splat.wast:107
+assert_return(
+ () => invoke($0, `f64x2.splat`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:108
+assert_return(
+ () => invoke($0, `f64x2.splat`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:109
+assert_return(
+ () => invoke($0, `f64x2.splat`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0x7f]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:110
+assert_return(
+ () => invoke($0, `f64x2.splat`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ]),
+ [
+ new F64x2Pattern(
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4, 0xff]),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:111
+assert_return(
+ () => invoke($0, `f64x2.splat`, [value("f64", 123456789)]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_splat.wast:112
+assert_return(
+ () => invoke($0, `f64x2.splat`, [value("f64", 123456789)]),
+ [new F64x2Pattern(value("f64", 123456789), value("f64", 123456789))],
+);
+
+// ./test/core/simd/simd_splat.wast:113
+assert_return(
+ () => invoke($0, `f64x2.splat`, [value("f64", 1375488932539311400000000)]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:114
+assert_return(
+ () => invoke($0, `f64x2.splat`, [value("f64", 1375488932539311400000000)]),
+ [
+ new F64x2Pattern(
+ value("f64", 1375488932539311400000000),
+ value("f64", 1375488932539311400000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:115
+assert_return(
+ () => invoke($0, `f64x2.splat`, [value("f64", 1234567890000000000000000000)]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:116
+assert_return(
+ () => invoke($0, `f64x2.splat`, [value("f64", 1234567890000000000000000000)]),
+ [
+ new F64x2Pattern(
+ value("f64", 1234567890000000000000000000),
+ value("f64", 1234567890000000000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:117
+assert_return(
+ () => invoke($0, `f64x2.splat`, [value("f64", 721152341463170500000000000000)]),
+ [
+ new F64x2Pattern(
+ value("f64", 721152341463170500000000000000),
+ value("f64", 721152341463170500000000000000),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:118
+assert_return(
+ () => invoke($0, `f64x2.splat`, [value("f64", 2623536934927580700)]),
+ [
+ new F64x2Pattern(
+ value("f64", 2623536934927580700),
+ value("f64", 2623536934927580700),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:122
+assert_malformed(
+ () => instantiate(`(func (result v128) (v128.splat (i32.const 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_splat.wast:127
+assert_invalid(
+ () => instantiate(`(module (func (result v128) i8x16.splat (i64.const 0)))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_splat.wast:128
+assert_invalid(
+ () => instantiate(`(module (func (result v128) i8x16.splat (f32.const 0.0)))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_splat.wast:129
+assert_invalid(
+ () => instantiate(`(module (func (result v128) i8x16.splat (f64.const 0.0)))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_splat.wast:130
+assert_invalid(
+ () => instantiate(`(module (func (result v128) i16x8.splat (i64.const 1)))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_splat.wast:131
+assert_invalid(
+ () => instantiate(`(module (func (result v128) i16x8.splat (f32.const 1.0)))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_splat.wast:132
+assert_invalid(
+ () => instantiate(`(module (func (result v128) i16x8.splat (f64.const 1.0)))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_splat.wast:133
+assert_invalid(
+ () => instantiate(`(module (func (result v128) i32x4.splat (i64.const 2)))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_splat.wast:134
+assert_invalid(
+ () => instantiate(`(module (func (result v128) i32x4.splat (f32.const 2.0)))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_splat.wast:135
+assert_invalid(
+ () => instantiate(`(module (func (result v128) i32x4.splat (f64.const 2.0)))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_splat.wast:136
+assert_invalid(
+ () => instantiate(`(module (func (result v128) f32x4.splat (i32.const 4)))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_splat.wast:137
+assert_invalid(
+ () => instantiate(`(module (func (result v128) f32x4.splat (i64.const 4)))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_splat.wast:138
+assert_invalid(
+ () => instantiate(`(module (func (result v128) f32x4.splat (f64.const 4.0)))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_splat.wast:139
+assert_invalid(
+ () => instantiate(`(module (func (result v128) i64x2.splat (i32.const 0)))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_splat.wast:140
+assert_invalid(
+ () => instantiate(`(module (func (result v128) i64x2.splat (f64.const 0.0)))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_splat.wast:141
+assert_invalid(
+ () => instantiate(`(module (func (result v128) f64x2.splat (i32.const 0)))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_splat.wast:142
+assert_invalid(
+ () => instantiate(`(module (func (result v128) f64x2.splat (f32.const 0.0)))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_splat.wast:148
+let $1 = instantiate(`(module (memory 1)
+ (func (export "as-v128_store-operand-1") (param i32) (result v128)
+ (v128.store (i32.const 0) (i8x16.splat (local.get 0)))
+ (v128.load (i32.const 0)))
+ (func (export "as-v128_store-operand-2") (param i32) (result v128)
+ (v128.store (i32.const 0) (i16x8.splat (local.get 0)))
+ (v128.load (i32.const 0)))
+ (func (export "as-v128_store-operand-3") (param i32) (result v128)
+ (v128.store (i32.const 0) (i32x4.splat (local.get 0)))
+ (v128.load (i32.const 0)))
+ (func (export "as-v128_store-operand-4") (param i64) (result v128)
+ (v128.store (i32.const 0) (i64x2.splat (local.get 0)))
+ (v128.load (i32.const 0)))
+ (func (export "as-v128_store-operand-5") (param f64) (result v128)
+ (v128.store (i32.const 0) (f64x2.splat (local.get 0)))
+ (v128.load (i32.const 0)))
+)`);
+
+// ./test/core/simd/simd_splat.wast:166
+assert_return(
+ () => invoke($1, `as-v128_store-operand-1`, [1]),
+ [
+ i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:167
+assert_return(
+ () => invoke($1, `as-v128_store-operand-2`, [256]),
+ [i16x8([0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100])],
+);
+
+// ./test/core/simd/simd_splat.wast:168
+assert_return(
+ () => invoke($1, `as-v128_store-operand-3`, [-1]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_splat.wast:169
+assert_return(() => invoke($1, `as-v128_store-operand-4`, [1n]), [i64x2([0x1n, 0x1n])]);
+
+// ./test/core/simd/simd_splat.wast:170
+assert_return(
+ () => invoke($1, `as-v128_store-operand-5`, [value("f64", -1)]),
+ [new F64x2Pattern(value("f64", -1), value("f64", -1))],
+);
+
+// ./test/core/simd/simd_splat.wast:172
+let $2 = instantiate(`(module
+ ;; Accessing lane
+ (func (export "as-i8x16_extract_lane_s-operand-first") (param i32) (result i32)
+ (i8x16.extract_lane_s 0 (i8x16.splat (local.get 0))))
+ (func (export "as-i8x16_extract_lane_s-operand-last") (param i32) (result i32)
+ (i8x16.extract_lane_s 15 (i8x16.splat (local.get 0))))
+ (func (export "as-i16x8_extract_lane_s-operand-first") (param i32) (result i32)
+ (i16x8.extract_lane_s 0 (i16x8.splat (local.get 0))))
+ (func (export "as-i16x8_extract_lane_s-operand-last") (param i32) (result i32)
+ (i16x8.extract_lane_s 7 (i16x8.splat (local.get 0))))
+ (func (export "as-i32x4_extract_lane_s-operand-first") (param i32) (result i32)
+ (i32x4.extract_lane 0 (i32x4.splat (local.get 0))))
+ (func (export "as-i32x4_extract_lane_s-operand-last") (param i32) (result i32)
+ (i32x4.extract_lane 3 (i32x4.splat (local.get 0))))
+ (func (export "as-f32x4_extract_lane_s-operand-first") (param f32) (result f32)
+ (f32x4.extract_lane 0 (f32x4.splat (local.get 0))))
+ (func (export "as-f32x4_extract_lane_s-operand-last") (param f32) (result f32)
+ (f32x4.extract_lane 3 (f32x4.splat (local.get 0))))
+ (func (export "as-v8x16_swizzle-operands") (param i32) (param i32) (result v128)
+ (i8x16.swizzle (i8x16.splat (local.get 0)) (i8x16.splat (local.get 1))))
+ (func (export "as-i64x2_extract_lane-operand-first") (param i64) (result i64)
+ (i64x2.extract_lane 0 (i64x2.splat (local.get 0))))
+ (func (export "as-i64x2_extract_lane-operand-last") (param i64) (result i64)
+ (i64x2.extract_lane 1 (i64x2.splat (local.get 0))))
+ (func (export "as-f64x2_extract_lane-operand-first") (param f64) (result f64)
+ (f64x2.extract_lane 0 (f64x2.splat (local.get 0))))
+ (func (export "as-f64x2_extract_lane-operand-last") (param f64) (result f64)
+ (f64x2.extract_lane 1 (f64x2.splat (local.get 0))))
+
+ ;; Integer arithmetic
+ (func (export "as-i8x16_add_sub-operands") (param i32 i32 i32) (result v128)
+ (i8x16.add (i8x16.splat (local.get 0))
+ (i8x16.sub (i8x16.splat (local.get 1)) (i8x16.splat (local.get 2)))))
+ (func (export "as-i16x8_add_sub_mul-operands") (param i32 i32 i32 i32) (result v128)
+ (i16x8.add (i16x8.splat (local.get 0))
+ (i16x8.sub (i16x8.splat (local.get 1))
+ (i16x8.mul (i16x8.splat (local.get 2)) (i16x8.splat (local.get 3))))))
+ (func (export "as-i32x4_add_sub_mul-operands") (param i32 i32 i32 i32) (result v128)
+ (i32x4.add (i32x4.splat (local.get 0))
+ (i32x4.sub (i32x4.splat (local.get 1))
+ (i32x4.mul (i32x4.splat (local.get 2)) (i32x4.splat (local.get 3))))))
+
+ (func (export "as-i64x2_add_sub_mul-operands") (param i64 i64 i64 i64) (result v128)
+ (i64x2.add (i64x2.splat (local.get 0))
+ (i64x2.sub (i64x2.splat (local.get 1))
+ (i64x2.mul (i64x2.splat (local.get 2)) (i64x2.splat (local.get 3))))))
+ (func (export "as-f64x2_add_sub_mul-operands") (param f64 f64 f64 f64) (result v128)
+ (f64x2.add (f64x2.splat (local.get 0))
+ (f64x2.sub (f64x2.splat (local.get 1))
+ (f64x2.mul (f64x2.splat (local.get 2)) (f64x2.splat (local.get 3))))))
+
+ ;; Saturating integer arithmetic
+ (func (export "as-i8x16_add_sat_s-operands") (param i32 i32) (result v128)
+ (i8x16.add_sat_s (i8x16.splat (local.get 0)) (i8x16.splat (local.get 1))))
+ (func (export "as-i16x8_add_sat_s-operands") (param i32 i32) (result v128)
+ (i16x8.add_sat_s (i16x8.splat (local.get 0)) (i16x8.splat (local.get 1))))
+ (func (export "as-i8x16_sub_sat_u-operands") (param i32 i32) (result v128)
+ (i8x16.sub_sat_u (i8x16.splat (local.get 0)) (i8x16.splat (local.get 1))))
+ (func (export "as-i16x8_sub_sat_u-operands") (param i32 i32) (result v128)
+ (i16x8.sub_sat_u (i16x8.splat (local.get 0)) (i16x8.splat (local.get 1))))
+
+ ;; Bit shifts
+ (func (export "as-i8x16_shr_s-operand") (param i32 i32) (result v128)
+ (i8x16.shr_s (i8x16.splat (local.get 0)) (local.get 1)))
+ (func (export "as-i16x8_shr_s-operand") (param i32 i32) (result v128)
+ (i16x8.shr_s (i16x8.splat (local.get 0)) (local.get 1)))
+ (func (export "as-i32x4_shr_s-operand") (param i32 i32) (result v128)
+ (i32x4.shr_s (i32x4.splat (local.get 0)) (local.get 1)))
+
+ ;; Bitwise operantions
+ (func (export "as-v128_and-operands") (param i32 i32) (result v128)
+ (v128.and (i8x16.splat (local.get 0)) (i8x16.splat (local.get 1))))
+ (func (export "as-v128_or-operands") (param i32 i32) (result v128)
+ (v128.or (i16x8.splat (local.get 0)) (i16x8.splat (local.get 1))))
+ (func (export "as-v128_xor-operands") (param i32 i32) (result v128)
+ (v128.xor (i32x4.splat (local.get 0)) (i32x4.splat (local.get 1))))
+
+ ;; Boolean horizontal reductions
+ (func (export "as-i8x16_all_true-operand") (param i32) (result i32)
+ (i8x16.all_true (i8x16.splat (local.get 0))))
+ (func (export "as-i16x8_all_true-operand") (param i32) (result i32)
+ (i16x8.all_true (i16x8.splat (local.get 0))))
+ (func (export "as-i32x4_all_true-operand1") (param i32) (result i32)
+ (i32x4.all_true (i32x4.splat (local.get 0))))
+ (func (export "as-i32x4_all_true-operand2") (param i64) (result i32)
+ (i32x4.all_true (i64x2.splat (local.get 0))))
+
+ ;; Comparisons
+ (func (export "as-i8x16_eq-operands") (param i32 i32) (result v128)
+ (i8x16.eq (i8x16.splat (local.get 0)) (i8x16.splat (local.get 1))))
+ (func (export "as-i16x8_eq-operands") (param i32 i32) (result v128)
+ (i16x8.eq (i16x8.splat (local.get 0)) (i16x8.splat (local.get 1))))
+ (func (export "as-i32x4_eq-operands1") (param i32 i32) (result v128)
+ (i32x4.eq (i32x4.splat (local.get 0)) (i32x4.splat (local.get 1))))
+ (func (export "as-i32x4_eq-operands2") (param i64 i64) (result v128)
+ (i32x4.eq (i64x2.splat (local.get 0)) (i64x2.splat (local.get 1))))
+ (func (export "as-f32x4_eq-operands") (param f32 f32) (result v128)
+ (f32x4.eq (f32x4.splat (local.get 0)) (f32x4.splat (local.get 1))))
+ (func (export "as-f64x2_eq-operands") (param f64 f64) (result v128)
+ (f64x2.eq (f64x2.splat (local.get 0)) (f64x2.splat (local.get 1))))
+
+ ;; Floating-point sign bit operations
+ (func (export "as-f32x4_abs-operand") (param f32) (result v128)
+ (f32x4.abs (f32x4.splat (local.get 0))))
+
+ ;; Floating-point min
+ (func (export "as-f32x4_min-operands") (param f32 f32) (result v128)
+ (f32x4.min (f32x4.splat (local.get 0)) (f32x4.splat (local.get 1))))
+
+ ;; Floating-point arithmetic
+ (func (export "as-f32x4_div-operands") (param f32 f32) (result v128)
+ (f32x4.div (f32x4.splat (local.get 0)) (f32x4.splat (local.get 1))))
+
+ ;; Conversions
+ (func (export "as-f32x4_convert_s_i32x4-operand") (param i32) (result v128)
+ (f32x4.convert_i32x4_s (i32x4.splat (local.get 0))))
+ (func (export "as-i32x4_trunc_s_f32x4_sat-operand") (param f32) (result v128)
+ (i32x4.trunc_sat_f32x4_s (f32x4.splat (local.get 0))))
+)`);
+
+// ./test/core/simd/simd_splat.wast:292
+assert_return(() => invoke($2, `as-i8x16_extract_lane_s-operand-first`, [42]), [value("i32", 42)]);
+
+// ./test/core/simd/simd_splat.wast:293
+assert_return(() => invoke($2, `as-i8x16_extract_lane_s-operand-last`, [-42]), [value("i32", -42)]);
+
+// ./test/core/simd/simd_splat.wast:294
+assert_return(
+ () => invoke($2, `as-i16x8_extract_lane_s-operand-first`, [-32769]),
+ [value("i32", 32767)],
+);
+
+// ./test/core/simd/simd_splat.wast:295
+assert_return(() => invoke($2, `as-i16x8_extract_lane_s-operand-last`, [32768]), [value("i32", -32768)]);
+
+// ./test/core/simd/simd_splat.wast:296
+assert_return(
+ () => invoke($2, `as-i32x4_extract_lane_s-operand-first`, [2147483647]),
+ [value("i32", 2147483647)],
+);
+
+// ./test/core/simd/simd_splat.wast:297
+assert_return(
+ () => invoke($2, `as-i32x4_extract_lane_s-operand-last`, [-2147483648]),
+ [value("i32", -2147483648)],
+);
+
+// ./test/core/simd/simd_splat.wast:298
+assert_return(
+ () => invoke($2, `as-f32x4_extract_lane_s-operand-first`, [value("f32", 1.5)]),
+ [value("f32", 1.5)],
+);
+
+// ./test/core/simd/simd_splat.wast:299
+assert_return(
+ () => invoke($2, `as-f32x4_extract_lane_s-operand-last`, [value("f32", -0.25)]),
+ [value("f32", -0.25)],
+);
+
+// ./test/core/simd/simd_splat.wast:300
+assert_return(
+ () => invoke($2, `as-v8x16_swizzle-operands`, [1, -1]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:301
+assert_return(() => invoke($2, `as-i64x2_extract_lane-operand-last`, [-42n]), [value("i64", -42n)]);
+
+// ./test/core/simd/simd_splat.wast:302
+assert_return(() => invoke($2, `as-i64x2_extract_lane-operand-first`, [42n]), [value("i64", 42n)]);
+
+// ./test/core/simd/simd_splat.wast:303
+assert_return(
+ () => invoke($2, `as-f64x2_extract_lane-operand-first`, [value("f64", 1.5)]),
+ [value("f64", 1.5)],
+);
+
+// ./test/core/simd/simd_splat.wast:304
+assert_return(
+ () => invoke($2, `as-f64x2_extract_lane-operand-last`, [value("f64", -1)]),
+ [value("f64", -1)],
+);
+
+// ./test/core/simd/simd_splat.wast:306
+assert_return(
+ () => invoke($2, `as-i8x16_add_sub-operands`, [3, 2, 1]),
+ [
+ i8x16([0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4]),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:307
+assert_return(
+ () => invoke($2, `as-i16x8_add_sub_mul-operands`, [257, 128, 16, 16]),
+ [i16x8([0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81])],
+);
+
+// ./test/core/simd/simd_splat.wast:308
+assert_return(
+ () => invoke($2, `as-i32x4_add_sub_mul-operands`, [65535, 65537, 256, 256]),
+ [i32x4([0x10000, 0x10000, 0x10000, 0x10000])],
+);
+
+// ./test/core/simd/simd_splat.wast:309
+assert_return(
+ () => invoke($2, `as-i64x2_add_sub_mul-operands`, [
+ 2147483647n,
+ 4294967297n,
+ 65536n,
+ 65536n,
+ ]),
+ [i64x2([0x80000000n, 0x80000000n])],
+);
+
+// ./test/core/simd/simd_splat.wast:310
+assert_return(
+ () => invoke($2, `as-f64x2_add_sub_mul-operands`, [
+ value("f64", 0.5),
+ value("f64", 0.75),
+ value("f64", 0.5),
+ value("f64", 0.5),
+ ]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_splat.wast:312
+assert_return(
+ () => invoke($2, `as-i8x16_add_sat_s-operands`, [127, 1]),
+ [
+ i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:313
+assert_return(
+ () => invoke($2, `as-i16x8_add_sat_s-operands`, [32767, 1]),
+ [i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff])],
+);
+
+// ./test/core/simd/simd_splat.wast:314
+assert_return(
+ () => invoke($2, `as-i8x16_sub_sat_u-operands`, [127, 255]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:315
+assert_return(
+ () => invoke($2, `as-i16x8_sub_sat_u-operands`, [32767, 65535]),
+ [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])],
+);
+
+// ./test/core/simd/simd_splat.wast:317
+assert_return(
+ () => invoke($2, `as-i8x16_shr_s-operand`, [240, 3]),
+ [
+ i8x16([0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe]),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:318
+assert_return(
+ () => invoke($2, `as-i16x8_shr_s-operand`, [256, 4]),
+ [i16x8([0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10])],
+);
+
+// ./test/core/simd/simd_splat.wast:319
+assert_return(
+ () => invoke($2, `as-i32x4_shr_s-operand`, [-1, 16]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_splat.wast:321
+assert_return(
+ () => invoke($2, `as-v128_and-operands`, [17, 255]),
+ [
+ i8x16([0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11]),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:322
+assert_return(
+ () => invoke($2, `as-v128_or-operands`, [0, 65535]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_splat.wast:323
+assert_return(
+ () => invoke($2, `as-v128_xor-operands`, [-252645136, -1]),
+ [i32x4([0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f, 0xf0f0f0f])],
+);
+
+// ./test/core/simd/simd_splat.wast:325
+assert_return(() => invoke($2, `as-i8x16_all_true-operand`, [0]), [value("i32", 0)]);
+
+// ./test/core/simd/simd_splat.wast:326
+assert_return(() => invoke($2, `as-i16x8_all_true-operand`, [65535]), [value("i32", 1)]);
+
+// ./test/core/simd/simd_splat.wast:327
+assert_return(() => invoke($2, `as-i32x4_all_true-operand1`, [-252645136]), [value("i32", 1)]);
+
+// ./test/core/simd/simd_splat.wast:328
+assert_return(() => invoke($2, `as-i32x4_all_true-operand2`, [-1n]), [value("i32", 1)]);
+
+// ./test/core/simd/simd_splat.wast:330
+assert_return(
+ () => invoke($2, `as-i8x16_eq-operands`, [1, 2]),
+ [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:331
+assert_return(
+ () => invoke($2, `as-i16x8_eq-operands`, [-1, 65535]),
+ [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])],
+);
+
+// ./test/core/simd/simd_splat.wast:332
+assert_return(
+ () => invoke($2, `as-i32x4_eq-operands1`, [-1, -1]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_splat.wast:333
+assert_return(
+ () => invoke($2, `as-f32x4_eq-operands`, [value("f32", 0), value("f32", -0)]),
+ [i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff])],
+);
+
+// ./test/core/simd/simd_splat.wast:334
+assert_return(
+ () => invoke($2, `as-i32x4_eq-operands2`, [1n, 2n]),
+ [i64x2([0xffffffff00000000n, 0xffffffff00000000n])],
+);
+
+// ./test/core/simd/simd_splat.wast:335
+assert_return(
+ () => invoke($2, `as-f64x2_eq-operands`, [value("f64", 0), value("f64", -0)]),
+ [i64x2([0xffffffffffffffffn, 0xffffffffffffffffn])],
+);
+
+// ./test/core/simd/simd_splat.wast:337
+assert_return(
+ () => invoke($2, `as-f32x4_abs-operand`, [value("f32", -1.125)]),
+ [
+ new F32x4Pattern(
+ value("f32", 1.125),
+ value("f32", 1.125),
+ value("f32", 1.125),
+ value("f32", 1.125),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:338
+assert_return(
+ () => invoke($2, `as-f32x4_min-operands`, [
+ value("f32", 0.25),
+ value("f32", 0.00000000000000000000000000000000000001),
+ ]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.00000000000000000000000000000000000001),
+ value("f32", 0.00000000000000000000000000000000000001),
+ value("f32", 0.00000000000000000000000000000000000001),
+ value("f32", 0.00000000000000000000000000000000000001),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:339
+assert_return(
+ () => invoke($2, `as-f32x4_div-operands`, [value("f32", 1), value("f32", 8)]),
+ [
+ new F32x4Pattern(
+ value("f32", 0.125),
+ value("f32", 0.125),
+ value("f32", 0.125),
+ value("f32", 0.125),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:341
+assert_return(
+ () => invoke($2, `as-f32x4_convert_s_i32x4-operand`, [12345]),
+ [
+ new F32x4Pattern(
+ value("f32", 12345),
+ value("f32", 12345),
+ value("f32", 12345),
+ value("f32", 12345),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:342
+assert_return(
+ () => invoke($2, `as-i32x4_trunc_s_f32x4_sat-operand`, [value("f32", 1.1)]),
+ [i32x4([0x1, 0x1, 0x1, 0x1])],
+);
+
+// ./test/core/simd/simd_splat.wast:347
+let $3 = instantiate(`(module
+ (global $$g (mut v128) (v128.const f32x4 0.0 0.0 0.0 0.0))
+ (func (export "as-br-value1") (param i32) (result v128)
+ (block (result v128) (br 0 (i8x16.splat (local.get 0)))))
+ (func (export "as-return-value1") (param i32) (result v128)
+ (return (i16x8.splat (local.get 0))))
+ (func (export "as-local_set-value1") (param i32) (result v128) (local v128)
+ (local.set 1 (i32x4.splat (local.get 0)))
+ (return (local.get 1)))
+ (func (export "as-global_set-value1") (param f32) (result v128)
+ (global.set $$g (f32x4.splat (local.get 0)))
+ (return (global.get $$g)))
+ (func (export "as-br-value2") (param i64) (result v128)
+ (block (result v128) (br 0 (i64x2.splat (local.get 0)))))
+ (func (export "as-return-value2") (param i64) (result v128)
+ (return (i64x2.splat (local.get 0))))
+ (func (export "as-local_set-value2") (param i64) (result v128) (local v128)
+ (local.set 1 (i64x2.splat (local.get 0)))
+ (return (local.get 1)))
+ (func (export "as-global_set-value2") (param f64) (result v128)
+ (global.set $$g (f64x2.splat (local.get 0)))
+ (return (global.get $$g)))
+)`);
+
+// ./test/core/simd/simd_splat.wast:371
+assert_return(
+ () => invoke($3, `as-br-value1`, [171]),
+ [
+ i8x16([0xab, 0xab, 0xab, 0xab, 0xab, 0xab, 0xab, 0xab, 0xab, 0xab, 0xab, 0xab, 0xab, 0xab, 0xab, 0xab]),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:372
+assert_return(
+ () => invoke($3, `as-return-value1`, [43981]),
+ [i16x8([0xabcd, 0xabcd, 0xabcd, 0xabcd, 0xabcd, 0xabcd, 0xabcd, 0xabcd])],
+);
+
+// ./test/core/simd/simd_splat.wast:373
+assert_return(
+ () => invoke($3, `as-local_set-value1`, [65536]),
+ [i32x4([0x10000, 0x10000, 0x10000, 0x10000])],
+);
+
+// ./test/core/simd/simd_splat.wast:374
+assert_return(
+ () => invoke($3, `as-global_set-value1`, [value("f32", 1)]),
+ [
+ new F32x4Pattern(
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ value("f32", 1),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_splat.wast:375
+assert_return(() => invoke($3, `as-br-value2`, [43981n]), [i64x2([0xabcdn, 0xabcdn])]);
+
+// ./test/core/simd/simd_splat.wast:376
+assert_return(() => invoke($3, `as-return-value2`, [43981n]), [i64x2([0xabcdn, 0xabcdn])]);
+
+// ./test/core/simd/simd_splat.wast:377
+assert_return(() => invoke($3, `as-local_set-value2`, [65536n]), [i64x2([0x10000n, 0x10000n])]);
+
+// ./test/core/simd/simd_splat.wast:378
+assert_return(
+ () => invoke($3, `as-global_set-value2`, [value("f64", 1)]),
+ [new F64x2Pattern(value("f64", 1), value("f64", 1))],
+);
+
+// ./test/core/simd/simd_splat.wast:383
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i8x16.splat-arg-empty (result v128)
+ (i8x16.splat)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_splat.wast:391
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i16x8.splat-arg-empty (result v128)
+ (i16x8.splat)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_splat.wast:399
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i32x4.splat-arg-empty (result v128)
+ (i32x4.splat)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_splat.wast:407
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f32x4.splat-arg-empty (result v128)
+ (f32x4.splat)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_splat.wast:415
+assert_invalid(
+ () => instantiate(`(module
+ (func $$i64x2.splat-arg-empty (result v128)
+ (i64x2.splat)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_splat.wast:423
+assert_invalid(
+ () => instantiate(`(module
+ (func $$f64x2.splat-arg-empty (result v128)
+ (f64x2.splat)
+ )
+ )`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/simd_store.wast.js b/js/src/jit-test/tests/wasm/spec/spec/simd_store.wast.js
new file mode 100644
index 0000000000..aaecc09ddd
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/simd_store.wast.js
@@ -0,0 +1,238 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_store.wast
+
+// ./test/core/simd/simd_store.wast:3
+let $0 = instantiate(`(module
+ (memory 1)
+ (func (export "v128.store_i8x16") (result v128)
+ (v128.store (i32.const 0) (v128.const i8x16 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15))
+ (v128.load (i32.const 0))
+ )
+ (func (export "v128.store_i16x8") (result v128)
+ (v128.store (i32.const 0) (v128.const i16x8 0 1 2 3 4 5 6 7))
+ (v128.load (i32.const 0))
+ )
+ (func (export "v128.store_i16x8_2") (result v128)
+ (v128.store (i32.const 0) (v128.const i16x8 012_345 012_345 012_345 012_345 012_345 012_345 012_345 012_345))
+ (v128.load (i32.const 0))
+ )
+ (func (export "v128.store_i16x8_3") (result v128)
+ (v128.store (i32.const 0) (v128.const i16x8 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234))
+ (v128.load (i32.const 0))
+ )
+ (func (export "v128.store_i32x4") (result v128)
+ (v128.store (i32.const 0) (v128.const i32x4 0 1 2 3))
+ (v128.load (i32.const 0))
+ )
+ (func (export "v128.store_i32x4_2") (result v128)
+ (v128.store (i32.const 0) (v128.const i32x4 0_123_456_789 0_123_456_789 0_123_456_789 0_123_456_789))
+ (v128.load (i32.const 0))
+ )
+ (func (export "v128.store_i32x4_3") (result v128)
+ (v128.store (i32.const 0) (v128.const i32x4 0x0_1234_5678 0x0_1234_5678 0x0_1234_5678 0x0_1234_5678))
+ (v128.load (i32.const 0))
+ )
+
+ (func (export "v128.store_f32x4") (result v128)
+ (v128.store (i32.const 0) (v128.const f32x4 0 1 2 3))
+ (v128.load (i32.const 0))
+ )
+)`);
+
+// ./test/core/simd/simd_store.wast:40
+assert_return(
+ () => invoke($0, `v128.store_i8x16`, []),
+ [
+ i8x16([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf]),
+ ],
+);
+
+// ./test/core/simd/simd_store.wast:41
+assert_return(() => invoke($0, `v128.store_i16x8`, []), [i16x8([0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7])]);
+
+// ./test/core/simd/simd_store.wast:42
+assert_return(
+ () => invoke($0, `v128.store_i16x8_2`, []),
+ [i16x8([0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039])],
+);
+
+// ./test/core/simd/simd_store.wast:43
+assert_return(
+ () => invoke($0, `v128.store_i16x8_3`, []),
+ [i16x8([0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234])],
+);
+
+// ./test/core/simd/simd_store.wast:44
+assert_return(() => invoke($0, `v128.store_i32x4`, []), [i32x4([0x0, 0x1, 0x2, 0x3])]);
+
+// ./test/core/simd/simd_store.wast:45
+assert_return(
+ () => invoke($0, `v128.store_i32x4_2`, []),
+ [i32x4([0x75bcd15, 0x75bcd15, 0x75bcd15, 0x75bcd15])],
+);
+
+// ./test/core/simd/simd_store.wast:46
+assert_return(
+ () => invoke($0, `v128.store_i32x4_3`, []),
+ [i32x4([0x12345678, 0x12345678, 0x12345678, 0x12345678])],
+);
+
+// ./test/core/simd/simd_store.wast:47
+assert_return(
+ () => invoke($0, `v128.store_f32x4`, []),
+ [
+ new F32x4Pattern(
+ value("f32", 0),
+ value("f32", 1),
+ value("f32", 2),
+ value("f32", 3),
+ ),
+ ],
+);
+
+// ./test/core/simd/simd_store.wast:52
+let $1 = instantiate(`(module
+ (memory 1)
+ (func (export "as-block-value")
+ (block (v128.store (i32.const 0) (v128.const i32x4 0 0 0 0)))
+ )
+ (func (export "as-loop-value")
+ (loop (v128.store (i32.const 0) (v128.const i32x4 0 0 0 0)))
+ )
+ (func (export "as-br-value")
+ (block (br 0 (v128.store (i32.const 0) (v128.const i32x4 0 0 0 0))))
+ )
+ (func (export "as-br_if-value")
+ (block
+ (br_if 0 (v128.store (i32.const 0) (v128.const i32x4 0 0 0 0)) (i32.const 1))
+ )
+ )
+ (func (export "as-br_if-value-cond")
+ (block
+ (br_if 0 (i32.const 6) (v128.store (i32.const 0) (v128.const i32x4 0 0 0 0)))
+ )
+ )
+ (func (export "as-br_table-value")
+ (block
+ (br_table 0 (v128.store (i32.const 0) (v128.const i32x4 0 0 0 0)) (i32.const 1))
+ )
+ )
+ (func (export "as-return-value")
+ (return (v128.store (i32.const 0) (v128.const i32x4 0 0 0 0)))
+ )
+ (func (export "as-if-then")
+ (if (i32.const 1) (then (v128.store (i32.const 0) (v128.const i32x4 0 0 0 0))))
+ )
+ (func (export "as-if-else")
+ (if (i32.const 0) (then) (else (v128.store (i32.const 0) (v128.const i32x4 0 0 0 0))))
+ )
+)`);
+
+// ./test/core/simd/simd_store.wast:89
+assert_return(() => invoke($1, `as-block-value`, []), []);
+
+// ./test/core/simd/simd_store.wast:90
+assert_return(() => invoke($1, `as-loop-value`, []), []);
+
+// ./test/core/simd/simd_store.wast:91
+assert_return(() => invoke($1, `as-br-value`, []), []);
+
+// ./test/core/simd/simd_store.wast:92
+assert_return(() => invoke($1, `as-br_if-value`, []), []);
+
+// ./test/core/simd/simd_store.wast:93
+assert_return(() => invoke($1, `as-br_if-value-cond`, []), []);
+
+// ./test/core/simd/simd_store.wast:94
+assert_return(() => invoke($1, `as-br_table-value`, []), []);
+
+// ./test/core/simd/simd_store.wast:95
+assert_return(() => invoke($1, `as-return-value`, []), []);
+
+// ./test/core/simd/simd_store.wast:96
+assert_return(() => invoke($1, `as-if-then`, []), []);
+
+// ./test/core/simd/simd_store.wast:97
+assert_return(() => invoke($1, `as-if-else`, []), []);
+
+// ./test/core/simd/simd_store.wast:102
+assert_malformed(
+ () => instantiate(`(memory 1) (func (v128.store8 (i32.const 0) (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_store.wast:109
+assert_malformed(
+ () => instantiate(`(memory 1) (func (v128.store16 (i32.const 0) (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_store.wast:116
+assert_malformed(
+ () => instantiate(`(memory 1) (func (v128.store32 (i32.const 0) (v128.const i32x4 0 0 0 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/simd/simd_store.wast:127
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (v128.store (f32.const 0) (v128.const i32x4 0 0 0 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_store.wast:131
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (local v128) (block (br_if 0 (v128.store)))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_store.wast:135
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (result v128) (v128.store (i32.const 0) (v128.const i32x4 0 0 0 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_store.wast:143
+assert_invalid(
+ () => instantiate(`(module (memory 0)
+ (func $$v128.store-1st-arg-empty
+ (v128.store (v128.const i32x4 0 0 0 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_store.wast:151
+assert_invalid(
+ () => instantiate(`(module (memory 0)
+ (func $$v128.store-2nd-arg-empty
+ (v128.store (i32.const 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_store.wast:159
+assert_invalid(
+ () => instantiate(`(module (memory 0)
+ (func $$v128.store-arg-empty
+ (v128.store)
+ )
+ )`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/simd_store16_lane.wast.js b/js/src/jit-test/tests/wasm/spec/spec/simd_store16_lane.wast.js
new file mode 100644
index 0000000000..50e1431390
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/simd_store16_lane.wast.js
@@ -0,0 +1,512 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_store16_lane.wast
+
+// ./test/core/simd/simd_store16_lane.wast:4
+let $0 = instantiate(`(module
+ (memory 1)
+ (global $$zero (mut v128) (v128.const i32x4 0 0 0 0))
+ (func (export "v128.store16_lane_0")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store16_lane 0 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store (local.get $$address) (global.get $$zero)) (local.get $$ret))
+ (func (export "v128.store16_lane_1")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store16_lane 1 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store (local.get $$address) (global.get $$zero)) (local.get $$ret))
+ (func (export "v128.store16_lane_2")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store16_lane 2 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store (local.get $$address) (global.get $$zero)) (local.get $$ret))
+ (func (export "v128.store16_lane_3")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store16_lane 3 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store (local.get $$address) (global.get $$zero)) (local.get $$ret))
+ (func (export "v128.store16_lane_4")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store16_lane 4 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store (local.get $$address) (global.get $$zero)) (local.get $$ret))
+ (func (export "v128.store16_lane_5")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store16_lane 5 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store (local.get $$address) (global.get $$zero)) (local.get $$ret))
+ (func (export "v128.store16_lane_6")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store16_lane 6 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store (local.get $$address) (global.get $$zero)) (local.get $$ret))
+ (func (export "v128.store16_lane_7")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store16_lane 7 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store (local.get $$address) (global.get $$zero)) (local.get $$ret))
+ (func (export "v128.store16_lane_0_offset_0")
+ (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store16_lane offset=0 0 (i32.const 0) (local.get $$x))
+ (local.set $$ret (i64.load offset=0 (i32.const 0)))
+ (v128.store offset=0 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store16_lane_1_offset_1")
+ (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store16_lane offset=1 1 (i32.const 0) (local.get $$x))
+ (local.set $$ret (i64.load offset=1 (i32.const 0)))
+ (v128.store offset=1 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store16_lane_2_offset_2")
+ (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store16_lane offset=2 2 (i32.const 0) (local.get $$x))
+ (local.set $$ret (i64.load offset=2 (i32.const 0)))
+ (v128.store offset=2 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store16_lane_3_offset_3")
+ (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store16_lane offset=3 3 (i32.const 0) (local.get $$x))
+ (local.set $$ret (i64.load offset=3 (i32.const 0)))
+ (v128.store offset=3 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store16_lane_4_offset_4")
+ (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store16_lane offset=4 4 (i32.const 0) (local.get $$x))
+ (local.set $$ret (i64.load offset=4 (i32.const 0)))
+ (v128.store offset=4 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store16_lane_5_offset_5")
+ (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store16_lane offset=5 5 (i32.const 0) (local.get $$x))
+ (local.set $$ret (i64.load offset=5 (i32.const 0)))
+ (v128.store offset=5 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store16_lane_6_offset_6")
+ (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store16_lane offset=6 6 (i32.const 0) (local.get $$x))
+ (local.set $$ret (i64.load offset=6 (i32.const 0)))
+ (v128.store offset=6 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store16_lane_7_offset_7")
+ (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store16_lane offset=7 7 (i32.const 0) (local.get $$x))
+ (local.set $$ret (i64.load offset=7 (i32.const 0)))
+ (v128.store offset=7 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store16_lane_0_align_1")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store16_lane align=1 0 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store offset=0 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store16_lane_0_align_2")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store16_lane align=2 0 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store offset=0 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store16_lane_1_align_1")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store16_lane align=1 1 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store offset=1 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store16_lane_1_align_2")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store16_lane align=2 1 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store offset=1 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store16_lane_2_align_1")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store16_lane align=1 2 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store offset=2 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store16_lane_2_align_2")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store16_lane align=2 2 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store offset=2 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store16_lane_3_align_1")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store16_lane align=1 3 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store offset=3 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store16_lane_3_align_2")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store16_lane align=2 3 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store offset=3 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store16_lane_4_align_1")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store16_lane align=1 4 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store offset=4 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store16_lane_4_align_2")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store16_lane align=2 4 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store offset=4 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store16_lane_5_align_1")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store16_lane align=1 5 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store offset=5 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store16_lane_5_align_2")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store16_lane align=2 5 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store offset=5 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store16_lane_6_align_1")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store16_lane align=1 6 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store offset=6 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store16_lane_6_align_2")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store16_lane align=2 6 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store offset=6 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store16_lane_7_align_1")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store16_lane align=1 7 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store offset=7 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store16_lane_7_align_2")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store16_lane align=2 7 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store offset=7 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+)`);
+
+// ./test/core/simd/simd_store16_lane.wast:193
+assert_return(
+ () => invoke($0, `v128.store16_lane_0`, [
+ 0,
+ i16x8([0x100, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 256n)],
+);
+
+// ./test/core/simd/simd_store16_lane.wast:196
+assert_return(
+ () => invoke($0, `v128.store16_lane_1`, [
+ 1,
+ i16x8([0x0, 0x201, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 513n)],
+);
+
+// ./test/core/simd/simd_store16_lane.wast:199
+assert_return(
+ () => invoke($0, `v128.store16_lane_2`, [
+ 2,
+ i16x8([0x0, 0x0, 0x302, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 770n)],
+);
+
+// ./test/core/simd/simd_store16_lane.wast:202
+assert_return(
+ () => invoke($0, `v128.store16_lane_3`, [
+ 3,
+ i16x8([0x0, 0x0, 0x0, 0x403, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 1027n)],
+);
+
+// ./test/core/simd/simd_store16_lane.wast:205
+assert_return(
+ () => invoke($0, `v128.store16_lane_4`, [
+ 4,
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x504, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 1284n)],
+);
+
+// ./test/core/simd/simd_store16_lane.wast:208
+assert_return(
+ () => invoke($0, `v128.store16_lane_5`, [
+ 5,
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x605, 0x0, 0x0]),
+ ]),
+ [value("i64", 1541n)],
+);
+
+// ./test/core/simd/simd_store16_lane.wast:211
+assert_return(
+ () => invoke($0, `v128.store16_lane_6`, [
+ 6,
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x706, 0x0]),
+ ]),
+ [value("i64", 1798n)],
+);
+
+// ./test/core/simd/simd_store16_lane.wast:214
+assert_return(
+ () => invoke($0, `v128.store16_lane_7`, [
+ 7,
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x807]),
+ ]),
+ [value("i64", 2055n)],
+);
+
+// ./test/core/simd/simd_store16_lane.wast:217
+assert_return(
+ () => invoke($0, `v128.store16_lane_0_offset_0`, [
+ i16x8([0x100, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 256n)],
+);
+
+// ./test/core/simd/simd_store16_lane.wast:219
+assert_return(
+ () => invoke($0, `v128.store16_lane_1_offset_1`, [
+ i16x8([0x0, 0x201, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 513n)],
+);
+
+// ./test/core/simd/simd_store16_lane.wast:221
+assert_return(
+ () => invoke($0, `v128.store16_lane_2_offset_2`, [
+ i16x8([0x0, 0x0, 0x302, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 770n)],
+);
+
+// ./test/core/simd/simd_store16_lane.wast:223
+assert_return(
+ () => invoke($0, `v128.store16_lane_3_offset_3`, [
+ i16x8([0x0, 0x0, 0x0, 0x403, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 1027n)],
+);
+
+// ./test/core/simd/simd_store16_lane.wast:225
+assert_return(
+ () => invoke($0, `v128.store16_lane_4_offset_4`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x504, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 1284n)],
+);
+
+// ./test/core/simd/simd_store16_lane.wast:227
+assert_return(
+ () => invoke($0, `v128.store16_lane_5_offset_5`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x605, 0x0, 0x0]),
+ ]),
+ [value("i64", 1541n)],
+);
+
+// ./test/core/simd/simd_store16_lane.wast:229
+assert_return(
+ () => invoke($0, `v128.store16_lane_6_offset_6`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x706, 0x0]),
+ ]),
+ [value("i64", 1798n)],
+);
+
+// ./test/core/simd/simd_store16_lane.wast:231
+assert_return(
+ () => invoke($0, `v128.store16_lane_7_offset_7`, [
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x807]),
+ ]),
+ [value("i64", 2055n)],
+);
+
+// ./test/core/simd/simd_store16_lane.wast:233
+assert_return(
+ () => invoke($0, `v128.store16_lane_0_align_1`, [
+ 0,
+ i16x8([0x100, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 256n)],
+);
+
+// ./test/core/simd/simd_store16_lane.wast:236
+assert_return(
+ () => invoke($0, `v128.store16_lane_0_align_2`, [
+ 0,
+ i16x8([0x100, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 256n)],
+);
+
+// ./test/core/simd/simd_store16_lane.wast:239
+assert_return(
+ () => invoke($0, `v128.store16_lane_1_align_1`, [
+ 1,
+ i16x8([0x0, 0x201, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 513n)],
+);
+
+// ./test/core/simd/simd_store16_lane.wast:242
+assert_return(
+ () => invoke($0, `v128.store16_lane_1_align_2`, [
+ 1,
+ i16x8([0x0, 0x201, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 513n)],
+);
+
+// ./test/core/simd/simd_store16_lane.wast:245
+assert_return(
+ () => invoke($0, `v128.store16_lane_2_align_1`, [
+ 2,
+ i16x8([0x0, 0x0, 0x302, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 770n)],
+);
+
+// ./test/core/simd/simd_store16_lane.wast:248
+assert_return(
+ () => invoke($0, `v128.store16_lane_2_align_2`, [
+ 2,
+ i16x8([0x0, 0x0, 0x302, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 770n)],
+);
+
+// ./test/core/simd/simd_store16_lane.wast:251
+assert_return(
+ () => invoke($0, `v128.store16_lane_3_align_1`, [
+ 3,
+ i16x8([0x0, 0x0, 0x0, 0x403, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 1027n)],
+);
+
+// ./test/core/simd/simd_store16_lane.wast:254
+assert_return(
+ () => invoke($0, `v128.store16_lane_3_align_2`, [
+ 3,
+ i16x8([0x0, 0x0, 0x0, 0x403, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 1027n)],
+);
+
+// ./test/core/simd/simd_store16_lane.wast:257
+assert_return(
+ () => invoke($0, `v128.store16_lane_4_align_1`, [
+ 4,
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x504, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 1284n)],
+);
+
+// ./test/core/simd/simd_store16_lane.wast:260
+assert_return(
+ () => invoke($0, `v128.store16_lane_4_align_2`, [
+ 4,
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x504, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 1284n)],
+);
+
+// ./test/core/simd/simd_store16_lane.wast:263
+assert_return(
+ () => invoke($0, `v128.store16_lane_5_align_1`, [
+ 5,
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x605, 0x0, 0x0]),
+ ]),
+ [value("i64", 1541n)],
+);
+
+// ./test/core/simd/simd_store16_lane.wast:266
+assert_return(
+ () => invoke($0, `v128.store16_lane_5_align_2`, [
+ 5,
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x605, 0x0, 0x0]),
+ ]),
+ [value("i64", 1541n)],
+);
+
+// ./test/core/simd/simd_store16_lane.wast:269
+assert_return(
+ () => invoke($0, `v128.store16_lane_6_align_1`, [
+ 6,
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x706, 0x0]),
+ ]),
+ [value("i64", 1798n)],
+);
+
+// ./test/core/simd/simd_store16_lane.wast:272
+assert_return(
+ () => invoke($0, `v128.store16_lane_6_align_2`, [
+ 6,
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x706, 0x0]),
+ ]),
+ [value("i64", 1798n)],
+);
+
+// ./test/core/simd/simd_store16_lane.wast:275
+assert_return(
+ () => invoke($0, `v128.store16_lane_7_align_1`, [
+ 7,
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x807]),
+ ]),
+ [value("i64", 2055n)],
+);
+
+// ./test/core/simd/simd_store16_lane.wast:278
+assert_return(
+ () => invoke($0, `v128.store16_lane_7_align_2`, [
+ 7,
+ i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x807]),
+ ]),
+ [value("i64", 2055n)],
+);
+
+// ./test/core/simd/simd_store16_lane.wast:283
+assert_invalid(
+ () => instantiate(`(module (memory 1)
+ (func (param $$x v128) (result v128)
+ (v128.store16_lane 0 (local.get $$x) (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_store16_lane.wast:289
+assert_invalid(
+ () => instantiate(`(module (memory 1)
+ (func (param $$x v128) (result v128)
+ (v128.store16_lane 8 (i32.const 0) (local.get $$x))))`),
+ `invalid lane index`,
+);
+
+// ./test/core/simd/simd_store16_lane.wast:295
+assert_invalid(
+ () => instantiate(`(module (memory 1)
+ (func (param $$x v128) (result v128)
+ (v128.store16_lane align=4 0 (i32.const 0) (local.get $$x))))`),
+ `alignment must not be larger than natural`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/simd_store32_lane.wast.js b/js/src/jit-test/tests/wasm/spec/spec/simd_store32_lane.wast.js
new file mode 100644
index 0000000000..3b2c57bed7
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/simd_store32_lane.wast.js
@@ -0,0 +1,320 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_store32_lane.wast
+
+// ./test/core/simd/simd_store32_lane.wast:4
+let $0 = instantiate(`(module
+ (memory 1)
+ (global $$zero (mut v128) (v128.const i32x4 0 0 0 0))
+ (func (export "v128.store32_lane_0")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store32_lane 0 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store (local.get $$address) (global.get $$zero)) (local.get $$ret))
+ (func (export "v128.store32_lane_1")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store32_lane 1 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store (local.get $$address) (global.get $$zero)) (local.get $$ret))
+ (func (export "v128.store32_lane_2")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store32_lane 2 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store (local.get $$address) (global.get $$zero)) (local.get $$ret))
+ (func (export "v128.store32_lane_3")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store32_lane 3 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store (local.get $$address) (global.get $$zero)) (local.get $$ret))
+ (func (export "v128.store32_lane_0_offset_0")
+ (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store32_lane offset=0 0 (i32.const 0) (local.get $$x))
+ (local.set $$ret (i64.load offset=0 (i32.const 0)))
+ (v128.store offset=0 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store32_lane_1_offset_1")
+ (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store32_lane offset=1 1 (i32.const 0) (local.get $$x))
+ (local.set $$ret (i64.load offset=1 (i32.const 0)))
+ (v128.store offset=1 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store32_lane_2_offset_2")
+ (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store32_lane offset=2 2 (i32.const 0) (local.get $$x))
+ (local.set $$ret (i64.load offset=2 (i32.const 0)))
+ (v128.store offset=2 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store32_lane_3_offset_3")
+ (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store32_lane offset=3 3 (i32.const 0) (local.get $$x))
+ (local.set $$ret (i64.load offset=3 (i32.const 0)))
+ (v128.store offset=3 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store32_lane_0_align_1")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store32_lane align=1 0 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store offset=0 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store32_lane_0_align_2")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store32_lane align=2 0 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store offset=0 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store32_lane_0_align_4")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store32_lane align=4 0 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store offset=0 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store32_lane_1_align_1")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store32_lane align=1 1 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store offset=1 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store32_lane_1_align_2")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store32_lane align=2 1 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store offset=1 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store32_lane_1_align_4")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store32_lane align=4 1 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store offset=1 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store32_lane_2_align_1")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store32_lane align=1 2 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store offset=2 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store32_lane_2_align_2")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store32_lane align=2 2 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store offset=2 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store32_lane_2_align_4")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store32_lane align=4 2 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store offset=2 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store32_lane_3_align_1")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store32_lane align=1 3 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store offset=3 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store32_lane_3_align_2")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store32_lane align=2 3 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store offset=3 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store32_lane_3_align_4")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store32_lane align=4 3 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store offset=3 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+)`);
+
+// ./test/core/simd/simd_store32_lane.wast:125
+assert_return(
+ () => invoke($0, `v128.store32_lane_0`, [0, i32x4([0x3020100, 0x0, 0x0, 0x0])]),
+ [value("i64", 50462976n)],
+);
+
+// ./test/core/simd/simd_store32_lane.wast:128
+assert_return(
+ () => invoke($0, `v128.store32_lane_1`, [1, i32x4([0x0, 0x4030201, 0x0, 0x0])]),
+ [value("i64", 67305985n)],
+);
+
+// ./test/core/simd/simd_store32_lane.wast:131
+assert_return(
+ () => invoke($0, `v128.store32_lane_2`, [2, i32x4([0x0, 0x0, 0x5040302, 0x0])]),
+ [value("i64", 84148994n)],
+);
+
+// ./test/core/simd/simd_store32_lane.wast:134
+assert_return(
+ () => invoke($0, `v128.store32_lane_3`, [3, i32x4([0x0, 0x0, 0x0, 0x6050403])]),
+ [value("i64", 100992003n)],
+);
+
+// ./test/core/simd/simd_store32_lane.wast:137
+assert_return(
+ () => invoke($0, `v128.store32_lane_0_offset_0`, [i32x4([0x3020100, 0x0, 0x0, 0x0])]),
+ [value("i64", 50462976n)],
+);
+
+// ./test/core/simd/simd_store32_lane.wast:139
+assert_return(
+ () => invoke($0, `v128.store32_lane_1_offset_1`, [i32x4([0x0, 0x4030201, 0x0, 0x0])]),
+ [value("i64", 67305985n)],
+);
+
+// ./test/core/simd/simd_store32_lane.wast:141
+assert_return(
+ () => invoke($0, `v128.store32_lane_2_offset_2`, [i32x4([0x0, 0x0, 0x5040302, 0x0])]),
+ [value("i64", 84148994n)],
+);
+
+// ./test/core/simd/simd_store32_lane.wast:143
+assert_return(
+ () => invoke($0, `v128.store32_lane_3_offset_3`, [i32x4([0x0, 0x0, 0x0, 0x6050403])]),
+ [value("i64", 100992003n)],
+);
+
+// ./test/core/simd/simd_store32_lane.wast:145
+assert_return(
+ () => invoke($0, `v128.store32_lane_0_align_1`, [
+ 0,
+ i32x4([0x3020100, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 50462976n)],
+);
+
+// ./test/core/simd/simd_store32_lane.wast:148
+assert_return(
+ () => invoke($0, `v128.store32_lane_0_align_2`, [
+ 0,
+ i32x4([0x3020100, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 50462976n)],
+);
+
+// ./test/core/simd/simd_store32_lane.wast:151
+assert_return(
+ () => invoke($0, `v128.store32_lane_0_align_4`, [
+ 0,
+ i32x4([0x3020100, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 50462976n)],
+);
+
+// ./test/core/simd/simd_store32_lane.wast:154
+assert_return(
+ () => invoke($0, `v128.store32_lane_1_align_1`, [
+ 1,
+ i32x4([0x0, 0x4030201, 0x0, 0x0]),
+ ]),
+ [value("i64", 67305985n)],
+);
+
+// ./test/core/simd/simd_store32_lane.wast:157
+assert_return(
+ () => invoke($0, `v128.store32_lane_1_align_2`, [
+ 1,
+ i32x4([0x0, 0x4030201, 0x0, 0x0]),
+ ]),
+ [value("i64", 67305985n)],
+);
+
+// ./test/core/simd/simd_store32_lane.wast:160
+assert_return(
+ () => invoke($0, `v128.store32_lane_1_align_4`, [
+ 1,
+ i32x4([0x0, 0x4030201, 0x0, 0x0]),
+ ]),
+ [value("i64", 67305985n)],
+);
+
+// ./test/core/simd/simd_store32_lane.wast:163
+assert_return(
+ () => invoke($0, `v128.store32_lane_2_align_1`, [
+ 2,
+ i32x4([0x0, 0x0, 0x5040302, 0x0]),
+ ]),
+ [value("i64", 84148994n)],
+);
+
+// ./test/core/simd/simd_store32_lane.wast:166
+assert_return(
+ () => invoke($0, `v128.store32_lane_2_align_2`, [
+ 2,
+ i32x4([0x0, 0x0, 0x5040302, 0x0]),
+ ]),
+ [value("i64", 84148994n)],
+);
+
+// ./test/core/simd/simd_store32_lane.wast:169
+assert_return(
+ () => invoke($0, `v128.store32_lane_2_align_4`, [
+ 2,
+ i32x4([0x0, 0x0, 0x5040302, 0x0]),
+ ]),
+ [value("i64", 84148994n)],
+);
+
+// ./test/core/simd/simd_store32_lane.wast:172
+assert_return(
+ () => invoke($0, `v128.store32_lane_3_align_1`, [
+ 3,
+ i32x4([0x0, 0x0, 0x0, 0x6050403]),
+ ]),
+ [value("i64", 100992003n)],
+);
+
+// ./test/core/simd/simd_store32_lane.wast:175
+assert_return(
+ () => invoke($0, `v128.store32_lane_3_align_2`, [
+ 3,
+ i32x4([0x0, 0x0, 0x0, 0x6050403]),
+ ]),
+ [value("i64", 100992003n)],
+);
+
+// ./test/core/simd/simd_store32_lane.wast:178
+assert_return(
+ () => invoke($0, `v128.store32_lane_3_align_4`, [
+ 3,
+ i32x4([0x0, 0x0, 0x0, 0x6050403]),
+ ]),
+ [value("i64", 100992003n)],
+);
+
+// ./test/core/simd/simd_store32_lane.wast:183
+assert_invalid(
+ () => instantiate(`(module (memory 1)
+ (func (param $$x v128) (result v128)
+ (v128.store32_lane 0 (local.get $$x) (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_store32_lane.wast:189
+assert_invalid(
+ () => instantiate(`(module (memory 1)
+ (func (param $$x v128) (result v128)
+ (v128.store32_lane 4 (i32.const 0) (local.get $$x))))`),
+ `invalid lane index`,
+);
+
+// ./test/core/simd/simd_store32_lane.wast:195
+assert_invalid(
+ () => instantiate(`(module (memory 1)
+ (func (param $$x v128) (result v128)
+ (v128.store32_lane align=8 0 (i32.const 0) (local.get $$x))))`),
+ `alignment must not be larger than natural`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/simd_store64_lane.wast.js b/js/src/jit-test/tests/wasm/spec/spec/simd_store64_lane.wast.js
new file mode 100644
index 0000000000..605a6444a8
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/simd_store64_lane.wast.js
@@ -0,0 +1,214 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_store64_lane.wast
+
+// ./test/core/simd/simd_store64_lane.wast:4
+let $0 = instantiate(`(module
+ (memory 1)
+ (global $$zero (mut v128) (v128.const i32x4 0 0 0 0))
+ (func (export "v128.store64_lane_0")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store64_lane 0 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store (local.get $$address) (global.get $$zero)) (local.get $$ret))
+ (func (export "v128.store64_lane_1")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store64_lane 1 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store (local.get $$address) (global.get $$zero)) (local.get $$ret))
+ (func (export "v128.store64_lane_0_offset_0")
+ (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store64_lane offset=0 0 (i32.const 0) (local.get $$x))
+ (local.set $$ret (i64.load offset=0 (i32.const 0)))
+ (v128.store offset=0 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store64_lane_1_offset_1")
+ (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store64_lane offset=1 1 (i32.const 0) (local.get $$x))
+ (local.set $$ret (i64.load offset=1 (i32.const 0)))
+ (v128.store offset=1 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store64_lane_0_align_1")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store64_lane align=1 0 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store offset=0 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store64_lane_0_align_2")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store64_lane align=2 0 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store offset=0 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store64_lane_0_align_4")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store64_lane align=4 0 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store offset=0 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store64_lane_0_align_8")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store64_lane align=8 0 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store offset=0 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store64_lane_1_align_1")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store64_lane align=1 1 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store offset=1 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store64_lane_1_align_2")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store64_lane align=2 1 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store offset=1 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store64_lane_1_align_4")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store64_lane align=4 1 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store offset=1 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store64_lane_1_align_8")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store64_lane align=8 1 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store offset=1 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+)`);
+
+// ./test/core/simd/simd_store64_lane.wast:79
+assert_return(
+ () => invoke($0, `v128.store64_lane_0`, [0, i64x2([0x706050403020100n, 0x0n])]),
+ [value("i64", 506097522914230528n)],
+);
+
+// ./test/core/simd/simd_store64_lane.wast:82
+assert_return(
+ () => invoke($0, `v128.store64_lane_1`, [1, i64x2([0x0n, 0x807060504030201n])]),
+ [value("i64", 578437695752307201n)],
+);
+
+// ./test/core/simd/simd_store64_lane.wast:85
+assert_return(
+ () => invoke($0, `v128.store64_lane_0_offset_0`, [i64x2([0x706050403020100n, 0x0n])]),
+ [value("i64", 506097522914230528n)],
+);
+
+// ./test/core/simd/simd_store64_lane.wast:87
+assert_return(
+ () => invoke($0, `v128.store64_lane_1_offset_1`, [i64x2([0x0n, 0x807060504030201n])]),
+ [value("i64", 578437695752307201n)],
+);
+
+// ./test/core/simd/simd_store64_lane.wast:89
+assert_return(
+ () => invoke($0, `v128.store64_lane_0_align_1`, [
+ 0,
+ i64x2([0x706050403020100n, 0x0n]),
+ ]),
+ [value("i64", 506097522914230528n)],
+);
+
+// ./test/core/simd/simd_store64_lane.wast:92
+assert_return(
+ () => invoke($0, `v128.store64_lane_0_align_2`, [
+ 0,
+ i64x2([0x706050403020100n, 0x0n]),
+ ]),
+ [value("i64", 506097522914230528n)],
+);
+
+// ./test/core/simd/simd_store64_lane.wast:95
+assert_return(
+ () => invoke($0, `v128.store64_lane_0_align_4`, [
+ 0,
+ i64x2([0x706050403020100n, 0x0n]),
+ ]),
+ [value("i64", 506097522914230528n)],
+);
+
+// ./test/core/simd/simd_store64_lane.wast:98
+assert_return(
+ () => invoke($0, `v128.store64_lane_0_align_8`, [
+ 0,
+ i64x2([0x706050403020100n, 0x0n]),
+ ]),
+ [value("i64", 506097522914230528n)],
+);
+
+// ./test/core/simd/simd_store64_lane.wast:101
+assert_return(
+ () => invoke($0, `v128.store64_lane_1_align_1`, [
+ 1,
+ i64x2([0x0n, 0x807060504030201n]),
+ ]),
+ [value("i64", 578437695752307201n)],
+);
+
+// ./test/core/simd/simd_store64_lane.wast:104
+assert_return(
+ () => invoke($0, `v128.store64_lane_1_align_2`, [
+ 1,
+ i64x2([0x0n, 0x807060504030201n]),
+ ]),
+ [value("i64", 578437695752307201n)],
+);
+
+// ./test/core/simd/simd_store64_lane.wast:107
+assert_return(
+ () => invoke($0, `v128.store64_lane_1_align_4`, [
+ 1,
+ i64x2([0x0n, 0x807060504030201n]),
+ ]),
+ [value("i64", 578437695752307201n)],
+);
+
+// ./test/core/simd/simd_store64_lane.wast:110
+assert_return(
+ () => invoke($0, `v128.store64_lane_1_align_8`, [
+ 1,
+ i64x2([0x0n, 0x807060504030201n]),
+ ]),
+ [value("i64", 578437695752307201n)],
+);
+
+// ./test/core/simd/simd_store64_lane.wast:115
+assert_invalid(
+ () => instantiate(`(module (memory 1)
+ (func (param $$x v128) (result v128)
+ (v128.store64_lane 0 (local.get $$x) (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_store64_lane.wast:121
+assert_invalid(
+ () => instantiate(`(module (memory 1)
+ (func (param $$x v128) (result v128)
+ (v128.store64_lane 2 (i32.const 0) (local.get $$x))))`),
+ `invalid lane index`,
+);
+
+// ./test/core/simd/simd_store64_lane.wast:127
+assert_invalid(
+ () => instantiate(`(module (memory 1)
+ (func (param $$x v128) (result v128)
+ (v128.store64_lane align=16 0 (i32.const 0) (local.get $$x))))`),
+ `alignment must not be larger than natural`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/simd_store8_lane.wast.js b/js/src/jit-test/tests/wasm/spec/spec/simd_store8_lane.wast.js
new file mode 100644
index 0000000000..46d45d74c2
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/simd_store8_lane.wast.js
@@ -0,0 +1,736 @@
+// |jit-test| skip-if: !wasmSimdEnabled()
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/simd/simd_store8_lane.wast
+
+// ./test/core/simd/simd_store8_lane.wast:4
+let $0 = instantiate(`(module
+ (memory 1)
+ (global $$zero (mut v128) (v128.const i32x4 0 0 0 0))
+ (func (export "v128.store8_lane_0")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store8_lane 0 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store (local.get $$address) (global.get $$zero)) (local.get $$ret))
+ (func (export "v128.store8_lane_1")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store8_lane 1 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store (local.get $$address) (global.get $$zero)) (local.get $$ret))
+ (func (export "v128.store8_lane_2")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store8_lane 2 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store (local.get $$address) (global.get $$zero)) (local.get $$ret))
+ (func (export "v128.store8_lane_3")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store8_lane 3 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store (local.get $$address) (global.get $$zero)) (local.get $$ret))
+ (func (export "v128.store8_lane_4")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store8_lane 4 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store (local.get $$address) (global.get $$zero)) (local.get $$ret))
+ (func (export "v128.store8_lane_5")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store8_lane 5 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store (local.get $$address) (global.get $$zero)) (local.get $$ret))
+ (func (export "v128.store8_lane_6")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store8_lane 6 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store (local.get $$address) (global.get $$zero)) (local.get $$ret))
+ (func (export "v128.store8_lane_7")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store8_lane 7 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store (local.get $$address) (global.get $$zero)) (local.get $$ret))
+ (func (export "v128.store8_lane_8")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store8_lane 8 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store (local.get $$address) (global.get $$zero)) (local.get $$ret))
+ (func (export "v128.store8_lane_9")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store8_lane 9 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store (local.get $$address) (global.get $$zero)) (local.get $$ret))
+ (func (export "v128.store8_lane_10")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store8_lane 10 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store (local.get $$address) (global.get $$zero)) (local.get $$ret))
+ (func (export "v128.store8_lane_11")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store8_lane 11 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store (local.get $$address) (global.get $$zero)) (local.get $$ret))
+ (func (export "v128.store8_lane_12")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store8_lane 12 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store (local.get $$address) (global.get $$zero)) (local.get $$ret))
+ (func (export "v128.store8_lane_13")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store8_lane 13 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store (local.get $$address) (global.get $$zero)) (local.get $$ret))
+ (func (export "v128.store8_lane_14")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store8_lane 14 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store (local.get $$address) (global.get $$zero)) (local.get $$ret))
+ (func (export "v128.store8_lane_15")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store8_lane 15 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store (local.get $$address) (global.get $$zero)) (local.get $$ret))
+ (func (export "v128.store8_lane_0_offset_0")
+ (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store8_lane offset=0 0 (i32.const 0) (local.get $$x))
+ (local.set $$ret (i64.load offset=0 (i32.const 0)))
+ (v128.store offset=0 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store8_lane_1_offset_1")
+ (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store8_lane offset=1 1 (i32.const 0) (local.get $$x))
+ (local.set $$ret (i64.load offset=1 (i32.const 0)))
+ (v128.store offset=1 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store8_lane_2_offset_2")
+ (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store8_lane offset=2 2 (i32.const 0) (local.get $$x))
+ (local.set $$ret (i64.load offset=2 (i32.const 0)))
+ (v128.store offset=2 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store8_lane_3_offset_3")
+ (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store8_lane offset=3 3 (i32.const 0) (local.get $$x))
+ (local.set $$ret (i64.load offset=3 (i32.const 0)))
+ (v128.store offset=3 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store8_lane_4_offset_4")
+ (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store8_lane offset=4 4 (i32.const 0) (local.get $$x))
+ (local.set $$ret (i64.load offset=4 (i32.const 0)))
+ (v128.store offset=4 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store8_lane_5_offset_5")
+ (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store8_lane offset=5 5 (i32.const 0) (local.get $$x))
+ (local.set $$ret (i64.load offset=5 (i32.const 0)))
+ (v128.store offset=5 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store8_lane_6_offset_6")
+ (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store8_lane offset=6 6 (i32.const 0) (local.get $$x))
+ (local.set $$ret (i64.load offset=6 (i32.const 0)))
+ (v128.store offset=6 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store8_lane_7_offset_7")
+ (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store8_lane offset=7 7 (i32.const 0) (local.get $$x))
+ (local.set $$ret (i64.load offset=7 (i32.const 0)))
+ (v128.store offset=7 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store8_lane_8_offset_8")
+ (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store8_lane offset=8 8 (i32.const 0) (local.get $$x))
+ (local.set $$ret (i64.load offset=8 (i32.const 0)))
+ (v128.store offset=8 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store8_lane_9_offset_9")
+ (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store8_lane offset=9 9 (i32.const 0) (local.get $$x))
+ (local.set $$ret (i64.load offset=9 (i32.const 0)))
+ (v128.store offset=9 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store8_lane_10_offset_10")
+ (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store8_lane offset=10 10 (i32.const 0) (local.get $$x))
+ (local.set $$ret (i64.load offset=10 (i32.const 0)))
+ (v128.store offset=10 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store8_lane_11_offset_11")
+ (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store8_lane offset=11 11 (i32.const 0) (local.get $$x))
+ (local.set $$ret (i64.load offset=11 (i32.const 0)))
+ (v128.store offset=11 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store8_lane_12_offset_12")
+ (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store8_lane offset=12 12 (i32.const 0) (local.get $$x))
+ (local.set $$ret (i64.load offset=12 (i32.const 0)))
+ (v128.store offset=12 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store8_lane_13_offset_13")
+ (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store8_lane offset=13 13 (i32.const 0) (local.get $$x))
+ (local.set $$ret (i64.load offset=13 (i32.const 0)))
+ (v128.store offset=13 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store8_lane_14_offset_14")
+ (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store8_lane offset=14 14 (i32.const 0) (local.get $$x))
+ (local.set $$ret (i64.load offset=14 (i32.const 0)))
+ (v128.store offset=14 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store8_lane_15_offset_15")
+ (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store8_lane offset=15 15 (i32.const 0) (local.get $$x))
+ (local.set $$ret (i64.load offset=15 (i32.const 0)))
+ (v128.store offset=15 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store8_lane_0_align_1")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store8_lane align=1 0 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store offset=0 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store8_lane_1_align_1")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store8_lane align=1 1 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store offset=1 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store8_lane_2_align_1")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store8_lane align=1 2 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store offset=2 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store8_lane_3_align_1")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store8_lane align=1 3 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store offset=3 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store8_lane_4_align_1")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store8_lane align=1 4 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store offset=4 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store8_lane_5_align_1")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store8_lane align=1 5 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store offset=5 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store8_lane_6_align_1")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store8_lane align=1 6 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store offset=6 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store8_lane_7_align_1")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store8_lane align=1 7 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store offset=7 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store8_lane_8_align_1")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store8_lane align=1 8 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store offset=8 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store8_lane_9_align_1")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store8_lane align=1 9 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store offset=9 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store8_lane_10_align_1")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store8_lane align=1 10 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store offset=10 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store8_lane_11_align_1")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store8_lane align=1 11 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store offset=11 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store8_lane_12_align_1")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store8_lane align=1 12 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store offset=12 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store8_lane_13_align_1")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store8_lane align=1 13 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store offset=13 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store8_lane_14_align_1")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store8_lane align=1 14 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store offset=14 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+ (func (export "v128.store8_lane_15_align_1")
+ (param $$address i32) (param $$x v128) (result i64) (local $$ret i64)
+ (v128.store8_lane align=1 15 (local.get $$address) (local.get $$x))
+ (local.set $$ret (i64.load (local.get $$address)))
+ (v128.store offset=15 (i32.const 0) (global.get $$zero))
+ (local.get $$ret))
+)`);
+
+// ./test/core/simd/simd_store8_lane.wast:281
+assert_return(
+ () => invoke($0, `v128.store8_lane_0`, [
+ 0,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 0n)],
+);
+
+// ./test/core/simd/simd_store8_lane.wast:284
+assert_return(
+ () => invoke($0, `v128.store8_lane_1`, [
+ 1,
+ i8x16([0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 1n)],
+);
+
+// ./test/core/simd/simd_store8_lane.wast:287
+assert_return(
+ () => invoke($0, `v128.store8_lane_2`, [
+ 2,
+ i8x16([0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 2n)],
+);
+
+// ./test/core/simd/simd_store8_lane.wast:290
+assert_return(
+ () => invoke($0, `v128.store8_lane_3`, [
+ 3,
+ i8x16([0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 3n)],
+);
+
+// ./test/core/simd/simd_store8_lane.wast:293
+assert_return(
+ () => invoke($0, `v128.store8_lane_4`, [
+ 4,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 4n)],
+);
+
+// ./test/core/simd/simd_store8_lane.wast:296
+assert_return(
+ () => invoke($0, `v128.store8_lane_5`, [
+ 5,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 5n)],
+);
+
+// ./test/core/simd/simd_store8_lane.wast:299
+assert_return(
+ () => invoke($0, `v128.store8_lane_6`, [
+ 6,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 6n)],
+);
+
+// ./test/core/simd/simd_store8_lane.wast:302
+assert_return(
+ () => invoke($0, `v128.store8_lane_7`, [
+ 7,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 7n)],
+);
+
+// ./test/core/simd/simd_store8_lane.wast:305
+assert_return(
+ () => invoke($0, `v128.store8_lane_8`, [
+ 8,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 8n)],
+);
+
+// ./test/core/simd/simd_store8_lane.wast:308
+assert_return(
+ () => invoke($0, `v128.store8_lane_9`, [
+ 9,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 9n)],
+);
+
+// ./test/core/simd/simd_store8_lane.wast:311
+assert_return(
+ () => invoke($0, `v128.store8_lane_10`, [
+ 10,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 10n)],
+);
+
+// ./test/core/simd/simd_store8_lane.wast:314
+assert_return(
+ () => invoke($0, `v128.store8_lane_11`, [
+ 11,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 11n)],
+);
+
+// ./test/core/simd/simd_store8_lane.wast:317
+assert_return(
+ () => invoke($0, `v128.store8_lane_12`, [
+ 12,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 12n)],
+);
+
+// ./test/core/simd/simd_store8_lane.wast:320
+assert_return(
+ () => invoke($0, `v128.store8_lane_13`, [
+ 13,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0x0, 0x0]),
+ ]),
+ [value("i64", 13n)],
+);
+
+// ./test/core/simd/simd_store8_lane.wast:323
+assert_return(
+ () => invoke($0, `v128.store8_lane_14`, [
+ 14,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0x0]),
+ ]),
+ [value("i64", 14n)],
+);
+
+// ./test/core/simd/simd_store8_lane.wast:326
+assert_return(
+ () => invoke($0, `v128.store8_lane_15`, [
+ 15,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf]),
+ ]),
+ [value("i64", 15n)],
+);
+
+// ./test/core/simd/simd_store8_lane.wast:329
+assert_return(
+ () => invoke($0, `v128.store8_lane_0_offset_0`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 0n)],
+);
+
+// ./test/core/simd/simd_store8_lane.wast:331
+assert_return(
+ () => invoke($0, `v128.store8_lane_1_offset_1`, [
+ i8x16([0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 1n)],
+);
+
+// ./test/core/simd/simd_store8_lane.wast:333
+assert_return(
+ () => invoke($0, `v128.store8_lane_2_offset_2`, [
+ i8x16([0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 2n)],
+);
+
+// ./test/core/simd/simd_store8_lane.wast:335
+assert_return(
+ () => invoke($0, `v128.store8_lane_3_offset_3`, [
+ i8x16([0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 3n)],
+);
+
+// ./test/core/simd/simd_store8_lane.wast:337
+assert_return(
+ () => invoke($0, `v128.store8_lane_4_offset_4`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 4n)],
+);
+
+// ./test/core/simd/simd_store8_lane.wast:339
+assert_return(
+ () => invoke($0, `v128.store8_lane_5_offset_5`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 5n)],
+);
+
+// ./test/core/simd/simd_store8_lane.wast:341
+assert_return(
+ () => invoke($0, `v128.store8_lane_6_offset_6`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 6n)],
+);
+
+// ./test/core/simd/simd_store8_lane.wast:343
+assert_return(
+ () => invoke($0, `v128.store8_lane_7_offset_7`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 7n)],
+);
+
+// ./test/core/simd/simd_store8_lane.wast:345
+assert_return(
+ () => invoke($0, `v128.store8_lane_8_offset_8`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 8n)],
+);
+
+// ./test/core/simd/simd_store8_lane.wast:347
+assert_return(
+ () => invoke($0, `v128.store8_lane_9_offset_9`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 9n)],
+);
+
+// ./test/core/simd/simd_store8_lane.wast:349
+assert_return(
+ () => invoke($0, `v128.store8_lane_10_offset_10`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 10n)],
+);
+
+// ./test/core/simd/simd_store8_lane.wast:351
+assert_return(
+ () => invoke($0, `v128.store8_lane_11_offset_11`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 11n)],
+);
+
+// ./test/core/simd/simd_store8_lane.wast:353
+assert_return(
+ () => invoke($0, `v128.store8_lane_12_offset_12`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 12n)],
+);
+
+// ./test/core/simd/simd_store8_lane.wast:355
+assert_return(
+ () => invoke($0, `v128.store8_lane_13_offset_13`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0x0, 0x0]),
+ ]),
+ [value("i64", 13n)],
+);
+
+// ./test/core/simd/simd_store8_lane.wast:357
+assert_return(
+ () => invoke($0, `v128.store8_lane_14_offset_14`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0x0]),
+ ]),
+ [value("i64", 14n)],
+);
+
+// ./test/core/simd/simd_store8_lane.wast:359
+assert_return(
+ () => invoke($0, `v128.store8_lane_15_offset_15`, [
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf]),
+ ]),
+ [value("i64", 15n)],
+);
+
+// ./test/core/simd/simd_store8_lane.wast:361
+assert_return(
+ () => invoke($0, `v128.store8_lane_0_align_1`, [
+ 0,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 0n)],
+);
+
+// ./test/core/simd/simd_store8_lane.wast:364
+assert_return(
+ () => invoke($0, `v128.store8_lane_1_align_1`, [
+ 1,
+ i8x16([0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 1n)],
+);
+
+// ./test/core/simd/simd_store8_lane.wast:367
+assert_return(
+ () => invoke($0, `v128.store8_lane_2_align_1`, [
+ 2,
+ i8x16([0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 2n)],
+);
+
+// ./test/core/simd/simd_store8_lane.wast:370
+assert_return(
+ () => invoke($0, `v128.store8_lane_3_align_1`, [
+ 3,
+ i8x16([0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 3n)],
+);
+
+// ./test/core/simd/simd_store8_lane.wast:373
+assert_return(
+ () => invoke($0, `v128.store8_lane_4_align_1`, [
+ 4,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 4n)],
+);
+
+// ./test/core/simd/simd_store8_lane.wast:376
+assert_return(
+ () => invoke($0, `v128.store8_lane_5_align_1`, [
+ 5,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 5n)],
+);
+
+// ./test/core/simd/simd_store8_lane.wast:379
+assert_return(
+ () => invoke($0, `v128.store8_lane_6_align_1`, [
+ 6,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 6n)],
+);
+
+// ./test/core/simd/simd_store8_lane.wast:382
+assert_return(
+ () => invoke($0, `v128.store8_lane_7_align_1`, [
+ 7,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 7n)],
+);
+
+// ./test/core/simd/simd_store8_lane.wast:385
+assert_return(
+ () => invoke($0, `v128.store8_lane_8_align_1`, [
+ 8,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 8n)],
+);
+
+// ./test/core/simd/simd_store8_lane.wast:388
+assert_return(
+ () => invoke($0, `v128.store8_lane_9_align_1`, [
+ 9,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 9n)],
+);
+
+// ./test/core/simd/simd_store8_lane.wast:391
+assert_return(
+ () => invoke($0, `v128.store8_lane_10_align_1`, [
+ 10,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 10n)],
+);
+
+// ./test/core/simd/simd_store8_lane.wast:394
+assert_return(
+ () => invoke($0, `v128.store8_lane_11_align_1`, [
+ 11,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb, 0x0, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 11n)],
+);
+
+// ./test/core/simd/simd_store8_lane.wast:397
+assert_return(
+ () => invoke($0, `v128.store8_lane_12_align_1`, [
+ 12,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0, 0x0]),
+ ]),
+ [value("i64", 12n)],
+);
+
+// ./test/core/simd/simd_store8_lane.wast:400
+assert_return(
+ () => invoke($0, `v128.store8_lane_13_align_1`, [
+ 13,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0x0, 0x0]),
+ ]),
+ [value("i64", 13n)],
+);
+
+// ./test/core/simd/simd_store8_lane.wast:403
+assert_return(
+ () => invoke($0, `v128.store8_lane_14_align_1`, [
+ 14,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0x0]),
+ ]),
+ [value("i64", 14n)],
+);
+
+// ./test/core/simd/simd_store8_lane.wast:406
+assert_return(
+ () => invoke($0, `v128.store8_lane_15_align_1`, [
+ 15,
+ i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf]),
+ ]),
+ [value("i64", 15n)],
+);
+
+// ./test/core/simd/simd_store8_lane.wast:411
+assert_invalid(
+ () => instantiate(`(module (memory 1)
+ (func (param $$x v128) (result v128)
+ (v128.store8_lane 0 (local.get $$x) (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/simd/simd_store8_lane.wast:417
+assert_invalid(
+ () => instantiate(`(module (memory 1)
+ (func (param $$x v128) (result v128)
+ (v128.store8_lane 16 (i32.const 0) (local.get $$x))))`),
+ `invalid lane index`,
+);
+
+// ./test/core/simd/simd_store8_lane.wast:423
+assert_invalid(
+ () => instantiate(`(module (memory 1)
+ (func (param $$x v128) (result v128)
+ (v128.store8_lane align=2 0 (i32.const 0) (local.get $$x))))`),
+ `alignment must not be larger than natural`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/skip-stack-guard-page.wast.js b/js/src/jit-test/tests/wasm/spec/spec/skip-stack-guard-page.wast.js
new file mode 100644
index 0000000000..ef1a036caf
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/skip-stack-guard-page.wast.js
@@ -0,0 +1,2320 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/skip-stack-guard-page.wast
+
+// ./test/core/skip-stack-guard-page.wast:2
+let $0 = instantiate(`(module
+ (memory 1)
+ (export "test-guard-page-skip" (func $$test-guard-page-skip))
+
+ (func $$test-guard-page-skip
+ (param $$depth i32)
+ (if (i32.eq (local.get $$depth) (i32.const 0))
+ (then (call $$function-with-many-locals))
+ (else (call $$test-guard-page-skip (i32.sub (local.get $$depth) (i32.const 1))))
+ )
+ )
+
+ (func $$function-with-many-locals
+
+ ;; 1056 i64 = 8448 bytes of locals
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x000-0x007
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x008-0x00f
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x010-0x017
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x018-0x01f
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x020-0x027
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x028-0x02f
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x030-0x037
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x038-0x03f
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x040-0x047
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x048-0x04f
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x050-0x057
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x058-0x05f
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x060-0x067
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x068-0x06f
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x070-0x077
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x078-0x07f
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x080-0x087
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x088-0x08f
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x090-0x097
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x098-0x09f
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x0a0-0x0a7
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x0a8-0x0af
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x0b0-0x0b7
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x0b8-0x0bf
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x0c0-0x0c7
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x0c8-0x0cf
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x0d0-0x0d7
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x0d8-0x0df
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x0e0-0x0e7
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x0e8-0x0ef
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x0f0-0x0f7
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x0f8-0x0ff
+
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x100-0x107
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x108-0x10f
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x110-0x117
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x118-0x11f
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x120-0x127
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x128-0x12f
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x130-0x137
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x138-0x13f
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x140-0x147
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x148-0x14f
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x150-0x157
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x158-0x15f
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x160-0x167
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x168-0x16f
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x170-0x177
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x178-0x17f
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x180-0x187
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x188-0x18f
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x190-0x197
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x198-0x19f
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x1a0-0x1a7
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x1a8-0x1af
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x1b0-0x1b7
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x1b8-0x1bf
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x1c0-0x1c7
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x1c8-0x1cf
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x1d0-0x1d7
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x1d8-0x1df
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x1e0-0x1e7
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x1e8-0x1ef
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x1f0-0x1f7
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x1f8-0x1ff
+
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x200-0x207
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x208-0x20f
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x210-0x217
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x218-0x21f
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x220-0x227
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x228-0x22f
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x230-0x237
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x238-0x23f
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x240-0x247
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x248-0x24f
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x250-0x257
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x258-0x25f
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x260-0x267
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x268-0x26f
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x270-0x277
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x278-0x27f
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x280-0x287
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x288-0x28f
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x290-0x297
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x298-0x29f
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x2a0-0x2a7
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x2a8-0x2af
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x2b0-0x2b7
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x2b8-0x2bf
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x2c0-0x2c7
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x2c8-0x2cf
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x2d0-0x2d7
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x2d8-0x2df
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x2e0-0x2e7
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x2e8-0x2ef
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x2f0-0x2f7
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x2f8-0x2ff
+
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x300-0x307
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x308-0x30f
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x310-0x317
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x318-0x31f
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x320-0x327
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x328-0x32f
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x330-0x337
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x338-0x33f
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x340-0x347
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x348-0x34f
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x350-0x357
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x358-0x35f
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x360-0x367
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x368-0x36f
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x370-0x377
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x378-0x37f
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x380-0x387
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x388-0x38f
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x390-0x397
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x398-0x39f
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x3a0-0x3a7
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x3a8-0x3af
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x3b0-0x3b7
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x3b8-0x3bf
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x3c0-0x3c7
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x3c8-0x3cf
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x3d0-0x3d7
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x3d8-0x3df
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x3e0-0x3e7
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x3e8-0x3ef
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x3f0-0x3f7
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x3f8-0x3ff
+
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x400-0x407
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x408-0x40f
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x410-0x417
+ (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x418-0x41f
+
+ ;; recurse first to try to make the callee access the stack below the space allocated for the locals before the locals themselves have been initialized.
+ (call $$function-with-many-locals)
+
+ ;; load from memory into the locals
+ (local.set 0x000 (i64.load offset=0x000 align=1 (i32.const 0)))
+ (local.set 0x001 (i64.load offset=0x001 align=1 (i32.const 0)))
+ (local.set 0x002 (i64.load offset=0x002 align=1 (i32.const 0)))
+ (local.set 0x003 (i64.load offset=0x003 align=1 (i32.const 0)))
+ (local.set 0x004 (i64.load offset=0x004 align=1 (i32.const 0)))
+ (local.set 0x005 (i64.load offset=0x005 align=1 (i32.const 0)))
+ (local.set 0x006 (i64.load offset=0x006 align=1 (i32.const 0)))
+ (local.set 0x007 (i64.load offset=0x007 align=1 (i32.const 0)))
+ (local.set 0x008 (i64.load offset=0x008 align=1 (i32.const 0)))
+ (local.set 0x009 (i64.load offset=0x009 align=1 (i32.const 0)))
+ (local.set 0x00a (i64.load offset=0x00a align=1 (i32.const 0)))
+ (local.set 0x00b (i64.load offset=0x00b align=1 (i32.const 0)))
+ (local.set 0x00c (i64.load offset=0x00c align=1 (i32.const 0)))
+ (local.set 0x00d (i64.load offset=0x00d align=1 (i32.const 0)))
+ (local.set 0x00e (i64.load offset=0x00e align=1 (i32.const 0)))
+ (local.set 0x00f (i64.load offset=0x00f align=1 (i32.const 0)))
+ (local.set 0x010 (i64.load offset=0x010 align=1 (i32.const 0)))
+ (local.set 0x011 (i64.load offset=0x011 align=1 (i32.const 0)))
+ (local.set 0x012 (i64.load offset=0x012 align=1 (i32.const 0)))
+ (local.set 0x013 (i64.load offset=0x013 align=1 (i32.const 0)))
+ (local.set 0x014 (i64.load offset=0x014 align=1 (i32.const 0)))
+ (local.set 0x015 (i64.load offset=0x015 align=1 (i32.const 0)))
+ (local.set 0x016 (i64.load offset=0x016 align=1 (i32.const 0)))
+ (local.set 0x017 (i64.load offset=0x017 align=1 (i32.const 0)))
+ (local.set 0x018 (i64.load offset=0x018 align=1 (i32.const 0)))
+ (local.set 0x019 (i64.load offset=0x019 align=1 (i32.const 0)))
+ (local.set 0x01a (i64.load offset=0x01a align=1 (i32.const 0)))
+ (local.set 0x01b (i64.load offset=0x01b align=1 (i32.const 0)))
+ (local.set 0x01c (i64.load offset=0x01c align=1 (i32.const 0)))
+ (local.set 0x01d (i64.load offset=0x01d align=1 (i32.const 0)))
+ (local.set 0x01e (i64.load offset=0x01e align=1 (i32.const 0)))
+ (local.set 0x01f (i64.load offset=0x01f align=1 (i32.const 0)))
+ (local.set 0x020 (i64.load offset=0x020 align=1 (i32.const 0)))
+ (local.set 0x021 (i64.load offset=0x021 align=1 (i32.const 0)))
+ (local.set 0x022 (i64.load offset=0x022 align=1 (i32.const 0)))
+ (local.set 0x023 (i64.load offset=0x023 align=1 (i32.const 0)))
+ (local.set 0x024 (i64.load offset=0x024 align=1 (i32.const 0)))
+ (local.set 0x025 (i64.load offset=0x025 align=1 (i32.const 0)))
+ (local.set 0x026 (i64.load offset=0x026 align=1 (i32.const 0)))
+ (local.set 0x027 (i64.load offset=0x027 align=1 (i32.const 0)))
+ (local.set 0x028 (i64.load offset=0x028 align=1 (i32.const 0)))
+ (local.set 0x029 (i64.load offset=0x029 align=1 (i32.const 0)))
+ (local.set 0x02a (i64.load offset=0x02a align=1 (i32.const 0)))
+ (local.set 0x02b (i64.load offset=0x02b align=1 (i32.const 0)))
+ (local.set 0x02c (i64.load offset=0x02c align=1 (i32.const 0)))
+ (local.set 0x02d (i64.load offset=0x02d align=1 (i32.const 0)))
+ (local.set 0x02e (i64.load offset=0x02e align=1 (i32.const 0)))
+ (local.set 0x02f (i64.load offset=0x02f align=1 (i32.const 0)))
+ (local.set 0x030 (i64.load offset=0x030 align=1 (i32.const 0)))
+ (local.set 0x031 (i64.load offset=0x031 align=1 (i32.const 0)))
+ (local.set 0x032 (i64.load offset=0x032 align=1 (i32.const 0)))
+ (local.set 0x033 (i64.load offset=0x033 align=1 (i32.const 0)))
+ (local.set 0x034 (i64.load offset=0x034 align=1 (i32.const 0)))
+ (local.set 0x035 (i64.load offset=0x035 align=1 (i32.const 0)))
+ (local.set 0x036 (i64.load offset=0x036 align=1 (i32.const 0)))
+ (local.set 0x037 (i64.load offset=0x037 align=1 (i32.const 0)))
+ (local.set 0x038 (i64.load offset=0x038 align=1 (i32.const 0)))
+ (local.set 0x039 (i64.load offset=0x039 align=1 (i32.const 0)))
+ (local.set 0x03a (i64.load offset=0x03a align=1 (i32.const 0)))
+ (local.set 0x03b (i64.load offset=0x03b align=1 (i32.const 0)))
+ (local.set 0x03c (i64.load offset=0x03c align=1 (i32.const 0)))
+ (local.set 0x03d (i64.load offset=0x03d align=1 (i32.const 0)))
+ (local.set 0x03e (i64.load offset=0x03e align=1 (i32.const 0)))
+ (local.set 0x03f (i64.load offset=0x03f align=1 (i32.const 0)))
+ (local.set 0x040 (i64.load offset=0x040 align=1 (i32.const 0)))
+ (local.set 0x041 (i64.load offset=0x041 align=1 (i32.const 0)))
+ (local.set 0x042 (i64.load offset=0x042 align=1 (i32.const 0)))
+ (local.set 0x043 (i64.load offset=0x043 align=1 (i32.const 0)))
+ (local.set 0x044 (i64.load offset=0x044 align=1 (i32.const 0)))
+ (local.set 0x045 (i64.load offset=0x045 align=1 (i32.const 0)))
+ (local.set 0x046 (i64.load offset=0x046 align=1 (i32.const 0)))
+ (local.set 0x047 (i64.load offset=0x047 align=1 (i32.const 0)))
+ (local.set 0x048 (i64.load offset=0x048 align=1 (i32.const 0)))
+ (local.set 0x049 (i64.load offset=0x049 align=1 (i32.const 0)))
+ (local.set 0x04a (i64.load offset=0x04a align=1 (i32.const 0)))
+ (local.set 0x04b (i64.load offset=0x04b align=1 (i32.const 0)))
+ (local.set 0x04c (i64.load offset=0x04c align=1 (i32.const 0)))
+ (local.set 0x04d (i64.load offset=0x04d align=1 (i32.const 0)))
+ (local.set 0x04e (i64.load offset=0x04e align=1 (i32.const 0)))
+ (local.set 0x04f (i64.load offset=0x04f align=1 (i32.const 0)))
+ (local.set 0x050 (i64.load offset=0x050 align=1 (i32.const 0)))
+ (local.set 0x051 (i64.load offset=0x051 align=1 (i32.const 0)))
+ (local.set 0x052 (i64.load offset=0x052 align=1 (i32.const 0)))
+ (local.set 0x053 (i64.load offset=0x053 align=1 (i32.const 0)))
+ (local.set 0x054 (i64.load offset=0x054 align=1 (i32.const 0)))
+ (local.set 0x055 (i64.load offset=0x055 align=1 (i32.const 0)))
+ (local.set 0x056 (i64.load offset=0x056 align=1 (i32.const 0)))
+ (local.set 0x057 (i64.load offset=0x057 align=1 (i32.const 0)))
+ (local.set 0x058 (i64.load offset=0x058 align=1 (i32.const 0)))
+ (local.set 0x059 (i64.load offset=0x059 align=1 (i32.const 0)))
+ (local.set 0x05a (i64.load offset=0x05a align=1 (i32.const 0)))
+ (local.set 0x05b (i64.load offset=0x05b align=1 (i32.const 0)))
+ (local.set 0x05c (i64.load offset=0x05c align=1 (i32.const 0)))
+ (local.set 0x05d (i64.load offset=0x05d align=1 (i32.const 0)))
+ (local.set 0x05e (i64.load offset=0x05e align=1 (i32.const 0)))
+ (local.set 0x05f (i64.load offset=0x05f align=1 (i32.const 0)))
+ (local.set 0x060 (i64.load offset=0x060 align=1 (i32.const 0)))
+ (local.set 0x061 (i64.load offset=0x061 align=1 (i32.const 0)))
+ (local.set 0x062 (i64.load offset=0x062 align=1 (i32.const 0)))
+ (local.set 0x063 (i64.load offset=0x063 align=1 (i32.const 0)))
+ (local.set 0x064 (i64.load offset=0x064 align=1 (i32.const 0)))
+ (local.set 0x065 (i64.load offset=0x065 align=1 (i32.const 0)))
+ (local.set 0x066 (i64.load offset=0x066 align=1 (i32.const 0)))
+ (local.set 0x067 (i64.load offset=0x067 align=1 (i32.const 0)))
+ (local.set 0x068 (i64.load offset=0x068 align=1 (i32.const 0)))
+ (local.set 0x069 (i64.load offset=0x069 align=1 (i32.const 0)))
+ (local.set 0x06a (i64.load offset=0x06a align=1 (i32.const 0)))
+ (local.set 0x06b (i64.load offset=0x06b align=1 (i32.const 0)))
+ (local.set 0x06c (i64.load offset=0x06c align=1 (i32.const 0)))
+ (local.set 0x06d (i64.load offset=0x06d align=1 (i32.const 0)))
+ (local.set 0x06e (i64.load offset=0x06e align=1 (i32.const 0)))
+ (local.set 0x06f (i64.load offset=0x06f align=1 (i32.const 0)))
+ (local.set 0x070 (i64.load offset=0x070 align=1 (i32.const 0)))
+ (local.set 0x071 (i64.load offset=0x071 align=1 (i32.const 0)))
+ (local.set 0x072 (i64.load offset=0x072 align=1 (i32.const 0)))
+ (local.set 0x073 (i64.load offset=0x073 align=1 (i32.const 0)))
+ (local.set 0x074 (i64.load offset=0x074 align=1 (i32.const 0)))
+ (local.set 0x075 (i64.load offset=0x075 align=1 (i32.const 0)))
+ (local.set 0x076 (i64.load offset=0x076 align=1 (i32.const 0)))
+ (local.set 0x077 (i64.load offset=0x077 align=1 (i32.const 0)))
+ (local.set 0x078 (i64.load offset=0x078 align=1 (i32.const 0)))
+ (local.set 0x079 (i64.load offset=0x079 align=1 (i32.const 0)))
+ (local.set 0x07a (i64.load offset=0x07a align=1 (i32.const 0)))
+ (local.set 0x07b (i64.load offset=0x07b align=1 (i32.const 0)))
+ (local.set 0x07c (i64.load offset=0x07c align=1 (i32.const 0)))
+ (local.set 0x07d (i64.load offset=0x07d align=1 (i32.const 0)))
+ (local.set 0x07e (i64.load offset=0x07e align=1 (i32.const 0)))
+ (local.set 0x07f (i64.load offset=0x07f align=1 (i32.const 0)))
+ (local.set 0x080 (i64.load offset=0x080 align=1 (i32.const 0)))
+ (local.set 0x081 (i64.load offset=0x081 align=1 (i32.const 0)))
+ (local.set 0x082 (i64.load offset=0x082 align=1 (i32.const 0)))
+ (local.set 0x083 (i64.load offset=0x083 align=1 (i32.const 0)))
+ (local.set 0x084 (i64.load offset=0x084 align=1 (i32.const 0)))
+ (local.set 0x085 (i64.load offset=0x085 align=1 (i32.const 0)))
+ (local.set 0x086 (i64.load offset=0x086 align=1 (i32.const 0)))
+ (local.set 0x087 (i64.load offset=0x087 align=1 (i32.const 0)))
+ (local.set 0x088 (i64.load offset=0x088 align=1 (i32.const 0)))
+ (local.set 0x089 (i64.load offset=0x089 align=1 (i32.const 0)))
+ (local.set 0x08a (i64.load offset=0x08a align=1 (i32.const 0)))
+ (local.set 0x08b (i64.load offset=0x08b align=1 (i32.const 0)))
+ (local.set 0x08c (i64.load offset=0x08c align=1 (i32.const 0)))
+ (local.set 0x08d (i64.load offset=0x08d align=1 (i32.const 0)))
+ (local.set 0x08e (i64.load offset=0x08e align=1 (i32.const 0)))
+ (local.set 0x08f (i64.load offset=0x08f align=1 (i32.const 0)))
+ (local.set 0x090 (i64.load offset=0x090 align=1 (i32.const 0)))
+ (local.set 0x091 (i64.load offset=0x091 align=1 (i32.const 0)))
+ (local.set 0x092 (i64.load offset=0x092 align=1 (i32.const 0)))
+ (local.set 0x093 (i64.load offset=0x093 align=1 (i32.const 0)))
+ (local.set 0x094 (i64.load offset=0x094 align=1 (i32.const 0)))
+ (local.set 0x095 (i64.load offset=0x095 align=1 (i32.const 0)))
+ (local.set 0x096 (i64.load offset=0x096 align=1 (i32.const 0)))
+ (local.set 0x097 (i64.load offset=0x097 align=1 (i32.const 0)))
+ (local.set 0x098 (i64.load offset=0x098 align=1 (i32.const 0)))
+ (local.set 0x099 (i64.load offset=0x099 align=1 (i32.const 0)))
+ (local.set 0x09a (i64.load offset=0x09a align=1 (i32.const 0)))
+ (local.set 0x09b (i64.load offset=0x09b align=1 (i32.const 0)))
+ (local.set 0x09c (i64.load offset=0x09c align=1 (i32.const 0)))
+ (local.set 0x09d (i64.load offset=0x09d align=1 (i32.const 0)))
+ (local.set 0x09e (i64.load offset=0x09e align=1 (i32.const 0)))
+ (local.set 0x09f (i64.load offset=0x09f align=1 (i32.const 0)))
+ (local.set 0x0a0 (i64.load offset=0x0a0 align=1 (i32.const 0)))
+ (local.set 0x0a1 (i64.load offset=0x0a1 align=1 (i32.const 0)))
+ (local.set 0x0a2 (i64.load offset=0x0a2 align=1 (i32.const 0)))
+ (local.set 0x0a3 (i64.load offset=0x0a3 align=1 (i32.const 0)))
+ (local.set 0x0a4 (i64.load offset=0x0a4 align=1 (i32.const 0)))
+ (local.set 0x0a5 (i64.load offset=0x0a5 align=1 (i32.const 0)))
+ (local.set 0x0a6 (i64.load offset=0x0a6 align=1 (i32.const 0)))
+ (local.set 0x0a7 (i64.load offset=0x0a7 align=1 (i32.const 0)))
+ (local.set 0x0a8 (i64.load offset=0x0a8 align=1 (i32.const 0)))
+ (local.set 0x0a9 (i64.load offset=0x0a9 align=1 (i32.const 0)))
+ (local.set 0x0aa (i64.load offset=0x0aa align=1 (i32.const 0)))
+ (local.set 0x0ab (i64.load offset=0x0ab align=1 (i32.const 0)))
+ (local.set 0x0ac (i64.load offset=0x0ac align=1 (i32.const 0)))
+ (local.set 0x0ad (i64.load offset=0x0ad align=1 (i32.const 0)))
+ (local.set 0x0ae (i64.load offset=0x0ae align=1 (i32.const 0)))
+ (local.set 0x0af (i64.load offset=0x0af align=1 (i32.const 0)))
+ (local.set 0x0b0 (i64.load offset=0x0b0 align=1 (i32.const 0)))
+ (local.set 0x0b1 (i64.load offset=0x0b1 align=1 (i32.const 0)))
+ (local.set 0x0b2 (i64.load offset=0x0b2 align=1 (i32.const 0)))
+ (local.set 0x0b3 (i64.load offset=0x0b3 align=1 (i32.const 0)))
+ (local.set 0x0b4 (i64.load offset=0x0b4 align=1 (i32.const 0)))
+ (local.set 0x0b5 (i64.load offset=0x0b5 align=1 (i32.const 0)))
+ (local.set 0x0b6 (i64.load offset=0x0b6 align=1 (i32.const 0)))
+ (local.set 0x0b7 (i64.load offset=0x0b7 align=1 (i32.const 0)))
+ (local.set 0x0b8 (i64.load offset=0x0b8 align=1 (i32.const 0)))
+ (local.set 0x0b9 (i64.load offset=0x0b9 align=1 (i32.const 0)))
+ (local.set 0x0ba (i64.load offset=0x0ba align=1 (i32.const 0)))
+ (local.set 0x0bb (i64.load offset=0x0bb align=1 (i32.const 0)))
+ (local.set 0x0bc (i64.load offset=0x0bc align=1 (i32.const 0)))
+ (local.set 0x0bd (i64.load offset=0x0bd align=1 (i32.const 0)))
+ (local.set 0x0be (i64.load offset=0x0be align=1 (i32.const 0)))
+ (local.set 0x0bf (i64.load offset=0x0bf align=1 (i32.const 0)))
+ (local.set 0x0c0 (i64.load offset=0x0c0 align=1 (i32.const 0)))
+ (local.set 0x0c1 (i64.load offset=0x0c1 align=1 (i32.const 0)))
+ (local.set 0x0c2 (i64.load offset=0x0c2 align=1 (i32.const 0)))
+ (local.set 0x0c3 (i64.load offset=0x0c3 align=1 (i32.const 0)))
+ (local.set 0x0c4 (i64.load offset=0x0c4 align=1 (i32.const 0)))
+ (local.set 0x0c5 (i64.load offset=0x0c5 align=1 (i32.const 0)))
+ (local.set 0x0c6 (i64.load offset=0x0c6 align=1 (i32.const 0)))
+ (local.set 0x0c7 (i64.load offset=0x0c7 align=1 (i32.const 0)))
+ (local.set 0x0c8 (i64.load offset=0x0c8 align=1 (i32.const 0)))
+ (local.set 0x0c9 (i64.load offset=0x0c9 align=1 (i32.const 0)))
+ (local.set 0x0ca (i64.load offset=0x0ca align=1 (i32.const 0)))
+ (local.set 0x0cb (i64.load offset=0x0cb align=1 (i32.const 0)))
+ (local.set 0x0cc (i64.load offset=0x0cc align=1 (i32.const 0)))
+ (local.set 0x0cd (i64.load offset=0x0cd align=1 (i32.const 0)))
+ (local.set 0x0ce (i64.load offset=0x0ce align=1 (i32.const 0)))
+ (local.set 0x0cf (i64.load offset=0x0cf align=1 (i32.const 0)))
+ (local.set 0x0d0 (i64.load offset=0x0d0 align=1 (i32.const 0)))
+ (local.set 0x0d1 (i64.load offset=0x0d1 align=1 (i32.const 0)))
+ (local.set 0x0d2 (i64.load offset=0x0d2 align=1 (i32.const 0)))
+ (local.set 0x0d3 (i64.load offset=0x0d3 align=1 (i32.const 0)))
+ (local.set 0x0d4 (i64.load offset=0x0d4 align=1 (i32.const 0)))
+ (local.set 0x0d5 (i64.load offset=0x0d5 align=1 (i32.const 0)))
+ (local.set 0x0d6 (i64.load offset=0x0d6 align=1 (i32.const 0)))
+ (local.set 0x0d7 (i64.load offset=0x0d7 align=1 (i32.const 0)))
+ (local.set 0x0d8 (i64.load offset=0x0d8 align=1 (i32.const 0)))
+ (local.set 0x0d9 (i64.load offset=0x0d9 align=1 (i32.const 0)))
+ (local.set 0x0da (i64.load offset=0x0da align=1 (i32.const 0)))
+ (local.set 0x0db (i64.load offset=0x0db align=1 (i32.const 0)))
+ (local.set 0x0dc (i64.load offset=0x0dc align=1 (i32.const 0)))
+ (local.set 0x0dd (i64.load offset=0x0dd align=1 (i32.const 0)))
+ (local.set 0x0de (i64.load offset=0x0de align=1 (i32.const 0)))
+ (local.set 0x0df (i64.load offset=0x0df align=1 (i32.const 0)))
+ (local.set 0x0e0 (i64.load offset=0x0e0 align=1 (i32.const 0)))
+ (local.set 0x0e1 (i64.load offset=0x0e1 align=1 (i32.const 0)))
+ (local.set 0x0e2 (i64.load offset=0x0e2 align=1 (i32.const 0)))
+ (local.set 0x0e3 (i64.load offset=0x0e3 align=1 (i32.const 0)))
+ (local.set 0x0e4 (i64.load offset=0x0e4 align=1 (i32.const 0)))
+ (local.set 0x0e5 (i64.load offset=0x0e5 align=1 (i32.const 0)))
+ (local.set 0x0e6 (i64.load offset=0x0e6 align=1 (i32.const 0)))
+ (local.set 0x0e7 (i64.load offset=0x0e7 align=1 (i32.const 0)))
+ (local.set 0x0e8 (i64.load offset=0x0e8 align=1 (i32.const 0)))
+ (local.set 0x0e9 (i64.load offset=0x0e9 align=1 (i32.const 0)))
+ (local.set 0x0ea (i64.load offset=0x0ea align=1 (i32.const 0)))
+ (local.set 0x0eb (i64.load offset=0x0eb align=1 (i32.const 0)))
+ (local.set 0x0ec (i64.load offset=0x0ec align=1 (i32.const 0)))
+ (local.set 0x0ed (i64.load offset=0x0ed align=1 (i32.const 0)))
+ (local.set 0x0ee (i64.load offset=0x0ee align=1 (i32.const 0)))
+ (local.set 0x0ef (i64.load offset=0x0ef align=1 (i32.const 0)))
+ (local.set 0x0f0 (i64.load offset=0x0f0 align=1 (i32.const 0)))
+ (local.set 0x0f1 (i64.load offset=0x0f1 align=1 (i32.const 0)))
+ (local.set 0x0f2 (i64.load offset=0x0f2 align=1 (i32.const 0)))
+ (local.set 0x0f3 (i64.load offset=0x0f3 align=1 (i32.const 0)))
+ (local.set 0x0f4 (i64.load offset=0x0f4 align=1 (i32.const 0)))
+ (local.set 0x0f5 (i64.load offset=0x0f5 align=1 (i32.const 0)))
+ (local.set 0x0f6 (i64.load offset=0x0f6 align=1 (i32.const 0)))
+ (local.set 0x0f7 (i64.load offset=0x0f7 align=1 (i32.const 0)))
+ (local.set 0x0f8 (i64.load offset=0x0f8 align=1 (i32.const 0)))
+ (local.set 0x0f9 (i64.load offset=0x0f9 align=1 (i32.const 0)))
+ (local.set 0x0fa (i64.load offset=0x0fa align=1 (i32.const 0)))
+ (local.set 0x0fb (i64.load offset=0x0fb align=1 (i32.const 0)))
+ (local.set 0x0fc (i64.load offset=0x0fc align=1 (i32.const 0)))
+ (local.set 0x0fd (i64.load offset=0x0fd align=1 (i32.const 0)))
+ (local.set 0x0fe (i64.load offset=0x0fe align=1 (i32.const 0)))
+ (local.set 0x0ff (i64.load offset=0x0ff align=1 (i32.const 0)))
+ (local.set 0x100 (i64.load offset=0x100 align=1 (i32.const 0)))
+ (local.set 0x101 (i64.load offset=0x101 align=1 (i32.const 0)))
+ (local.set 0x102 (i64.load offset=0x102 align=1 (i32.const 0)))
+ (local.set 0x103 (i64.load offset=0x103 align=1 (i32.const 0)))
+ (local.set 0x104 (i64.load offset=0x104 align=1 (i32.const 0)))
+ (local.set 0x105 (i64.load offset=0x105 align=1 (i32.const 0)))
+ (local.set 0x106 (i64.load offset=0x106 align=1 (i32.const 0)))
+ (local.set 0x107 (i64.load offset=0x107 align=1 (i32.const 0)))
+ (local.set 0x108 (i64.load offset=0x108 align=1 (i32.const 0)))
+ (local.set 0x109 (i64.load offset=0x109 align=1 (i32.const 0)))
+ (local.set 0x10a (i64.load offset=0x10a align=1 (i32.const 0)))
+ (local.set 0x10b (i64.load offset=0x10b align=1 (i32.const 0)))
+ (local.set 0x10c (i64.load offset=0x10c align=1 (i32.const 0)))
+ (local.set 0x10d (i64.load offset=0x10d align=1 (i32.const 0)))
+ (local.set 0x10e (i64.load offset=0x10e align=1 (i32.const 0)))
+ (local.set 0x10f (i64.load offset=0x10f align=1 (i32.const 0)))
+ (local.set 0x110 (i64.load offset=0x110 align=1 (i32.const 0)))
+ (local.set 0x111 (i64.load offset=0x111 align=1 (i32.const 0)))
+ (local.set 0x112 (i64.load offset=0x112 align=1 (i32.const 0)))
+ (local.set 0x113 (i64.load offset=0x113 align=1 (i32.const 0)))
+ (local.set 0x114 (i64.load offset=0x114 align=1 (i32.const 0)))
+ (local.set 0x115 (i64.load offset=0x115 align=1 (i32.const 0)))
+ (local.set 0x116 (i64.load offset=0x116 align=1 (i32.const 0)))
+ (local.set 0x117 (i64.load offset=0x117 align=1 (i32.const 0)))
+ (local.set 0x118 (i64.load offset=0x118 align=1 (i32.const 0)))
+ (local.set 0x119 (i64.load offset=0x119 align=1 (i32.const 0)))
+ (local.set 0x11a (i64.load offset=0x11a align=1 (i32.const 0)))
+ (local.set 0x11b (i64.load offset=0x11b align=1 (i32.const 0)))
+ (local.set 0x11c (i64.load offset=0x11c align=1 (i32.const 0)))
+ (local.set 0x11d (i64.load offset=0x11d align=1 (i32.const 0)))
+ (local.set 0x11e (i64.load offset=0x11e align=1 (i32.const 0)))
+ (local.set 0x11f (i64.load offset=0x11f align=1 (i32.const 0)))
+ (local.set 0x120 (i64.load offset=0x120 align=1 (i32.const 0)))
+ (local.set 0x121 (i64.load offset=0x121 align=1 (i32.const 0)))
+ (local.set 0x122 (i64.load offset=0x122 align=1 (i32.const 0)))
+ (local.set 0x123 (i64.load offset=0x123 align=1 (i32.const 0)))
+ (local.set 0x124 (i64.load offset=0x124 align=1 (i32.const 0)))
+ (local.set 0x125 (i64.load offset=0x125 align=1 (i32.const 0)))
+ (local.set 0x126 (i64.load offset=0x126 align=1 (i32.const 0)))
+ (local.set 0x127 (i64.load offset=0x127 align=1 (i32.const 0)))
+ (local.set 0x128 (i64.load offset=0x128 align=1 (i32.const 0)))
+ (local.set 0x129 (i64.load offset=0x129 align=1 (i32.const 0)))
+ (local.set 0x12a (i64.load offset=0x12a align=1 (i32.const 0)))
+ (local.set 0x12b (i64.load offset=0x12b align=1 (i32.const 0)))
+ (local.set 0x12c (i64.load offset=0x12c align=1 (i32.const 0)))
+ (local.set 0x12d (i64.load offset=0x12d align=1 (i32.const 0)))
+ (local.set 0x12e (i64.load offset=0x12e align=1 (i32.const 0)))
+ (local.set 0x12f (i64.load offset=0x12f align=1 (i32.const 0)))
+ (local.set 0x130 (i64.load offset=0x130 align=1 (i32.const 0)))
+ (local.set 0x131 (i64.load offset=0x131 align=1 (i32.const 0)))
+ (local.set 0x132 (i64.load offset=0x132 align=1 (i32.const 0)))
+ (local.set 0x133 (i64.load offset=0x133 align=1 (i32.const 0)))
+ (local.set 0x134 (i64.load offset=0x134 align=1 (i32.const 0)))
+ (local.set 0x135 (i64.load offset=0x135 align=1 (i32.const 0)))
+ (local.set 0x136 (i64.load offset=0x136 align=1 (i32.const 0)))
+ (local.set 0x137 (i64.load offset=0x137 align=1 (i32.const 0)))
+ (local.set 0x138 (i64.load offset=0x138 align=1 (i32.const 0)))
+ (local.set 0x139 (i64.load offset=0x139 align=1 (i32.const 0)))
+ (local.set 0x13a (i64.load offset=0x13a align=1 (i32.const 0)))
+ (local.set 0x13b (i64.load offset=0x13b align=1 (i32.const 0)))
+ (local.set 0x13c (i64.load offset=0x13c align=1 (i32.const 0)))
+ (local.set 0x13d (i64.load offset=0x13d align=1 (i32.const 0)))
+ (local.set 0x13e (i64.load offset=0x13e align=1 (i32.const 0)))
+ (local.set 0x13f (i64.load offset=0x13f align=1 (i32.const 0)))
+ (local.set 0x140 (i64.load offset=0x140 align=1 (i32.const 0)))
+ (local.set 0x141 (i64.load offset=0x141 align=1 (i32.const 0)))
+ (local.set 0x142 (i64.load offset=0x142 align=1 (i32.const 0)))
+ (local.set 0x143 (i64.load offset=0x143 align=1 (i32.const 0)))
+ (local.set 0x144 (i64.load offset=0x144 align=1 (i32.const 0)))
+ (local.set 0x145 (i64.load offset=0x145 align=1 (i32.const 0)))
+ (local.set 0x146 (i64.load offset=0x146 align=1 (i32.const 0)))
+ (local.set 0x147 (i64.load offset=0x147 align=1 (i32.const 0)))
+ (local.set 0x148 (i64.load offset=0x148 align=1 (i32.const 0)))
+ (local.set 0x149 (i64.load offset=0x149 align=1 (i32.const 0)))
+ (local.set 0x14a (i64.load offset=0x14a align=1 (i32.const 0)))
+ (local.set 0x14b (i64.load offset=0x14b align=1 (i32.const 0)))
+ (local.set 0x14c (i64.load offset=0x14c align=1 (i32.const 0)))
+ (local.set 0x14d (i64.load offset=0x14d align=1 (i32.const 0)))
+ (local.set 0x14e (i64.load offset=0x14e align=1 (i32.const 0)))
+ (local.set 0x14f (i64.load offset=0x14f align=1 (i32.const 0)))
+ (local.set 0x150 (i64.load offset=0x150 align=1 (i32.const 0)))
+ (local.set 0x151 (i64.load offset=0x151 align=1 (i32.const 0)))
+ (local.set 0x152 (i64.load offset=0x152 align=1 (i32.const 0)))
+ (local.set 0x153 (i64.load offset=0x153 align=1 (i32.const 0)))
+ (local.set 0x154 (i64.load offset=0x154 align=1 (i32.const 0)))
+ (local.set 0x155 (i64.load offset=0x155 align=1 (i32.const 0)))
+ (local.set 0x156 (i64.load offset=0x156 align=1 (i32.const 0)))
+ (local.set 0x157 (i64.load offset=0x157 align=1 (i32.const 0)))
+ (local.set 0x158 (i64.load offset=0x158 align=1 (i32.const 0)))
+ (local.set 0x159 (i64.load offset=0x159 align=1 (i32.const 0)))
+ (local.set 0x15a (i64.load offset=0x15a align=1 (i32.const 0)))
+ (local.set 0x15b (i64.load offset=0x15b align=1 (i32.const 0)))
+ (local.set 0x15c (i64.load offset=0x15c align=1 (i32.const 0)))
+ (local.set 0x15d (i64.load offset=0x15d align=1 (i32.const 0)))
+ (local.set 0x15e (i64.load offset=0x15e align=1 (i32.const 0)))
+ (local.set 0x15f (i64.load offset=0x15f align=1 (i32.const 0)))
+ (local.set 0x160 (i64.load offset=0x160 align=1 (i32.const 0)))
+ (local.set 0x161 (i64.load offset=0x161 align=1 (i32.const 0)))
+ (local.set 0x162 (i64.load offset=0x162 align=1 (i32.const 0)))
+ (local.set 0x163 (i64.load offset=0x163 align=1 (i32.const 0)))
+ (local.set 0x164 (i64.load offset=0x164 align=1 (i32.const 0)))
+ (local.set 0x165 (i64.load offset=0x165 align=1 (i32.const 0)))
+ (local.set 0x166 (i64.load offset=0x166 align=1 (i32.const 0)))
+ (local.set 0x167 (i64.load offset=0x167 align=1 (i32.const 0)))
+ (local.set 0x168 (i64.load offset=0x168 align=1 (i32.const 0)))
+ (local.set 0x169 (i64.load offset=0x169 align=1 (i32.const 0)))
+ (local.set 0x16a (i64.load offset=0x16a align=1 (i32.const 0)))
+ (local.set 0x16b (i64.load offset=0x16b align=1 (i32.const 0)))
+ (local.set 0x16c (i64.load offset=0x16c align=1 (i32.const 0)))
+ (local.set 0x16d (i64.load offset=0x16d align=1 (i32.const 0)))
+ (local.set 0x16e (i64.load offset=0x16e align=1 (i32.const 0)))
+ (local.set 0x16f (i64.load offset=0x16f align=1 (i32.const 0)))
+ (local.set 0x170 (i64.load offset=0x170 align=1 (i32.const 0)))
+ (local.set 0x171 (i64.load offset=0x171 align=1 (i32.const 0)))
+ (local.set 0x172 (i64.load offset=0x172 align=1 (i32.const 0)))
+ (local.set 0x173 (i64.load offset=0x173 align=1 (i32.const 0)))
+ (local.set 0x174 (i64.load offset=0x174 align=1 (i32.const 0)))
+ (local.set 0x175 (i64.load offset=0x175 align=1 (i32.const 0)))
+ (local.set 0x176 (i64.load offset=0x176 align=1 (i32.const 0)))
+ (local.set 0x177 (i64.load offset=0x177 align=1 (i32.const 0)))
+ (local.set 0x178 (i64.load offset=0x178 align=1 (i32.const 0)))
+ (local.set 0x179 (i64.load offset=0x179 align=1 (i32.const 0)))
+ (local.set 0x17a (i64.load offset=0x17a align=1 (i32.const 0)))
+ (local.set 0x17b (i64.load offset=0x17b align=1 (i32.const 0)))
+ (local.set 0x17c (i64.load offset=0x17c align=1 (i32.const 0)))
+ (local.set 0x17d (i64.load offset=0x17d align=1 (i32.const 0)))
+ (local.set 0x17e (i64.load offset=0x17e align=1 (i32.const 0)))
+ (local.set 0x17f (i64.load offset=0x17f align=1 (i32.const 0)))
+ (local.set 0x180 (i64.load offset=0x180 align=1 (i32.const 0)))
+ (local.set 0x181 (i64.load offset=0x181 align=1 (i32.const 0)))
+ (local.set 0x182 (i64.load offset=0x182 align=1 (i32.const 0)))
+ (local.set 0x183 (i64.load offset=0x183 align=1 (i32.const 0)))
+ (local.set 0x184 (i64.load offset=0x184 align=1 (i32.const 0)))
+ (local.set 0x185 (i64.load offset=0x185 align=1 (i32.const 0)))
+ (local.set 0x186 (i64.load offset=0x186 align=1 (i32.const 0)))
+ (local.set 0x187 (i64.load offset=0x187 align=1 (i32.const 0)))
+ (local.set 0x188 (i64.load offset=0x188 align=1 (i32.const 0)))
+ (local.set 0x189 (i64.load offset=0x189 align=1 (i32.const 0)))
+ (local.set 0x18a (i64.load offset=0x18a align=1 (i32.const 0)))
+ (local.set 0x18b (i64.load offset=0x18b align=1 (i32.const 0)))
+ (local.set 0x18c (i64.load offset=0x18c align=1 (i32.const 0)))
+ (local.set 0x18d (i64.load offset=0x18d align=1 (i32.const 0)))
+ (local.set 0x18e (i64.load offset=0x18e align=1 (i32.const 0)))
+ (local.set 0x18f (i64.load offset=0x18f align=1 (i32.const 0)))
+ (local.set 0x190 (i64.load offset=0x190 align=1 (i32.const 0)))
+ (local.set 0x191 (i64.load offset=0x191 align=1 (i32.const 0)))
+ (local.set 0x192 (i64.load offset=0x192 align=1 (i32.const 0)))
+ (local.set 0x193 (i64.load offset=0x193 align=1 (i32.const 0)))
+ (local.set 0x194 (i64.load offset=0x194 align=1 (i32.const 0)))
+ (local.set 0x195 (i64.load offset=0x195 align=1 (i32.const 0)))
+ (local.set 0x196 (i64.load offset=0x196 align=1 (i32.const 0)))
+ (local.set 0x197 (i64.load offset=0x197 align=1 (i32.const 0)))
+ (local.set 0x198 (i64.load offset=0x198 align=1 (i32.const 0)))
+ (local.set 0x199 (i64.load offset=0x199 align=1 (i32.const 0)))
+ (local.set 0x19a (i64.load offset=0x19a align=1 (i32.const 0)))
+ (local.set 0x19b (i64.load offset=0x19b align=1 (i32.const 0)))
+ (local.set 0x19c (i64.load offset=0x19c align=1 (i32.const 0)))
+ (local.set 0x19d (i64.load offset=0x19d align=1 (i32.const 0)))
+ (local.set 0x19e (i64.load offset=0x19e align=1 (i32.const 0)))
+ (local.set 0x19f (i64.load offset=0x19f align=1 (i32.const 0)))
+ (local.set 0x1a0 (i64.load offset=0x1a0 align=1 (i32.const 0)))
+ (local.set 0x1a1 (i64.load offset=0x1a1 align=1 (i32.const 0)))
+ (local.set 0x1a2 (i64.load offset=0x1a2 align=1 (i32.const 0)))
+ (local.set 0x1a3 (i64.load offset=0x1a3 align=1 (i32.const 0)))
+ (local.set 0x1a4 (i64.load offset=0x1a4 align=1 (i32.const 0)))
+ (local.set 0x1a5 (i64.load offset=0x1a5 align=1 (i32.const 0)))
+ (local.set 0x1a6 (i64.load offset=0x1a6 align=1 (i32.const 0)))
+ (local.set 0x1a7 (i64.load offset=0x1a7 align=1 (i32.const 0)))
+ (local.set 0x1a8 (i64.load offset=0x1a8 align=1 (i32.const 0)))
+ (local.set 0x1a9 (i64.load offset=0x1a9 align=1 (i32.const 0)))
+ (local.set 0x1aa (i64.load offset=0x1aa align=1 (i32.const 0)))
+ (local.set 0x1ab (i64.load offset=0x1ab align=1 (i32.const 0)))
+ (local.set 0x1ac (i64.load offset=0x1ac align=1 (i32.const 0)))
+ (local.set 0x1ad (i64.load offset=0x1ad align=1 (i32.const 0)))
+ (local.set 0x1ae (i64.load offset=0x1ae align=1 (i32.const 0)))
+ (local.set 0x1af (i64.load offset=0x1af align=1 (i32.const 0)))
+ (local.set 0x1b0 (i64.load offset=0x1b0 align=1 (i32.const 0)))
+ (local.set 0x1b1 (i64.load offset=0x1b1 align=1 (i32.const 0)))
+ (local.set 0x1b2 (i64.load offset=0x1b2 align=1 (i32.const 0)))
+ (local.set 0x1b3 (i64.load offset=0x1b3 align=1 (i32.const 0)))
+ (local.set 0x1b4 (i64.load offset=0x1b4 align=1 (i32.const 0)))
+ (local.set 0x1b5 (i64.load offset=0x1b5 align=1 (i32.const 0)))
+ (local.set 0x1b6 (i64.load offset=0x1b6 align=1 (i32.const 0)))
+ (local.set 0x1b7 (i64.load offset=0x1b7 align=1 (i32.const 0)))
+ (local.set 0x1b8 (i64.load offset=0x1b8 align=1 (i32.const 0)))
+ (local.set 0x1b9 (i64.load offset=0x1b9 align=1 (i32.const 0)))
+ (local.set 0x1ba (i64.load offset=0x1ba align=1 (i32.const 0)))
+ (local.set 0x1bb (i64.load offset=0x1bb align=1 (i32.const 0)))
+ (local.set 0x1bc (i64.load offset=0x1bc align=1 (i32.const 0)))
+ (local.set 0x1bd (i64.load offset=0x1bd align=1 (i32.const 0)))
+ (local.set 0x1be (i64.load offset=0x1be align=1 (i32.const 0)))
+ (local.set 0x1bf (i64.load offset=0x1bf align=1 (i32.const 0)))
+ (local.set 0x1c0 (i64.load offset=0x1c0 align=1 (i32.const 0)))
+ (local.set 0x1c1 (i64.load offset=0x1c1 align=1 (i32.const 0)))
+ (local.set 0x1c2 (i64.load offset=0x1c2 align=1 (i32.const 0)))
+ (local.set 0x1c3 (i64.load offset=0x1c3 align=1 (i32.const 0)))
+ (local.set 0x1c4 (i64.load offset=0x1c4 align=1 (i32.const 0)))
+ (local.set 0x1c5 (i64.load offset=0x1c5 align=1 (i32.const 0)))
+ (local.set 0x1c6 (i64.load offset=0x1c6 align=1 (i32.const 0)))
+ (local.set 0x1c7 (i64.load offset=0x1c7 align=1 (i32.const 0)))
+ (local.set 0x1c8 (i64.load offset=0x1c8 align=1 (i32.const 0)))
+ (local.set 0x1c9 (i64.load offset=0x1c9 align=1 (i32.const 0)))
+ (local.set 0x1ca (i64.load offset=0x1ca align=1 (i32.const 0)))
+ (local.set 0x1cb (i64.load offset=0x1cb align=1 (i32.const 0)))
+ (local.set 0x1cc (i64.load offset=0x1cc align=1 (i32.const 0)))
+ (local.set 0x1cd (i64.load offset=0x1cd align=1 (i32.const 0)))
+ (local.set 0x1ce (i64.load offset=0x1ce align=1 (i32.const 0)))
+ (local.set 0x1cf (i64.load offset=0x1cf align=1 (i32.const 0)))
+ (local.set 0x1d0 (i64.load offset=0x1d0 align=1 (i32.const 0)))
+ (local.set 0x1d1 (i64.load offset=0x1d1 align=1 (i32.const 0)))
+ (local.set 0x1d2 (i64.load offset=0x1d2 align=1 (i32.const 0)))
+ (local.set 0x1d3 (i64.load offset=0x1d3 align=1 (i32.const 0)))
+ (local.set 0x1d4 (i64.load offset=0x1d4 align=1 (i32.const 0)))
+ (local.set 0x1d5 (i64.load offset=0x1d5 align=1 (i32.const 0)))
+ (local.set 0x1d6 (i64.load offset=0x1d6 align=1 (i32.const 0)))
+ (local.set 0x1d7 (i64.load offset=0x1d7 align=1 (i32.const 0)))
+ (local.set 0x1d8 (i64.load offset=0x1d8 align=1 (i32.const 0)))
+ (local.set 0x1d9 (i64.load offset=0x1d9 align=1 (i32.const 0)))
+ (local.set 0x1da (i64.load offset=0x1da align=1 (i32.const 0)))
+ (local.set 0x1db (i64.load offset=0x1db align=1 (i32.const 0)))
+ (local.set 0x1dc (i64.load offset=0x1dc align=1 (i32.const 0)))
+ (local.set 0x1dd (i64.load offset=0x1dd align=1 (i32.const 0)))
+ (local.set 0x1de (i64.load offset=0x1de align=1 (i32.const 0)))
+ (local.set 0x1df (i64.load offset=0x1df align=1 (i32.const 0)))
+ (local.set 0x1e0 (i64.load offset=0x1e0 align=1 (i32.const 0)))
+ (local.set 0x1e1 (i64.load offset=0x1e1 align=1 (i32.const 0)))
+ (local.set 0x1e2 (i64.load offset=0x1e2 align=1 (i32.const 0)))
+ (local.set 0x1e3 (i64.load offset=0x1e3 align=1 (i32.const 0)))
+ (local.set 0x1e4 (i64.load offset=0x1e4 align=1 (i32.const 0)))
+ (local.set 0x1e5 (i64.load offset=0x1e5 align=1 (i32.const 0)))
+ (local.set 0x1e6 (i64.load offset=0x1e6 align=1 (i32.const 0)))
+ (local.set 0x1e7 (i64.load offset=0x1e7 align=1 (i32.const 0)))
+ (local.set 0x1e8 (i64.load offset=0x1e8 align=1 (i32.const 0)))
+ (local.set 0x1e9 (i64.load offset=0x1e9 align=1 (i32.const 0)))
+ (local.set 0x1ea (i64.load offset=0x1ea align=1 (i32.const 0)))
+ (local.set 0x1eb (i64.load offset=0x1eb align=1 (i32.const 0)))
+ (local.set 0x1ec (i64.load offset=0x1ec align=1 (i32.const 0)))
+ (local.set 0x1ed (i64.load offset=0x1ed align=1 (i32.const 0)))
+ (local.set 0x1ee (i64.load offset=0x1ee align=1 (i32.const 0)))
+ (local.set 0x1ef (i64.load offset=0x1ef align=1 (i32.const 0)))
+ (local.set 0x1f0 (i64.load offset=0x1f0 align=1 (i32.const 0)))
+ (local.set 0x1f1 (i64.load offset=0x1f1 align=1 (i32.const 0)))
+ (local.set 0x1f2 (i64.load offset=0x1f2 align=1 (i32.const 0)))
+ (local.set 0x1f3 (i64.load offset=0x1f3 align=1 (i32.const 0)))
+ (local.set 0x1f4 (i64.load offset=0x1f4 align=1 (i32.const 0)))
+ (local.set 0x1f5 (i64.load offset=0x1f5 align=1 (i32.const 0)))
+ (local.set 0x1f6 (i64.load offset=0x1f6 align=1 (i32.const 0)))
+ (local.set 0x1f7 (i64.load offset=0x1f7 align=1 (i32.const 0)))
+ (local.set 0x1f8 (i64.load offset=0x1f8 align=1 (i32.const 0)))
+ (local.set 0x1f9 (i64.load offset=0x1f9 align=1 (i32.const 0)))
+ (local.set 0x1fa (i64.load offset=0x1fa align=1 (i32.const 0)))
+ (local.set 0x1fb (i64.load offset=0x1fb align=1 (i32.const 0)))
+ (local.set 0x1fc (i64.load offset=0x1fc align=1 (i32.const 0)))
+ (local.set 0x1fd (i64.load offset=0x1fd align=1 (i32.const 0)))
+ (local.set 0x1fe (i64.load offset=0x1fe align=1 (i32.const 0)))
+ (local.set 0x1ff (i64.load offset=0x1ff align=1 (i32.const 0)))
+ (local.set 0x200 (i64.load offset=0x200 align=1 (i32.const 0)))
+ (local.set 0x201 (i64.load offset=0x201 align=1 (i32.const 0)))
+ (local.set 0x202 (i64.load offset=0x202 align=1 (i32.const 0)))
+ (local.set 0x203 (i64.load offset=0x203 align=1 (i32.const 0)))
+ (local.set 0x204 (i64.load offset=0x204 align=1 (i32.const 0)))
+ (local.set 0x205 (i64.load offset=0x205 align=1 (i32.const 0)))
+ (local.set 0x206 (i64.load offset=0x206 align=1 (i32.const 0)))
+ (local.set 0x207 (i64.load offset=0x207 align=1 (i32.const 0)))
+ (local.set 0x208 (i64.load offset=0x208 align=1 (i32.const 0)))
+ (local.set 0x209 (i64.load offset=0x209 align=1 (i32.const 0)))
+ (local.set 0x20a (i64.load offset=0x20a align=1 (i32.const 0)))
+ (local.set 0x20b (i64.load offset=0x20b align=1 (i32.const 0)))
+ (local.set 0x20c (i64.load offset=0x20c align=1 (i32.const 0)))
+ (local.set 0x20d (i64.load offset=0x20d align=1 (i32.const 0)))
+ (local.set 0x20e (i64.load offset=0x20e align=1 (i32.const 0)))
+ (local.set 0x20f (i64.load offset=0x20f align=1 (i32.const 0)))
+ (local.set 0x210 (i64.load offset=0x210 align=1 (i32.const 0)))
+ (local.set 0x211 (i64.load offset=0x211 align=1 (i32.const 0)))
+ (local.set 0x212 (i64.load offset=0x212 align=1 (i32.const 0)))
+ (local.set 0x213 (i64.load offset=0x213 align=1 (i32.const 0)))
+ (local.set 0x214 (i64.load offset=0x214 align=1 (i32.const 0)))
+ (local.set 0x215 (i64.load offset=0x215 align=1 (i32.const 0)))
+ (local.set 0x216 (i64.load offset=0x216 align=1 (i32.const 0)))
+ (local.set 0x217 (i64.load offset=0x217 align=1 (i32.const 0)))
+ (local.set 0x218 (i64.load offset=0x218 align=1 (i32.const 0)))
+ (local.set 0x219 (i64.load offset=0x219 align=1 (i32.const 0)))
+ (local.set 0x21a (i64.load offset=0x21a align=1 (i32.const 0)))
+ (local.set 0x21b (i64.load offset=0x21b align=1 (i32.const 0)))
+ (local.set 0x21c (i64.load offset=0x21c align=1 (i32.const 0)))
+ (local.set 0x21d (i64.load offset=0x21d align=1 (i32.const 0)))
+ (local.set 0x21e (i64.load offset=0x21e align=1 (i32.const 0)))
+ (local.set 0x21f (i64.load offset=0x21f align=1 (i32.const 0)))
+ (local.set 0x220 (i64.load offset=0x220 align=1 (i32.const 0)))
+ (local.set 0x221 (i64.load offset=0x221 align=1 (i32.const 0)))
+ (local.set 0x222 (i64.load offset=0x222 align=1 (i32.const 0)))
+ (local.set 0x223 (i64.load offset=0x223 align=1 (i32.const 0)))
+ (local.set 0x224 (i64.load offset=0x224 align=1 (i32.const 0)))
+ (local.set 0x225 (i64.load offset=0x225 align=1 (i32.const 0)))
+ (local.set 0x226 (i64.load offset=0x226 align=1 (i32.const 0)))
+ (local.set 0x227 (i64.load offset=0x227 align=1 (i32.const 0)))
+ (local.set 0x228 (i64.load offset=0x228 align=1 (i32.const 0)))
+ (local.set 0x229 (i64.load offset=0x229 align=1 (i32.const 0)))
+ (local.set 0x22a (i64.load offset=0x22a align=1 (i32.const 0)))
+ (local.set 0x22b (i64.load offset=0x22b align=1 (i32.const 0)))
+ (local.set 0x22c (i64.load offset=0x22c align=1 (i32.const 0)))
+ (local.set 0x22d (i64.load offset=0x22d align=1 (i32.const 0)))
+ (local.set 0x22e (i64.load offset=0x22e align=1 (i32.const 0)))
+ (local.set 0x22f (i64.load offset=0x22f align=1 (i32.const 0)))
+ (local.set 0x230 (i64.load offset=0x230 align=1 (i32.const 0)))
+ (local.set 0x231 (i64.load offset=0x231 align=1 (i32.const 0)))
+ (local.set 0x232 (i64.load offset=0x232 align=1 (i32.const 0)))
+ (local.set 0x233 (i64.load offset=0x233 align=1 (i32.const 0)))
+ (local.set 0x234 (i64.load offset=0x234 align=1 (i32.const 0)))
+ (local.set 0x235 (i64.load offset=0x235 align=1 (i32.const 0)))
+ (local.set 0x236 (i64.load offset=0x236 align=1 (i32.const 0)))
+ (local.set 0x237 (i64.load offset=0x237 align=1 (i32.const 0)))
+ (local.set 0x238 (i64.load offset=0x238 align=1 (i32.const 0)))
+ (local.set 0x239 (i64.load offset=0x239 align=1 (i32.const 0)))
+ (local.set 0x23a (i64.load offset=0x23a align=1 (i32.const 0)))
+ (local.set 0x23b (i64.load offset=0x23b align=1 (i32.const 0)))
+ (local.set 0x23c (i64.load offset=0x23c align=1 (i32.const 0)))
+ (local.set 0x23d (i64.load offset=0x23d align=1 (i32.const 0)))
+ (local.set 0x23e (i64.load offset=0x23e align=1 (i32.const 0)))
+ (local.set 0x23f (i64.load offset=0x23f align=1 (i32.const 0)))
+ (local.set 0x240 (i64.load offset=0x240 align=1 (i32.const 0)))
+ (local.set 0x241 (i64.load offset=0x241 align=1 (i32.const 0)))
+ (local.set 0x242 (i64.load offset=0x242 align=1 (i32.const 0)))
+ (local.set 0x243 (i64.load offset=0x243 align=1 (i32.const 0)))
+ (local.set 0x244 (i64.load offset=0x244 align=1 (i32.const 0)))
+ (local.set 0x245 (i64.load offset=0x245 align=1 (i32.const 0)))
+ (local.set 0x246 (i64.load offset=0x246 align=1 (i32.const 0)))
+ (local.set 0x247 (i64.load offset=0x247 align=1 (i32.const 0)))
+ (local.set 0x248 (i64.load offset=0x248 align=1 (i32.const 0)))
+ (local.set 0x249 (i64.load offset=0x249 align=1 (i32.const 0)))
+ (local.set 0x24a (i64.load offset=0x24a align=1 (i32.const 0)))
+ (local.set 0x24b (i64.load offset=0x24b align=1 (i32.const 0)))
+ (local.set 0x24c (i64.load offset=0x24c align=1 (i32.const 0)))
+ (local.set 0x24d (i64.load offset=0x24d align=1 (i32.const 0)))
+ (local.set 0x24e (i64.load offset=0x24e align=1 (i32.const 0)))
+ (local.set 0x24f (i64.load offset=0x24f align=1 (i32.const 0)))
+ (local.set 0x250 (i64.load offset=0x250 align=1 (i32.const 0)))
+ (local.set 0x251 (i64.load offset=0x251 align=1 (i32.const 0)))
+ (local.set 0x252 (i64.load offset=0x252 align=1 (i32.const 0)))
+ (local.set 0x253 (i64.load offset=0x253 align=1 (i32.const 0)))
+ (local.set 0x254 (i64.load offset=0x254 align=1 (i32.const 0)))
+ (local.set 0x255 (i64.load offset=0x255 align=1 (i32.const 0)))
+ (local.set 0x256 (i64.load offset=0x256 align=1 (i32.const 0)))
+ (local.set 0x257 (i64.load offset=0x257 align=1 (i32.const 0)))
+ (local.set 0x258 (i64.load offset=0x258 align=1 (i32.const 0)))
+ (local.set 0x259 (i64.load offset=0x259 align=1 (i32.const 0)))
+ (local.set 0x25a (i64.load offset=0x25a align=1 (i32.const 0)))
+ (local.set 0x25b (i64.load offset=0x25b align=1 (i32.const 0)))
+ (local.set 0x25c (i64.load offset=0x25c align=1 (i32.const 0)))
+ (local.set 0x25d (i64.load offset=0x25d align=1 (i32.const 0)))
+ (local.set 0x25e (i64.load offset=0x25e align=1 (i32.const 0)))
+ (local.set 0x25f (i64.load offset=0x25f align=1 (i32.const 0)))
+ (local.set 0x260 (i64.load offset=0x260 align=1 (i32.const 0)))
+ (local.set 0x261 (i64.load offset=0x261 align=1 (i32.const 0)))
+ (local.set 0x262 (i64.load offset=0x262 align=1 (i32.const 0)))
+ (local.set 0x263 (i64.load offset=0x263 align=1 (i32.const 0)))
+ (local.set 0x264 (i64.load offset=0x264 align=1 (i32.const 0)))
+ (local.set 0x265 (i64.load offset=0x265 align=1 (i32.const 0)))
+ (local.set 0x266 (i64.load offset=0x266 align=1 (i32.const 0)))
+ (local.set 0x267 (i64.load offset=0x267 align=1 (i32.const 0)))
+ (local.set 0x268 (i64.load offset=0x268 align=1 (i32.const 0)))
+ (local.set 0x269 (i64.load offset=0x269 align=1 (i32.const 0)))
+ (local.set 0x26a (i64.load offset=0x26a align=1 (i32.const 0)))
+ (local.set 0x26b (i64.load offset=0x26b align=1 (i32.const 0)))
+ (local.set 0x26c (i64.load offset=0x26c align=1 (i32.const 0)))
+ (local.set 0x26d (i64.load offset=0x26d align=1 (i32.const 0)))
+ (local.set 0x26e (i64.load offset=0x26e align=1 (i32.const 0)))
+ (local.set 0x26f (i64.load offset=0x26f align=1 (i32.const 0)))
+ (local.set 0x270 (i64.load offset=0x270 align=1 (i32.const 0)))
+ (local.set 0x271 (i64.load offset=0x271 align=1 (i32.const 0)))
+ (local.set 0x272 (i64.load offset=0x272 align=1 (i32.const 0)))
+ (local.set 0x273 (i64.load offset=0x273 align=1 (i32.const 0)))
+ (local.set 0x274 (i64.load offset=0x274 align=1 (i32.const 0)))
+ (local.set 0x275 (i64.load offset=0x275 align=1 (i32.const 0)))
+ (local.set 0x276 (i64.load offset=0x276 align=1 (i32.const 0)))
+ (local.set 0x277 (i64.load offset=0x277 align=1 (i32.const 0)))
+ (local.set 0x278 (i64.load offset=0x278 align=1 (i32.const 0)))
+ (local.set 0x279 (i64.load offset=0x279 align=1 (i32.const 0)))
+ (local.set 0x27a (i64.load offset=0x27a align=1 (i32.const 0)))
+ (local.set 0x27b (i64.load offset=0x27b align=1 (i32.const 0)))
+ (local.set 0x27c (i64.load offset=0x27c align=1 (i32.const 0)))
+ (local.set 0x27d (i64.load offset=0x27d align=1 (i32.const 0)))
+ (local.set 0x27e (i64.load offset=0x27e align=1 (i32.const 0)))
+ (local.set 0x27f (i64.load offset=0x27f align=1 (i32.const 0)))
+ (local.set 0x280 (i64.load offset=0x280 align=1 (i32.const 0)))
+ (local.set 0x281 (i64.load offset=0x281 align=1 (i32.const 0)))
+ (local.set 0x282 (i64.load offset=0x282 align=1 (i32.const 0)))
+ (local.set 0x283 (i64.load offset=0x283 align=1 (i32.const 0)))
+ (local.set 0x284 (i64.load offset=0x284 align=1 (i32.const 0)))
+ (local.set 0x285 (i64.load offset=0x285 align=1 (i32.const 0)))
+ (local.set 0x286 (i64.load offset=0x286 align=1 (i32.const 0)))
+ (local.set 0x287 (i64.load offset=0x287 align=1 (i32.const 0)))
+ (local.set 0x288 (i64.load offset=0x288 align=1 (i32.const 0)))
+ (local.set 0x289 (i64.load offset=0x289 align=1 (i32.const 0)))
+ (local.set 0x28a (i64.load offset=0x28a align=1 (i32.const 0)))
+ (local.set 0x28b (i64.load offset=0x28b align=1 (i32.const 0)))
+ (local.set 0x28c (i64.load offset=0x28c align=1 (i32.const 0)))
+ (local.set 0x28d (i64.load offset=0x28d align=1 (i32.const 0)))
+ (local.set 0x28e (i64.load offset=0x28e align=1 (i32.const 0)))
+ (local.set 0x28f (i64.load offset=0x28f align=1 (i32.const 0)))
+ (local.set 0x290 (i64.load offset=0x290 align=1 (i32.const 0)))
+ (local.set 0x291 (i64.load offset=0x291 align=1 (i32.const 0)))
+ (local.set 0x292 (i64.load offset=0x292 align=1 (i32.const 0)))
+ (local.set 0x293 (i64.load offset=0x293 align=1 (i32.const 0)))
+ (local.set 0x294 (i64.load offset=0x294 align=1 (i32.const 0)))
+ (local.set 0x295 (i64.load offset=0x295 align=1 (i32.const 0)))
+ (local.set 0x296 (i64.load offset=0x296 align=1 (i32.const 0)))
+ (local.set 0x297 (i64.load offset=0x297 align=1 (i32.const 0)))
+ (local.set 0x298 (i64.load offset=0x298 align=1 (i32.const 0)))
+ (local.set 0x299 (i64.load offset=0x299 align=1 (i32.const 0)))
+ (local.set 0x29a (i64.load offset=0x29a align=1 (i32.const 0)))
+ (local.set 0x29b (i64.load offset=0x29b align=1 (i32.const 0)))
+ (local.set 0x29c (i64.load offset=0x29c align=1 (i32.const 0)))
+ (local.set 0x29d (i64.load offset=0x29d align=1 (i32.const 0)))
+ (local.set 0x29e (i64.load offset=0x29e align=1 (i32.const 0)))
+ (local.set 0x29f (i64.load offset=0x29f align=1 (i32.const 0)))
+ (local.set 0x2a0 (i64.load offset=0x2a0 align=1 (i32.const 0)))
+ (local.set 0x2a1 (i64.load offset=0x2a1 align=1 (i32.const 0)))
+ (local.set 0x2a2 (i64.load offset=0x2a2 align=1 (i32.const 0)))
+ (local.set 0x2a3 (i64.load offset=0x2a3 align=1 (i32.const 0)))
+ (local.set 0x2a4 (i64.load offset=0x2a4 align=1 (i32.const 0)))
+ (local.set 0x2a5 (i64.load offset=0x2a5 align=1 (i32.const 0)))
+ (local.set 0x2a6 (i64.load offset=0x2a6 align=1 (i32.const 0)))
+ (local.set 0x2a7 (i64.load offset=0x2a7 align=1 (i32.const 0)))
+ (local.set 0x2a8 (i64.load offset=0x2a8 align=1 (i32.const 0)))
+ (local.set 0x2a9 (i64.load offset=0x2a9 align=1 (i32.const 0)))
+ (local.set 0x2aa (i64.load offset=0x2aa align=1 (i32.const 0)))
+ (local.set 0x2ab (i64.load offset=0x2ab align=1 (i32.const 0)))
+ (local.set 0x2ac (i64.load offset=0x2ac align=1 (i32.const 0)))
+ (local.set 0x2ad (i64.load offset=0x2ad align=1 (i32.const 0)))
+ (local.set 0x2ae (i64.load offset=0x2ae align=1 (i32.const 0)))
+ (local.set 0x2af (i64.load offset=0x2af align=1 (i32.const 0)))
+ (local.set 0x2b0 (i64.load offset=0x2b0 align=1 (i32.const 0)))
+ (local.set 0x2b1 (i64.load offset=0x2b1 align=1 (i32.const 0)))
+ (local.set 0x2b2 (i64.load offset=0x2b2 align=1 (i32.const 0)))
+ (local.set 0x2b3 (i64.load offset=0x2b3 align=1 (i32.const 0)))
+ (local.set 0x2b4 (i64.load offset=0x2b4 align=1 (i32.const 0)))
+ (local.set 0x2b5 (i64.load offset=0x2b5 align=1 (i32.const 0)))
+ (local.set 0x2b6 (i64.load offset=0x2b6 align=1 (i32.const 0)))
+ (local.set 0x2b7 (i64.load offset=0x2b7 align=1 (i32.const 0)))
+ (local.set 0x2b8 (i64.load offset=0x2b8 align=1 (i32.const 0)))
+ (local.set 0x2b9 (i64.load offset=0x2b9 align=1 (i32.const 0)))
+ (local.set 0x2ba (i64.load offset=0x2ba align=1 (i32.const 0)))
+ (local.set 0x2bb (i64.load offset=0x2bb align=1 (i32.const 0)))
+ (local.set 0x2bc (i64.load offset=0x2bc align=1 (i32.const 0)))
+ (local.set 0x2bd (i64.load offset=0x2bd align=1 (i32.const 0)))
+ (local.set 0x2be (i64.load offset=0x2be align=1 (i32.const 0)))
+ (local.set 0x2bf (i64.load offset=0x2bf align=1 (i32.const 0)))
+ (local.set 0x2c0 (i64.load offset=0x2c0 align=1 (i32.const 0)))
+ (local.set 0x2c1 (i64.load offset=0x2c1 align=1 (i32.const 0)))
+ (local.set 0x2c2 (i64.load offset=0x2c2 align=1 (i32.const 0)))
+ (local.set 0x2c3 (i64.load offset=0x2c3 align=1 (i32.const 0)))
+ (local.set 0x2c4 (i64.load offset=0x2c4 align=1 (i32.const 0)))
+ (local.set 0x2c5 (i64.load offset=0x2c5 align=1 (i32.const 0)))
+ (local.set 0x2c6 (i64.load offset=0x2c6 align=1 (i32.const 0)))
+ (local.set 0x2c7 (i64.load offset=0x2c7 align=1 (i32.const 0)))
+ (local.set 0x2c8 (i64.load offset=0x2c8 align=1 (i32.const 0)))
+ (local.set 0x2c9 (i64.load offset=0x2c9 align=1 (i32.const 0)))
+ (local.set 0x2ca (i64.load offset=0x2ca align=1 (i32.const 0)))
+ (local.set 0x2cb (i64.load offset=0x2cb align=1 (i32.const 0)))
+ (local.set 0x2cc (i64.load offset=0x2cc align=1 (i32.const 0)))
+ (local.set 0x2cd (i64.load offset=0x2cd align=1 (i32.const 0)))
+ (local.set 0x2ce (i64.load offset=0x2ce align=1 (i32.const 0)))
+ (local.set 0x2cf (i64.load offset=0x2cf align=1 (i32.const 0)))
+ (local.set 0x2d0 (i64.load offset=0x2d0 align=1 (i32.const 0)))
+ (local.set 0x2d1 (i64.load offset=0x2d1 align=1 (i32.const 0)))
+ (local.set 0x2d2 (i64.load offset=0x2d2 align=1 (i32.const 0)))
+ (local.set 0x2d3 (i64.load offset=0x2d3 align=1 (i32.const 0)))
+ (local.set 0x2d4 (i64.load offset=0x2d4 align=1 (i32.const 0)))
+ (local.set 0x2d5 (i64.load offset=0x2d5 align=1 (i32.const 0)))
+ (local.set 0x2d6 (i64.load offset=0x2d6 align=1 (i32.const 0)))
+ (local.set 0x2d7 (i64.load offset=0x2d7 align=1 (i32.const 0)))
+ (local.set 0x2d8 (i64.load offset=0x2d8 align=1 (i32.const 0)))
+ (local.set 0x2d9 (i64.load offset=0x2d9 align=1 (i32.const 0)))
+ (local.set 0x2da (i64.load offset=0x2da align=1 (i32.const 0)))
+ (local.set 0x2db (i64.load offset=0x2db align=1 (i32.const 0)))
+ (local.set 0x2dc (i64.load offset=0x2dc align=1 (i32.const 0)))
+ (local.set 0x2dd (i64.load offset=0x2dd align=1 (i32.const 0)))
+ (local.set 0x2de (i64.load offset=0x2de align=1 (i32.const 0)))
+ (local.set 0x2df (i64.load offset=0x2df align=1 (i32.const 0)))
+ (local.set 0x2e0 (i64.load offset=0x2e0 align=1 (i32.const 0)))
+ (local.set 0x2e1 (i64.load offset=0x2e1 align=1 (i32.const 0)))
+ (local.set 0x2e2 (i64.load offset=0x2e2 align=1 (i32.const 0)))
+ (local.set 0x2e3 (i64.load offset=0x2e3 align=1 (i32.const 0)))
+ (local.set 0x2e4 (i64.load offset=0x2e4 align=1 (i32.const 0)))
+ (local.set 0x2e5 (i64.load offset=0x2e5 align=1 (i32.const 0)))
+ (local.set 0x2e6 (i64.load offset=0x2e6 align=1 (i32.const 0)))
+ (local.set 0x2e7 (i64.load offset=0x2e7 align=1 (i32.const 0)))
+ (local.set 0x2e8 (i64.load offset=0x2e8 align=1 (i32.const 0)))
+ (local.set 0x2e9 (i64.load offset=0x2e9 align=1 (i32.const 0)))
+ (local.set 0x2ea (i64.load offset=0x2ea align=1 (i32.const 0)))
+ (local.set 0x2eb (i64.load offset=0x2eb align=1 (i32.const 0)))
+ (local.set 0x2ec (i64.load offset=0x2ec align=1 (i32.const 0)))
+ (local.set 0x2ed (i64.load offset=0x2ed align=1 (i32.const 0)))
+ (local.set 0x2ee (i64.load offset=0x2ee align=1 (i32.const 0)))
+ (local.set 0x2ef (i64.load offset=0x2ef align=1 (i32.const 0)))
+ (local.set 0x2f0 (i64.load offset=0x2f0 align=1 (i32.const 0)))
+ (local.set 0x2f1 (i64.load offset=0x2f1 align=1 (i32.const 0)))
+ (local.set 0x2f2 (i64.load offset=0x2f2 align=1 (i32.const 0)))
+ (local.set 0x2f3 (i64.load offset=0x2f3 align=1 (i32.const 0)))
+ (local.set 0x2f4 (i64.load offset=0x2f4 align=1 (i32.const 0)))
+ (local.set 0x2f5 (i64.load offset=0x2f5 align=1 (i32.const 0)))
+ (local.set 0x2f6 (i64.load offset=0x2f6 align=1 (i32.const 0)))
+ (local.set 0x2f7 (i64.load offset=0x2f7 align=1 (i32.const 0)))
+ (local.set 0x2f8 (i64.load offset=0x2f8 align=1 (i32.const 0)))
+ (local.set 0x2f9 (i64.load offset=0x2f9 align=1 (i32.const 0)))
+ (local.set 0x2fa (i64.load offset=0x2fa align=1 (i32.const 0)))
+ (local.set 0x2fb (i64.load offset=0x2fb align=1 (i32.const 0)))
+ (local.set 0x2fc (i64.load offset=0x2fc align=1 (i32.const 0)))
+ (local.set 0x2fd (i64.load offset=0x2fd align=1 (i32.const 0)))
+ (local.set 0x2fe (i64.load offset=0x2fe align=1 (i32.const 0)))
+ (local.set 0x2ff (i64.load offset=0x2ff align=1 (i32.const 0)))
+ (local.set 0x300 (i64.load offset=0x300 align=1 (i32.const 0)))
+ (local.set 0x301 (i64.load offset=0x301 align=1 (i32.const 0)))
+ (local.set 0x302 (i64.load offset=0x302 align=1 (i32.const 0)))
+ (local.set 0x303 (i64.load offset=0x303 align=1 (i32.const 0)))
+ (local.set 0x304 (i64.load offset=0x304 align=1 (i32.const 0)))
+ (local.set 0x305 (i64.load offset=0x305 align=1 (i32.const 0)))
+ (local.set 0x306 (i64.load offset=0x306 align=1 (i32.const 0)))
+ (local.set 0x307 (i64.load offset=0x307 align=1 (i32.const 0)))
+ (local.set 0x308 (i64.load offset=0x308 align=1 (i32.const 0)))
+ (local.set 0x309 (i64.load offset=0x309 align=1 (i32.const 0)))
+ (local.set 0x30a (i64.load offset=0x30a align=1 (i32.const 0)))
+ (local.set 0x30b (i64.load offset=0x30b align=1 (i32.const 0)))
+ (local.set 0x30c (i64.load offset=0x30c align=1 (i32.const 0)))
+ (local.set 0x30d (i64.load offset=0x30d align=1 (i32.const 0)))
+ (local.set 0x30e (i64.load offset=0x30e align=1 (i32.const 0)))
+ (local.set 0x30f (i64.load offset=0x30f align=1 (i32.const 0)))
+ (local.set 0x310 (i64.load offset=0x310 align=1 (i32.const 0)))
+ (local.set 0x311 (i64.load offset=0x311 align=1 (i32.const 0)))
+ (local.set 0x312 (i64.load offset=0x312 align=1 (i32.const 0)))
+ (local.set 0x313 (i64.load offset=0x313 align=1 (i32.const 0)))
+ (local.set 0x314 (i64.load offset=0x314 align=1 (i32.const 0)))
+ (local.set 0x315 (i64.load offset=0x315 align=1 (i32.const 0)))
+ (local.set 0x316 (i64.load offset=0x316 align=1 (i32.const 0)))
+ (local.set 0x317 (i64.load offset=0x317 align=1 (i32.const 0)))
+ (local.set 0x318 (i64.load offset=0x318 align=1 (i32.const 0)))
+ (local.set 0x319 (i64.load offset=0x319 align=1 (i32.const 0)))
+ (local.set 0x31a (i64.load offset=0x31a align=1 (i32.const 0)))
+ (local.set 0x31b (i64.load offset=0x31b align=1 (i32.const 0)))
+ (local.set 0x31c (i64.load offset=0x31c align=1 (i32.const 0)))
+ (local.set 0x31d (i64.load offset=0x31d align=1 (i32.const 0)))
+ (local.set 0x31e (i64.load offset=0x31e align=1 (i32.const 0)))
+ (local.set 0x31f (i64.load offset=0x31f align=1 (i32.const 0)))
+ (local.set 0x320 (i64.load offset=0x320 align=1 (i32.const 0)))
+ (local.set 0x321 (i64.load offset=0x321 align=1 (i32.const 0)))
+ (local.set 0x322 (i64.load offset=0x322 align=1 (i32.const 0)))
+ (local.set 0x323 (i64.load offset=0x323 align=1 (i32.const 0)))
+ (local.set 0x324 (i64.load offset=0x324 align=1 (i32.const 0)))
+ (local.set 0x325 (i64.load offset=0x325 align=1 (i32.const 0)))
+ (local.set 0x326 (i64.load offset=0x326 align=1 (i32.const 0)))
+ (local.set 0x327 (i64.load offset=0x327 align=1 (i32.const 0)))
+ (local.set 0x328 (i64.load offset=0x328 align=1 (i32.const 0)))
+ (local.set 0x329 (i64.load offset=0x329 align=1 (i32.const 0)))
+ (local.set 0x32a (i64.load offset=0x32a align=1 (i32.const 0)))
+ (local.set 0x32b (i64.load offset=0x32b align=1 (i32.const 0)))
+ (local.set 0x32c (i64.load offset=0x32c align=1 (i32.const 0)))
+ (local.set 0x32d (i64.load offset=0x32d align=1 (i32.const 0)))
+ (local.set 0x32e (i64.load offset=0x32e align=1 (i32.const 0)))
+ (local.set 0x32f (i64.load offset=0x32f align=1 (i32.const 0)))
+ (local.set 0x330 (i64.load offset=0x330 align=1 (i32.const 0)))
+ (local.set 0x331 (i64.load offset=0x331 align=1 (i32.const 0)))
+ (local.set 0x332 (i64.load offset=0x332 align=1 (i32.const 0)))
+ (local.set 0x333 (i64.load offset=0x333 align=1 (i32.const 0)))
+ (local.set 0x334 (i64.load offset=0x334 align=1 (i32.const 0)))
+ (local.set 0x335 (i64.load offset=0x335 align=1 (i32.const 0)))
+ (local.set 0x336 (i64.load offset=0x336 align=1 (i32.const 0)))
+ (local.set 0x337 (i64.load offset=0x337 align=1 (i32.const 0)))
+ (local.set 0x338 (i64.load offset=0x338 align=1 (i32.const 0)))
+ (local.set 0x339 (i64.load offset=0x339 align=1 (i32.const 0)))
+ (local.set 0x33a (i64.load offset=0x33a align=1 (i32.const 0)))
+ (local.set 0x33b (i64.load offset=0x33b align=1 (i32.const 0)))
+ (local.set 0x33c (i64.load offset=0x33c align=1 (i32.const 0)))
+ (local.set 0x33d (i64.load offset=0x33d align=1 (i32.const 0)))
+ (local.set 0x33e (i64.load offset=0x33e align=1 (i32.const 0)))
+ (local.set 0x33f (i64.load offset=0x33f align=1 (i32.const 0)))
+ (local.set 0x340 (i64.load offset=0x340 align=1 (i32.const 0)))
+ (local.set 0x341 (i64.load offset=0x341 align=1 (i32.const 0)))
+ (local.set 0x342 (i64.load offset=0x342 align=1 (i32.const 0)))
+ (local.set 0x343 (i64.load offset=0x343 align=1 (i32.const 0)))
+ (local.set 0x344 (i64.load offset=0x344 align=1 (i32.const 0)))
+ (local.set 0x345 (i64.load offset=0x345 align=1 (i32.const 0)))
+ (local.set 0x346 (i64.load offset=0x346 align=1 (i32.const 0)))
+ (local.set 0x347 (i64.load offset=0x347 align=1 (i32.const 0)))
+ (local.set 0x348 (i64.load offset=0x348 align=1 (i32.const 0)))
+ (local.set 0x349 (i64.load offset=0x349 align=1 (i32.const 0)))
+ (local.set 0x34a (i64.load offset=0x34a align=1 (i32.const 0)))
+ (local.set 0x34b (i64.load offset=0x34b align=1 (i32.const 0)))
+ (local.set 0x34c (i64.load offset=0x34c align=1 (i32.const 0)))
+ (local.set 0x34d (i64.load offset=0x34d align=1 (i32.const 0)))
+ (local.set 0x34e (i64.load offset=0x34e align=1 (i32.const 0)))
+ (local.set 0x34f (i64.load offset=0x34f align=1 (i32.const 0)))
+ (local.set 0x350 (i64.load offset=0x350 align=1 (i32.const 0)))
+ (local.set 0x351 (i64.load offset=0x351 align=1 (i32.const 0)))
+ (local.set 0x352 (i64.load offset=0x352 align=1 (i32.const 0)))
+ (local.set 0x353 (i64.load offset=0x353 align=1 (i32.const 0)))
+ (local.set 0x354 (i64.load offset=0x354 align=1 (i32.const 0)))
+ (local.set 0x355 (i64.load offset=0x355 align=1 (i32.const 0)))
+ (local.set 0x356 (i64.load offset=0x356 align=1 (i32.const 0)))
+ (local.set 0x357 (i64.load offset=0x357 align=1 (i32.const 0)))
+ (local.set 0x358 (i64.load offset=0x358 align=1 (i32.const 0)))
+ (local.set 0x359 (i64.load offset=0x359 align=1 (i32.const 0)))
+ (local.set 0x35a (i64.load offset=0x35a align=1 (i32.const 0)))
+ (local.set 0x35b (i64.load offset=0x35b align=1 (i32.const 0)))
+ (local.set 0x35c (i64.load offset=0x35c align=1 (i32.const 0)))
+ (local.set 0x35d (i64.load offset=0x35d align=1 (i32.const 0)))
+ (local.set 0x35e (i64.load offset=0x35e align=1 (i32.const 0)))
+ (local.set 0x35f (i64.load offset=0x35f align=1 (i32.const 0)))
+ (local.set 0x360 (i64.load offset=0x360 align=1 (i32.const 0)))
+ (local.set 0x361 (i64.load offset=0x361 align=1 (i32.const 0)))
+ (local.set 0x362 (i64.load offset=0x362 align=1 (i32.const 0)))
+ (local.set 0x363 (i64.load offset=0x363 align=1 (i32.const 0)))
+ (local.set 0x364 (i64.load offset=0x364 align=1 (i32.const 0)))
+ (local.set 0x365 (i64.load offset=0x365 align=1 (i32.const 0)))
+ (local.set 0x366 (i64.load offset=0x366 align=1 (i32.const 0)))
+ (local.set 0x367 (i64.load offset=0x367 align=1 (i32.const 0)))
+ (local.set 0x368 (i64.load offset=0x368 align=1 (i32.const 0)))
+ (local.set 0x369 (i64.load offset=0x369 align=1 (i32.const 0)))
+ (local.set 0x36a (i64.load offset=0x36a align=1 (i32.const 0)))
+ (local.set 0x36b (i64.load offset=0x36b align=1 (i32.const 0)))
+ (local.set 0x36c (i64.load offset=0x36c align=1 (i32.const 0)))
+ (local.set 0x36d (i64.load offset=0x36d align=1 (i32.const 0)))
+ (local.set 0x36e (i64.load offset=0x36e align=1 (i32.const 0)))
+ (local.set 0x36f (i64.load offset=0x36f align=1 (i32.const 0)))
+ (local.set 0x370 (i64.load offset=0x370 align=1 (i32.const 0)))
+ (local.set 0x371 (i64.load offset=0x371 align=1 (i32.const 0)))
+ (local.set 0x372 (i64.load offset=0x372 align=1 (i32.const 0)))
+ (local.set 0x373 (i64.load offset=0x373 align=1 (i32.const 0)))
+ (local.set 0x374 (i64.load offset=0x374 align=1 (i32.const 0)))
+ (local.set 0x375 (i64.load offset=0x375 align=1 (i32.const 0)))
+ (local.set 0x376 (i64.load offset=0x376 align=1 (i32.const 0)))
+ (local.set 0x377 (i64.load offset=0x377 align=1 (i32.const 0)))
+ (local.set 0x378 (i64.load offset=0x378 align=1 (i32.const 0)))
+ (local.set 0x379 (i64.load offset=0x379 align=1 (i32.const 0)))
+ (local.set 0x37a (i64.load offset=0x37a align=1 (i32.const 0)))
+ (local.set 0x37b (i64.load offset=0x37b align=1 (i32.const 0)))
+ (local.set 0x37c (i64.load offset=0x37c align=1 (i32.const 0)))
+ (local.set 0x37d (i64.load offset=0x37d align=1 (i32.const 0)))
+ (local.set 0x37e (i64.load offset=0x37e align=1 (i32.const 0)))
+ (local.set 0x37f (i64.load offset=0x37f align=1 (i32.const 0)))
+ (local.set 0x380 (i64.load offset=0x380 align=1 (i32.const 0)))
+ (local.set 0x381 (i64.load offset=0x381 align=1 (i32.const 0)))
+ (local.set 0x382 (i64.load offset=0x382 align=1 (i32.const 0)))
+ (local.set 0x383 (i64.load offset=0x383 align=1 (i32.const 0)))
+ (local.set 0x384 (i64.load offset=0x384 align=1 (i32.const 0)))
+ (local.set 0x385 (i64.load offset=0x385 align=1 (i32.const 0)))
+ (local.set 0x386 (i64.load offset=0x386 align=1 (i32.const 0)))
+ (local.set 0x387 (i64.load offset=0x387 align=1 (i32.const 0)))
+ (local.set 0x388 (i64.load offset=0x388 align=1 (i32.const 0)))
+ (local.set 0x389 (i64.load offset=0x389 align=1 (i32.const 0)))
+ (local.set 0x38a (i64.load offset=0x38a align=1 (i32.const 0)))
+ (local.set 0x38b (i64.load offset=0x38b align=1 (i32.const 0)))
+ (local.set 0x38c (i64.load offset=0x38c align=1 (i32.const 0)))
+ (local.set 0x38d (i64.load offset=0x38d align=1 (i32.const 0)))
+ (local.set 0x38e (i64.load offset=0x38e align=1 (i32.const 0)))
+ (local.set 0x38f (i64.load offset=0x38f align=1 (i32.const 0)))
+ (local.set 0x390 (i64.load offset=0x390 align=1 (i32.const 0)))
+ (local.set 0x391 (i64.load offset=0x391 align=1 (i32.const 0)))
+ (local.set 0x392 (i64.load offset=0x392 align=1 (i32.const 0)))
+ (local.set 0x393 (i64.load offset=0x393 align=1 (i32.const 0)))
+ (local.set 0x394 (i64.load offset=0x394 align=1 (i32.const 0)))
+ (local.set 0x395 (i64.load offset=0x395 align=1 (i32.const 0)))
+ (local.set 0x396 (i64.load offset=0x396 align=1 (i32.const 0)))
+ (local.set 0x397 (i64.load offset=0x397 align=1 (i32.const 0)))
+ (local.set 0x398 (i64.load offset=0x398 align=1 (i32.const 0)))
+ (local.set 0x399 (i64.load offset=0x399 align=1 (i32.const 0)))
+ (local.set 0x39a (i64.load offset=0x39a align=1 (i32.const 0)))
+ (local.set 0x39b (i64.load offset=0x39b align=1 (i32.const 0)))
+ (local.set 0x39c (i64.load offset=0x39c align=1 (i32.const 0)))
+ (local.set 0x39d (i64.load offset=0x39d align=1 (i32.const 0)))
+ (local.set 0x39e (i64.load offset=0x39e align=1 (i32.const 0)))
+ (local.set 0x39f (i64.load offset=0x39f align=1 (i32.const 0)))
+ (local.set 0x3a0 (i64.load offset=0x3a0 align=1 (i32.const 0)))
+ (local.set 0x3a1 (i64.load offset=0x3a1 align=1 (i32.const 0)))
+ (local.set 0x3a2 (i64.load offset=0x3a2 align=1 (i32.const 0)))
+ (local.set 0x3a3 (i64.load offset=0x3a3 align=1 (i32.const 0)))
+ (local.set 0x3a4 (i64.load offset=0x3a4 align=1 (i32.const 0)))
+ (local.set 0x3a5 (i64.load offset=0x3a5 align=1 (i32.const 0)))
+ (local.set 0x3a6 (i64.load offset=0x3a6 align=1 (i32.const 0)))
+ (local.set 0x3a7 (i64.load offset=0x3a7 align=1 (i32.const 0)))
+ (local.set 0x3a8 (i64.load offset=0x3a8 align=1 (i32.const 0)))
+ (local.set 0x3a9 (i64.load offset=0x3a9 align=1 (i32.const 0)))
+ (local.set 0x3aa (i64.load offset=0x3aa align=1 (i32.const 0)))
+ (local.set 0x3ab (i64.load offset=0x3ab align=1 (i32.const 0)))
+ (local.set 0x3ac (i64.load offset=0x3ac align=1 (i32.const 0)))
+ (local.set 0x3ad (i64.load offset=0x3ad align=1 (i32.const 0)))
+ (local.set 0x3ae (i64.load offset=0x3ae align=1 (i32.const 0)))
+ (local.set 0x3af (i64.load offset=0x3af align=1 (i32.const 0)))
+ (local.set 0x3b0 (i64.load offset=0x3b0 align=1 (i32.const 0)))
+ (local.set 0x3b1 (i64.load offset=0x3b1 align=1 (i32.const 0)))
+ (local.set 0x3b2 (i64.load offset=0x3b2 align=1 (i32.const 0)))
+ (local.set 0x3b3 (i64.load offset=0x3b3 align=1 (i32.const 0)))
+ (local.set 0x3b4 (i64.load offset=0x3b4 align=1 (i32.const 0)))
+ (local.set 0x3b5 (i64.load offset=0x3b5 align=1 (i32.const 0)))
+ (local.set 0x3b6 (i64.load offset=0x3b6 align=1 (i32.const 0)))
+ (local.set 0x3b7 (i64.load offset=0x3b7 align=1 (i32.const 0)))
+ (local.set 0x3b8 (i64.load offset=0x3b8 align=1 (i32.const 0)))
+ (local.set 0x3b9 (i64.load offset=0x3b9 align=1 (i32.const 0)))
+ (local.set 0x3ba (i64.load offset=0x3ba align=1 (i32.const 0)))
+ (local.set 0x3bb (i64.load offset=0x3bb align=1 (i32.const 0)))
+ (local.set 0x3bc (i64.load offset=0x3bc align=1 (i32.const 0)))
+ (local.set 0x3bd (i64.load offset=0x3bd align=1 (i32.const 0)))
+ (local.set 0x3be (i64.load offset=0x3be align=1 (i32.const 0)))
+ (local.set 0x3bf (i64.load offset=0x3bf align=1 (i32.const 0)))
+ (local.set 0x3c0 (i64.load offset=0x3c0 align=1 (i32.const 0)))
+ (local.set 0x3c1 (i64.load offset=0x3c1 align=1 (i32.const 0)))
+ (local.set 0x3c2 (i64.load offset=0x3c2 align=1 (i32.const 0)))
+ (local.set 0x3c3 (i64.load offset=0x3c3 align=1 (i32.const 0)))
+ (local.set 0x3c4 (i64.load offset=0x3c4 align=1 (i32.const 0)))
+ (local.set 0x3c5 (i64.load offset=0x3c5 align=1 (i32.const 0)))
+ (local.set 0x3c6 (i64.load offset=0x3c6 align=1 (i32.const 0)))
+ (local.set 0x3c7 (i64.load offset=0x3c7 align=1 (i32.const 0)))
+ (local.set 0x3c8 (i64.load offset=0x3c8 align=1 (i32.const 0)))
+ (local.set 0x3c9 (i64.load offset=0x3c9 align=1 (i32.const 0)))
+ (local.set 0x3ca (i64.load offset=0x3ca align=1 (i32.const 0)))
+ (local.set 0x3cb (i64.load offset=0x3cb align=1 (i32.const 0)))
+ (local.set 0x3cc (i64.load offset=0x3cc align=1 (i32.const 0)))
+ (local.set 0x3cd (i64.load offset=0x3cd align=1 (i32.const 0)))
+ (local.set 0x3ce (i64.load offset=0x3ce align=1 (i32.const 0)))
+ (local.set 0x3cf (i64.load offset=0x3cf align=1 (i32.const 0)))
+ (local.set 0x3d0 (i64.load offset=0x3d0 align=1 (i32.const 0)))
+ (local.set 0x3d1 (i64.load offset=0x3d1 align=1 (i32.const 0)))
+ (local.set 0x3d2 (i64.load offset=0x3d2 align=1 (i32.const 0)))
+ (local.set 0x3d3 (i64.load offset=0x3d3 align=1 (i32.const 0)))
+ (local.set 0x3d4 (i64.load offset=0x3d4 align=1 (i32.const 0)))
+ (local.set 0x3d5 (i64.load offset=0x3d5 align=1 (i32.const 0)))
+ (local.set 0x3d6 (i64.load offset=0x3d6 align=1 (i32.const 0)))
+ (local.set 0x3d7 (i64.load offset=0x3d7 align=1 (i32.const 0)))
+ (local.set 0x3d8 (i64.load offset=0x3d8 align=1 (i32.const 0)))
+ (local.set 0x3d9 (i64.load offset=0x3d9 align=1 (i32.const 0)))
+ (local.set 0x3da (i64.load offset=0x3da align=1 (i32.const 0)))
+ (local.set 0x3db (i64.load offset=0x3db align=1 (i32.const 0)))
+ (local.set 0x3dc (i64.load offset=0x3dc align=1 (i32.const 0)))
+ (local.set 0x3dd (i64.load offset=0x3dd align=1 (i32.const 0)))
+ (local.set 0x3de (i64.load offset=0x3de align=1 (i32.const 0)))
+ (local.set 0x3df (i64.load offset=0x3df align=1 (i32.const 0)))
+ (local.set 0x3e0 (i64.load offset=0x3e0 align=1 (i32.const 0)))
+ (local.set 0x3e1 (i64.load offset=0x3e1 align=1 (i32.const 0)))
+ (local.set 0x3e2 (i64.load offset=0x3e2 align=1 (i32.const 0)))
+ (local.set 0x3e3 (i64.load offset=0x3e3 align=1 (i32.const 0)))
+ (local.set 0x3e4 (i64.load offset=0x3e4 align=1 (i32.const 0)))
+ (local.set 0x3e5 (i64.load offset=0x3e5 align=1 (i32.const 0)))
+ (local.set 0x3e6 (i64.load offset=0x3e6 align=1 (i32.const 0)))
+ (local.set 0x3e7 (i64.load offset=0x3e7 align=1 (i32.const 0)))
+ (local.set 0x3e8 (i64.load offset=0x3e8 align=1 (i32.const 0)))
+ (local.set 0x3e9 (i64.load offset=0x3e9 align=1 (i32.const 0)))
+ (local.set 0x3ea (i64.load offset=0x3ea align=1 (i32.const 0)))
+ (local.set 0x3eb (i64.load offset=0x3eb align=1 (i32.const 0)))
+ (local.set 0x3ec (i64.load offset=0x3ec align=1 (i32.const 0)))
+ (local.set 0x3ed (i64.load offset=0x3ed align=1 (i32.const 0)))
+ (local.set 0x3ee (i64.load offset=0x3ee align=1 (i32.const 0)))
+ (local.set 0x3ef (i64.load offset=0x3ef align=1 (i32.const 0)))
+ (local.set 0x3f0 (i64.load offset=0x3f0 align=1 (i32.const 0)))
+ (local.set 0x3f1 (i64.load offset=0x3f1 align=1 (i32.const 0)))
+ (local.set 0x3f2 (i64.load offset=0x3f2 align=1 (i32.const 0)))
+ (local.set 0x3f3 (i64.load offset=0x3f3 align=1 (i32.const 0)))
+ (local.set 0x3f4 (i64.load offset=0x3f4 align=1 (i32.const 0)))
+ (local.set 0x3f5 (i64.load offset=0x3f5 align=1 (i32.const 0)))
+ (local.set 0x3f6 (i64.load offset=0x3f6 align=1 (i32.const 0)))
+ (local.set 0x3f7 (i64.load offset=0x3f7 align=1 (i32.const 0)))
+ (local.set 0x3f8 (i64.load offset=0x3f8 align=1 (i32.const 0)))
+ (local.set 0x3f9 (i64.load offset=0x3f9 align=1 (i32.const 0)))
+ (local.set 0x3fa (i64.load offset=0x3fa align=1 (i32.const 0)))
+ (local.set 0x3fb (i64.load offset=0x3fb align=1 (i32.const 0)))
+ (local.set 0x3fc (i64.load offset=0x3fc align=1 (i32.const 0)))
+ (local.set 0x3fd (i64.load offset=0x3fd align=1 (i32.const 0)))
+ (local.set 0x3fe (i64.load offset=0x3fe align=1 (i32.const 0)))
+ (local.set 0x3ff (i64.load offset=0x3ff align=1 (i32.const 0)))
+ (local.set 0x400 (i64.load offset=0x400 align=1 (i32.const 0)))
+ (local.set 0x401 (i64.load offset=0x401 align=1 (i32.const 0)))
+ (local.set 0x402 (i64.load offset=0x402 align=1 (i32.const 0)))
+ (local.set 0x403 (i64.load offset=0x403 align=1 (i32.const 0)))
+ (local.set 0x404 (i64.load offset=0x404 align=1 (i32.const 0)))
+ (local.set 0x405 (i64.load offset=0x405 align=1 (i32.const 0)))
+ (local.set 0x406 (i64.load offset=0x406 align=1 (i32.const 0)))
+ (local.set 0x407 (i64.load offset=0x407 align=1 (i32.const 0)))
+ (local.set 0x408 (i64.load offset=0x408 align=1 (i32.const 0)))
+ (local.set 0x409 (i64.load offset=0x409 align=1 (i32.const 0)))
+ (local.set 0x40a (i64.load offset=0x40a align=1 (i32.const 0)))
+ (local.set 0x40b (i64.load offset=0x40b align=1 (i32.const 0)))
+ (local.set 0x40c (i64.load offset=0x40c align=1 (i32.const 0)))
+ (local.set 0x40d (i64.load offset=0x40d align=1 (i32.const 0)))
+ (local.set 0x40e (i64.load offset=0x40e align=1 (i32.const 0)))
+ (local.set 0x40f (i64.load offset=0x40f align=1 (i32.const 0)))
+ (local.set 0x410 (i64.load offset=0x410 align=1 (i32.const 0)))
+ (local.set 0x411 (i64.load offset=0x411 align=1 (i32.const 0)))
+ (local.set 0x412 (i64.load offset=0x412 align=1 (i32.const 0)))
+ (local.set 0x413 (i64.load offset=0x413 align=1 (i32.const 0)))
+ (local.set 0x414 (i64.load offset=0x414 align=1 (i32.const 0)))
+ (local.set 0x415 (i64.load offset=0x415 align=1 (i32.const 0)))
+ (local.set 0x416 (i64.load offset=0x416 align=1 (i32.const 0)))
+ (local.set 0x417 (i64.load offset=0x417 align=1 (i32.const 0)))
+ (local.set 0x418 (i64.load offset=0x418 align=1 (i32.const 0)))
+ (local.set 0x419 (i64.load offset=0x419 align=1 (i32.const 0)))
+ (local.set 0x41a (i64.load offset=0x41a align=1 (i32.const 0)))
+ (local.set 0x41b (i64.load offset=0x41b align=1 (i32.const 0)))
+ (local.set 0x41c (i64.load offset=0x41c align=1 (i32.const 0)))
+ (local.set 0x41d (i64.load offset=0x41d align=1 (i32.const 0)))
+ (local.set 0x41e (i64.load offset=0x41e align=1 (i32.const 0)))
+ (local.set 0x41f (i64.load offset=0x41f align=1 (i32.const 0)))
+
+ ;; store the locals back to memory
+ (i64.store offset=0x000 align=1 (i32.const 0) (local.get 0x000))
+ (i64.store offset=0x001 align=1 (i32.const 0) (local.get 0x001))
+ (i64.store offset=0x002 align=1 (i32.const 0) (local.get 0x002))
+ (i64.store offset=0x003 align=1 (i32.const 0) (local.get 0x003))
+ (i64.store offset=0x004 align=1 (i32.const 0) (local.get 0x004))
+ (i64.store offset=0x005 align=1 (i32.const 0) (local.get 0x005))
+ (i64.store offset=0x006 align=1 (i32.const 0) (local.get 0x006))
+ (i64.store offset=0x007 align=1 (i32.const 0) (local.get 0x007))
+ (i64.store offset=0x008 align=1 (i32.const 0) (local.get 0x008))
+ (i64.store offset=0x009 align=1 (i32.const 0) (local.get 0x009))
+ (i64.store offset=0x00a align=1 (i32.const 0) (local.get 0x00a))
+ (i64.store offset=0x00b align=1 (i32.const 0) (local.get 0x00b))
+ (i64.store offset=0x00c align=1 (i32.const 0) (local.get 0x00c))
+ (i64.store offset=0x00d align=1 (i32.const 0) (local.get 0x00d))
+ (i64.store offset=0x00e align=1 (i32.const 0) (local.get 0x00e))
+ (i64.store offset=0x00f align=1 (i32.const 0) (local.get 0x00f))
+ (i64.store offset=0x010 align=1 (i32.const 0) (local.get 0x010))
+ (i64.store offset=0x011 align=1 (i32.const 0) (local.get 0x011))
+ (i64.store offset=0x012 align=1 (i32.const 0) (local.get 0x012))
+ (i64.store offset=0x013 align=1 (i32.const 0) (local.get 0x013))
+ (i64.store offset=0x014 align=1 (i32.const 0) (local.get 0x014))
+ (i64.store offset=0x015 align=1 (i32.const 0) (local.get 0x015))
+ (i64.store offset=0x016 align=1 (i32.const 0) (local.get 0x016))
+ (i64.store offset=0x017 align=1 (i32.const 0) (local.get 0x017))
+ (i64.store offset=0x018 align=1 (i32.const 0) (local.get 0x018))
+ (i64.store offset=0x019 align=1 (i32.const 0) (local.get 0x019))
+ (i64.store offset=0x01a align=1 (i32.const 0) (local.get 0x01a))
+ (i64.store offset=0x01b align=1 (i32.const 0) (local.get 0x01b))
+ (i64.store offset=0x01c align=1 (i32.const 0) (local.get 0x01c))
+ (i64.store offset=0x01d align=1 (i32.const 0) (local.get 0x01d))
+ (i64.store offset=0x01e align=1 (i32.const 0) (local.get 0x01e))
+ (i64.store offset=0x01f align=1 (i32.const 0) (local.get 0x01f))
+ (i64.store offset=0x020 align=1 (i32.const 0) (local.get 0x020))
+ (i64.store offset=0x021 align=1 (i32.const 0) (local.get 0x021))
+ (i64.store offset=0x022 align=1 (i32.const 0) (local.get 0x022))
+ (i64.store offset=0x023 align=1 (i32.const 0) (local.get 0x023))
+ (i64.store offset=0x024 align=1 (i32.const 0) (local.get 0x024))
+ (i64.store offset=0x025 align=1 (i32.const 0) (local.get 0x025))
+ (i64.store offset=0x026 align=1 (i32.const 0) (local.get 0x026))
+ (i64.store offset=0x027 align=1 (i32.const 0) (local.get 0x027))
+ (i64.store offset=0x028 align=1 (i32.const 0) (local.get 0x028))
+ (i64.store offset=0x029 align=1 (i32.const 0) (local.get 0x029))
+ (i64.store offset=0x02a align=1 (i32.const 0) (local.get 0x02a))
+ (i64.store offset=0x02b align=1 (i32.const 0) (local.get 0x02b))
+ (i64.store offset=0x02c align=1 (i32.const 0) (local.get 0x02c))
+ (i64.store offset=0x02d align=1 (i32.const 0) (local.get 0x02d))
+ (i64.store offset=0x02e align=1 (i32.const 0) (local.get 0x02e))
+ (i64.store offset=0x02f align=1 (i32.const 0) (local.get 0x02f))
+ (i64.store offset=0x030 align=1 (i32.const 0) (local.get 0x030))
+ (i64.store offset=0x031 align=1 (i32.const 0) (local.get 0x031))
+ (i64.store offset=0x032 align=1 (i32.const 0) (local.get 0x032))
+ (i64.store offset=0x033 align=1 (i32.const 0) (local.get 0x033))
+ (i64.store offset=0x034 align=1 (i32.const 0) (local.get 0x034))
+ (i64.store offset=0x035 align=1 (i32.const 0) (local.get 0x035))
+ (i64.store offset=0x036 align=1 (i32.const 0) (local.get 0x036))
+ (i64.store offset=0x037 align=1 (i32.const 0) (local.get 0x037))
+ (i64.store offset=0x038 align=1 (i32.const 0) (local.get 0x038))
+ (i64.store offset=0x039 align=1 (i32.const 0) (local.get 0x039))
+ (i64.store offset=0x03a align=1 (i32.const 0) (local.get 0x03a))
+ (i64.store offset=0x03b align=1 (i32.const 0) (local.get 0x03b))
+ (i64.store offset=0x03c align=1 (i32.const 0) (local.get 0x03c))
+ (i64.store offset=0x03d align=1 (i32.const 0) (local.get 0x03d))
+ (i64.store offset=0x03e align=1 (i32.const 0) (local.get 0x03e))
+ (i64.store offset=0x03f align=1 (i32.const 0) (local.get 0x03f))
+ (i64.store offset=0x040 align=1 (i32.const 0) (local.get 0x040))
+ (i64.store offset=0x041 align=1 (i32.const 0) (local.get 0x041))
+ (i64.store offset=0x042 align=1 (i32.const 0) (local.get 0x042))
+ (i64.store offset=0x043 align=1 (i32.const 0) (local.get 0x043))
+ (i64.store offset=0x044 align=1 (i32.const 0) (local.get 0x044))
+ (i64.store offset=0x045 align=1 (i32.const 0) (local.get 0x045))
+ (i64.store offset=0x046 align=1 (i32.const 0) (local.get 0x046))
+ (i64.store offset=0x047 align=1 (i32.const 0) (local.get 0x047))
+ (i64.store offset=0x048 align=1 (i32.const 0) (local.get 0x048))
+ (i64.store offset=0x049 align=1 (i32.const 0) (local.get 0x049))
+ (i64.store offset=0x04a align=1 (i32.const 0) (local.get 0x04a))
+ (i64.store offset=0x04b align=1 (i32.const 0) (local.get 0x04b))
+ (i64.store offset=0x04c align=1 (i32.const 0) (local.get 0x04c))
+ (i64.store offset=0x04d align=1 (i32.const 0) (local.get 0x04d))
+ (i64.store offset=0x04e align=1 (i32.const 0) (local.get 0x04e))
+ (i64.store offset=0x04f align=1 (i32.const 0) (local.get 0x04f))
+ (i64.store offset=0x050 align=1 (i32.const 0) (local.get 0x050))
+ (i64.store offset=0x051 align=1 (i32.const 0) (local.get 0x051))
+ (i64.store offset=0x052 align=1 (i32.const 0) (local.get 0x052))
+ (i64.store offset=0x053 align=1 (i32.const 0) (local.get 0x053))
+ (i64.store offset=0x054 align=1 (i32.const 0) (local.get 0x054))
+ (i64.store offset=0x055 align=1 (i32.const 0) (local.get 0x055))
+ (i64.store offset=0x056 align=1 (i32.const 0) (local.get 0x056))
+ (i64.store offset=0x057 align=1 (i32.const 0) (local.get 0x057))
+ (i64.store offset=0x058 align=1 (i32.const 0) (local.get 0x058))
+ (i64.store offset=0x059 align=1 (i32.const 0) (local.get 0x059))
+ (i64.store offset=0x05a align=1 (i32.const 0) (local.get 0x05a))
+ (i64.store offset=0x05b align=1 (i32.const 0) (local.get 0x05b))
+ (i64.store offset=0x05c align=1 (i32.const 0) (local.get 0x05c))
+ (i64.store offset=0x05d align=1 (i32.const 0) (local.get 0x05d))
+ (i64.store offset=0x05e align=1 (i32.const 0) (local.get 0x05e))
+ (i64.store offset=0x05f align=1 (i32.const 0) (local.get 0x05f))
+ (i64.store offset=0x060 align=1 (i32.const 0) (local.get 0x060))
+ (i64.store offset=0x061 align=1 (i32.const 0) (local.get 0x061))
+ (i64.store offset=0x062 align=1 (i32.const 0) (local.get 0x062))
+ (i64.store offset=0x063 align=1 (i32.const 0) (local.get 0x063))
+ (i64.store offset=0x064 align=1 (i32.const 0) (local.get 0x064))
+ (i64.store offset=0x065 align=1 (i32.const 0) (local.get 0x065))
+ (i64.store offset=0x066 align=1 (i32.const 0) (local.get 0x066))
+ (i64.store offset=0x067 align=1 (i32.const 0) (local.get 0x067))
+ (i64.store offset=0x068 align=1 (i32.const 0) (local.get 0x068))
+ (i64.store offset=0x069 align=1 (i32.const 0) (local.get 0x069))
+ (i64.store offset=0x06a align=1 (i32.const 0) (local.get 0x06a))
+ (i64.store offset=0x06b align=1 (i32.const 0) (local.get 0x06b))
+ (i64.store offset=0x06c align=1 (i32.const 0) (local.get 0x06c))
+ (i64.store offset=0x06d align=1 (i32.const 0) (local.get 0x06d))
+ (i64.store offset=0x06e align=1 (i32.const 0) (local.get 0x06e))
+ (i64.store offset=0x06f align=1 (i32.const 0) (local.get 0x06f))
+ (i64.store offset=0x070 align=1 (i32.const 0) (local.get 0x070))
+ (i64.store offset=0x071 align=1 (i32.const 0) (local.get 0x071))
+ (i64.store offset=0x072 align=1 (i32.const 0) (local.get 0x072))
+ (i64.store offset=0x073 align=1 (i32.const 0) (local.get 0x073))
+ (i64.store offset=0x074 align=1 (i32.const 0) (local.get 0x074))
+ (i64.store offset=0x075 align=1 (i32.const 0) (local.get 0x075))
+ (i64.store offset=0x076 align=1 (i32.const 0) (local.get 0x076))
+ (i64.store offset=0x077 align=1 (i32.const 0) (local.get 0x077))
+ (i64.store offset=0x078 align=1 (i32.const 0) (local.get 0x078))
+ (i64.store offset=0x079 align=1 (i32.const 0) (local.get 0x079))
+ (i64.store offset=0x07a align=1 (i32.const 0) (local.get 0x07a))
+ (i64.store offset=0x07b align=1 (i32.const 0) (local.get 0x07b))
+ (i64.store offset=0x07c align=1 (i32.const 0) (local.get 0x07c))
+ (i64.store offset=0x07d align=1 (i32.const 0) (local.get 0x07d))
+ (i64.store offset=0x07e align=1 (i32.const 0) (local.get 0x07e))
+ (i64.store offset=0x07f align=1 (i32.const 0) (local.get 0x07f))
+ (i64.store offset=0x080 align=1 (i32.const 0) (local.get 0x080))
+ (i64.store offset=0x081 align=1 (i32.const 0) (local.get 0x081))
+ (i64.store offset=0x082 align=1 (i32.const 0) (local.get 0x082))
+ (i64.store offset=0x083 align=1 (i32.const 0) (local.get 0x083))
+ (i64.store offset=0x084 align=1 (i32.const 0) (local.get 0x084))
+ (i64.store offset=0x085 align=1 (i32.const 0) (local.get 0x085))
+ (i64.store offset=0x086 align=1 (i32.const 0) (local.get 0x086))
+ (i64.store offset=0x087 align=1 (i32.const 0) (local.get 0x087))
+ (i64.store offset=0x088 align=1 (i32.const 0) (local.get 0x088))
+ (i64.store offset=0x089 align=1 (i32.const 0) (local.get 0x089))
+ (i64.store offset=0x08a align=1 (i32.const 0) (local.get 0x08a))
+ (i64.store offset=0x08b align=1 (i32.const 0) (local.get 0x08b))
+ (i64.store offset=0x08c align=1 (i32.const 0) (local.get 0x08c))
+ (i64.store offset=0x08d align=1 (i32.const 0) (local.get 0x08d))
+ (i64.store offset=0x08e align=1 (i32.const 0) (local.get 0x08e))
+ (i64.store offset=0x08f align=1 (i32.const 0) (local.get 0x08f))
+ (i64.store offset=0x090 align=1 (i32.const 0) (local.get 0x090))
+ (i64.store offset=0x091 align=1 (i32.const 0) (local.get 0x091))
+ (i64.store offset=0x092 align=1 (i32.const 0) (local.get 0x092))
+ (i64.store offset=0x093 align=1 (i32.const 0) (local.get 0x093))
+ (i64.store offset=0x094 align=1 (i32.const 0) (local.get 0x094))
+ (i64.store offset=0x095 align=1 (i32.const 0) (local.get 0x095))
+ (i64.store offset=0x096 align=1 (i32.const 0) (local.get 0x096))
+ (i64.store offset=0x097 align=1 (i32.const 0) (local.get 0x097))
+ (i64.store offset=0x098 align=1 (i32.const 0) (local.get 0x098))
+ (i64.store offset=0x099 align=1 (i32.const 0) (local.get 0x099))
+ (i64.store offset=0x09a align=1 (i32.const 0) (local.get 0x09a))
+ (i64.store offset=0x09b align=1 (i32.const 0) (local.get 0x09b))
+ (i64.store offset=0x09c align=1 (i32.const 0) (local.get 0x09c))
+ (i64.store offset=0x09d align=1 (i32.const 0) (local.get 0x09d))
+ (i64.store offset=0x09e align=1 (i32.const 0) (local.get 0x09e))
+ (i64.store offset=0x09f align=1 (i32.const 0) (local.get 0x09f))
+ (i64.store offset=0x0a0 align=1 (i32.const 0) (local.get 0x0a0))
+ (i64.store offset=0x0a1 align=1 (i32.const 0) (local.get 0x0a1))
+ (i64.store offset=0x0a2 align=1 (i32.const 0) (local.get 0x0a2))
+ (i64.store offset=0x0a3 align=1 (i32.const 0) (local.get 0x0a3))
+ (i64.store offset=0x0a4 align=1 (i32.const 0) (local.get 0x0a4))
+ (i64.store offset=0x0a5 align=1 (i32.const 0) (local.get 0x0a5))
+ (i64.store offset=0x0a6 align=1 (i32.const 0) (local.get 0x0a6))
+ (i64.store offset=0x0a7 align=1 (i32.const 0) (local.get 0x0a7))
+ (i64.store offset=0x0a8 align=1 (i32.const 0) (local.get 0x0a8))
+ (i64.store offset=0x0a9 align=1 (i32.const 0) (local.get 0x0a9))
+ (i64.store offset=0x0aa align=1 (i32.const 0) (local.get 0x0aa))
+ (i64.store offset=0x0ab align=1 (i32.const 0) (local.get 0x0ab))
+ (i64.store offset=0x0ac align=1 (i32.const 0) (local.get 0x0ac))
+ (i64.store offset=0x0ad align=1 (i32.const 0) (local.get 0x0ad))
+ (i64.store offset=0x0ae align=1 (i32.const 0) (local.get 0x0ae))
+ (i64.store offset=0x0af align=1 (i32.const 0) (local.get 0x0af))
+ (i64.store offset=0x0b0 align=1 (i32.const 0) (local.get 0x0b0))
+ (i64.store offset=0x0b1 align=1 (i32.const 0) (local.get 0x0b1))
+ (i64.store offset=0x0b2 align=1 (i32.const 0) (local.get 0x0b2))
+ (i64.store offset=0x0b3 align=1 (i32.const 0) (local.get 0x0b3))
+ (i64.store offset=0x0b4 align=1 (i32.const 0) (local.get 0x0b4))
+ (i64.store offset=0x0b5 align=1 (i32.const 0) (local.get 0x0b5))
+ (i64.store offset=0x0b6 align=1 (i32.const 0) (local.get 0x0b6))
+ (i64.store offset=0x0b7 align=1 (i32.const 0) (local.get 0x0b7))
+ (i64.store offset=0x0b8 align=1 (i32.const 0) (local.get 0x0b8))
+ (i64.store offset=0x0b9 align=1 (i32.const 0) (local.get 0x0b9))
+ (i64.store offset=0x0ba align=1 (i32.const 0) (local.get 0x0ba))
+ (i64.store offset=0x0bb align=1 (i32.const 0) (local.get 0x0bb))
+ (i64.store offset=0x0bc align=1 (i32.const 0) (local.get 0x0bc))
+ (i64.store offset=0x0bd align=1 (i32.const 0) (local.get 0x0bd))
+ (i64.store offset=0x0be align=1 (i32.const 0) (local.get 0x0be))
+ (i64.store offset=0x0bf align=1 (i32.const 0) (local.get 0x0bf))
+ (i64.store offset=0x0c0 align=1 (i32.const 0) (local.get 0x0c0))
+ (i64.store offset=0x0c1 align=1 (i32.const 0) (local.get 0x0c1))
+ (i64.store offset=0x0c2 align=1 (i32.const 0) (local.get 0x0c2))
+ (i64.store offset=0x0c3 align=1 (i32.const 0) (local.get 0x0c3))
+ (i64.store offset=0x0c4 align=1 (i32.const 0) (local.get 0x0c4))
+ (i64.store offset=0x0c5 align=1 (i32.const 0) (local.get 0x0c5))
+ (i64.store offset=0x0c6 align=1 (i32.const 0) (local.get 0x0c6))
+ (i64.store offset=0x0c7 align=1 (i32.const 0) (local.get 0x0c7))
+ (i64.store offset=0x0c8 align=1 (i32.const 0) (local.get 0x0c8))
+ (i64.store offset=0x0c9 align=1 (i32.const 0) (local.get 0x0c9))
+ (i64.store offset=0x0ca align=1 (i32.const 0) (local.get 0x0ca))
+ (i64.store offset=0x0cb align=1 (i32.const 0) (local.get 0x0cb))
+ (i64.store offset=0x0cc align=1 (i32.const 0) (local.get 0x0cc))
+ (i64.store offset=0x0cd align=1 (i32.const 0) (local.get 0x0cd))
+ (i64.store offset=0x0ce align=1 (i32.const 0) (local.get 0x0ce))
+ (i64.store offset=0x0cf align=1 (i32.const 0) (local.get 0x0cf))
+ (i64.store offset=0x0d0 align=1 (i32.const 0) (local.get 0x0d0))
+ (i64.store offset=0x0d1 align=1 (i32.const 0) (local.get 0x0d1))
+ (i64.store offset=0x0d2 align=1 (i32.const 0) (local.get 0x0d2))
+ (i64.store offset=0x0d3 align=1 (i32.const 0) (local.get 0x0d3))
+ (i64.store offset=0x0d4 align=1 (i32.const 0) (local.get 0x0d4))
+ (i64.store offset=0x0d5 align=1 (i32.const 0) (local.get 0x0d5))
+ (i64.store offset=0x0d6 align=1 (i32.const 0) (local.get 0x0d6))
+ (i64.store offset=0x0d7 align=1 (i32.const 0) (local.get 0x0d7))
+ (i64.store offset=0x0d8 align=1 (i32.const 0) (local.get 0x0d8))
+ (i64.store offset=0x0d9 align=1 (i32.const 0) (local.get 0x0d9))
+ (i64.store offset=0x0da align=1 (i32.const 0) (local.get 0x0da))
+ (i64.store offset=0x0db align=1 (i32.const 0) (local.get 0x0db))
+ (i64.store offset=0x0dc align=1 (i32.const 0) (local.get 0x0dc))
+ (i64.store offset=0x0dd align=1 (i32.const 0) (local.get 0x0dd))
+ (i64.store offset=0x0de align=1 (i32.const 0) (local.get 0x0de))
+ (i64.store offset=0x0df align=1 (i32.const 0) (local.get 0x0df))
+ (i64.store offset=0x0e0 align=1 (i32.const 0) (local.get 0x0e0))
+ (i64.store offset=0x0e1 align=1 (i32.const 0) (local.get 0x0e1))
+ (i64.store offset=0x0e2 align=1 (i32.const 0) (local.get 0x0e2))
+ (i64.store offset=0x0e3 align=1 (i32.const 0) (local.get 0x0e3))
+ (i64.store offset=0x0e4 align=1 (i32.const 0) (local.get 0x0e4))
+ (i64.store offset=0x0e5 align=1 (i32.const 0) (local.get 0x0e5))
+ (i64.store offset=0x0e6 align=1 (i32.const 0) (local.get 0x0e6))
+ (i64.store offset=0x0e7 align=1 (i32.const 0) (local.get 0x0e7))
+ (i64.store offset=0x0e8 align=1 (i32.const 0) (local.get 0x0e8))
+ (i64.store offset=0x0e9 align=1 (i32.const 0) (local.get 0x0e9))
+ (i64.store offset=0x0ea align=1 (i32.const 0) (local.get 0x0ea))
+ (i64.store offset=0x0eb align=1 (i32.const 0) (local.get 0x0eb))
+ (i64.store offset=0x0ec align=1 (i32.const 0) (local.get 0x0ec))
+ (i64.store offset=0x0ed align=1 (i32.const 0) (local.get 0x0ed))
+ (i64.store offset=0x0ee align=1 (i32.const 0) (local.get 0x0ee))
+ (i64.store offset=0x0ef align=1 (i32.const 0) (local.get 0x0ef))
+ (i64.store offset=0x0f0 align=1 (i32.const 0) (local.get 0x0f0))
+ (i64.store offset=0x0f1 align=1 (i32.const 0) (local.get 0x0f1))
+ (i64.store offset=0x0f2 align=1 (i32.const 0) (local.get 0x0f2))
+ (i64.store offset=0x0f3 align=1 (i32.const 0) (local.get 0x0f3))
+ (i64.store offset=0x0f4 align=1 (i32.const 0) (local.get 0x0f4))
+ (i64.store offset=0x0f5 align=1 (i32.const 0) (local.get 0x0f5))
+ (i64.store offset=0x0f6 align=1 (i32.const 0) (local.get 0x0f6))
+ (i64.store offset=0x0f7 align=1 (i32.const 0) (local.get 0x0f7))
+ (i64.store offset=0x0f8 align=1 (i32.const 0) (local.get 0x0f8))
+ (i64.store offset=0x0f9 align=1 (i32.const 0) (local.get 0x0f9))
+ (i64.store offset=0x0fa align=1 (i32.const 0) (local.get 0x0fa))
+ (i64.store offset=0x0fb align=1 (i32.const 0) (local.get 0x0fb))
+ (i64.store offset=0x0fc align=1 (i32.const 0) (local.get 0x0fc))
+ (i64.store offset=0x0fd align=1 (i32.const 0) (local.get 0x0fd))
+ (i64.store offset=0x0fe align=1 (i32.const 0) (local.get 0x0fe))
+ (i64.store offset=0x0ff align=1 (i32.const 0) (local.get 0x0ff))
+ (i64.store offset=0x100 align=1 (i32.const 0) (local.get 0x100))
+ (i64.store offset=0x101 align=1 (i32.const 0) (local.get 0x101))
+ (i64.store offset=0x102 align=1 (i32.const 0) (local.get 0x102))
+ (i64.store offset=0x103 align=1 (i32.const 0) (local.get 0x103))
+ (i64.store offset=0x104 align=1 (i32.const 0) (local.get 0x104))
+ (i64.store offset=0x105 align=1 (i32.const 0) (local.get 0x105))
+ (i64.store offset=0x106 align=1 (i32.const 0) (local.get 0x106))
+ (i64.store offset=0x107 align=1 (i32.const 0) (local.get 0x107))
+ (i64.store offset=0x108 align=1 (i32.const 0) (local.get 0x108))
+ (i64.store offset=0x109 align=1 (i32.const 0) (local.get 0x109))
+ (i64.store offset=0x10a align=1 (i32.const 0) (local.get 0x10a))
+ (i64.store offset=0x10b align=1 (i32.const 0) (local.get 0x10b))
+ (i64.store offset=0x10c align=1 (i32.const 0) (local.get 0x10c))
+ (i64.store offset=0x10d align=1 (i32.const 0) (local.get 0x10d))
+ (i64.store offset=0x10e align=1 (i32.const 0) (local.get 0x10e))
+ (i64.store offset=0x10f align=1 (i32.const 0) (local.get 0x10f))
+ (i64.store offset=0x110 align=1 (i32.const 0) (local.get 0x110))
+ (i64.store offset=0x111 align=1 (i32.const 0) (local.get 0x111))
+ (i64.store offset=0x112 align=1 (i32.const 0) (local.get 0x112))
+ (i64.store offset=0x113 align=1 (i32.const 0) (local.get 0x113))
+ (i64.store offset=0x114 align=1 (i32.const 0) (local.get 0x114))
+ (i64.store offset=0x115 align=1 (i32.const 0) (local.get 0x115))
+ (i64.store offset=0x116 align=1 (i32.const 0) (local.get 0x116))
+ (i64.store offset=0x117 align=1 (i32.const 0) (local.get 0x117))
+ (i64.store offset=0x118 align=1 (i32.const 0) (local.get 0x118))
+ (i64.store offset=0x119 align=1 (i32.const 0) (local.get 0x119))
+ (i64.store offset=0x11a align=1 (i32.const 0) (local.get 0x11a))
+ (i64.store offset=0x11b align=1 (i32.const 0) (local.get 0x11b))
+ (i64.store offset=0x11c align=1 (i32.const 0) (local.get 0x11c))
+ (i64.store offset=0x11d align=1 (i32.const 0) (local.get 0x11d))
+ (i64.store offset=0x11e align=1 (i32.const 0) (local.get 0x11e))
+ (i64.store offset=0x11f align=1 (i32.const 0) (local.get 0x11f))
+ (i64.store offset=0x120 align=1 (i32.const 0) (local.get 0x120))
+ (i64.store offset=0x121 align=1 (i32.const 0) (local.get 0x121))
+ (i64.store offset=0x122 align=1 (i32.const 0) (local.get 0x122))
+ (i64.store offset=0x123 align=1 (i32.const 0) (local.get 0x123))
+ (i64.store offset=0x124 align=1 (i32.const 0) (local.get 0x124))
+ (i64.store offset=0x125 align=1 (i32.const 0) (local.get 0x125))
+ (i64.store offset=0x126 align=1 (i32.const 0) (local.get 0x126))
+ (i64.store offset=0x127 align=1 (i32.const 0) (local.get 0x127))
+ (i64.store offset=0x128 align=1 (i32.const 0) (local.get 0x128))
+ (i64.store offset=0x129 align=1 (i32.const 0) (local.get 0x129))
+ (i64.store offset=0x12a align=1 (i32.const 0) (local.get 0x12a))
+ (i64.store offset=0x12b align=1 (i32.const 0) (local.get 0x12b))
+ (i64.store offset=0x12c align=1 (i32.const 0) (local.get 0x12c))
+ (i64.store offset=0x12d align=1 (i32.const 0) (local.get 0x12d))
+ (i64.store offset=0x12e align=1 (i32.const 0) (local.get 0x12e))
+ (i64.store offset=0x12f align=1 (i32.const 0) (local.get 0x12f))
+ (i64.store offset=0x130 align=1 (i32.const 0) (local.get 0x130))
+ (i64.store offset=0x131 align=1 (i32.const 0) (local.get 0x131))
+ (i64.store offset=0x132 align=1 (i32.const 0) (local.get 0x132))
+ (i64.store offset=0x133 align=1 (i32.const 0) (local.get 0x133))
+ (i64.store offset=0x134 align=1 (i32.const 0) (local.get 0x134))
+ (i64.store offset=0x135 align=1 (i32.const 0) (local.get 0x135))
+ (i64.store offset=0x136 align=1 (i32.const 0) (local.get 0x136))
+ (i64.store offset=0x137 align=1 (i32.const 0) (local.get 0x137))
+ (i64.store offset=0x138 align=1 (i32.const 0) (local.get 0x138))
+ (i64.store offset=0x139 align=1 (i32.const 0) (local.get 0x139))
+ (i64.store offset=0x13a align=1 (i32.const 0) (local.get 0x13a))
+ (i64.store offset=0x13b align=1 (i32.const 0) (local.get 0x13b))
+ (i64.store offset=0x13c align=1 (i32.const 0) (local.get 0x13c))
+ (i64.store offset=0x13d align=1 (i32.const 0) (local.get 0x13d))
+ (i64.store offset=0x13e align=1 (i32.const 0) (local.get 0x13e))
+ (i64.store offset=0x13f align=1 (i32.const 0) (local.get 0x13f))
+ (i64.store offset=0x140 align=1 (i32.const 0) (local.get 0x140))
+ (i64.store offset=0x141 align=1 (i32.const 0) (local.get 0x141))
+ (i64.store offset=0x142 align=1 (i32.const 0) (local.get 0x142))
+ (i64.store offset=0x143 align=1 (i32.const 0) (local.get 0x143))
+ (i64.store offset=0x144 align=1 (i32.const 0) (local.get 0x144))
+ (i64.store offset=0x145 align=1 (i32.const 0) (local.get 0x145))
+ (i64.store offset=0x146 align=1 (i32.const 0) (local.get 0x146))
+ (i64.store offset=0x147 align=1 (i32.const 0) (local.get 0x147))
+ (i64.store offset=0x148 align=1 (i32.const 0) (local.get 0x148))
+ (i64.store offset=0x149 align=1 (i32.const 0) (local.get 0x149))
+ (i64.store offset=0x14a align=1 (i32.const 0) (local.get 0x14a))
+ (i64.store offset=0x14b align=1 (i32.const 0) (local.get 0x14b))
+ (i64.store offset=0x14c align=1 (i32.const 0) (local.get 0x14c))
+ (i64.store offset=0x14d align=1 (i32.const 0) (local.get 0x14d))
+ (i64.store offset=0x14e align=1 (i32.const 0) (local.get 0x14e))
+ (i64.store offset=0x14f align=1 (i32.const 0) (local.get 0x14f))
+ (i64.store offset=0x150 align=1 (i32.const 0) (local.get 0x150))
+ (i64.store offset=0x151 align=1 (i32.const 0) (local.get 0x151))
+ (i64.store offset=0x152 align=1 (i32.const 0) (local.get 0x152))
+ (i64.store offset=0x153 align=1 (i32.const 0) (local.get 0x153))
+ (i64.store offset=0x154 align=1 (i32.const 0) (local.get 0x154))
+ (i64.store offset=0x155 align=1 (i32.const 0) (local.get 0x155))
+ (i64.store offset=0x156 align=1 (i32.const 0) (local.get 0x156))
+ (i64.store offset=0x157 align=1 (i32.const 0) (local.get 0x157))
+ (i64.store offset=0x158 align=1 (i32.const 0) (local.get 0x158))
+ (i64.store offset=0x159 align=1 (i32.const 0) (local.get 0x159))
+ (i64.store offset=0x15a align=1 (i32.const 0) (local.get 0x15a))
+ (i64.store offset=0x15b align=1 (i32.const 0) (local.get 0x15b))
+ (i64.store offset=0x15c align=1 (i32.const 0) (local.get 0x15c))
+ (i64.store offset=0x15d align=1 (i32.const 0) (local.get 0x15d))
+ (i64.store offset=0x15e align=1 (i32.const 0) (local.get 0x15e))
+ (i64.store offset=0x15f align=1 (i32.const 0) (local.get 0x15f))
+ (i64.store offset=0x160 align=1 (i32.const 0) (local.get 0x160))
+ (i64.store offset=0x161 align=1 (i32.const 0) (local.get 0x161))
+ (i64.store offset=0x162 align=1 (i32.const 0) (local.get 0x162))
+ (i64.store offset=0x163 align=1 (i32.const 0) (local.get 0x163))
+ (i64.store offset=0x164 align=1 (i32.const 0) (local.get 0x164))
+ (i64.store offset=0x165 align=1 (i32.const 0) (local.get 0x165))
+ (i64.store offset=0x166 align=1 (i32.const 0) (local.get 0x166))
+ (i64.store offset=0x167 align=1 (i32.const 0) (local.get 0x167))
+ (i64.store offset=0x168 align=1 (i32.const 0) (local.get 0x168))
+ (i64.store offset=0x169 align=1 (i32.const 0) (local.get 0x169))
+ (i64.store offset=0x16a align=1 (i32.const 0) (local.get 0x16a))
+ (i64.store offset=0x16b align=1 (i32.const 0) (local.get 0x16b))
+ (i64.store offset=0x16c align=1 (i32.const 0) (local.get 0x16c))
+ (i64.store offset=0x16d align=1 (i32.const 0) (local.get 0x16d))
+ (i64.store offset=0x16e align=1 (i32.const 0) (local.get 0x16e))
+ (i64.store offset=0x16f align=1 (i32.const 0) (local.get 0x16f))
+ (i64.store offset=0x170 align=1 (i32.const 0) (local.get 0x170))
+ (i64.store offset=0x171 align=1 (i32.const 0) (local.get 0x171))
+ (i64.store offset=0x172 align=1 (i32.const 0) (local.get 0x172))
+ (i64.store offset=0x173 align=1 (i32.const 0) (local.get 0x173))
+ (i64.store offset=0x174 align=1 (i32.const 0) (local.get 0x174))
+ (i64.store offset=0x175 align=1 (i32.const 0) (local.get 0x175))
+ (i64.store offset=0x176 align=1 (i32.const 0) (local.get 0x176))
+ (i64.store offset=0x177 align=1 (i32.const 0) (local.get 0x177))
+ (i64.store offset=0x178 align=1 (i32.const 0) (local.get 0x178))
+ (i64.store offset=0x179 align=1 (i32.const 0) (local.get 0x179))
+ (i64.store offset=0x17a align=1 (i32.const 0) (local.get 0x17a))
+ (i64.store offset=0x17b align=1 (i32.const 0) (local.get 0x17b))
+ (i64.store offset=0x17c align=1 (i32.const 0) (local.get 0x17c))
+ (i64.store offset=0x17d align=1 (i32.const 0) (local.get 0x17d))
+ (i64.store offset=0x17e align=1 (i32.const 0) (local.get 0x17e))
+ (i64.store offset=0x17f align=1 (i32.const 0) (local.get 0x17f))
+ (i64.store offset=0x180 align=1 (i32.const 0) (local.get 0x180))
+ (i64.store offset=0x181 align=1 (i32.const 0) (local.get 0x181))
+ (i64.store offset=0x182 align=1 (i32.const 0) (local.get 0x182))
+ (i64.store offset=0x183 align=1 (i32.const 0) (local.get 0x183))
+ (i64.store offset=0x184 align=1 (i32.const 0) (local.get 0x184))
+ (i64.store offset=0x185 align=1 (i32.const 0) (local.get 0x185))
+ (i64.store offset=0x186 align=1 (i32.const 0) (local.get 0x186))
+ (i64.store offset=0x187 align=1 (i32.const 0) (local.get 0x187))
+ (i64.store offset=0x188 align=1 (i32.const 0) (local.get 0x188))
+ (i64.store offset=0x189 align=1 (i32.const 0) (local.get 0x189))
+ (i64.store offset=0x18a align=1 (i32.const 0) (local.get 0x18a))
+ (i64.store offset=0x18b align=1 (i32.const 0) (local.get 0x18b))
+ (i64.store offset=0x18c align=1 (i32.const 0) (local.get 0x18c))
+ (i64.store offset=0x18d align=1 (i32.const 0) (local.get 0x18d))
+ (i64.store offset=0x18e align=1 (i32.const 0) (local.get 0x18e))
+ (i64.store offset=0x18f align=1 (i32.const 0) (local.get 0x18f))
+ (i64.store offset=0x190 align=1 (i32.const 0) (local.get 0x190))
+ (i64.store offset=0x191 align=1 (i32.const 0) (local.get 0x191))
+ (i64.store offset=0x192 align=1 (i32.const 0) (local.get 0x192))
+ (i64.store offset=0x193 align=1 (i32.const 0) (local.get 0x193))
+ (i64.store offset=0x194 align=1 (i32.const 0) (local.get 0x194))
+ (i64.store offset=0x195 align=1 (i32.const 0) (local.get 0x195))
+ (i64.store offset=0x196 align=1 (i32.const 0) (local.get 0x196))
+ (i64.store offset=0x197 align=1 (i32.const 0) (local.get 0x197))
+ (i64.store offset=0x198 align=1 (i32.const 0) (local.get 0x198))
+ (i64.store offset=0x199 align=1 (i32.const 0) (local.get 0x199))
+ (i64.store offset=0x19a align=1 (i32.const 0) (local.get 0x19a))
+ (i64.store offset=0x19b align=1 (i32.const 0) (local.get 0x19b))
+ (i64.store offset=0x19c align=1 (i32.const 0) (local.get 0x19c))
+ (i64.store offset=0x19d align=1 (i32.const 0) (local.get 0x19d))
+ (i64.store offset=0x19e align=1 (i32.const 0) (local.get 0x19e))
+ (i64.store offset=0x19f align=1 (i32.const 0) (local.get 0x19f))
+ (i64.store offset=0x1a0 align=1 (i32.const 0) (local.get 0x1a0))
+ (i64.store offset=0x1a1 align=1 (i32.const 0) (local.get 0x1a1))
+ (i64.store offset=0x1a2 align=1 (i32.const 0) (local.get 0x1a2))
+ (i64.store offset=0x1a3 align=1 (i32.const 0) (local.get 0x1a3))
+ (i64.store offset=0x1a4 align=1 (i32.const 0) (local.get 0x1a4))
+ (i64.store offset=0x1a5 align=1 (i32.const 0) (local.get 0x1a5))
+ (i64.store offset=0x1a6 align=1 (i32.const 0) (local.get 0x1a6))
+ (i64.store offset=0x1a7 align=1 (i32.const 0) (local.get 0x1a7))
+ (i64.store offset=0x1a8 align=1 (i32.const 0) (local.get 0x1a8))
+ (i64.store offset=0x1a9 align=1 (i32.const 0) (local.get 0x1a9))
+ (i64.store offset=0x1aa align=1 (i32.const 0) (local.get 0x1aa))
+ (i64.store offset=0x1ab align=1 (i32.const 0) (local.get 0x1ab))
+ (i64.store offset=0x1ac align=1 (i32.const 0) (local.get 0x1ac))
+ (i64.store offset=0x1ad align=1 (i32.const 0) (local.get 0x1ad))
+ (i64.store offset=0x1ae align=1 (i32.const 0) (local.get 0x1ae))
+ (i64.store offset=0x1af align=1 (i32.const 0) (local.get 0x1af))
+ (i64.store offset=0x1b0 align=1 (i32.const 0) (local.get 0x1b0))
+ (i64.store offset=0x1b1 align=1 (i32.const 0) (local.get 0x1b1))
+ (i64.store offset=0x1b2 align=1 (i32.const 0) (local.get 0x1b2))
+ (i64.store offset=0x1b3 align=1 (i32.const 0) (local.get 0x1b3))
+ (i64.store offset=0x1b4 align=1 (i32.const 0) (local.get 0x1b4))
+ (i64.store offset=0x1b5 align=1 (i32.const 0) (local.get 0x1b5))
+ (i64.store offset=0x1b6 align=1 (i32.const 0) (local.get 0x1b6))
+ (i64.store offset=0x1b7 align=1 (i32.const 0) (local.get 0x1b7))
+ (i64.store offset=0x1b8 align=1 (i32.const 0) (local.get 0x1b8))
+ (i64.store offset=0x1b9 align=1 (i32.const 0) (local.get 0x1b9))
+ (i64.store offset=0x1ba align=1 (i32.const 0) (local.get 0x1ba))
+ (i64.store offset=0x1bb align=1 (i32.const 0) (local.get 0x1bb))
+ (i64.store offset=0x1bc align=1 (i32.const 0) (local.get 0x1bc))
+ (i64.store offset=0x1bd align=1 (i32.const 0) (local.get 0x1bd))
+ (i64.store offset=0x1be align=1 (i32.const 0) (local.get 0x1be))
+ (i64.store offset=0x1bf align=1 (i32.const 0) (local.get 0x1bf))
+ (i64.store offset=0x1c0 align=1 (i32.const 0) (local.get 0x1c0))
+ (i64.store offset=0x1c1 align=1 (i32.const 0) (local.get 0x1c1))
+ (i64.store offset=0x1c2 align=1 (i32.const 0) (local.get 0x1c2))
+ (i64.store offset=0x1c3 align=1 (i32.const 0) (local.get 0x1c3))
+ (i64.store offset=0x1c4 align=1 (i32.const 0) (local.get 0x1c4))
+ (i64.store offset=0x1c5 align=1 (i32.const 0) (local.get 0x1c5))
+ (i64.store offset=0x1c6 align=1 (i32.const 0) (local.get 0x1c6))
+ (i64.store offset=0x1c7 align=1 (i32.const 0) (local.get 0x1c7))
+ (i64.store offset=0x1c8 align=1 (i32.const 0) (local.get 0x1c8))
+ (i64.store offset=0x1c9 align=1 (i32.const 0) (local.get 0x1c9))
+ (i64.store offset=0x1ca align=1 (i32.const 0) (local.get 0x1ca))
+ (i64.store offset=0x1cb align=1 (i32.const 0) (local.get 0x1cb))
+ (i64.store offset=0x1cc align=1 (i32.const 0) (local.get 0x1cc))
+ (i64.store offset=0x1cd align=1 (i32.const 0) (local.get 0x1cd))
+ (i64.store offset=0x1ce align=1 (i32.const 0) (local.get 0x1ce))
+ (i64.store offset=0x1cf align=1 (i32.const 0) (local.get 0x1cf))
+ (i64.store offset=0x1d0 align=1 (i32.const 0) (local.get 0x1d0))
+ (i64.store offset=0x1d1 align=1 (i32.const 0) (local.get 0x1d1))
+ (i64.store offset=0x1d2 align=1 (i32.const 0) (local.get 0x1d2))
+ (i64.store offset=0x1d3 align=1 (i32.const 0) (local.get 0x1d3))
+ (i64.store offset=0x1d4 align=1 (i32.const 0) (local.get 0x1d4))
+ (i64.store offset=0x1d5 align=1 (i32.const 0) (local.get 0x1d5))
+ (i64.store offset=0x1d6 align=1 (i32.const 0) (local.get 0x1d6))
+ (i64.store offset=0x1d7 align=1 (i32.const 0) (local.get 0x1d7))
+ (i64.store offset=0x1d8 align=1 (i32.const 0) (local.get 0x1d8))
+ (i64.store offset=0x1d9 align=1 (i32.const 0) (local.get 0x1d9))
+ (i64.store offset=0x1da align=1 (i32.const 0) (local.get 0x1da))
+ (i64.store offset=0x1db align=1 (i32.const 0) (local.get 0x1db))
+ (i64.store offset=0x1dc align=1 (i32.const 0) (local.get 0x1dc))
+ (i64.store offset=0x1dd align=1 (i32.const 0) (local.get 0x1dd))
+ (i64.store offset=0x1de align=1 (i32.const 0) (local.get 0x1de))
+ (i64.store offset=0x1df align=1 (i32.const 0) (local.get 0x1df))
+ (i64.store offset=0x1e0 align=1 (i32.const 0) (local.get 0x1e0))
+ (i64.store offset=0x1e1 align=1 (i32.const 0) (local.get 0x1e1))
+ (i64.store offset=0x1e2 align=1 (i32.const 0) (local.get 0x1e2))
+ (i64.store offset=0x1e3 align=1 (i32.const 0) (local.get 0x1e3))
+ (i64.store offset=0x1e4 align=1 (i32.const 0) (local.get 0x1e4))
+ (i64.store offset=0x1e5 align=1 (i32.const 0) (local.get 0x1e5))
+ (i64.store offset=0x1e6 align=1 (i32.const 0) (local.get 0x1e6))
+ (i64.store offset=0x1e7 align=1 (i32.const 0) (local.get 0x1e7))
+ (i64.store offset=0x1e8 align=1 (i32.const 0) (local.get 0x1e8))
+ (i64.store offset=0x1e9 align=1 (i32.const 0) (local.get 0x1e9))
+ (i64.store offset=0x1ea align=1 (i32.const 0) (local.get 0x1ea))
+ (i64.store offset=0x1eb align=1 (i32.const 0) (local.get 0x1eb))
+ (i64.store offset=0x1ec align=1 (i32.const 0) (local.get 0x1ec))
+ (i64.store offset=0x1ed align=1 (i32.const 0) (local.get 0x1ed))
+ (i64.store offset=0x1ee align=1 (i32.const 0) (local.get 0x1ee))
+ (i64.store offset=0x1ef align=1 (i32.const 0) (local.get 0x1ef))
+ (i64.store offset=0x1f0 align=1 (i32.const 0) (local.get 0x1f0))
+ (i64.store offset=0x1f1 align=1 (i32.const 0) (local.get 0x1f1))
+ (i64.store offset=0x1f2 align=1 (i32.const 0) (local.get 0x1f2))
+ (i64.store offset=0x1f3 align=1 (i32.const 0) (local.get 0x1f3))
+ (i64.store offset=0x1f4 align=1 (i32.const 0) (local.get 0x1f4))
+ (i64.store offset=0x1f5 align=1 (i32.const 0) (local.get 0x1f5))
+ (i64.store offset=0x1f6 align=1 (i32.const 0) (local.get 0x1f6))
+ (i64.store offset=0x1f7 align=1 (i32.const 0) (local.get 0x1f7))
+ (i64.store offset=0x1f8 align=1 (i32.const 0) (local.get 0x1f8))
+ (i64.store offset=0x1f9 align=1 (i32.const 0) (local.get 0x1f9))
+ (i64.store offset=0x1fa align=1 (i32.const 0) (local.get 0x1fa))
+ (i64.store offset=0x1fb align=1 (i32.const 0) (local.get 0x1fb))
+ (i64.store offset=0x1fc align=1 (i32.const 0) (local.get 0x1fc))
+ (i64.store offset=0x1fd align=1 (i32.const 0) (local.get 0x1fd))
+ (i64.store offset=0x1fe align=1 (i32.const 0) (local.get 0x1fe))
+ (i64.store offset=0x1ff align=1 (i32.const 0) (local.get 0x1ff))
+ (i64.store offset=0x200 align=1 (i32.const 0) (local.get 0x200))
+ (i64.store offset=0x201 align=1 (i32.const 0) (local.get 0x201))
+ (i64.store offset=0x202 align=1 (i32.const 0) (local.get 0x202))
+ (i64.store offset=0x203 align=1 (i32.const 0) (local.get 0x203))
+ (i64.store offset=0x204 align=1 (i32.const 0) (local.get 0x204))
+ (i64.store offset=0x205 align=1 (i32.const 0) (local.get 0x205))
+ (i64.store offset=0x206 align=1 (i32.const 0) (local.get 0x206))
+ (i64.store offset=0x207 align=1 (i32.const 0) (local.get 0x207))
+ (i64.store offset=0x208 align=1 (i32.const 0) (local.get 0x208))
+ (i64.store offset=0x209 align=1 (i32.const 0) (local.get 0x209))
+ (i64.store offset=0x20a align=1 (i32.const 0) (local.get 0x20a))
+ (i64.store offset=0x20b align=1 (i32.const 0) (local.get 0x20b))
+ (i64.store offset=0x20c align=1 (i32.const 0) (local.get 0x20c))
+ (i64.store offset=0x20d align=1 (i32.const 0) (local.get 0x20d))
+ (i64.store offset=0x20e align=1 (i32.const 0) (local.get 0x20e))
+ (i64.store offset=0x20f align=1 (i32.const 0) (local.get 0x20f))
+ (i64.store offset=0x210 align=1 (i32.const 0) (local.get 0x210))
+ (i64.store offset=0x211 align=1 (i32.const 0) (local.get 0x211))
+ (i64.store offset=0x212 align=1 (i32.const 0) (local.get 0x212))
+ (i64.store offset=0x213 align=1 (i32.const 0) (local.get 0x213))
+ (i64.store offset=0x214 align=1 (i32.const 0) (local.get 0x214))
+ (i64.store offset=0x215 align=1 (i32.const 0) (local.get 0x215))
+ (i64.store offset=0x216 align=1 (i32.const 0) (local.get 0x216))
+ (i64.store offset=0x217 align=1 (i32.const 0) (local.get 0x217))
+ (i64.store offset=0x218 align=1 (i32.const 0) (local.get 0x218))
+ (i64.store offset=0x219 align=1 (i32.const 0) (local.get 0x219))
+ (i64.store offset=0x21a align=1 (i32.const 0) (local.get 0x21a))
+ (i64.store offset=0x21b align=1 (i32.const 0) (local.get 0x21b))
+ (i64.store offset=0x21c align=1 (i32.const 0) (local.get 0x21c))
+ (i64.store offset=0x21d align=1 (i32.const 0) (local.get 0x21d))
+ (i64.store offset=0x21e align=1 (i32.const 0) (local.get 0x21e))
+ (i64.store offset=0x21f align=1 (i32.const 0) (local.get 0x21f))
+ (i64.store offset=0x220 align=1 (i32.const 0) (local.get 0x220))
+ (i64.store offset=0x221 align=1 (i32.const 0) (local.get 0x221))
+ (i64.store offset=0x222 align=1 (i32.const 0) (local.get 0x222))
+ (i64.store offset=0x223 align=1 (i32.const 0) (local.get 0x223))
+ (i64.store offset=0x224 align=1 (i32.const 0) (local.get 0x224))
+ (i64.store offset=0x225 align=1 (i32.const 0) (local.get 0x225))
+ (i64.store offset=0x226 align=1 (i32.const 0) (local.get 0x226))
+ (i64.store offset=0x227 align=1 (i32.const 0) (local.get 0x227))
+ (i64.store offset=0x228 align=1 (i32.const 0) (local.get 0x228))
+ (i64.store offset=0x229 align=1 (i32.const 0) (local.get 0x229))
+ (i64.store offset=0x22a align=1 (i32.const 0) (local.get 0x22a))
+ (i64.store offset=0x22b align=1 (i32.const 0) (local.get 0x22b))
+ (i64.store offset=0x22c align=1 (i32.const 0) (local.get 0x22c))
+ (i64.store offset=0x22d align=1 (i32.const 0) (local.get 0x22d))
+ (i64.store offset=0x22e align=1 (i32.const 0) (local.get 0x22e))
+ (i64.store offset=0x22f align=1 (i32.const 0) (local.get 0x22f))
+ (i64.store offset=0x230 align=1 (i32.const 0) (local.get 0x230))
+ (i64.store offset=0x231 align=1 (i32.const 0) (local.get 0x231))
+ (i64.store offset=0x232 align=1 (i32.const 0) (local.get 0x232))
+ (i64.store offset=0x233 align=1 (i32.const 0) (local.get 0x233))
+ (i64.store offset=0x234 align=1 (i32.const 0) (local.get 0x234))
+ (i64.store offset=0x235 align=1 (i32.const 0) (local.get 0x235))
+ (i64.store offset=0x236 align=1 (i32.const 0) (local.get 0x236))
+ (i64.store offset=0x237 align=1 (i32.const 0) (local.get 0x237))
+ (i64.store offset=0x238 align=1 (i32.const 0) (local.get 0x238))
+ (i64.store offset=0x239 align=1 (i32.const 0) (local.get 0x239))
+ (i64.store offset=0x23a align=1 (i32.const 0) (local.get 0x23a))
+ (i64.store offset=0x23b align=1 (i32.const 0) (local.get 0x23b))
+ (i64.store offset=0x23c align=1 (i32.const 0) (local.get 0x23c))
+ (i64.store offset=0x23d align=1 (i32.const 0) (local.get 0x23d))
+ (i64.store offset=0x23e align=1 (i32.const 0) (local.get 0x23e))
+ (i64.store offset=0x23f align=1 (i32.const 0) (local.get 0x23f))
+ (i64.store offset=0x240 align=1 (i32.const 0) (local.get 0x240))
+ (i64.store offset=0x241 align=1 (i32.const 0) (local.get 0x241))
+ (i64.store offset=0x242 align=1 (i32.const 0) (local.get 0x242))
+ (i64.store offset=0x243 align=1 (i32.const 0) (local.get 0x243))
+ (i64.store offset=0x244 align=1 (i32.const 0) (local.get 0x244))
+ (i64.store offset=0x245 align=1 (i32.const 0) (local.get 0x245))
+ (i64.store offset=0x246 align=1 (i32.const 0) (local.get 0x246))
+ (i64.store offset=0x247 align=1 (i32.const 0) (local.get 0x247))
+ (i64.store offset=0x248 align=1 (i32.const 0) (local.get 0x248))
+ (i64.store offset=0x249 align=1 (i32.const 0) (local.get 0x249))
+ (i64.store offset=0x24a align=1 (i32.const 0) (local.get 0x24a))
+ (i64.store offset=0x24b align=1 (i32.const 0) (local.get 0x24b))
+ (i64.store offset=0x24c align=1 (i32.const 0) (local.get 0x24c))
+ (i64.store offset=0x24d align=1 (i32.const 0) (local.get 0x24d))
+ (i64.store offset=0x24e align=1 (i32.const 0) (local.get 0x24e))
+ (i64.store offset=0x24f align=1 (i32.const 0) (local.get 0x24f))
+ (i64.store offset=0x250 align=1 (i32.const 0) (local.get 0x250))
+ (i64.store offset=0x251 align=1 (i32.const 0) (local.get 0x251))
+ (i64.store offset=0x252 align=1 (i32.const 0) (local.get 0x252))
+ (i64.store offset=0x253 align=1 (i32.const 0) (local.get 0x253))
+ (i64.store offset=0x254 align=1 (i32.const 0) (local.get 0x254))
+ (i64.store offset=0x255 align=1 (i32.const 0) (local.get 0x255))
+ (i64.store offset=0x256 align=1 (i32.const 0) (local.get 0x256))
+ (i64.store offset=0x257 align=1 (i32.const 0) (local.get 0x257))
+ (i64.store offset=0x258 align=1 (i32.const 0) (local.get 0x258))
+ (i64.store offset=0x259 align=1 (i32.const 0) (local.get 0x259))
+ (i64.store offset=0x25a align=1 (i32.const 0) (local.get 0x25a))
+ (i64.store offset=0x25b align=1 (i32.const 0) (local.get 0x25b))
+ (i64.store offset=0x25c align=1 (i32.const 0) (local.get 0x25c))
+ (i64.store offset=0x25d align=1 (i32.const 0) (local.get 0x25d))
+ (i64.store offset=0x25e align=1 (i32.const 0) (local.get 0x25e))
+ (i64.store offset=0x25f align=1 (i32.const 0) (local.get 0x25f))
+ (i64.store offset=0x260 align=1 (i32.const 0) (local.get 0x260))
+ (i64.store offset=0x261 align=1 (i32.const 0) (local.get 0x261))
+ (i64.store offset=0x262 align=1 (i32.const 0) (local.get 0x262))
+ (i64.store offset=0x263 align=1 (i32.const 0) (local.get 0x263))
+ (i64.store offset=0x264 align=1 (i32.const 0) (local.get 0x264))
+ (i64.store offset=0x265 align=1 (i32.const 0) (local.get 0x265))
+ (i64.store offset=0x266 align=1 (i32.const 0) (local.get 0x266))
+ (i64.store offset=0x267 align=1 (i32.const 0) (local.get 0x267))
+ (i64.store offset=0x268 align=1 (i32.const 0) (local.get 0x268))
+ (i64.store offset=0x269 align=1 (i32.const 0) (local.get 0x269))
+ (i64.store offset=0x26a align=1 (i32.const 0) (local.get 0x26a))
+ (i64.store offset=0x26b align=1 (i32.const 0) (local.get 0x26b))
+ (i64.store offset=0x26c align=1 (i32.const 0) (local.get 0x26c))
+ (i64.store offset=0x26d align=1 (i32.const 0) (local.get 0x26d))
+ (i64.store offset=0x26e align=1 (i32.const 0) (local.get 0x26e))
+ (i64.store offset=0x26f align=1 (i32.const 0) (local.get 0x26f))
+ (i64.store offset=0x270 align=1 (i32.const 0) (local.get 0x270))
+ (i64.store offset=0x271 align=1 (i32.const 0) (local.get 0x271))
+ (i64.store offset=0x272 align=1 (i32.const 0) (local.get 0x272))
+ (i64.store offset=0x273 align=1 (i32.const 0) (local.get 0x273))
+ (i64.store offset=0x274 align=1 (i32.const 0) (local.get 0x274))
+ (i64.store offset=0x275 align=1 (i32.const 0) (local.get 0x275))
+ (i64.store offset=0x276 align=1 (i32.const 0) (local.get 0x276))
+ (i64.store offset=0x277 align=1 (i32.const 0) (local.get 0x277))
+ (i64.store offset=0x278 align=1 (i32.const 0) (local.get 0x278))
+ (i64.store offset=0x279 align=1 (i32.const 0) (local.get 0x279))
+ (i64.store offset=0x27a align=1 (i32.const 0) (local.get 0x27a))
+ (i64.store offset=0x27b align=1 (i32.const 0) (local.get 0x27b))
+ (i64.store offset=0x27c align=1 (i32.const 0) (local.get 0x27c))
+ (i64.store offset=0x27d align=1 (i32.const 0) (local.get 0x27d))
+ (i64.store offset=0x27e align=1 (i32.const 0) (local.get 0x27e))
+ (i64.store offset=0x27f align=1 (i32.const 0) (local.get 0x27f))
+ (i64.store offset=0x280 align=1 (i32.const 0) (local.get 0x280))
+ (i64.store offset=0x281 align=1 (i32.const 0) (local.get 0x281))
+ (i64.store offset=0x282 align=1 (i32.const 0) (local.get 0x282))
+ (i64.store offset=0x283 align=1 (i32.const 0) (local.get 0x283))
+ (i64.store offset=0x284 align=1 (i32.const 0) (local.get 0x284))
+ (i64.store offset=0x285 align=1 (i32.const 0) (local.get 0x285))
+ (i64.store offset=0x286 align=1 (i32.const 0) (local.get 0x286))
+ (i64.store offset=0x287 align=1 (i32.const 0) (local.get 0x287))
+ (i64.store offset=0x288 align=1 (i32.const 0) (local.get 0x288))
+ (i64.store offset=0x289 align=1 (i32.const 0) (local.get 0x289))
+ (i64.store offset=0x28a align=1 (i32.const 0) (local.get 0x28a))
+ (i64.store offset=0x28b align=1 (i32.const 0) (local.get 0x28b))
+ (i64.store offset=0x28c align=1 (i32.const 0) (local.get 0x28c))
+ (i64.store offset=0x28d align=1 (i32.const 0) (local.get 0x28d))
+ (i64.store offset=0x28e align=1 (i32.const 0) (local.get 0x28e))
+ (i64.store offset=0x28f align=1 (i32.const 0) (local.get 0x28f))
+ (i64.store offset=0x290 align=1 (i32.const 0) (local.get 0x290))
+ (i64.store offset=0x291 align=1 (i32.const 0) (local.get 0x291))
+ (i64.store offset=0x292 align=1 (i32.const 0) (local.get 0x292))
+ (i64.store offset=0x293 align=1 (i32.const 0) (local.get 0x293))
+ (i64.store offset=0x294 align=1 (i32.const 0) (local.get 0x294))
+ (i64.store offset=0x295 align=1 (i32.const 0) (local.get 0x295))
+ (i64.store offset=0x296 align=1 (i32.const 0) (local.get 0x296))
+ (i64.store offset=0x297 align=1 (i32.const 0) (local.get 0x297))
+ (i64.store offset=0x298 align=1 (i32.const 0) (local.get 0x298))
+ (i64.store offset=0x299 align=1 (i32.const 0) (local.get 0x299))
+ (i64.store offset=0x29a align=1 (i32.const 0) (local.get 0x29a))
+ (i64.store offset=0x29b align=1 (i32.const 0) (local.get 0x29b))
+ (i64.store offset=0x29c align=1 (i32.const 0) (local.get 0x29c))
+ (i64.store offset=0x29d align=1 (i32.const 0) (local.get 0x29d))
+ (i64.store offset=0x29e align=1 (i32.const 0) (local.get 0x29e))
+ (i64.store offset=0x29f align=1 (i32.const 0) (local.get 0x29f))
+ (i64.store offset=0x2a0 align=1 (i32.const 0) (local.get 0x2a0))
+ (i64.store offset=0x2a1 align=1 (i32.const 0) (local.get 0x2a1))
+ (i64.store offset=0x2a2 align=1 (i32.const 0) (local.get 0x2a2))
+ (i64.store offset=0x2a3 align=1 (i32.const 0) (local.get 0x2a3))
+ (i64.store offset=0x2a4 align=1 (i32.const 0) (local.get 0x2a4))
+ (i64.store offset=0x2a5 align=1 (i32.const 0) (local.get 0x2a5))
+ (i64.store offset=0x2a6 align=1 (i32.const 0) (local.get 0x2a6))
+ (i64.store offset=0x2a7 align=1 (i32.const 0) (local.get 0x2a7))
+ (i64.store offset=0x2a8 align=1 (i32.const 0) (local.get 0x2a8))
+ (i64.store offset=0x2a9 align=1 (i32.const 0) (local.get 0x2a9))
+ (i64.store offset=0x2aa align=1 (i32.const 0) (local.get 0x2aa))
+ (i64.store offset=0x2ab align=1 (i32.const 0) (local.get 0x2ab))
+ (i64.store offset=0x2ac align=1 (i32.const 0) (local.get 0x2ac))
+ (i64.store offset=0x2ad align=1 (i32.const 0) (local.get 0x2ad))
+ (i64.store offset=0x2ae align=1 (i32.const 0) (local.get 0x2ae))
+ (i64.store offset=0x2af align=1 (i32.const 0) (local.get 0x2af))
+ (i64.store offset=0x2b0 align=1 (i32.const 0) (local.get 0x2b0))
+ (i64.store offset=0x2b1 align=1 (i32.const 0) (local.get 0x2b1))
+ (i64.store offset=0x2b2 align=1 (i32.const 0) (local.get 0x2b2))
+ (i64.store offset=0x2b3 align=1 (i32.const 0) (local.get 0x2b3))
+ (i64.store offset=0x2b4 align=1 (i32.const 0) (local.get 0x2b4))
+ (i64.store offset=0x2b5 align=1 (i32.const 0) (local.get 0x2b5))
+ (i64.store offset=0x2b6 align=1 (i32.const 0) (local.get 0x2b6))
+ (i64.store offset=0x2b7 align=1 (i32.const 0) (local.get 0x2b7))
+ (i64.store offset=0x2b8 align=1 (i32.const 0) (local.get 0x2b8))
+ (i64.store offset=0x2b9 align=1 (i32.const 0) (local.get 0x2b9))
+ (i64.store offset=0x2ba align=1 (i32.const 0) (local.get 0x2ba))
+ (i64.store offset=0x2bb align=1 (i32.const 0) (local.get 0x2bb))
+ (i64.store offset=0x2bc align=1 (i32.const 0) (local.get 0x2bc))
+ (i64.store offset=0x2bd align=1 (i32.const 0) (local.get 0x2bd))
+ (i64.store offset=0x2be align=1 (i32.const 0) (local.get 0x2be))
+ (i64.store offset=0x2bf align=1 (i32.const 0) (local.get 0x2bf))
+ (i64.store offset=0x2c0 align=1 (i32.const 0) (local.get 0x2c0))
+ (i64.store offset=0x2c1 align=1 (i32.const 0) (local.get 0x2c1))
+ (i64.store offset=0x2c2 align=1 (i32.const 0) (local.get 0x2c2))
+ (i64.store offset=0x2c3 align=1 (i32.const 0) (local.get 0x2c3))
+ (i64.store offset=0x2c4 align=1 (i32.const 0) (local.get 0x2c4))
+ (i64.store offset=0x2c5 align=1 (i32.const 0) (local.get 0x2c5))
+ (i64.store offset=0x2c6 align=1 (i32.const 0) (local.get 0x2c6))
+ (i64.store offset=0x2c7 align=1 (i32.const 0) (local.get 0x2c7))
+ (i64.store offset=0x2c8 align=1 (i32.const 0) (local.get 0x2c8))
+ (i64.store offset=0x2c9 align=1 (i32.const 0) (local.get 0x2c9))
+ (i64.store offset=0x2ca align=1 (i32.const 0) (local.get 0x2ca))
+ (i64.store offset=0x2cb align=1 (i32.const 0) (local.get 0x2cb))
+ (i64.store offset=0x2cc align=1 (i32.const 0) (local.get 0x2cc))
+ (i64.store offset=0x2cd align=1 (i32.const 0) (local.get 0x2cd))
+ (i64.store offset=0x2ce align=1 (i32.const 0) (local.get 0x2ce))
+ (i64.store offset=0x2cf align=1 (i32.const 0) (local.get 0x2cf))
+ (i64.store offset=0x2d0 align=1 (i32.const 0) (local.get 0x2d0))
+ (i64.store offset=0x2d1 align=1 (i32.const 0) (local.get 0x2d1))
+ (i64.store offset=0x2d2 align=1 (i32.const 0) (local.get 0x2d2))
+ (i64.store offset=0x2d3 align=1 (i32.const 0) (local.get 0x2d3))
+ (i64.store offset=0x2d4 align=1 (i32.const 0) (local.get 0x2d4))
+ (i64.store offset=0x2d5 align=1 (i32.const 0) (local.get 0x2d5))
+ (i64.store offset=0x2d6 align=1 (i32.const 0) (local.get 0x2d6))
+ (i64.store offset=0x2d7 align=1 (i32.const 0) (local.get 0x2d7))
+ (i64.store offset=0x2d8 align=1 (i32.const 0) (local.get 0x2d8))
+ (i64.store offset=0x2d9 align=1 (i32.const 0) (local.get 0x2d9))
+ (i64.store offset=0x2da align=1 (i32.const 0) (local.get 0x2da))
+ (i64.store offset=0x2db align=1 (i32.const 0) (local.get 0x2db))
+ (i64.store offset=0x2dc align=1 (i32.const 0) (local.get 0x2dc))
+ (i64.store offset=0x2dd align=1 (i32.const 0) (local.get 0x2dd))
+ (i64.store offset=0x2de align=1 (i32.const 0) (local.get 0x2de))
+ (i64.store offset=0x2df align=1 (i32.const 0) (local.get 0x2df))
+ (i64.store offset=0x2e0 align=1 (i32.const 0) (local.get 0x2e0))
+ (i64.store offset=0x2e1 align=1 (i32.const 0) (local.get 0x2e1))
+ (i64.store offset=0x2e2 align=1 (i32.const 0) (local.get 0x2e2))
+ (i64.store offset=0x2e3 align=1 (i32.const 0) (local.get 0x2e3))
+ (i64.store offset=0x2e4 align=1 (i32.const 0) (local.get 0x2e4))
+ (i64.store offset=0x2e5 align=1 (i32.const 0) (local.get 0x2e5))
+ (i64.store offset=0x2e6 align=1 (i32.const 0) (local.get 0x2e6))
+ (i64.store offset=0x2e7 align=1 (i32.const 0) (local.get 0x2e7))
+ (i64.store offset=0x2e8 align=1 (i32.const 0) (local.get 0x2e8))
+ (i64.store offset=0x2e9 align=1 (i32.const 0) (local.get 0x2e9))
+ (i64.store offset=0x2ea align=1 (i32.const 0) (local.get 0x2ea))
+ (i64.store offset=0x2eb align=1 (i32.const 0) (local.get 0x2eb))
+ (i64.store offset=0x2ec align=1 (i32.const 0) (local.get 0x2ec))
+ (i64.store offset=0x2ed align=1 (i32.const 0) (local.get 0x2ed))
+ (i64.store offset=0x2ee align=1 (i32.const 0) (local.get 0x2ee))
+ (i64.store offset=0x2ef align=1 (i32.const 0) (local.get 0x2ef))
+ (i64.store offset=0x2f0 align=1 (i32.const 0) (local.get 0x2f0))
+ (i64.store offset=0x2f1 align=1 (i32.const 0) (local.get 0x2f1))
+ (i64.store offset=0x2f2 align=1 (i32.const 0) (local.get 0x2f2))
+ (i64.store offset=0x2f3 align=1 (i32.const 0) (local.get 0x2f3))
+ (i64.store offset=0x2f4 align=1 (i32.const 0) (local.get 0x2f4))
+ (i64.store offset=0x2f5 align=1 (i32.const 0) (local.get 0x2f5))
+ (i64.store offset=0x2f6 align=1 (i32.const 0) (local.get 0x2f6))
+ (i64.store offset=0x2f7 align=1 (i32.const 0) (local.get 0x2f7))
+ (i64.store offset=0x2f8 align=1 (i32.const 0) (local.get 0x2f8))
+ (i64.store offset=0x2f9 align=1 (i32.const 0) (local.get 0x2f9))
+ (i64.store offset=0x2fa align=1 (i32.const 0) (local.get 0x2fa))
+ (i64.store offset=0x2fb align=1 (i32.const 0) (local.get 0x2fb))
+ (i64.store offset=0x2fc align=1 (i32.const 0) (local.get 0x2fc))
+ (i64.store offset=0x2fd align=1 (i32.const 0) (local.get 0x2fd))
+ (i64.store offset=0x2fe align=1 (i32.const 0) (local.get 0x2fe))
+ (i64.store offset=0x2ff align=1 (i32.const 0) (local.get 0x2ff))
+ (i64.store offset=0x300 align=1 (i32.const 0) (local.get 0x300))
+ (i64.store offset=0x301 align=1 (i32.const 0) (local.get 0x301))
+ (i64.store offset=0x302 align=1 (i32.const 0) (local.get 0x302))
+ (i64.store offset=0x303 align=1 (i32.const 0) (local.get 0x303))
+ (i64.store offset=0x304 align=1 (i32.const 0) (local.get 0x304))
+ (i64.store offset=0x305 align=1 (i32.const 0) (local.get 0x305))
+ (i64.store offset=0x306 align=1 (i32.const 0) (local.get 0x306))
+ (i64.store offset=0x307 align=1 (i32.const 0) (local.get 0x307))
+ (i64.store offset=0x308 align=1 (i32.const 0) (local.get 0x308))
+ (i64.store offset=0x309 align=1 (i32.const 0) (local.get 0x309))
+ (i64.store offset=0x30a align=1 (i32.const 0) (local.get 0x30a))
+ (i64.store offset=0x30b align=1 (i32.const 0) (local.get 0x30b))
+ (i64.store offset=0x30c align=1 (i32.const 0) (local.get 0x30c))
+ (i64.store offset=0x30d align=1 (i32.const 0) (local.get 0x30d))
+ (i64.store offset=0x30e align=1 (i32.const 0) (local.get 0x30e))
+ (i64.store offset=0x30f align=1 (i32.const 0) (local.get 0x30f))
+ (i64.store offset=0x310 align=1 (i32.const 0) (local.get 0x310))
+ (i64.store offset=0x311 align=1 (i32.const 0) (local.get 0x311))
+ (i64.store offset=0x312 align=1 (i32.const 0) (local.get 0x312))
+ (i64.store offset=0x313 align=1 (i32.const 0) (local.get 0x313))
+ (i64.store offset=0x314 align=1 (i32.const 0) (local.get 0x314))
+ (i64.store offset=0x315 align=1 (i32.const 0) (local.get 0x315))
+ (i64.store offset=0x316 align=1 (i32.const 0) (local.get 0x316))
+ (i64.store offset=0x317 align=1 (i32.const 0) (local.get 0x317))
+ (i64.store offset=0x318 align=1 (i32.const 0) (local.get 0x318))
+ (i64.store offset=0x319 align=1 (i32.const 0) (local.get 0x319))
+ (i64.store offset=0x31a align=1 (i32.const 0) (local.get 0x31a))
+ (i64.store offset=0x31b align=1 (i32.const 0) (local.get 0x31b))
+ (i64.store offset=0x31c align=1 (i32.const 0) (local.get 0x31c))
+ (i64.store offset=0x31d align=1 (i32.const 0) (local.get 0x31d))
+ (i64.store offset=0x31e align=1 (i32.const 0) (local.get 0x31e))
+ (i64.store offset=0x31f align=1 (i32.const 0) (local.get 0x31f))
+ (i64.store offset=0x320 align=1 (i32.const 0) (local.get 0x320))
+ (i64.store offset=0x321 align=1 (i32.const 0) (local.get 0x321))
+ (i64.store offset=0x322 align=1 (i32.const 0) (local.get 0x322))
+ (i64.store offset=0x323 align=1 (i32.const 0) (local.get 0x323))
+ (i64.store offset=0x324 align=1 (i32.const 0) (local.get 0x324))
+ (i64.store offset=0x325 align=1 (i32.const 0) (local.get 0x325))
+ (i64.store offset=0x326 align=1 (i32.const 0) (local.get 0x326))
+ (i64.store offset=0x327 align=1 (i32.const 0) (local.get 0x327))
+ (i64.store offset=0x328 align=1 (i32.const 0) (local.get 0x328))
+ (i64.store offset=0x329 align=1 (i32.const 0) (local.get 0x329))
+ (i64.store offset=0x32a align=1 (i32.const 0) (local.get 0x32a))
+ (i64.store offset=0x32b align=1 (i32.const 0) (local.get 0x32b))
+ (i64.store offset=0x32c align=1 (i32.const 0) (local.get 0x32c))
+ (i64.store offset=0x32d align=1 (i32.const 0) (local.get 0x32d))
+ (i64.store offset=0x32e align=1 (i32.const 0) (local.get 0x32e))
+ (i64.store offset=0x32f align=1 (i32.const 0) (local.get 0x32f))
+ (i64.store offset=0x330 align=1 (i32.const 0) (local.get 0x330))
+ (i64.store offset=0x331 align=1 (i32.const 0) (local.get 0x331))
+ (i64.store offset=0x332 align=1 (i32.const 0) (local.get 0x332))
+ (i64.store offset=0x333 align=1 (i32.const 0) (local.get 0x333))
+ (i64.store offset=0x334 align=1 (i32.const 0) (local.get 0x334))
+ (i64.store offset=0x335 align=1 (i32.const 0) (local.get 0x335))
+ (i64.store offset=0x336 align=1 (i32.const 0) (local.get 0x336))
+ (i64.store offset=0x337 align=1 (i32.const 0) (local.get 0x337))
+ (i64.store offset=0x338 align=1 (i32.const 0) (local.get 0x338))
+ (i64.store offset=0x339 align=1 (i32.const 0) (local.get 0x339))
+ (i64.store offset=0x33a align=1 (i32.const 0) (local.get 0x33a))
+ (i64.store offset=0x33b align=1 (i32.const 0) (local.get 0x33b))
+ (i64.store offset=0x33c align=1 (i32.const 0) (local.get 0x33c))
+ (i64.store offset=0x33d align=1 (i32.const 0) (local.get 0x33d))
+ (i64.store offset=0x33e align=1 (i32.const 0) (local.get 0x33e))
+ (i64.store offset=0x33f align=1 (i32.const 0) (local.get 0x33f))
+ (i64.store offset=0x340 align=1 (i32.const 0) (local.get 0x340))
+ (i64.store offset=0x341 align=1 (i32.const 0) (local.get 0x341))
+ (i64.store offset=0x342 align=1 (i32.const 0) (local.get 0x342))
+ (i64.store offset=0x343 align=1 (i32.const 0) (local.get 0x343))
+ (i64.store offset=0x344 align=1 (i32.const 0) (local.get 0x344))
+ (i64.store offset=0x345 align=1 (i32.const 0) (local.get 0x345))
+ (i64.store offset=0x346 align=1 (i32.const 0) (local.get 0x346))
+ (i64.store offset=0x347 align=1 (i32.const 0) (local.get 0x347))
+ (i64.store offset=0x348 align=1 (i32.const 0) (local.get 0x348))
+ (i64.store offset=0x349 align=1 (i32.const 0) (local.get 0x349))
+ (i64.store offset=0x34a align=1 (i32.const 0) (local.get 0x34a))
+ (i64.store offset=0x34b align=1 (i32.const 0) (local.get 0x34b))
+ (i64.store offset=0x34c align=1 (i32.const 0) (local.get 0x34c))
+ (i64.store offset=0x34d align=1 (i32.const 0) (local.get 0x34d))
+ (i64.store offset=0x34e align=1 (i32.const 0) (local.get 0x34e))
+ (i64.store offset=0x34f align=1 (i32.const 0) (local.get 0x34f))
+ (i64.store offset=0x350 align=1 (i32.const 0) (local.get 0x350))
+ (i64.store offset=0x351 align=1 (i32.const 0) (local.get 0x351))
+ (i64.store offset=0x352 align=1 (i32.const 0) (local.get 0x352))
+ (i64.store offset=0x353 align=1 (i32.const 0) (local.get 0x353))
+ (i64.store offset=0x354 align=1 (i32.const 0) (local.get 0x354))
+ (i64.store offset=0x355 align=1 (i32.const 0) (local.get 0x355))
+ (i64.store offset=0x356 align=1 (i32.const 0) (local.get 0x356))
+ (i64.store offset=0x357 align=1 (i32.const 0) (local.get 0x357))
+ (i64.store offset=0x358 align=1 (i32.const 0) (local.get 0x358))
+ (i64.store offset=0x359 align=1 (i32.const 0) (local.get 0x359))
+ (i64.store offset=0x35a align=1 (i32.const 0) (local.get 0x35a))
+ (i64.store offset=0x35b align=1 (i32.const 0) (local.get 0x35b))
+ (i64.store offset=0x35c align=1 (i32.const 0) (local.get 0x35c))
+ (i64.store offset=0x35d align=1 (i32.const 0) (local.get 0x35d))
+ (i64.store offset=0x35e align=1 (i32.const 0) (local.get 0x35e))
+ (i64.store offset=0x35f align=1 (i32.const 0) (local.get 0x35f))
+ (i64.store offset=0x360 align=1 (i32.const 0) (local.get 0x360))
+ (i64.store offset=0x361 align=1 (i32.const 0) (local.get 0x361))
+ (i64.store offset=0x362 align=1 (i32.const 0) (local.get 0x362))
+ (i64.store offset=0x363 align=1 (i32.const 0) (local.get 0x363))
+ (i64.store offset=0x364 align=1 (i32.const 0) (local.get 0x364))
+ (i64.store offset=0x365 align=1 (i32.const 0) (local.get 0x365))
+ (i64.store offset=0x366 align=1 (i32.const 0) (local.get 0x366))
+ (i64.store offset=0x367 align=1 (i32.const 0) (local.get 0x367))
+ (i64.store offset=0x368 align=1 (i32.const 0) (local.get 0x368))
+ (i64.store offset=0x369 align=1 (i32.const 0) (local.get 0x369))
+ (i64.store offset=0x36a align=1 (i32.const 0) (local.get 0x36a))
+ (i64.store offset=0x36b align=1 (i32.const 0) (local.get 0x36b))
+ (i64.store offset=0x36c align=1 (i32.const 0) (local.get 0x36c))
+ (i64.store offset=0x36d align=1 (i32.const 0) (local.get 0x36d))
+ (i64.store offset=0x36e align=1 (i32.const 0) (local.get 0x36e))
+ (i64.store offset=0x36f align=1 (i32.const 0) (local.get 0x36f))
+ (i64.store offset=0x370 align=1 (i32.const 0) (local.get 0x370))
+ (i64.store offset=0x371 align=1 (i32.const 0) (local.get 0x371))
+ (i64.store offset=0x372 align=1 (i32.const 0) (local.get 0x372))
+ (i64.store offset=0x373 align=1 (i32.const 0) (local.get 0x373))
+ (i64.store offset=0x374 align=1 (i32.const 0) (local.get 0x374))
+ (i64.store offset=0x375 align=1 (i32.const 0) (local.get 0x375))
+ (i64.store offset=0x376 align=1 (i32.const 0) (local.get 0x376))
+ (i64.store offset=0x377 align=1 (i32.const 0) (local.get 0x377))
+ (i64.store offset=0x378 align=1 (i32.const 0) (local.get 0x378))
+ (i64.store offset=0x379 align=1 (i32.const 0) (local.get 0x379))
+ (i64.store offset=0x37a align=1 (i32.const 0) (local.get 0x37a))
+ (i64.store offset=0x37b align=1 (i32.const 0) (local.get 0x37b))
+ (i64.store offset=0x37c align=1 (i32.const 0) (local.get 0x37c))
+ (i64.store offset=0x37d align=1 (i32.const 0) (local.get 0x37d))
+ (i64.store offset=0x37e align=1 (i32.const 0) (local.get 0x37e))
+ (i64.store offset=0x37f align=1 (i32.const 0) (local.get 0x37f))
+ (i64.store offset=0x380 align=1 (i32.const 0) (local.get 0x380))
+ (i64.store offset=0x381 align=1 (i32.const 0) (local.get 0x381))
+ (i64.store offset=0x382 align=1 (i32.const 0) (local.get 0x382))
+ (i64.store offset=0x383 align=1 (i32.const 0) (local.get 0x383))
+ (i64.store offset=0x384 align=1 (i32.const 0) (local.get 0x384))
+ (i64.store offset=0x385 align=1 (i32.const 0) (local.get 0x385))
+ (i64.store offset=0x386 align=1 (i32.const 0) (local.get 0x386))
+ (i64.store offset=0x387 align=1 (i32.const 0) (local.get 0x387))
+ (i64.store offset=0x388 align=1 (i32.const 0) (local.get 0x388))
+ (i64.store offset=0x389 align=1 (i32.const 0) (local.get 0x389))
+ (i64.store offset=0x38a align=1 (i32.const 0) (local.get 0x38a))
+ (i64.store offset=0x38b align=1 (i32.const 0) (local.get 0x38b))
+ (i64.store offset=0x38c align=1 (i32.const 0) (local.get 0x38c))
+ (i64.store offset=0x38d align=1 (i32.const 0) (local.get 0x38d))
+ (i64.store offset=0x38e align=1 (i32.const 0) (local.get 0x38e))
+ (i64.store offset=0x38f align=1 (i32.const 0) (local.get 0x38f))
+ (i64.store offset=0x390 align=1 (i32.const 0) (local.get 0x390))
+ (i64.store offset=0x391 align=1 (i32.const 0) (local.get 0x391))
+ (i64.store offset=0x392 align=1 (i32.const 0) (local.get 0x392))
+ (i64.store offset=0x393 align=1 (i32.const 0) (local.get 0x393))
+ (i64.store offset=0x394 align=1 (i32.const 0) (local.get 0x394))
+ (i64.store offset=0x395 align=1 (i32.const 0) (local.get 0x395))
+ (i64.store offset=0x396 align=1 (i32.const 0) (local.get 0x396))
+ (i64.store offset=0x397 align=1 (i32.const 0) (local.get 0x397))
+ (i64.store offset=0x398 align=1 (i32.const 0) (local.get 0x398))
+ (i64.store offset=0x399 align=1 (i32.const 0) (local.get 0x399))
+ (i64.store offset=0x39a align=1 (i32.const 0) (local.get 0x39a))
+ (i64.store offset=0x39b align=1 (i32.const 0) (local.get 0x39b))
+ (i64.store offset=0x39c align=1 (i32.const 0) (local.get 0x39c))
+ (i64.store offset=0x39d align=1 (i32.const 0) (local.get 0x39d))
+ (i64.store offset=0x39e align=1 (i32.const 0) (local.get 0x39e))
+ (i64.store offset=0x39f align=1 (i32.const 0) (local.get 0x39f))
+ (i64.store offset=0x3a0 align=1 (i32.const 0) (local.get 0x3a0))
+ (i64.store offset=0x3a1 align=1 (i32.const 0) (local.get 0x3a1))
+ (i64.store offset=0x3a2 align=1 (i32.const 0) (local.get 0x3a2))
+ (i64.store offset=0x3a3 align=1 (i32.const 0) (local.get 0x3a3))
+ (i64.store offset=0x3a4 align=1 (i32.const 0) (local.get 0x3a4))
+ (i64.store offset=0x3a5 align=1 (i32.const 0) (local.get 0x3a5))
+ (i64.store offset=0x3a6 align=1 (i32.const 0) (local.get 0x3a6))
+ (i64.store offset=0x3a7 align=1 (i32.const 0) (local.get 0x3a7))
+ (i64.store offset=0x3a8 align=1 (i32.const 0) (local.get 0x3a8))
+ (i64.store offset=0x3a9 align=1 (i32.const 0) (local.get 0x3a9))
+ (i64.store offset=0x3aa align=1 (i32.const 0) (local.get 0x3aa))
+ (i64.store offset=0x3ab align=1 (i32.const 0) (local.get 0x3ab))
+ (i64.store offset=0x3ac align=1 (i32.const 0) (local.get 0x3ac))
+ (i64.store offset=0x3ad align=1 (i32.const 0) (local.get 0x3ad))
+ (i64.store offset=0x3ae align=1 (i32.const 0) (local.get 0x3ae))
+ (i64.store offset=0x3af align=1 (i32.const 0) (local.get 0x3af))
+ (i64.store offset=0x3b0 align=1 (i32.const 0) (local.get 0x3b0))
+ (i64.store offset=0x3b1 align=1 (i32.const 0) (local.get 0x3b1))
+ (i64.store offset=0x3b2 align=1 (i32.const 0) (local.get 0x3b2))
+ (i64.store offset=0x3b3 align=1 (i32.const 0) (local.get 0x3b3))
+ (i64.store offset=0x3b4 align=1 (i32.const 0) (local.get 0x3b4))
+ (i64.store offset=0x3b5 align=1 (i32.const 0) (local.get 0x3b5))
+ (i64.store offset=0x3b6 align=1 (i32.const 0) (local.get 0x3b6))
+ (i64.store offset=0x3b7 align=1 (i32.const 0) (local.get 0x3b7))
+ (i64.store offset=0x3b8 align=1 (i32.const 0) (local.get 0x3b8))
+ (i64.store offset=0x3b9 align=1 (i32.const 0) (local.get 0x3b9))
+ (i64.store offset=0x3ba align=1 (i32.const 0) (local.get 0x3ba))
+ (i64.store offset=0x3bb align=1 (i32.const 0) (local.get 0x3bb))
+ (i64.store offset=0x3bc align=1 (i32.const 0) (local.get 0x3bc))
+ (i64.store offset=0x3bd align=1 (i32.const 0) (local.get 0x3bd))
+ (i64.store offset=0x3be align=1 (i32.const 0) (local.get 0x3be))
+ (i64.store offset=0x3bf align=1 (i32.const 0) (local.get 0x3bf))
+ (i64.store offset=0x3c0 align=1 (i32.const 0) (local.get 0x3c0))
+ (i64.store offset=0x3c1 align=1 (i32.const 0) (local.get 0x3c1))
+ (i64.store offset=0x3c2 align=1 (i32.const 0) (local.get 0x3c2))
+ (i64.store offset=0x3c3 align=1 (i32.const 0) (local.get 0x3c3))
+ (i64.store offset=0x3c4 align=1 (i32.const 0) (local.get 0x3c4))
+ (i64.store offset=0x3c5 align=1 (i32.const 0) (local.get 0x3c5))
+ (i64.store offset=0x3c6 align=1 (i32.const 0) (local.get 0x3c6))
+ (i64.store offset=0x3c7 align=1 (i32.const 0) (local.get 0x3c7))
+ (i64.store offset=0x3c8 align=1 (i32.const 0) (local.get 0x3c8))
+ (i64.store offset=0x3c9 align=1 (i32.const 0) (local.get 0x3c9))
+ (i64.store offset=0x3ca align=1 (i32.const 0) (local.get 0x3ca))
+ (i64.store offset=0x3cb align=1 (i32.const 0) (local.get 0x3cb))
+ (i64.store offset=0x3cc align=1 (i32.const 0) (local.get 0x3cc))
+ (i64.store offset=0x3cd align=1 (i32.const 0) (local.get 0x3cd))
+ (i64.store offset=0x3ce align=1 (i32.const 0) (local.get 0x3ce))
+ (i64.store offset=0x3cf align=1 (i32.const 0) (local.get 0x3cf))
+ (i64.store offset=0x3d0 align=1 (i32.const 0) (local.get 0x3d0))
+ (i64.store offset=0x3d1 align=1 (i32.const 0) (local.get 0x3d1))
+ (i64.store offset=0x3d2 align=1 (i32.const 0) (local.get 0x3d2))
+ (i64.store offset=0x3d3 align=1 (i32.const 0) (local.get 0x3d3))
+ (i64.store offset=0x3d4 align=1 (i32.const 0) (local.get 0x3d4))
+ (i64.store offset=0x3d5 align=1 (i32.const 0) (local.get 0x3d5))
+ (i64.store offset=0x3d6 align=1 (i32.const 0) (local.get 0x3d6))
+ (i64.store offset=0x3d7 align=1 (i32.const 0) (local.get 0x3d7))
+ (i64.store offset=0x3d8 align=1 (i32.const 0) (local.get 0x3d8))
+ (i64.store offset=0x3d9 align=1 (i32.const 0) (local.get 0x3d9))
+ (i64.store offset=0x3da align=1 (i32.const 0) (local.get 0x3da))
+ (i64.store offset=0x3db align=1 (i32.const 0) (local.get 0x3db))
+ (i64.store offset=0x3dc align=1 (i32.const 0) (local.get 0x3dc))
+ (i64.store offset=0x3dd align=1 (i32.const 0) (local.get 0x3dd))
+ (i64.store offset=0x3de align=1 (i32.const 0) (local.get 0x3de))
+ (i64.store offset=0x3df align=1 (i32.const 0) (local.get 0x3df))
+ (i64.store offset=0x3e0 align=1 (i32.const 0) (local.get 0x3e0))
+ (i64.store offset=0x3e1 align=1 (i32.const 0) (local.get 0x3e1))
+ (i64.store offset=0x3e2 align=1 (i32.const 0) (local.get 0x3e2))
+ (i64.store offset=0x3e3 align=1 (i32.const 0) (local.get 0x3e3))
+ (i64.store offset=0x3e4 align=1 (i32.const 0) (local.get 0x3e4))
+ (i64.store offset=0x3e5 align=1 (i32.const 0) (local.get 0x3e5))
+ (i64.store offset=0x3e6 align=1 (i32.const 0) (local.get 0x3e6))
+ (i64.store offset=0x3e7 align=1 (i32.const 0) (local.get 0x3e7))
+ (i64.store offset=0x3e8 align=1 (i32.const 0) (local.get 0x3e8))
+ (i64.store offset=0x3e9 align=1 (i32.const 0) (local.get 0x3e9))
+ (i64.store offset=0x3ea align=1 (i32.const 0) (local.get 0x3ea))
+ (i64.store offset=0x3eb align=1 (i32.const 0) (local.get 0x3eb))
+ (i64.store offset=0x3ec align=1 (i32.const 0) (local.get 0x3ec))
+ (i64.store offset=0x3ed align=1 (i32.const 0) (local.get 0x3ed))
+ (i64.store offset=0x3ee align=1 (i32.const 0) (local.get 0x3ee))
+ (i64.store offset=0x3ef align=1 (i32.const 0) (local.get 0x3ef))
+ (i64.store offset=0x3f0 align=1 (i32.const 0) (local.get 0x3f0))
+ (i64.store offset=0x3f1 align=1 (i32.const 0) (local.get 0x3f1))
+ (i64.store offset=0x3f2 align=1 (i32.const 0) (local.get 0x3f2))
+ (i64.store offset=0x3f3 align=1 (i32.const 0) (local.get 0x3f3))
+ (i64.store offset=0x3f4 align=1 (i32.const 0) (local.get 0x3f4))
+ (i64.store offset=0x3f5 align=1 (i32.const 0) (local.get 0x3f5))
+ (i64.store offset=0x3f6 align=1 (i32.const 0) (local.get 0x3f6))
+ (i64.store offset=0x3f7 align=1 (i32.const 0) (local.get 0x3f7))
+ (i64.store offset=0x3f8 align=1 (i32.const 0) (local.get 0x3f8))
+ (i64.store offset=0x3f9 align=1 (i32.const 0) (local.get 0x3f9))
+ (i64.store offset=0x3fa align=1 (i32.const 0) (local.get 0x3fa))
+ (i64.store offset=0x3fb align=1 (i32.const 0) (local.get 0x3fb))
+ (i64.store offset=0x3fc align=1 (i32.const 0) (local.get 0x3fc))
+ (i64.store offset=0x3fd align=1 (i32.const 0) (local.get 0x3fd))
+ (i64.store offset=0x3fe align=1 (i32.const 0) (local.get 0x3fe))
+ (i64.store offset=0x3ff align=1 (i32.const 0) (local.get 0x3ff))
+ (i64.store offset=0x400 align=1 (i32.const 0) (local.get 0x400))
+ (i64.store offset=0x401 align=1 (i32.const 0) (local.get 0x401))
+ (i64.store offset=0x402 align=1 (i32.const 0) (local.get 0x402))
+ (i64.store offset=0x403 align=1 (i32.const 0) (local.get 0x403))
+ (i64.store offset=0x404 align=1 (i32.const 0) (local.get 0x404))
+ (i64.store offset=0x405 align=1 (i32.const 0) (local.get 0x405))
+ (i64.store offset=0x406 align=1 (i32.const 0) (local.get 0x406))
+ (i64.store offset=0x407 align=1 (i32.const 0) (local.get 0x407))
+ (i64.store offset=0x408 align=1 (i32.const 0) (local.get 0x408))
+ (i64.store offset=0x409 align=1 (i32.const 0) (local.get 0x409))
+ (i64.store offset=0x40a align=1 (i32.const 0) (local.get 0x40a))
+ (i64.store offset=0x40b align=1 (i32.const 0) (local.get 0x40b))
+ (i64.store offset=0x40c align=1 (i32.const 0) (local.get 0x40c))
+ (i64.store offset=0x40d align=1 (i32.const 0) (local.get 0x40d))
+ (i64.store offset=0x40e align=1 (i32.const 0) (local.get 0x40e))
+ (i64.store offset=0x40f align=1 (i32.const 0) (local.get 0x40f))
+ (i64.store offset=0x410 align=1 (i32.const 0) (local.get 0x410))
+ (i64.store offset=0x411 align=1 (i32.const 0) (local.get 0x411))
+ (i64.store offset=0x412 align=1 (i32.const 0) (local.get 0x412))
+ (i64.store offset=0x413 align=1 (i32.const 0) (local.get 0x413))
+ (i64.store offset=0x414 align=1 (i32.const 0) (local.get 0x414))
+ (i64.store offset=0x415 align=1 (i32.const 0) (local.get 0x415))
+ (i64.store offset=0x416 align=1 (i32.const 0) (local.get 0x416))
+ (i64.store offset=0x417 align=1 (i32.const 0) (local.get 0x417))
+ (i64.store offset=0x418 align=1 (i32.const 0) (local.get 0x418))
+ (i64.store offset=0x419 align=1 (i32.const 0) (local.get 0x419))
+ (i64.store offset=0x41a align=1 (i32.const 0) (local.get 0x41a))
+ (i64.store offset=0x41b align=1 (i32.const 0) (local.get 0x41b))
+ (i64.store offset=0x41c align=1 (i32.const 0) (local.get 0x41c))
+ (i64.store offset=0x41d align=1 (i32.const 0) (local.get 0x41d))
+ (i64.store offset=0x41e align=1 (i32.const 0) (local.get 0x41e))
+ (i64.store offset=0x41f align=1 (i32.const 0) (local.get 0x41f))
+ )
+)`);
+
+// ./test/core/skip-stack-guard-page.wast:2275
+assert_exhaustion(() => invoke($0, `test-guard-page-skip`, [0]), `call stack exhausted`);
+
+// ./test/core/skip-stack-guard-page.wast:2276
+assert_exhaustion(() => invoke($0, `test-guard-page-skip`, [100]), `call stack exhausted`);
+
+// ./test/core/skip-stack-guard-page.wast:2277
+assert_exhaustion(() => invoke($0, `test-guard-page-skip`, [200]), `call stack exhausted`);
+
+// ./test/core/skip-stack-guard-page.wast:2278
+assert_exhaustion(() => invoke($0, `test-guard-page-skip`, [300]), `call stack exhausted`);
+
+// ./test/core/skip-stack-guard-page.wast:2279
+assert_exhaustion(() => invoke($0, `test-guard-page-skip`, [400]), `call stack exhausted`);
+
+// ./test/core/skip-stack-guard-page.wast:2280
+assert_exhaustion(() => invoke($0, `test-guard-page-skip`, [500]), `call stack exhausted`);
+
+// ./test/core/skip-stack-guard-page.wast:2281
+assert_exhaustion(() => invoke($0, `test-guard-page-skip`, [600]), `call stack exhausted`);
+
+// ./test/core/skip-stack-guard-page.wast:2282
+assert_exhaustion(() => invoke($0, `test-guard-page-skip`, [700]), `call stack exhausted`);
+
+// ./test/core/skip-stack-guard-page.wast:2283
+assert_exhaustion(() => invoke($0, `test-guard-page-skip`, [800]), `call stack exhausted`);
+
+// ./test/core/skip-stack-guard-page.wast:2284
+assert_exhaustion(() => invoke($0, `test-guard-page-skip`, [900]), `call stack exhausted`);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/stack.wast.js b/js/src/jit-test/tests/wasm/spec/spec/stack.wast.js
new file mode 100644
index 0000000000..306a613cf8
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/stack.wast.js
@@ -0,0 +1,263 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/stack.wast
+
+// ./test/core/stack.wast:1
+let $0 = instantiate(`(module
+ (func (export "fac-expr") (param $$n i64) (result i64)
+ (local $$i i64)
+ (local $$res i64)
+ (local.set $$i (local.get $$n))
+ (local.set $$res (i64.const 1))
+ (block $$done
+ (loop $$loop
+ (if
+ (i64.eq (local.get $$i) (i64.const 0))
+ (then (br $$done))
+ (else
+ (local.set $$res (i64.mul (local.get $$i) (local.get $$res)))
+ (local.set $$i (i64.sub (local.get $$i) (i64.const 1)))
+ )
+ )
+ (br $$loop)
+ )
+ )
+ (local.get $$res)
+ )
+
+ (func (export "fac-stack") (param $$n i64) (result i64)
+ (local $$i i64)
+ (local $$res i64)
+ (local.get $$n)
+ (local.set $$i)
+ (i64.const 1)
+ (local.set $$res)
+ (block $$done
+ (loop $$loop
+ (local.get $$i)
+ (i64.const 0)
+ (i64.eq)
+ (if
+ (then (br $$done))
+ (else
+ (local.get $$i)
+ (local.get $$res)
+ (i64.mul)
+ (local.set $$res)
+ (local.get $$i)
+ (i64.const 1)
+ (i64.sub)
+ (local.set $$i)
+ )
+ )
+ (br $$loop)
+ )
+ )
+ (local.get $$res)
+ )
+
+ (func (export "fac-stack-raw") (param $$n i64) (result i64)
+ (local $$i i64)
+ (local $$res i64)
+ local.get $$n
+ local.set $$i
+ i64.const 1
+ local.set $$res
+ block $$done
+ loop $$loop
+ local.get $$i
+ i64.const 0
+ i64.eq
+ if $$body
+ br $$done
+ else $$body
+ local.get $$i
+ local.get $$res
+ i64.mul
+ local.set $$res
+ local.get $$i
+ i64.const 1
+ i64.sub
+ local.set $$i
+ end $$body
+ br $$loop
+ end $$loop
+ end $$done
+ local.get $$res
+ )
+
+ (func (export "fac-mixed") (param $$n i64) (result i64)
+ (local $$i i64)
+ (local $$res i64)
+ (local.set $$i (local.get $$n))
+ (local.set $$res (i64.const 1))
+ (block $$done
+ (loop $$loop
+ (i64.eq (local.get $$i) (i64.const 0))
+ (if
+ (then (br $$done))
+ (else
+ (i64.mul (local.get $$i) (local.get $$res))
+ (local.set $$res)
+ (i64.sub (local.get $$i) (i64.const 1))
+ (local.set $$i)
+ )
+ )
+ (br $$loop)
+ )
+ )
+ (local.get $$res)
+ )
+
+ (func (export "fac-mixed-raw") (param $$n i64) (result i64)
+ (local $$i i64)
+ (local $$res i64)
+ (local.set $$i (local.get $$n))
+ (local.set $$res (i64.const 1))
+ block $$done
+ loop $$loop
+ (i64.eq (local.get $$i) (i64.const 0))
+ if
+ br $$done
+ else
+ (i64.mul (local.get $$i) (local.get $$res))
+ local.set $$res
+ (i64.sub (local.get $$i) (i64.const 1))
+ local.set $$i
+ end
+ br $$loop
+ end
+ end
+ local.get $$res
+ )
+
+ (global $$temp (mut i32) (i32.const 0))
+ (func $$add_one_to_global (result i32)
+ (local i32)
+ (global.set $$temp (i32.add (i32.const 1) (global.get $$temp)))
+ (global.get $$temp)
+ )
+ (func $$add_one_to_global_and_drop
+ (drop (call $$add_one_to_global))
+ )
+ (func (export "not-quite-a-tree") (result i32)
+ call $$add_one_to_global
+ call $$add_one_to_global
+ call $$add_one_to_global_and_drop
+ i32.add
+ )
+)`);
+
+// ./test/core/stack.wast:146
+assert_return(() => invoke($0, `fac-expr`, [25n]), [value("i64", 7034535277573963776n)]);
+
+// ./test/core/stack.wast:147
+assert_return(() => invoke($0, `fac-stack`, [25n]), [value("i64", 7034535277573963776n)]);
+
+// ./test/core/stack.wast:148
+assert_return(() => invoke($0, `fac-mixed`, [25n]), [value("i64", 7034535277573963776n)]);
+
+// ./test/core/stack.wast:150
+assert_return(() => invoke($0, `not-quite-a-tree`, []), [value("i32", 3)]);
+
+// ./test/core/stack.wast:151
+assert_return(() => invoke($0, `not-quite-a-tree`, []), [value("i32", 9)]);
+
+// ./test/core/stack.wast:156
+let $1 = instantiate(`(module
+ (type $$proc (func))
+ (table 1 funcref)
+
+ (func
+ (block i32.const 0 call_indirect)
+ (loop i32.const 0 call_indirect)
+ (if (i32.const 0) (then i32.const 0 call_indirect))
+ (if (i32.const 0)
+ (then i32.const 0 call_indirect)
+ (else i32.const 0 call_indirect)
+ )
+ (block i32.const 0 call_indirect (type $$proc))
+ (loop i32.const 0 call_indirect (type $$proc))
+ (if (i32.const 0) (then i32.const 0 call_indirect (type $$proc)))
+ (if (i32.const 0)
+ (then i32.const 0 call_indirect (type $$proc))
+ (else i32.const 0 call_indirect (type $$proc))
+ )
+ (block i32.const 0 i32.const 0 call_indirect (param i32))
+ (loop i32.const 0 i32.const 0 call_indirect (param i32))
+ (if (i32.const 0) (then i32.const 0 i32.const 0 call_indirect (param i32)))
+ (if (i32.const 0)
+ (then i32.const 0 i32.const 0 call_indirect (param i32))
+ (else i32.const 0 i32.const 0 call_indirect (param i32))
+ )
+ (block (result i32) i32.const 0 call_indirect (result i32)) (drop)
+ (loop (result i32) i32.const 0 call_indirect (result i32)) (drop)
+ (if (result i32) (i32.const 0)
+ (then i32.const 0 call_indirect (result i32))
+ (else i32.const 0 call_indirect (result i32))
+ ) (drop)
+ (block i32.const 0 call_indirect (type $$proc) (param) (result))
+ (loop i32.const 0 call_indirect (type $$proc) (param) (result))
+ (if (i32.const 0)
+ (then i32.const 0 call_indirect (type $$proc) (param) (result))
+ )
+ (if (i32.const 0)
+ (then i32.const 0 call_indirect (type $$proc) (param) (param) (result))
+ (else i32.const 0 call_indirect (type $$proc) (param) (result) (result))
+ )
+
+ block i32.const 0 call_indirect end
+ loop i32.const 0 call_indirect end
+ i32.const 0 if i32.const 0 call_indirect end
+ i32.const 0 if i32.const 0 call_indirect else i32.const 0 call_indirect end
+ block i32.const 0 call_indirect (type $$proc) end
+ loop i32.const 0 call_indirect (type $$proc) end
+ i32.const 0 if i32.const 0 call_indirect (type $$proc) end
+ i32.const 0
+ if
+ i32.const 0 call_indirect (type $$proc)
+ else
+ i32.const 0 call_indirect (type $$proc)
+ end
+ block i32.const 0 i32.const 0 call_indirect (param i32) end
+ loop i32.const 0 i32.const 0 call_indirect (param i32) end
+ i32.const 0 if i32.const 0 i32.const 0 call_indirect (param i32) end
+ i32.const 0
+ if
+ i32.const 0 i32.const 0 call_indirect (param i32)
+ else
+ i32.const 0 i32.const 0 call_indirect (param i32)
+ end
+ block (result i32) i32.const 0 call_indirect (result i32) end drop
+ loop (result i32) i32.const 0 call_indirect (result i32) end drop
+ i32.const 0
+ if (result i32)
+ i32.const 0 call_indirect (result i32)
+ else
+ i32.const 0 call_indirect (result i32)
+ end drop
+ block i32.const 0 call_indirect (type $$proc) (param) (result) end
+ loop i32.const 0 call_indirect (type $$proc) (param) (result) end
+ i32.const 0 if i32.const 0 call_indirect (type $$proc) (param) (result) end
+ i32.const 0
+ if
+ i32.const 0 call_indirect (type $$proc) (param) (result)
+ else
+ i32.const 0 call_indirect (type $$proc) (param) (param) (result) (result)
+ end
+ i32.const 0 call_indirect
+ )
+)`);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/start.wast.js b/js/src/jit-test/tests/wasm/spec/spec/start.wast.js
new file mode 100644
index 0000000000..7dee026a84
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/start.wast.js
@@ -0,0 +1,150 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/start.wast
+
+// ./test/core/start.wast:1
+assert_invalid(() => instantiate(`(module (func) (start 1))`), `unknown function`);
+
+// ./test/core/start.wast:6
+assert_invalid(
+ () => instantiate(`(module
+ (func $$main (result i32) (return (i32.const 0)))
+ (start $$main)
+ )`),
+ `start function`,
+);
+
+// ./test/core/start.wast:13
+assert_invalid(
+ () => instantiate(`(module
+ (func $$main (param $$a i32))
+ (start $$main)
+ )`),
+ `start function`,
+);
+
+// ./test/core/start.wast:21
+let $0 = instantiate(`(module
+ (memory (data "A"))
+ (func $$inc
+ (i32.store8
+ (i32.const 0)
+ (i32.add
+ (i32.load8_u (i32.const 0))
+ (i32.const 1)
+ )
+ )
+ )
+ (func $$get (result i32)
+ (return (i32.load8_u (i32.const 0)))
+ )
+ (func $$main
+ (call $$inc)
+ (call $$inc)
+ (call $$inc)
+ )
+
+ (start $$main)
+ (export "inc" (func $$inc))
+ (export "get" (func $$get))
+)`);
+
+// ./test/core/start.wast:45
+assert_return(() => invoke($0, `get`, []), [value("i32", 68)]);
+
+// ./test/core/start.wast:46
+invoke($0, `inc`, []);
+
+// ./test/core/start.wast:47
+assert_return(() => invoke($0, `get`, []), [value("i32", 69)]);
+
+// ./test/core/start.wast:48
+invoke($0, `inc`, []);
+
+// ./test/core/start.wast:49
+assert_return(() => invoke($0, `get`, []), [value("i32", 70)]);
+
+// ./test/core/start.wast:51
+let $1 = instantiate(`(module
+ (memory (data "A"))
+ (func $$inc
+ (i32.store8
+ (i32.const 0)
+ (i32.add
+ (i32.load8_u (i32.const 0))
+ (i32.const 1)
+ )
+ )
+ )
+ (func $$get (result i32)
+ (return (i32.load8_u (i32.const 0)))
+ )
+ (func $$main
+ (call $$inc)
+ (call $$inc)
+ (call $$inc)
+ )
+ (start 2)
+ (export "inc" (func $$inc))
+ (export "get" (func $$get))
+)`);
+
+// ./test/core/start.wast:74
+assert_return(() => invoke($1, `get`, []), [value("i32", 68)]);
+
+// ./test/core/start.wast:75
+invoke($1, `inc`, []);
+
+// ./test/core/start.wast:76
+assert_return(() => invoke($1, `get`, []), [value("i32", 69)]);
+
+// ./test/core/start.wast:77
+invoke($1, `inc`, []);
+
+// ./test/core/start.wast:78
+assert_return(() => invoke($1, `get`, []), [value("i32", 70)]);
+
+// ./test/core/start.wast:80
+let $2 = instantiate(`(module
+ (func $$print_i32 (import "spectest" "print_i32") (param i32))
+ (func $$main (call $$print_i32 (i32.const 1)))
+ (start 1)
+)`);
+
+// ./test/core/start.wast:86
+let $3 = instantiate(`(module
+ (func $$print_i32 (import "spectest" "print_i32") (param i32))
+ (func $$main (call $$print_i32 (i32.const 2)))
+ (start $$main)
+)`);
+
+// ./test/core/start.wast:92
+let $4 = instantiate(`(module
+ (func $$print (import "spectest" "print"))
+ (start $$print)
+)`);
+
+// ./test/core/start.wast:97
+assert_trap(
+ () => instantiate(`(module (func $$main (unreachable)) (start $$main))`),
+ `unreachable`,
+);
+
+// ./test/core/start.wast:102
+assert_malformed(
+ () => instantiate(`(module (func $$a (unreachable)) (func $$b (unreachable)) (start $$a) (start $$b)) `),
+ `multiple start sections`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/store.wast.js b/js/src/jit-test/tests/wasm/spec/spec/store.wast.js
new file mode 100644
index 0000000000..c11b459ca2
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/store.wast.js
@@ -0,0 +1,583 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/store.wast
+
+// ./test/core/store.wast:3
+let $0 = instantiate(`(module
+ (memory 1)
+
+ (func (export "as-block-value")
+ (block (i32.store (i32.const 0) (i32.const 1)))
+ )
+ (func (export "as-loop-value")
+ (loop (i32.store (i32.const 0) (i32.const 1)))
+ )
+
+ (func (export "as-br-value")
+ (block (br 0 (i32.store (i32.const 0) (i32.const 1))))
+ )
+ (func (export "as-br_if-value")
+ (block
+ (br_if 0 (i32.store (i32.const 0) (i32.const 1)) (i32.const 1))
+ )
+ )
+ (func (export "as-br_if-value-cond")
+ (block
+ (br_if 0 (i32.const 6) (i32.store (i32.const 0) (i32.const 1)))
+ )
+ )
+ (func (export "as-br_table-value")
+ (block
+ (br_table 0 (i32.store (i32.const 0) (i32.const 1)) (i32.const 1))
+ )
+ )
+
+ (func (export "as-return-value")
+ (return (i32.store (i32.const 0) (i32.const 1)))
+ )
+
+ (func (export "as-if-then")
+ (if (i32.const 1) (then (i32.store (i32.const 0) (i32.const 1))))
+ )
+ (func (export "as-if-else")
+ (if (i32.const 0) (then) (else (i32.store (i32.const 0) (i32.const 1))))
+ )
+)`);
+
+// ./test/core/store.wast:44
+assert_return(() => invoke($0, `as-block-value`, []), []);
+
+// ./test/core/store.wast:45
+assert_return(() => invoke($0, `as-loop-value`, []), []);
+
+// ./test/core/store.wast:47
+assert_return(() => invoke($0, `as-br-value`, []), []);
+
+// ./test/core/store.wast:48
+assert_return(() => invoke($0, `as-br_if-value`, []), []);
+
+// ./test/core/store.wast:49
+assert_return(() => invoke($0, `as-br_if-value-cond`, []), []);
+
+// ./test/core/store.wast:50
+assert_return(() => invoke($0, `as-br_table-value`, []), []);
+
+// ./test/core/store.wast:52
+assert_return(() => invoke($0, `as-return-value`, []), []);
+
+// ./test/core/store.wast:54
+assert_return(() => invoke($0, `as-if-then`, []), []);
+
+// ./test/core/store.wast:55
+assert_return(() => invoke($0, `as-if-else`, []), []);
+
+// ./test/core/store.wast:57
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param i32) (i32.store32 (local.get 0) (i32.const 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/store.wast:64
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param i32) (i32.store64 (local.get 0) (i64.const 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/store.wast:72
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param i32) (i64.store64 (local.get 0) (i64.const 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/store.wast:80
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param i32) (f32.store32 (local.get 0) (f32.const 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/store.wast:87
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param i32) (f32.store64 (local.get 0) (f64.const 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/store.wast:95
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param i32) (f64.store32 (local.get 0) (f32.const 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/store.wast:102
+assert_malformed(
+ () => instantiate(`(memory 1) (func (param i32) (f64.store64 (local.get 0) (f64.const 0))) `),
+ `unknown operator`,
+);
+
+// ./test/core/store.wast:111
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (param i32) (result i32) (i32.store (i32.const 0) (i32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:115
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (param i64) (result i64) (i64.store (i32.const 0) (i64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:119
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (param f32) (result f32) (f32.store (i32.const 0) (f32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:123
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (param f64) (result f64) (f64.store (i32.const 0) (f64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:127
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (param i32) (result i32) (i32.store8 (i32.const 0) (i32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:131
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (param i32) (result i32) (i32.store16 (i32.const 0) (i32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:135
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (param i64) (result i64) (i64.store8 (i32.const 0) (i64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:139
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (param i64) (result i64) (i64.store16 (i32.const 0) (i64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:143
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (param i64) (result i64) (i64.store32 (i32.const 0) (i64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:149
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-address-empty
+ (i32.store)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:158
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-value-empty
+ (i32.const 0) (i32.store)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:167
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-address-empty-in-block
+ (i32.const 0) (i32.const 0)
+ (block (i32.store))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:177
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-value-empty-in-block
+ (i32.const 0)
+ (block (i32.const 0) (i32.store))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:187
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-address-empty-in-loop
+ (i32.const 0) (i32.const 0)
+ (loop (i32.store))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:197
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-value-empty-in-loop
+ (i32.const 0)
+ (loop (i32.const 0) (i32.store))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:207
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-address-empty-in-then
+ (i32.const 0) (i32.const 0)
+ (if (then (i32.store)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:217
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-value-empty-in-then
+ (i32.const 0)
+ (if (then (i32.const 0) (i32.store)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:227
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-address-empty-in-else
+ (i32.const 0) (i32.const 0)
+ (if (result i32) (then (i32.const 0)) (else (i32.store)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:237
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-value-empty-in-else
+ (i32.const 0)
+ (if (result i32) (then (i32.const 0)) (else (i32.const 0) (i32.store)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:247
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-address-empty-in-br
+ (i32.const 0) (i32.const 0)
+ (block (br 0 (i32.store)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:257
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-value-empty-in-br
+ (i32.const 0)
+ (block (br 0 (i32.const 0) (i32.store)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:267
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-address-empty-in-br_if
+ (i32.const 0) (i32.const 0)
+ (block (br_if 0 (i32.store) (i32.const 1)) )
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:277
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-value-empty-in-br_if
+ (i32.const 0)
+ (block (br_if 0 (i32.const 0) (i32.store) (i32.const 1)) )
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:287
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-address-empty-in-br_table
+ (i32.const 0) (i32.const 0)
+ (block (br_table 0 (i32.store)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:297
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-value-empty-in-br_table
+ (i32.const 0)
+ (block (br_table 0 (i32.const 0) (i32.store)))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:307
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-address-empty-in-return
+ (return (i32.store))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:316
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-value-empty-in-return
+ (return (i32.const 0) (i32.store))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:325
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-address-empty-in-select
+ (select (i32.store) (i32.const 1) (i32.const 2))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:334
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-value-empty-in-select
+ (select (i32.const 0) (i32.store) (i32.const 1) (i32.const 2))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:343
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-address-empty-in-call
+ (call 1 (i32.store))
+ )
+ (func (param i32) (result i32) (local.get 0))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:353
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$type-value-empty-in-call
+ (call 1 (i32.const 0) (i32.store))
+ )
+ (func (param i32) (result i32) (local.get 0))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:363
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$f (param i32) (result i32) (local.get 0))
+ (type $$sig (func (param i32) (result i32)))
+ (table funcref (elem $$f))
+ (func $$type-address-empty-in-call_indirect
+ (block (result i32)
+ (call_indirect (type $$sig)
+ (i32.store) (i32.const 0)
+ )
+ )
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:379
+assert_invalid(
+ () => instantiate(`(module
+ (memory 1)
+ (func $$f (param i32) (result i32) (local.get 0))
+ (type $$sig (func (param i32) (result i32)))
+ (table funcref (elem $$f))
+ (func $$type-value-empty-in-call_indirect
+ (block (result i32)
+ (call_indirect (type $$sig)
+ (i32.const 0) (i32.store) (i32.const 0)
+ )
+ )
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:399
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (i32.store (f32.const 0) (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:400
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (i32.store8 (f32.const 0) (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:401
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (i32.store16 (f32.const 0) (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:402
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (i64.store (f32.const 0) (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:403
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (i64.store8 (f32.const 0) (i64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:404
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (i64.store16 (f32.const 0) (i64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:405
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (i64.store32 (f32.const 0) (i64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:406
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (f32.store (f32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:407
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (f64.store (f32.const 0) (f64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:409
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (i32.store (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:410
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (i32.store8 (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:411
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (i32.store16 (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:412
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (i64.store (i32.const 0) (f32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:413
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (i64.store8 (i32.const 0) (f64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:414
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (i64.store16 (i32.const 0) (f64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:415
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (i64.store32 (i32.const 0) (f64.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:416
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (f32.store (i32.const 0) (i32.const 0))))`),
+ `type mismatch`,
+);
+
+// ./test/core/store.wast:417
+assert_invalid(
+ () => instantiate(`(module (memory 1) (func (f64.store (i32.const 0) (i64.const 0))))`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/switch.wast.js b/js/src/jit-test/tests/wasm/spec/spec/switch.wast.js
new file mode 100644
index 0000000000..403b2c3762
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/switch.wast.js
@@ -0,0 +1,220 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/switch.wast
+
+// ./test/core/switch.wast:1
+let $0 = instantiate(`(module
+ ;; Statement switch
+ (func (export "stmt") (param $$i i32) (result i32)
+ (local $$j i32)
+ (local.set $$j (i32.const 100))
+ (block $$switch
+ (block $$7
+ (block $$default
+ (block $$6
+ (block $$5
+ (block $$4
+ (block $$3
+ (block $$2
+ (block $$1
+ (block $$0
+ (br_table $$0 $$1 $$2 $$3 $$4 $$5 $$6 $$7 $$default
+ (local.get $$i)
+ )
+ ) ;; 0
+ (return (local.get $$i))
+ ) ;; 1
+ (nop)
+ ;; fallthrough
+ ) ;; 2
+ ;; fallthrough
+ ) ;; 3
+ (local.set $$j (i32.sub (i32.const 0) (local.get $$i)))
+ (br $$switch)
+ ) ;; 4
+ (br $$switch)
+ ) ;; 5
+ (local.set $$j (i32.const 101))
+ (br $$switch)
+ ) ;; 6
+ (local.set $$j (i32.const 101))
+ ;; fallthrough
+ ) ;; default
+ (local.set $$j (i32.const 102))
+ ) ;; 7
+ ;; fallthrough
+ )
+ (return (local.get $$j))
+ )
+
+ ;; Expression switch
+ (func (export "expr") (param $$i i64) (result i64)
+ (local $$j i64)
+ (local.set $$j (i64.const 100))
+ (return
+ (block $$switch (result i64)
+ (block $$7
+ (block $$default
+ (block $$4
+ (block $$5
+ (block $$6
+ (block $$3
+ (block $$2
+ (block $$1
+ (block $$0
+ (br_table $$0 $$1 $$2 $$3 $$4 $$5 $$6 $$7 $$default
+ (i32.wrap_i64 (local.get $$i))
+ )
+ ) ;; 0
+ (return (local.get $$i))
+ ) ;; 1
+ (nop)
+ ;; fallthrough
+ ) ;; 2
+ ;; fallthrough
+ ) ;; 3
+ (br $$switch (i64.sub (i64.const 0) (local.get $$i)))
+ ) ;; 6
+ (local.set $$j (i64.const 101))
+ ;; fallthrough
+ ) ;; 4
+ ;; fallthrough
+ ) ;; 5
+ ;; fallthrough
+ ) ;; default
+ (br $$switch (local.get $$j))
+ ) ;; 7
+ (i64.const -5)
+ )
+ )
+ )
+
+ ;; Argument switch
+ (func (export "arg") (param $$i i32) (result i32)
+ (return
+ (block $$2 (result i32)
+ (i32.add (i32.const 10)
+ (block $$1 (result i32)
+ (i32.add (i32.const 100)
+ (block $$0 (result i32)
+ (i32.add (i32.const 1000)
+ (block $$default (result i32)
+ (br_table $$0 $$1 $$2 $$default
+ (i32.mul (i32.const 2) (local.get $$i))
+ (i32.and (i32.const 3) (local.get $$i))
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+
+ ;; Corner cases
+ (func (export "corner") (result i32)
+ (block
+ (br_table 0 (i32.const 0))
+ )
+ (i32.const 1)
+ )
+)`);
+
+// ./test/core/switch.wast:120
+assert_return(() => invoke($0, `stmt`, [0]), [value("i32", 0)]);
+
+// ./test/core/switch.wast:121
+assert_return(() => invoke($0, `stmt`, [1]), [value("i32", -1)]);
+
+// ./test/core/switch.wast:122
+assert_return(() => invoke($0, `stmt`, [2]), [value("i32", -2)]);
+
+// ./test/core/switch.wast:123
+assert_return(() => invoke($0, `stmt`, [3]), [value("i32", -3)]);
+
+// ./test/core/switch.wast:124
+assert_return(() => invoke($0, `stmt`, [4]), [value("i32", 100)]);
+
+// ./test/core/switch.wast:125
+assert_return(() => invoke($0, `stmt`, [5]), [value("i32", 101)]);
+
+// ./test/core/switch.wast:126
+assert_return(() => invoke($0, `stmt`, [6]), [value("i32", 102)]);
+
+// ./test/core/switch.wast:127
+assert_return(() => invoke($0, `stmt`, [7]), [value("i32", 100)]);
+
+// ./test/core/switch.wast:128
+assert_return(() => invoke($0, `stmt`, [-10]), [value("i32", 102)]);
+
+// ./test/core/switch.wast:130
+assert_return(() => invoke($0, `expr`, [0n]), [value("i64", 0n)]);
+
+// ./test/core/switch.wast:131
+assert_return(() => invoke($0, `expr`, [1n]), [value("i64", -1n)]);
+
+// ./test/core/switch.wast:132
+assert_return(() => invoke($0, `expr`, [2n]), [value("i64", -2n)]);
+
+// ./test/core/switch.wast:133
+assert_return(() => invoke($0, `expr`, [3n]), [value("i64", -3n)]);
+
+// ./test/core/switch.wast:134
+assert_return(() => invoke($0, `expr`, [6n]), [value("i64", 101n)]);
+
+// ./test/core/switch.wast:135
+assert_return(() => invoke($0, `expr`, [7n]), [value("i64", -5n)]);
+
+// ./test/core/switch.wast:136
+assert_return(() => invoke($0, `expr`, [-10n]), [value("i64", 100n)]);
+
+// ./test/core/switch.wast:138
+assert_return(() => invoke($0, `arg`, [0]), [value("i32", 110)]);
+
+// ./test/core/switch.wast:139
+assert_return(() => invoke($0, `arg`, [1]), [value("i32", 12)]);
+
+// ./test/core/switch.wast:140
+assert_return(() => invoke($0, `arg`, [2]), [value("i32", 4)]);
+
+// ./test/core/switch.wast:141
+assert_return(() => invoke($0, `arg`, [3]), [value("i32", 1116)]);
+
+// ./test/core/switch.wast:142
+assert_return(() => invoke($0, `arg`, [4]), [value("i32", 118)]);
+
+// ./test/core/switch.wast:143
+assert_return(() => invoke($0, `arg`, [5]), [value("i32", 20)]);
+
+// ./test/core/switch.wast:144
+assert_return(() => invoke($0, `arg`, [6]), [value("i32", 12)]);
+
+// ./test/core/switch.wast:145
+assert_return(() => invoke($0, `arg`, [7]), [value("i32", 1124)]);
+
+// ./test/core/switch.wast:146
+assert_return(() => invoke($0, `arg`, [8]), [value("i32", 126)]);
+
+// ./test/core/switch.wast:148
+assert_return(() => invoke($0, `corner`, []), [value("i32", 1)]);
+
+// ./test/core/switch.wast:150
+assert_invalid(
+ () => instantiate(`(module (func (br_table 3 (i32.const 0))))`),
+ `unknown label`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/table-sub.wast.js b/js/src/jit-test/tests/wasm/spec/spec/table-sub.wast.js
new file mode 100644
index 0000000000..81357fa888
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/table-sub.wast.js
@@ -0,0 +1,40 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/table-sub.wast
+
+// ./test/core/table-sub.wast:1
+assert_invalid(
+ () => instantiate(`(module
+ (table $$t1 10 funcref)
+ (table $$t2 10 externref)
+ (func $$f
+ (table.copy $$t1 $$t2 (i32.const 0) (i32.const 1) (i32.const 2))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/table-sub.wast:12
+assert_invalid(
+ () => instantiate(`(module
+ (table $$t 10 funcref)
+ (elem $$el externref)
+ (func $$f
+ (table.init $$t $$el (i32.const 0) (i32.const 1) (i32.const 2))
+ )
+ )`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/table_copy.wast.js b/js/src/jit-test/tests/wasm/spec/spec/table_copy.wast.js
new file mode 100644
index 0000000000..d78f54181c
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/table_copy.wast.js
@@ -0,0 +1,6436 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/table_copy.wast
+
+// ./test/core/table_copy.wast:6
+let $0 = instantiate(`(module
+ (func (export "ef0") (result i32) (i32.const 0))
+ (func (export "ef1") (result i32) (i32.const 1))
+ (func (export "ef2") (result i32) (i32.const 2))
+ (func (export "ef3") (result i32) (i32.const 3))
+ (func (export "ef4") (result i32) (i32.const 4))
+)`);
+
+// ./test/core/table_copy.wast:13
+register($0, `a`);
+
+// ./test/core/table_copy.wast:15
+let $1 = instantiate(`(module
+ (type (func (result i32))) ;; type #0
+ (import "a" "ef0" (func (result i32))) ;; index 0
+ (import "a" "ef1" (func (result i32)))
+ (import "a" "ef2" (func (result i32)))
+ (import "a" "ef3" (func (result i32)))
+ (import "a" "ef4" (func (result i32))) ;; index 4
+ (table $$t0 30 30 funcref)
+ (table $$t1 30 30 funcref)
+ (elem (table $$t0) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t0) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (elem (table $$t1) (i32.const 3) func 1 3 1 4)
+ (elem (table $$t1) (i32.const 11) func 6 3 2 5 7)
+ (func (result i32) (i32.const 5)) ;; index 5
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9)) ;; index 9
+ (func (export "test")
+ (nop))
+ (func (export "check_t0") (param i32) (result i32)
+ (call_indirect $$t0 (type 0) (local.get 0)))
+ (func (export "check_t1") (param i32) (result i32)
+ (call_indirect $$t1 (type 0) (local.get 0)))
+)`);
+
+// ./test/core/table_copy.wast:45
+invoke($1, `test`, []);
+
+// ./test/core/table_copy.wast:46
+assert_trap(() => invoke($1, `check_t0`, [0]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:47
+assert_trap(() => invoke($1, `check_t0`, [1]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:48
+assert_return(() => invoke($1, `check_t0`, [2]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:49
+assert_return(() => invoke($1, `check_t0`, [3]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:50
+assert_return(() => invoke($1, `check_t0`, [4]), [value("i32", 4)]);
+
+// ./test/core/table_copy.wast:51
+assert_return(() => invoke($1, `check_t0`, [5]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:52
+assert_trap(() => invoke($1, `check_t0`, [6]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:53
+assert_trap(() => invoke($1, `check_t0`, [7]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:54
+assert_trap(() => invoke($1, `check_t0`, [8]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:55
+assert_trap(() => invoke($1, `check_t0`, [9]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:56
+assert_trap(() => invoke($1, `check_t0`, [10]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:57
+assert_trap(() => invoke($1, `check_t0`, [11]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:58
+assert_return(() => invoke($1, `check_t0`, [12]), [value("i32", 7)]);
+
+// ./test/core/table_copy.wast:59
+assert_return(() => invoke($1, `check_t0`, [13]), [value("i32", 5)]);
+
+// ./test/core/table_copy.wast:60
+assert_return(() => invoke($1, `check_t0`, [14]), [value("i32", 2)]);
+
+// ./test/core/table_copy.wast:61
+assert_return(() => invoke($1, `check_t0`, [15]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:62
+assert_return(() => invoke($1, `check_t0`, [16]), [value("i32", 6)]);
+
+// ./test/core/table_copy.wast:63
+assert_trap(() => invoke($1, `check_t0`, [17]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:64
+assert_trap(() => invoke($1, `check_t0`, [18]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:65
+assert_trap(() => invoke($1, `check_t0`, [19]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:66
+assert_trap(() => invoke($1, `check_t0`, [20]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:67
+assert_trap(() => invoke($1, `check_t0`, [21]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:68
+assert_trap(() => invoke($1, `check_t0`, [22]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:69
+assert_trap(() => invoke($1, `check_t0`, [23]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:70
+assert_trap(() => invoke($1, `check_t0`, [24]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:71
+assert_trap(() => invoke($1, `check_t0`, [25]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:72
+assert_trap(() => invoke($1, `check_t0`, [26]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:73
+assert_trap(() => invoke($1, `check_t0`, [27]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:74
+assert_trap(() => invoke($1, `check_t0`, [28]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:75
+assert_trap(() => invoke($1, `check_t0`, [29]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:76
+assert_trap(() => invoke($1, `check_t1`, [0]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:77
+assert_trap(() => invoke($1, `check_t1`, [1]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:78
+assert_trap(() => invoke($1, `check_t1`, [2]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:79
+assert_return(() => invoke($1, `check_t1`, [3]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:80
+assert_return(() => invoke($1, `check_t1`, [4]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:81
+assert_return(() => invoke($1, `check_t1`, [5]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:82
+assert_return(() => invoke($1, `check_t1`, [6]), [value("i32", 4)]);
+
+// ./test/core/table_copy.wast:83
+assert_trap(() => invoke($1, `check_t1`, [7]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:84
+assert_trap(() => invoke($1, `check_t1`, [8]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:85
+assert_trap(() => invoke($1, `check_t1`, [9]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:86
+assert_trap(() => invoke($1, `check_t1`, [10]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:87
+assert_return(() => invoke($1, `check_t1`, [11]), [value("i32", 6)]);
+
+// ./test/core/table_copy.wast:88
+assert_return(() => invoke($1, `check_t1`, [12]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:89
+assert_return(() => invoke($1, `check_t1`, [13]), [value("i32", 2)]);
+
+// ./test/core/table_copy.wast:90
+assert_return(() => invoke($1, `check_t1`, [14]), [value("i32", 5)]);
+
+// ./test/core/table_copy.wast:91
+assert_return(() => invoke($1, `check_t1`, [15]), [value("i32", 7)]);
+
+// ./test/core/table_copy.wast:92
+assert_trap(() => invoke($1, `check_t1`, [16]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:93
+assert_trap(() => invoke($1, `check_t1`, [17]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:94
+assert_trap(() => invoke($1, `check_t1`, [18]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:95
+assert_trap(() => invoke($1, `check_t1`, [19]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:96
+assert_trap(() => invoke($1, `check_t1`, [20]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:97
+assert_trap(() => invoke($1, `check_t1`, [21]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:98
+assert_trap(() => invoke($1, `check_t1`, [22]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:99
+assert_trap(() => invoke($1, `check_t1`, [23]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:100
+assert_trap(() => invoke($1, `check_t1`, [24]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:101
+assert_trap(() => invoke($1, `check_t1`, [25]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:102
+assert_trap(() => invoke($1, `check_t1`, [26]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:103
+assert_trap(() => invoke($1, `check_t1`, [27]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:104
+assert_trap(() => invoke($1, `check_t1`, [28]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:105
+assert_trap(() => invoke($1, `check_t1`, [29]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:107
+let $2 = instantiate(`(module
+ (type (func (result i32))) ;; type #0
+ (import "a" "ef0" (func (result i32))) ;; index 0
+ (import "a" "ef1" (func (result i32)))
+ (import "a" "ef2" (func (result i32)))
+ (import "a" "ef3" (func (result i32)))
+ (import "a" "ef4" (func (result i32))) ;; index 4
+ (table $$t0 30 30 funcref)
+ (table $$t1 30 30 funcref)
+ (elem (table $$t0) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t0) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (elem (table $$t1) (i32.const 3) func 1 3 1 4)
+ (elem (table $$t1) (i32.const 11) func 6 3 2 5 7)
+ (func (result i32) (i32.const 5)) ;; index 5
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9)) ;; index 9
+ (func (export "test")
+ (table.copy $$t0 $$t0 (i32.const 13) (i32.const 2) (i32.const 3)))
+ (func (export "check_t0") (param i32) (result i32)
+ (call_indirect $$t0 (type 0) (local.get 0)))
+ (func (export "check_t1") (param i32) (result i32)
+ (call_indirect $$t1 (type 0) (local.get 0)))
+)`);
+
+// ./test/core/table_copy.wast:137
+invoke($2, `test`, []);
+
+// ./test/core/table_copy.wast:138
+assert_trap(() => invoke($2, `check_t0`, [0]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:139
+assert_trap(() => invoke($2, `check_t0`, [1]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:140
+assert_return(() => invoke($2, `check_t0`, [2]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:141
+assert_return(() => invoke($2, `check_t0`, [3]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:142
+assert_return(() => invoke($2, `check_t0`, [4]), [value("i32", 4)]);
+
+// ./test/core/table_copy.wast:143
+assert_return(() => invoke($2, `check_t0`, [5]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:144
+assert_trap(() => invoke($2, `check_t0`, [6]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:145
+assert_trap(() => invoke($2, `check_t0`, [7]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:146
+assert_trap(() => invoke($2, `check_t0`, [8]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:147
+assert_trap(() => invoke($2, `check_t0`, [9]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:148
+assert_trap(() => invoke($2, `check_t0`, [10]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:149
+assert_trap(() => invoke($2, `check_t0`, [11]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:150
+assert_return(() => invoke($2, `check_t0`, [12]), [value("i32", 7)]);
+
+// ./test/core/table_copy.wast:151
+assert_return(() => invoke($2, `check_t0`, [13]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:152
+assert_return(() => invoke($2, `check_t0`, [14]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:153
+assert_return(() => invoke($2, `check_t0`, [15]), [value("i32", 4)]);
+
+// ./test/core/table_copy.wast:154
+assert_return(() => invoke($2, `check_t0`, [16]), [value("i32", 6)]);
+
+// ./test/core/table_copy.wast:155
+assert_trap(() => invoke($2, `check_t0`, [17]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:156
+assert_trap(() => invoke($2, `check_t0`, [18]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:157
+assert_trap(() => invoke($2, `check_t0`, [19]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:158
+assert_trap(() => invoke($2, `check_t0`, [20]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:159
+assert_trap(() => invoke($2, `check_t0`, [21]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:160
+assert_trap(() => invoke($2, `check_t0`, [22]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:161
+assert_trap(() => invoke($2, `check_t0`, [23]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:162
+assert_trap(() => invoke($2, `check_t0`, [24]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:163
+assert_trap(() => invoke($2, `check_t0`, [25]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:164
+assert_trap(() => invoke($2, `check_t0`, [26]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:165
+assert_trap(() => invoke($2, `check_t0`, [27]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:166
+assert_trap(() => invoke($2, `check_t0`, [28]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:167
+assert_trap(() => invoke($2, `check_t0`, [29]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:168
+assert_trap(() => invoke($2, `check_t1`, [0]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:169
+assert_trap(() => invoke($2, `check_t1`, [1]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:170
+assert_trap(() => invoke($2, `check_t1`, [2]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:171
+assert_return(() => invoke($2, `check_t1`, [3]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:172
+assert_return(() => invoke($2, `check_t1`, [4]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:173
+assert_return(() => invoke($2, `check_t1`, [5]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:174
+assert_return(() => invoke($2, `check_t1`, [6]), [value("i32", 4)]);
+
+// ./test/core/table_copy.wast:175
+assert_trap(() => invoke($2, `check_t1`, [7]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:176
+assert_trap(() => invoke($2, `check_t1`, [8]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:177
+assert_trap(() => invoke($2, `check_t1`, [9]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:178
+assert_trap(() => invoke($2, `check_t1`, [10]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:179
+assert_return(() => invoke($2, `check_t1`, [11]), [value("i32", 6)]);
+
+// ./test/core/table_copy.wast:180
+assert_return(() => invoke($2, `check_t1`, [12]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:181
+assert_return(() => invoke($2, `check_t1`, [13]), [value("i32", 2)]);
+
+// ./test/core/table_copy.wast:182
+assert_return(() => invoke($2, `check_t1`, [14]), [value("i32", 5)]);
+
+// ./test/core/table_copy.wast:183
+assert_return(() => invoke($2, `check_t1`, [15]), [value("i32", 7)]);
+
+// ./test/core/table_copy.wast:184
+assert_trap(() => invoke($2, `check_t1`, [16]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:185
+assert_trap(() => invoke($2, `check_t1`, [17]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:186
+assert_trap(() => invoke($2, `check_t1`, [18]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:187
+assert_trap(() => invoke($2, `check_t1`, [19]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:188
+assert_trap(() => invoke($2, `check_t1`, [20]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:189
+assert_trap(() => invoke($2, `check_t1`, [21]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:190
+assert_trap(() => invoke($2, `check_t1`, [22]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:191
+assert_trap(() => invoke($2, `check_t1`, [23]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:192
+assert_trap(() => invoke($2, `check_t1`, [24]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:193
+assert_trap(() => invoke($2, `check_t1`, [25]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:194
+assert_trap(() => invoke($2, `check_t1`, [26]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:195
+assert_trap(() => invoke($2, `check_t1`, [27]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:196
+assert_trap(() => invoke($2, `check_t1`, [28]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:197
+assert_trap(() => invoke($2, `check_t1`, [29]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:199
+let $3 = instantiate(`(module
+ (type (func (result i32))) ;; type #0
+ (import "a" "ef0" (func (result i32))) ;; index 0
+ (import "a" "ef1" (func (result i32)))
+ (import "a" "ef2" (func (result i32)))
+ (import "a" "ef3" (func (result i32)))
+ (import "a" "ef4" (func (result i32))) ;; index 4
+ (table $$t0 30 30 funcref)
+ (table $$t1 30 30 funcref)
+ (elem (table $$t0) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t0) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (elem (table $$t1) (i32.const 3) func 1 3 1 4)
+ (elem (table $$t1) (i32.const 11) func 6 3 2 5 7)
+ (func (result i32) (i32.const 5)) ;; index 5
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9)) ;; index 9
+ (func (export "test")
+ (table.copy $$t0 $$t0 (i32.const 25) (i32.const 15) (i32.const 2)))
+ (func (export "check_t0") (param i32) (result i32)
+ (call_indirect $$t0 (type 0) (local.get 0)))
+ (func (export "check_t1") (param i32) (result i32)
+ (call_indirect $$t1 (type 0) (local.get 0)))
+)`);
+
+// ./test/core/table_copy.wast:229
+invoke($3, `test`, []);
+
+// ./test/core/table_copy.wast:230
+assert_trap(() => invoke($3, `check_t0`, [0]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:231
+assert_trap(() => invoke($3, `check_t0`, [1]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:232
+assert_return(() => invoke($3, `check_t0`, [2]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:233
+assert_return(() => invoke($3, `check_t0`, [3]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:234
+assert_return(() => invoke($3, `check_t0`, [4]), [value("i32", 4)]);
+
+// ./test/core/table_copy.wast:235
+assert_return(() => invoke($3, `check_t0`, [5]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:236
+assert_trap(() => invoke($3, `check_t0`, [6]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:237
+assert_trap(() => invoke($3, `check_t0`, [7]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:238
+assert_trap(() => invoke($3, `check_t0`, [8]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:239
+assert_trap(() => invoke($3, `check_t0`, [9]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:240
+assert_trap(() => invoke($3, `check_t0`, [10]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:241
+assert_trap(() => invoke($3, `check_t0`, [11]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:242
+assert_return(() => invoke($3, `check_t0`, [12]), [value("i32", 7)]);
+
+// ./test/core/table_copy.wast:243
+assert_return(() => invoke($3, `check_t0`, [13]), [value("i32", 5)]);
+
+// ./test/core/table_copy.wast:244
+assert_return(() => invoke($3, `check_t0`, [14]), [value("i32", 2)]);
+
+// ./test/core/table_copy.wast:245
+assert_return(() => invoke($3, `check_t0`, [15]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:246
+assert_return(() => invoke($3, `check_t0`, [16]), [value("i32", 6)]);
+
+// ./test/core/table_copy.wast:247
+assert_trap(() => invoke($3, `check_t0`, [17]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:248
+assert_trap(() => invoke($3, `check_t0`, [18]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:249
+assert_trap(() => invoke($3, `check_t0`, [19]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:250
+assert_trap(() => invoke($3, `check_t0`, [20]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:251
+assert_trap(() => invoke($3, `check_t0`, [21]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:252
+assert_trap(() => invoke($3, `check_t0`, [22]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:253
+assert_trap(() => invoke($3, `check_t0`, [23]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:254
+assert_trap(() => invoke($3, `check_t0`, [24]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:255
+assert_return(() => invoke($3, `check_t0`, [25]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:256
+assert_return(() => invoke($3, `check_t0`, [26]), [value("i32", 6)]);
+
+// ./test/core/table_copy.wast:257
+assert_trap(() => invoke($3, `check_t0`, [27]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:258
+assert_trap(() => invoke($3, `check_t0`, [28]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:259
+assert_trap(() => invoke($3, `check_t0`, [29]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:260
+assert_trap(() => invoke($3, `check_t1`, [0]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:261
+assert_trap(() => invoke($3, `check_t1`, [1]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:262
+assert_trap(() => invoke($3, `check_t1`, [2]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:263
+assert_return(() => invoke($3, `check_t1`, [3]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:264
+assert_return(() => invoke($3, `check_t1`, [4]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:265
+assert_return(() => invoke($3, `check_t1`, [5]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:266
+assert_return(() => invoke($3, `check_t1`, [6]), [value("i32", 4)]);
+
+// ./test/core/table_copy.wast:267
+assert_trap(() => invoke($3, `check_t1`, [7]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:268
+assert_trap(() => invoke($3, `check_t1`, [8]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:269
+assert_trap(() => invoke($3, `check_t1`, [9]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:270
+assert_trap(() => invoke($3, `check_t1`, [10]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:271
+assert_return(() => invoke($3, `check_t1`, [11]), [value("i32", 6)]);
+
+// ./test/core/table_copy.wast:272
+assert_return(() => invoke($3, `check_t1`, [12]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:273
+assert_return(() => invoke($3, `check_t1`, [13]), [value("i32", 2)]);
+
+// ./test/core/table_copy.wast:274
+assert_return(() => invoke($3, `check_t1`, [14]), [value("i32", 5)]);
+
+// ./test/core/table_copy.wast:275
+assert_return(() => invoke($3, `check_t1`, [15]), [value("i32", 7)]);
+
+// ./test/core/table_copy.wast:276
+assert_trap(() => invoke($3, `check_t1`, [16]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:277
+assert_trap(() => invoke($3, `check_t1`, [17]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:278
+assert_trap(() => invoke($3, `check_t1`, [18]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:279
+assert_trap(() => invoke($3, `check_t1`, [19]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:280
+assert_trap(() => invoke($3, `check_t1`, [20]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:281
+assert_trap(() => invoke($3, `check_t1`, [21]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:282
+assert_trap(() => invoke($3, `check_t1`, [22]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:283
+assert_trap(() => invoke($3, `check_t1`, [23]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:284
+assert_trap(() => invoke($3, `check_t1`, [24]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:285
+assert_trap(() => invoke($3, `check_t1`, [25]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:286
+assert_trap(() => invoke($3, `check_t1`, [26]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:287
+assert_trap(() => invoke($3, `check_t1`, [27]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:288
+assert_trap(() => invoke($3, `check_t1`, [28]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:289
+assert_trap(() => invoke($3, `check_t1`, [29]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:291
+let $4 = instantiate(`(module
+ (type (func (result i32))) ;; type #0
+ (import "a" "ef0" (func (result i32))) ;; index 0
+ (import "a" "ef1" (func (result i32)))
+ (import "a" "ef2" (func (result i32)))
+ (import "a" "ef3" (func (result i32)))
+ (import "a" "ef4" (func (result i32))) ;; index 4
+ (table $$t0 30 30 funcref)
+ (table $$t1 30 30 funcref)
+ (elem (table $$t0) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t0) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (elem (table $$t1) (i32.const 3) func 1 3 1 4)
+ (elem (table $$t1) (i32.const 11) func 6 3 2 5 7)
+ (func (result i32) (i32.const 5)) ;; index 5
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9)) ;; index 9
+ (func (export "test")
+ (table.copy $$t0 $$t0 (i32.const 13) (i32.const 25) (i32.const 3)))
+ (func (export "check_t0") (param i32) (result i32)
+ (call_indirect $$t0 (type 0) (local.get 0)))
+ (func (export "check_t1") (param i32) (result i32)
+ (call_indirect $$t1 (type 0) (local.get 0)))
+)`);
+
+// ./test/core/table_copy.wast:321
+invoke($4, `test`, []);
+
+// ./test/core/table_copy.wast:322
+assert_trap(() => invoke($4, `check_t0`, [0]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:323
+assert_trap(() => invoke($4, `check_t0`, [1]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:324
+assert_return(() => invoke($4, `check_t0`, [2]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:325
+assert_return(() => invoke($4, `check_t0`, [3]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:326
+assert_return(() => invoke($4, `check_t0`, [4]), [value("i32", 4)]);
+
+// ./test/core/table_copy.wast:327
+assert_return(() => invoke($4, `check_t0`, [5]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:328
+assert_trap(() => invoke($4, `check_t0`, [6]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:329
+assert_trap(() => invoke($4, `check_t0`, [7]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:330
+assert_trap(() => invoke($4, `check_t0`, [8]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:331
+assert_trap(() => invoke($4, `check_t0`, [9]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:332
+assert_trap(() => invoke($4, `check_t0`, [10]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:333
+assert_trap(() => invoke($4, `check_t0`, [11]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:334
+assert_return(() => invoke($4, `check_t0`, [12]), [value("i32", 7)]);
+
+// ./test/core/table_copy.wast:335
+assert_trap(() => invoke($4, `check_t0`, [13]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:336
+assert_trap(() => invoke($4, `check_t0`, [14]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:337
+assert_trap(() => invoke($4, `check_t0`, [15]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:338
+assert_return(() => invoke($4, `check_t0`, [16]), [value("i32", 6)]);
+
+// ./test/core/table_copy.wast:339
+assert_trap(() => invoke($4, `check_t0`, [17]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:340
+assert_trap(() => invoke($4, `check_t0`, [18]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:341
+assert_trap(() => invoke($4, `check_t0`, [19]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:342
+assert_trap(() => invoke($4, `check_t0`, [20]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:343
+assert_trap(() => invoke($4, `check_t0`, [21]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:344
+assert_trap(() => invoke($4, `check_t0`, [22]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:345
+assert_trap(() => invoke($4, `check_t0`, [23]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:346
+assert_trap(() => invoke($4, `check_t0`, [24]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:347
+assert_trap(() => invoke($4, `check_t0`, [25]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:348
+assert_trap(() => invoke($4, `check_t0`, [26]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:349
+assert_trap(() => invoke($4, `check_t0`, [27]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:350
+assert_trap(() => invoke($4, `check_t0`, [28]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:351
+assert_trap(() => invoke($4, `check_t0`, [29]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:352
+assert_trap(() => invoke($4, `check_t1`, [0]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:353
+assert_trap(() => invoke($4, `check_t1`, [1]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:354
+assert_trap(() => invoke($4, `check_t1`, [2]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:355
+assert_return(() => invoke($4, `check_t1`, [3]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:356
+assert_return(() => invoke($4, `check_t1`, [4]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:357
+assert_return(() => invoke($4, `check_t1`, [5]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:358
+assert_return(() => invoke($4, `check_t1`, [6]), [value("i32", 4)]);
+
+// ./test/core/table_copy.wast:359
+assert_trap(() => invoke($4, `check_t1`, [7]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:360
+assert_trap(() => invoke($4, `check_t1`, [8]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:361
+assert_trap(() => invoke($4, `check_t1`, [9]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:362
+assert_trap(() => invoke($4, `check_t1`, [10]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:363
+assert_return(() => invoke($4, `check_t1`, [11]), [value("i32", 6)]);
+
+// ./test/core/table_copy.wast:364
+assert_return(() => invoke($4, `check_t1`, [12]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:365
+assert_return(() => invoke($4, `check_t1`, [13]), [value("i32", 2)]);
+
+// ./test/core/table_copy.wast:366
+assert_return(() => invoke($4, `check_t1`, [14]), [value("i32", 5)]);
+
+// ./test/core/table_copy.wast:367
+assert_return(() => invoke($4, `check_t1`, [15]), [value("i32", 7)]);
+
+// ./test/core/table_copy.wast:368
+assert_trap(() => invoke($4, `check_t1`, [16]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:369
+assert_trap(() => invoke($4, `check_t1`, [17]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:370
+assert_trap(() => invoke($4, `check_t1`, [18]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:371
+assert_trap(() => invoke($4, `check_t1`, [19]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:372
+assert_trap(() => invoke($4, `check_t1`, [20]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:373
+assert_trap(() => invoke($4, `check_t1`, [21]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:374
+assert_trap(() => invoke($4, `check_t1`, [22]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:375
+assert_trap(() => invoke($4, `check_t1`, [23]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:376
+assert_trap(() => invoke($4, `check_t1`, [24]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:377
+assert_trap(() => invoke($4, `check_t1`, [25]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:378
+assert_trap(() => invoke($4, `check_t1`, [26]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:379
+assert_trap(() => invoke($4, `check_t1`, [27]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:380
+assert_trap(() => invoke($4, `check_t1`, [28]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:381
+assert_trap(() => invoke($4, `check_t1`, [29]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:383
+let $5 = instantiate(`(module
+ (type (func (result i32))) ;; type #0
+ (import "a" "ef0" (func (result i32))) ;; index 0
+ (import "a" "ef1" (func (result i32)))
+ (import "a" "ef2" (func (result i32)))
+ (import "a" "ef3" (func (result i32)))
+ (import "a" "ef4" (func (result i32))) ;; index 4
+ (table $$t0 30 30 funcref)
+ (table $$t1 30 30 funcref)
+ (elem (table $$t0) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t0) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (elem (table $$t1) (i32.const 3) func 1 3 1 4)
+ (elem (table $$t1) (i32.const 11) func 6 3 2 5 7)
+ (func (result i32) (i32.const 5)) ;; index 5
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9)) ;; index 9
+ (func (export "test")
+ (table.copy $$t0 $$t0 (i32.const 20) (i32.const 22) (i32.const 4)))
+ (func (export "check_t0") (param i32) (result i32)
+ (call_indirect $$t0 (type 0) (local.get 0)))
+ (func (export "check_t1") (param i32) (result i32)
+ (call_indirect $$t1 (type 0) (local.get 0)))
+)`);
+
+// ./test/core/table_copy.wast:413
+invoke($5, `test`, []);
+
+// ./test/core/table_copy.wast:414
+assert_trap(() => invoke($5, `check_t0`, [0]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:415
+assert_trap(() => invoke($5, `check_t0`, [1]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:416
+assert_return(() => invoke($5, `check_t0`, [2]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:417
+assert_return(() => invoke($5, `check_t0`, [3]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:418
+assert_return(() => invoke($5, `check_t0`, [4]), [value("i32", 4)]);
+
+// ./test/core/table_copy.wast:419
+assert_return(() => invoke($5, `check_t0`, [5]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:420
+assert_trap(() => invoke($5, `check_t0`, [6]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:421
+assert_trap(() => invoke($5, `check_t0`, [7]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:422
+assert_trap(() => invoke($5, `check_t0`, [8]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:423
+assert_trap(() => invoke($5, `check_t0`, [9]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:424
+assert_trap(() => invoke($5, `check_t0`, [10]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:425
+assert_trap(() => invoke($5, `check_t0`, [11]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:426
+assert_return(() => invoke($5, `check_t0`, [12]), [value("i32", 7)]);
+
+// ./test/core/table_copy.wast:427
+assert_return(() => invoke($5, `check_t0`, [13]), [value("i32", 5)]);
+
+// ./test/core/table_copy.wast:428
+assert_return(() => invoke($5, `check_t0`, [14]), [value("i32", 2)]);
+
+// ./test/core/table_copy.wast:429
+assert_return(() => invoke($5, `check_t0`, [15]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:430
+assert_return(() => invoke($5, `check_t0`, [16]), [value("i32", 6)]);
+
+// ./test/core/table_copy.wast:431
+assert_trap(() => invoke($5, `check_t0`, [17]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:432
+assert_trap(() => invoke($5, `check_t0`, [18]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:433
+assert_trap(() => invoke($5, `check_t0`, [19]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:434
+assert_trap(() => invoke($5, `check_t0`, [20]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:435
+assert_trap(() => invoke($5, `check_t0`, [21]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:436
+assert_trap(() => invoke($5, `check_t0`, [22]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:437
+assert_trap(() => invoke($5, `check_t0`, [23]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:438
+assert_trap(() => invoke($5, `check_t0`, [24]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:439
+assert_trap(() => invoke($5, `check_t0`, [25]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:440
+assert_trap(() => invoke($5, `check_t0`, [26]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:441
+assert_trap(() => invoke($5, `check_t0`, [27]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:442
+assert_trap(() => invoke($5, `check_t0`, [28]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:443
+assert_trap(() => invoke($5, `check_t0`, [29]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:444
+assert_trap(() => invoke($5, `check_t1`, [0]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:445
+assert_trap(() => invoke($5, `check_t1`, [1]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:446
+assert_trap(() => invoke($5, `check_t1`, [2]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:447
+assert_return(() => invoke($5, `check_t1`, [3]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:448
+assert_return(() => invoke($5, `check_t1`, [4]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:449
+assert_return(() => invoke($5, `check_t1`, [5]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:450
+assert_return(() => invoke($5, `check_t1`, [6]), [value("i32", 4)]);
+
+// ./test/core/table_copy.wast:451
+assert_trap(() => invoke($5, `check_t1`, [7]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:452
+assert_trap(() => invoke($5, `check_t1`, [8]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:453
+assert_trap(() => invoke($5, `check_t1`, [9]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:454
+assert_trap(() => invoke($5, `check_t1`, [10]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:455
+assert_return(() => invoke($5, `check_t1`, [11]), [value("i32", 6)]);
+
+// ./test/core/table_copy.wast:456
+assert_return(() => invoke($5, `check_t1`, [12]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:457
+assert_return(() => invoke($5, `check_t1`, [13]), [value("i32", 2)]);
+
+// ./test/core/table_copy.wast:458
+assert_return(() => invoke($5, `check_t1`, [14]), [value("i32", 5)]);
+
+// ./test/core/table_copy.wast:459
+assert_return(() => invoke($5, `check_t1`, [15]), [value("i32", 7)]);
+
+// ./test/core/table_copy.wast:460
+assert_trap(() => invoke($5, `check_t1`, [16]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:461
+assert_trap(() => invoke($5, `check_t1`, [17]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:462
+assert_trap(() => invoke($5, `check_t1`, [18]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:463
+assert_trap(() => invoke($5, `check_t1`, [19]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:464
+assert_trap(() => invoke($5, `check_t1`, [20]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:465
+assert_trap(() => invoke($5, `check_t1`, [21]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:466
+assert_trap(() => invoke($5, `check_t1`, [22]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:467
+assert_trap(() => invoke($5, `check_t1`, [23]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:468
+assert_trap(() => invoke($5, `check_t1`, [24]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:469
+assert_trap(() => invoke($5, `check_t1`, [25]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:470
+assert_trap(() => invoke($5, `check_t1`, [26]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:471
+assert_trap(() => invoke($5, `check_t1`, [27]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:472
+assert_trap(() => invoke($5, `check_t1`, [28]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:473
+assert_trap(() => invoke($5, `check_t1`, [29]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:475
+let $6 = instantiate(`(module
+ (type (func (result i32))) ;; type #0
+ (import "a" "ef0" (func (result i32))) ;; index 0
+ (import "a" "ef1" (func (result i32)))
+ (import "a" "ef2" (func (result i32)))
+ (import "a" "ef3" (func (result i32)))
+ (import "a" "ef4" (func (result i32))) ;; index 4
+ (table $$t0 30 30 funcref)
+ (table $$t1 30 30 funcref)
+ (elem (table $$t0) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t0) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (elem (table $$t1) (i32.const 3) func 1 3 1 4)
+ (elem (table $$t1) (i32.const 11) func 6 3 2 5 7)
+ (func (result i32) (i32.const 5)) ;; index 5
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9)) ;; index 9
+ (func (export "test")
+ (table.copy $$t0 $$t0 (i32.const 25) (i32.const 1) (i32.const 3)))
+ (func (export "check_t0") (param i32) (result i32)
+ (call_indirect $$t0 (type 0) (local.get 0)))
+ (func (export "check_t1") (param i32) (result i32)
+ (call_indirect $$t1 (type 0) (local.get 0)))
+)`);
+
+// ./test/core/table_copy.wast:505
+invoke($6, `test`, []);
+
+// ./test/core/table_copy.wast:506
+assert_trap(() => invoke($6, `check_t0`, [0]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:507
+assert_trap(() => invoke($6, `check_t0`, [1]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:508
+assert_return(() => invoke($6, `check_t0`, [2]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:509
+assert_return(() => invoke($6, `check_t0`, [3]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:510
+assert_return(() => invoke($6, `check_t0`, [4]), [value("i32", 4)]);
+
+// ./test/core/table_copy.wast:511
+assert_return(() => invoke($6, `check_t0`, [5]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:512
+assert_trap(() => invoke($6, `check_t0`, [6]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:513
+assert_trap(() => invoke($6, `check_t0`, [7]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:514
+assert_trap(() => invoke($6, `check_t0`, [8]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:515
+assert_trap(() => invoke($6, `check_t0`, [9]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:516
+assert_trap(() => invoke($6, `check_t0`, [10]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:517
+assert_trap(() => invoke($6, `check_t0`, [11]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:518
+assert_return(() => invoke($6, `check_t0`, [12]), [value("i32", 7)]);
+
+// ./test/core/table_copy.wast:519
+assert_return(() => invoke($6, `check_t0`, [13]), [value("i32", 5)]);
+
+// ./test/core/table_copy.wast:520
+assert_return(() => invoke($6, `check_t0`, [14]), [value("i32", 2)]);
+
+// ./test/core/table_copy.wast:521
+assert_return(() => invoke($6, `check_t0`, [15]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:522
+assert_return(() => invoke($6, `check_t0`, [16]), [value("i32", 6)]);
+
+// ./test/core/table_copy.wast:523
+assert_trap(() => invoke($6, `check_t0`, [17]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:524
+assert_trap(() => invoke($6, `check_t0`, [18]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:525
+assert_trap(() => invoke($6, `check_t0`, [19]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:526
+assert_trap(() => invoke($6, `check_t0`, [20]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:527
+assert_trap(() => invoke($6, `check_t0`, [21]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:528
+assert_trap(() => invoke($6, `check_t0`, [22]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:529
+assert_trap(() => invoke($6, `check_t0`, [23]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:530
+assert_trap(() => invoke($6, `check_t0`, [24]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:531
+assert_trap(() => invoke($6, `check_t0`, [25]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:532
+assert_return(() => invoke($6, `check_t0`, [26]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:533
+assert_return(() => invoke($6, `check_t0`, [27]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:534
+assert_trap(() => invoke($6, `check_t0`, [28]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:535
+assert_trap(() => invoke($6, `check_t0`, [29]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:536
+assert_trap(() => invoke($6, `check_t1`, [0]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:537
+assert_trap(() => invoke($6, `check_t1`, [1]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:538
+assert_trap(() => invoke($6, `check_t1`, [2]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:539
+assert_return(() => invoke($6, `check_t1`, [3]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:540
+assert_return(() => invoke($6, `check_t1`, [4]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:541
+assert_return(() => invoke($6, `check_t1`, [5]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:542
+assert_return(() => invoke($6, `check_t1`, [6]), [value("i32", 4)]);
+
+// ./test/core/table_copy.wast:543
+assert_trap(() => invoke($6, `check_t1`, [7]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:544
+assert_trap(() => invoke($6, `check_t1`, [8]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:545
+assert_trap(() => invoke($6, `check_t1`, [9]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:546
+assert_trap(() => invoke($6, `check_t1`, [10]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:547
+assert_return(() => invoke($6, `check_t1`, [11]), [value("i32", 6)]);
+
+// ./test/core/table_copy.wast:548
+assert_return(() => invoke($6, `check_t1`, [12]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:549
+assert_return(() => invoke($6, `check_t1`, [13]), [value("i32", 2)]);
+
+// ./test/core/table_copy.wast:550
+assert_return(() => invoke($6, `check_t1`, [14]), [value("i32", 5)]);
+
+// ./test/core/table_copy.wast:551
+assert_return(() => invoke($6, `check_t1`, [15]), [value("i32", 7)]);
+
+// ./test/core/table_copy.wast:552
+assert_trap(() => invoke($6, `check_t1`, [16]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:553
+assert_trap(() => invoke($6, `check_t1`, [17]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:554
+assert_trap(() => invoke($6, `check_t1`, [18]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:555
+assert_trap(() => invoke($6, `check_t1`, [19]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:556
+assert_trap(() => invoke($6, `check_t1`, [20]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:557
+assert_trap(() => invoke($6, `check_t1`, [21]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:558
+assert_trap(() => invoke($6, `check_t1`, [22]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:559
+assert_trap(() => invoke($6, `check_t1`, [23]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:560
+assert_trap(() => invoke($6, `check_t1`, [24]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:561
+assert_trap(() => invoke($6, `check_t1`, [25]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:562
+assert_trap(() => invoke($6, `check_t1`, [26]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:563
+assert_trap(() => invoke($6, `check_t1`, [27]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:564
+assert_trap(() => invoke($6, `check_t1`, [28]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:565
+assert_trap(() => invoke($6, `check_t1`, [29]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:567
+let $7 = instantiate(`(module
+ (type (func (result i32))) ;; type #0
+ (import "a" "ef0" (func (result i32))) ;; index 0
+ (import "a" "ef1" (func (result i32)))
+ (import "a" "ef2" (func (result i32)))
+ (import "a" "ef3" (func (result i32)))
+ (import "a" "ef4" (func (result i32))) ;; index 4
+ (table $$t0 30 30 funcref)
+ (table $$t1 30 30 funcref)
+ (elem (table $$t0) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t0) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (elem (table $$t1) (i32.const 3) func 1 3 1 4)
+ (elem (table $$t1) (i32.const 11) func 6 3 2 5 7)
+ (func (result i32) (i32.const 5)) ;; index 5
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9)) ;; index 9
+ (func (export "test")
+ (table.copy $$t0 $$t0 (i32.const 10) (i32.const 12) (i32.const 7)))
+ (func (export "check_t0") (param i32) (result i32)
+ (call_indirect $$t0 (type 0) (local.get 0)))
+ (func (export "check_t1") (param i32) (result i32)
+ (call_indirect $$t1 (type 0) (local.get 0)))
+)`);
+
+// ./test/core/table_copy.wast:597
+invoke($7, `test`, []);
+
+// ./test/core/table_copy.wast:598
+assert_trap(() => invoke($7, `check_t0`, [0]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:599
+assert_trap(() => invoke($7, `check_t0`, [1]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:600
+assert_return(() => invoke($7, `check_t0`, [2]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:601
+assert_return(() => invoke($7, `check_t0`, [3]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:602
+assert_return(() => invoke($7, `check_t0`, [4]), [value("i32", 4)]);
+
+// ./test/core/table_copy.wast:603
+assert_return(() => invoke($7, `check_t0`, [5]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:604
+assert_trap(() => invoke($7, `check_t0`, [6]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:605
+assert_trap(() => invoke($7, `check_t0`, [7]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:606
+assert_trap(() => invoke($7, `check_t0`, [8]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:607
+assert_trap(() => invoke($7, `check_t0`, [9]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:608
+assert_return(() => invoke($7, `check_t0`, [10]), [value("i32", 7)]);
+
+// ./test/core/table_copy.wast:609
+assert_return(() => invoke($7, `check_t0`, [11]), [value("i32", 5)]);
+
+// ./test/core/table_copy.wast:610
+assert_return(() => invoke($7, `check_t0`, [12]), [value("i32", 2)]);
+
+// ./test/core/table_copy.wast:611
+assert_return(() => invoke($7, `check_t0`, [13]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:612
+assert_return(() => invoke($7, `check_t0`, [14]), [value("i32", 6)]);
+
+// ./test/core/table_copy.wast:613
+assert_trap(() => invoke($7, `check_t0`, [15]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:614
+assert_trap(() => invoke($7, `check_t0`, [16]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:615
+assert_trap(() => invoke($7, `check_t0`, [17]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:616
+assert_trap(() => invoke($7, `check_t0`, [18]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:617
+assert_trap(() => invoke($7, `check_t0`, [19]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:618
+assert_trap(() => invoke($7, `check_t0`, [20]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:619
+assert_trap(() => invoke($7, `check_t0`, [21]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:620
+assert_trap(() => invoke($7, `check_t0`, [22]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:621
+assert_trap(() => invoke($7, `check_t0`, [23]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:622
+assert_trap(() => invoke($7, `check_t0`, [24]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:623
+assert_trap(() => invoke($7, `check_t0`, [25]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:624
+assert_trap(() => invoke($7, `check_t0`, [26]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:625
+assert_trap(() => invoke($7, `check_t0`, [27]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:626
+assert_trap(() => invoke($7, `check_t0`, [28]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:627
+assert_trap(() => invoke($7, `check_t0`, [29]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:628
+assert_trap(() => invoke($7, `check_t1`, [0]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:629
+assert_trap(() => invoke($7, `check_t1`, [1]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:630
+assert_trap(() => invoke($7, `check_t1`, [2]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:631
+assert_return(() => invoke($7, `check_t1`, [3]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:632
+assert_return(() => invoke($7, `check_t1`, [4]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:633
+assert_return(() => invoke($7, `check_t1`, [5]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:634
+assert_return(() => invoke($7, `check_t1`, [6]), [value("i32", 4)]);
+
+// ./test/core/table_copy.wast:635
+assert_trap(() => invoke($7, `check_t1`, [7]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:636
+assert_trap(() => invoke($7, `check_t1`, [8]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:637
+assert_trap(() => invoke($7, `check_t1`, [9]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:638
+assert_trap(() => invoke($7, `check_t1`, [10]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:639
+assert_return(() => invoke($7, `check_t1`, [11]), [value("i32", 6)]);
+
+// ./test/core/table_copy.wast:640
+assert_return(() => invoke($7, `check_t1`, [12]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:641
+assert_return(() => invoke($7, `check_t1`, [13]), [value("i32", 2)]);
+
+// ./test/core/table_copy.wast:642
+assert_return(() => invoke($7, `check_t1`, [14]), [value("i32", 5)]);
+
+// ./test/core/table_copy.wast:643
+assert_return(() => invoke($7, `check_t1`, [15]), [value("i32", 7)]);
+
+// ./test/core/table_copy.wast:644
+assert_trap(() => invoke($7, `check_t1`, [16]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:645
+assert_trap(() => invoke($7, `check_t1`, [17]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:646
+assert_trap(() => invoke($7, `check_t1`, [18]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:647
+assert_trap(() => invoke($7, `check_t1`, [19]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:648
+assert_trap(() => invoke($7, `check_t1`, [20]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:649
+assert_trap(() => invoke($7, `check_t1`, [21]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:650
+assert_trap(() => invoke($7, `check_t1`, [22]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:651
+assert_trap(() => invoke($7, `check_t1`, [23]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:652
+assert_trap(() => invoke($7, `check_t1`, [24]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:653
+assert_trap(() => invoke($7, `check_t1`, [25]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:654
+assert_trap(() => invoke($7, `check_t1`, [26]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:655
+assert_trap(() => invoke($7, `check_t1`, [27]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:656
+assert_trap(() => invoke($7, `check_t1`, [28]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:657
+assert_trap(() => invoke($7, `check_t1`, [29]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:659
+let $8 = instantiate(`(module
+ (type (func (result i32))) ;; type #0
+ (import "a" "ef0" (func (result i32))) ;; index 0
+ (import "a" "ef1" (func (result i32)))
+ (import "a" "ef2" (func (result i32)))
+ (import "a" "ef3" (func (result i32)))
+ (import "a" "ef4" (func (result i32))) ;; index 4
+ (table $$t0 30 30 funcref)
+ (table $$t1 30 30 funcref)
+ (elem (table $$t0) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t0) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (elem (table $$t1) (i32.const 3) func 1 3 1 4)
+ (elem (table $$t1) (i32.const 11) func 6 3 2 5 7)
+ (func (result i32) (i32.const 5)) ;; index 5
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9)) ;; index 9
+ (func (export "test")
+ (table.copy $$t0 $$t0 (i32.const 12) (i32.const 10) (i32.const 7)))
+ (func (export "check_t0") (param i32) (result i32)
+ (call_indirect $$t0 (type 0) (local.get 0)))
+ (func (export "check_t1") (param i32) (result i32)
+ (call_indirect $$t1 (type 0) (local.get 0)))
+)`);
+
+// ./test/core/table_copy.wast:689
+invoke($8, `test`, []);
+
+// ./test/core/table_copy.wast:690
+assert_trap(() => invoke($8, `check_t0`, [0]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:691
+assert_trap(() => invoke($8, `check_t0`, [1]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:692
+assert_return(() => invoke($8, `check_t0`, [2]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:693
+assert_return(() => invoke($8, `check_t0`, [3]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:694
+assert_return(() => invoke($8, `check_t0`, [4]), [value("i32", 4)]);
+
+// ./test/core/table_copy.wast:695
+assert_return(() => invoke($8, `check_t0`, [5]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:696
+assert_trap(() => invoke($8, `check_t0`, [6]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:697
+assert_trap(() => invoke($8, `check_t0`, [7]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:698
+assert_trap(() => invoke($8, `check_t0`, [8]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:699
+assert_trap(() => invoke($8, `check_t0`, [9]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:700
+assert_trap(() => invoke($8, `check_t0`, [10]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:701
+assert_trap(() => invoke($8, `check_t0`, [11]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:702
+assert_trap(() => invoke($8, `check_t0`, [12]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:703
+assert_trap(() => invoke($8, `check_t0`, [13]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:704
+assert_return(() => invoke($8, `check_t0`, [14]), [value("i32", 7)]);
+
+// ./test/core/table_copy.wast:705
+assert_return(() => invoke($8, `check_t0`, [15]), [value("i32", 5)]);
+
+// ./test/core/table_copy.wast:706
+assert_return(() => invoke($8, `check_t0`, [16]), [value("i32", 2)]);
+
+// ./test/core/table_copy.wast:707
+assert_return(() => invoke($8, `check_t0`, [17]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:708
+assert_return(() => invoke($8, `check_t0`, [18]), [value("i32", 6)]);
+
+// ./test/core/table_copy.wast:709
+assert_trap(() => invoke($8, `check_t0`, [19]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:710
+assert_trap(() => invoke($8, `check_t0`, [20]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:711
+assert_trap(() => invoke($8, `check_t0`, [21]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:712
+assert_trap(() => invoke($8, `check_t0`, [22]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:713
+assert_trap(() => invoke($8, `check_t0`, [23]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:714
+assert_trap(() => invoke($8, `check_t0`, [24]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:715
+assert_trap(() => invoke($8, `check_t0`, [25]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:716
+assert_trap(() => invoke($8, `check_t0`, [26]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:717
+assert_trap(() => invoke($8, `check_t0`, [27]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:718
+assert_trap(() => invoke($8, `check_t0`, [28]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:719
+assert_trap(() => invoke($8, `check_t0`, [29]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:720
+assert_trap(() => invoke($8, `check_t1`, [0]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:721
+assert_trap(() => invoke($8, `check_t1`, [1]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:722
+assert_trap(() => invoke($8, `check_t1`, [2]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:723
+assert_return(() => invoke($8, `check_t1`, [3]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:724
+assert_return(() => invoke($8, `check_t1`, [4]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:725
+assert_return(() => invoke($8, `check_t1`, [5]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:726
+assert_return(() => invoke($8, `check_t1`, [6]), [value("i32", 4)]);
+
+// ./test/core/table_copy.wast:727
+assert_trap(() => invoke($8, `check_t1`, [7]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:728
+assert_trap(() => invoke($8, `check_t1`, [8]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:729
+assert_trap(() => invoke($8, `check_t1`, [9]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:730
+assert_trap(() => invoke($8, `check_t1`, [10]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:731
+assert_return(() => invoke($8, `check_t1`, [11]), [value("i32", 6)]);
+
+// ./test/core/table_copy.wast:732
+assert_return(() => invoke($8, `check_t1`, [12]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:733
+assert_return(() => invoke($8, `check_t1`, [13]), [value("i32", 2)]);
+
+// ./test/core/table_copy.wast:734
+assert_return(() => invoke($8, `check_t1`, [14]), [value("i32", 5)]);
+
+// ./test/core/table_copy.wast:735
+assert_return(() => invoke($8, `check_t1`, [15]), [value("i32", 7)]);
+
+// ./test/core/table_copy.wast:736
+assert_trap(() => invoke($8, `check_t1`, [16]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:737
+assert_trap(() => invoke($8, `check_t1`, [17]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:738
+assert_trap(() => invoke($8, `check_t1`, [18]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:739
+assert_trap(() => invoke($8, `check_t1`, [19]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:740
+assert_trap(() => invoke($8, `check_t1`, [20]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:741
+assert_trap(() => invoke($8, `check_t1`, [21]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:742
+assert_trap(() => invoke($8, `check_t1`, [22]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:743
+assert_trap(() => invoke($8, `check_t1`, [23]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:744
+assert_trap(() => invoke($8, `check_t1`, [24]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:745
+assert_trap(() => invoke($8, `check_t1`, [25]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:746
+assert_trap(() => invoke($8, `check_t1`, [26]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:747
+assert_trap(() => invoke($8, `check_t1`, [27]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:748
+assert_trap(() => invoke($8, `check_t1`, [28]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:749
+assert_trap(() => invoke($8, `check_t1`, [29]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:751
+let $9 = instantiate(`(module
+ (type (func (result i32))) ;; type #0
+ (import "a" "ef0" (func (result i32))) ;; index 0
+ (import "a" "ef1" (func (result i32)))
+ (import "a" "ef2" (func (result i32)))
+ (import "a" "ef3" (func (result i32)))
+ (import "a" "ef4" (func (result i32))) ;; index 4
+ (table $$t0 30 30 funcref)
+ (table $$t1 30 30 funcref)
+ (elem (table $$t0) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t0) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (elem (table $$t1) (i32.const 3) func 1 3 1 4)
+ (elem (table $$t1) (i32.const 11) func 6 3 2 5 7)
+ (func (result i32) (i32.const 5)) ;; index 5
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9)) ;; index 9
+ (func (export "test")
+ (table.copy $$t1 $$t0 (i32.const 10) (i32.const 0) (i32.const 20)))
+ (func (export "check_t0") (param i32) (result i32)
+ (call_indirect $$t0 (type 0) (local.get 0)))
+ (func (export "check_t1") (param i32) (result i32)
+ (call_indirect $$t1 (type 0) (local.get 0)))
+)`);
+
+// ./test/core/table_copy.wast:781
+invoke($9, `test`, []);
+
+// ./test/core/table_copy.wast:782
+assert_trap(() => invoke($9, `check_t0`, [0]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:783
+assert_trap(() => invoke($9, `check_t0`, [1]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:784
+assert_return(() => invoke($9, `check_t0`, [2]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:785
+assert_return(() => invoke($9, `check_t0`, [3]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:786
+assert_return(() => invoke($9, `check_t0`, [4]), [value("i32", 4)]);
+
+// ./test/core/table_copy.wast:787
+assert_return(() => invoke($9, `check_t0`, [5]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:788
+assert_trap(() => invoke($9, `check_t0`, [6]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:789
+assert_trap(() => invoke($9, `check_t0`, [7]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:790
+assert_trap(() => invoke($9, `check_t0`, [8]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:791
+assert_trap(() => invoke($9, `check_t0`, [9]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:792
+assert_trap(() => invoke($9, `check_t0`, [10]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:793
+assert_trap(() => invoke($9, `check_t0`, [11]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:794
+assert_return(() => invoke($9, `check_t0`, [12]), [value("i32", 7)]);
+
+// ./test/core/table_copy.wast:795
+assert_return(() => invoke($9, `check_t0`, [13]), [value("i32", 5)]);
+
+// ./test/core/table_copy.wast:796
+assert_return(() => invoke($9, `check_t0`, [14]), [value("i32", 2)]);
+
+// ./test/core/table_copy.wast:797
+assert_return(() => invoke($9, `check_t0`, [15]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:798
+assert_return(() => invoke($9, `check_t0`, [16]), [value("i32", 6)]);
+
+// ./test/core/table_copy.wast:799
+assert_trap(() => invoke($9, `check_t0`, [17]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:800
+assert_trap(() => invoke($9, `check_t0`, [18]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:801
+assert_trap(() => invoke($9, `check_t0`, [19]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:802
+assert_trap(() => invoke($9, `check_t0`, [20]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:803
+assert_trap(() => invoke($9, `check_t0`, [21]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:804
+assert_trap(() => invoke($9, `check_t0`, [22]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:805
+assert_trap(() => invoke($9, `check_t0`, [23]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:806
+assert_trap(() => invoke($9, `check_t0`, [24]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:807
+assert_trap(() => invoke($9, `check_t0`, [25]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:808
+assert_trap(() => invoke($9, `check_t0`, [26]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:809
+assert_trap(() => invoke($9, `check_t0`, [27]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:810
+assert_trap(() => invoke($9, `check_t0`, [28]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:811
+assert_trap(() => invoke($9, `check_t0`, [29]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:812
+assert_trap(() => invoke($9, `check_t1`, [0]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:813
+assert_trap(() => invoke($9, `check_t1`, [1]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:814
+assert_trap(() => invoke($9, `check_t1`, [2]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:815
+assert_return(() => invoke($9, `check_t1`, [3]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:816
+assert_return(() => invoke($9, `check_t1`, [4]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:817
+assert_return(() => invoke($9, `check_t1`, [5]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:818
+assert_return(() => invoke($9, `check_t1`, [6]), [value("i32", 4)]);
+
+// ./test/core/table_copy.wast:819
+assert_trap(() => invoke($9, `check_t1`, [7]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:820
+assert_trap(() => invoke($9, `check_t1`, [8]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:821
+assert_trap(() => invoke($9, `check_t1`, [9]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:822
+assert_trap(() => invoke($9, `check_t1`, [10]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:823
+assert_trap(() => invoke($9, `check_t1`, [11]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:824
+assert_return(() => invoke($9, `check_t1`, [12]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:825
+assert_return(() => invoke($9, `check_t1`, [13]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:826
+assert_return(() => invoke($9, `check_t1`, [14]), [value("i32", 4)]);
+
+// ./test/core/table_copy.wast:827
+assert_return(() => invoke($9, `check_t1`, [15]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:828
+assert_trap(() => invoke($9, `check_t1`, [16]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:829
+assert_trap(() => invoke($9, `check_t1`, [17]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:830
+assert_trap(() => invoke($9, `check_t1`, [18]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:831
+assert_trap(() => invoke($9, `check_t1`, [19]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:832
+assert_trap(() => invoke($9, `check_t1`, [20]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:833
+assert_trap(() => invoke($9, `check_t1`, [21]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:834
+assert_return(() => invoke($9, `check_t1`, [22]), [value("i32", 7)]);
+
+// ./test/core/table_copy.wast:835
+assert_return(() => invoke($9, `check_t1`, [23]), [value("i32", 5)]);
+
+// ./test/core/table_copy.wast:836
+assert_return(() => invoke($9, `check_t1`, [24]), [value("i32", 2)]);
+
+// ./test/core/table_copy.wast:837
+assert_return(() => invoke($9, `check_t1`, [25]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:838
+assert_return(() => invoke($9, `check_t1`, [26]), [value("i32", 6)]);
+
+// ./test/core/table_copy.wast:839
+assert_trap(() => invoke($9, `check_t1`, [27]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:840
+assert_trap(() => invoke($9, `check_t1`, [28]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:841
+assert_trap(() => invoke($9, `check_t1`, [29]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:843
+let $10 = instantiate(`(module
+ (type (func (result i32))) ;; type #0
+ (import "a" "ef0" (func (result i32))) ;; index 0
+ (import "a" "ef1" (func (result i32)))
+ (import "a" "ef2" (func (result i32)))
+ (import "a" "ef3" (func (result i32)))
+ (import "a" "ef4" (func (result i32))) ;; index 4
+ (table $$t0 30 30 funcref)
+ (table $$t1 30 30 funcref)
+ (elem (table $$t1) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t1) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (elem (table $$t0) (i32.const 3) func 1 3 1 4)
+ (elem (table $$t0) (i32.const 11) func 6 3 2 5 7)
+ (func (result i32) (i32.const 5)) ;; index 5
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9)) ;; index 9
+ (func (export "test")
+ (nop))
+ (func (export "check_t0") (param i32) (result i32)
+ (call_indirect $$t1 (type 0) (local.get 0)))
+ (func (export "check_t1") (param i32) (result i32)
+ (call_indirect $$t0 (type 0) (local.get 0)))
+)`);
+
+// ./test/core/table_copy.wast:873
+invoke($10, `test`, []);
+
+// ./test/core/table_copy.wast:874
+assert_trap(() => invoke($10, `check_t0`, [0]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:875
+assert_trap(() => invoke($10, `check_t0`, [1]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:876
+assert_return(() => invoke($10, `check_t0`, [2]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:877
+assert_return(() => invoke($10, `check_t0`, [3]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:878
+assert_return(() => invoke($10, `check_t0`, [4]), [value("i32", 4)]);
+
+// ./test/core/table_copy.wast:879
+assert_return(() => invoke($10, `check_t0`, [5]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:880
+assert_trap(() => invoke($10, `check_t0`, [6]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:881
+assert_trap(() => invoke($10, `check_t0`, [7]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:882
+assert_trap(() => invoke($10, `check_t0`, [8]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:883
+assert_trap(() => invoke($10, `check_t0`, [9]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:884
+assert_trap(() => invoke($10, `check_t0`, [10]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:885
+assert_trap(() => invoke($10, `check_t0`, [11]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:886
+assert_return(() => invoke($10, `check_t0`, [12]), [value("i32", 7)]);
+
+// ./test/core/table_copy.wast:887
+assert_return(() => invoke($10, `check_t0`, [13]), [value("i32", 5)]);
+
+// ./test/core/table_copy.wast:888
+assert_return(() => invoke($10, `check_t0`, [14]), [value("i32", 2)]);
+
+// ./test/core/table_copy.wast:889
+assert_return(() => invoke($10, `check_t0`, [15]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:890
+assert_return(() => invoke($10, `check_t0`, [16]), [value("i32", 6)]);
+
+// ./test/core/table_copy.wast:891
+assert_trap(() => invoke($10, `check_t0`, [17]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:892
+assert_trap(() => invoke($10, `check_t0`, [18]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:893
+assert_trap(() => invoke($10, `check_t0`, [19]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:894
+assert_trap(() => invoke($10, `check_t0`, [20]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:895
+assert_trap(() => invoke($10, `check_t0`, [21]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:896
+assert_trap(() => invoke($10, `check_t0`, [22]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:897
+assert_trap(() => invoke($10, `check_t0`, [23]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:898
+assert_trap(() => invoke($10, `check_t0`, [24]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:899
+assert_trap(() => invoke($10, `check_t0`, [25]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:900
+assert_trap(() => invoke($10, `check_t0`, [26]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:901
+assert_trap(() => invoke($10, `check_t0`, [27]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:902
+assert_trap(() => invoke($10, `check_t0`, [28]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:903
+assert_trap(() => invoke($10, `check_t0`, [29]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:904
+assert_trap(() => invoke($10, `check_t1`, [0]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:905
+assert_trap(() => invoke($10, `check_t1`, [1]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:906
+assert_trap(() => invoke($10, `check_t1`, [2]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:907
+assert_return(() => invoke($10, `check_t1`, [3]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:908
+assert_return(() => invoke($10, `check_t1`, [4]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:909
+assert_return(() => invoke($10, `check_t1`, [5]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:910
+assert_return(() => invoke($10, `check_t1`, [6]), [value("i32", 4)]);
+
+// ./test/core/table_copy.wast:911
+assert_trap(() => invoke($10, `check_t1`, [7]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:912
+assert_trap(() => invoke($10, `check_t1`, [8]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:913
+assert_trap(() => invoke($10, `check_t1`, [9]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:914
+assert_trap(() => invoke($10, `check_t1`, [10]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:915
+assert_return(() => invoke($10, `check_t1`, [11]), [value("i32", 6)]);
+
+// ./test/core/table_copy.wast:916
+assert_return(() => invoke($10, `check_t1`, [12]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:917
+assert_return(() => invoke($10, `check_t1`, [13]), [value("i32", 2)]);
+
+// ./test/core/table_copy.wast:918
+assert_return(() => invoke($10, `check_t1`, [14]), [value("i32", 5)]);
+
+// ./test/core/table_copy.wast:919
+assert_return(() => invoke($10, `check_t1`, [15]), [value("i32", 7)]);
+
+// ./test/core/table_copy.wast:920
+assert_trap(() => invoke($10, `check_t1`, [16]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:921
+assert_trap(() => invoke($10, `check_t1`, [17]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:922
+assert_trap(() => invoke($10, `check_t1`, [18]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:923
+assert_trap(() => invoke($10, `check_t1`, [19]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:924
+assert_trap(() => invoke($10, `check_t1`, [20]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:925
+assert_trap(() => invoke($10, `check_t1`, [21]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:926
+assert_trap(() => invoke($10, `check_t1`, [22]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:927
+assert_trap(() => invoke($10, `check_t1`, [23]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:928
+assert_trap(() => invoke($10, `check_t1`, [24]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:929
+assert_trap(() => invoke($10, `check_t1`, [25]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:930
+assert_trap(() => invoke($10, `check_t1`, [26]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:931
+assert_trap(() => invoke($10, `check_t1`, [27]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:932
+assert_trap(() => invoke($10, `check_t1`, [28]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:933
+assert_trap(() => invoke($10, `check_t1`, [29]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:935
+let $11 = instantiate(`(module
+ (type (func (result i32))) ;; type #0
+ (import "a" "ef0" (func (result i32))) ;; index 0
+ (import "a" "ef1" (func (result i32)))
+ (import "a" "ef2" (func (result i32)))
+ (import "a" "ef3" (func (result i32)))
+ (import "a" "ef4" (func (result i32))) ;; index 4
+ (table $$t0 30 30 funcref)
+ (table $$t1 30 30 funcref)
+ (elem (table $$t1) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t1) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (elem (table $$t0) (i32.const 3) func 1 3 1 4)
+ (elem (table $$t0) (i32.const 11) func 6 3 2 5 7)
+ (func (result i32) (i32.const 5)) ;; index 5
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9)) ;; index 9
+ (func (export "test")
+ (table.copy $$t1 $$t1 (i32.const 13) (i32.const 2) (i32.const 3)))
+ (func (export "check_t0") (param i32) (result i32)
+ (call_indirect $$t1 (type 0) (local.get 0)))
+ (func (export "check_t1") (param i32) (result i32)
+ (call_indirect $$t0 (type 0) (local.get 0)))
+)`);
+
+// ./test/core/table_copy.wast:965
+invoke($11, `test`, []);
+
+// ./test/core/table_copy.wast:966
+assert_trap(() => invoke($11, `check_t0`, [0]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:967
+assert_trap(() => invoke($11, `check_t0`, [1]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:968
+assert_return(() => invoke($11, `check_t0`, [2]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:969
+assert_return(() => invoke($11, `check_t0`, [3]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:970
+assert_return(() => invoke($11, `check_t0`, [4]), [value("i32", 4)]);
+
+// ./test/core/table_copy.wast:971
+assert_return(() => invoke($11, `check_t0`, [5]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:972
+assert_trap(() => invoke($11, `check_t0`, [6]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:973
+assert_trap(() => invoke($11, `check_t0`, [7]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:974
+assert_trap(() => invoke($11, `check_t0`, [8]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:975
+assert_trap(() => invoke($11, `check_t0`, [9]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:976
+assert_trap(() => invoke($11, `check_t0`, [10]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:977
+assert_trap(() => invoke($11, `check_t0`, [11]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:978
+assert_return(() => invoke($11, `check_t0`, [12]), [value("i32", 7)]);
+
+// ./test/core/table_copy.wast:979
+assert_return(() => invoke($11, `check_t0`, [13]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:980
+assert_return(() => invoke($11, `check_t0`, [14]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:981
+assert_return(() => invoke($11, `check_t0`, [15]), [value("i32", 4)]);
+
+// ./test/core/table_copy.wast:982
+assert_return(() => invoke($11, `check_t0`, [16]), [value("i32", 6)]);
+
+// ./test/core/table_copy.wast:983
+assert_trap(() => invoke($11, `check_t0`, [17]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:984
+assert_trap(() => invoke($11, `check_t0`, [18]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:985
+assert_trap(() => invoke($11, `check_t0`, [19]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:986
+assert_trap(() => invoke($11, `check_t0`, [20]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:987
+assert_trap(() => invoke($11, `check_t0`, [21]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:988
+assert_trap(() => invoke($11, `check_t0`, [22]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:989
+assert_trap(() => invoke($11, `check_t0`, [23]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:990
+assert_trap(() => invoke($11, `check_t0`, [24]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:991
+assert_trap(() => invoke($11, `check_t0`, [25]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:992
+assert_trap(() => invoke($11, `check_t0`, [26]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:993
+assert_trap(() => invoke($11, `check_t0`, [27]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:994
+assert_trap(() => invoke($11, `check_t0`, [28]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:995
+assert_trap(() => invoke($11, `check_t0`, [29]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:996
+assert_trap(() => invoke($11, `check_t1`, [0]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:997
+assert_trap(() => invoke($11, `check_t1`, [1]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:998
+assert_trap(() => invoke($11, `check_t1`, [2]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:999
+assert_return(() => invoke($11, `check_t1`, [3]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:1000
+assert_return(() => invoke($11, `check_t1`, [4]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:1001
+assert_return(() => invoke($11, `check_t1`, [5]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:1002
+assert_return(() => invoke($11, `check_t1`, [6]), [value("i32", 4)]);
+
+// ./test/core/table_copy.wast:1003
+assert_trap(() => invoke($11, `check_t1`, [7]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1004
+assert_trap(() => invoke($11, `check_t1`, [8]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1005
+assert_trap(() => invoke($11, `check_t1`, [9]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1006
+assert_trap(() => invoke($11, `check_t1`, [10]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1007
+assert_return(() => invoke($11, `check_t1`, [11]), [value("i32", 6)]);
+
+// ./test/core/table_copy.wast:1008
+assert_return(() => invoke($11, `check_t1`, [12]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:1009
+assert_return(() => invoke($11, `check_t1`, [13]), [value("i32", 2)]);
+
+// ./test/core/table_copy.wast:1010
+assert_return(() => invoke($11, `check_t1`, [14]), [value("i32", 5)]);
+
+// ./test/core/table_copy.wast:1011
+assert_return(() => invoke($11, `check_t1`, [15]), [value("i32", 7)]);
+
+// ./test/core/table_copy.wast:1012
+assert_trap(() => invoke($11, `check_t1`, [16]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1013
+assert_trap(() => invoke($11, `check_t1`, [17]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1014
+assert_trap(() => invoke($11, `check_t1`, [18]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1015
+assert_trap(() => invoke($11, `check_t1`, [19]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1016
+assert_trap(() => invoke($11, `check_t1`, [20]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1017
+assert_trap(() => invoke($11, `check_t1`, [21]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1018
+assert_trap(() => invoke($11, `check_t1`, [22]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1019
+assert_trap(() => invoke($11, `check_t1`, [23]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1020
+assert_trap(() => invoke($11, `check_t1`, [24]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1021
+assert_trap(() => invoke($11, `check_t1`, [25]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1022
+assert_trap(() => invoke($11, `check_t1`, [26]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1023
+assert_trap(() => invoke($11, `check_t1`, [27]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1024
+assert_trap(() => invoke($11, `check_t1`, [28]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1025
+assert_trap(() => invoke($11, `check_t1`, [29]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1027
+let $12 = instantiate(`(module
+ (type (func (result i32))) ;; type #0
+ (import "a" "ef0" (func (result i32))) ;; index 0
+ (import "a" "ef1" (func (result i32)))
+ (import "a" "ef2" (func (result i32)))
+ (import "a" "ef3" (func (result i32)))
+ (import "a" "ef4" (func (result i32))) ;; index 4
+ (table $$t0 30 30 funcref)
+ (table $$t1 30 30 funcref)
+ (elem (table $$t1) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t1) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (elem (table $$t0) (i32.const 3) func 1 3 1 4)
+ (elem (table $$t0) (i32.const 11) func 6 3 2 5 7)
+ (func (result i32) (i32.const 5)) ;; index 5
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9)) ;; index 9
+ (func (export "test")
+ (table.copy $$t1 $$t1 (i32.const 25) (i32.const 15) (i32.const 2)))
+ (func (export "check_t0") (param i32) (result i32)
+ (call_indirect $$t1 (type 0) (local.get 0)))
+ (func (export "check_t1") (param i32) (result i32)
+ (call_indirect $$t0 (type 0) (local.get 0)))
+)`);
+
+// ./test/core/table_copy.wast:1057
+invoke($12, `test`, []);
+
+// ./test/core/table_copy.wast:1058
+assert_trap(() => invoke($12, `check_t0`, [0]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1059
+assert_trap(() => invoke($12, `check_t0`, [1]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1060
+assert_return(() => invoke($12, `check_t0`, [2]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:1061
+assert_return(() => invoke($12, `check_t0`, [3]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:1062
+assert_return(() => invoke($12, `check_t0`, [4]), [value("i32", 4)]);
+
+// ./test/core/table_copy.wast:1063
+assert_return(() => invoke($12, `check_t0`, [5]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:1064
+assert_trap(() => invoke($12, `check_t0`, [6]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1065
+assert_trap(() => invoke($12, `check_t0`, [7]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1066
+assert_trap(() => invoke($12, `check_t0`, [8]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1067
+assert_trap(() => invoke($12, `check_t0`, [9]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1068
+assert_trap(() => invoke($12, `check_t0`, [10]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1069
+assert_trap(() => invoke($12, `check_t0`, [11]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1070
+assert_return(() => invoke($12, `check_t0`, [12]), [value("i32", 7)]);
+
+// ./test/core/table_copy.wast:1071
+assert_return(() => invoke($12, `check_t0`, [13]), [value("i32", 5)]);
+
+// ./test/core/table_copy.wast:1072
+assert_return(() => invoke($12, `check_t0`, [14]), [value("i32", 2)]);
+
+// ./test/core/table_copy.wast:1073
+assert_return(() => invoke($12, `check_t0`, [15]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:1074
+assert_return(() => invoke($12, `check_t0`, [16]), [value("i32", 6)]);
+
+// ./test/core/table_copy.wast:1075
+assert_trap(() => invoke($12, `check_t0`, [17]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1076
+assert_trap(() => invoke($12, `check_t0`, [18]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1077
+assert_trap(() => invoke($12, `check_t0`, [19]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1078
+assert_trap(() => invoke($12, `check_t0`, [20]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1079
+assert_trap(() => invoke($12, `check_t0`, [21]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1080
+assert_trap(() => invoke($12, `check_t0`, [22]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1081
+assert_trap(() => invoke($12, `check_t0`, [23]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1082
+assert_trap(() => invoke($12, `check_t0`, [24]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1083
+assert_return(() => invoke($12, `check_t0`, [25]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:1084
+assert_return(() => invoke($12, `check_t0`, [26]), [value("i32", 6)]);
+
+// ./test/core/table_copy.wast:1085
+assert_trap(() => invoke($12, `check_t0`, [27]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1086
+assert_trap(() => invoke($12, `check_t0`, [28]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1087
+assert_trap(() => invoke($12, `check_t0`, [29]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1088
+assert_trap(() => invoke($12, `check_t1`, [0]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1089
+assert_trap(() => invoke($12, `check_t1`, [1]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1090
+assert_trap(() => invoke($12, `check_t1`, [2]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1091
+assert_return(() => invoke($12, `check_t1`, [3]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:1092
+assert_return(() => invoke($12, `check_t1`, [4]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:1093
+assert_return(() => invoke($12, `check_t1`, [5]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:1094
+assert_return(() => invoke($12, `check_t1`, [6]), [value("i32", 4)]);
+
+// ./test/core/table_copy.wast:1095
+assert_trap(() => invoke($12, `check_t1`, [7]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1096
+assert_trap(() => invoke($12, `check_t1`, [8]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1097
+assert_trap(() => invoke($12, `check_t1`, [9]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1098
+assert_trap(() => invoke($12, `check_t1`, [10]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1099
+assert_return(() => invoke($12, `check_t1`, [11]), [value("i32", 6)]);
+
+// ./test/core/table_copy.wast:1100
+assert_return(() => invoke($12, `check_t1`, [12]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:1101
+assert_return(() => invoke($12, `check_t1`, [13]), [value("i32", 2)]);
+
+// ./test/core/table_copy.wast:1102
+assert_return(() => invoke($12, `check_t1`, [14]), [value("i32", 5)]);
+
+// ./test/core/table_copy.wast:1103
+assert_return(() => invoke($12, `check_t1`, [15]), [value("i32", 7)]);
+
+// ./test/core/table_copy.wast:1104
+assert_trap(() => invoke($12, `check_t1`, [16]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1105
+assert_trap(() => invoke($12, `check_t1`, [17]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1106
+assert_trap(() => invoke($12, `check_t1`, [18]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1107
+assert_trap(() => invoke($12, `check_t1`, [19]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1108
+assert_trap(() => invoke($12, `check_t1`, [20]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1109
+assert_trap(() => invoke($12, `check_t1`, [21]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1110
+assert_trap(() => invoke($12, `check_t1`, [22]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1111
+assert_trap(() => invoke($12, `check_t1`, [23]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1112
+assert_trap(() => invoke($12, `check_t1`, [24]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1113
+assert_trap(() => invoke($12, `check_t1`, [25]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1114
+assert_trap(() => invoke($12, `check_t1`, [26]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1115
+assert_trap(() => invoke($12, `check_t1`, [27]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1116
+assert_trap(() => invoke($12, `check_t1`, [28]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1117
+assert_trap(() => invoke($12, `check_t1`, [29]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1119
+let $13 = instantiate(`(module
+ (type (func (result i32))) ;; type #0
+ (import "a" "ef0" (func (result i32))) ;; index 0
+ (import "a" "ef1" (func (result i32)))
+ (import "a" "ef2" (func (result i32)))
+ (import "a" "ef3" (func (result i32)))
+ (import "a" "ef4" (func (result i32))) ;; index 4
+ (table $$t0 30 30 funcref)
+ (table $$t1 30 30 funcref)
+ (elem (table $$t1) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t1) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (elem (table $$t0) (i32.const 3) func 1 3 1 4)
+ (elem (table $$t0) (i32.const 11) func 6 3 2 5 7)
+ (func (result i32) (i32.const 5)) ;; index 5
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9)) ;; index 9
+ (func (export "test")
+ (table.copy $$t1 $$t1 (i32.const 13) (i32.const 25) (i32.const 3)))
+ (func (export "check_t0") (param i32) (result i32)
+ (call_indirect $$t1 (type 0) (local.get 0)))
+ (func (export "check_t1") (param i32) (result i32)
+ (call_indirect $$t0 (type 0) (local.get 0)))
+)`);
+
+// ./test/core/table_copy.wast:1149
+invoke($13, `test`, []);
+
+// ./test/core/table_copy.wast:1150
+assert_trap(() => invoke($13, `check_t0`, [0]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1151
+assert_trap(() => invoke($13, `check_t0`, [1]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1152
+assert_return(() => invoke($13, `check_t0`, [2]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:1153
+assert_return(() => invoke($13, `check_t0`, [3]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:1154
+assert_return(() => invoke($13, `check_t0`, [4]), [value("i32", 4)]);
+
+// ./test/core/table_copy.wast:1155
+assert_return(() => invoke($13, `check_t0`, [5]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:1156
+assert_trap(() => invoke($13, `check_t0`, [6]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1157
+assert_trap(() => invoke($13, `check_t0`, [7]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1158
+assert_trap(() => invoke($13, `check_t0`, [8]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1159
+assert_trap(() => invoke($13, `check_t0`, [9]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1160
+assert_trap(() => invoke($13, `check_t0`, [10]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1161
+assert_trap(() => invoke($13, `check_t0`, [11]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1162
+assert_return(() => invoke($13, `check_t0`, [12]), [value("i32", 7)]);
+
+// ./test/core/table_copy.wast:1163
+assert_trap(() => invoke($13, `check_t0`, [13]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1164
+assert_trap(() => invoke($13, `check_t0`, [14]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1165
+assert_trap(() => invoke($13, `check_t0`, [15]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1166
+assert_return(() => invoke($13, `check_t0`, [16]), [value("i32", 6)]);
+
+// ./test/core/table_copy.wast:1167
+assert_trap(() => invoke($13, `check_t0`, [17]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1168
+assert_trap(() => invoke($13, `check_t0`, [18]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1169
+assert_trap(() => invoke($13, `check_t0`, [19]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1170
+assert_trap(() => invoke($13, `check_t0`, [20]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1171
+assert_trap(() => invoke($13, `check_t0`, [21]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1172
+assert_trap(() => invoke($13, `check_t0`, [22]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1173
+assert_trap(() => invoke($13, `check_t0`, [23]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1174
+assert_trap(() => invoke($13, `check_t0`, [24]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1175
+assert_trap(() => invoke($13, `check_t0`, [25]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1176
+assert_trap(() => invoke($13, `check_t0`, [26]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1177
+assert_trap(() => invoke($13, `check_t0`, [27]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1178
+assert_trap(() => invoke($13, `check_t0`, [28]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1179
+assert_trap(() => invoke($13, `check_t0`, [29]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1180
+assert_trap(() => invoke($13, `check_t1`, [0]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1181
+assert_trap(() => invoke($13, `check_t1`, [1]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1182
+assert_trap(() => invoke($13, `check_t1`, [2]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1183
+assert_return(() => invoke($13, `check_t1`, [3]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:1184
+assert_return(() => invoke($13, `check_t1`, [4]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:1185
+assert_return(() => invoke($13, `check_t1`, [5]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:1186
+assert_return(() => invoke($13, `check_t1`, [6]), [value("i32", 4)]);
+
+// ./test/core/table_copy.wast:1187
+assert_trap(() => invoke($13, `check_t1`, [7]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1188
+assert_trap(() => invoke($13, `check_t1`, [8]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1189
+assert_trap(() => invoke($13, `check_t1`, [9]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1190
+assert_trap(() => invoke($13, `check_t1`, [10]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1191
+assert_return(() => invoke($13, `check_t1`, [11]), [value("i32", 6)]);
+
+// ./test/core/table_copy.wast:1192
+assert_return(() => invoke($13, `check_t1`, [12]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:1193
+assert_return(() => invoke($13, `check_t1`, [13]), [value("i32", 2)]);
+
+// ./test/core/table_copy.wast:1194
+assert_return(() => invoke($13, `check_t1`, [14]), [value("i32", 5)]);
+
+// ./test/core/table_copy.wast:1195
+assert_return(() => invoke($13, `check_t1`, [15]), [value("i32", 7)]);
+
+// ./test/core/table_copy.wast:1196
+assert_trap(() => invoke($13, `check_t1`, [16]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1197
+assert_trap(() => invoke($13, `check_t1`, [17]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1198
+assert_trap(() => invoke($13, `check_t1`, [18]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1199
+assert_trap(() => invoke($13, `check_t1`, [19]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1200
+assert_trap(() => invoke($13, `check_t1`, [20]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1201
+assert_trap(() => invoke($13, `check_t1`, [21]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1202
+assert_trap(() => invoke($13, `check_t1`, [22]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1203
+assert_trap(() => invoke($13, `check_t1`, [23]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1204
+assert_trap(() => invoke($13, `check_t1`, [24]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1205
+assert_trap(() => invoke($13, `check_t1`, [25]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1206
+assert_trap(() => invoke($13, `check_t1`, [26]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1207
+assert_trap(() => invoke($13, `check_t1`, [27]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1208
+assert_trap(() => invoke($13, `check_t1`, [28]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1209
+assert_trap(() => invoke($13, `check_t1`, [29]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1211
+let $14 = instantiate(`(module
+ (type (func (result i32))) ;; type #0
+ (import "a" "ef0" (func (result i32))) ;; index 0
+ (import "a" "ef1" (func (result i32)))
+ (import "a" "ef2" (func (result i32)))
+ (import "a" "ef3" (func (result i32)))
+ (import "a" "ef4" (func (result i32))) ;; index 4
+ (table $$t0 30 30 funcref)
+ (table $$t1 30 30 funcref)
+ (elem (table $$t1) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t1) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (elem (table $$t0) (i32.const 3) func 1 3 1 4)
+ (elem (table $$t0) (i32.const 11) func 6 3 2 5 7)
+ (func (result i32) (i32.const 5)) ;; index 5
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9)) ;; index 9
+ (func (export "test")
+ (table.copy $$t1 $$t1 (i32.const 20) (i32.const 22) (i32.const 4)))
+ (func (export "check_t0") (param i32) (result i32)
+ (call_indirect $$t1 (type 0) (local.get 0)))
+ (func (export "check_t1") (param i32) (result i32)
+ (call_indirect $$t0 (type 0) (local.get 0)))
+)`);
+
+// ./test/core/table_copy.wast:1241
+invoke($14, `test`, []);
+
+// ./test/core/table_copy.wast:1242
+assert_trap(() => invoke($14, `check_t0`, [0]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1243
+assert_trap(() => invoke($14, `check_t0`, [1]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1244
+assert_return(() => invoke($14, `check_t0`, [2]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:1245
+assert_return(() => invoke($14, `check_t0`, [3]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:1246
+assert_return(() => invoke($14, `check_t0`, [4]), [value("i32", 4)]);
+
+// ./test/core/table_copy.wast:1247
+assert_return(() => invoke($14, `check_t0`, [5]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:1248
+assert_trap(() => invoke($14, `check_t0`, [6]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1249
+assert_trap(() => invoke($14, `check_t0`, [7]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1250
+assert_trap(() => invoke($14, `check_t0`, [8]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1251
+assert_trap(() => invoke($14, `check_t0`, [9]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1252
+assert_trap(() => invoke($14, `check_t0`, [10]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1253
+assert_trap(() => invoke($14, `check_t0`, [11]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1254
+assert_return(() => invoke($14, `check_t0`, [12]), [value("i32", 7)]);
+
+// ./test/core/table_copy.wast:1255
+assert_return(() => invoke($14, `check_t0`, [13]), [value("i32", 5)]);
+
+// ./test/core/table_copy.wast:1256
+assert_return(() => invoke($14, `check_t0`, [14]), [value("i32", 2)]);
+
+// ./test/core/table_copy.wast:1257
+assert_return(() => invoke($14, `check_t0`, [15]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:1258
+assert_return(() => invoke($14, `check_t0`, [16]), [value("i32", 6)]);
+
+// ./test/core/table_copy.wast:1259
+assert_trap(() => invoke($14, `check_t0`, [17]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1260
+assert_trap(() => invoke($14, `check_t0`, [18]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1261
+assert_trap(() => invoke($14, `check_t0`, [19]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1262
+assert_trap(() => invoke($14, `check_t0`, [20]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1263
+assert_trap(() => invoke($14, `check_t0`, [21]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1264
+assert_trap(() => invoke($14, `check_t0`, [22]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1265
+assert_trap(() => invoke($14, `check_t0`, [23]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1266
+assert_trap(() => invoke($14, `check_t0`, [24]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1267
+assert_trap(() => invoke($14, `check_t0`, [25]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1268
+assert_trap(() => invoke($14, `check_t0`, [26]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1269
+assert_trap(() => invoke($14, `check_t0`, [27]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1270
+assert_trap(() => invoke($14, `check_t0`, [28]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1271
+assert_trap(() => invoke($14, `check_t0`, [29]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1272
+assert_trap(() => invoke($14, `check_t1`, [0]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1273
+assert_trap(() => invoke($14, `check_t1`, [1]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1274
+assert_trap(() => invoke($14, `check_t1`, [2]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1275
+assert_return(() => invoke($14, `check_t1`, [3]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:1276
+assert_return(() => invoke($14, `check_t1`, [4]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:1277
+assert_return(() => invoke($14, `check_t1`, [5]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:1278
+assert_return(() => invoke($14, `check_t1`, [6]), [value("i32", 4)]);
+
+// ./test/core/table_copy.wast:1279
+assert_trap(() => invoke($14, `check_t1`, [7]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1280
+assert_trap(() => invoke($14, `check_t1`, [8]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1281
+assert_trap(() => invoke($14, `check_t1`, [9]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1282
+assert_trap(() => invoke($14, `check_t1`, [10]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1283
+assert_return(() => invoke($14, `check_t1`, [11]), [value("i32", 6)]);
+
+// ./test/core/table_copy.wast:1284
+assert_return(() => invoke($14, `check_t1`, [12]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:1285
+assert_return(() => invoke($14, `check_t1`, [13]), [value("i32", 2)]);
+
+// ./test/core/table_copy.wast:1286
+assert_return(() => invoke($14, `check_t1`, [14]), [value("i32", 5)]);
+
+// ./test/core/table_copy.wast:1287
+assert_return(() => invoke($14, `check_t1`, [15]), [value("i32", 7)]);
+
+// ./test/core/table_copy.wast:1288
+assert_trap(() => invoke($14, `check_t1`, [16]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1289
+assert_trap(() => invoke($14, `check_t1`, [17]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1290
+assert_trap(() => invoke($14, `check_t1`, [18]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1291
+assert_trap(() => invoke($14, `check_t1`, [19]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1292
+assert_trap(() => invoke($14, `check_t1`, [20]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1293
+assert_trap(() => invoke($14, `check_t1`, [21]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1294
+assert_trap(() => invoke($14, `check_t1`, [22]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1295
+assert_trap(() => invoke($14, `check_t1`, [23]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1296
+assert_trap(() => invoke($14, `check_t1`, [24]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1297
+assert_trap(() => invoke($14, `check_t1`, [25]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1298
+assert_trap(() => invoke($14, `check_t1`, [26]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1299
+assert_trap(() => invoke($14, `check_t1`, [27]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1300
+assert_trap(() => invoke($14, `check_t1`, [28]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1301
+assert_trap(() => invoke($14, `check_t1`, [29]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1303
+let $15 = instantiate(`(module
+ (type (func (result i32))) ;; type #0
+ (import "a" "ef0" (func (result i32))) ;; index 0
+ (import "a" "ef1" (func (result i32)))
+ (import "a" "ef2" (func (result i32)))
+ (import "a" "ef3" (func (result i32)))
+ (import "a" "ef4" (func (result i32))) ;; index 4
+ (table $$t0 30 30 funcref)
+ (table $$t1 30 30 funcref)
+ (elem (table $$t1) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t1) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (elem (table $$t0) (i32.const 3) func 1 3 1 4)
+ (elem (table $$t0) (i32.const 11) func 6 3 2 5 7)
+ (func (result i32) (i32.const 5)) ;; index 5
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9)) ;; index 9
+ (func (export "test")
+ (table.copy $$t1 $$t1 (i32.const 25) (i32.const 1) (i32.const 3)))
+ (func (export "check_t0") (param i32) (result i32)
+ (call_indirect $$t1 (type 0) (local.get 0)))
+ (func (export "check_t1") (param i32) (result i32)
+ (call_indirect $$t0 (type 0) (local.get 0)))
+)`);
+
+// ./test/core/table_copy.wast:1333
+invoke($15, `test`, []);
+
+// ./test/core/table_copy.wast:1334
+assert_trap(() => invoke($15, `check_t0`, [0]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1335
+assert_trap(() => invoke($15, `check_t0`, [1]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1336
+assert_return(() => invoke($15, `check_t0`, [2]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:1337
+assert_return(() => invoke($15, `check_t0`, [3]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:1338
+assert_return(() => invoke($15, `check_t0`, [4]), [value("i32", 4)]);
+
+// ./test/core/table_copy.wast:1339
+assert_return(() => invoke($15, `check_t0`, [5]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:1340
+assert_trap(() => invoke($15, `check_t0`, [6]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1341
+assert_trap(() => invoke($15, `check_t0`, [7]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1342
+assert_trap(() => invoke($15, `check_t0`, [8]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1343
+assert_trap(() => invoke($15, `check_t0`, [9]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1344
+assert_trap(() => invoke($15, `check_t0`, [10]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1345
+assert_trap(() => invoke($15, `check_t0`, [11]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1346
+assert_return(() => invoke($15, `check_t0`, [12]), [value("i32", 7)]);
+
+// ./test/core/table_copy.wast:1347
+assert_return(() => invoke($15, `check_t0`, [13]), [value("i32", 5)]);
+
+// ./test/core/table_copy.wast:1348
+assert_return(() => invoke($15, `check_t0`, [14]), [value("i32", 2)]);
+
+// ./test/core/table_copy.wast:1349
+assert_return(() => invoke($15, `check_t0`, [15]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:1350
+assert_return(() => invoke($15, `check_t0`, [16]), [value("i32", 6)]);
+
+// ./test/core/table_copy.wast:1351
+assert_trap(() => invoke($15, `check_t0`, [17]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1352
+assert_trap(() => invoke($15, `check_t0`, [18]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1353
+assert_trap(() => invoke($15, `check_t0`, [19]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1354
+assert_trap(() => invoke($15, `check_t0`, [20]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1355
+assert_trap(() => invoke($15, `check_t0`, [21]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1356
+assert_trap(() => invoke($15, `check_t0`, [22]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1357
+assert_trap(() => invoke($15, `check_t0`, [23]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1358
+assert_trap(() => invoke($15, `check_t0`, [24]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1359
+assert_trap(() => invoke($15, `check_t0`, [25]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1360
+assert_return(() => invoke($15, `check_t0`, [26]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:1361
+assert_return(() => invoke($15, `check_t0`, [27]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:1362
+assert_trap(() => invoke($15, `check_t0`, [28]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1363
+assert_trap(() => invoke($15, `check_t0`, [29]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1364
+assert_trap(() => invoke($15, `check_t1`, [0]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1365
+assert_trap(() => invoke($15, `check_t1`, [1]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1366
+assert_trap(() => invoke($15, `check_t1`, [2]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1367
+assert_return(() => invoke($15, `check_t1`, [3]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:1368
+assert_return(() => invoke($15, `check_t1`, [4]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:1369
+assert_return(() => invoke($15, `check_t1`, [5]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:1370
+assert_return(() => invoke($15, `check_t1`, [6]), [value("i32", 4)]);
+
+// ./test/core/table_copy.wast:1371
+assert_trap(() => invoke($15, `check_t1`, [7]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1372
+assert_trap(() => invoke($15, `check_t1`, [8]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1373
+assert_trap(() => invoke($15, `check_t1`, [9]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1374
+assert_trap(() => invoke($15, `check_t1`, [10]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1375
+assert_return(() => invoke($15, `check_t1`, [11]), [value("i32", 6)]);
+
+// ./test/core/table_copy.wast:1376
+assert_return(() => invoke($15, `check_t1`, [12]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:1377
+assert_return(() => invoke($15, `check_t1`, [13]), [value("i32", 2)]);
+
+// ./test/core/table_copy.wast:1378
+assert_return(() => invoke($15, `check_t1`, [14]), [value("i32", 5)]);
+
+// ./test/core/table_copy.wast:1379
+assert_return(() => invoke($15, `check_t1`, [15]), [value("i32", 7)]);
+
+// ./test/core/table_copy.wast:1380
+assert_trap(() => invoke($15, `check_t1`, [16]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1381
+assert_trap(() => invoke($15, `check_t1`, [17]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1382
+assert_trap(() => invoke($15, `check_t1`, [18]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1383
+assert_trap(() => invoke($15, `check_t1`, [19]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1384
+assert_trap(() => invoke($15, `check_t1`, [20]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1385
+assert_trap(() => invoke($15, `check_t1`, [21]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1386
+assert_trap(() => invoke($15, `check_t1`, [22]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1387
+assert_trap(() => invoke($15, `check_t1`, [23]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1388
+assert_trap(() => invoke($15, `check_t1`, [24]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1389
+assert_trap(() => invoke($15, `check_t1`, [25]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1390
+assert_trap(() => invoke($15, `check_t1`, [26]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1391
+assert_trap(() => invoke($15, `check_t1`, [27]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1392
+assert_trap(() => invoke($15, `check_t1`, [28]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1393
+assert_trap(() => invoke($15, `check_t1`, [29]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1395
+let $16 = instantiate(`(module
+ (type (func (result i32))) ;; type #0
+ (import "a" "ef0" (func (result i32))) ;; index 0
+ (import "a" "ef1" (func (result i32)))
+ (import "a" "ef2" (func (result i32)))
+ (import "a" "ef3" (func (result i32)))
+ (import "a" "ef4" (func (result i32))) ;; index 4
+ (table $$t0 30 30 funcref)
+ (table $$t1 30 30 funcref)
+ (elem (table $$t1) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t1) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (elem (table $$t0) (i32.const 3) func 1 3 1 4)
+ (elem (table $$t0) (i32.const 11) func 6 3 2 5 7)
+ (func (result i32) (i32.const 5)) ;; index 5
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9)) ;; index 9
+ (func (export "test")
+ (table.copy $$t1 $$t1 (i32.const 10) (i32.const 12) (i32.const 7)))
+ (func (export "check_t0") (param i32) (result i32)
+ (call_indirect $$t1 (type 0) (local.get 0)))
+ (func (export "check_t1") (param i32) (result i32)
+ (call_indirect $$t0 (type 0) (local.get 0)))
+)`);
+
+// ./test/core/table_copy.wast:1425
+invoke($16, `test`, []);
+
+// ./test/core/table_copy.wast:1426
+assert_trap(() => invoke($16, `check_t0`, [0]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1427
+assert_trap(() => invoke($16, `check_t0`, [1]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1428
+assert_return(() => invoke($16, `check_t0`, [2]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:1429
+assert_return(() => invoke($16, `check_t0`, [3]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:1430
+assert_return(() => invoke($16, `check_t0`, [4]), [value("i32", 4)]);
+
+// ./test/core/table_copy.wast:1431
+assert_return(() => invoke($16, `check_t0`, [5]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:1432
+assert_trap(() => invoke($16, `check_t0`, [6]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1433
+assert_trap(() => invoke($16, `check_t0`, [7]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1434
+assert_trap(() => invoke($16, `check_t0`, [8]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1435
+assert_trap(() => invoke($16, `check_t0`, [9]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1436
+assert_return(() => invoke($16, `check_t0`, [10]), [value("i32", 7)]);
+
+// ./test/core/table_copy.wast:1437
+assert_return(() => invoke($16, `check_t0`, [11]), [value("i32", 5)]);
+
+// ./test/core/table_copy.wast:1438
+assert_return(() => invoke($16, `check_t0`, [12]), [value("i32", 2)]);
+
+// ./test/core/table_copy.wast:1439
+assert_return(() => invoke($16, `check_t0`, [13]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:1440
+assert_return(() => invoke($16, `check_t0`, [14]), [value("i32", 6)]);
+
+// ./test/core/table_copy.wast:1441
+assert_trap(() => invoke($16, `check_t0`, [15]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1442
+assert_trap(() => invoke($16, `check_t0`, [16]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1443
+assert_trap(() => invoke($16, `check_t0`, [17]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1444
+assert_trap(() => invoke($16, `check_t0`, [18]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1445
+assert_trap(() => invoke($16, `check_t0`, [19]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1446
+assert_trap(() => invoke($16, `check_t0`, [20]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1447
+assert_trap(() => invoke($16, `check_t0`, [21]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1448
+assert_trap(() => invoke($16, `check_t0`, [22]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1449
+assert_trap(() => invoke($16, `check_t0`, [23]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1450
+assert_trap(() => invoke($16, `check_t0`, [24]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1451
+assert_trap(() => invoke($16, `check_t0`, [25]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1452
+assert_trap(() => invoke($16, `check_t0`, [26]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1453
+assert_trap(() => invoke($16, `check_t0`, [27]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1454
+assert_trap(() => invoke($16, `check_t0`, [28]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1455
+assert_trap(() => invoke($16, `check_t0`, [29]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1456
+assert_trap(() => invoke($16, `check_t1`, [0]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1457
+assert_trap(() => invoke($16, `check_t1`, [1]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1458
+assert_trap(() => invoke($16, `check_t1`, [2]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1459
+assert_return(() => invoke($16, `check_t1`, [3]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:1460
+assert_return(() => invoke($16, `check_t1`, [4]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:1461
+assert_return(() => invoke($16, `check_t1`, [5]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:1462
+assert_return(() => invoke($16, `check_t1`, [6]), [value("i32", 4)]);
+
+// ./test/core/table_copy.wast:1463
+assert_trap(() => invoke($16, `check_t1`, [7]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1464
+assert_trap(() => invoke($16, `check_t1`, [8]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1465
+assert_trap(() => invoke($16, `check_t1`, [9]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1466
+assert_trap(() => invoke($16, `check_t1`, [10]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1467
+assert_return(() => invoke($16, `check_t1`, [11]), [value("i32", 6)]);
+
+// ./test/core/table_copy.wast:1468
+assert_return(() => invoke($16, `check_t1`, [12]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:1469
+assert_return(() => invoke($16, `check_t1`, [13]), [value("i32", 2)]);
+
+// ./test/core/table_copy.wast:1470
+assert_return(() => invoke($16, `check_t1`, [14]), [value("i32", 5)]);
+
+// ./test/core/table_copy.wast:1471
+assert_return(() => invoke($16, `check_t1`, [15]), [value("i32", 7)]);
+
+// ./test/core/table_copy.wast:1472
+assert_trap(() => invoke($16, `check_t1`, [16]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1473
+assert_trap(() => invoke($16, `check_t1`, [17]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1474
+assert_trap(() => invoke($16, `check_t1`, [18]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1475
+assert_trap(() => invoke($16, `check_t1`, [19]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1476
+assert_trap(() => invoke($16, `check_t1`, [20]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1477
+assert_trap(() => invoke($16, `check_t1`, [21]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1478
+assert_trap(() => invoke($16, `check_t1`, [22]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1479
+assert_trap(() => invoke($16, `check_t1`, [23]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1480
+assert_trap(() => invoke($16, `check_t1`, [24]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1481
+assert_trap(() => invoke($16, `check_t1`, [25]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1482
+assert_trap(() => invoke($16, `check_t1`, [26]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1483
+assert_trap(() => invoke($16, `check_t1`, [27]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1484
+assert_trap(() => invoke($16, `check_t1`, [28]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1485
+assert_trap(() => invoke($16, `check_t1`, [29]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1487
+let $17 = instantiate(`(module
+ (type (func (result i32))) ;; type #0
+ (import "a" "ef0" (func (result i32))) ;; index 0
+ (import "a" "ef1" (func (result i32)))
+ (import "a" "ef2" (func (result i32)))
+ (import "a" "ef3" (func (result i32)))
+ (import "a" "ef4" (func (result i32))) ;; index 4
+ (table $$t0 30 30 funcref)
+ (table $$t1 30 30 funcref)
+ (elem (table $$t1) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t1) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (elem (table $$t0) (i32.const 3) func 1 3 1 4)
+ (elem (table $$t0) (i32.const 11) func 6 3 2 5 7)
+ (func (result i32) (i32.const 5)) ;; index 5
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9)) ;; index 9
+ (func (export "test")
+ (table.copy $$t1 $$t1 (i32.const 12) (i32.const 10) (i32.const 7)))
+ (func (export "check_t0") (param i32) (result i32)
+ (call_indirect $$t1 (type 0) (local.get 0)))
+ (func (export "check_t1") (param i32) (result i32)
+ (call_indirect $$t0 (type 0) (local.get 0)))
+)`);
+
+// ./test/core/table_copy.wast:1517
+invoke($17, `test`, []);
+
+// ./test/core/table_copy.wast:1518
+assert_trap(() => invoke($17, `check_t0`, [0]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1519
+assert_trap(() => invoke($17, `check_t0`, [1]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1520
+assert_return(() => invoke($17, `check_t0`, [2]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:1521
+assert_return(() => invoke($17, `check_t0`, [3]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:1522
+assert_return(() => invoke($17, `check_t0`, [4]), [value("i32", 4)]);
+
+// ./test/core/table_copy.wast:1523
+assert_return(() => invoke($17, `check_t0`, [5]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:1524
+assert_trap(() => invoke($17, `check_t0`, [6]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1525
+assert_trap(() => invoke($17, `check_t0`, [7]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1526
+assert_trap(() => invoke($17, `check_t0`, [8]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1527
+assert_trap(() => invoke($17, `check_t0`, [9]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1528
+assert_trap(() => invoke($17, `check_t0`, [10]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1529
+assert_trap(() => invoke($17, `check_t0`, [11]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1530
+assert_trap(() => invoke($17, `check_t0`, [12]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1531
+assert_trap(() => invoke($17, `check_t0`, [13]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1532
+assert_return(() => invoke($17, `check_t0`, [14]), [value("i32", 7)]);
+
+// ./test/core/table_copy.wast:1533
+assert_return(() => invoke($17, `check_t0`, [15]), [value("i32", 5)]);
+
+// ./test/core/table_copy.wast:1534
+assert_return(() => invoke($17, `check_t0`, [16]), [value("i32", 2)]);
+
+// ./test/core/table_copy.wast:1535
+assert_return(() => invoke($17, `check_t0`, [17]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:1536
+assert_return(() => invoke($17, `check_t0`, [18]), [value("i32", 6)]);
+
+// ./test/core/table_copy.wast:1537
+assert_trap(() => invoke($17, `check_t0`, [19]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1538
+assert_trap(() => invoke($17, `check_t0`, [20]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1539
+assert_trap(() => invoke($17, `check_t0`, [21]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1540
+assert_trap(() => invoke($17, `check_t0`, [22]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1541
+assert_trap(() => invoke($17, `check_t0`, [23]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1542
+assert_trap(() => invoke($17, `check_t0`, [24]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1543
+assert_trap(() => invoke($17, `check_t0`, [25]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1544
+assert_trap(() => invoke($17, `check_t0`, [26]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1545
+assert_trap(() => invoke($17, `check_t0`, [27]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1546
+assert_trap(() => invoke($17, `check_t0`, [28]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1547
+assert_trap(() => invoke($17, `check_t0`, [29]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1548
+assert_trap(() => invoke($17, `check_t1`, [0]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1549
+assert_trap(() => invoke($17, `check_t1`, [1]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1550
+assert_trap(() => invoke($17, `check_t1`, [2]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1551
+assert_return(() => invoke($17, `check_t1`, [3]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:1552
+assert_return(() => invoke($17, `check_t1`, [4]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:1553
+assert_return(() => invoke($17, `check_t1`, [5]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:1554
+assert_return(() => invoke($17, `check_t1`, [6]), [value("i32", 4)]);
+
+// ./test/core/table_copy.wast:1555
+assert_trap(() => invoke($17, `check_t1`, [7]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1556
+assert_trap(() => invoke($17, `check_t1`, [8]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1557
+assert_trap(() => invoke($17, `check_t1`, [9]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1558
+assert_trap(() => invoke($17, `check_t1`, [10]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1559
+assert_return(() => invoke($17, `check_t1`, [11]), [value("i32", 6)]);
+
+// ./test/core/table_copy.wast:1560
+assert_return(() => invoke($17, `check_t1`, [12]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:1561
+assert_return(() => invoke($17, `check_t1`, [13]), [value("i32", 2)]);
+
+// ./test/core/table_copy.wast:1562
+assert_return(() => invoke($17, `check_t1`, [14]), [value("i32", 5)]);
+
+// ./test/core/table_copy.wast:1563
+assert_return(() => invoke($17, `check_t1`, [15]), [value("i32", 7)]);
+
+// ./test/core/table_copy.wast:1564
+assert_trap(() => invoke($17, `check_t1`, [16]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1565
+assert_trap(() => invoke($17, `check_t1`, [17]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1566
+assert_trap(() => invoke($17, `check_t1`, [18]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1567
+assert_trap(() => invoke($17, `check_t1`, [19]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1568
+assert_trap(() => invoke($17, `check_t1`, [20]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1569
+assert_trap(() => invoke($17, `check_t1`, [21]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1570
+assert_trap(() => invoke($17, `check_t1`, [22]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1571
+assert_trap(() => invoke($17, `check_t1`, [23]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1572
+assert_trap(() => invoke($17, `check_t1`, [24]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1573
+assert_trap(() => invoke($17, `check_t1`, [25]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1574
+assert_trap(() => invoke($17, `check_t1`, [26]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1575
+assert_trap(() => invoke($17, `check_t1`, [27]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1576
+assert_trap(() => invoke($17, `check_t1`, [28]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1577
+assert_trap(() => invoke($17, `check_t1`, [29]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1579
+let $18 = instantiate(`(module
+ (type (func (result i32))) ;; type #0
+ (import "a" "ef0" (func (result i32))) ;; index 0
+ (import "a" "ef1" (func (result i32)))
+ (import "a" "ef2" (func (result i32)))
+ (import "a" "ef3" (func (result i32)))
+ (import "a" "ef4" (func (result i32))) ;; index 4
+ (table $$t0 30 30 funcref)
+ (table $$t1 30 30 funcref)
+ (elem (table $$t1) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t1) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (elem (table $$t0) (i32.const 3) func 1 3 1 4)
+ (elem (table $$t0) (i32.const 11) func 6 3 2 5 7)
+ (func (result i32) (i32.const 5)) ;; index 5
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9)) ;; index 9
+ (func (export "test")
+ (table.copy $$t0 $$t1 (i32.const 10) (i32.const 0) (i32.const 20)))
+ (func (export "check_t0") (param i32) (result i32)
+ (call_indirect $$t1 (type 0) (local.get 0)))
+ (func (export "check_t1") (param i32) (result i32)
+ (call_indirect $$t0 (type 0) (local.get 0)))
+)`);
+
+// ./test/core/table_copy.wast:1609
+invoke($18, `test`, []);
+
+// ./test/core/table_copy.wast:1610
+assert_trap(() => invoke($18, `check_t0`, [0]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1611
+assert_trap(() => invoke($18, `check_t0`, [1]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1612
+assert_return(() => invoke($18, `check_t0`, [2]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:1613
+assert_return(() => invoke($18, `check_t0`, [3]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:1614
+assert_return(() => invoke($18, `check_t0`, [4]), [value("i32", 4)]);
+
+// ./test/core/table_copy.wast:1615
+assert_return(() => invoke($18, `check_t0`, [5]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:1616
+assert_trap(() => invoke($18, `check_t0`, [6]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1617
+assert_trap(() => invoke($18, `check_t0`, [7]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1618
+assert_trap(() => invoke($18, `check_t0`, [8]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1619
+assert_trap(() => invoke($18, `check_t0`, [9]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1620
+assert_trap(() => invoke($18, `check_t0`, [10]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1621
+assert_trap(() => invoke($18, `check_t0`, [11]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1622
+assert_return(() => invoke($18, `check_t0`, [12]), [value("i32", 7)]);
+
+// ./test/core/table_copy.wast:1623
+assert_return(() => invoke($18, `check_t0`, [13]), [value("i32", 5)]);
+
+// ./test/core/table_copy.wast:1624
+assert_return(() => invoke($18, `check_t0`, [14]), [value("i32", 2)]);
+
+// ./test/core/table_copy.wast:1625
+assert_return(() => invoke($18, `check_t0`, [15]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:1626
+assert_return(() => invoke($18, `check_t0`, [16]), [value("i32", 6)]);
+
+// ./test/core/table_copy.wast:1627
+assert_trap(() => invoke($18, `check_t0`, [17]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1628
+assert_trap(() => invoke($18, `check_t0`, [18]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1629
+assert_trap(() => invoke($18, `check_t0`, [19]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1630
+assert_trap(() => invoke($18, `check_t0`, [20]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1631
+assert_trap(() => invoke($18, `check_t0`, [21]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1632
+assert_trap(() => invoke($18, `check_t0`, [22]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1633
+assert_trap(() => invoke($18, `check_t0`, [23]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1634
+assert_trap(() => invoke($18, `check_t0`, [24]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1635
+assert_trap(() => invoke($18, `check_t0`, [25]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1636
+assert_trap(() => invoke($18, `check_t0`, [26]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1637
+assert_trap(() => invoke($18, `check_t0`, [27]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1638
+assert_trap(() => invoke($18, `check_t0`, [28]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1639
+assert_trap(() => invoke($18, `check_t0`, [29]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1640
+assert_trap(() => invoke($18, `check_t1`, [0]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1641
+assert_trap(() => invoke($18, `check_t1`, [1]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1642
+assert_trap(() => invoke($18, `check_t1`, [2]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1643
+assert_return(() => invoke($18, `check_t1`, [3]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:1644
+assert_return(() => invoke($18, `check_t1`, [4]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:1645
+assert_return(() => invoke($18, `check_t1`, [5]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:1646
+assert_return(() => invoke($18, `check_t1`, [6]), [value("i32", 4)]);
+
+// ./test/core/table_copy.wast:1647
+assert_trap(() => invoke($18, `check_t1`, [7]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1648
+assert_trap(() => invoke($18, `check_t1`, [8]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1649
+assert_trap(() => invoke($18, `check_t1`, [9]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1650
+assert_trap(() => invoke($18, `check_t1`, [10]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1651
+assert_trap(() => invoke($18, `check_t1`, [11]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1652
+assert_return(() => invoke($18, `check_t1`, [12]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:1653
+assert_return(() => invoke($18, `check_t1`, [13]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:1654
+assert_return(() => invoke($18, `check_t1`, [14]), [value("i32", 4)]);
+
+// ./test/core/table_copy.wast:1655
+assert_return(() => invoke($18, `check_t1`, [15]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:1656
+assert_trap(() => invoke($18, `check_t1`, [16]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1657
+assert_trap(() => invoke($18, `check_t1`, [17]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1658
+assert_trap(() => invoke($18, `check_t1`, [18]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1659
+assert_trap(() => invoke($18, `check_t1`, [19]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1660
+assert_trap(() => invoke($18, `check_t1`, [20]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1661
+assert_trap(() => invoke($18, `check_t1`, [21]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1662
+assert_return(() => invoke($18, `check_t1`, [22]), [value("i32", 7)]);
+
+// ./test/core/table_copy.wast:1663
+assert_return(() => invoke($18, `check_t1`, [23]), [value("i32", 5)]);
+
+// ./test/core/table_copy.wast:1664
+assert_return(() => invoke($18, `check_t1`, [24]), [value("i32", 2)]);
+
+// ./test/core/table_copy.wast:1665
+assert_return(() => invoke($18, `check_t1`, [25]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:1666
+assert_return(() => invoke($18, `check_t1`, [26]), [value("i32", 6)]);
+
+// ./test/core/table_copy.wast:1667
+assert_trap(() => invoke($18, `check_t1`, [27]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1668
+assert_trap(() => invoke($18, `check_t1`, [28]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1669
+assert_trap(() => invoke($18, `check_t1`, [29]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:1671
+let $19 = instantiate(`(module
+ (table $$t0 30 30 funcref)
+ (table $$t1 30 30 funcref)
+ (elem (table $$t0) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t0) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (func (result i32) (i32.const 0))
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4))
+ (func (result i32) (i32.const 5))
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9))
+ (func (export "test")
+ (table.copy $$t0 $$t0 (i32.const 28) (i32.const 1) (i32.const 3))
+ ))`);
+
+// ./test/core/table_copy.wast:1694
+assert_trap(() => invoke($19, `test`, []), `out of bounds table access`);
+
+// ./test/core/table_copy.wast:1696
+let $20 = instantiate(`(module
+ (table $$t0 30 30 funcref)
+ (table $$t1 30 30 funcref)
+ (elem (table $$t0) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t0) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (func (result i32) (i32.const 0))
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4))
+ (func (result i32) (i32.const 5))
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9))
+ (func (export "test")
+ (table.copy $$t0 $$t0 (i32.const 0xFFFFFFFE) (i32.const 1) (i32.const 2))
+ ))`);
+
+// ./test/core/table_copy.wast:1719
+assert_trap(() => invoke($20, `test`, []), `out of bounds table access`);
+
+// ./test/core/table_copy.wast:1721
+let $21 = instantiate(`(module
+ (table $$t0 30 30 funcref)
+ (table $$t1 30 30 funcref)
+ (elem (table $$t0) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t0) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (func (result i32) (i32.const 0))
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4))
+ (func (result i32) (i32.const 5))
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9))
+ (func (export "test")
+ (table.copy $$t0 $$t0 (i32.const 15) (i32.const 25) (i32.const 6))
+ ))`);
+
+// ./test/core/table_copy.wast:1744
+assert_trap(() => invoke($21, `test`, []), `out of bounds table access`);
+
+// ./test/core/table_copy.wast:1746
+let $22 = instantiate(`(module
+ (table $$t0 30 30 funcref)
+ (table $$t1 30 30 funcref)
+ (elem (table $$t0) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t0) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (func (result i32) (i32.const 0))
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4))
+ (func (result i32) (i32.const 5))
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9))
+ (func (export "test")
+ (table.copy $$t0 $$t0 (i32.const 15) (i32.const 0xFFFFFFFE) (i32.const 2))
+ ))`);
+
+// ./test/core/table_copy.wast:1769
+assert_trap(() => invoke($22, `test`, []), `out of bounds table access`);
+
+// ./test/core/table_copy.wast:1771
+let $23 = instantiate(`(module
+ (table $$t0 30 30 funcref)
+ (table $$t1 30 30 funcref)
+ (elem (table $$t0) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t0) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (func (result i32) (i32.const 0))
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4))
+ (func (result i32) (i32.const 5))
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9))
+ (func (export "test")
+ (table.copy $$t0 $$t0 (i32.const 15) (i32.const 25) (i32.const 0))
+ ))`);
+
+// ./test/core/table_copy.wast:1794
+invoke($23, `test`, []);
+
+// ./test/core/table_copy.wast:1796
+let $24 = instantiate(`(module
+ (table $$t0 30 30 funcref)
+ (table $$t1 30 30 funcref)
+ (elem (table $$t0) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t0) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (func (result i32) (i32.const 0))
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4))
+ (func (result i32) (i32.const 5))
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9))
+ (func (export "test")
+ (table.copy $$t0 $$t0 (i32.const 30) (i32.const 15) (i32.const 0))
+ ))`);
+
+// ./test/core/table_copy.wast:1819
+invoke($24, `test`, []);
+
+// ./test/core/table_copy.wast:1821
+let $25 = instantiate(`(module
+ (table $$t0 30 30 funcref)
+ (table $$t1 30 30 funcref)
+ (elem (table $$t0) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t0) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (func (result i32) (i32.const 0))
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4))
+ (func (result i32) (i32.const 5))
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9))
+ (func (export "test")
+ (table.copy $$t0 $$t0 (i32.const 31) (i32.const 15) (i32.const 0))
+ ))`);
+
+// ./test/core/table_copy.wast:1844
+assert_trap(() => invoke($25, `test`, []), `out of bounds table access`);
+
+// ./test/core/table_copy.wast:1846
+let $26 = instantiate(`(module
+ (table $$t0 30 30 funcref)
+ (table $$t1 30 30 funcref)
+ (elem (table $$t0) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t0) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (func (result i32) (i32.const 0))
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4))
+ (func (result i32) (i32.const 5))
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9))
+ (func (export "test")
+ (table.copy $$t0 $$t0 (i32.const 15) (i32.const 30) (i32.const 0))
+ ))`);
+
+// ./test/core/table_copy.wast:1869
+invoke($26, `test`, []);
+
+// ./test/core/table_copy.wast:1871
+let $27 = instantiate(`(module
+ (table $$t0 30 30 funcref)
+ (table $$t1 30 30 funcref)
+ (elem (table $$t0) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t0) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (func (result i32) (i32.const 0))
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4))
+ (func (result i32) (i32.const 5))
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9))
+ (func (export "test")
+ (table.copy $$t0 $$t0 (i32.const 15) (i32.const 31) (i32.const 0))
+ ))`);
+
+// ./test/core/table_copy.wast:1894
+assert_trap(() => invoke($27, `test`, []), `out of bounds table access`);
+
+// ./test/core/table_copy.wast:1896
+let $28 = instantiate(`(module
+ (table $$t0 30 30 funcref)
+ (table $$t1 30 30 funcref)
+ (elem (table $$t0) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t0) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (func (result i32) (i32.const 0))
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4))
+ (func (result i32) (i32.const 5))
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9))
+ (func (export "test")
+ (table.copy $$t0 $$t0 (i32.const 30) (i32.const 30) (i32.const 0))
+ ))`);
+
+// ./test/core/table_copy.wast:1919
+invoke($28, `test`, []);
+
+// ./test/core/table_copy.wast:1921
+let $29 = instantiate(`(module
+ (table $$t0 30 30 funcref)
+ (table $$t1 30 30 funcref)
+ (elem (table $$t0) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t0) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (func (result i32) (i32.const 0))
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4))
+ (func (result i32) (i32.const 5))
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9))
+ (func (export "test")
+ (table.copy $$t0 $$t0 (i32.const 31) (i32.const 31) (i32.const 0))
+ ))`);
+
+// ./test/core/table_copy.wast:1944
+assert_trap(() => invoke($29, `test`, []), `out of bounds table access`);
+
+// ./test/core/table_copy.wast:1946
+let $30 = instantiate(`(module
+ (table $$t0 30 30 funcref)
+ (table $$t1 30 30 funcref)
+ (elem (table $$t0) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t0) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (func (result i32) (i32.const 0))
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4))
+ (func (result i32) (i32.const 5))
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9))
+ (func (export "test")
+ (table.copy $$t1 $$t0 (i32.const 28) (i32.const 1) (i32.const 3))
+ ))`);
+
+// ./test/core/table_copy.wast:1969
+assert_trap(() => invoke($30, `test`, []), `out of bounds table access`);
+
+// ./test/core/table_copy.wast:1971
+let $31 = instantiate(`(module
+ (table $$t0 30 30 funcref)
+ (table $$t1 30 30 funcref)
+ (elem (table $$t0) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t0) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (func (result i32) (i32.const 0))
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4))
+ (func (result i32) (i32.const 5))
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9))
+ (func (export "test")
+ (table.copy $$t1 $$t0 (i32.const 0xFFFFFFFE) (i32.const 1) (i32.const 2))
+ ))`);
+
+// ./test/core/table_copy.wast:1994
+assert_trap(() => invoke($31, `test`, []), `out of bounds table access`);
+
+// ./test/core/table_copy.wast:1996
+let $32 = instantiate(`(module
+ (table $$t0 30 30 funcref)
+ (table $$t1 30 30 funcref)
+ (elem (table $$t0) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t0) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (func (result i32) (i32.const 0))
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4))
+ (func (result i32) (i32.const 5))
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9))
+ (func (export "test")
+ (table.copy $$t1 $$t0 (i32.const 15) (i32.const 25) (i32.const 6))
+ ))`);
+
+// ./test/core/table_copy.wast:2019
+assert_trap(() => invoke($32, `test`, []), `out of bounds table access`);
+
+// ./test/core/table_copy.wast:2021
+let $33 = instantiate(`(module
+ (table $$t0 30 30 funcref)
+ (table $$t1 30 30 funcref)
+ (elem (table $$t0) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t0) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (func (result i32) (i32.const 0))
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4))
+ (func (result i32) (i32.const 5))
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9))
+ (func (export "test")
+ (table.copy $$t1 $$t0 (i32.const 15) (i32.const 0xFFFFFFFE) (i32.const 2))
+ ))`);
+
+// ./test/core/table_copy.wast:2044
+assert_trap(() => invoke($33, `test`, []), `out of bounds table access`);
+
+// ./test/core/table_copy.wast:2046
+let $34 = instantiate(`(module
+ (table $$t0 30 30 funcref)
+ (table $$t1 30 30 funcref)
+ (elem (table $$t0) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t0) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (func (result i32) (i32.const 0))
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4))
+ (func (result i32) (i32.const 5))
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9))
+ (func (export "test")
+ (table.copy $$t1 $$t0 (i32.const 15) (i32.const 25) (i32.const 0))
+ ))`);
+
+// ./test/core/table_copy.wast:2069
+invoke($34, `test`, []);
+
+// ./test/core/table_copy.wast:2071
+let $35 = instantiate(`(module
+ (table $$t0 30 30 funcref)
+ (table $$t1 30 30 funcref)
+ (elem (table $$t0) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t0) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (func (result i32) (i32.const 0))
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4))
+ (func (result i32) (i32.const 5))
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9))
+ (func (export "test")
+ (table.copy $$t1 $$t0 (i32.const 30) (i32.const 15) (i32.const 0))
+ ))`);
+
+// ./test/core/table_copy.wast:2094
+invoke($35, `test`, []);
+
+// ./test/core/table_copy.wast:2096
+let $36 = instantiate(`(module
+ (table $$t0 30 30 funcref)
+ (table $$t1 30 30 funcref)
+ (elem (table $$t0) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t0) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (func (result i32) (i32.const 0))
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4))
+ (func (result i32) (i32.const 5))
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9))
+ (func (export "test")
+ (table.copy $$t1 $$t0 (i32.const 31) (i32.const 15) (i32.const 0))
+ ))`);
+
+// ./test/core/table_copy.wast:2119
+assert_trap(() => invoke($36, `test`, []), `out of bounds table access`);
+
+// ./test/core/table_copy.wast:2121
+let $37 = instantiate(`(module
+ (table $$t0 30 30 funcref)
+ (table $$t1 30 30 funcref)
+ (elem (table $$t0) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t0) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (func (result i32) (i32.const 0))
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4))
+ (func (result i32) (i32.const 5))
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9))
+ (func (export "test")
+ (table.copy $$t1 $$t0 (i32.const 15) (i32.const 30) (i32.const 0))
+ ))`);
+
+// ./test/core/table_copy.wast:2144
+invoke($37, `test`, []);
+
+// ./test/core/table_copy.wast:2146
+let $38 = instantiate(`(module
+ (table $$t0 30 30 funcref)
+ (table $$t1 30 30 funcref)
+ (elem (table $$t0) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t0) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (func (result i32) (i32.const 0))
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4))
+ (func (result i32) (i32.const 5))
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9))
+ (func (export "test")
+ (table.copy $$t1 $$t0 (i32.const 15) (i32.const 31) (i32.const 0))
+ ))`);
+
+// ./test/core/table_copy.wast:2169
+assert_trap(() => invoke($38, `test`, []), `out of bounds table access`);
+
+// ./test/core/table_copy.wast:2171
+let $39 = instantiate(`(module
+ (table $$t0 30 30 funcref)
+ (table $$t1 30 30 funcref)
+ (elem (table $$t0) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t0) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (func (result i32) (i32.const 0))
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4))
+ (func (result i32) (i32.const 5))
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9))
+ (func (export "test")
+ (table.copy $$t1 $$t0 (i32.const 30) (i32.const 30) (i32.const 0))
+ ))`);
+
+// ./test/core/table_copy.wast:2194
+invoke($39, `test`, []);
+
+// ./test/core/table_copy.wast:2196
+let $40 = instantiate(`(module
+ (table $$t0 30 30 funcref)
+ (table $$t1 30 30 funcref)
+ (elem (table $$t0) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t0) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (func (result i32) (i32.const 0))
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4))
+ (func (result i32) (i32.const 5))
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9))
+ (func (export "test")
+ (table.copy $$t1 $$t0 (i32.const 31) (i32.const 31) (i32.const 0))
+ ))`);
+
+// ./test/core/table_copy.wast:2219
+assert_trap(() => invoke($40, `test`, []), `out of bounds table access`);
+
+// ./test/core/table_copy.wast:2221
+let $41 = instantiate(`(module
+ (type (func (result i32)))
+ (table 32 64 funcref)
+ (elem (i32.const 0)
+ $$f0 $$f1 $$f2 $$f3 $$f4 $$f5 $$f6 $$f7)
+ (func $$f0 (export "f0") (result i32) (i32.const 0))
+ (func $$f1 (export "f1") (result i32) (i32.const 1))
+ (func $$f2 (export "f2") (result i32) (i32.const 2))
+ (func $$f3 (export "f3") (result i32) (i32.const 3))
+ (func $$f4 (export "f4") (result i32) (i32.const 4))
+ (func $$f5 (export "f5") (result i32) (i32.const 5))
+ (func $$f6 (export "f6") (result i32) (i32.const 6))
+ (func $$f7 (export "f7") (result i32) (i32.const 7))
+ (func $$f8 (export "f8") (result i32) (i32.const 8))
+ (func $$f9 (export "f9") (result i32) (i32.const 9))
+ (func $$f10 (export "f10") (result i32) (i32.const 10))
+ (func $$f11 (export "f11") (result i32) (i32.const 11))
+ (func $$f12 (export "f12") (result i32) (i32.const 12))
+ (func $$f13 (export "f13") (result i32) (i32.const 13))
+ (func $$f14 (export "f14") (result i32) (i32.const 14))
+ (func $$f15 (export "f15") (result i32) (i32.const 15))
+ (func (export "test") (param $$n i32) (result i32)
+ (call_indirect (type 0) (local.get $$n)))
+ (func (export "run") (param $$targetOffs i32) (param $$srcOffs i32) (param $$len i32)
+ (table.copy (local.get $$targetOffs) (local.get $$srcOffs) (local.get $$len))))`);
+
+// ./test/core/table_copy.wast:2247
+assert_trap(() => invoke($41, `run`, [24, 0, 16]), `out of bounds table access`);
+
+// ./test/core/table_copy.wast:2249
+assert_return(() => invoke($41, `test`, [0]), [value("i32", 0)]);
+
+// ./test/core/table_copy.wast:2250
+assert_return(() => invoke($41, `test`, [1]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:2251
+assert_return(() => invoke($41, `test`, [2]), [value("i32", 2)]);
+
+// ./test/core/table_copy.wast:2252
+assert_return(() => invoke($41, `test`, [3]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:2253
+assert_return(() => invoke($41, `test`, [4]), [value("i32", 4)]);
+
+// ./test/core/table_copy.wast:2254
+assert_return(() => invoke($41, `test`, [5]), [value("i32", 5)]);
+
+// ./test/core/table_copy.wast:2255
+assert_return(() => invoke($41, `test`, [6]), [value("i32", 6)]);
+
+// ./test/core/table_copy.wast:2256
+assert_return(() => invoke($41, `test`, [7]), [value("i32", 7)]);
+
+// ./test/core/table_copy.wast:2257
+assert_trap(() => invoke($41, `test`, [8]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2258
+assert_trap(() => invoke($41, `test`, [9]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2259
+assert_trap(() => invoke($41, `test`, [10]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2260
+assert_trap(() => invoke($41, `test`, [11]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2261
+assert_trap(() => invoke($41, `test`, [12]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2262
+assert_trap(() => invoke($41, `test`, [13]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2263
+assert_trap(() => invoke($41, `test`, [14]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2264
+assert_trap(() => invoke($41, `test`, [15]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2265
+assert_trap(() => invoke($41, `test`, [16]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2266
+assert_trap(() => invoke($41, `test`, [17]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2267
+assert_trap(() => invoke($41, `test`, [18]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2268
+assert_trap(() => invoke($41, `test`, [19]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2269
+assert_trap(() => invoke($41, `test`, [20]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2270
+assert_trap(() => invoke($41, `test`, [21]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2271
+assert_trap(() => invoke($41, `test`, [22]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2272
+assert_trap(() => invoke($41, `test`, [23]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2273
+assert_trap(() => invoke($41, `test`, [24]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2274
+assert_trap(() => invoke($41, `test`, [25]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2275
+assert_trap(() => invoke($41, `test`, [26]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2276
+assert_trap(() => invoke($41, `test`, [27]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2277
+assert_trap(() => invoke($41, `test`, [28]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2278
+assert_trap(() => invoke($41, `test`, [29]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2279
+assert_trap(() => invoke($41, `test`, [30]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2280
+assert_trap(() => invoke($41, `test`, [31]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2282
+let $42 = instantiate(`(module
+ (type (func (result i32)))
+ (table 32 64 funcref)
+ (elem (i32.const 0)
+ $$f0 $$f1 $$f2 $$f3 $$f4 $$f5 $$f6 $$f7 $$f8)
+ (func $$f0 (export "f0") (result i32) (i32.const 0))
+ (func $$f1 (export "f1") (result i32) (i32.const 1))
+ (func $$f2 (export "f2") (result i32) (i32.const 2))
+ (func $$f3 (export "f3") (result i32) (i32.const 3))
+ (func $$f4 (export "f4") (result i32) (i32.const 4))
+ (func $$f5 (export "f5") (result i32) (i32.const 5))
+ (func $$f6 (export "f6") (result i32) (i32.const 6))
+ (func $$f7 (export "f7") (result i32) (i32.const 7))
+ (func $$f8 (export "f8") (result i32) (i32.const 8))
+ (func $$f9 (export "f9") (result i32) (i32.const 9))
+ (func $$f10 (export "f10") (result i32) (i32.const 10))
+ (func $$f11 (export "f11") (result i32) (i32.const 11))
+ (func $$f12 (export "f12") (result i32) (i32.const 12))
+ (func $$f13 (export "f13") (result i32) (i32.const 13))
+ (func $$f14 (export "f14") (result i32) (i32.const 14))
+ (func $$f15 (export "f15") (result i32) (i32.const 15))
+ (func (export "test") (param $$n i32) (result i32)
+ (call_indirect (type 0) (local.get $$n)))
+ (func (export "run") (param $$targetOffs i32) (param $$srcOffs i32) (param $$len i32)
+ (table.copy (local.get $$targetOffs) (local.get $$srcOffs) (local.get $$len))))`);
+
+// ./test/core/table_copy.wast:2308
+assert_trap(() => invoke($42, `run`, [23, 0, 15]), `out of bounds table access`);
+
+// ./test/core/table_copy.wast:2310
+assert_return(() => invoke($42, `test`, [0]), [value("i32", 0)]);
+
+// ./test/core/table_copy.wast:2311
+assert_return(() => invoke($42, `test`, [1]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:2312
+assert_return(() => invoke($42, `test`, [2]), [value("i32", 2)]);
+
+// ./test/core/table_copy.wast:2313
+assert_return(() => invoke($42, `test`, [3]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:2314
+assert_return(() => invoke($42, `test`, [4]), [value("i32", 4)]);
+
+// ./test/core/table_copy.wast:2315
+assert_return(() => invoke($42, `test`, [5]), [value("i32", 5)]);
+
+// ./test/core/table_copy.wast:2316
+assert_return(() => invoke($42, `test`, [6]), [value("i32", 6)]);
+
+// ./test/core/table_copy.wast:2317
+assert_return(() => invoke($42, `test`, [7]), [value("i32", 7)]);
+
+// ./test/core/table_copy.wast:2318
+assert_return(() => invoke($42, `test`, [8]), [value("i32", 8)]);
+
+// ./test/core/table_copy.wast:2319
+assert_trap(() => invoke($42, `test`, [9]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2320
+assert_trap(() => invoke($42, `test`, [10]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2321
+assert_trap(() => invoke($42, `test`, [11]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2322
+assert_trap(() => invoke($42, `test`, [12]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2323
+assert_trap(() => invoke($42, `test`, [13]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2324
+assert_trap(() => invoke($42, `test`, [14]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2325
+assert_trap(() => invoke($42, `test`, [15]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2326
+assert_trap(() => invoke($42, `test`, [16]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2327
+assert_trap(() => invoke($42, `test`, [17]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2328
+assert_trap(() => invoke($42, `test`, [18]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2329
+assert_trap(() => invoke($42, `test`, [19]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2330
+assert_trap(() => invoke($42, `test`, [20]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2331
+assert_trap(() => invoke($42, `test`, [21]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2332
+assert_trap(() => invoke($42, `test`, [22]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2333
+assert_trap(() => invoke($42, `test`, [23]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2334
+assert_trap(() => invoke($42, `test`, [24]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2335
+assert_trap(() => invoke($42, `test`, [25]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2336
+assert_trap(() => invoke($42, `test`, [26]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2337
+assert_trap(() => invoke($42, `test`, [27]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2338
+assert_trap(() => invoke($42, `test`, [28]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2339
+assert_trap(() => invoke($42, `test`, [29]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2340
+assert_trap(() => invoke($42, `test`, [30]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2341
+assert_trap(() => invoke($42, `test`, [31]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2343
+let $43 = instantiate(`(module
+ (type (func (result i32)))
+ (table 32 64 funcref)
+ (elem (i32.const 24)
+ $$f0 $$f1 $$f2 $$f3 $$f4 $$f5 $$f6 $$f7)
+ (func $$f0 (export "f0") (result i32) (i32.const 0))
+ (func $$f1 (export "f1") (result i32) (i32.const 1))
+ (func $$f2 (export "f2") (result i32) (i32.const 2))
+ (func $$f3 (export "f3") (result i32) (i32.const 3))
+ (func $$f4 (export "f4") (result i32) (i32.const 4))
+ (func $$f5 (export "f5") (result i32) (i32.const 5))
+ (func $$f6 (export "f6") (result i32) (i32.const 6))
+ (func $$f7 (export "f7") (result i32) (i32.const 7))
+ (func $$f8 (export "f8") (result i32) (i32.const 8))
+ (func $$f9 (export "f9") (result i32) (i32.const 9))
+ (func $$f10 (export "f10") (result i32) (i32.const 10))
+ (func $$f11 (export "f11") (result i32) (i32.const 11))
+ (func $$f12 (export "f12") (result i32) (i32.const 12))
+ (func $$f13 (export "f13") (result i32) (i32.const 13))
+ (func $$f14 (export "f14") (result i32) (i32.const 14))
+ (func $$f15 (export "f15") (result i32) (i32.const 15))
+ (func (export "test") (param $$n i32) (result i32)
+ (call_indirect (type 0) (local.get $$n)))
+ (func (export "run") (param $$targetOffs i32) (param $$srcOffs i32) (param $$len i32)
+ (table.copy (local.get $$targetOffs) (local.get $$srcOffs) (local.get $$len))))`);
+
+// ./test/core/table_copy.wast:2369
+assert_trap(() => invoke($43, `run`, [0, 24, 16]), `out of bounds table access`);
+
+// ./test/core/table_copy.wast:2371
+assert_trap(() => invoke($43, `test`, [0]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2372
+assert_trap(() => invoke($43, `test`, [1]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2373
+assert_trap(() => invoke($43, `test`, [2]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2374
+assert_trap(() => invoke($43, `test`, [3]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2375
+assert_trap(() => invoke($43, `test`, [4]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2376
+assert_trap(() => invoke($43, `test`, [5]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2377
+assert_trap(() => invoke($43, `test`, [6]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2378
+assert_trap(() => invoke($43, `test`, [7]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2379
+assert_trap(() => invoke($43, `test`, [8]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2380
+assert_trap(() => invoke($43, `test`, [9]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2381
+assert_trap(() => invoke($43, `test`, [10]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2382
+assert_trap(() => invoke($43, `test`, [11]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2383
+assert_trap(() => invoke($43, `test`, [12]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2384
+assert_trap(() => invoke($43, `test`, [13]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2385
+assert_trap(() => invoke($43, `test`, [14]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2386
+assert_trap(() => invoke($43, `test`, [15]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2387
+assert_trap(() => invoke($43, `test`, [16]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2388
+assert_trap(() => invoke($43, `test`, [17]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2389
+assert_trap(() => invoke($43, `test`, [18]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2390
+assert_trap(() => invoke($43, `test`, [19]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2391
+assert_trap(() => invoke($43, `test`, [20]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2392
+assert_trap(() => invoke($43, `test`, [21]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2393
+assert_trap(() => invoke($43, `test`, [22]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2394
+assert_trap(() => invoke($43, `test`, [23]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2395
+assert_return(() => invoke($43, `test`, [24]), [value("i32", 0)]);
+
+// ./test/core/table_copy.wast:2396
+assert_return(() => invoke($43, `test`, [25]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:2397
+assert_return(() => invoke($43, `test`, [26]), [value("i32", 2)]);
+
+// ./test/core/table_copy.wast:2398
+assert_return(() => invoke($43, `test`, [27]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:2399
+assert_return(() => invoke($43, `test`, [28]), [value("i32", 4)]);
+
+// ./test/core/table_copy.wast:2400
+assert_return(() => invoke($43, `test`, [29]), [value("i32", 5)]);
+
+// ./test/core/table_copy.wast:2401
+assert_return(() => invoke($43, `test`, [30]), [value("i32", 6)]);
+
+// ./test/core/table_copy.wast:2402
+assert_return(() => invoke($43, `test`, [31]), [value("i32", 7)]);
+
+// ./test/core/table_copy.wast:2404
+let $44 = instantiate(`(module
+ (type (func (result i32)))
+ (table 32 64 funcref)
+ (elem (i32.const 23)
+ $$f0 $$f1 $$f2 $$f3 $$f4 $$f5 $$f6 $$f7 $$f8)
+ (func $$f0 (export "f0") (result i32) (i32.const 0))
+ (func $$f1 (export "f1") (result i32) (i32.const 1))
+ (func $$f2 (export "f2") (result i32) (i32.const 2))
+ (func $$f3 (export "f3") (result i32) (i32.const 3))
+ (func $$f4 (export "f4") (result i32) (i32.const 4))
+ (func $$f5 (export "f5") (result i32) (i32.const 5))
+ (func $$f6 (export "f6") (result i32) (i32.const 6))
+ (func $$f7 (export "f7") (result i32) (i32.const 7))
+ (func $$f8 (export "f8") (result i32) (i32.const 8))
+ (func $$f9 (export "f9") (result i32) (i32.const 9))
+ (func $$f10 (export "f10") (result i32) (i32.const 10))
+ (func $$f11 (export "f11") (result i32) (i32.const 11))
+ (func $$f12 (export "f12") (result i32) (i32.const 12))
+ (func $$f13 (export "f13") (result i32) (i32.const 13))
+ (func $$f14 (export "f14") (result i32) (i32.const 14))
+ (func $$f15 (export "f15") (result i32) (i32.const 15))
+ (func (export "test") (param $$n i32) (result i32)
+ (call_indirect (type 0) (local.get $$n)))
+ (func (export "run") (param $$targetOffs i32) (param $$srcOffs i32) (param $$len i32)
+ (table.copy (local.get $$targetOffs) (local.get $$srcOffs) (local.get $$len))))`);
+
+// ./test/core/table_copy.wast:2430
+assert_trap(() => invoke($44, `run`, [0, 23, 15]), `out of bounds table access`);
+
+// ./test/core/table_copy.wast:2432
+assert_trap(() => invoke($44, `test`, [0]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2433
+assert_trap(() => invoke($44, `test`, [1]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2434
+assert_trap(() => invoke($44, `test`, [2]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2435
+assert_trap(() => invoke($44, `test`, [3]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2436
+assert_trap(() => invoke($44, `test`, [4]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2437
+assert_trap(() => invoke($44, `test`, [5]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2438
+assert_trap(() => invoke($44, `test`, [6]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2439
+assert_trap(() => invoke($44, `test`, [7]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2440
+assert_trap(() => invoke($44, `test`, [8]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2441
+assert_trap(() => invoke($44, `test`, [9]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2442
+assert_trap(() => invoke($44, `test`, [10]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2443
+assert_trap(() => invoke($44, `test`, [11]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2444
+assert_trap(() => invoke($44, `test`, [12]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2445
+assert_trap(() => invoke($44, `test`, [13]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2446
+assert_trap(() => invoke($44, `test`, [14]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2447
+assert_trap(() => invoke($44, `test`, [15]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2448
+assert_trap(() => invoke($44, `test`, [16]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2449
+assert_trap(() => invoke($44, `test`, [17]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2450
+assert_trap(() => invoke($44, `test`, [18]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2451
+assert_trap(() => invoke($44, `test`, [19]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2452
+assert_trap(() => invoke($44, `test`, [20]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2453
+assert_trap(() => invoke($44, `test`, [21]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2454
+assert_trap(() => invoke($44, `test`, [22]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2455
+assert_return(() => invoke($44, `test`, [23]), [value("i32", 0)]);
+
+// ./test/core/table_copy.wast:2456
+assert_return(() => invoke($44, `test`, [24]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:2457
+assert_return(() => invoke($44, `test`, [25]), [value("i32", 2)]);
+
+// ./test/core/table_copy.wast:2458
+assert_return(() => invoke($44, `test`, [26]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:2459
+assert_return(() => invoke($44, `test`, [27]), [value("i32", 4)]);
+
+// ./test/core/table_copy.wast:2460
+assert_return(() => invoke($44, `test`, [28]), [value("i32", 5)]);
+
+// ./test/core/table_copy.wast:2461
+assert_return(() => invoke($44, `test`, [29]), [value("i32", 6)]);
+
+// ./test/core/table_copy.wast:2462
+assert_return(() => invoke($44, `test`, [30]), [value("i32", 7)]);
+
+// ./test/core/table_copy.wast:2463
+assert_return(() => invoke($44, `test`, [31]), [value("i32", 8)]);
+
+// ./test/core/table_copy.wast:2465
+let $45 = instantiate(`(module
+ (type (func (result i32)))
+ (table 32 64 funcref)
+ (elem (i32.const 11)
+ $$f0 $$f1 $$f2 $$f3 $$f4 $$f5 $$f6 $$f7)
+ (func $$f0 (export "f0") (result i32) (i32.const 0))
+ (func $$f1 (export "f1") (result i32) (i32.const 1))
+ (func $$f2 (export "f2") (result i32) (i32.const 2))
+ (func $$f3 (export "f3") (result i32) (i32.const 3))
+ (func $$f4 (export "f4") (result i32) (i32.const 4))
+ (func $$f5 (export "f5") (result i32) (i32.const 5))
+ (func $$f6 (export "f6") (result i32) (i32.const 6))
+ (func $$f7 (export "f7") (result i32) (i32.const 7))
+ (func $$f8 (export "f8") (result i32) (i32.const 8))
+ (func $$f9 (export "f9") (result i32) (i32.const 9))
+ (func $$f10 (export "f10") (result i32) (i32.const 10))
+ (func $$f11 (export "f11") (result i32) (i32.const 11))
+ (func $$f12 (export "f12") (result i32) (i32.const 12))
+ (func $$f13 (export "f13") (result i32) (i32.const 13))
+ (func $$f14 (export "f14") (result i32) (i32.const 14))
+ (func $$f15 (export "f15") (result i32) (i32.const 15))
+ (func (export "test") (param $$n i32) (result i32)
+ (call_indirect (type 0) (local.get $$n)))
+ (func (export "run") (param $$targetOffs i32) (param $$srcOffs i32) (param $$len i32)
+ (table.copy (local.get $$targetOffs) (local.get $$srcOffs) (local.get $$len))))`);
+
+// ./test/core/table_copy.wast:2491
+assert_trap(() => invoke($45, `run`, [24, 11, 16]), `out of bounds table access`);
+
+// ./test/core/table_copy.wast:2493
+assert_trap(() => invoke($45, `test`, [0]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2494
+assert_trap(() => invoke($45, `test`, [1]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2495
+assert_trap(() => invoke($45, `test`, [2]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2496
+assert_trap(() => invoke($45, `test`, [3]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2497
+assert_trap(() => invoke($45, `test`, [4]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2498
+assert_trap(() => invoke($45, `test`, [5]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2499
+assert_trap(() => invoke($45, `test`, [6]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2500
+assert_trap(() => invoke($45, `test`, [7]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2501
+assert_trap(() => invoke($45, `test`, [8]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2502
+assert_trap(() => invoke($45, `test`, [9]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2503
+assert_trap(() => invoke($45, `test`, [10]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2504
+assert_return(() => invoke($45, `test`, [11]), [value("i32", 0)]);
+
+// ./test/core/table_copy.wast:2505
+assert_return(() => invoke($45, `test`, [12]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:2506
+assert_return(() => invoke($45, `test`, [13]), [value("i32", 2)]);
+
+// ./test/core/table_copy.wast:2507
+assert_return(() => invoke($45, `test`, [14]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:2508
+assert_return(() => invoke($45, `test`, [15]), [value("i32", 4)]);
+
+// ./test/core/table_copy.wast:2509
+assert_return(() => invoke($45, `test`, [16]), [value("i32", 5)]);
+
+// ./test/core/table_copy.wast:2510
+assert_return(() => invoke($45, `test`, [17]), [value("i32", 6)]);
+
+// ./test/core/table_copy.wast:2511
+assert_return(() => invoke($45, `test`, [18]), [value("i32", 7)]);
+
+// ./test/core/table_copy.wast:2512
+assert_trap(() => invoke($45, `test`, [19]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2513
+assert_trap(() => invoke($45, `test`, [20]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2514
+assert_trap(() => invoke($45, `test`, [21]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2515
+assert_trap(() => invoke($45, `test`, [22]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2516
+assert_trap(() => invoke($45, `test`, [23]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2517
+assert_trap(() => invoke($45, `test`, [24]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2518
+assert_trap(() => invoke($45, `test`, [25]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2519
+assert_trap(() => invoke($45, `test`, [26]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2520
+assert_trap(() => invoke($45, `test`, [27]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2521
+assert_trap(() => invoke($45, `test`, [28]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2522
+assert_trap(() => invoke($45, `test`, [29]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2523
+assert_trap(() => invoke($45, `test`, [30]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2524
+assert_trap(() => invoke($45, `test`, [31]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2526
+let $46 = instantiate(`(module
+ (type (func (result i32)))
+ (table 32 64 funcref)
+ (elem (i32.const 24)
+ $$f0 $$f1 $$f2 $$f3 $$f4 $$f5 $$f6 $$f7)
+ (func $$f0 (export "f0") (result i32) (i32.const 0))
+ (func $$f1 (export "f1") (result i32) (i32.const 1))
+ (func $$f2 (export "f2") (result i32) (i32.const 2))
+ (func $$f3 (export "f3") (result i32) (i32.const 3))
+ (func $$f4 (export "f4") (result i32) (i32.const 4))
+ (func $$f5 (export "f5") (result i32) (i32.const 5))
+ (func $$f6 (export "f6") (result i32) (i32.const 6))
+ (func $$f7 (export "f7") (result i32) (i32.const 7))
+ (func $$f8 (export "f8") (result i32) (i32.const 8))
+ (func $$f9 (export "f9") (result i32) (i32.const 9))
+ (func $$f10 (export "f10") (result i32) (i32.const 10))
+ (func $$f11 (export "f11") (result i32) (i32.const 11))
+ (func $$f12 (export "f12") (result i32) (i32.const 12))
+ (func $$f13 (export "f13") (result i32) (i32.const 13))
+ (func $$f14 (export "f14") (result i32) (i32.const 14))
+ (func $$f15 (export "f15") (result i32) (i32.const 15))
+ (func (export "test") (param $$n i32) (result i32)
+ (call_indirect (type 0) (local.get $$n)))
+ (func (export "run") (param $$targetOffs i32) (param $$srcOffs i32) (param $$len i32)
+ (table.copy (local.get $$targetOffs) (local.get $$srcOffs) (local.get $$len))))`);
+
+// ./test/core/table_copy.wast:2552
+assert_trap(() => invoke($46, `run`, [11, 24, 16]), `out of bounds table access`);
+
+// ./test/core/table_copy.wast:2554
+assert_trap(() => invoke($46, `test`, [0]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2555
+assert_trap(() => invoke($46, `test`, [1]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2556
+assert_trap(() => invoke($46, `test`, [2]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2557
+assert_trap(() => invoke($46, `test`, [3]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2558
+assert_trap(() => invoke($46, `test`, [4]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2559
+assert_trap(() => invoke($46, `test`, [5]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2560
+assert_trap(() => invoke($46, `test`, [6]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2561
+assert_trap(() => invoke($46, `test`, [7]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2562
+assert_trap(() => invoke($46, `test`, [8]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2563
+assert_trap(() => invoke($46, `test`, [9]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2564
+assert_trap(() => invoke($46, `test`, [10]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2565
+assert_trap(() => invoke($46, `test`, [11]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2566
+assert_trap(() => invoke($46, `test`, [12]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2567
+assert_trap(() => invoke($46, `test`, [13]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2568
+assert_trap(() => invoke($46, `test`, [14]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2569
+assert_trap(() => invoke($46, `test`, [15]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2570
+assert_trap(() => invoke($46, `test`, [16]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2571
+assert_trap(() => invoke($46, `test`, [17]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2572
+assert_trap(() => invoke($46, `test`, [18]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2573
+assert_trap(() => invoke($46, `test`, [19]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2574
+assert_trap(() => invoke($46, `test`, [20]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2575
+assert_trap(() => invoke($46, `test`, [21]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2576
+assert_trap(() => invoke($46, `test`, [22]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2577
+assert_trap(() => invoke($46, `test`, [23]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2578
+assert_return(() => invoke($46, `test`, [24]), [value("i32", 0)]);
+
+// ./test/core/table_copy.wast:2579
+assert_return(() => invoke($46, `test`, [25]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:2580
+assert_return(() => invoke($46, `test`, [26]), [value("i32", 2)]);
+
+// ./test/core/table_copy.wast:2581
+assert_return(() => invoke($46, `test`, [27]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:2582
+assert_return(() => invoke($46, `test`, [28]), [value("i32", 4)]);
+
+// ./test/core/table_copy.wast:2583
+assert_return(() => invoke($46, `test`, [29]), [value("i32", 5)]);
+
+// ./test/core/table_copy.wast:2584
+assert_return(() => invoke($46, `test`, [30]), [value("i32", 6)]);
+
+// ./test/core/table_copy.wast:2585
+assert_return(() => invoke($46, `test`, [31]), [value("i32", 7)]);
+
+// ./test/core/table_copy.wast:2587
+let $47 = instantiate(`(module
+ (type (func (result i32)))
+ (table 32 64 funcref)
+ (elem (i32.const 21)
+ $$f0 $$f1 $$f2 $$f3 $$f4 $$f5 $$f6 $$f7)
+ (func $$f0 (export "f0") (result i32) (i32.const 0))
+ (func $$f1 (export "f1") (result i32) (i32.const 1))
+ (func $$f2 (export "f2") (result i32) (i32.const 2))
+ (func $$f3 (export "f3") (result i32) (i32.const 3))
+ (func $$f4 (export "f4") (result i32) (i32.const 4))
+ (func $$f5 (export "f5") (result i32) (i32.const 5))
+ (func $$f6 (export "f6") (result i32) (i32.const 6))
+ (func $$f7 (export "f7") (result i32) (i32.const 7))
+ (func $$f8 (export "f8") (result i32) (i32.const 8))
+ (func $$f9 (export "f9") (result i32) (i32.const 9))
+ (func $$f10 (export "f10") (result i32) (i32.const 10))
+ (func $$f11 (export "f11") (result i32) (i32.const 11))
+ (func $$f12 (export "f12") (result i32) (i32.const 12))
+ (func $$f13 (export "f13") (result i32) (i32.const 13))
+ (func $$f14 (export "f14") (result i32) (i32.const 14))
+ (func $$f15 (export "f15") (result i32) (i32.const 15))
+ (func (export "test") (param $$n i32) (result i32)
+ (call_indirect (type 0) (local.get $$n)))
+ (func (export "run") (param $$targetOffs i32) (param $$srcOffs i32) (param $$len i32)
+ (table.copy (local.get $$targetOffs) (local.get $$srcOffs) (local.get $$len))))`);
+
+// ./test/core/table_copy.wast:2613
+assert_trap(() => invoke($47, `run`, [24, 21, 16]), `out of bounds table access`);
+
+// ./test/core/table_copy.wast:2615
+assert_trap(() => invoke($47, `test`, [0]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2616
+assert_trap(() => invoke($47, `test`, [1]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2617
+assert_trap(() => invoke($47, `test`, [2]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2618
+assert_trap(() => invoke($47, `test`, [3]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2619
+assert_trap(() => invoke($47, `test`, [4]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2620
+assert_trap(() => invoke($47, `test`, [5]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2621
+assert_trap(() => invoke($47, `test`, [6]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2622
+assert_trap(() => invoke($47, `test`, [7]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2623
+assert_trap(() => invoke($47, `test`, [8]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2624
+assert_trap(() => invoke($47, `test`, [9]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2625
+assert_trap(() => invoke($47, `test`, [10]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2626
+assert_trap(() => invoke($47, `test`, [11]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2627
+assert_trap(() => invoke($47, `test`, [12]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2628
+assert_trap(() => invoke($47, `test`, [13]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2629
+assert_trap(() => invoke($47, `test`, [14]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2630
+assert_trap(() => invoke($47, `test`, [15]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2631
+assert_trap(() => invoke($47, `test`, [16]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2632
+assert_trap(() => invoke($47, `test`, [17]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2633
+assert_trap(() => invoke($47, `test`, [18]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2634
+assert_trap(() => invoke($47, `test`, [19]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2635
+assert_trap(() => invoke($47, `test`, [20]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2636
+assert_return(() => invoke($47, `test`, [21]), [value("i32", 0)]);
+
+// ./test/core/table_copy.wast:2637
+assert_return(() => invoke($47, `test`, [22]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:2638
+assert_return(() => invoke($47, `test`, [23]), [value("i32", 2)]);
+
+// ./test/core/table_copy.wast:2639
+assert_return(() => invoke($47, `test`, [24]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:2640
+assert_return(() => invoke($47, `test`, [25]), [value("i32", 4)]);
+
+// ./test/core/table_copy.wast:2641
+assert_return(() => invoke($47, `test`, [26]), [value("i32", 5)]);
+
+// ./test/core/table_copy.wast:2642
+assert_return(() => invoke($47, `test`, [27]), [value("i32", 6)]);
+
+// ./test/core/table_copy.wast:2643
+assert_return(() => invoke($47, `test`, [28]), [value("i32", 7)]);
+
+// ./test/core/table_copy.wast:2644
+assert_trap(() => invoke($47, `test`, [29]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2645
+assert_trap(() => invoke($47, `test`, [30]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2646
+assert_trap(() => invoke($47, `test`, [31]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2648
+let $48 = instantiate(`(module
+ (type (func (result i32)))
+ (table 32 64 funcref)
+ (elem (i32.const 24)
+ $$f0 $$f1 $$f2 $$f3 $$f4 $$f5 $$f6 $$f7)
+ (func $$f0 (export "f0") (result i32) (i32.const 0))
+ (func $$f1 (export "f1") (result i32) (i32.const 1))
+ (func $$f2 (export "f2") (result i32) (i32.const 2))
+ (func $$f3 (export "f3") (result i32) (i32.const 3))
+ (func $$f4 (export "f4") (result i32) (i32.const 4))
+ (func $$f5 (export "f5") (result i32) (i32.const 5))
+ (func $$f6 (export "f6") (result i32) (i32.const 6))
+ (func $$f7 (export "f7") (result i32) (i32.const 7))
+ (func $$f8 (export "f8") (result i32) (i32.const 8))
+ (func $$f9 (export "f9") (result i32) (i32.const 9))
+ (func $$f10 (export "f10") (result i32) (i32.const 10))
+ (func $$f11 (export "f11") (result i32) (i32.const 11))
+ (func $$f12 (export "f12") (result i32) (i32.const 12))
+ (func $$f13 (export "f13") (result i32) (i32.const 13))
+ (func $$f14 (export "f14") (result i32) (i32.const 14))
+ (func $$f15 (export "f15") (result i32) (i32.const 15))
+ (func (export "test") (param $$n i32) (result i32)
+ (call_indirect (type 0) (local.get $$n)))
+ (func (export "run") (param $$targetOffs i32) (param $$srcOffs i32) (param $$len i32)
+ (table.copy (local.get $$targetOffs) (local.get $$srcOffs) (local.get $$len))))`);
+
+// ./test/core/table_copy.wast:2674
+assert_trap(() => invoke($48, `run`, [21, 24, 16]), `out of bounds table access`);
+
+// ./test/core/table_copy.wast:2676
+assert_trap(() => invoke($48, `test`, [0]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2677
+assert_trap(() => invoke($48, `test`, [1]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2678
+assert_trap(() => invoke($48, `test`, [2]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2679
+assert_trap(() => invoke($48, `test`, [3]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2680
+assert_trap(() => invoke($48, `test`, [4]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2681
+assert_trap(() => invoke($48, `test`, [5]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2682
+assert_trap(() => invoke($48, `test`, [6]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2683
+assert_trap(() => invoke($48, `test`, [7]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2684
+assert_trap(() => invoke($48, `test`, [8]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2685
+assert_trap(() => invoke($48, `test`, [9]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2686
+assert_trap(() => invoke($48, `test`, [10]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2687
+assert_trap(() => invoke($48, `test`, [11]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2688
+assert_trap(() => invoke($48, `test`, [12]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2689
+assert_trap(() => invoke($48, `test`, [13]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2690
+assert_trap(() => invoke($48, `test`, [14]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2691
+assert_trap(() => invoke($48, `test`, [15]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2692
+assert_trap(() => invoke($48, `test`, [16]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2693
+assert_trap(() => invoke($48, `test`, [17]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2694
+assert_trap(() => invoke($48, `test`, [18]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2695
+assert_trap(() => invoke($48, `test`, [19]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2696
+assert_trap(() => invoke($48, `test`, [20]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2697
+assert_trap(() => invoke($48, `test`, [21]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2698
+assert_trap(() => invoke($48, `test`, [22]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2699
+assert_trap(() => invoke($48, `test`, [23]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2700
+assert_return(() => invoke($48, `test`, [24]), [value("i32", 0)]);
+
+// ./test/core/table_copy.wast:2701
+assert_return(() => invoke($48, `test`, [25]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:2702
+assert_return(() => invoke($48, `test`, [26]), [value("i32", 2)]);
+
+// ./test/core/table_copy.wast:2703
+assert_return(() => invoke($48, `test`, [27]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:2704
+assert_return(() => invoke($48, `test`, [28]), [value("i32", 4)]);
+
+// ./test/core/table_copy.wast:2705
+assert_return(() => invoke($48, `test`, [29]), [value("i32", 5)]);
+
+// ./test/core/table_copy.wast:2706
+assert_return(() => invoke($48, `test`, [30]), [value("i32", 6)]);
+
+// ./test/core/table_copy.wast:2707
+assert_return(() => invoke($48, `test`, [31]), [value("i32", 7)]);
+
+// ./test/core/table_copy.wast:2709
+let $49 = instantiate(`(module
+ (type (func (result i32)))
+ (table 32 64 funcref)
+ (elem (i32.const 21)
+ $$f0 $$f1 $$f2 $$f3 $$f4 $$f5 $$f6 $$f7 $$f8 $$f9 $$f10)
+ (func $$f0 (export "f0") (result i32) (i32.const 0))
+ (func $$f1 (export "f1") (result i32) (i32.const 1))
+ (func $$f2 (export "f2") (result i32) (i32.const 2))
+ (func $$f3 (export "f3") (result i32) (i32.const 3))
+ (func $$f4 (export "f4") (result i32) (i32.const 4))
+ (func $$f5 (export "f5") (result i32) (i32.const 5))
+ (func $$f6 (export "f6") (result i32) (i32.const 6))
+ (func $$f7 (export "f7") (result i32) (i32.const 7))
+ (func $$f8 (export "f8") (result i32) (i32.const 8))
+ (func $$f9 (export "f9") (result i32) (i32.const 9))
+ (func $$f10 (export "f10") (result i32) (i32.const 10))
+ (func $$f11 (export "f11") (result i32) (i32.const 11))
+ (func $$f12 (export "f12") (result i32) (i32.const 12))
+ (func $$f13 (export "f13") (result i32) (i32.const 13))
+ (func $$f14 (export "f14") (result i32) (i32.const 14))
+ (func $$f15 (export "f15") (result i32) (i32.const 15))
+ (func (export "test") (param $$n i32) (result i32)
+ (call_indirect (type 0) (local.get $$n)))
+ (func (export "run") (param $$targetOffs i32) (param $$srcOffs i32) (param $$len i32)
+ (table.copy (local.get $$targetOffs) (local.get $$srcOffs) (local.get $$len))))`);
+
+// ./test/core/table_copy.wast:2735
+assert_trap(() => invoke($49, `run`, [21, 21, 16]), `out of bounds table access`);
+
+// ./test/core/table_copy.wast:2737
+assert_trap(() => invoke($49, `test`, [0]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2738
+assert_trap(() => invoke($49, `test`, [1]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2739
+assert_trap(() => invoke($49, `test`, [2]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2740
+assert_trap(() => invoke($49, `test`, [3]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2741
+assert_trap(() => invoke($49, `test`, [4]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2742
+assert_trap(() => invoke($49, `test`, [5]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2743
+assert_trap(() => invoke($49, `test`, [6]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2744
+assert_trap(() => invoke($49, `test`, [7]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2745
+assert_trap(() => invoke($49, `test`, [8]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2746
+assert_trap(() => invoke($49, `test`, [9]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2747
+assert_trap(() => invoke($49, `test`, [10]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2748
+assert_trap(() => invoke($49, `test`, [11]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2749
+assert_trap(() => invoke($49, `test`, [12]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2750
+assert_trap(() => invoke($49, `test`, [13]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2751
+assert_trap(() => invoke($49, `test`, [14]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2752
+assert_trap(() => invoke($49, `test`, [15]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2753
+assert_trap(() => invoke($49, `test`, [16]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2754
+assert_trap(() => invoke($49, `test`, [17]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2755
+assert_trap(() => invoke($49, `test`, [18]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2756
+assert_trap(() => invoke($49, `test`, [19]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2757
+assert_trap(() => invoke($49, `test`, [20]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2758
+assert_return(() => invoke($49, `test`, [21]), [value("i32", 0)]);
+
+// ./test/core/table_copy.wast:2759
+assert_return(() => invoke($49, `test`, [22]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:2760
+assert_return(() => invoke($49, `test`, [23]), [value("i32", 2)]);
+
+// ./test/core/table_copy.wast:2761
+assert_return(() => invoke($49, `test`, [24]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:2762
+assert_return(() => invoke($49, `test`, [25]), [value("i32", 4)]);
+
+// ./test/core/table_copy.wast:2763
+assert_return(() => invoke($49, `test`, [26]), [value("i32", 5)]);
+
+// ./test/core/table_copy.wast:2764
+assert_return(() => invoke($49, `test`, [27]), [value("i32", 6)]);
+
+// ./test/core/table_copy.wast:2765
+assert_return(() => invoke($49, `test`, [28]), [value("i32", 7)]);
+
+// ./test/core/table_copy.wast:2766
+assert_return(() => invoke($49, `test`, [29]), [value("i32", 8)]);
+
+// ./test/core/table_copy.wast:2767
+assert_return(() => invoke($49, `test`, [30]), [value("i32", 9)]);
+
+// ./test/core/table_copy.wast:2768
+assert_return(() => invoke($49, `test`, [31]), [value("i32", 10)]);
+
+// ./test/core/table_copy.wast:2770
+let $50 = instantiate(`(module
+ (type (func (result i32)))
+ (table 128 128 funcref)
+ (elem (i32.const 112)
+ $$f0 $$f1 $$f2 $$f3 $$f4 $$f5 $$f6 $$f7 $$f8 $$f9 $$f10 $$f11 $$f12 $$f13 $$f14 $$f15)
+ (func $$f0 (export "f0") (result i32) (i32.const 0))
+ (func $$f1 (export "f1") (result i32) (i32.const 1))
+ (func $$f2 (export "f2") (result i32) (i32.const 2))
+ (func $$f3 (export "f3") (result i32) (i32.const 3))
+ (func $$f4 (export "f4") (result i32) (i32.const 4))
+ (func $$f5 (export "f5") (result i32) (i32.const 5))
+ (func $$f6 (export "f6") (result i32) (i32.const 6))
+ (func $$f7 (export "f7") (result i32) (i32.const 7))
+ (func $$f8 (export "f8") (result i32) (i32.const 8))
+ (func $$f9 (export "f9") (result i32) (i32.const 9))
+ (func $$f10 (export "f10") (result i32) (i32.const 10))
+ (func $$f11 (export "f11") (result i32) (i32.const 11))
+ (func $$f12 (export "f12") (result i32) (i32.const 12))
+ (func $$f13 (export "f13") (result i32) (i32.const 13))
+ (func $$f14 (export "f14") (result i32) (i32.const 14))
+ (func $$f15 (export "f15") (result i32) (i32.const 15))
+ (func (export "test") (param $$n i32) (result i32)
+ (call_indirect (type 0) (local.get $$n)))
+ (func (export "run") (param $$targetOffs i32) (param $$srcOffs i32) (param $$len i32)
+ (table.copy (local.get $$targetOffs) (local.get $$srcOffs) (local.get $$len))))`);
+
+// ./test/core/table_copy.wast:2796
+assert_trap(() => invoke($50, `run`, [0, 112, -32]), `out of bounds table access`);
+
+// ./test/core/table_copy.wast:2798
+assert_trap(() => invoke($50, `test`, [0]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2799
+assert_trap(() => invoke($50, `test`, [1]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2800
+assert_trap(() => invoke($50, `test`, [2]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2801
+assert_trap(() => invoke($50, `test`, [3]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2802
+assert_trap(() => invoke($50, `test`, [4]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2803
+assert_trap(() => invoke($50, `test`, [5]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2804
+assert_trap(() => invoke($50, `test`, [6]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2805
+assert_trap(() => invoke($50, `test`, [7]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2806
+assert_trap(() => invoke($50, `test`, [8]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2807
+assert_trap(() => invoke($50, `test`, [9]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2808
+assert_trap(() => invoke($50, `test`, [10]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2809
+assert_trap(() => invoke($50, `test`, [11]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2810
+assert_trap(() => invoke($50, `test`, [12]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2811
+assert_trap(() => invoke($50, `test`, [13]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2812
+assert_trap(() => invoke($50, `test`, [14]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2813
+assert_trap(() => invoke($50, `test`, [15]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2814
+assert_trap(() => invoke($50, `test`, [16]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2815
+assert_trap(() => invoke($50, `test`, [17]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2816
+assert_trap(() => invoke($50, `test`, [18]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2817
+assert_trap(() => invoke($50, `test`, [19]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2818
+assert_trap(() => invoke($50, `test`, [20]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2819
+assert_trap(() => invoke($50, `test`, [21]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2820
+assert_trap(() => invoke($50, `test`, [22]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2821
+assert_trap(() => invoke($50, `test`, [23]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2822
+assert_trap(() => invoke($50, `test`, [24]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2823
+assert_trap(() => invoke($50, `test`, [25]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2824
+assert_trap(() => invoke($50, `test`, [26]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2825
+assert_trap(() => invoke($50, `test`, [27]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2826
+assert_trap(() => invoke($50, `test`, [28]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2827
+assert_trap(() => invoke($50, `test`, [29]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2828
+assert_trap(() => invoke($50, `test`, [30]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2829
+assert_trap(() => invoke($50, `test`, [31]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2830
+assert_trap(() => invoke($50, `test`, [32]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2831
+assert_trap(() => invoke($50, `test`, [33]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2832
+assert_trap(() => invoke($50, `test`, [34]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2833
+assert_trap(() => invoke($50, `test`, [35]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2834
+assert_trap(() => invoke($50, `test`, [36]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2835
+assert_trap(() => invoke($50, `test`, [37]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2836
+assert_trap(() => invoke($50, `test`, [38]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2837
+assert_trap(() => invoke($50, `test`, [39]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2838
+assert_trap(() => invoke($50, `test`, [40]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2839
+assert_trap(() => invoke($50, `test`, [41]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2840
+assert_trap(() => invoke($50, `test`, [42]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2841
+assert_trap(() => invoke($50, `test`, [43]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2842
+assert_trap(() => invoke($50, `test`, [44]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2843
+assert_trap(() => invoke($50, `test`, [45]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2844
+assert_trap(() => invoke($50, `test`, [46]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2845
+assert_trap(() => invoke($50, `test`, [47]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2846
+assert_trap(() => invoke($50, `test`, [48]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2847
+assert_trap(() => invoke($50, `test`, [49]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2848
+assert_trap(() => invoke($50, `test`, [50]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2849
+assert_trap(() => invoke($50, `test`, [51]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2850
+assert_trap(() => invoke($50, `test`, [52]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2851
+assert_trap(() => invoke($50, `test`, [53]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2852
+assert_trap(() => invoke($50, `test`, [54]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2853
+assert_trap(() => invoke($50, `test`, [55]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2854
+assert_trap(() => invoke($50, `test`, [56]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2855
+assert_trap(() => invoke($50, `test`, [57]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2856
+assert_trap(() => invoke($50, `test`, [58]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2857
+assert_trap(() => invoke($50, `test`, [59]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2858
+assert_trap(() => invoke($50, `test`, [60]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2859
+assert_trap(() => invoke($50, `test`, [61]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2860
+assert_trap(() => invoke($50, `test`, [62]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2861
+assert_trap(() => invoke($50, `test`, [63]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2862
+assert_trap(() => invoke($50, `test`, [64]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2863
+assert_trap(() => invoke($50, `test`, [65]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2864
+assert_trap(() => invoke($50, `test`, [66]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2865
+assert_trap(() => invoke($50, `test`, [67]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2866
+assert_trap(() => invoke($50, `test`, [68]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2867
+assert_trap(() => invoke($50, `test`, [69]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2868
+assert_trap(() => invoke($50, `test`, [70]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2869
+assert_trap(() => invoke($50, `test`, [71]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2870
+assert_trap(() => invoke($50, `test`, [72]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2871
+assert_trap(() => invoke($50, `test`, [73]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2872
+assert_trap(() => invoke($50, `test`, [74]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2873
+assert_trap(() => invoke($50, `test`, [75]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2874
+assert_trap(() => invoke($50, `test`, [76]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2875
+assert_trap(() => invoke($50, `test`, [77]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2876
+assert_trap(() => invoke($50, `test`, [78]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2877
+assert_trap(() => invoke($50, `test`, [79]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2878
+assert_trap(() => invoke($50, `test`, [80]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2879
+assert_trap(() => invoke($50, `test`, [81]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2880
+assert_trap(() => invoke($50, `test`, [82]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2881
+assert_trap(() => invoke($50, `test`, [83]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2882
+assert_trap(() => invoke($50, `test`, [84]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2883
+assert_trap(() => invoke($50, `test`, [85]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2884
+assert_trap(() => invoke($50, `test`, [86]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2885
+assert_trap(() => invoke($50, `test`, [87]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2886
+assert_trap(() => invoke($50, `test`, [88]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2887
+assert_trap(() => invoke($50, `test`, [89]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2888
+assert_trap(() => invoke($50, `test`, [90]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2889
+assert_trap(() => invoke($50, `test`, [91]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2890
+assert_trap(() => invoke($50, `test`, [92]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2891
+assert_trap(() => invoke($50, `test`, [93]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2892
+assert_trap(() => invoke($50, `test`, [94]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2893
+assert_trap(() => invoke($50, `test`, [95]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2894
+assert_trap(() => invoke($50, `test`, [96]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2895
+assert_trap(() => invoke($50, `test`, [97]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2896
+assert_trap(() => invoke($50, `test`, [98]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2897
+assert_trap(() => invoke($50, `test`, [99]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2898
+assert_trap(() => invoke($50, `test`, [100]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2899
+assert_trap(() => invoke($50, `test`, [101]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2900
+assert_trap(() => invoke($50, `test`, [102]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2901
+assert_trap(() => invoke($50, `test`, [103]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2902
+assert_trap(() => invoke($50, `test`, [104]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2903
+assert_trap(() => invoke($50, `test`, [105]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2904
+assert_trap(() => invoke($50, `test`, [106]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2905
+assert_trap(() => invoke($50, `test`, [107]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2906
+assert_trap(() => invoke($50, `test`, [108]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2907
+assert_trap(() => invoke($50, `test`, [109]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2908
+assert_trap(() => invoke($50, `test`, [110]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2909
+assert_trap(() => invoke($50, `test`, [111]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2910
+assert_return(() => invoke($50, `test`, [112]), [value("i32", 0)]);
+
+// ./test/core/table_copy.wast:2911
+assert_return(() => invoke($50, `test`, [113]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:2912
+assert_return(() => invoke($50, `test`, [114]), [value("i32", 2)]);
+
+// ./test/core/table_copy.wast:2913
+assert_return(() => invoke($50, `test`, [115]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:2914
+assert_return(() => invoke($50, `test`, [116]), [value("i32", 4)]);
+
+// ./test/core/table_copy.wast:2915
+assert_return(() => invoke($50, `test`, [117]), [value("i32", 5)]);
+
+// ./test/core/table_copy.wast:2916
+assert_return(() => invoke($50, `test`, [118]), [value("i32", 6)]);
+
+// ./test/core/table_copy.wast:2917
+assert_return(() => invoke($50, `test`, [119]), [value("i32", 7)]);
+
+// ./test/core/table_copy.wast:2918
+assert_return(() => invoke($50, `test`, [120]), [value("i32", 8)]);
+
+// ./test/core/table_copy.wast:2919
+assert_return(() => invoke($50, `test`, [121]), [value("i32", 9)]);
+
+// ./test/core/table_copy.wast:2920
+assert_return(() => invoke($50, `test`, [122]), [value("i32", 10)]);
+
+// ./test/core/table_copy.wast:2921
+assert_return(() => invoke($50, `test`, [123]), [value("i32", 11)]);
+
+// ./test/core/table_copy.wast:2922
+assert_return(() => invoke($50, `test`, [124]), [value("i32", 12)]);
+
+// ./test/core/table_copy.wast:2923
+assert_return(() => invoke($50, `test`, [125]), [value("i32", 13)]);
+
+// ./test/core/table_copy.wast:2924
+assert_return(() => invoke($50, `test`, [126]), [value("i32", 14)]);
+
+// ./test/core/table_copy.wast:2925
+assert_return(() => invoke($50, `test`, [127]), [value("i32", 15)]);
+
+// ./test/core/table_copy.wast:2927
+let $51 = instantiate(`(module
+ (type (func (result i32)))
+ (table 128 128 funcref)
+ (elem (i32.const 0)
+ $$f0 $$f1 $$f2 $$f3 $$f4 $$f5 $$f6 $$f7 $$f8 $$f9 $$f10 $$f11 $$f12 $$f13 $$f14 $$f15)
+ (func $$f0 (export "f0") (result i32) (i32.const 0))
+ (func $$f1 (export "f1") (result i32) (i32.const 1))
+ (func $$f2 (export "f2") (result i32) (i32.const 2))
+ (func $$f3 (export "f3") (result i32) (i32.const 3))
+ (func $$f4 (export "f4") (result i32) (i32.const 4))
+ (func $$f5 (export "f5") (result i32) (i32.const 5))
+ (func $$f6 (export "f6") (result i32) (i32.const 6))
+ (func $$f7 (export "f7") (result i32) (i32.const 7))
+ (func $$f8 (export "f8") (result i32) (i32.const 8))
+ (func $$f9 (export "f9") (result i32) (i32.const 9))
+ (func $$f10 (export "f10") (result i32) (i32.const 10))
+ (func $$f11 (export "f11") (result i32) (i32.const 11))
+ (func $$f12 (export "f12") (result i32) (i32.const 12))
+ (func $$f13 (export "f13") (result i32) (i32.const 13))
+ (func $$f14 (export "f14") (result i32) (i32.const 14))
+ (func $$f15 (export "f15") (result i32) (i32.const 15))
+ (func (export "test") (param $$n i32) (result i32)
+ (call_indirect (type 0) (local.get $$n)))
+ (func (export "run") (param $$targetOffs i32) (param $$srcOffs i32) (param $$len i32)
+ (table.copy (local.get $$targetOffs) (local.get $$srcOffs) (local.get $$len))))`);
+
+// ./test/core/table_copy.wast:2953
+assert_trap(() => invoke($51, `run`, [112, 0, -32]), `out of bounds table access`);
+
+// ./test/core/table_copy.wast:2955
+assert_return(() => invoke($51, `test`, [0]), [value("i32", 0)]);
+
+// ./test/core/table_copy.wast:2956
+assert_return(() => invoke($51, `test`, [1]), [value("i32", 1)]);
+
+// ./test/core/table_copy.wast:2957
+assert_return(() => invoke($51, `test`, [2]), [value("i32", 2)]);
+
+// ./test/core/table_copy.wast:2958
+assert_return(() => invoke($51, `test`, [3]), [value("i32", 3)]);
+
+// ./test/core/table_copy.wast:2959
+assert_return(() => invoke($51, `test`, [4]), [value("i32", 4)]);
+
+// ./test/core/table_copy.wast:2960
+assert_return(() => invoke($51, `test`, [5]), [value("i32", 5)]);
+
+// ./test/core/table_copy.wast:2961
+assert_return(() => invoke($51, `test`, [6]), [value("i32", 6)]);
+
+// ./test/core/table_copy.wast:2962
+assert_return(() => invoke($51, `test`, [7]), [value("i32", 7)]);
+
+// ./test/core/table_copy.wast:2963
+assert_return(() => invoke($51, `test`, [8]), [value("i32", 8)]);
+
+// ./test/core/table_copy.wast:2964
+assert_return(() => invoke($51, `test`, [9]), [value("i32", 9)]);
+
+// ./test/core/table_copy.wast:2965
+assert_return(() => invoke($51, `test`, [10]), [value("i32", 10)]);
+
+// ./test/core/table_copy.wast:2966
+assert_return(() => invoke($51, `test`, [11]), [value("i32", 11)]);
+
+// ./test/core/table_copy.wast:2967
+assert_return(() => invoke($51, `test`, [12]), [value("i32", 12)]);
+
+// ./test/core/table_copy.wast:2968
+assert_return(() => invoke($51, `test`, [13]), [value("i32", 13)]);
+
+// ./test/core/table_copy.wast:2969
+assert_return(() => invoke($51, `test`, [14]), [value("i32", 14)]);
+
+// ./test/core/table_copy.wast:2970
+assert_return(() => invoke($51, `test`, [15]), [value("i32", 15)]);
+
+// ./test/core/table_copy.wast:2971
+assert_trap(() => invoke($51, `test`, [16]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2972
+assert_trap(() => invoke($51, `test`, [17]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2973
+assert_trap(() => invoke($51, `test`, [18]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2974
+assert_trap(() => invoke($51, `test`, [19]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2975
+assert_trap(() => invoke($51, `test`, [20]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2976
+assert_trap(() => invoke($51, `test`, [21]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2977
+assert_trap(() => invoke($51, `test`, [22]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2978
+assert_trap(() => invoke($51, `test`, [23]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2979
+assert_trap(() => invoke($51, `test`, [24]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2980
+assert_trap(() => invoke($51, `test`, [25]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2981
+assert_trap(() => invoke($51, `test`, [26]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2982
+assert_trap(() => invoke($51, `test`, [27]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2983
+assert_trap(() => invoke($51, `test`, [28]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2984
+assert_trap(() => invoke($51, `test`, [29]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2985
+assert_trap(() => invoke($51, `test`, [30]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2986
+assert_trap(() => invoke($51, `test`, [31]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2987
+assert_trap(() => invoke($51, `test`, [32]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2988
+assert_trap(() => invoke($51, `test`, [33]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2989
+assert_trap(() => invoke($51, `test`, [34]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2990
+assert_trap(() => invoke($51, `test`, [35]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2991
+assert_trap(() => invoke($51, `test`, [36]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2992
+assert_trap(() => invoke($51, `test`, [37]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2993
+assert_trap(() => invoke($51, `test`, [38]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2994
+assert_trap(() => invoke($51, `test`, [39]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2995
+assert_trap(() => invoke($51, `test`, [40]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2996
+assert_trap(() => invoke($51, `test`, [41]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2997
+assert_trap(() => invoke($51, `test`, [42]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2998
+assert_trap(() => invoke($51, `test`, [43]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:2999
+assert_trap(() => invoke($51, `test`, [44]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3000
+assert_trap(() => invoke($51, `test`, [45]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3001
+assert_trap(() => invoke($51, `test`, [46]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3002
+assert_trap(() => invoke($51, `test`, [47]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3003
+assert_trap(() => invoke($51, `test`, [48]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3004
+assert_trap(() => invoke($51, `test`, [49]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3005
+assert_trap(() => invoke($51, `test`, [50]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3006
+assert_trap(() => invoke($51, `test`, [51]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3007
+assert_trap(() => invoke($51, `test`, [52]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3008
+assert_trap(() => invoke($51, `test`, [53]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3009
+assert_trap(() => invoke($51, `test`, [54]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3010
+assert_trap(() => invoke($51, `test`, [55]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3011
+assert_trap(() => invoke($51, `test`, [56]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3012
+assert_trap(() => invoke($51, `test`, [57]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3013
+assert_trap(() => invoke($51, `test`, [58]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3014
+assert_trap(() => invoke($51, `test`, [59]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3015
+assert_trap(() => invoke($51, `test`, [60]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3016
+assert_trap(() => invoke($51, `test`, [61]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3017
+assert_trap(() => invoke($51, `test`, [62]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3018
+assert_trap(() => invoke($51, `test`, [63]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3019
+assert_trap(() => invoke($51, `test`, [64]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3020
+assert_trap(() => invoke($51, `test`, [65]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3021
+assert_trap(() => invoke($51, `test`, [66]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3022
+assert_trap(() => invoke($51, `test`, [67]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3023
+assert_trap(() => invoke($51, `test`, [68]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3024
+assert_trap(() => invoke($51, `test`, [69]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3025
+assert_trap(() => invoke($51, `test`, [70]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3026
+assert_trap(() => invoke($51, `test`, [71]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3027
+assert_trap(() => invoke($51, `test`, [72]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3028
+assert_trap(() => invoke($51, `test`, [73]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3029
+assert_trap(() => invoke($51, `test`, [74]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3030
+assert_trap(() => invoke($51, `test`, [75]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3031
+assert_trap(() => invoke($51, `test`, [76]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3032
+assert_trap(() => invoke($51, `test`, [77]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3033
+assert_trap(() => invoke($51, `test`, [78]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3034
+assert_trap(() => invoke($51, `test`, [79]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3035
+assert_trap(() => invoke($51, `test`, [80]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3036
+assert_trap(() => invoke($51, `test`, [81]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3037
+assert_trap(() => invoke($51, `test`, [82]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3038
+assert_trap(() => invoke($51, `test`, [83]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3039
+assert_trap(() => invoke($51, `test`, [84]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3040
+assert_trap(() => invoke($51, `test`, [85]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3041
+assert_trap(() => invoke($51, `test`, [86]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3042
+assert_trap(() => invoke($51, `test`, [87]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3043
+assert_trap(() => invoke($51, `test`, [88]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3044
+assert_trap(() => invoke($51, `test`, [89]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3045
+assert_trap(() => invoke($51, `test`, [90]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3046
+assert_trap(() => invoke($51, `test`, [91]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3047
+assert_trap(() => invoke($51, `test`, [92]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3048
+assert_trap(() => invoke($51, `test`, [93]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3049
+assert_trap(() => invoke($51, `test`, [94]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3050
+assert_trap(() => invoke($51, `test`, [95]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3051
+assert_trap(() => invoke($51, `test`, [96]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3052
+assert_trap(() => invoke($51, `test`, [97]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3053
+assert_trap(() => invoke($51, `test`, [98]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3054
+assert_trap(() => invoke($51, `test`, [99]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3055
+assert_trap(() => invoke($51, `test`, [100]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3056
+assert_trap(() => invoke($51, `test`, [101]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3057
+assert_trap(() => invoke($51, `test`, [102]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3058
+assert_trap(() => invoke($51, `test`, [103]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3059
+assert_trap(() => invoke($51, `test`, [104]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3060
+assert_trap(() => invoke($51, `test`, [105]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3061
+assert_trap(() => invoke($51, `test`, [106]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3062
+assert_trap(() => invoke($51, `test`, [107]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3063
+assert_trap(() => invoke($51, `test`, [108]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3064
+assert_trap(() => invoke($51, `test`, [109]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3065
+assert_trap(() => invoke($51, `test`, [110]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3066
+assert_trap(() => invoke($51, `test`, [111]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3067
+assert_trap(() => invoke($51, `test`, [112]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3068
+assert_trap(() => invoke($51, `test`, [113]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3069
+assert_trap(() => invoke($51, `test`, [114]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3070
+assert_trap(() => invoke($51, `test`, [115]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3071
+assert_trap(() => invoke($51, `test`, [116]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3072
+assert_trap(() => invoke($51, `test`, [117]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3073
+assert_trap(() => invoke($51, `test`, [118]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3074
+assert_trap(() => invoke($51, `test`, [119]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3075
+assert_trap(() => invoke($51, `test`, [120]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3076
+assert_trap(() => invoke($51, `test`, [121]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3077
+assert_trap(() => invoke($51, `test`, [122]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3078
+assert_trap(() => invoke($51, `test`, [123]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3079
+assert_trap(() => invoke($51, `test`, [124]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3080
+assert_trap(() => invoke($51, `test`, [125]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3081
+assert_trap(() => invoke($51, `test`, [126]), `uninitialized element`);
+
+// ./test/core/table_copy.wast:3082
+assert_trap(() => invoke($51, `test`, [127]), `uninitialized element`);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/table_fill.wast.js b/js/src/jit-test/tests/wasm/spec/spec/table_fill.wast.js
new file mode 100644
index 0000000000..6b2cc53da4
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/table_fill.wast.js
@@ -0,0 +1,238 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/table_fill.wast
+
+// ./test/core/table_fill.wast:1
+let $0 = instantiate(`(module
+ (table $$t 10 externref)
+
+ (func (export "fill") (param $$i i32) (param $$r externref) (param $$n i32)
+ (table.fill $$t (local.get $$i) (local.get $$r) (local.get $$n))
+ )
+
+ (func (export "fill-abbrev") (param $$i i32) (param $$r externref) (param $$n i32)
+ (table.fill (local.get $$i) (local.get $$r) (local.get $$n))
+ )
+
+ (func (export "get") (param $$i i32) (result externref)
+ (table.get $$t (local.get $$i))
+ )
+)`);
+
+// ./test/core/table_fill.wast:17
+assert_return(() => invoke($0, `get`, [1]), [value('externref', null)]);
+
+// ./test/core/table_fill.wast:18
+assert_return(() => invoke($0, `get`, [2]), [value('externref', null)]);
+
+// ./test/core/table_fill.wast:19
+assert_return(() => invoke($0, `get`, [3]), [value('externref', null)]);
+
+// ./test/core/table_fill.wast:20
+assert_return(() => invoke($0, `get`, [4]), [value('externref', null)]);
+
+// ./test/core/table_fill.wast:21
+assert_return(() => invoke($0, `get`, [5]), [value('externref', null)]);
+
+// ./test/core/table_fill.wast:23
+assert_return(() => invoke($0, `fill`, [2, externref(1), 3]), []);
+
+// ./test/core/table_fill.wast:24
+assert_return(() => invoke($0, `get`, [1]), [value('externref', null)]);
+
+// ./test/core/table_fill.wast:25
+assert_return(() => invoke($0, `get`, [2]), [new ExternRefResult(1)]);
+
+// ./test/core/table_fill.wast:26
+assert_return(() => invoke($0, `get`, [3]), [new ExternRefResult(1)]);
+
+// ./test/core/table_fill.wast:27
+assert_return(() => invoke($0, `get`, [4]), [new ExternRefResult(1)]);
+
+// ./test/core/table_fill.wast:28
+assert_return(() => invoke($0, `get`, [5]), [value('externref', null)]);
+
+// ./test/core/table_fill.wast:30
+assert_return(() => invoke($0, `fill`, [4, externref(2), 2]), []);
+
+// ./test/core/table_fill.wast:31
+assert_return(() => invoke($0, `get`, [3]), [new ExternRefResult(1)]);
+
+// ./test/core/table_fill.wast:32
+assert_return(() => invoke($0, `get`, [4]), [new ExternRefResult(2)]);
+
+// ./test/core/table_fill.wast:33
+assert_return(() => invoke($0, `get`, [5]), [new ExternRefResult(2)]);
+
+// ./test/core/table_fill.wast:34
+assert_return(() => invoke($0, `get`, [6]), [value('externref', null)]);
+
+// ./test/core/table_fill.wast:36
+assert_return(() => invoke($0, `fill`, [4, externref(3), 0]), []);
+
+// ./test/core/table_fill.wast:37
+assert_return(() => invoke($0, `get`, [3]), [new ExternRefResult(1)]);
+
+// ./test/core/table_fill.wast:38
+assert_return(() => invoke($0, `get`, [4]), [new ExternRefResult(2)]);
+
+// ./test/core/table_fill.wast:39
+assert_return(() => invoke($0, `get`, [5]), [new ExternRefResult(2)]);
+
+// ./test/core/table_fill.wast:41
+assert_return(() => invoke($0, `fill`, [8, externref(4), 2]), []);
+
+// ./test/core/table_fill.wast:42
+assert_return(() => invoke($0, `get`, [7]), [value('externref', null)]);
+
+// ./test/core/table_fill.wast:43
+assert_return(() => invoke($0, `get`, [8]), [new ExternRefResult(4)]);
+
+// ./test/core/table_fill.wast:44
+assert_return(() => invoke($0, `get`, [9]), [new ExternRefResult(4)]);
+
+// ./test/core/table_fill.wast:46
+assert_return(() => invoke($0, `fill-abbrev`, [9, null, 1]), []);
+
+// ./test/core/table_fill.wast:47
+assert_return(() => invoke($0, `get`, [8]), [new ExternRefResult(4)]);
+
+// ./test/core/table_fill.wast:48
+assert_return(() => invoke($0, `get`, [9]), [value('externref', null)]);
+
+// ./test/core/table_fill.wast:50
+assert_return(() => invoke($0, `fill`, [10, externref(5), 0]), []);
+
+// ./test/core/table_fill.wast:51
+assert_return(() => invoke($0, `get`, [9]), [value('externref', null)]);
+
+// ./test/core/table_fill.wast:53
+assert_trap(() => invoke($0, `fill`, [8, externref(6), 3]), `out of bounds table access`);
+
+// ./test/core/table_fill.wast:57
+assert_return(() => invoke($0, `get`, [7]), [value('externref', null)]);
+
+// ./test/core/table_fill.wast:58
+assert_return(() => invoke($0, `get`, [8]), [new ExternRefResult(4)]);
+
+// ./test/core/table_fill.wast:59
+assert_return(() => invoke($0, `get`, [9]), [value('externref', null)]);
+
+// ./test/core/table_fill.wast:61
+assert_trap(() => invoke($0, `fill`, [11, null, 0]), `out of bounds table access`);
+
+// ./test/core/table_fill.wast:66
+assert_trap(() => invoke($0, `fill`, [11, null, 10]), `out of bounds table access`);
+
+// ./test/core/table_fill.wast:74
+assert_invalid(
+ () => instantiate(`(module
+ (table $$t 10 externref)
+ (func $$type-index-value-length-empty-vs-i32-i32
+ (table.fill $$t)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/table_fill.wast:83
+assert_invalid(
+ () => instantiate(`(module
+ (table $$t 10 externref)
+ (func $$type-index-empty-vs-i32
+ (table.fill $$t (ref.null extern) (i32.const 1))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/table_fill.wast:92
+assert_invalid(
+ () => instantiate(`(module
+ (table $$t 10 externref)
+ (func $$type-value-empty-vs
+ (table.fill $$t (i32.const 1) (i32.const 1))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/table_fill.wast:101
+assert_invalid(
+ () => instantiate(`(module
+ (table $$t 10 externref)
+ (func $$type-length-empty-vs-i32
+ (table.fill $$t (i32.const 1) (ref.null extern))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/table_fill.wast:110
+assert_invalid(
+ () => instantiate(`(module
+ (table $$t 0 externref)
+ (func $$type-index-f32-vs-i32
+ (table.fill $$t (f32.const 1) (ref.null extern) (i32.const 1))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/table_fill.wast:119
+assert_invalid(
+ () => instantiate(`(module
+ (table $$t 0 funcref)
+ (func $$type-value-vs-funcref (param $$r externref)
+ (table.fill $$t (i32.const 1) (local.get $$r) (i32.const 1))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/table_fill.wast:128
+assert_invalid(
+ () => instantiate(`(module
+ (table $$t 0 externref)
+ (func $$type-length-f32-vs-i32
+ (table.fill $$t (i32.const 1) (ref.null extern) (f32.const 1))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/table_fill.wast:138
+assert_invalid(
+ () => instantiate(`(module
+ (table $$t1 1 externref)
+ (table $$t2 1 funcref)
+ (func $$type-value-externref-vs-funcref-multi (param $$r externref)
+ (table.fill $$t2 (i32.const 0) (local.get $$r) (i32.const 1))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/table_fill.wast:149
+assert_invalid(
+ () => instantiate(`(module
+ (table $$t 1 externref)
+ (func $$type-result-empty-vs-num (result i32)
+ (table.fill $$t (i32.const 0) (ref.null extern) (i32.const 1))
+ )
+ )`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/table_get.wast.js b/js/src/jit-test/tests/wasm/spec/spec/table_get.wast.js
new file mode 100644
index 0000000000..d744cf692f
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/table_get.wast.js
@@ -0,0 +1,126 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/table_get.wast
+
+// ./test/core/table_get.wast:1
+let $0 = instantiate(`(module
+ (table $$t2 2 externref)
+ (table $$t3 3 funcref)
+ (elem (table $$t3) (i32.const 1) func $$dummy)
+ (func $$dummy)
+
+ (func (export "init") (param $$r externref)
+ (table.set $$t2 (i32.const 1) (local.get $$r))
+ (table.set $$t3 (i32.const 2) (table.get $$t3 (i32.const 1)))
+ )
+
+ (func (export "get-externref") (param $$i i32) (result externref)
+ (table.get (local.get $$i))
+ )
+ (func $$f3 (export "get-funcref") (param $$i i32) (result funcref)
+ (table.get $$t3 (local.get $$i))
+ )
+
+ (func (export "is_null-funcref") (param $$i i32) (result i32)
+ (ref.is_null (call $$f3 (local.get $$i)))
+ )
+)`);
+
+// ./test/core/table_get.wast:24
+invoke($0, `init`, [externref(1)]);
+
+// ./test/core/table_get.wast:26
+assert_return(() => invoke($0, `get-externref`, [0]), [value('externref', null)]);
+
+// ./test/core/table_get.wast:27
+assert_return(() => invoke($0, `get-externref`, [1]), [new ExternRefResult(1)]);
+
+// ./test/core/table_get.wast:29
+assert_return(() => invoke($0, `get-funcref`, [0]), [value('anyfunc', null)]);
+
+// ./test/core/table_get.wast:30
+assert_return(() => invoke($0, `is_null-funcref`, [1]), [value("i32", 0)]);
+
+// ./test/core/table_get.wast:31
+assert_return(() => invoke($0, `is_null-funcref`, [2]), [value("i32", 0)]);
+
+// ./test/core/table_get.wast:33
+assert_trap(() => invoke($0, `get-externref`, [2]), `out of bounds table access`);
+
+// ./test/core/table_get.wast:34
+assert_trap(() => invoke($0, `get-funcref`, [3]), `out of bounds table access`);
+
+// ./test/core/table_get.wast:35
+assert_trap(() => invoke($0, `get-externref`, [-1]), `out of bounds table access`);
+
+// ./test/core/table_get.wast:36
+assert_trap(() => invoke($0, `get-funcref`, [-1]), `out of bounds table access`);
+
+// ./test/core/table_get.wast:41
+assert_invalid(
+ () => instantiate(`(module
+ (table $$t 10 externref)
+ (func $$type-index-empty-vs-i32 (result externref)
+ (table.get $$t)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/table_get.wast:50
+assert_invalid(
+ () => instantiate(`(module
+ (table $$t 10 externref)
+ (func $$type-index-f32-vs-i32 (result externref)
+ (table.get $$t (f32.const 1))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/table_get.wast:60
+assert_invalid(
+ () => instantiate(`(module
+ (table $$t 10 externref)
+ (func $$type-result-externref-vs-empty
+ (table.get $$t (i32.const 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/table_get.wast:69
+assert_invalid(
+ () => instantiate(`(module
+ (table $$t 10 externref)
+ (func $$type-result-externref-vs-funcref (result funcref)
+ (table.get $$t (i32.const 1))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/table_get.wast:79
+assert_invalid(
+ () => instantiate(`(module
+ (table $$t1 1 funcref)
+ (table $$t2 1 externref)
+ (func $$type-result-externref-vs-funcref-multi (result funcref)
+ (table.get $$t2 (i32.const 0))
+ )
+ )`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/table_grow.wast.js b/js/src/jit-test/tests/wasm/spec/spec/table_grow.wast.js
new file mode 100644
index 0000000000..f5bea52154
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/table_grow.wast.js
@@ -0,0 +1,271 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/table_grow.wast
+
+// ./test/core/table_grow.wast:1
+let $0 = instantiate(`(module
+ (table $$t 0 externref)
+
+ (func (export "get") (param $$i i32) (result externref) (table.get $$t (local.get $$i)))
+ (func (export "set") (param $$i i32) (param $$r externref) (table.set $$t (local.get $$i) (local.get $$r)))
+
+ (func (export "grow") (param $$sz i32) (param $$init externref) (result i32)
+ (table.grow $$t (local.get $$init) (local.get $$sz))
+ )
+ (func (export "grow-abbrev") (param $$sz i32) (param $$init externref) (result i32)
+ (table.grow (local.get $$init) (local.get $$sz))
+ )
+ (func (export "size") (result i32) (table.size $$t))
+)`);
+
+// ./test/core/table_grow.wast:16
+assert_return(() => invoke($0, `size`, []), [value("i32", 0)]);
+
+// ./test/core/table_grow.wast:17
+assert_trap(() => invoke($0, `set`, [0, externref(2)]), `out of bounds table access`);
+
+// ./test/core/table_grow.wast:18
+assert_trap(() => invoke($0, `get`, [0]), `out of bounds table access`);
+
+// ./test/core/table_grow.wast:20
+assert_return(() => invoke($0, `grow`, [1, null]), [value("i32", 0)]);
+
+// ./test/core/table_grow.wast:21
+assert_return(() => invoke($0, `size`, []), [value("i32", 1)]);
+
+// ./test/core/table_grow.wast:22
+assert_return(() => invoke($0, `get`, [0]), [value('externref', null)]);
+
+// ./test/core/table_grow.wast:23
+assert_return(() => invoke($0, `set`, [0, externref(2)]), []);
+
+// ./test/core/table_grow.wast:24
+assert_return(() => invoke($0, `get`, [0]), [new ExternRefResult(2)]);
+
+// ./test/core/table_grow.wast:25
+assert_trap(() => invoke($0, `set`, [1, externref(2)]), `out of bounds table access`);
+
+// ./test/core/table_grow.wast:26
+assert_trap(() => invoke($0, `get`, [1]), `out of bounds table access`);
+
+// ./test/core/table_grow.wast:28
+assert_return(() => invoke($0, `grow-abbrev`, [4, externref(3)]), [value("i32", 1)]);
+
+// ./test/core/table_grow.wast:29
+assert_return(() => invoke($0, `size`, []), [value("i32", 5)]);
+
+// ./test/core/table_grow.wast:30
+assert_return(() => invoke($0, `get`, [0]), [new ExternRefResult(2)]);
+
+// ./test/core/table_grow.wast:31
+assert_return(() => invoke($0, `set`, [0, externref(2)]), []);
+
+// ./test/core/table_grow.wast:32
+assert_return(() => invoke($0, `get`, [0]), [new ExternRefResult(2)]);
+
+// ./test/core/table_grow.wast:33
+assert_return(() => invoke($0, `get`, [1]), [new ExternRefResult(3)]);
+
+// ./test/core/table_grow.wast:34
+assert_return(() => invoke($0, `get`, [4]), [new ExternRefResult(3)]);
+
+// ./test/core/table_grow.wast:35
+assert_return(() => invoke($0, `set`, [4, externref(4)]), []);
+
+// ./test/core/table_grow.wast:36
+assert_return(() => invoke($0, `get`, [4]), [new ExternRefResult(4)]);
+
+// ./test/core/table_grow.wast:37
+assert_trap(() => invoke($0, `set`, [5, externref(2)]), `out of bounds table access`);
+
+// ./test/core/table_grow.wast:38
+assert_trap(() => invoke($0, `get`, [5]), `out of bounds table access`);
+
+// ./test/core/table_grow.wast:42
+let $1 = instantiate(`(module
+ (table $$t 0x10 funcref)
+ (elem declare func $$f)
+ (func $$f (export "grow") (result i32)
+ (table.grow $$t (ref.func $$f) (i32.const 0xffff_fff0))
+ )
+)`);
+
+// ./test/core/table_grow.wast:50
+assert_return(() => invoke($1, `grow`, []), [value("i32", -1)]);
+
+// ./test/core/table_grow.wast:53
+let $2 = instantiate(`(module
+ (table $$t 0 externref)
+ (func (export "grow") (param i32) (result i32)
+ (table.grow $$t (ref.null extern) (local.get 0))
+ )
+)`);
+
+// ./test/core/table_grow.wast:60
+assert_return(() => invoke($2, `grow`, [0]), [value("i32", 0)]);
+
+// ./test/core/table_grow.wast:61
+assert_return(() => invoke($2, `grow`, [1]), [value("i32", 0)]);
+
+// ./test/core/table_grow.wast:62
+assert_return(() => invoke($2, `grow`, [0]), [value("i32", 1)]);
+
+// ./test/core/table_grow.wast:63
+assert_return(() => invoke($2, `grow`, [2]), [value("i32", 1)]);
+
+// ./test/core/table_grow.wast:64
+assert_return(() => invoke($2, `grow`, [800]), [value("i32", 3)]);
+
+// ./test/core/table_grow.wast:67
+let $3 = instantiate(`(module
+ (table $$t 0 10 externref)
+ (func (export "grow") (param i32) (result i32)
+ (table.grow $$t (ref.null extern) (local.get 0))
+ )
+)`);
+
+// ./test/core/table_grow.wast:74
+assert_return(() => invoke($3, `grow`, [0]), [value("i32", 0)]);
+
+// ./test/core/table_grow.wast:75
+assert_return(() => invoke($3, `grow`, [1]), [value("i32", 0)]);
+
+// ./test/core/table_grow.wast:76
+assert_return(() => invoke($3, `grow`, [1]), [value("i32", 1)]);
+
+// ./test/core/table_grow.wast:77
+assert_return(() => invoke($3, `grow`, [2]), [value("i32", 2)]);
+
+// ./test/core/table_grow.wast:78
+assert_return(() => invoke($3, `grow`, [6]), [value("i32", 4)]);
+
+// ./test/core/table_grow.wast:79
+assert_return(() => invoke($3, `grow`, [0]), [value("i32", 10)]);
+
+// ./test/core/table_grow.wast:80
+assert_return(() => invoke($3, `grow`, [1]), [value("i32", -1)]);
+
+// ./test/core/table_grow.wast:81
+assert_return(() => invoke($3, `grow`, [65536]), [value("i32", -1)]);
+
+// ./test/core/table_grow.wast:84
+let $4 = instantiate(`(module
+ (table $$t 10 funcref)
+ (func (export "grow") (param i32) (result i32)
+ (table.grow $$t (ref.null func) (local.get 0))
+ )
+ (elem declare func 1)
+ (func (export "check-table-null") (param i32 i32) (result funcref)
+ (local funcref)
+ (local.set 2 (ref.func 1))
+ (block
+ (loop
+ (local.set 2 (table.get $$t (local.get 0)))
+ (br_if 1 (i32.eqz (ref.is_null (local.get 2))))
+ (br_if 1 (i32.ge_u (local.get 0) (local.get 1)))
+ (local.set 0 (i32.add (local.get 0) (i32.const 1)))
+ (br_if 0 (i32.le_u (local.get 0) (local.get 1)))
+ )
+ )
+ (local.get 2)
+ )
+)`);
+
+// ./test/core/table_grow.wast:106
+assert_return(() => invoke($4, `check-table-null`, [0, 9]), [value('anyfunc', null)]);
+
+// ./test/core/table_grow.wast:107
+assert_return(() => invoke($4, `grow`, [10]), [value("i32", 10)]);
+
+// ./test/core/table_grow.wast:108
+assert_return(() => invoke($4, `check-table-null`, [0, 19]), [value('anyfunc', null)]);
+
+// ./test/core/table_grow.wast:113
+assert_invalid(
+ () => instantiate(`(module
+ (table $$t 0 externref)
+ (func $$type-init-size-empty-vs-i32-externref (result i32)
+ (table.grow $$t)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/table_grow.wast:122
+assert_invalid(
+ () => instantiate(`(module
+ (table $$t 0 externref)
+ (func $$type-size-empty-vs-i32 (result i32)
+ (table.grow $$t (ref.null extern))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/table_grow.wast:131
+assert_invalid(
+ () => instantiate(`(module
+ (table $$t 0 externref)
+ (func $$type-init-empty-vs-externref (result i32)
+ (table.grow $$t (i32.const 1))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/table_grow.wast:140
+assert_invalid(
+ () => instantiate(`(module
+ (table $$t 0 externref)
+ (func $$type-size-f32-vs-i32 (result i32)
+ (table.grow $$t (ref.null extern) (f32.const 1))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/table_grow.wast:149
+assert_invalid(
+ () => instantiate(`(module
+ (table $$t 0 funcref)
+ (func $$type-init-externref-vs-funcref (param $$r externref) (result i32)
+ (table.grow $$t (local.get $$r) (i32.const 1))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/table_grow.wast:159
+assert_invalid(
+ () => instantiate(`(module
+ (table $$t 1 externref)
+ (func $$type-result-i32-vs-empty
+ (table.grow $$t (ref.null extern) (i32.const 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/table_grow.wast:168
+assert_invalid(
+ () => instantiate(`(module
+ (table $$t 1 externref)
+ (func $$type-result-i32-vs-f32 (result f32)
+ (table.grow $$t (ref.null extern) (i32.const 0))
+ )
+ )`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/table_init.wast.js b/js/src/jit-test/tests/wasm/spec/spec/table_init.wast.js
new file mode 100644
index 0000000000..a9457bbb2c
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/table_init.wast.js
@@ -0,0 +1,3674 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/table_init.wast
+
+// ./test/core/table_init.wast:6
+let $0 = instantiate(`(module
+ (func (export "ef0") (result i32) (i32.const 0))
+ (func (export "ef1") (result i32) (i32.const 1))
+ (func (export "ef2") (result i32) (i32.const 2))
+ (func (export "ef3") (result i32) (i32.const 3))
+ (func (export "ef4") (result i32) (i32.const 4))
+)`);
+
+// ./test/core/table_init.wast:13
+register($0, `a`);
+
+// ./test/core/table_init.wast:15
+let $1 = instantiate(`(module
+ (type (func (result i32))) ;; type #0
+ (import "a" "ef0" (func (result i32))) ;; index 0
+ (import "a" "ef1" (func (result i32)))
+ (import "a" "ef2" (func (result i32)))
+ (import "a" "ef3" (func (result i32)))
+ (import "a" "ef4" (func (result i32))) ;; index 4
+ (table $$t0 30 30 funcref)
+ (table $$t1 30 30 funcref)
+ (elem (table $$t0) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t0) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (func (result i32) (i32.const 5)) ;; index 5
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9)) ;; index 9
+ (func (export "test")
+ (table.init $$t0 1 (i32.const 7) (i32.const 0) (i32.const 4)))
+ (func (export "check") (param i32) (result i32)
+ (call_indirect $$t0 (type 0) (local.get 0)))
+)`);
+
+// ./test/core/table_init.wast:41
+invoke($1, `test`, []);
+
+// ./test/core/table_init.wast:42
+assert_trap(() => invoke($1, `check`, [0]), `uninitialized element`);
+
+// ./test/core/table_init.wast:43
+assert_trap(() => invoke($1, `check`, [1]), `uninitialized element`);
+
+// ./test/core/table_init.wast:44
+assert_return(() => invoke($1, `check`, [2]), [value("i32", 3)]);
+
+// ./test/core/table_init.wast:45
+assert_return(() => invoke($1, `check`, [3]), [value("i32", 1)]);
+
+// ./test/core/table_init.wast:46
+assert_return(() => invoke($1, `check`, [4]), [value("i32", 4)]);
+
+// ./test/core/table_init.wast:47
+assert_return(() => invoke($1, `check`, [5]), [value("i32", 1)]);
+
+// ./test/core/table_init.wast:48
+assert_trap(() => invoke($1, `check`, [6]), `uninitialized element`);
+
+// ./test/core/table_init.wast:49
+assert_return(() => invoke($1, `check`, [7]), [value("i32", 2)]);
+
+// ./test/core/table_init.wast:50
+assert_return(() => invoke($1, `check`, [8]), [value("i32", 7)]);
+
+// ./test/core/table_init.wast:51
+assert_return(() => invoke($1, `check`, [9]), [value("i32", 1)]);
+
+// ./test/core/table_init.wast:52
+assert_return(() => invoke($1, `check`, [10]), [value("i32", 8)]);
+
+// ./test/core/table_init.wast:53
+assert_trap(() => invoke($1, `check`, [11]), `uninitialized element`);
+
+// ./test/core/table_init.wast:54
+assert_return(() => invoke($1, `check`, [12]), [value("i32", 7)]);
+
+// ./test/core/table_init.wast:55
+assert_return(() => invoke($1, `check`, [13]), [value("i32", 5)]);
+
+// ./test/core/table_init.wast:56
+assert_return(() => invoke($1, `check`, [14]), [value("i32", 2)]);
+
+// ./test/core/table_init.wast:57
+assert_return(() => invoke($1, `check`, [15]), [value("i32", 3)]);
+
+// ./test/core/table_init.wast:58
+assert_return(() => invoke($1, `check`, [16]), [value("i32", 6)]);
+
+// ./test/core/table_init.wast:59
+assert_trap(() => invoke($1, `check`, [17]), `uninitialized element`);
+
+// ./test/core/table_init.wast:60
+assert_trap(() => invoke($1, `check`, [18]), `uninitialized element`);
+
+// ./test/core/table_init.wast:61
+assert_trap(() => invoke($1, `check`, [19]), `uninitialized element`);
+
+// ./test/core/table_init.wast:62
+assert_trap(() => invoke($1, `check`, [20]), `uninitialized element`);
+
+// ./test/core/table_init.wast:63
+assert_trap(() => invoke($1, `check`, [21]), `uninitialized element`);
+
+// ./test/core/table_init.wast:64
+assert_trap(() => invoke($1, `check`, [22]), `uninitialized element`);
+
+// ./test/core/table_init.wast:65
+assert_trap(() => invoke($1, `check`, [23]), `uninitialized element`);
+
+// ./test/core/table_init.wast:66
+assert_trap(() => invoke($1, `check`, [24]), `uninitialized element`);
+
+// ./test/core/table_init.wast:67
+assert_trap(() => invoke($1, `check`, [25]), `uninitialized element`);
+
+// ./test/core/table_init.wast:68
+assert_trap(() => invoke($1, `check`, [26]), `uninitialized element`);
+
+// ./test/core/table_init.wast:69
+assert_trap(() => invoke($1, `check`, [27]), `uninitialized element`);
+
+// ./test/core/table_init.wast:70
+assert_trap(() => invoke($1, `check`, [28]), `uninitialized element`);
+
+// ./test/core/table_init.wast:71
+assert_trap(() => invoke($1, `check`, [29]), `uninitialized element`);
+
+// ./test/core/table_init.wast:73
+let $2 = instantiate(`(module
+ (type (func (result i32))) ;; type #0
+ (import "a" "ef0" (func (result i32))) ;; index 0
+ (import "a" "ef1" (func (result i32)))
+ (import "a" "ef2" (func (result i32)))
+ (import "a" "ef3" (func (result i32)))
+ (import "a" "ef4" (func (result i32))) ;; index 4
+ (table $$t0 30 30 funcref)
+ (table $$t1 30 30 funcref)
+ (elem (table $$t0) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t0) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (func (result i32) (i32.const 5)) ;; index 5
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9)) ;; index 9
+ (func (export "test")
+ (table.init $$t0 3 (i32.const 15) (i32.const 1) (i32.const 3)))
+ (func (export "check") (param i32) (result i32)
+ (call_indirect $$t0 (type 0) (local.get 0)))
+)`);
+
+// ./test/core/table_init.wast:99
+invoke($2, `test`, []);
+
+// ./test/core/table_init.wast:100
+assert_trap(() => invoke($2, `check`, [0]), `uninitialized element`);
+
+// ./test/core/table_init.wast:101
+assert_trap(() => invoke($2, `check`, [1]), `uninitialized element`);
+
+// ./test/core/table_init.wast:102
+assert_return(() => invoke($2, `check`, [2]), [value("i32", 3)]);
+
+// ./test/core/table_init.wast:103
+assert_return(() => invoke($2, `check`, [3]), [value("i32", 1)]);
+
+// ./test/core/table_init.wast:104
+assert_return(() => invoke($2, `check`, [4]), [value("i32", 4)]);
+
+// ./test/core/table_init.wast:105
+assert_return(() => invoke($2, `check`, [5]), [value("i32", 1)]);
+
+// ./test/core/table_init.wast:106
+assert_trap(() => invoke($2, `check`, [6]), `uninitialized element`);
+
+// ./test/core/table_init.wast:107
+assert_trap(() => invoke($2, `check`, [7]), `uninitialized element`);
+
+// ./test/core/table_init.wast:108
+assert_trap(() => invoke($2, `check`, [8]), `uninitialized element`);
+
+// ./test/core/table_init.wast:109
+assert_trap(() => invoke($2, `check`, [9]), `uninitialized element`);
+
+// ./test/core/table_init.wast:110
+assert_trap(() => invoke($2, `check`, [10]), `uninitialized element`);
+
+// ./test/core/table_init.wast:111
+assert_trap(() => invoke($2, `check`, [11]), `uninitialized element`);
+
+// ./test/core/table_init.wast:112
+assert_return(() => invoke($2, `check`, [12]), [value("i32", 7)]);
+
+// ./test/core/table_init.wast:113
+assert_return(() => invoke($2, `check`, [13]), [value("i32", 5)]);
+
+// ./test/core/table_init.wast:114
+assert_return(() => invoke($2, `check`, [14]), [value("i32", 2)]);
+
+// ./test/core/table_init.wast:115
+assert_return(() => invoke($2, `check`, [15]), [value("i32", 9)]);
+
+// ./test/core/table_init.wast:116
+assert_return(() => invoke($2, `check`, [16]), [value("i32", 2)]);
+
+// ./test/core/table_init.wast:117
+assert_return(() => invoke($2, `check`, [17]), [value("i32", 7)]);
+
+// ./test/core/table_init.wast:118
+assert_trap(() => invoke($2, `check`, [18]), `uninitialized element`);
+
+// ./test/core/table_init.wast:119
+assert_trap(() => invoke($2, `check`, [19]), `uninitialized element`);
+
+// ./test/core/table_init.wast:120
+assert_trap(() => invoke($2, `check`, [20]), `uninitialized element`);
+
+// ./test/core/table_init.wast:121
+assert_trap(() => invoke($2, `check`, [21]), `uninitialized element`);
+
+// ./test/core/table_init.wast:122
+assert_trap(() => invoke($2, `check`, [22]), `uninitialized element`);
+
+// ./test/core/table_init.wast:123
+assert_trap(() => invoke($2, `check`, [23]), `uninitialized element`);
+
+// ./test/core/table_init.wast:124
+assert_trap(() => invoke($2, `check`, [24]), `uninitialized element`);
+
+// ./test/core/table_init.wast:125
+assert_trap(() => invoke($2, `check`, [25]), `uninitialized element`);
+
+// ./test/core/table_init.wast:126
+assert_trap(() => invoke($2, `check`, [26]), `uninitialized element`);
+
+// ./test/core/table_init.wast:127
+assert_trap(() => invoke($2, `check`, [27]), `uninitialized element`);
+
+// ./test/core/table_init.wast:128
+assert_trap(() => invoke($2, `check`, [28]), `uninitialized element`);
+
+// ./test/core/table_init.wast:129
+assert_trap(() => invoke($2, `check`, [29]), `uninitialized element`);
+
+// ./test/core/table_init.wast:131
+let $3 = instantiate(`(module
+ (type (func (result i32))) ;; type #0
+ (import "a" "ef0" (func (result i32))) ;; index 0
+ (import "a" "ef1" (func (result i32)))
+ (import "a" "ef2" (func (result i32)))
+ (import "a" "ef3" (func (result i32)))
+ (import "a" "ef4" (func (result i32))) ;; index 4
+ (table $$t0 30 30 funcref)
+ (table $$t1 30 30 funcref)
+ (elem (table $$t0) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t0) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (func (result i32) (i32.const 5)) ;; index 5
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9)) ;; index 9
+ (func (export "test")
+ (table.init $$t0 1 (i32.const 7) (i32.const 0) (i32.const 4))
+ (elem.drop 1)
+ (table.init $$t0 3 (i32.const 15) (i32.const 1) (i32.const 3))
+ (elem.drop 3)
+ (table.copy $$t0 0 (i32.const 20) (i32.const 15) (i32.const 5))
+ (table.copy $$t0 0 (i32.const 21) (i32.const 29) (i32.const 1))
+ (table.copy $$t0 0 (i32.const 24) (i32.const 10) (i32.const 1))
+ (table.copy $$t0 0 (i32.const 13) (i32.const 11) (i32.const 4))
+ (table.copy $$t0 0 (i32.const 19) (i32.const 20) (i32.const 5)))
+ (func (export "check") (param i32) (result i32)
+ (call_indirect $$t0 (type 0) (local.get 0)))
+)`);
+
+// ./test/core/table_init.wast:165
+invoke($3, `test`, []);
+
+// ./test/core/table_init.wast:166
+assert_trap(() => invoke($3, `check`, [0]), `uninitialized element`);
+
+// ./test/core/table_init.wast:167
+assert_trap(() => invoke($3, `check`, [1]), `uninitialized element`);
+
+// ./test/core/table_init.wast:168
+assert_return(() => invoke($3, `check`, [2]), [value("i32", 3)]);
+
+// ./test/core/table_init.wast:169
+assert_return(() => invoke($3, `check`, [3]), [value("i32", 1)]);
+
+// ./test/core/table_init.wast:170
+assert_return(() => invoke($3, `check`, [4]), [value("i32", 4)]);
+
+// ./test/core/table_init.wast:171
+assert_return(() => invoke($3, `check`, [5]), [value("i32", 1)]);
+
+// ./test/core/table_init.wast:172
+assert_trap(() => invoke($3, `check`, [6]), `uninitialized element`);
+
+// ./test/core/table_init.wast:173
+assert_return(() => invoke($3, `check`, [7]), [value("i32", 2)]);
+
+// ./test/core/table_init.wast:174
+assert_return(() => invoke($3, `check`, [8]), [value("i32", 7)]);
+
+// ./test/core/table_init.wast:175
+assert_return(() => invoke($3, `check`, [9]), [value("i32", 1)]);
+
+// ./test/core/table_init.wast:176
+assert_return(() => invoke($3, `check`, [10]), [value("i32", 8)]);
+
+// ./test/core/table_init.wast:177
+assert_trap(() => invoke($3, `check`, [11]), `uninitialized element`);
+
+// ./test/core/table_init.wast:178
+assert_return(() => invoke($3, `check`, [12]), [value("i32", 7)]);
+
+// ./test/core/table_init.wast:179
+assert_trap(() => invoke($3, `check`, [13]), `uninitialized element`);
+
+// ./test/core/table_init.wast:180
+assert_return(() => invoke($3, `check`, [14]), [value("i32", 7)]);
+
+// ./test/core/table_init.wast:181
+assert_return(() => invoke($3, `check`, [15]), [value("i32", 5)]);
+
+// ./test/core/table_init.wast:182
+assert_return(() => invoke($3, `check`, [16]), [value("i32", 2)]);
+
+// ./test/core/table_init.wast:183
+assert_return(() => invoke($3, `check`, [17]), [value("i32", 7)]);
+
+// ./test/core/table_init.wast:184
+assert_trap(() => invoke($3, `check`, [18]), `uninitialized element`);
+
+// ./test/core/table_init.wast:185
+assert_return(() => invoke($3, `check`, [19]), [value("i32", 9)]);
+
+// ./test/core/table_init.wast:186
+assert_trap(() => invoke($3, `check`, [20]), `uninitialized element`);
+
+// ./test/core/table_init.wast:187
+assert_return(() => invoke($3, `check`, [21]), [value("i32", 7)]);
+
+// ./test/core/table_init.wast:188
+assert_trap(() => invoke($3, `check`, [22]), `uninitialized element`);
+
+// ./test/core/table_init.wast:189
+assert_return(() => invoke($3, `check`, [23]), [value("i32", 8)]);
+
+// ./test/core/table_init.wast:190
+assert_return(() => invoke($3, `check`, [24]), [value("i32", 8)]);
+
+// ./test/core/table_init.wast:191
+assert_trap(() => invoke($3, `check`, [25]), `uninitialized element`);
+
+// ./test/core/table_init.wast:192
+assert_trap(() => invoke($3, `check`, [26]), `uninitialized element`);
+
+// ./test/core/table_init.wast:193
+assert_trap(() => invoke($3, `check`, [27]), `uninitialized element`);
+
+// ./test/core/table_init.wast:194
+assert_trap(() => invoke($3, `check`, [28]), `uninitialized element`);
+
+// ./test/core/table_init.wast:195
+assert_trap(() => invoke($3, `check`, [29]), `uninitialized element`);
+
+// ./test/core/table_init.wast:197
+let $4 = instantiate(`(module
+ (type (func (result i32))) ;; type #0
+ (import "a" "ef0" (func (result i32))) ;; index 0
+ (import "a" "ef1" (func (result i32)))
+ (import "a" "ef2" (func (result i32)))
+ (import "a" "ef3" (func (result i32)))
+ (import "a" "ef4" (func (result i32))) ;; index 4
+ (table $$t0 30 30 funcref)
+ (table $$t1 30 30 funcref)
+ (elem (table $$t1) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t1) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (func (result i32) (i32.const 5)) ;; index 5
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9)) ;; index 9
+ (func (export "test")
+ (table.init $$t1 1 (i32.const 7) (i32.const 0) (i32.const 4)))
+ (func (export "check") (param i32) (result i32)
+ (call_indirect $$t1 (type 0) (local.get 0)))
+)`);
+
+// ./test/core/table_init.wast:223
+invoke($4, `test`, []);
+
+// ./test/core/table_init.wast:224
+assert_trap(() => invoke($4, `check`, [0]), `uninitialized element`);
+
+// ./test/core/table_init.wast:225
+assert_trap(() => invoke($4, `check`, [1]), `uninitialized element`);
+
+// ./test/core/table_init.wast:226
+assert_return(() => invoke($4, `check`, [2]), [value("i32", 3)]);
+
+// ./test/core/table_init.wast:227
+assert_return(() => invoke($4, `check`, [3]), [value("i32", 1)]);
+
+// ./test/core/table_init.wast:228
+assert_return(() => invoke($4, `check`, [4]), [value("i32", 4)]);
+
+// ./test/core/table_init.wast:229
+assert_return(() => invoke($4, `check`, [5]), [value("i32", 1)]);
+
+// ./test/core/table_init.wast:230
+assert_trap(() => invoke($4, `check`, [6]), `uninitialized element`);
+
+// ./test/core/table_init.wast:231
+assert_return(() => invoke($4, `check`, [7]), [value("i32", 2)]);
+
+// ./test/core/table_init.wast:232
+assert_return(() => invoke($4, `check`, [8]), [value("i32", 7)]);
+
+// ./test/core/table_init.wast:233
+assert_return(() => invoke($4, `check`, [9]), [value("i32", 1)]);
+
+// ./test/core/table_init.wast:234
+assert_return(() => invoke($4, `check`, [10]), [value("i32", 8)]);
+
+// ./test/core/table_init.wast:235
+assert_trap(() => invoke($4, `check`, [11]), `uninitialized element`);
+
+// ./test/core/table_init.wast:236
+assert_return(() => invoke($4, `check`, [12]), [value("i32", 7)]);
+
+// ./test/core/table_init.wast:237
+assert_return(() => invoke($4, `check`, [13]), [value("i32", 5)]);
+
+// ./test/core/table_init.wast:238
+assert_return(() => invoke($4, `check`, [14]), [value("i32", 2)]);
+
+// ./test/core/table_init.wast:239
+assert_return(() => invoke($4, `check`, [15]), [value("i32", 3)]);
+
+// ./test/core/table_init.wast:240
+assert_return(() => invoke($4, `check`, [16]), [value("i32", 6)]);
+
+// ./test/core/table_init.wast:241
+assert_trap(() => invoke($4, `check`, [17]), `uninitialized element`);
+
+// ./test/core/table_init.wast:242
+assert_trap(() => invoke($4, `check`, [18]), `uninitialized element`);
+
+// ./test/core/table_init.wast:243
+assert_trap(() => invoke($4, `check`, [19]), `uninitialized element`);
+
+// ./test/core/table_init.wast:244
+assert_trap(() => invoke($4, `check`, [20]), `uninitialized element`);
+
+// ./test/core/table_init.wast:245
+assert_trap(() => invoke($4, `check`, [21]), `uninitialized element`);
+
+// ./test/core/table_init.wast:246
+assert_trap(() => invoke($4, `check`, [22]), `uninitialized element`);
+
+// ./test/core/table_init.wast:247
+assert_trap(() => invoke($4, `check`, [23]), `uninitialized element`);
+
+// ./test/core/table_init.wast:248
+assert_trap(() => invoke($4, `check`, [24]), `uninitialized element`);
+
+// ./test/core/table_init.wast:249
+assert_trap(() => invoke($4, `check`, [25]), `uninitialized element`);
+
+// ./test/core/table_init.wast:250
+assert_trap(() => invoke($4, `check`, [26]), `uninitialized element`);
+
+// ./test/core/table_init.wast:251
+assert_trap(() => invoke($4, `check`, [27]), `uninitialized element`);
+
+// ./test/core/table_init.wast:252
+assert_trap(() => invoke($4, `check`, [28]), `uninitialized element`);
+
+// ./test/core/table_init.wast:253
+assert_trap(() => invoke($4, `check`, [29]), `uninitialized element`);
+
+// ./test/core/table_init.wast:255
+let $5 = instantiate(`(module
+ (type (func (result i32))) ;; type #0
+ (import "a" "ef0" (func (result i32))) ;; index 0
+ (import "a" "ef1" (func (result i32)))
+ (import "a" "ef2" (func (result i32)))
+ (import "a" "ef3" (func (result i32)))
+ (import "a" "ef4" (func (result i32))) ;; index 4
+ (table $$t0 30 30 funcref)
+ (table $$t1 30 30 funcref)
+ (elem (table $$t1) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t1) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (func (result i32) (i32.const 5)) ;; index 5
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9)) ;; index 9
+ (func (export "test")
+ (table.init $$t1 3 (i32.const 15) (i32.const 1) (i32.const 3)))
+ (func (export "check") (param i32) (result i32)
+ (call_indirect $$t1 (type 0) (local.get 0)))
+)`);
+
+// ./test/core/table_init.wast:281
+invoke($5, `test`, []);
+
+// ./test/core/table_init.wast:282
+assert_trap(() => invoke($5, `check`, [0]), `uninitialized element`);
+
+// ./test/core/table_init.wast:283
+assert_trap(() => invoke($5, `check`, [1]), `uninitialized element`);
+
+// ./test/core/table_init.wast:284
+assert_return(() => invoke($5, `check`, [2]), [value("i32", 3)]);
+
+// ./test/core/table_init.wast:285
+assert_return(() => invoke($5, `check`, [3]), [value("i32", 1)]);
+
+// ./test/core/table_init.wast:286
+assert_return(() => invoke($5, `check`, [4]), [value("i32", 4)]);
+
+// ./test/core/table_init.wast:287
+assert_return(() => invoke($5, `check`, [5]), [value("i32", 1)]);
+
+// ./test/core/table_init.wast:288
+assert_trap(() => invoke($5, `check`, [6]), `uninitialized element`);
+
+// ./test/core/table_init.wast:289
+assert_trap(() => invoke($5, `check`, [7]), `uninitialized element`);
+
+// ./test/core/table_init.wast:290
+assert_trap(() => invoke($5, `check`, [8]), `uninitialized element`);
+
+// ./test/core/table_init.wast:291
+assert_trap(() => invoke($5, `check`, [9]), `uninitialized element`);
+
+// ./test/core/table_init.wast:292
+assert_trap(() => invoke($5, `check`, [10]), `uninitialized element`);
+
+// ./test/core/table_init.wast:293
+assert_trap(() => invoke($5, `check`, [11]), `uninitialized element`);
+
+// ./test/core/table_init.wast:294
+assert_return(() => invoke($5, `check`, [12]), [value("i32", 7)]);
+
+// ./test/core/table_init.wast:295
+assert_return(() => invoke($5, `check`, [13]), [value("i32", 5)]);
+
+// ./test/core/table_init.wast:296
+assert_return(() => invoke($5, `check`, [14]), [value("i32", 2)]);
+
+// ./test/core/table_init.wast:297
+assert_return(() => invoke($5, `check`, [15]), [value("i32", 9)]);
+
+// ./test/core/table_init.wast:298
+assert_return(() => invoke($5, `check`, [16]), [value("i32", 2)]);
+
+// ./test/core/table_init.wast:299
+assert_return(() => invoke($5, `check`, [17]), [value("i32", 7)]);
+
+// ./test/core/table_init.wast:300
+assert_trap(() => invoke($5, `check`, [18]), `uninitialized element`);
+
+// ./test/core/table_init.wast:301
+assert_trap(() => invoke($5, `check`, [19]), `uninitialized element`);
+
+// ./test/core/table_init.wast:302
+assert_trap(() => invoke($5, `check`, [20]), `uninitialized element`);
+
+// ./test/core/table_init.wast:303
+assert_trap(() => invoke($5, `check`, [21]), `uninitialized element`);
+
+// ./test/core/table_init.wast:304
+assert_trap(() => invoke($5, `check`, [22]), `uninitialized element`);
+
+// ./test/core/table_init.wast:305
+assert_trap(() => invoke($5, `check`, [23]), `uninitialized element`);
+
+// ./test/core/table_init.wast:306
+assert_trap(() => invoke($5, `check`, [24]), `uninitialized element`);
+
+// ./test/core/table_init.wast:307
+assert_trap(() => invoke($5, `check`, [25]), `uninitialized element`);
+
+// ./test/core/table_init.wast:308
+assert_trap(() => invoke($5, `check`, [26]), `uninitialized element`);
+
+// ./test/core/table_init.wast:309
+assert_trap(() => invoke($5, `check`, [27]), `uninitialized element`);
+
+// ./test/core/table_init.wast:310
+assert_trap(() => invoke($5, `check`, [28]), `uninitialized element`);
+
+// ./test/core/table_init.wast:311
+assert_trap(() => invoke($5, `check`, [29]), `uninitialized element`);
+
+// ./test/core/table_init.wast:313
+let $6 = instantiate(`(module
+ (type (func (result i32))) ;; type #0
+ (import "a" "ef0" (func (result i32))) ;; index 0
+ (import "a" "ef1" (func (result i32)))
+ (import "a" "ef2" (func (result i32)))
+ (import "a" "ef3" (func (result i32)))
+ (import "a" "ef4" (func (result i32))) ;; index 4
+ (table $$t0 30 30 funcref)
+ (table $$t1 30 30 funcref)
+ (elem (table $$t1) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t1) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (func (result i32) (i32.const 5)) ;; index 5
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9)) ;; index 9
+ (func (export "test")
+ (table.init $$t1 1 (i32.const 7) (i32.const 0) (i32.const 4))
+ (elem.drop 1)
+ (table.init $$t1 3 (i32.const 15) (i32.const 1) (i32.const 3))
+ (elem.drop 3)
+ (table.copy $$t1 1 (i32.const 20) (i32.const 15) (i32.const 5))
+ (table.copy $$t1 1 (i32.const 21) (i32.const 29) (i32.const 1))
+ (table.copy $$t1 1 (i32.const 24) (i32.const 10) (i32.const 1))
+ (table.copy $$t1 1 (i32.const 13) (i32.const 11) (i32.const 4))
+ (table.copy $$t1 1 (i32.const 19) (i32.const 20) (i32.const 5)))
+ (func (export "check") (param i32) (result i32)
+ (call_indirect $$t1 (type 0) (local.get 0)))
+)`);
+
+// ./test/core/table_init.wast:347
+invoke($6, `test`, []);
+
+// ./test/core/table_init.wast:348
+assert_trap(() => invoke($6, `check`, [0]), `uninitialized element`);
+
+// ./test/core/table_init.wast:349
+assert_trap(() => invoke($6, `check`, [1]), `uninitialized element`);
+
+// ./test/core/table_init.wast:350
+assert_return(() => invoke($6, `check`, [2]), [value("i32", 3)]);
+
+// ./test/core/table_init.wast:351
+assert_return(() => invoke($6, `check`, [3]), [value("i32", 1)]);
+
+// ./test/core/table_init.wast:352
+assert_return(() => invoke($6, `check`, [4]), [value("i32", 4)]);
+
+// ./test/core/table_init.wast:353
+assert_return(() => invoke($6, `check`, [5]), [value("i32", 1)]);
+
+// ./test/core/table_init.wast:354
+assert_trap(() => invoke($6, `check`, [6]), `uninitialized element`);
+
+// ./test/core/table_init.wast:355
+assert_return(() => invoke($6, `check`, [7]), [value("i32", 2)]);
+
+// ./test/core/table_init.wast:356
+assert_return(() => invoke($6, `check`, [8]), [value("i32", 7)]);
+
+// ./test/core/table_init.wast:357
+assert_return(() => invoke($6, `check`, [9]), [value("i32", 1)]);
+
+// ./test/core/table_init.wast:358
+assert_return(() => invoke($6, `check`, [10]), [value("i32", 8)]);
+
+// ./test/core/table_init.wast:359
+assert_trap(() => invoke($6, `check`, [11]), `uninitialized element`);
+
+// ./test/core/table_init.wast:360
+assert_return(() => invoke($6, `check`, [12]), [value("i32", 7)]);
+
+// ./test/core/table_init.wast:361
+assert_trap(() => invoke($6, `check`, [13]), `uninitialized element`);
+
+// ./test/core/table_init.wast:362
+assert_return(() => invoke($6, `check`, [14]), [value("i32", 7)]);
+
+// ./test/core/table_init.wast:363
+assert_return(() => invoke($6, `check`, [15]), [value("i32", 5)]);
+
+// ./test/core/table_init.wast:364
+assert_return(() => invoke($6, `check`, [16]), [value("i32", 2)]);
+
+// ./test/core/table_init.wast:365
+assert_return(() => invoke($6, `check`, [17]), [value("i32", 7)]);
+
+// ./test/core/table_init.wast:366
+assert_trap(() => invoke($6, `check`, [18]), `uninitialized element`);
+
+// ./test/core/table_init.wast:367
+assert_return(() => invoke($6, `check`, [19]), [value("i32", 9)]);
+
+// ./test/core/table_init.wast:368
+assert_trap(() => invoke($6, `check`, [20]), `uninitialized element`);
+
+// ./test/core/table_init.wast:369
+assert_return(() => invoke($6, `check`, [21]), [value("i32", 7)]);
+
+// ./test/core/table_init.wast:370
+assert_trap(() => invoke($6, `check`, [22]), `uninitialized element`);
+
+// ./test/core/table_init.wast:371
+assert_return(() => invoke($6, `check`, [23]), [value("i32", 8)]);
+
+// ./test/core/table_init.wast:372
+assert_return(() => invoke($6, `check`, [24]), [value("i32", 8)]);
+
+// ./test/core/table_init.wast:373
+assert_trap(() => invoke($6, `check`, [25]), `uninitialized element`);
+
+// ./test/core/table_init.wast:374
+assert_trap(() => invoke($6, `check`, [26]), `uninitialized element`);
+
+// ./test/core/table_init.wast:375
+assert_trap(() => invoke($6, `check`, [27]), `uninitialized element`);
+
+// ./test/core/table_init.wast:376
+assert_trap(() => invoke($6, `check`, [28]), `uninitialized element`);
+
+// ./test/core/table_init.wast:377
+assert_trap(() => invoke($6, `check`, [29]), `uninitialized element`);
+
+// ./test/core/table_init.wast:378
+assert_invalid(
+ () => instantiate(`(module
+ (func (export "test")
+ (elem.drop 0)))`),
+ `unknown elem segment 0`,
+);
+
+// ./test/core/table_init.wast:384
+assert_invalid(
+ () => instantiate(`(module
+ (func (export "test")
+ (table.init 0 (i32.const 12) (i32.const 1) (i32.const 1))))`),
+ `unknown table 0`,
+);
+
+// ./test/core/table_init.wast:390
+assert_invalid(
+ () => instantiate(`(module
+ (elem funcref (ref.func 0))
+ (func (result i32) (i32.const 0))
+ (func (export "test")
+ (elem.drop 4)))`),
+ `unknown elem segment 4`,
+);
+
+// ./test/core/table_init.wast:398
+assert_invalid(
+ () => instantiate(`(module
+ (elem funcref (ref.func 0))
+ (func (result i32) (i32.const 0))
+ (func (export "test")
+ (table.init 4 (i32.const 12) (i32.const 1) (i32.const 1))))`),
+ `unknown table 0`,
+);
+
+// ./test/core/table_init.wast:407
+let $7 = instantiate(`(module
+ (table $$t0 30 30 funcref)
+ (table $$t1 28 28 funcref)
+ (elem (table $$t0) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t0) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (func (result i32) (i32.const 0))
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4))
+ (func (result i32) (i32.const 5))
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9))
+ (func (export "test")
+ (elem.drop 2)
+ ))`);
+
+// ./test/core/table_init.wast:429
+invoke($7, `test`, []);
+
+// ./test/core/table_init.wast:431
+let $8 = instantiate(`(module
+ (table $$t0 30 30 funcref)
+ (table $$t1 28 28 funcref)
+ (elem (table $$t0) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t0) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (func (result i32) (i32.const 0))
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4))
+ (func (result i32) (i32.const 5))
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9))
+ (func (export "test")
+ (table.init 2 (i32.const 12) (i32.const 1) (i32.const 1))
+ ))`);
+
+// ./test/core/table_init.wast:453
+assert_trap(() => invoke($8, `test`, []), `out of bounds table access`);
+
+// ./test/core/table_init.wast:455
+let $9 = instantiate(`(module
+ (table $$t0 30 30 funcref)
+ (table $$t1 28 28 funcref)
+ (elem (table $$t0) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t0) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (func (result i32) (i32.const 0))
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4))
+ (func (result i32) (i32.const 5))
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9))
+ (func (export "test")
+ (table.init 1 (i32.const 12) (i32.const 1) (i32.const 1))
+ (table.init 1 (i32.const 21) (i32.const 1) (i32.const 1))))`);
+
+// ./test/core/table_init.wast:477
+invoke($9, `test`, []);
+
+// ./test/core/table_init.wast:479
+let $10 = instantiate(`(module
+ (table $$t0 30 30 funcref)
+ (table $$t1 28 28 funcref)
+ (elem (table $$t0) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t0) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (func (result i32) (i32.const 0))
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4))
+ (func (result i32) (i32.const 5))
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9))
+ (func (export "test")
+ (elem.drop 1)
+ (elem.drop 1)))`);
+
+// ./test/core/table_init.wast:501
+invoke($10, `test`, []);
+
+// ./test/core/table_init.wast:503
+let $11 = instantiate(`(module
+ (table $$t0 30 30 funcref)
+ (table $$t1 28 28 funcref)
+ (elem (table $$t0) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t0) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (func (result i32) (i32.const 0))
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4))
+ (func (result i32) (i32.const 5))
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9))
+ (func (export "test")
+ (elem.drop 1)
+ (table.init 1 (i32.const 12) (i32.const 1) (i32.const 1))))`);
+
+// ./test/core/table_init.wast:525
+assert_trap(() => invoke($11, `test`, []), `out of bounds table access`);
+
+// ./test/core/table_init.wast:527
+let $12 = instantiate(`(module
+ (table $$t0 30 30 funcref)
+ (table $$t1 28 28 funcref)
+ (elem (table $$t0) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t0) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (func (result i32) (i32.const 0))
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4))
+ (func (result i32) (i32.const 5))
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9))
+ (func (export "test")
+ (table.init 1 (i32.const 12) (i32.const 0) (i32.const 5))
+ ))`);
+
+// ./test/core/table_init.wast:549
+assert_trap(() => invoke($12, `test`, []), `out of bounds table access`);
+
+// ./test/core/table_init.wast:551
+let $13 = instantiate(`(module
+ (table $$t0 30 30 funcref)
+ (table $$t1 28 28 funcref)
+ (elem (table $$t0) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t0) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (func (result i32) (i32.const 0))
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4))
+ (func (result i32) (i32.const 5))
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9))
+ (func (export "test")
+ (table.init 1 (i32.const 12) (i32.const 2) (i32.const 3))
+ ))`);
+
+// ./test/core/table_init.wast:573
+assert_trap(() => invoke($13, `test`, []), `out of bounds table access`);
+
+// ./test/core/table_init.wast:575
+let $14 = instantiate(`(module
+ (table $$t0 30 30 funcref)
+ (table $$t1 28 28 funcref)
+ (elem (table $$t0) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t0) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (func (result i32) (i32.const 0))
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4))
+ (func (result i32) (i32.const 5))
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9))
+ (func (export "test")
+ (table.init $$t0 1 (i32.const 28) (i32.const 1) (i32.const 3))
+ ))`);
+
+// ./test/core/table_init.wast:597
+assert_trap(() => invoke($14, `test`, []), `out of bounds table access`);
+
+// ./test/core/table_init.wast:599
+let $15 = instantiate(`(module
+ (table $$t0 30 30 funcref)
+ (table $$t1 28 28 funcref)
+ (elem (table $$t0) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t0) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (func (result i32) (i32.const 0))
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4))
+ (func (result i32) (i32.const 5))
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9))
+ (func (export "test")
+ (table.init $$t0 1 (i32.const 12) (i32.const 4) (i32.const 0))
+ ))`);
+
+// ./test/core/table_init.wast:621
+invoke($15, `test`, []);
+
+// ./test/core/table_init.wast:623
+let $16 = instantiate(`(module
+ (table $$t0 30 30 funcref)
+ (table $$t1 28 28 funcref)
+ (elem (table $$t0) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t0) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (func (result i32) (i32.const 0))
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4))
+ (func (result i32) (i32.const 5))
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9))
+ (func (export "test")
+ (table.init $$t0 1 (i32.const 12) (i32.const 5) (i32.const 0))
+ ))`);
+
+// ./test/core/table_init.wast:645
+assert_trap(() => invoke($16, `test`, []), `out of bounds table access`);
+
+// ./test/core/table_init.wast:647
+let $17 = instantiate(`(module
+ (table $$t0 30 30 funcref)
+ (table $$t1 28 28 funcref)
+ (elem (table $$t0) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t0) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (func (result i32) (i32.const 0))
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4))
+ (func (result i32) (i32.const 5))
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9))
+ (func (export "test")
+ (table.init $$t0 1 (i32.const 30) (i32.const 2) (i32.const 0))
+ ))`);
+
+// ./test/core/table_init.wast:669
+invoke($17, `test`, []);
+
+// ./test/core/table_init.wast:671
+let $18 = instantiate(`(module
+ (table $$t0 30 30 funcref)
+ (table $$t1 28 28 funcref)
+ (elem (table $$t0) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t0) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (func (result i32) (i32.const 0))
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4))
+ (func (result i32) (i32.const 5))
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9))
+ (func (export "test")
+ (table.init $$t0 1 (i32.const 31) (i32.const 2) (i32.const 0))
+ ))`);
+
+// ./test/core/table_init.wast:693
+assert_trap(() => invoke($18, `test`, []), `out of bounds table access`);
+
+// ./test/core/table_init.wast:695
+let $19 = instantiate(`(module
+ (table $$t0 30 30 funcref)
+ (table $$t1 28 28 funcref)
+ (elem (table $$t0) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t0) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (func (result i32) (i32.const 0))
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4))
+ (func (result i32) (i32.const 5))
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9))
+ (func (export "test")
+ (table.init $$t0 1 (i32.const 30) (i32.const 4) (i32.const 0))
+ ))`);
+
+// ./test/core/table_init.wast:717
+invoke($19, `test`, []);
+
+// ./test/core/table_init.wast:719
+let $20 = instantiate(`(module
+ (table $$t0 30 30 funcref)
+ (table $$t1 28 28 funcref)
+ (elem (table $$t0) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t0) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (func (result i32) (i32.const 0))
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4))
+ (func (result i32) (i32.const 5))
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9))
+ (func (export "test")
+ (table.init $$t0 1 (i32.const 31) (i32.const 5) (i32.const 0))
+ ))`);
+
+// ./test/core/table_init.wast:741
+assert_trap(() => invoke($20, `test`, []), `out of bounds table access`);
+
+// ./test/core/table_init.wast:743
+let $21 = instantiate(`(module
+ (table $$t0 30 30 funcref)
+ (table $$t1 28 28 funcref)
+ (elem (table $$t1) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t1) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (func (result i32) (i32.const 0))
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4))
+ (func (result i32) (i32.const 5))
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9))
+ (func (export "test")
+ (table.init $$t1 1 (i32.const 26) (i32.const 1) (i32.const 3))
+ ))`);
+
+// ./test/core/table_init.wast:765
+assert_trap(() => invoke($21, `test`, []), `out of bounds table access`);
+
+// ./test/core/table_init.wast:767
+let $22 = instantiate(`(module
+ (table $$t0 30 30 funcref)
+ (table $$t1 28 28 funcref)
+ (elem (table $$t1) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t1) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (func (result i32) (i32.const 0))
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4))
+ (func (result i32) (i32.const 5))
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9))
+ (func (export "test")
+ (table.init $$t1 1 (i32.const 12) (i32.const 4) (i32.const 0))
+ ))`);
+
+// ./test/core/table_init.wast:789
+invoke($22, `test`, []);
+
+// ./test/core/table_init.wast:791
+let $23 = instantiate(`(module
+ (table $$t0 30 30 funcref)
+ (table $$t1 28 28 funcref)
+ (elem (table $$t1) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t1) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (func (result i32) (i32.const 0))
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4))
+ (func (result i32) (i32.const 5))
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9))
+ (func (export "test")
+ (table.init $$t1 1 (i32.const 12) (i32.const 5) (i32.const 0))
+ ))`);
+
+// ./test/core/table_init.wast:813
+assert_trap(() => invoke($23, `test`, []), `out of bounds table access`);
+
+// ./test/core/table_init.wast:815
+let $24 = instantiate(`(module
+ (table $$t0 30 30 funcref)
+ (table $$t1 28 28 funcref)
+ (elem (table $$t1) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t1) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (func (result i32) (i32.const 0))
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4))
+ (func (result i32) (i32.const 5))
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9))
+ (func (export "test")
+ (table.init $$t1 1 (i32.const 28) (i32.const 2) (i32.const 0))
+ ))`);
+
+// ./test/core/table_init.wast:837
+invoke($24, `test`, []);
+
+// ./test/core/table_init.wast:839
+let $25 = instantiate(`(module
+ (table $$t0 30 30 funcref)
+ (table $$t1 28 28 funcref)
+ (elem (table $$t1) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t1) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (func (result i32) (i32.const 0))
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4))
+ (func (result i32) (i32.const 5))
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9))
+ (func (export "test")
+ (table.init $$t1 1 (i32.const 29) (i32.const 2) (i32.const 0))
+ ))`);
+
+// ./test/core/table_init.wast:861
+assert_trap(() => invoke($25, `test`, []), `out of bounds table access`);
+
+// ./test/core/table_init.wast:863
+let $26 = instantiate(`(module
+ (table $$t0 30 30 funcref)
+ (table $$t1 28 28 funcref)
+ (elem (table $$t1) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t1) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (func (result i32) (i32.const 0))
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4))
+ (func (result i32) (i32.const 5))
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9))
+ (func (export "test")
+ (table.init $$t1 1 (i32.const 28) (i32.const 4) (i32.const 0))
+ ))`);
+
+// ./test/core/table_init.wast:885
+invoke($26, `test`, []);
+
+// ./test/core/table_init.wast:887
+let $27 = instantiate(`(module
+ (table $$t0 30 30 funcref)
+ (table $$t1 28 28 funcref)
+ (elem (table $$t1) (i32.const 2) func 3 1 4 1)
+ (elem funcref
+ (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
+ (elem (table $$t1) (i32.const 12) func 7 5 2 3 6)
+ (elem funcref
+ (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
+ (func (result i32) (i32.const 0))
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4))
+ (func (result i32) (i32.const 5))
+ (func (result i32) (i32.const 6))
+ (func (result i32) (i32.const 7))
+ (func (result i32) (i32.const 8))
+ (func (result i32) (i32.const 9))
+ (func (export "test")
+ (table.init $$t1 1 (i32.const 29) (i32.const 5) (i32.const 0))
+ ))`);
+
+// ./test/core/table_init.wast:909
+assert_trap(() => invoke($27, `test`, []), `out of bounds table access`);
+
+// ./test/core/table_init.wast:911
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (i32.const 1) (i32.const 1) (f32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:920
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (i32.const 1) (i32.const 1) (i64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:929
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (i32.const 1) (i32.const 1) (f64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:938
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (i32.const 1) (f32.const 1) (i32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:947
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (i32.const 1) (f32.const 1) (f32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:956
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (i32.const 1) (f32.const 1) (i64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:965
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (i32.const 1) (f32.const 1) (f64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:974
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (i32.const 1) (i64.const 1) (i32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:983
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (i32.const 1) (i64.const 1) (f32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:992
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (i32.const 1) (i64.const 1) (i64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:1001
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (i32.const 1) (i64.const 1) (f64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:1010
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (i32.const 1) (f64.const 1) (i32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:1019
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (i32.const 1) (f64.const 1) (f32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:1028
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (i32.const 1) (f64.const 1) (i64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:1037
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (i32.const 1) (f64.const 1) (f64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:1046
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (f32.const 1) (i32.const 1) (i32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:1055
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (f32.const 1) (i32.const 1) (f32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:1064
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (f32.const 1) (i32.const 1) (i64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:1073
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (f32.const 1) (i32.const 1) (f64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:1082
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (f32.const 1) (f32.const 1) (i32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:1091
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (f32.const 1) (f32.const 1) (f32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:1100
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (f32.const 1) (f32.const 1) (i64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:1109
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (f32.const 1) (f32.const 1) (f64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:1118
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (f32.const 1) (i64.const 1) (i32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:1127
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (f32.const 1) (i64.const 1) (f32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:1136
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (f32.const 1) (i64.const 1) (i64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:1145
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (f32.const 1) (i64.const 1) (f64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:1154
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (f32.const 1) (f64.const 1) (i32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:1163
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (f32.const 1) (f64.const 1) (f32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:1172
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (f32.const 1) (f64.const 1) (i64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:1181
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (f32.const 1) (f64.const 1) (f64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:1190
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (i64.const 1) (i32.const 1) (i32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:1199
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (i64.const 1) (i32.const 1) (f32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:1208
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (i64.const 1) (i32.const 1) (i64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:1217
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (i64.const 1) (i32.const 1) (f64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:1226
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (i64.const 1) (f32.const 1) (i32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:1235
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (i64.const 1) (f32.const 1) (f32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:1244
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (i64.const 1) (f32.const 1) (i64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:1253
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (i64.const 1) (f32.const 1) (f64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:1262
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (i64.const 1) (i64.const 1) (i32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:1271
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (i64.const 1) (i64.const 1) (f32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:1280
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (i64.const 1) (i64.const 1) (i64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:1289
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (i64.const 1) (i64.const 1) (f64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:1298
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (i64.const 1) (f64.const 1) (i32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:1307
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (i64.const 1) (f64.const 1) (f32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:1316
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (i64.const 1) (f64.const 1) (i64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:1325
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (i64.const 1) (f64.const 1) (f64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:1334
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (f64.const 1) (i32.const 1) (i32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:1343
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (f64.const 1) (i32.const 1) (f32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:1352
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (f64.const 1) (i32.const 1) (i64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:1361
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (f64.const 1) (i32.const 1) (f64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:1370
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (f64.const 1) (f32.const 1) (i32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:1379
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (f64.const 1) (f32.const 1) (f32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:1388
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (f64.const 1) (f32.const 1) (i64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:1397
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (f64.const 1) (f32.const 1) (f64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:1406
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (f64.const 1) (i64.const 1) (i32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:1415
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (f64.const 1) (i64.const 1) (f32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:1424
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (f64.const 1) (i64.const 1) (i64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:1433
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (f64.const 1) (i64.const 1) (f64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:1442
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (f64.const 1) (f64.const 1) (i32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:1451
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (f64.const 1) (f64.const 1) (f32.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:1460
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (f64.const 1) (f64.const 1) (i64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:1469
+assert_invalid(
+ () => instantiate(`(module
+ (table 10 funcref)
+ (elem funcref (ref.func $$f0) (ref.func $$f0) (ref.func $$f0))
+ (func $$f0)
+ (func (export "test")
+ (table.init 0 (f64.const 1) (f64.const 1) (f64.const 1))))`),
+ `type mismatch`,
+);
+
+// ./test/core/table_init.wast:1478
+let $28 = instantiate(`(module
+ (type (func (result i32)))
+ (table 32 64 funcref)
+ (elem funcref
+ (ref.func $$f0) (ref.func $$f1) (ref.func $$f2) (ref.func $$f3)
+ (ref.func $$f4) (ref.func $$f5) (ref.func $$f6) (ref.func $$f7)
+ (ref.func $$f8) (ref.func $$f9) (ref.func $$f10) (ref.func $$f11)
+ (ref.func $$f12) (ref.func $$f13) (ref.func $$f14) (ref.func $$f15))
+ (func $$f0 (export "f0") (result i32) (i32.const 0))
+ (func $$f1 (export "f1") (result i32) (i32.const 1))
+ (func $$f2 (export "f2") (result i32) (i32.const 2))
+ (func $$f3 (export "f3") (result i32) (i32.const 3))
+ (func $$f4 (export "f4") (result i32) (i32.const 4))
+ (func $$f5 (export "f5") (result i32) (i32.const 5))
+ (func $$f6 (export "f6") (result i32) (i32.const 6))
+ (func $$f7 (export "f7") (result i32) (i32.const 7))
+ (func $$f8 (export "f8") (result i32) (i32.const 8))
+ (func $$f9 (export "f9") (result i32) (i32.const 9))
+ (func $$f10 (export "f10") (result i32) (i32.const 10))
+ (func $$f11 (export "f11") (result i32) (i32.const 11))
+ (func $$f12 (export "f12") (result i32) (i32.const 12))
+ (func $$f13 (export "f13") (result i32) (i32.const 13))
+ (func $$f14 (export "f14") (result i32) (i32.const 14))
+ (func $$f15 (export "f15") (result i32) (i32.const 15))
+ (func (export "test") (param $$n i32) (result i32)
+ (call_indirect (type 0) (local.get $$n)))
+ (func (export "run") (param $$offs i32) (param $$len i32)
+ (table.init 0 (local.get $$offs) (i32.const 0) (local.get $$len))))`);
+
+// ./test/core/table_init.wast:1506
+assert_trap(() => invoke($28, `run`, [24, 16]), `out of bounds table access`);
+
+// ./test/core/table_init.wast:1507
+assert_trap(() => invoke($28, `test`, [0]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1508
+assert_trap(() => invoke($28, `test`, [1]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1509
+assert_trap(() => invoke($28, `test`, [2]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1510
+assert_trap(() => invoke($28, `test`, [3]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1511
+assert_trap(() => invoke($28, `test`, [4]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1512
+assert_trap(() => invoke($28, `test`, [5]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1513
+assert_trap(() => invoke($28, `test`, [6]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1514
+assert_trap(() => invoke($28, `test`, [7]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1515
+assert_trap(() => invoke($28, `test`, [8]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1516
+assert_trap(() => invoke($28, `test`, [9]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1517
+assert_trap(() => invoke($28, `test`, [10]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1518
+assert_trap(() => invoke($28, `test`, [11]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1519
+assert_trap(() => invoke($28, `test`, [12]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1520
+assert_trap(() => invoke($28, `test`, [13]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1521
+assert_trap(() => invoke($28, `test`, [14]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1522
+assert_trap(() => invoke($28, `test`, [15]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1523
+assert_trap(() => invoke($28, `test`, [16]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1524
+assert_trap(() => invoke($28, `test`, [17]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1525
+assert_trap(() => invoke($28, `test`, [18]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1526
+assert_trap(() => invoke($28, `test`, [19]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1527
+assert_trap(() => invoke($28, `test`, [20]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1528
+assert_trap(() => invoke($28, `test`, [21]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1529
+assert_trap(() => invoke($28, `test`, [22]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1530
+assert_trap(() => invoke($28, `test`, [23]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1531
+assert_trap(() => invoke($28, `test`, [24]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1532
+assert_trap(() => invoke($28, `test`, [25]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1533
+assert_trap(() => invoke($28, `test`, [26]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1534
+assert_trap(() => invoke($28, `test`, [27]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1535
+assert_trap(() => invoke($28, `test`, [28]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1536
+assert_trap(() => invoke($28, `test`, [29]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1537
+assert_trap(() => invoke($28, `test`, [30]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1538
+assert_trap(() => invoke($28, `test`, [31]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1540
+let $29 = instantiate(`(module
+ (type (func (result i32)))
+ (table 32 64 funcref)
+ (elem funcref
+ (ref.func $$f0) (ref.func $$f1) (ref.func $$f2) (ref.func $$f3)
+ (ref.func $$f4) (ref.func $$f5) (ref.func $$f6) (ref.func $$f7)
+ (ref.func $$f8) (ref.func $$f9) (ref.func $$f10) (ref.func $$f11)
+ (ref.func $$f12) (ref.func $$f13) (ref.func $$f14) (ref.func $$f15))
+ (func $$f0 (export "f0") (result i32) (i32.const 0))
+ (func $$f1 (export "f1") (result i32) (i32.const 1))
+ (func $$f2 (export "f2") (result i32) (i32.const 2))
+ (func $$f3 (export "f3") (result i32) (i32.const 3))
+ (func $$f4 (export "f4") (result i32) (i32.const 4))
+ (func $$f5 (export "f5") (result i32) (i32.const 5))
+ (func $$f6 (export "f6") (result i32) (i32.const 6))
+ (func $$f7 (export "f7") (result i32) (i32.const 7))
+ (func $$f8 (export "f8") (result i32) (i32.const 8))
+ (func $$f9 (export "f9") (result i32) (i32.const 9))
+ (func $$f10 (export "f10") (result i32) (i32.const 10))
+ (func $$f11 (export "f11") (result i32) (i32.const 11))
+ (func $$f12 (export "f12") (result i32) (i32.const 12))
+ (func $$f13 (export "f13") (result i32) (i32.const 13))
+ (func $$f14 (export "f14") (result i32) (i32.const 14))
+ (func $$f15 (export "f15") (result i32) (i32.const 15))
+ (func (export "test") (param $$n i32) (result i32)
+ (call_indirect (type 0) (local.get $$n)))
+ (func (export "run") (param $$offs i32) (param $$len i32)
+ (table.init 0 (local.get $$offs) (i32.const 0) (local.get $$len))))`);
+
+// ./test/core/table_init.wast:1568
+assert_trap(() => invoke($29, `run`, [25, 16]), `out of bounds table access`);
+
+// ./test/core/table_init.wast:1569
+assert_trap(() => invoke($29, `test`, [0]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1570
+assert_trap(() => invoke($29, `test`, [1]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1571
+assert_trap(() => invoke($29, `test`, [2]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1572
+assert_trap(() => invoke($29, `test`, [3]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1573
+assert_trap(() => invoke($29, `test`, [4]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1574
+assert_trap(() => invoke($29, `test`, [5]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1575
+assert_trap(() => invoke($29, `test`, [6]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1576
+assert_trap(() => invoke($29, `test`, [7]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1577
+assert_trap(() => invoke($29, `test`, [8]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1578
+assert_trap(() => invoke($29, `test`, [9]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1579
+assert_trap(() => invoke($29, `test`, [10]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1580
+assert_trap(() => invoke($29, `test`, [11]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1581
+assert_trap(() => invoke($29, `test`, [12]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1582
+assert_trap(() => invoke($29, `test`, [13]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1583
+assert_trap(() => invoke($29, `test`, [14]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1584
+assert_trap(() => invoke($29, `test`, [15]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1585
+assert_trap(() => invoke($29, `test`, [16]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1586
+assert_trap(() => invoke($29, `test`, [17]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1587
+assert_trap(() => invoke($29, `test`, [18]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1588
+assert_trap(() => invoke($29, `test`, [19]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1589
+assert_trap(() => invoke($29, `test`, [20]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1590
+assert_trap(() => invoke($29, `test`, [21]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1591
+assert_trap(() => invoke($29, `test`, [22]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1592
+assert_trap(() => invoke($29, `test`, [23]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1593
+assert_trap(() => invoke($29, `test`, [24]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1594
+assert_trap(() => invoke($29, `test`, [25]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1595
+assert_trap(() => invoke($29, `test`, [26]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1596
+assert_trap(() => invoke($29, `test`, [27]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1597
+assert_trap(() => invoke($29, `test`, [28]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1598
+assert_trap(() => invoke($29, `test`, [29]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1599
+assert_trap(() => invoke($29, `test`, [30]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1600
+assert_trap(() => invoke($29, `test`, [31]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1602
+let $30 = instantiate(`(module
+ (type (func (result i32)))
+ (table 160 320 funcref)
+ (elem funcref
+ (ref.func $$f0) (ref.func $$f1) (ref.func $$f2) (ref.func $$f3)
+ (ref.func $$f4) (ref.func $$f5) (ref.func $$f6) (ref.func $$f7)
+ (ref.func $$f8) (ref.func $$f9) (ref.func $$f10) (ref.func $$f11)
+ (ref.func $$f12) (ref.func $$f13) (ref.func $$f14) (ref.func $$f15))
+ (func $$f0 (export "f0") (result i32) (i32.const 0))
+ (func $$f1 (export "f1") (result i32) (i32.const 1))
+ (func $$f2 (export "f2") (result i32) (i32.const 2))
+ (func $$f3 (export "f3") (result i32) (i32.const 3))
+ (func $$f4 (export "f4") (result i32) (i32.const 4))
+ (func $$f5 (export "f5") (result i32) (i32.const 5))
+ (func $$f6 (export "f6") (result i32) (i32.const 6))
+ (func $$f7 (export "f7") (result i32) (i32.const 7))
+ (func $$f8 (export "f8") (result i32) (i32.const 8))
+ (func $$f9 (export "f9") (result i32) (i32.const 9))
+ (func $$f10 (export "f10") (result i32) (i32.const 10))
+ (func $$f11 (export "f11") (result i32) (i32.const 11))
+ (func $$f12 (export "f12") (result i32) (i32.const 12))
+ (func $$f13 (export "f13") (result i32) (i32.const 13))
+ (func $$f14 (export "f14") (result i32) (i32.const 14))
+ (func $$f15 (export "f15") (result i32) (i32.const 15))
+ (func (export "test") (param $$n i32) (result i32)
+ (call_indirect (type 0) (local.get $$n)))
+ (func (export "run") (param $$offs i32) (param $$len i32)
+ (table.init 0 (local.get $$offs) (i32.const 0) (local.get $$len))))`);
+
+// ./test/core/table_init.wast:1630
+assert_trap(() => invoke($30, `run`, [96, 32]), `out of bounds table access`);
+
+// ./test/core/table_init.wast:1631
+assert_trap(() => invoke($30, `test`, [0]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1632
+assert_trap(() => invoke($30, `test`, [1]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1633
+assert_trap(() => invoke($30, `test`, [2]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1634
+assert_trap(() => invoke($30, `test`, [3]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1635
+assert_trap(() => invoke($30, `test`, [4]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1636
+assert_trap(() => invoke($30, `test`, [5]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1637
+assert_trap(() => invoke($30, `test`, [6]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1638
+assert_trap(() => invoke($30, `test`, [7]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1639
+assert_trap(() => invoke($30, `test`, [8]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1640
+assert_trap(() => invoke($30, `test`, [9]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1641
+assert_trap(() => invoke($30, `test`, [10]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1642
+assert_trap(() => invoke($30, `test`, [11]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1643
+assert_trap(() => invoke($30, `test`, [12]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1644
+assert_trap(() => invoke($30, `test`, [13]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1645
+assert_trap(() => invoke($30, `test`, [14]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1646
+assert_trap(() => invoke($30, `test`, [15]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1647
+assert_trap(() => invoke($30, `test`, [16]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1648
+assert_trap(() => invoke($30, `test`, [17]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1649
+assert_trap(() => invoke($30, `test`, [18]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1650
+assert_trap(() => invoke($30, `test`, [19]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1651
+assert_trap(() => invoke($30, `test`, [20]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1652
+assert_trap(() => invoke($30, `test`, [21]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1653
+assert_trap(() => invoke($30, `test`, [22]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1654
+assert_trap(() => invoke($30, `test`, [23]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1655
+assert_trap(() => invoke($30, `test`, [24]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1656
+assert_trap(() => invoke($30, `test`, [25]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1657
+assert_trap(() => invoke($30, `test`, [26]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1658
+assert_trap(() => invoke($30, `test`, [27]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1659
+assert_trap(() => invoke($30, `test`, [28]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1660
+assert_trap(() => invoke($30, `test`, [29]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1661
+assert_trap(() => invoke($30, `test`, [30]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1662
+assert_trap(() => invoke($30, `test`, [31]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1663
+assert_trap(() => invoke($30, `test`, [32]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1664
+assert_trap(() => invoke($30, `test`, [33]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1665
+assert_trap(() => invoke($30, `test`, [34]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1666
+assert_trap(() => invoke($30, `test`, [35]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1667
+assert_trap(() => invoke($30, `test`, [36]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1668
+assert_trap(() => invoke($30, `test`, [37]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1669
+assert_trap(() => invoke($30, `test`, [38]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1670
+assert_trap(() => invoke($30, `test`, [39]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1671
+assert_trap(() => invoke($30, `test`, [40]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1672
+assert_trap(() => invoke($30, `test`, [41]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1673
+assert_trap(() => invoke($30, `test`, [42]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1674
+assert_trap(() => invoke($30, `test`, [43]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1675
+assert_trap(() => invoke($30, `test`, [44]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1676
+assert_trap(() => invoke($30, `test`, [45]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1677
+assert_trap(() => invoke($30, `test`, [46]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1678
+assert_trap(() => invoke($30, `test`, [47]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1679
+assert_trap(() => invoke($30, `test`, [48]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1680
+assert_trap(() => invoke($30, `test`, [49]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1681
+assert_trap(() => invoke($30, `test`, [50]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1682
+assert_trap(() => invoke($30, `test`, [51]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1683
+assert_trap(() => invoke($30, `test`, [52]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1684
+assert_trap(() => invoke($30, `test`, [53]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1685
+assert_trap(() => invoke($30, `test`, [54]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1686
+assert_trap(() => invoke($30, `test`, [55]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1687
+assert_trap(() => invoke($30, `test`, [56]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1688
+assert_trap(() => invoke($30, `test`, [57]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1689
+assert_trap(() => invoke($30, `test`, [58]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1690
+assert_trap(() => invoke($30, `test`, [59]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1691
+assert_trap(() => invoke($30, `test`, [60]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1692
+assert_trap(() => invoke($30, `test`, [61]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1693
+assert_trap(() => invoke($30, `test`, [62]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1694
+assert_trap(() => invoke($30, `test`, [63]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1695
+assert_trap(() => invoke($30, `test`, [64]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1696
+assert_trap(() => invoke($30, `test`, [65]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1697
+assert_trap(() => invoke($30, `test`, [66]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1698
+assert_trap(() => invoke($30, `test`, [67]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1699
+assert_trap(() => invoke($30, `test`, [68]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1700
+assert_trap(() => invoke($30, `test`, [69]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1701
+assert_trap(() => invoke($30, `test`, [70]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1702
+assert_trap(() => invoke($30, `test`, [71]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1703
+assert_trap(() => invoke($30, `test`, [72]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1704
+assert_trap(() => invoke($30, `test`, [73]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1705
+assert_trap(() => invoke($30, `test`, [74]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1706
+assert_trap(() => invoke($30, `test`, [75]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1707
+assert_trap(() => invoke($30, `test`, [76]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1708
+assert_trap(() => invoke($30, `test`, [77]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1709
+assert_trap(() => invoke($30, `test`, [78]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1710
+assert_trap(() => invoke($30, `test`, [79]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1711
+assert_trap(() => invoke($30, `test`, [80]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1712
+assert_trap(() => invoke($30, `test`, [81]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1713
+assert_trap(() => invoke($30, `test`, [82]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1714
+assert_trap(() => invoke($30, `test`, [83]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1715
+assert_trap(() => invoke($30, `test`, [84]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1716
+assert_trap(() => invoke($30, `test`, [85]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1717
+assert_trap(() => invoke($30, `test`, [86]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1718
+assert_trap(() => invoke($30, `test`, [87]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1719
+assert_trap(() => invoke($30, `test`, [88]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1720
+assert_trap(() => invoke($30, `test`, [89]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1721
+assert_trap(() => invoke($30, `test`, [90]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1722
+assert_trap(() => invoke($30, `test`, [91]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1723
+assert_trap(() => invoke($30, `test`, [92]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1724
+assert_trap(() => invoke($30, `test`, [93]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1725
+assert_trap(() => invoke($30, `test`, [94]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1726
+assert_trap(() => invoke($30, `test`, [95]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1727
+assert_trap(() => invoke($30, `test`, [96]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1728
+assert_trap(() => invoke($30, `test`, [97]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1729
+assert_trap(() => invoke($30, `test`, [98]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1730
+assert_trap(() => invoke($30, `test`, [99]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1731
+assert_trap(() => invoke($30, `test`, [100]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1732
+assert_trap(() => invoke($30, `test`, [101]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1733
+assert_trap(() => invoke($30, `test`, [102]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1734
+assert_trap(() => invoke($30, `test`, [103]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1735
+assert_trap(() => invoke($30, `test`, [104]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1736
+assert_trap(() => invoke($30, `test`, [105]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1737
+assert_trap(() => invoke($30, `test`, [106]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1738
+assert_trap(() => invoke($30, `test`, [107]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1739
+assert_trap(() => invoke($30, `test`, [108]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1740
+assert_trap(() => invoke($30, `test`, [109]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1741
+assert_trap(() => invoke($30, `test`, [110]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1742
+assert_trap(() => invoke($30, `test`, [111]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1743
+assert_trap(() => invoke($30, `test`, [112]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1744
+assert_trap(() => invoke($30, `test`, [113]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1745
+assert_trap(() => invoke($30, `test`, [114]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1746
+assert_trap(() => invoke($30, `test`, [115]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1747
+assert_trap(() => invoke($30, `test`, [116]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1748
+assert_trap(() => invoke($30, `test`, [117]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1749
+assert_trap(() => invoke($30, `test`, [118]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1750
+assert_trap(() => invoke($30, `test`, [119]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1751
+assert_trap(() => invoke($30, `test`, [120]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1752
+assert_trap(() => invoke($30, `test`, [121]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1753
+assert_trap(() => invoke($30, `test`, [122]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1754
+assert_trap(() => invoke($30, `test`, [123]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1755
+assert_trap(() => invoke($30, `test`, [124]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1756
+assert_trap(() => invoke($30, `test`, [125]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1757
+assert_trap(() => invoke($30, `test`, [126]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1758
+assert_trap(() => invoke($30, `test`, [127]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1759
+assert_trap(() => invoke($30, `test`, [128]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1760
+assert_trap(() => invoke($30, `test`, [129]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1761
+assert_trap(() => invoke($30, `test`, [130]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1762
+assert_trap(() => invoke($30, `test`, [131]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1763
+assert_trap(() => invoke($30, `test`, [132]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1764
+assert_trap(() => invoke($30, `test`, [133]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1765
+assert_trap(() => invoke($30, `test`, [134]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1766
+assert_trap(() => invoke($30, `test`, [135]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1767
+assert_trap(() => invoke($30, `test`, [136]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1768
+assert_trap(() => invoke($30, `test`, [137]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1769
+assert_trap(() => invoke($30, `test`, [138]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1770
+assert_trap(() => invoke($30, `test`, [139]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1771
+assert_trap(() => invoke($30, `test`, [140]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1772
+assert_trap(() => invoke($30, `test`, [141]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1773
+assert_trap(() => invoke($30, `test`, [142]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1774
+assert_trap(() => invoke($30, `test`, [143]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1775
+assert_trap(() => invoke($30, `test`, [144]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1776
+assert_trap(() => invoke($30, `test`, [145]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1777
+assert_trap(() => invoke($30, `test`, [146]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1778
+assert_trap(() => invoke($30, `test`, [147]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1779
+assert_trap(() => invoke($30, `test`, [148]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1780
+assert_trap(() => invoke($30, `test`, [149]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1781
+assert_trap(() => invoke($30, `test`, [150]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1782
+assert_trap(() => invoke($30, `test`, [151]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1783
+assert_trap(() => invoke($30, `test`, [152]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1784
+assert_trap(() => invoke($30, `test`, [153]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1785
+assert_trap(() => invoke($30, `test`, [154]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1786
+assert_trap(() => invoke($30, `test`, [155]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1787
+assert_trap(() => invoke($30, `test`, [156]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1788
+assert_trap(() => invoke($30, `test`, [157]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1789
+assert_trap(() => invoke($30, `test`, [158]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1790
+assert_trap(() => invoke($30, `test`, [159]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1792
+let $31 = instantiate(`(module
+ (type (func (result i32)))
+ (table 160 320 funcref)
+ (elem funcref
+ (ref.func $$f0) (ref.func $$f1) (ref.func $$f2) (ref.func $$f3)
+ (ref.func $$f4) (ref.func $$f5) (ref.func $$f6) (ref.func $$f7)
+ (ref.func $$f8) (ref.func $$f9) (ref.func $$f10) (ref.func $$f11)
+ (ref.func $$f12) (ref.func $$f13) (ref.func $$f14) (ref.func $$f15))
+ (func $$f0 (export "f0") (result i32) (i32.const 0))
+ (func $$f1 (export "f1") (result i32) (i32.const 1))
+ (func $$f2 (export "f2") (result i32) (i32.const 2))
+ (func $$f3 (export "f3") (result i32) (i32.const 3))
+ (func $$f4 (export "f4") (result i32) (i32.const 4))
+ (func $$f5 (export "f5") (result i32) (i32.const 5))
+ (func $$f6 (export "f6") (result i32) (i32.const 6))
+ (func $$f7 (export "f7") (result i32) (i32.const 7))
+ (func $$f8 (export "f8") (result i32) (i32.const 8))
+ (func $$f9 (export "f9") (result i32) (i32.const 9))
+ (func $$f10 (export "f10") (result i32) (i32.const 10))
+ (func $$f11 (export "f11") (result i32) (i32.const 11))
+ (func $$f12 (export "f12") (result i32) (i32.const 12))
+ (func $$f13 (export "f13") (result i32) (i32.const 13))
+ (func $$f14 (export "f14") (result i32) (i32.const 14))
+ (func $$f15 (export "f15") (result i32) (i32.const 15))
+ (func (export "test") (param $$n i32) (result i32)
+ (call_indirect (type 0) (local.get $$n)))
+ (func (export "run") (param $$offs i32) (param $$len i32)
+ (table.init 0 (local.get $$offs) (i32.const 0) (local.get $$len))))`);
+
+// ./test/core/table_init.wast:1820
+assert_trap(() => invoke($31, `run`, [97, 31]), `out of bounds table access`);
+
+// ./test/core/table_init.wast:1821
+assert_trap(() => invoke($31, `test`, [0]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1822
+assert_trap(() => invoke($31, `test`, [1]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1823
+assert_trap(() => invoke($31, `test`, [2]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1824
+assert_trap(() => invoke($31, `test`, [3]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1825
+assert_trap(() => invoke($31, `test`, [4]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1826
+assert_trap(() => invoke($31, `test`, [5]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1827
+assert_trap(() => invoke($31, `test`, [6]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1828
+assert_trap(() => invoke($31, `test`, [7]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1829
+assert_trap(() => invoke($31, `test`, [8]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1830
+assert_trap(() => invoke($31, `test`, [9]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1831
+assert_trap(() => invoke($31, `test`, [10]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1832
+assert_trap(() => invoke($31, `test`, [11]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1833
+assert_trap(() => invoke($31, `test`, [12]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1834
+assert_trap(() => invoke($31, `test`, [13]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1835
+assert_trap(() => invoke($31, `test`, [14]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1836
+assert_trap(() => invoke($31, `test`, [15]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1837
+assert_trap(() => invoke($31, `test`, [16]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1838
+assert_trap(() => invoke($31, `test`, [17]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1839
+assert_trap(() => invoke($31, `test`, [18]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1840
+assert_trap(() => invoke($31, `test`, [19]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1841
+assert_trap(() => invoke($31, `test`, [20]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1842
+assert_trap(() => invoke($31, `test`, [21]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1843
+assert_trap(() => invoke($31, `test`, [22]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1844
+assert_trap(() => invoke($31, `test`, [23]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1845
+assert_trap(() => invoke($31, `test`, [24]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1846
+assert_trap(() => invoke($31, `test`, [25]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1847
+assert_trap(() => invoke($31, `test`, [26]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1848
+assert_trap(() => invoke($31, `test`, [27]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1849
+assert_trap(() => invoke($31, `test`, [28]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1850
+assert_trap(() => invoke($31, `test`, [29]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1851
+assert_trap(() => invoke($31, `test`, [30]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1852
+assert_trap(() => invoke($31, `test`, [31]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1853
+assert_trap(() => invoke($31, `test`, [32]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1854
+assert_trap(() => invoke($31, `test`, [33]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1855
+assert_trap(() => invoke($31, `test`, [34]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1856
+assert_trap(() => invoke($31, `test`, [35]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1857
+assert_trap(() => invoke($31, `test`, [36]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1858
+assert_trap(() => invoke($31, `test`, [37]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1859
+assert_trap(() => invoke($31, `test`, [38]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1860
+assert_trap(() => invoke($31, `test`, [39]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1861
+assert_trap(() => invoke($31, `test`, [40]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1862
+assert_trap(() => invoke($31, `test`, [41]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1863
+assert_trap(() => invoke($31, `test`, [42]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1864
+assert_trap(() => invoke($31, `test`, [43]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1865
+assert_trap(() => invoke($31, `test`, [44]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1866
+assert_trap(() => invoke($31, `test`, [45]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1867
+assert_trap(() => invoke($31, `test`, [46]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1868
+assert_trap(() => invoke($31, `test`, [47]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1869
+assert_trap(() => invoke($31, `test`, [48]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1870
+assert_trap(() => invoke($31, `test`, [49]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1871
+assert_trap(() => invoke($31, `test`, [50]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1872
+assert_trap(() => invoke($31, `test`, [51]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1873
+assert_trap(() => invoke($31, `test`, [52]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1874
+assert_trap(() => invoke($31, `test`, [53]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1875
+assert_trap(() => invoke($31, `test`, [54]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1876
+assert_trap(() => invoke($31, `test`, [55]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1877
+assert_trap(() => invoke($31, `test`, [56]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1878
+assert_trap(() => invoke($31, `test`, [57]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1879
+assert_trap(() => invoke($31, `test`, [58]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1880
+assert_trap(() => invoke($31, `test`, [59]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1881
+assert_trap(() => invoke($31, `test`, [60]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1882
+assert_trap(() => invoke($31, `test`, [61]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1883
+assert_trap(() => invoke($31, `test`, [62]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1884
+assert_trap(() => invoke($31, `test`, [63]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1885
+assert_trap(() => invoke($31, `test`, [64]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1886
+assert_trap(() => invoke($31, `test`, [65]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1887
+assert_trap(() => invoke($31, `test`, [66]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1888
+assert_trap(() => invoke($31, `test`, [67]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1889
+assert_trap(() => invoke($31, `test`, [68]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1890
+assert_trap(() => invoke($31, `test`, [69]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1891
+assert_trap(() => invoke($31, `test`, [70]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1892
+assert_trap(() => invoke($31, `test`, [71]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1893
+assert_trap(() => invoke($31, `test`, [72]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1894
+assert_trap(() => invoke($31, `test`, [73]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1895
+assert_trap(() => invoke($31, `test`, [74]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1896
+assert_trap(() => invoke($31, `test`, [75]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1897
+assert_trap(() => invoke($31, `test`, [76]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1898
+assert_trap(() => invoke($31, `test`, [77]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1899
+assert_trap(() => invoke($31, `test`, [78]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1900
+assert_trap(() => invoke($31, `test`, [79]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1901
+assert_trap(() => invoke($31, `test`, [80]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1902
+assert_trap(() => invoke($31, `test`, [81]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1903
+assert_trap(() => invoke($31, `test`, [82]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1904
+assert_trap(() => invoke($31, `test`, [83]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1905
+assert_trap(() => invoke($31, `test`, [84]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1906
+assert_trap(() => invoke($31, `test`, [85]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1907
+assert_trap(() => invoke($31, `test`, [86]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1908
+assert_trap(() => invoke($31, `test`, [87]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1909
+assert_trap(() => invoke($31, `test`, [88]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1910
+assert_trap(() => invoke($31, `test`, [89]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1911
+assert_trap(() => invoke($31, `test`, [90]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1912
+assert_trap(() => invoke($31, `test`, [91]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1913
+assert_trap(() => invoke($31, `test`, [92]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1914
+assert_trap(() => invoke($31, `test`, [93]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1915
+assert_trap(() => invoke($31, `test`, [94]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1916
+assert_trap(() => invoke($31, `test`, [95]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1917
+assert_trap(() => invoke($31, `test`, [96]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1918
+assert_trap(() => invoke($31, `test`, [97]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1919
+assert_trap(() => invoke($31, `test`, [98]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1920
+assert_trap(() => invoke($31, `test`, [99]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1921
+assert_trap(() => invoke($31, `test`, [100]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1922
+assert_trap(() => invoke($31, `test`, [101]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1923
+assert_trap(() => invoke($31, `test`, [102]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1924
+assert_trap(() => invoke($31, `test`, [103]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1925
+assert_trap(() => invoke($31, `test`, [104]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1926
+assert_trap(() => invoke($31, `test`, [105]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1927
+assert_trap(() => invoke($31, `test`, [106]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1928
+assert_trap(() => invoke($31, `test`, [107]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1929
+assert_trap(() => invoke($31, `test`, [108]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1930
+assert_trap(() => invoke($31, `test`, [109]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1931
+assert_trap(() => invoke($31, `test`, [110]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1932
+assert_trap(() => invoke($31, `test`, [111]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1933
+assert_trap(() => invoke($31, `test`, [112]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1934
+assert_trap(() => invoke($31, `test`, [113]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1935
+assert_trap(() => invoke($31, `test`, [114]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1936
+assert_trap(() => invoke($31, `test`, [115]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1937
+assert_trap(() => invoke($31, `test`, [116]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1938
+assert_trap(() => invoke($31, `test`, [117]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1939
+assert_trap(() => invoke($31, `test`, [118]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1940
+assert_trap(() => invoke($31, `test`, [119]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1941
+assert_trap(() => invoke($31, `test`, [120]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1942
+assert_trap(() => invoke($31, `test`, [121]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1943
+assert_trap(() => invoke($31, `test`, [122]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1944
+assert_trap(() => invoke($31, `test`, [123]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1945
+assert_trap(() => invoke($31, `test`, [124]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1946
+assert_trap(() => invoke($31, `test`, [125]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1947
+assert_trap(() => invoke($31, `test`, [126]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1948
+assert_trap(() => invoke($31, `test`, [127]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1949
+assert_trap(() => invoke($31, `test`, [128]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1950
+assert_trap(() => invoke($31, `test`, [129]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1951
+assert_trap(() => invoke($31, `test`, [130]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1952
+assert_trap(() => invoke($31, `test`, [131]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1953
+assert_trap(() => invoke($31, `test`, [132]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1954
+assert_trap(() => invoke($31, `test`, [133]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1955
+assert_trap(() => invoke($31, `test`, [134]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1956
+assert_trap(() => invoke($31, `test`, [135]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1957
+assert_trap(() => invoke($31, `test`, [136]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1958
+assert_trap(() => invoke($31, `test`, [137]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1959
+assert_trap(() => invoke($31, `test`, [138]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1960
+assert_trap(() => invoke($31, `test`, [139]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1961
+assert_trap(() => invoke($31, `test`, [140]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1962
+assert_trap(() => invoke($31, `test`, [141]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1963
+assert_trap(() => invoke($31, `test`, [142]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1964
+assert_trap(() => invoke($31, `test`, [143]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1965
+assert_trap(() => invoke($31, `test`, [144]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1966
+assert_trap(() => invoke($31, `test`, [145]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1967
+assert_trap(() => invoke($31, `test`, [146]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1968
+assert_trap(() => invoke($31, `test`, [147]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1969
+assert_trap(() => invoke($31, `test`, [148]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1970
+assert_trap(() => invoke($31, `test`, [149]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1971
+assert_trap(() => invoke($31, `test`, [150]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1972
+assert_trap(() => invoke($31, `test`, [151]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1973
+assert_trap(() => invoke($31, `test`, [152]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1974
+assert_trap(() => invoke($31, `test`, [153]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1975
+assert_trap(() => invoke($31, `test`, [154]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1976
+assert_trap(() => invoke($31, `test`, [155]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1977
+assert_trap(() => invoke($31, `test`, [156]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1978
+assert_trap(() => invoke($31, `test`, [157]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1979
+assert_trap(() => invoke($31, `test`, [158]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1980
+assert_trap(() => invoke($31, `test`, [159]), `uninitialized element`);
+
+// ./test/core/table_init.wast:1982
+let $32 = instantiate(`(module
+ (type (func (result i32)))
+ (table 64 64 funcref)
+ (elem funcref
+ (ref.func $$f0) (ref.func $$f1) (ref.func $$f2) (ref.func $$f3)
+ (ref.func $$f4) (ref.func $$f5) (ref.func $$f6) (ref.func $$f7)
+ (ref.func $$f8) (ref.func $$f9) (ref.func $$f10) (ref.func $$f11)
+ (ref.func $$f12) (ref.func $$f13) (ref.func $$f14) (ref.func $$f15))
+ (func $$f0 (export "f0") (result i32) (i32.const 0))
+ (func $$f1 (export "f1") (result i32) (i32.const 1))
+ (func $$f2 (export "f2") (result i32) (i32.const 2))
+ (func $$f3 (export "f3") (result i32) (i32.const 3))
+ (func $$f4 (export "f4") (result i32) (i32.const 4))
+ (func $$f5 (export "f5") (result i32) (i32.const 5))
+ (func $$f6 (export "f6") (result i32) (i32.const 6))
+ (func $$f7 (export "f7") (result i32) (i32.const 7))
+ (func $$f8 (export "f8") (result i32) (i32.const 8))
+ (func $$f9 (export "f9") (result i32) (i32.const 9))
+ (func $$f10 (export "f10") (result i32) (i32.const 10))
+ (func $$f11 (export "f11") (result i32) (i32.const 11))
+ (func $$f12 (export "f12") (result i32) (i32.const 12))
+ (func $$f13 (export "f13") (result i32) (i32.const 13))
+ (func $$f14 (export "f14") (result i32) (i32.const 14))
+ (func $$f15 (export "f15") (result i32) (i32.const 15))
+ (func (export "test") (param $$n i32) (result i32)
+ (call_indirect (type 0) (local.get $$n)))
+ (func (export "run") (param $$offs i32) (param $$len i32)
+ (table.init 0 (local.get $$offs) (i32.const 0) (local.get $$len))))`);
+
+// ./test/core/table_init.wast:2010
+assert_trap(() => invoke($32, `run`, [48, -16]), `out of bounds table access`);
+
+// ./test/core/table_init.wast:2011
+assert_trap(() => invoke($32, `test`, [0]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2012
+assert_trap(() => invoke($32, `test`, [1]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2013
+assert_trap(() => invoke($32, `test`, [2]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2014
+assert_trap(() => invoke($32, `test`, [3]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2015
+assert_trap(() => invoke($32, `test`, [4]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2016
+assert_trap(() => invoke($32, `test`, [5]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2017
+assert_trap(() => invoke($32, `test`, [6]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2018
+assert_trap(() => invoke($32, `test`, [7]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2019
+assert_trap(() => invoke($32, `test`, [8]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2020
+assert_trap(() => invoke($32, `test`, [9]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2021
+assert_trap(() => invoke($32, `test`, [10]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2022
+assert_trap(() => invoke($32, `test`, [11]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2023
+assert_trap(() => invoke($32, `test`, [12]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2024
+assert_trap(() => invoke($32, `test`, [13]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2025
+assert_trap(() => invoke($32, `test`, [14]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2026
+assert_trap(() => invoke($32, `test`, [15]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2027
+assert_trap(() => invoke($32, `test`, [16]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2028
+assert_trap(() => invoke($32, `test`, [17]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2029
+assert_trap(() => invoke($32, `test`, [18]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2030
+assert_trap(() => invoke($32, `test`, [19]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2031
+assert_trap(() => invoke($32, `test`, [20]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2032
+assert_trap(() => invoke($32, `test`, [21]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2033
+assert_trap(() => invoke($32, `test`, [22]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2034
+assert_trap(() => invoke($32, `test`, [23]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2035
+assert_trap(() => invoke($32, `test`, [24]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2036
+assert_trap(() => invoke($32, `test`, [25]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2037
+assert_trap(() => invoke($32, `test`, [26]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2038
+assert_trap(() => invoke($32, `test`, [27]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2039
+assert_trap(() => invoke($32, `test`, [28]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2040
+assert_trap(() => invoke($32, `test`, [29]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2041
+assert_trap(() => invoke($32, `test`, [30]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2042
+assert_trap(() => invoke($32, `test`, [31]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2043
+assert_trap(() => invoke($32, `test`, [32]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2044
+assert_trap(() => invoke($32, `test`, [33]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2045
+assert_trap(() => invoke($32, `test`, [34]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2046
+assert_trap(() => invoke($32, `test`, [35]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2047
+assert_trap(() => invoke($32, `test`, [36]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2048
+assert_trap(() => invoke($32, `test`, [37]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2049
+assert_trap(() => invoke($32, `test`, [38]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2050
+assert_trap(() => invoke($32, `test`, [39]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2051
+assert_trap(() => invoke($32, `test`, [40]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2052
+assert_trap(() => invoke($32, `test`, [41]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2053
+assert_trap(() => invoke($32, `test`, [42]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2054
+assert_trap(() => invoke($32, `test`, [43]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2055
+assert_trap(() => invoke($32, `test`, [44]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2056
+assert_trap(() => invoke($32, `test`, [45]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2057
+assert_trap(() => invoke($32, `test`, [46]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2058
+assert_trap(() => invoke($32, `test`, [47]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2059
+assert_trap(() => invoke($32, `test`, [48]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2060
+assert_trap(() => invoke($32, `test`, [49]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2061
+assert_trap(() => invoke($32, `test`, [50]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2062
+assert_trap(() => invoke($32, `test`, [51]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2063
+assert_trap(() => invoke($32, `test`, [52]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2064
+assert_trap(() => invoke($32, `test`, [53]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2065
+assert_trap(() => invoke($32, `test`, [54]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2066
+assert_trap(() => invoke($32, `test`, [55]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2067
+assert_trap(() => invoke($32, `test`, [56]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2068
+assert_trap(() => invoke($32, `test`, [57]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2069
+assert_trap(() => invoke($32, `test`, [58]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2070
+assert_trap(() => invoke($32, `test`, [59]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2071
+assert_trap(() => invoke($32, `test`, [60]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2072
+assert_trap(() => invoke($32, `test`, [61]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2073
+assert_trap(() => invoke($32, `test`, [62]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2074
+assert_trap(() => invoke($32, `test`, [63]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2076
+let $33 = instantiate(`(module
+ (type (func (result i32)))
+ (table 16 16 funcref)
+ (elem funcref
+ (ref.func $$f0) (ref.func $$f1) (ref.func $$f2) (ref.func $$f3)
+ (ref.func $$f4) (ref.func $$f5) (ref.func $$f6) (ref.func $$f7)
+ (ref.func $$f8) (ref.func $$f9) (ref.func $$f10) (ref.func $$f11)
+ (ref.func $$f12) (ref.func $$f13) (ref.func $$f14) (ref.func $$f15))
+ (func $$f0 (export "f0") (result i32) (i32.const 0))
+ (func $$f1 (export "f1") (result i32) (i32.const 1))
+ (func $$f2 (export "f2") (result i32) (i32.const 2))
+ (func $$f3 (export "f3") (result i32) (i32.const 3))
+ (func $$f4 (export "f4") (result i32) (i32.const 4))
+ (func $$f5 (export "f5") (result i32) (i32.const 5))
+ (func $$f6 (export "f6") (result i32) (i32.const 6))
+ (func $$f7 (export "f7") (result i32) (i32.const 7))
+ (func $$f8 (export "f8") (result i32) (i32.const 8))
+ (func $$f9 (export "f9") (result i32) (i32.const 9))
+ (func $$f10 (export "f10") (result i32) (i32.const 10))
+ (func $$f11 (export "f11") (result i32) (i32.const 11))
+ (func $$f12 (export "f12") (result i32) (i32.const 12))
+ (func $$f13 (export "f13") (result i32) (i32.const 13))
+ (func $$f14 (export "f14") (result i32) (i32.const 14))
+ (func $$f15 (export "f15") (result i32) (i32.const 15))
+ (func (export "test") (param $$n i32) (result i32)
+ (call_indirect (type 0) (local.get $$n)))
+ (func (export "run") (param $$offs i32) (param $$len i32)
+ (table.init 0 (local.get $$offs) (i32.const 8) (local.get $$len))))`);
+
+// ./test/core/table_init.wast:2104
+assert_trap(() => invoke($33, `run`, [0, -4]), `out of bounds table access`);
+
+// ./test/core/table_init.wast:2105
+assert_trap(() => invoke($33, `test`, [0]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2106
+assert_trap(() => invoke($33, `test`, [1]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2107
+assert_trap(() => invoke($33, `test`, [2]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2108
+assert_trap(() => invoke($33, `test`, [3]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2109
+assert_trap(() => invoke($33, `test`, [4]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2110
+assert_trap(() => invoke($33, `test`, [5]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2111
+assert_trap(() => invoke($33, `test`, [6]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2112
+assert_trap(() => invoke($33, `test`, [7]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2113
+assert_trap(() => invoke($33, `test`, [8]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2114
+assert_trap(() => invoke($33, `test`, [9]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2115
+assert_trap(() => invoke($33, `test`, [10]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2116
+assert_trap(() => invoke($33, `test`, [11]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2117
+assert_trap(() => invoke($33, `test`, [12]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2118
+assert_trap(() => invoke($33, `test`, [13]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2119
+assert_trap(() => invoke($33, `test`, [14]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2120
+assert_trap(() => invoke($33, `test`, [15]), `uninitialized element`);
+
+// ./test/core/table_init.wast:2122
+let $34 = instantiate(`(module
+ (table 1 funcref)
+ ;; 65 elem segments. 64 is the smallest positive number that is encoded
+ ;; differently as a signed LEB.
+ (elem funcref) (elem funcref) (elem funcref) (elem funcref)
+ (elem funcref) (elem funcref) (elem funcref) (elem funcref)
+ (elem funcref) (elem funcref) (elem funcref) (elem funcref)
+ (elem funcref) (elem funcref) (elem funcref) (elem funcref)
+ (elem funcref) (elem funcref) (elem funcref) (elem funcref)
+ (elem funcref) (elem funcref) (elem funcref) (elem funcref)
+ (elem funcref) (elem funcref) (elem funcref) (elem funcref)
+ (elem funcref) (elem funcref) (elem funcref) (elem funcref)
+ (elem funcref) (elem funcref) (elem funcref) (elem funcref)
+ (elem funcref) (elem funcref) (elem funcref) (elem funcref)
+ (elem funcref) (elem funcref) (elem funcref) (elem funcref)
+ (elem funcref) (elem funcref) (elem funcref) (elem funcref)
+ (elem funcref) (elem funcref) (elem funcref) (elem funcref)
+ (elem funcref) (elem funcref) (elem funcref) (elem funcref)
+ (elem funcref) (elem funcref) (elem funcref) (elem funcref)
+ (elem funcref) (elem funcref) (elem funcref) (elem funcref)
+ (elem funcref)
+ (func (table.init 64 (i32.const 0) (i32.const 0) (i32.const 0))))`);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/table_set.wast.js b/js/src/jit-test/tests/wasm/spec/spec/table_set.wast.js
new file mode 100644
index 0000000000..fd9aae6bf0
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/table_set.wast.js
@@ -0,0 +1,177 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/table_set.wast
+
+// ./test/core/table_set.wast:1
+let $0 = instantiate(`(module
+ (table $$t2 1 externref)
+ (table $$t3 2 funcref)
+ (elem (table $$t3) (i32.const 1) func $$dummy)
+ (func $$dummy)
+
+ (func (export "get-externref") (param $$i i32) (result externref)
+ (table.get $$t2 (local.get $$i))
+ )
+ (func $$f3 (export "get-funcref") (param $$i i32) (result funcref)
+ (table.get $$t3 (local.get $$i))
+ )
+
+ (func (export "set-externref") (param $$i i32) (param $$r externref)
+ (table.set (local.get $$i) (local.get $$r))
+ )
+ (func (export "set-funcref") (param $$i i32) (param $$r funcref)
+ (table.set $$t3 (local.get $$i) (local.get $$r))
+ )
+ (func (export "set-funcref-from") (param $$i i32) (param $$j i32)
+ (table.set $$t3 (local.get $$i) (table.get $$t3 (local.get $$j)))
+ )
+
+ (func (export "is_null-funcref") (param $$i i32) (result i32)
+ (ref.is_null (call $$f3 (local.get $$i)))
+ )
+)`);
+
+// ./test/core/table_set.wast:29
+assert_return(() => invoke($0, `get-externref`, [0]), [value('externref', null)]);
+
+// ./test/core/table_set.wast:30
+assert_return(() => invoke($0, `set-externref`, [0, externref(1)]), []);
+
+// ./test/core/table_set.wast:31
+assert_return(() => invoke($0, `get-externref`, [0]), [new ExternRefResult(1)]);
+
+// ./test/core/table_set.wast:32
+assert_return(() => invoke($0, `set-externref`, [0, null]), []);
+
+// ./test/core/table_set.wast:33
+assert_return(() => invoke($0, `get-externref`, [0]), [value('externref', null)]);
+
+// ./test/core/table_set.wast:35
+assert_return(() => invoke($0, `get-funcref`, [0]), [value('anyfunc', null)]);
+
+// ./test/core/table_set.wast:36
+assert_return(() => invoke($0, `set-funcref-from`, [0, 1]), []);
+
+// ./test/core/table_set.wast:37
+assert_return(() => invoke($0, `is_null-funcref`, [0]), [value("i32", 0)]);
+
+// ./test/core/table_set.wast:38
+assert_return(() => invoke($0, `set-funcref`, [0, null]), []);
+
+// ./test/core/table_set.wast:39
+assert_return(() => invoke($0, `get-funcref`, [0]), [value('anyfunc', null)]);
+
+// ./test/core/table_set.wast:41
+assert_trap(() => invoke($0, `set-externref`, [2, null]), `out of bounds table access`);
+
+// ./test/core/table_set.wast:42
+assert_trap(() => invoke($0, `set-funcref`, [3, null]), `out of bounds table access`);
+
+// ./test/core/table_set.wast:43
+assert_trap(() => invoke($0, `set-externref`, [-1, null]), `out of bounds table access`);
+
+// ./test/core/table_set.wast:44
+assert_trap(() => invoke($0, `set-funcref`, [-1, null]), `out of bounds table access`);
+
+// ./test/core/table_set.wast:46
+assert_trap(() => invoke($0, `set-externref`, [2, externref(0)]), `out of bounds table access`);
+
+// ./test/core/table_set.wast:47
+assert_trap(() => invoke($0, `set-funcref-from`, [3, 1]), `out of bounds table access`);
+
+// ./test/core/table_set.wast:48
+assert_trap(() => invoke($0, `set-externref`, [-1, externref(0)]), `out of bounds table access`);
+
+// ./test/core/table_set.wast:49
+assert_trap(() => invoke($0, `set-funcref-from`, [-1, 1]), `out of bounds table access`);
+
+// ./test/core/table_set.wast:54
+assert_invalid(
+ () => instantiate(`(module
+ (table $$t 10 externref)
+ (func $$type-index-value-empty-vs-i32-externref
+ (table.set $$t)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/table_set.wast:63
+assert_invalid(
+ () => instantiate(`(module
+ (table $$t 10 externref)
+ (func $$type-index-empty-vs-i32
+ (table.set $$t (ref.null extern))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/table_set.wast:72
+assert_invalid(
+ () => instantiate(`(module
+ (table $$t 10 externref)
+ (func $$type-value-empty-vs-externref
+ (table.set $$t (i32.const 1))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/table_set.wast:81
+assert_invalid(
+ () => instantiate(`(module
+ (table $$t 10 externref)
+ (func $$type-size-f32-vs-i32
+ (table.set $$t (f32.const 1) (ref.null extern))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/table_set.wast:90
+assert_invalid(
+ () => instantiate(`(module
+ (table $$t 10 funcref)
+ (func $$type-value-externref-vs-funcref (param $$r externref)
+ (table.set $$t (i32.const 1) (local.get $$r))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/table_set.wast:100
+assert_invalid(
+ () => instantiate(`(module
+ (table $$t1 1 externref)
+ (table $$t2 1 funcref)
+ (func $$type-value-externref-vs-funcref-multi (param $$r externref)
+ (table.set $$t2 (i32.const 0) (local.get $$r))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/table_set.wast:111
+assert_invalid(
+ () => instantiate(`(module
+ (table $$t 10 externref)
+ (func $$type-result-empty-vs-num (result i32)
+ (table.set $$t (i32.const 0) (ref.null extern))
+ )
+ )`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/table_size.wast.js b/js/src/jit-test/tests/wasm/spec/spec/table_size.wast.js
new file mode 100644
index 0000000000..a12edf0363
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/table_size.wast.js
@@ -0,0 +1,172 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/table_size.wast
+
+// ./test/core/table_size.wast:1
+let $0 = instantiate(`(module
+ (table $$t0 0 externref)
+ (table $$t1 1 externref)
+ (table $$t2 0 2 externref)
+ (table $$t3 3 8 externref)
+
+ (func (export "size-t0") (result i32) table.size)
+ (func (export "size-t1") (result i32) (table.size $$t1))
+ (func (export "size-t2") (result i32) (table.size $$t2))
+ (func (export "size-t3") (result i32) (table.size $$t3))
+
+ (func (export "grow-t0") (param $$sz i32)
+ (drop (table.grow $$t0 (ref.null extern) (local.get $$sz)))
+ )
+ (func (export "grow-t1") (param $$sz i32)
+ (drop (table.grow $$t1 (ref.null extern) (local.get $$sz)))
+ )
+ (func (export "grow-t2") (param $$sz i32)
+ (drop (table.grow $$t2 (ref.null extern) (local.get $$sz)))
+ )
+ (func (export "grow-t3") (param $$sz i32)
+ (drop (table.grow $$t3 (ref.null extern) (local.get $$sz)))
+ )
+)`);
+
+// ./test/core/table_size.wast:26
+assert_return(() => invoke($0, `size-t0`, []), [value("i32", 0)]);
+
+// ./test/core/table_size.wast:27
+assert_return(() => invoke($0, `grow-t0`, [1]), []);
+
+// ./test/core/table_size.wast:28
+assert_return(() => invoke($0, `size-t0`, []), [value("i32", 1)]);
+
+// ./test/core/table_size.wast:29
+assert_return(() => invoke($0, `grow-t0`, [4]), []);
+
+// ./test/core/table_size.wast:30
+assert_return(() => invoke($0, `size-t0`, []), [value("i32", 5)]);
+
+// ./test/core/table_size.wast:31
+assert_return(() => invoke($0, `grow-t0`, [0]), []);
+
+// ./test/core/table_size.wast:32
+assert_return(() => invoke($0, `size-t0`, []), [value("i32", 5)]);
+
+// ./test/core/table_size.wast:34
+assert_return(() => invoke($0, `size-t1`, []), [value("i32", 1)]);
+
+// ./test/core/table_size.wast:35
+assert_return(() => invoke($0, `grow-t1`, [1]), []);
+
+// ./test/core/table_size.wast:36
+assert_return(() => invoke($0, `size-t1`, []), [value("i32", 2)]);
+
+// ./test/core/table_size.wast:37
+assert_return(() => invoke($0, `grow-t1`, [4]), []);
+
+// ./test/core/table_size.wast:38
+assert_return(() => invoke($0, `size-t1`, []), [value("i32", 6)]);
+
+// ./test/core/table_size.wast:39
+assert_return(() => invoke($0, `grow-t1`, [0]), []);
+
+// ./test/core/table_size.wast:40
+assert_return(() => invoke($0, `size-t1`, []), [value("i32", 6)]);
+
+// ./test/core/table_size.wast:42
+assert_return(() => invoke($0, `size-t2`, []), [value("i32", 0)]);
+
+// ./test/core/table_size.wast:43
+assert_return(() => invoke($0, `grow-t2`, [3]), []);
+
+// ./test/core/table_size.wast:44
+assert_return(() => invoke($0, `size-t2`, []), [value("i32", 0)]);
+
+// ./test/core/table_size.wast:45
+assert_return(() => invoke($0, `grow-t2`, [1]), []);
+
+// ./test/core/table_size.wast:46
+assert_return(() => invoke($0, `size-t2`, []), [value("i32", 1)]);
+
+// ./test/core/table_size.wast:47
+assert_return(() => invoke($0, `grow-t2`, [0]), []);
+
+// ./test/core/table_size.wast:48
+assert_return(() => invoke($0, `size-t2`, []), [value("i32", 1)]);
+
+// ./test/core/table_size.wast:49
+assert_return(() => invoke($0, `grow-t2`, [4]), []);
+
+// ./test/core/table_size.wast:50
+assert_return(() => invoke($0, `size-t2`, []), [value("i32", 1)]);
+
+// ./test/core/table_size.wast:51
+assert_return(() => invoke($0, `grow-t2`, [1]), []);
+
+// ./test/core/table_size.wast:52
+assert_return(() => invoke($0, `size-t2`, []), [value("i32", 2)]);
+
+// ./test/core/table_size.wast:54
+assert_return(() => invoke($0, `size-t3`, []), [value("i32", 3)]);
+
+// ./test/core/table_size.wast:55
+assert_return(() => invoke($0, `grow-t3`, [1]), []);
+
+// ./test/core/table_size.wast:56
+assert_return(() => invoke($0, `size-t3`, []), [value("i32", 4)]);
+
+// ./test/core/table_size.wast:57
+assert_return(() => invoke($0, `grow-t3`, [3]), []);
+
+// ./test/core/table_size.wast:58
+assert_return(() => invoke($0, `size-t3`, []), [value("i32", 7)]);
+
+// ./test/core/table_size.wast:59
+assert_return(() => invoke($0, `grow-t3`, [0]), []);
+
+// ./test/core/table_size.wast:60
+assert_return(() => invoke($0, `size-t3`, []), [value("i32", 7)]);
+
+// ./test/core/table_size.wast:61
+assert_return(() => invoke($0, `grow-t3`, [2]), []);
+
+// ./test/core/table_size.wast:62
+assert_return(() => invoke($0, `size-t3`, []), [value("i32", 7)]);
+
+// ./test/core/table_size.wast:63
+assert_return(() => invoke($0, `grow-t3`, [1]), []);
+
+// ./test/core/table_size.wast:64
+assert_return(() => invoke($0, `size-t3`, []), [value("i32", 8)]);
+
+// ./test/core/table_size.wast:69
+assert_invalid(
+ () => instantiate(`(module
+ (table $$t 1 externref)
+ (func $$type-result-i32-vs-empty
+ (table.size $$t)
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/table_size.wast:78
+assert_invalid(
+ () => instantiate(`(module
+ (table $$t 1 externref)
+ (func $$type-result-i32-vs-f32 (result f32)
+ (table.size $$t)
+ )
+ )`),
+ `type mismatch`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/token.wast.js b/js/src/jit-test/tests/wasm/spec/spec/token.wast.js
new file mode 100644
index 0000000000..0856848c1e
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/token.wast.js
@@ -0,0 +1,22 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/token.wast
+
+// ./test/core/token.wast:3
+assert_malformed(() => instantiate(`(func (drop (i32.const0))) `), `unknown operator`);
+
+// ./test/core/token.wast:7
+assert_malformed(() => instantiate(`(func br 0drop) `), `unknown operator`);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/tokens.wast.js b/js/src/jit-test/tests/wasm/spec/spec/tokens.wast.js
new file mode 100644
index 0000000000..e7b653f77e
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/tokens.wast.js
@@ -0,0 +1,283 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/tokens.wast
+
+// ./test/core/tokens.wast:3
+let $0 = instantiate(`(module
+ (func(nop))
+)`);
+
+// ./test/core/tokens.wast:6
+let $1 = instantiate(`(module
+ (func (nop)nop)
+)`);
+
+// ./test/core/tokens.wast:9
+let $2 = instantiate(`(module
+ (func nop(nop))
+)`);
+
+// ./test/core/tokens.wast:12
+let $3 = instantiate(`(module
+ (func(nop)(nop))
+)`);
+
+// ./test/core/tokens.wast:15
+let $4 = instantiate(`(module
+ (func $$f(nop))
+)`);
+
+// ./test/core/tokens.wast:18
+let $5 = instantiate(`(module
+ (func br 0(nop))
+)`);
+
+// ./test/core/tokens.wast:21
+let $6 = instantiate(`(module
+ (table 1 funcref)
+ (func)
+ (elem (i32.const 0)0)
+)`);
+
+// ./test/core/tokens.wast:26
+let $7 = instantiate(`(module
+ (table 1 funcref)
+ (func $$f)
+ (elem (i32.const 0)$$f)
+)`);
+
+// ./test/core/tokens.wast:31
+let $8 = instantiate(`(module
+ (memory 1)
+ (data (i32.const 0)"a")
+)`);
+
+// ./test/core/tokens.wast:35
+let $9 = instantiate(`(module
+ (import "spectest" "print"(func))
+)`);
+
+// ./test/core/tokens.wast:42
+let $10 = instantiate(`(module
+ (func;;bla
+ )
+)`);
+
+// ./test/core/tokens.wast:46
+let $11 = instantiate(`(module
+ (func (nop);;bla
+ )
+)`);
+
+// ./test/core/tokens.wast:50
+let $12 = instantiate(`(module
+ (func nop;;bla
+ )
+)`);
+
+// ./test/core/tokens.wast:54
+let $13 = instantiate(`(module
+ (func $$f;;bla
+ )
+)`);
+
+// ./test/core/tokens.wast:58
+let $14 = instantiate(`(module
+ (func br 0;;bla
+ )
+)`);
+
+// ./test/core/tokens.wast:62
+let $15 = instantiate(`(module
+ (data "a";;bla
+ )
+)`);
+
+// ./test/core/tokens.wast:70
+let $16 = instantiate(`(module
+ (func (block $$l (i32.const 0) (br_table 0 $$l)))
+)`);
+
+// ./test/core/tokens.wast:73
+assert_malformed(
+ () => instantiate(`(func (block $$l (i32.const 0) (br_table 0$$l))) `),
+ `unknown operator`,
+);
+
+// ./test/core/tokens.wast:80
+let $17 = instantiate(`(module
+ (func (block $$l (i32.const 0) (br_table $$l 0)))
+)`);
+
+// ./test/core/tokens.wast:83
+assert_malformed(
+ () => instantiate(`(func (block $$l (i32.const 0) (br_table $$l0))) `),
+ `unknown label`,
+);
+
+// ./test/core/tokens.wast:90
+let $18 = instantiate(`(module
+ (func (block $$l (i32.const 0) (br_table $$l $$l)))
+)`);
+
+// ./test/core/tokens.wast:93
+assert_malformed(
+ () => instantiate(`(func (block $$l (i32.const 0) (br_table $$l$$l))) `),
+ `unknown label`,
+);
+
+// ./test/core/tokens.wast:100
+let $19 = instantiate(`(module
+ (func (block $$l0 (i32.const 0) (br_table $$l0)))
+)`);
+
+// ./test/core/tokens.wast:103
+let $20 = instantiate(`(module
+ (func (block $$l$$l (i32.const 0) (br_table $$l$$l)))
+)`);
+
+// ./test/core/tokens.wast:110
+let $21 = instantiate(`(module
+ (data "a")
+)`);
+
+// ./test/core/tokens.wast:113
+assert_malformed(() => instantiate(`(data"a") `), `unknown operator`);
+
+// ./test/core/tokens.wast:120
+let $22 = instantiate(`(module
+ (data $$l "a")
+)`);
+
+// ./test/core/tokens.wast:123
+assert_malformed(() => instantiate(`(data $$l"a") `), `unknown operator`);
+
+// ./test/core/tokens.wast:130
+let $23 = instantiate(`(module
+ (data $$l " a")
+)`);
+
+// ./test/core/tokens.wast:133
+assert_malformed(() => instantiate(`(data $$l" a") `), `unknown operator`);
+
+// ./test/core/tokens.wast:140
+let $24 = instantiate(`(module
+ (data $$l "a ")
+)`);
+
+// ./test/core/tokens.wast:143
+assert_malformed(() => instantiate(`(data $$l"a ") `), `unknown operator`);
+
+// ./test/core/tokens.wast:150
+let $25 = instantiate(`(module
+ (data $$l "a " "b")
+)`);
+
+// ./test/core/tokens.wast:153
+assert_malformed(() => instantiate(`(data $$l"a ""b") `), `unknown operator`);
+
+// ./test/core/tokens.wast:160
+let $26 = instantiate(`(module
+ (data $$l "\u{f61a}\u{f4a9}")
+)`);
+
+// ./test/core/tokens.wast:163
+assert_malformed(() => instantiate(`(data $$l"\u{f61a}\u{f4a9}") `), `unknown operator`);
+
+// ./test/core/tokens.wast:170
+let $27 = instantiate(`(module
+ (data $$l " \u{f61a}\u{f4a9}")
+)`);
+
+// ./test/core/tokens.wast:173
+assert_malformed(() => instantiate(`(data $$l" \u{f61a}\u{f4a9}") `), `unknown operator`);
+
+// ./test/core/tokens.wast:180
+let $28 = instantiate(`(module
+ (data $$l "\u{f61a}\u{f4a9} ")
+)`);
+
+// ./test/core/tokens.wast:183
+assert_malformed(() => instantiate(`(data $$l"\u{f61a}\u{f4a9} ") `), `unknown operator`);
+
+// ./test/core/tokens.wast:190
+let $29 = instantiate(`(module
+ (data "a" "b")
+)`);
+
+// ./test/core/tokens.wast:193
+assert_malformed(() => instantiate(`(data "a""b") `), `unknown operator`);
+
+// ./test/core/tokens.wast:200
+let $30 = instantiate(`(module
+ (data "a" " b")
+)`);
+
+// ./test/core/tokens.wast:203
+assert_malformed(() => instantiate(`(data "a"" b") `), `unknown operator`);
+
+// ./test/core/tokens.wast:210
+let $31 = instantiate(`(module
+ (data "a " "b")
+)`);
+
+// ./test/core/tokens.wast:213
+assert_malformed(() => instantiate(`(data "a ""b") `), `unknown operator`);
+
+// ./test/core/tokens.wast:220
+let $32 = instantiate(`(module
+ (data "\u{f61a}\u{f4a9}" "\u{f61a}\u{f4a9}")
+)`);
+
+// ./test/core/tokens.wast:223
+assert_malformed(
+ () => instantiate(`(data "\u{f61a}\u{f4a9}""\u{f61a}\u{f4a9}") `),
+ `unknown operator`,
+);
+
+// ./test/core/tokens.wast:230
+let $33 = instantiate(`(module
+ (data "\u{f61a}\u{f4a9}" " \u{f61a}\u{f4a9}")
+)`);
+
+// ./test/core/tokens.wast:233
+assert_malformed(
+ () => instantiate(`(data "\u{f61a}\u{f4a9}"" \u{f61a}\u{f4a9}") `),
+ `unknown operator`,
+);
+
+// ./test/core/tokens.wast:240
+let $34 = instantiate(`(module
+ (data "\u{f61a}\u{f4a9} " "\u{f61a}\u{f4a9}")
+)`);
+
+// ./test/core/tokens.wast:243
+assert_malformed(
+ () => instantiate(`(data "\u{f61a}\u{f4a9} ""\u{f61a}\u{f4a9}") `),
+ `unknown operator`,
+);
+
+// ./test/core/tokens.wast:251
+assert_malformed(() => instantiate(`(func "a"x) `), `unknown operator`);
+
+// ./test/core/tokens.wast:257
+assert_malformed(() => instantiate(`(func "a"0) `), `unknown operator`);
+
+// ./test/core/tokens.wast:263
+assert_malformed(() => instantiate(`(func 0"a") `), `unknown operator`);
+
+// ./test/core/tokens.wast:269
+assert_malformed(() => instantiate(`(func "a"$$x) `), `unknown operator`);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/traps.wast.js b/js/src/jit-test/tests/wasm/spec/spec/traps.wast.js
new file mode 100644
index 0000000000..61fc4dcacc
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/traps.wast.js
@@ -0,0 +1,200 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/traps.wast
+
+// ./test/core/traps.wast:5
+let $0 = instantiate(`(module
+ (func (export "no_dce.i32.div_s") (param $$x i32) (param $$y i32)
+ (drop (i32.div_s (local.get $$x) (local.get $$y))))
+ (func (export "no_dce.i32.div_u") (param $$x i32) (param $$y i32)
+ (drop (i32.div_u (local.get $$x) (local.get $$y))))
+ (func (export "no_dce.i64.div_s") (param $$x i64) (param $$y i64)
+ (drop (i64.div_s (local.get $$x) (local.get $$y))))
+ (func (export "no_dce.i64.div_u") (param $$x i64) (param $$y i64)
+ (drop (i64.div_u (local.get $$x) (local.get $$y))))
+)`);
+
+// ./test/core/traps.wast:16
+assert_trap(() => invoke($0, `no_dce.i32.div_s`, [1, 0]), `integer divide by zero`);
+
+// ./test/core/traps.wast:17
+assert_trap(() => invoke($0, `no_dce.i32.div_u`, [1, 0]), `integer divide by zero`);
+
+// ./test/core/traps.wast:18
+assert_trap(() => invoke($0, `no_dce.i64.div_s`, [1n, 0n]), `integer divide by zero`);
+
+// ./test/core/traps.wast:19
+assert_trap(() => invoke($0, `no_dce.i64.div_u`, [1n, 0n]), `integer divide by zero`);
+
+// ./test/core/traps.wast:20
+assert_trap(() => invoke($0, `no_dce.i32.div_s`, [-2147483648, -1]), `integer overflow`);
+
+// ./test/core/traps.wast:21
+assert_trap(() => invoke($0, `no_dce.i64.div_s`, [-9223372036854775808n, -1n]), `integer overflow`);
+
+// ./test/core/traps.wast:23
+let $1 = instantiate(`(module
+ (func (export "no_dce.i32.rem_s") (param $$x i32) (param $$y i32)
+ (drop (i32.rem_s (local.get $$x) (local.get $$y))))
+ (func (export "no_dce.i32.rem_u") (param $$x i32) (param $$y i32)
+ (drop (i32.rem_u (local.get $$x) (local.get $$y))))
+ (func (export "no_dce.i64.rem_s") (param $$x i64) (param $$y i64)
+ (drop (i64.rem_s (local.get $$x) (local.get $$y))))
+ (func (export "no_dce.i64.rem_u") (param $$x i64) (param $$y i64)
+ (drop (i64.rem_u (local.get $$x) (local.get $$y))))
+)`);
+
+// ./test/core/traps.wast:34
+assert_trap(() => invoke($1, `no_dce.i32.rem_s`, [1, 0]), `integer divide by zero`);
+
+// ./test/core/traps.wast:35
+assert_trap(() => invoke($1, `no_dce.i32.rem_u`, [1, 0]), `integer divide by zero`);
+
+// ./test/core/traps.wast:36
+assert_trap(() => invoke($1, `no_dce.i64.rem_s`, [1n, 0n]), `integer divide by zero`);
+
+// ./test/core/traps.wast:37
+assert_trap(() => invoke($1, `no_dce.i64.rem_u`, [1n, 0n]), `integer divide by zero`);
+
+// ./test/core/traps.wast:39
+let $2 = instantiate(`(module
+ (func (export "no_dce.i32.trunc_f32_s") (param $$x f32) (drop (i32.trunc_f32_s (local.get $$x))))
+ (func (export "no_dce.i32.trunc_f32_u") (param $$x f32) (drop (i32.trunc_f32_u (local.get $$x))))
+ (func (export "no_dce.i32.trunc_f64_s") (param $$x f64) (drop (i32.trunc_f64_s (local.get $$x))))
+ (func (export "no_dce.i32.trunc_f64_u") (param $$x f64) (drop (i32.trunc_f64_u (local.get $$x))))
+ (func (export "no_dce.i64.trunc_f32_s") (param $$x f32) (drop (i64.trunc_f32_s (local.get $$x))))
+ (func (export "no_dce.i64.trunc_f32_u") (param $$x f32) (drop (i64.trunc_f32_u (local.get $$x))))
+ (func (export "no_dce.i64.trunc_f64_s") (param $$x f64) (drop (i64.trunc_f64_s (local.get $$x))))
+ (func (export "no_dce.i64.trunc_f64_u") (param $$x f64) (drop (i64.trunc_f64_u (local.get $$x))))
+)`);
+
+// ./test/core/traps.wast:50
+assert_trap(
+ () => invoke($2, `no_dce.i32.trunc_f32_s`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ `invalid conversion to integer`,
+);
+
+// ./test/core/traps.wast:51
+assert_trap(
+ () => invoke($2, `no_dce.i32.trunc_f32_u`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ `invalid conversion to integer`,
+);
+
+// ./test/core/traps.wast:52
+assert_trap(
+ () => invoke($2, `no_dce.i32.trunc_f64_s`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ `invalid conversion to integer`,
+);
+
+// ./test/core/traps.wast:53
+assert_trap(
+ () => invoke($2, `no_dce.i32.trunc_f64_u`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ `invalid conversion to integer`,
+);
+
+// ./test/core/traps.wast:54
+assert_trap(
+ () => invoke($2, `no_dce.i64.trunc_f32_s`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ `invalid conversion to integer`,
+);
+
+// ./test/core/traps.wast:55
+assert_trap(
+ () => invoke($2, `no_dce.i64.trunc_f32_u`, [bytes("f32", [0x0, 0x0, 0xc0, 0x7f])]),
+ `invalid conversion to integer`,
+);
+
+// ./test/core/traps.wast:56
+assert_trap(
+ () => invoke($2, `no_dce.i64.trunc_f64_s`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ `invalid conversion to integer`,
+);
+
+// ./test/core/traps.wast:57
+assert_trap(
+ () => invoke($2, `no_dce.i64.trunc_f64_u`, [
+ bytes("f64", [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f]),
+ ]),
+ `invalid conversion to integer`,
+);
+
+// ./test/core/traps.wast:59
+let $3 = instantiate(`(module
+ (memory 1)
+
+ (func (export "no_dce.i32.load") (param $$i i32) (drop (i32.load (local.get $$i))))
+ (func (export "no_dce.i32.load16_s") (param $$i i32) (drop (i32.load16_s (local.get $$i))))
+ (func (export "no_dce.i32.load16_u") (param $$i i32) (drop (i32.load16_u (local.get $$i))))
+ (func (export "no_dce.i32.load8_s") (param $$i i32) (drop (i32.load8_s (local.get $$i))))
+ (func (export "no_dce.i32.load8_u") (param $$i i32) (drop (i32.load8_u (local.get $$i))))
+ (func (export "no_dce.i64.load") (param $$i i32) (drop (i64.load (local.get $$i))))
+ (func (export "no_dce.i64.load32_s") (param $$i i32) (drop (i64.load32_s (local.get $$i))))
+ (func (export "no_dce.i64.load32_u") (param $$i i32) (drop (i64.load32_u (local.get $$i))))
+ (func (export "no_dce.i64.load16_s") (param $$i i32) (drop (i64.load16_s (local.get $$i))))
+ (func (export "no_dce.i64.load16_u") (param $$i i32) (drop (i64.load16_u (local.get $$i))))
+ (func (export "no_dce.i64.load8_s") (param $$i i32) (drop (i64.load8_s (local.get $$i))))
+ (func (export "no_dce.i64.load8_u") (param $$i i32) (drop (i64.load8_u (local.get $$i))))
+ (func (export "no_dce.f32.load") (param $$i i32) (drop (f32.load (local.get $$i))))
+ (func (export "no_dce.f64.load") (param $$i i32) (drop (f64.load (local.get $$i))))
+)`);
+
+// ./test/core/traps.wast:78
+assert_trap(() => invoke($3, `no_dce.i32.load`, [65536]), `out of bounds memory access`);
+
+// ./test/core/traps.wast:79
+assert_trap(() => invoke($3, `no_dce.i32.load16_s`, [65536]), `out of bounds memory access`);
+
+// ./test/core/traps.wast:80
+assert_trap(() => invoke($3, `no_dce.i32.load16_u`, [65536]), `out of bounds memory access`);
+
+// ./test/core/traps.wast:81
+assert_trap(() => invoke($3, `no_dce.i32.load8_s`, [65536]), `out of bounds memory access`);
+
+// ./test/core/traps.wast:82
+assert_trap(() => invoke($3, `no_dce.i32.load8_u`, [65536]), `out of bounds memory access`);
+
+// ./test/core/traps.wast:83
+assert_trap(() => invoke($3, `no_dce.i64.load`, [65536]), `out of bounds memory access`);
+
+// ./test/core/traps.wast:84
+assert_trap(() => invoke($3, `no_dce.i64.load32_s`, [65536]), `out of bounds memory access`);
+
+// ./test/core/traps.wast:85
+assert_trap(() => invoke($3, `no_dce.i64.load32_u`, [65536]), `out of bounds memory access`);
+
+// ./test/core/traps.wast:86
+assert_trap(() => invoke($3, `no_dce.i64.load16_s`, [65536]), `out of bounds memory access`);
+
+// ./test/core/traps.wast:87
+assert_trap(() => invoke($3, `no_dce.i64.load16_u`, [65536]), `out of bounds memory access`);
+
+// ./test/core/traps.wast:88
+assert_trap(() => invoke($3, `no_dce.i64.load8_s`, [65536]), `out of bounds memory access`);
+
+// ./test/core/traps.wast:89
+assert_trap(() => invoke($3, `no_dce.i64.load8_u`, [65536]), `out of bounds memory access`);
+
+// ./test/core/traps.wast:90
+assert_trap(() => invoke($3, `no_dce.f32.load`, [65536]), `out of bounds memory access`);
+
+// ./test/core/traps.wast:91
+assert_trap(() => invoke($3, `no_dce.f64.load`, [65536]), `out of bounds memory access`);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/type.wast.js b/js/src/jit-test/tests/wasm/spec/spec/type.wast.js
new file mode 100644
index 0000000000..f4d3ede687
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/type.wast.js
@@ -0,0 +1,66 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/type.wast
+
+// ./test/core/type.wast:3
+let $0 = instantiate(`(module
+ (type (func))
+ (type $$t (func))
+
+ (type (func (param i32)))
+ (type (func (param $$x i32)))
+ (type (func (result i32)))
+ (type (func (param i32) (result i32)))
+ (type (func (param $$x i32) (result i32)))
+
+ (type (func (param f32 f64)))
+ (type (func (result i64 f32)))
+ (type (func (param i32 i64) (result f32 f64)))
+
+ (type (func (param f32) (param f64)))
+ (type (func (param $$x f32) (param f64)))
+ (type (func (param f32) (param $$y f64)))
+ (type (func (param $$x f32) (param $$y f64)))
+ (type (func (result i64) (result f32)))
+ (type (func (param i32) (param i64) (result f32) (result f64)))
+ (type (func (param $$x i32) (param $$y i64) (result f32) (result f64)))
+
+ (type (func (param f32 f64) (param $$x i32) (param f64 i32 i32)))
+ (type (func (result i64 i64 f32) (result f32 i32)))
+ (type
+ (func (param i32 i32) (param i64 i32) (result f32 f64) (result f64 i32))
+ )
+
+ (type (func (param) (param $$x f32) (param) (param) (param f64 i32) (param)))
+ (type
+ (func (result) (result) (result i64 i64) (result) (result f32) (result))
+ )
+ (type
+ (func
+ (param i32 i32) (param i64 i32) (param) (param $$x i32) (param)
+ (result) (result f32 f64) (result f64 i32) (result)
+ )
+ )
+)`);
+
+// ./test/core/type.wast:43
+assert_malformed(
+ () => instantiate(`(type (func (result i32) (param i32))) `),
+ `unexpected token`,
+);
+
+// ./test/core/type.wast:47
+assert_malformed(() => instantiate(`(type (func (result $$x i32))) `), `unexpected token`);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/unreachable.wast.js b/js/src/jit-test/tests/wasm/spec/spec/unreachable.wast.js
new file mode 100644
index 0000000000..70eafb7db3
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/unreachable.wast.js
@@ -0,0 +1,424 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/unreachable.wast
+
+// ./test/core/unreachable.wast:3
+let $0 = instantiate(`(module
+ ;; Auxiliary definitions
+ (func $$dummy)
+ (func $$dummy3 (param i32 i32 i32))
+
+ (func (export "type-i32") (result i32) (unreachable))
+ (func (export "type-i64") (result i32) (unreachable))
+ (func (export "type-f32") (result f64) (unreachable))
+ (func (export "type-f64") (result f64) (unreachable))
+
+ (func (export "as-func-first") (result i32)
+ (unreachable) (i32.const -1)
+ )
+ (func (export "as-func-mid") (result i32)
+ (call $$dummy) (unreachable) (i32.const -1)
+ )
+ (func (export "as-func-last")
+ (call $$dummy) (unreachable)
+ )
+ (func (export "as-func-value") (result i32)
+ (call $$dummy) (unreachable)
+ )
+
+ (func (export "as-block-first") (result i32)
+ (block (result i32) (unreachable) (i32.const 2))
+ )
+ (func (export "as-block-mid") (result i32)
+ (block (result i32) (call $$dummy) (unreachable) (i32.const 2))
+ )
+ (func (export "as-block-last")
+ (block (nop) (call $$dummy) (unreachable))
+ )
+ (func (export "as-block-value") (result i32)
+ (block (result i32) (nop) (call $$dummy) (unreachable))
+ )
+ (func (export "as-block-broke") (result i32)
+ (block (result i32) (call $$dummy) (br 0 (i32.const 1)) (unreachable))
+ )
+
+ (func (export "as-loop-first") (result i32)
+ (loop (result i32) (unreachable) (i32.const 2))
+ )
+ (func (export "as-loop-mid") (result i32)
+ (loop (result i32) (call $$dummy) (unreachable) (i32.const 2))
+ )
+ (func (export "as-loop-last")
+ (loop (nop) (call $$dummy) (unreachable))
+ )
+ (func (export "as-loop-broke") (result i32)
+ (block (result i32)
+ (loop (result i32) (call $$dummy) (br 1 (i32.const 1)) (unreachable))
+ )
+ )
+
+ (func (export "as-br-value") (result i32)
+ (block (result i32) (br 0 (unreachable)))
+ )
+
+ (func (export "as-br_if-cond")
+ (block (br_if 0 (unreachable)))
+ )
+ (func (export "as-br_if-value") (result i32)
+ (block (result i32)
+ (drop (br_if 0 (unreachable) (i32.const 1))) (i32.const 7)
+ )
+ )
+ (func (export "as-br_if-value-cond") (result i32)
+ (block (result i32)
+ (drop (br_if 0 (i32.const 6) (unreachable))) (i32.const 7)
+ )
+ )
+
+ (func (export "as-br_table-index")
+ (block (br_table 0 0 0 (unreachable)))
+ )
+ (func (export "as-br_table-value") (result i32)
+ (block (result i32)
+ (br_table 0 0 0 (unreachable) (i32.const 1)) (i32.const 7)
+ )
+ )
+ (func (export "as-br_table-value-2") (result i32)
+ (block (result i32)
+ (block (result i32) (br_table 0 1 (unreachable) (i32.const 1)))
+ )
+ )
+ (func (export "as-br_table-value-index") (result i32)
+ (block (result i32)
+ (br_table 0 0 (i32.const 6) (unreachable)) (i32.const 7)
+ )
+ )
+ (func (export "as-br_table-value-and-index") (result i32)
+ (block (result i32) (br_table 0 0 (unreachable)) (i32.const 8))
+ )
+
+ (func (export "as-return-value") (result i64)
+ (return (unreachable))
+ )
+
+ (func (export "as-if-cond") (result i32)
+ (if (result i32) (unreachable) (then (i32.const 0)) (else (i32.const 1)))
+ )
+ (func (export "as-if-then") (param i32 i32) (result i32)
+ (if (result i32) (local.get 0) (then (unreachable)) (else (local.get 1)))
+ )
+ (func (export "as-if-else") (param i32 i32) (result i32)
+ (if (result i32) (local.get 0) (then (local.get 1)) (else (unreachable)))
+ )
+ (func (export "as-if-then-no-else") (param i32 i32) (result i32)
+ (if (local.get 0) (then (unreachable))) (local.get 1)
+ )
+
+ (func (export "as-select-first") (param i32 i32) (result i32)
+ (select (unreachable) (local.get 0) (local.get 1))
+ )
+ (func (export "as-select-second") (param i32 i32) (result i32)
+ (select (local.get 0) (unreachable) (local.get 1))
+ )
+ (func (export "as-select-cond") (result i32)
+ (select (i32.const 0) (i32.const 1) (unreachable))
+ )
+
+ (func (export "as-call-first")
+ (call $$dummy3 (unreachable) (i32.const 2) (i32.const 3))
+ )
+ (func (export "as-call-mid")
+ (call $$dummy3 (i32.const 1) (unreachable) (i32.const 3))
+ )
+ (func (export "as-call-last")
+ (call $$dummy3 (i32.const 1) (i32.const 2) (unreachable))
+ )
+
+ (type $$sig (func (param i32 i32 i32)))
+ (table funcref (elem $$dummy3))
+ (func (export "as-call_indirect-func")
+ (call_indirect (type $$sig)
+ (unreachable) (i32.const 1) (i32.const 2) (i32.const 3)
+ )
+ )
+ (func (export "as-call_indirect-first")
+ (call_indirect (type $$sig)
+ (i32.const 0) (unreachable) (i32.const 2) (i32.const 3)
+ )
+ )
+ (func (export "as-call_indirect-mid")
+ (call_indirect (type $$sig)
+ (i32.const 0) (i32.const 1) (unreachable) (i32.const 3)
+ )
+ )
+ (func (export "as-call_indirect-last")
+ (call_indirect (type $$sig)
+ (i32.const 0) (i32.const 1) (i32.const 2) (unreachable)
+ )
+ )
+
+ (func (export "as-local.set-value") (local f32)
+ (local.set 0 (unreachable))
+ )
+ (func (export "as-local.tee-value") (result f32) (local f32)
+ (local.tee 0 (unreachable))
+ )
+ (global $$a (mut f32) (f32.const 0))
+ (func (export "as-global.set-value") (result f32)
+ (global.set $$a (unreachable))
+ )
+
+ (memory 1)
+ (func (export "as-load-address") (result f32)
+ (f32.load (unreachable))
+ )
+ (func (export "as-loadN-address") (result i64)
+ (i64.load8_s (unreachable))
+ )
+
+ (func (export "as-store-address")
+ (f64.store (unreachable) (f64.const 7))
+ )
+ (func (export "as-store-value")
+ (i64.store (i32.const 2) (unreachable))
+ )
+
+ (func (export "as-storeN-address")
+ (i32.store8 (unreachable) (i32.const 7))
+ )
+ (func (export "as-storeN-value")
+ (i64.store16 (i32.const 2) (unreachable))
+ )
+
+ (func (export "as-unary-operand") (result f32)
+ (f32.neg (unreachable))
+ )
+
+ (func (export "as-binary-left") (result i32)
+ (i32.add (unreachable) (i32.const 10))
+ )
+ (func (export "as-binary-right") (result i64)
+ (i64.sub (i64.const 10) (unreachable))
+ )
+
+ (func (export "as-test-operand") (result i32)
+ (i32.eqz (unreachable))
+ )
+
+ (func (export "as-compare-left") (result i32)
+ (f64.le (unreachable) (f64.const 10))
+ )
+ (func (export "as-compare-right") (result i32)
+ (f32.ne (f32.const 10) (unreachable))
+ )
+
+ (func (export "as-convert-operand") (result i32)
+ (i32.wrap_i64 (unreachable))
+ )
+
+ (func (export "as-memory.grow-size") (result i32)
+ (memory.grow (unreachable))
+ )
+)`);
+
+// ./test/core/unreachable.wast:221
+assert_trap(() => invoke($0, `type-i32`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:222
+assert_trap(() => invoke($0, `type-i64`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:223
+assert_trap(() => invoke($0, `type-f32`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:224
+assert_trap(() => invoke($0, `type-f64`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:226
+assert_trap(() => invoke($0, `as-func-first`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:227
+assert_trap(() => invoke($0, `as-func-mid`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:228
+assert_trap(() => invoke($0, `as-func-last`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:229
+assert_trap(() => invoke($0, `as-func-value`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:231
+assert_trap(() => invoke($0, `as-block-first`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:232
+assert_trap(() => invoke($0, `as-block-mid`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:233
+assert_trap(() => invoke($0, `as-block-last`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:234
+assert_trap(() => invoke($0, `as-block-value`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:235
+assert_return(() => invoke($0, `as-block-broke`, []), [value("i32", 1)]);
+
+// ./test/core/unreachable.wast:237
+assert_trap(() => invoke($0, `as-loop-first`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:238
+assert_trap(() => invoke($0, `as-loop-mid`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:239
+assert_trap(() => invoke($0, `as-loop-last`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:240
+assert_return(() => invoke($0, `as-loop-broke`, []), [value("i32", 1)]);
+
+// ./test/core/unreachable.wast:242
+assert_trap(() => invoke($0, `as-br-value`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:244
+assert_trap(() => invoke($0, `as-br_if-cond`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:245
+assert_trap(() => invoke($0, `as-br_if-value`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:246
+assert_trap(() => invoke($0, `as-br_if-value-cond`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:248
+assert_trap(() => invoke($0, `as-br_table-index`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:249
+assert_trap(() => invoke($0, `as-br_table-value`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:250
+assert_trap(() => invoke($0, `as-br_table-value-2`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:251
+assert_trap(() => invoke($0, `as-br_table-value-index`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:252
+assert_trap(() => invoke($0, `as-br_table-value-and-index`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:254
+assert_trap(() => invoke($0, `as-return-value`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:256
+assert_trap(() => invoke($0, `as-if-cond`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:257
+assert_trap(() => invoke($0, `as-if-then`, [1, 6]), `unreachable`);
+
+// ./test/core/unreachable.wast:258
+assert_return(() => invoke($0, `as-if-then`, [0, 6]), [value("i32", 6)]);
+
+// ./test/core/unreachable.wast:259
+assert_trap(() => invoke($0, `as-if-else`, [0, 6]), `unreachable`);
+
+// ./test/core/unreachable.wast:260
+assert_return(() => invoke($0, `as-if-else`, [1, 6]), [value("i32", 6)]);
+
+// ./test/core/unreachable.wast:261
+assert_trap(() => invoke($0, `as-if-then-no-else`, [1, 6]), `unreachable`);
+
+// ./test/core/unreachable.wast:262
+assert_return(() => invoke($0, `as-if-then-no-else`, [0, 6]), [value("i32", 6)]);
+
+// ./test/core/unreachable.wast:264
+assert_trap(() => invoke($0, `as-select-first`, [0, 6]), `unreachable`);
+
+// ./test/core/unreachable.wast:265
+assert_trap(() => invoke($0, `as-select-first`, [1, 6]), `unreachable`);
+
+// ./test/core/unreachable.wast:266
+assert_trap(() => invoke($0, `as-select-second`, [0, 6]), `unreachable`);
+
+// ./test/core/unreachable.wast:267
+assert_trap(() => invoke($0, `as-select-second`, [1, 6]), `unreachable`);
+
+// ./test/core/unreachable.wast:268
+assert_trap(() => invoke($0, `as-select-cond`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:270
+assert_trap(() => invoke($0, `as-call-first`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:271
+assert_trap(() => invoke($0, `as-call-mid`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:272
+assert_trap(() => invoke($0, `as-call-last`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:274
+assert_trap(() => invoke($0, `as-call_indirect-func`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:275
+assert_trap(() => invoke($0, `as-call_indirect-first`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:276
+assert_trap(() => invoke($0, `as-call_indirect-mid`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:277
+assert_trap(() => invoke($0, `as-call_indirect-last`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:279
+assert_trap(() => invoke($0, `as-local.set-value`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:280
+assert_trap(() => invoke($0, `as-local.tee-value`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:281
+assert_trap(() => invoke($0, `as-global.set-value`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:283
+assert_trap(() => invoke($0, `as-load-address`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:284
+assert_trap(() => invoke($0, `as-loadN-address`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:286
+assert_trap(() => invoke($0, `as-store-address`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:287
+assert_trap(() => invoke($0, `as-store-value`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:288
+assert_trap(() => invoke($0, `as-storeN-address`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:289
+assert_trap(() => invoke($0, `as-storeN-value`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:291
+assert_trap(() => invoke($0, `as-unary-operand`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:293
+assert_trap(() => invoke($0, `as-binary-left`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:294
+assert_trap(() => invoke($0, `as-binary-right`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:296
+assert_trap(() => invoke($0, `as-test-operand`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:298
+assert_trap(() => invoke($0, `as-compare-left`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:299
+assert_trap(() => invoke($0, `as-compare-right`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:301
+assert_trap(() => invoke($0, `as-convert-operand`, []), `unreachable`);
+
+// ./test/core/unreachable.wast:303
+assert_trap(() => invoke($0, `as-memory.grow-size`, []), `unreachable`);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/unreached-valid.wast.js b/js/src/jit-test/tests/wasm/spec/spec/unreached-valid.wast.js
new file mode 100644
index 0000000000..aece5191dc
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/unreached-valid.wast.js
@@ -0,0 +1,88 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/unreached-valid.wast
+
+// ./test/core/unreached-valid.wast:1
+let $0 = instantiate(`(module
+
+ ;; Check that both sides of the select are evaluated
+ (func (export "select-trap-left") (param $$cond i32) (result i32)
+ (select (unreachable) (i32.const 0) (local.get $$cond))
+ )
+ (func (export "select-trap-right") (param $$cond i32) (result i32)
+ (select (i32.const 0) (unreachable) (local.get $$cond))
+ )
+
+ (func (export "select-unreached")
+ (unreachable) (select)
+ (unreachable) (i32.const 0) (select)
+ (unreachable) (i32.const 0) (i32.const 0) (select)
+ (unreachable) (i32.const 0) (i32.const 0) (i32.const 0) (select)
+ (unreachable) (f32.const 0) (i32.const 0) (select)
+ (unreachable)
+ )
+
+ (func (export "select_unreached_result_1") (result i32)
+ (unreachable) (i32.add (select))
+ )
+
+ (func (export "select_unreached_result_2") (result i64)
+ (unreachable) (i64.add (select (i64.const 0) (i32.const 0)))
+ )
+
+ (func (export "unreachable-num")
+ (unreachable)
+ (select)
+ (i32.eqz)
+ (drop)
+ )
+ (func (export "unreachable-ref")
+ (unreachable)
+ (select)
+ (ref.is_null)
+ (drop)
+ )
+)`);
+
+// ./test/core/unreached-valid.wast:42
+assert_trap(() => invoke($0, `select-trap-left`, [1]), `unreachable`);
+
+// ./test/core/unreached-valid.wast:43
+assert_trap(() => invoke($0, `select-trap-left`, [0]), `unreachable`);
+
+// ./test/core/unreached-valid.wast:44
+assert_trap(() => invoke($0, `select-trap-right`, [1]), `unreachable`);
+
+// ./test/core/unreached-valid.wast:45
+assert_trap(() => invoke($0, `select-trap-right`, [0]), `unreachable`);
+
+// ./test/core/unreached-valid.wast:49
+let $1 = instantiate(`(module
+ (func (export "meet-bottom")
+ (block (result f64)
+ (block (result f32)
+ (unreachable)
+ (br_table 0 1 1 (i32.const 1))
+ )
+ (drop)
+ (f64.const 0)
+ )
+ (drop)
+ )
+)`);
+
+// ./test/core/unreached-valid.wast:63
+assert_trap(() => invoke($1, `meet-bottom`, []), `unreachable`);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/unwind.wast.js b/js/src/jit-test/tests/wasm/spec/spec/unwind.wast.js
new file mode 100644
index 0000000000..5567d3473d
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/unwind.wast.js
@@ -0,0 +1,373 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/unwind.wast
+
+// ./test/core/unwind.wast:3
+let $0 = instantiate(`(module
+ (func (export "func-unwind-by-unreachable")
+ (i32.const 3) (i64.const 1) (unreachable)
+ )
+ (func (export "func-unwind-by-br")
+ (i32.const 3) (i64.const 1) (br 0)
+ )
+ (func (export "func-unwind-by-br-value") (result i32)
+ (i32.const 3) (i64.const 1) (br 0 (i32.const 9))
+ )
+ (func (export "func-unwind-by-br_if")
+ (i32.const 3) (i64.const 1) (drop (drop (br_if 0 (i32.const 1))))
+ )
+ (func (export "func-unwind-by-br_if-value") (result i32)
+ (i32.const 3) (i64.const 1) (drop (drop (br_if 0 (i32.const 9) (i32.const 1))))
+ )
+ (func (export "func-unwind-by-br_table")
+ (i32.const 3) (i64.const 1) (br_table 0 (i32.const 0))
+ )
+ (func (export "func-unwind-by-br_table-value") (result i32)
+ (i32.const 3) (i64.const 1) (br_table 0 (i32.const 9) (i32.const 0))
+ )
+ (func (export "func-unwind-by-return") (result i32)
+ (i32.const 3) (i64.const 1) (return (i32.const 9))
+ )
+
+ (func (export "block-unwind-by-unreachable")
+ (block (i32.const 3) (i64.const 1) (unreachable))
+ )
+ (func (export "block-unwind-by-br") (result i32)
+ (block (i32.const 3) (i64.const 1) (br 0)) (i32.const 9)
+ )
+ (func (export "block-unwind-by-br-value") (result i32)
+ (block (result i32) (i32.const 3) (i64.const 1) (br 0 (i32.const 9)))
+ )
+ (func (export "block-unwind-by-br_if") (result i32)
+ (block (i32.const 3) (i64.const 1) (drop (drop (br_if 0 (i32.const 1))))) (i32.const 9)
+ )
+ (func (export "block-unwind-by-br_if-value") (result i32)
+ (block (result i32)
+ (i32.const 3) (i64.const 1) (drop (drop (br_if 0 (i32.const 9) (i32.const 1))))
+ )
+ )
+ (func (export "block-unwind-by-br_table") (result i32)
+ (block (i32.const 3) (i64.const 1) (br_table 0 (i32.const 0))) (i32.const 9)
+ )
+ (func (export "block-unwind-by-br_table-value") (result i32)
+ (block (result i32)
+ (i32.const 3) (i64.const 1) (br_table 0 (i32.const 9) (i32.const 0))
+ )
+ )
+ (func (export "block-unwind-by-return") (result i32)
+ (block (result i32) (i32.const 3) (i64.const 1) (return (i32.const 9)))
+ )
+
+ (func (export "block-nested-unwind-by-unreachable") (result i32)
+ (block (result i32) (i32.const 3) (block (i64.const 1) (unreachable)))
+ )
+ (func (export "block-nested-unwind-by-br") (result i32)
+ (block (i32.const 3) (block (i64.const 1) (br 1)) (drop)) (i32.const 9)
+ )
+ (func (export "block-nested-unwind-by-br-value") (result i32)
+ (block (result i32)
+ (i32.const 3) (block (i64.const 1) (br 1 (i32.const 9)))
+ )
+ )
+ (func (export "block-nested-unwind-by-br_if") (result i32)
+ (block (i32.const 3) (block (i64.const 1) (drop (br_if 1 (i32.const 1)))) (drop)) (i32.const 9)
+ )
+ (func (export "block-nested-unwind-by-br_if-value") (result i32)
+ (block (result i32)
+ (i32.const 3) (block (i64.const 1) (drop (drop (br_if 1 (i32.const 9) (i32.const 1)))))
+ )
+ )
+ (func (export "block-nested-unwind-by-br_table") (result i32)
+ (block
+ (i32.const 3) (block (i64.const 1) (br_table 1 (i32.const 1)))
+ (drop)
+ )
+ (i32.const 9)
+ )
+ (func (export "block-nested-unwind-by-br_table-value") (result i32)
+ (block (result i32)
+ (i32.const 3)
+ (block (i64.const 1) (br_table 1 (i32.const 9) (i32.const 1)))
+ )
+ )
+ (func (export "block-nested-unwind-by-return") (result i32)
+ (block (result i32)
+ (i32.const 3) (block (i64.const 1) (return (i32.const 9)))
+ )
+ )
+
+ (func (export "unary-after-unreachable") (result i32)
+ (f32.const 0) (unreachable) (i64.eqz)
+ )
+ (func (export "unary-after-br") (result i32)
+ (block (result i32) (f32.const 0) (br 0 (i32.const 9)) (i64.eqz))
+ )
+ (func (export "unary-after-br_if") (result i32)
+ (block (result i32)
+ (i64.const 0) (drop (br_if 0 (i32.const 9) (i32.const 1))) (i64.eqz)
+ )
+ )
+ (func (export "unary-after-br_table") (result i32)
+ (block (result i32)
+ (f32.const 0) (br_table 0 0 (i32.const 9) (i32.const 0)) (i64.eqz)
+ )
+ )
+ (func (export "unary-after-return") (result i32)
+ (f32.const 0) (return (i32.const 9)) (i64.eqz)
+ )
+
+ (func (export "binary-after-unreachable") (result i32)
+ (f32.const 0) (f64.const 1) (unreachable) (i64.eq)
+ )
+ (func (export "binary-after-br") (result i32)
+ (block (result i32)
+ (f32.const 0) (f64.const 1) (br 0 (i32.const 9)) (i64.eq)
+ )
+ )
+ (func (export "binary-after-br_if") (result i32)
+ (block (result i32)
+ (i64.const 0) (i64.const 1) (drop (br_if 0 (i32.const 9) (i32.const 1)))
+ (i64.eq)
+ )
+ )
+ (func (export "binary-after-br_table") (result i32)
+ (block (result i32)
+ (f32.const 0) (f64.const 1) (br_table 0 (i32.const 9) (i32.const 0))
+ (i64.eq)
+ )
+ )
+ (func (export "binary-after-return") (result i32)
+ (f32.const 0) (f64.const 1) (return (i32.const 9)) (i64.eq)
+ )
+
+ (func (export "select-after-unreachable") (result i32)
+ (f32.const 0) (f64.const 1) (i64.const 0) (unreachable) (select)
+ )
+ (func (export "select-after-br") (result i32)
+ (block (result i32)
+ (f32.const 0) (f64.const 1) (i64.const 0) (br 0 (i32.const 9)) (select)
+ )
+ )
+ (func (export "select-after-br_if") (result i32)
+ (block (result i32)
+ (i32.const 0) (i32.const 1) (i32.const 0)
+ (drop (br_if 0 (i32.const 9) (i32.const 1)))
+ (select)
+ )
+ )
+ (func (export "select-after-br_table") (result i32)
+ (block (result i32)
+ (f32.const 0) (f64.const 1) (i64.const 0)
+ (br_table 0 (i32.const 9) (i32.const 0))
+ (select)
+ )
+ )
+ (func (export "select-after-return") (result i32)
+ (f32.const 0) (f64.const 1) (i64.const 1) (return (i32.const 9)) (select)
+ )
+
+ (func (export "block-value-after-unreachable") (result i32)
+ (block (result i32) (f32.const 0) (unreachable))
+ )
+ (func (export "block-value-after-br") (result i32)
+ (block (result i32) (f32.const 0) (br 0 (i32.const 9)))
+ )
+ (func (export "block-value-after-br_if") (result i32)
+ (block (result i32)
+ (i32.const 0) (drop (br_if 0 (i32.const 9) (i32.const 1)))
+ )
+ )
+ (func (export "block-value-after-br_table") (result i32)
+ (block (result i32)
+ (f32.const 0) (br_table 0 0 (i32.const 9) (i32.const 0))
+ )
+ )
+ (func (export "block-value-after-return") (result i32)
+ (block (result i32) (f32.const 0) (return (i32.const 9)))
+ )
+
+ (func (export "loop-value-after-unreachable") (result i32)
+ (loop (result i32) (f32.const 0) (unreachable))
+ )
+ (func (export "loop-value-after-br") (result i32)
+ (block (result i32) (loop (result i32) (f32.const 0) (br 1 (i32.const 9))))
+ )
+ (func (export "loop-value-after-br_if") (result i32)
+ (block (result i32)
+ (loop (result i32)
+ (i32.const 0) (drop (br_if 1 (i32.const 9) (i32.const 1)))
+ )
+ )
+ )
+
+ (func (export "loop-value-after-br_table") (result i32)
+ (block (result i32)
+ (loop (result i32)
+ (f32.const 0) (br_table 1 1 (i32.const 9) (i32.const 0))
+ )
+ )
+ )
+ (func (export "loop-value-after-return") (result i32)
+ (loop (result i32) (f32.const 0) (return (i32.const 9)))
+ )
+)`);
+
+// ./test/core/unwind.wast:212
+assert_trap(() => invoke($0, `func-unwind-by-unreachable`, []), `unreachable`);
+
+// ./test/core/unwind.wast:213
+assert_return(() => invoke($0, `func-unwind-by-br`, []), []);
+
+// ./test/core/unwind.wast:214
+assert_return(() => invoke($0, `func-unwind-by-br-value`, []), [value("i32", 9)]);
+
+// ./test/core/unwind.wast:215
+assert_return(() => invoke($0, `func-unwind-by-br_if`, []), []);
+
+// ./test/core/unwind.wast:216
+assert_return(() => invoke($0, `func-unwind-by-br_if-value`, []), [value("i32", 9)]);
+
+// ./test/core/unwind.wast:217
+assert_return(() => invoke($0, `func-unwind-by-br_table`, []), []);
+
+// ./test/core/unwind.wast:218
+assert_return(() => invoke($0, `func-unwind-by-br_table-value`, []), [value("i32", 9)]);
+
+// ./test/core/unwind.wast:219
+assert_return(() => invoke($0, `func-unwind-by-return`, []), [value("i32", 9)]);
+
+// ./test/core/unwind.wast:221
+assert_trap(() => invoke($0, `block-unwind-by-unreachable`, []), `unreachable`);
+
+// ./test/core/unwind.wast:222
+assert_return(() => invoke($0, `block-unwind-by-br`, []), [value("i32", 9)]);
+
+// ./test/core/unwind.wast:223
+assert_return(() => invoke($0, `block-unwind-by-br-value`, []), [value("i32", 9)]);
+
+// ./test/core/unwind.wast:224
+assert_return(() => invoke($0, `block-unwind-by-br_if`, []), [value("i32", 9)]);
+
+// ./test/core/unwind.wast:225
+assert_return(() => invoke($0, `block-unwind-by-br_if-value`, []), [value("i32", 9)]);
+
+// ./test/core/unwind.wast:226
+assert_return(() => invoke($0, `block-unwind-by-br_table`, []), [value("i32", 9)]);
+
+// ./test/core/unwind.wast:227
+assert_return(() => invoke($0, `block-unwind-by-br_table-value`, []), [value("i32", 9)]);
+
+// ./test/core/unwind.wast:228
+assert_return(() => invoke($0, `block-unwind-by-return`, []), [value("i32", 9)]);
+
+// ./test/core/unwind.wast:230
+assert_trap(() => invoke($0, `block-nested-unwind-by-unreachable`, []), `unreachable`);
+
+// ./test/core/unwind.wast:231
+assert_return(() => invoke($0, `block-nested-unwind-by-br`, []), [value("i32", 9)]);
+
+// ./test/core/unwind.wast:232
+assert_return(() => invoke($0, `block-nested-unwind-by-br-value`, []), [value("i32", 9)]);
+
+// ./test/core/unwind.wast:233
+assert_return(() => invoke($0, `block-nested-unwind-by-br_if`, []), [value("i32", 9)]);
+
+// ./test/core/unwind.wast:234
+assert_return(() => invoke($0, `block-nested-unwind-by-br_if-value`, []), [value("i32", 9)]);
+
+// ./test/core/unwind.wast:235
+assert_return(() => invoke($0, `block-nested-unwind-by-br_table`, []), [value("i32", 9)]);
+
+// ./test/core/unwind.wast:236
+assert_return(() => invoke($0, `block-nested-unwind-by-br_table-value`, []), [value("i32", 9)]);
+
+// ./test/core/unwind.wast:237
+assert_return(() => invoke($0, `block-nested-unwind-by-return`, []), [value("i32", 9)]);
+
+// ./test/core/unwind.wast:239
+assert_trap(() => invoke($0, `unary-after-unreachable`, []), `unreachable`);
+
+// ./test/core/unwind.wast:240
+assert_return(() => invoke($0, `unary-after-br`, []), [value("i32", 9)]);
+
+// ./test/core/unwind.wast:241
+assert_return(() => invoke($0, `unary-after-br_if`, []), [value("i32", 9)]);
+
+// ./test/core/unwind.wast:242
+assert_return(() => invoke($0, `unary-after-br_table`, []), [value("i32", 9)]);
+
+// ./test/core/unwind.wast:243
+assert_return(() => invoke($0, `unary-after-return`, []), [value("i32", 9)]);
+
+// ./test/core/unwind.wast:245
+assert_trap(() => invoke($0, `binary-after-unreachable`, []), `unreachable`);
+
+// ./test/core/unwind.wast:246
+assert_return(() => invoke($0, `binary-after-br`, []), [value("i32", 9)]);
+
+// ./test/core/unwind.wast:247
+assert_return(() => invoke($0, `binary-after-br_if`, []), [value("i32", 9)]);
+
+// ./test/core/unwind.wast:248
+assert_return(() => invoke($0, `binary-after-br_table`, []), [value("i32", 9)]);
+
+// ./test/core/unwind.wast:249
+assert_return(() => invoke($0, `binary-after-return`, []), [value("i32", 9)]);
+
+// ./test/core/unwind.wast:251
+assert_trap(() => invoke($0, `select-after-unreachable`, []), `unreachable`);
+
+// ./test/core/unwind.wast:252
+assert_return(() => invoke($0, `select-after-br`, []), [value("i32", 9)]);
+
+// ./test/core/unwind.wast:253
+assert_return(() => invoke($0, `select-after-br_if`, []), [value("i32", 9)]);
+
+// ./test/core/unwind.wast:254
+assert_return(() => invoke($0, `select-after-br_table`, []), [value("i32", 9)]);
+
+// ./test/core/unwind.wast:255
+assert_return(() => invoke($0, `select-after-return`, []), [value("i32", 9)]);
+
+// ./test/core/unwind.wast:257
+assert_trap(() => invoke($0, `block-value-after-unreachable`, []), `unreachable`);
+
+// ./test/core/unwind.wast:258
+assert_return(() => invoke($0, `block-value-after-br`, []), [value("i32", 9)]);
+
+// ./test/core/unwind.wast:259
+assert_return(() => invoke($0, `block-value-after-br_if`, []), [value("i32", 9)]);
+
+// ./test/core/unwind.wast:260
+assert_return(() => invoke($0, `block-value-after-br_table`, []), [value("i32", 9)]);
+
+// ./test/core/unwind.wast:261
+assert_return(() => invoke($0, `block-value-after-return`, []), [value("i32", 9)]);
+
+// ./test/core/unwind.wast:263
+assert_trap(() => invoke($0, `loop-value-after-unreachable`, []), `unreachable`);
+
+// ./test/core/unwind.wast:264
+assert_return(() => invoke($0, `loop-value-after-br`, []), [value("i32", 9)]);
+
+// ./test/core/unwind.wast:265
+assert_return(() => invoke($0, `loop-value-after-br_if`, []), [value("i32", 9)]);
+
+// ./test/core/unwind.wast:266
+assert_return(() => invoke($0, `loop-value-after-br_table`, []), [value("i32", 9)]);
+
+// ./test/core/unwind.wast:267
+assert_return(() => invoke($0, `loop-value-after-return`, []), [value("i32", 9)]);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/utf8-import-field.wast.js b/js/src/jit-test/tests/wasm/spec/spec/utf8-import-field.wast.js
new file mode 100644
index 0000000000..658da5449f
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/utf8-import-field.wast.js
@@ -0,0 +1,2656 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/utf8-import-field.wast
+
+// ./test/core/utf8-import-field.wast:6
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0b" ;; import section
+ "\\01" ;; length 1
+ "\\01\\80" ;; "\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:21
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0b" ;; import section
+ "\\01" ;; length 1
+ "\\01\\8f" ;; "\\8f"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:36
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0b" ;; import section
+ "\\01" ;; length 1
+ "\\01\\90" ;; "\\90"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:51
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0b" ;; import section
+ "\\01" ;; length 1
+ "\\01\\9f" ;; "\\9f"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:66
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0b" ;; import section
+ "\\01" ;; length 1
+ "\\01\\a0" ;; "\\a0"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:81
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0b" ;; import section
+ "\\01" ;; length 1
+ "\\01\\bf" ;; "\\bf"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:98
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\c2\\80\\80" ;; "\\c2\\80\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:113
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0b" ;; import section
+ "\\01" ;; length 1
+ "\\01\\c2" ;; "\\c2"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:128
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0c" ;; import section
+ "\\01" ;; length 1
+ "\\02\\c2\\2e" ;; "\\c2."
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:145
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0c" ;; import section
+ "\\01" ;; length 1
+ "\\02\\c0\\80" ;; "\\c0\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:160
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0c" ;; import section
+ "\\01" ;; length 1
+ "\\02\\c0\\bf" ;; "\\c0\\bf"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:175
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0c" ;; import section
+ "\\01" ;; length 1
+ "\\02\\c1\\80" ;; "\\c1\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:190
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0c" ;; import section
+ "\\01" ;; length 1
+ "\\02\\c1\\bf" ;; "\\c1\\bf"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:205
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0c" ;; import section
+ "\\01" ;; length 1
+ "\\02\\c2\\00" ;; "\\c2\\00"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:220
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0c" ;; import section
+ "\\01" ;; length 1
+ "\\02\\c2\\7f" ;; "\\c2\\7f"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:235
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0c" ;; import section
+ "\\01" ;; length 1
+ "\\02\\c2\\c0" ;; "\\c2\\c0"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:250
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0c" ;; import section
+ "\\01" ;; length 1
+ "\\02\\c2\\fd" ;; "\\c2\\fd"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:265
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0c" ;; import section
+ "\\01" ;; length 1
+ "\\02\\df\\00" ;; "\\df\\00"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:280
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0c" ;; import section
+ "\\01" ;; length 1
+ "\\02\\df\\7f" ;; "\\df\\7f"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:295
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0c" ;; import section
+ "\\01" ;; length 1
+ "\\02\\df\\c0" ;; "\\df\\c0"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:310
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0c" ;; import section
+ "\\01" ;; length 1
+ "\\02\\df\\fd" ;; "\\df\\fd"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:327
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\e1\\80\\80\\80" ;; "\\e1\\80\\80\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:342
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0c" ;; import section
+ "\\01" ;; length 1
+ "\\02\\e1\\80" ;; "\\e1\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:357
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\e1\\80\\2e" ;; "\\e1\\80."
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:372
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0b" ;; import section
+ "\\01" ;; length 1
+ "\\01\\e1" ;; "\\e1"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:387
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0c" ;; import section
+ "\\01" ;; length 1
+ "\\02\\e1\\2e" ;; "\\e1."
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:404
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\e0\\00\\a0" ;; "\\e0\\00\\a0"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:419
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\e0\\7f\\a0" ;; "\\e0\\7f\\a0"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:434
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\e0\\80\\80" ;; "\\e0\\80\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:449
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\e0\\80\\a0" ;; "\\e0\\80\\a0"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:464
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\e0\\9f\\a0" ;; "\\e0\\9f\\a0"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:479
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\e0\\9f\\bf" ;; "\\e0\\9f\\bf"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:494
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\e0\\c0\\a0" ;; "\\e0\\c0\\a0"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:509
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\e0\\fd\\a0" ;; "\\e0\\fd\\a0"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:524
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\e1\\00\\80" ;; "\\e1\\00\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:539
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\e1\\7f\\80" ;; "\\e1\\7f\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:554
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\e1\\c0\\80" ;; "\\e1\\c0\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:569
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\e1\\fd\\80" ;; "\\e1\\fd\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:584
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\ec\\00\\80" ;; "\\ec\\00\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:599
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\ec\\7f\\80" ;; "\\ec\\7f\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:614
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\ec\\c0\\80" ;; "\\ec\\c0\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:629
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\ec\\fd\\80" ;; "\\ec\\fd\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:644
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\ed\\00\\80" ;; "\\ed\\00\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:659
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\ed\\7f\\80" ;; "\\ed\\7f\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:674
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\ed\\a0\\80" ;; "\\ed\\a0\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:689
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\ed\\a0\\bf" ;; "\\ed\\a0\\bf"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:704
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\ed\\bf\\80" ;; "\\ed\\bf\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:719
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\ed\\bf\\bf" ;; "\\ed\\bf\\bf"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:734
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\ed\\c0\\80" ;; "\\ed\\c0\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:749
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\ed\\fd\\80" ;; "\\ed\\fd\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:764
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\ee\\00\\80" ;; "\\ee\\00\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:779
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\ee\\7f\\80" ;; "\\ee\\7f\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:794
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\ee\\c0\\80" ;; "\\ee\\c0\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:809
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\ee\\fd\\80" ;; "\\ee\\fd\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:824
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\ef\\00\\80" ;; "\\ef\\00\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:839
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\ef\\7f\\80" ;; "\\ef\\7f\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:854
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\ef\\c0\\80" ;; "\\ef\\c0\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:869
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\ef\\fd\\80" ;; "\\ef\\fd\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:886
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\e0\\a0\\00" ;; "\\e0\\a0\\00"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:901
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\e0\\a0\\7f" ;; "\\e0\\a0\\7f"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:916
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\e0\\a0\\c0" ;; "\\e0\\a0\\c0"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:931
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\e0\\a0\\fd" ;; "\\e0\\a0\\fd"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:946
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\e1\\80\\00" ;; "\\e1\\80\\00"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:961
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\e1\\80\\7f" ;; "\\e1\\80\\7f"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:976
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\e1\\80\\c0" ;; "\\e1\\80\\c0"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:991
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\e1\\80\\fd" ;; "\\e1\\80\\fd"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1006
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\ec\\80\\00" ;; "\\ec\\80\\00"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1021
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\ec\\80\\7f" ;; "\\ec\\80\\7f"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1036
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\ec\\80\\c0" ;; "\\ec\\80\\c0"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1051
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\ec\\80\\fd" ;; "\\ec\\80\\fd"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1066
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\ed\\80\\00" ;; "\\ed\\80\\00"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1081
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\ed\\80\\7f" ;; "\\ed\\80\\7f"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1096
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\ed\\80\\c0" ;; "\\ed\\80\\c0"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1111
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\ed\\80\\fd" ;; "\\ed\\80\\fd"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1126
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\ee\\80\\00" ;; "\\ee\\80\\00"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1141
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\ee\\80\\7f" ;; "\\ee\\80\\7f"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1156
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\ee\\80\\c0" ;; "\\ee\\80\\c0"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1171
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\ee\\80\\fd" ;; "\\ee\\80\\fd"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1186
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\ef\\80\\00" ;; "\\ef\\80\\00"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1201
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\ef\\80\\7f" ;; "\\ef\\80\\7f"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1216
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\ef\\80\\c0" ;; "\\ef\\80\\c0"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1231
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\ef\\80\\fd" ;; "\\ef\\80\\fd"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1248
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0f" ;; import section
+ "\\01" ;; length 1
+ "\\05\\f1\\80\\80\\80\\80" ;; "\\f1\\80\\80\\80\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1263
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\f1\\80\\80" ;; "\\f1\\80\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1278
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f1\\80\\80\\23" ;; "\\f1\\80\\80#"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1293
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0c" ;; import section
+ "\\01" ;; length 1
+ "\\02\\f1\\80" ;; "\\f1\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1308
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\f1\\80\\23" ;; "\\f1\\80#"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1323
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0b" ;; import section
+ "\\01" ;; length 1
+ "\\01\\f1" ;; "\\f1"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1338
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0c" ;; import section
+ "\\01" ;; length 1
+ "\\02\\f1\\23" ;; "\\f1#"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1355
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f0\\00\\90\\90" ;; "\\f0\\00\\90\\90"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1370
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f0\\7f\\90\\90" ;; "\\f0\\7f\\90\\90"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1385
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f0\\80\\80\\80" ;; "\\f0\\80\\80\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1400
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f0\\80\\90\\90" ;; "\\f0\\80\\90\\90"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1415
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f0\\8f\\90\\90" ;; "\\f0\\8f\\90\\90"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1430
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f0\\8f\\bf\\bf" ;; "\\f0\\8f\\bf\\bf"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1445
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f0\\c0\\90\\90" ;; "\\f0\\c0\\90\\90"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1460
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f0\\fd\\90\\90" ;; "\\f0\\fd\\90\\90"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1475
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f1\\00\\80\\80" ;; "\\f1\\00\\80\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1490
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f1\\7f\\80\\80" ;; "\\f1\\7f\\80\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1505
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f1\\c0\\80\\80" ;; "\\f1\\c0\\80\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1520
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f1\\fd\\80\\80" ;; "\\f1\\fd\\80\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1535
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f3\\00\\80\\80" ;; "\\f3\\00\\80\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1550
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f3\\7f\\80\\80" ;; "\\f3\\7f\\80\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1565
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f3\\c0\\80\\80" ;; "\\f3\\c0\\80\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1580
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f3\\fd\\80\\80" ;; "\\f3\\fd\\80\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1595
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f4\\00\\80\\80" ;; "\\f4\\00\\80\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1610
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f4\\7f\\80\\80" ;; "\\f4\\7f\\80\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1625
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f4\\90\\80\\80" ;; "\\f4\\90\\80\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1640
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f4\\bf\\80\\80" ;; "\\f4\\bf\\80\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1655
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f4\\c0\\80\\80" ;; "\\f4\\c0\\80\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1670
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f4\\fd\\80\\80" ;; "\\f4\\fd\\80\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1685
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f5\\80\\80\\80" ;; "\\f5\\80\\80\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1700
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f7\\80\\80\\80" ;; "\\f7\\80\\80\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1715
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f7\\bf\\bf\\bf" ;; "\\f7\\bf\\bf\\bf"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1732
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f0\\90\\00\\90" ;; "\\f0\\90\\00\\90"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1747
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f0\\90\\7f\\90" ;; "\\f0\\90\\7f\\90"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1762
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f0\\90\\c0\\90" ;; "\\f0\\90\\c0\\90"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1777
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f0\\90\\fd\\90" ;; "\\f0\\90\\fd\\90"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1792
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f1\\80\\00\\80" ;; "\\f1\\80\\00\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1807
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f1\\80\\7f\\80" ;; "\\f1\\80\\7f\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1822
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f1\\80\\c0\\80" ;; "\\f1\\80\\c0\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1837
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f1\\80\\fd\\80" ;; "\\f1\\80\\fd\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1852
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f3\\80\\00\\80" ;; "\\f3\\80\\00\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1867
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f3\\80\\7f\\80" ;; "\\f3\\80\\7f\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1882
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f3\\80\\c0\\80" ;; "\\f3\\80\\c0\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1897
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f3\\80\\fd\\80" ;; "\\f3\\80\\fd\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1912
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f4\\80\\00\\80" ;; "\\f4\\80\\00\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1927
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f4\\80\\7f\\80" ;; "\\f4\\80\\7f\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1942
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f4\\80\\c0\\80" ;; "\\f4\\80\\c0\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1957
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f4\\80\\fd\\80" ;; "\\f4\\80\\fd\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1974
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f0\\90\\90\\00" ;; "\\f0\\90\\90\\00"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:1989
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f0\\90\\90\\7f" ;; "\\f0\\90\\90\\7f"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:2004
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f0\\90\\90\\c0" ;; "\\f0\\90\\90\\c0"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:2019
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f0\\90\\90\\fd" ;; "\\f0\\90\\90\\fd"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:2034
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f1\\80\\80\\00" ;; "\\f1\\80\\80\\00"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:2049
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f1\\80\\80\\7f" ;; "\\f1\\80\\80\\7f"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:2064
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f1\\80\\80\\c0" ;; "\\f1\\80\\80\\c0"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:2079
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f1\\80\\80\\fd" ;; "\\f1\\80\\80\\fd"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:2094
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f3\\80\\80\\00" ;; "\\f3\\80\\80\\00"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:2109
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f3\\80\\80\\7f" ;; "\\f3\\80\\80\\7f"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:2124
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f3\\80\\80\\c0" ;; "\\f3\\80\\80\\c0"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:2139
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f3\\80\\80\\fd" ;; "\\f3\\80\\80\\fd"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:2154
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f4\\80\\80\\00" ;; "\\f4\\80\\80\\00"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:2169
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f4\\80\\80\\7f" ;; "\\f4\\80\\80\\7f"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:2184
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f4\\80\\80\\c0" ;; "\\f4\\80\\80\\c0"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:2199
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f4\\80\\80\\fd" ;; "\\f4\\80\\80\\fd"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:2216
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\10" ;; import section
+ "\\01" ;; length 1
+ "\\06\\f8\\80\\80\\80\\80\\80" ;; "\\f8\\80\\80\\80\\80\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:2231
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f8\\80\\80\\80" ;; "\\f8\\80\\80\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:2246
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0f" ;; import section
+ "\\01" ;; length 1
+ "\\05\\f8\\80\\80\\80\\23" ;; "\\f8\\80\\80\\80#"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:2261
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\f8\\80\\80" ;; "\\f8\\80\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:2276
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\f8\\80\\80\\23" ;; "\\f8\\80\\80#"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:2291
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0c" ;; import section
+ "\\01" ;; length 1
+ "\\02\\f8\\80" ;; "\\f8\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:2306
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\f8\\80\\23" ;; "\\f8\\80#"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:2321
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0b" ;; import section
+ "\\01" ;; length 1
+ "\\01\\f8" ;; "\\f8"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:2336
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0c" ;; import section
+ "\\01" ;; length 1
+ "\\02\\f8\\23" ;; "\\f8#"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:2353
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0f" ;; import section
+ "\\01" ;; length 1
+ "\\05\\f8\\80\\80\\80\\80" ;; "\\f8\\80\\80\\80\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:2368
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0f" ;; import section
+ "\\01" ;; length 1
+ "\\05\\fb\\bf\\bf\\bf\\bf" ;; "\\fb\\bf\\bf\\bf\\bf"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:2385
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\11" ;; import section
+ "\\01" ;; length 1
+ "\\07\\fc\\80\\80\\80\\80\\80\\80" ;; "\\fc\\80\\80\\80\\80\\80\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:2400
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0f" ;; import section
+ "\\01" ;; length 1
+ "\\05\\fc\\80\\80\\80\\80" ;; "\\fc\\80\\80\\80\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:2415
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\10" ;; import section
+ "\\01" ;; length 1
+ "\\06\\fc\\80\\80\\80\\80\\23" ;; "\\fc\\80\\80\\80\\80#"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:2430
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\fc\\80\\80\\80" ;; "\\fc\\80\\80\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:2445
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0f" ;; import section
+ "\\01" ;; length 1
+ "\\05\\fc\\80\\80\\80\\23" ;; "\\fc\\80\\80\\80#"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:2460
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\fc\\80\\80" ;; "\\fc\\80\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:2475
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\fc\\80\\80\\23" ;; "\\fc\\80\\80#"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:2490
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0c" ;; import section
+ "\\01" ;; length 1
+ "\\02\\fc\\80" ;; "\\fc\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:2505
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\03\\fc\\80\\23" ;; "\\fc\\80#"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:2520
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0b" ;; import section
+ "\\01" ;; length 1
+ "\\01\\fc" ;; "\\fc"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:2535
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0c" ;; import section
+ "\\01" ;; length 1
+ "\\02\\fc\\23" ;; "\\fc#"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:2552
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\10" ;; import section
+ "\\01" ;; length 1
+ "\\06\\fc\\80\\80\\80\\80\\80" ;; "\\fc\\80\\80\\80\\80\\80"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:2567
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\10" ;; import section
+ "\\01" ;; length 1
+ "\\06\\fd\\bf\\bf\\bf\\bf\\bf" ;; "\\fd\\bf\\bf\\bf\\bf\\bf"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:2584
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0b" ;; import section
+ "\\01" ;; length 1
+ "\\01\\fe" ;; "\\fe"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:2599
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0b" ;; import section
+ "\\01" ;; length 1
+ "\\01\\ff" ;; "\\ff"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:2614
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0c" ;; import section
+ "\\01" ;; length 1
+ "\\02\\fe\\ff" ;; "\\fe\\ff"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:2629
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\00\\00\\fe\\ff" ;; "\\00\\00\\fe\\ff"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:2644
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0c" ;; import section
+ "\\01" ;; length 1
+ "\\02\\ff\\fe" ;; "\\ff\\fe"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-field.wast:2659
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\ff\\fe\\00\\00" ;; "\\ff\\fe\\00\\00"
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/utf8-import-module.wast.js b/js/src/jit-test/tests/wasm/spec/spec/utf8-import-module.wast.js
new file mode 100644
index 0000000000..8175cd2d2f
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/utf8-import-module.wast.js
@@ -0,0 +1,2656 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/utf8-import-module.wast
+
+// ./test/core/utf8-import-module.wast:6
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0b" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\01\\80" ;; "\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:21
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0b" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\01\\8f" ;; "\\8f"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:36
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0b" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\01\\90" ;; "\\90"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:51
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0b" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\01\\9f" ;; "\\9f"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:66
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0b" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\01\\a0" ;; "\\a0"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:81
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0b" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\01\\bf" ;; "\\bf"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:98
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\c2\\80\\80" ;; "\\c2\\80\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:113
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0b" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\01\\c2" ;; "\\c2"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:128
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0c" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\02\\c2\\2e" ;; "\\c2."
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:145
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0c" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\02\\c0\\80" ;; "\\c0\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:160
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0c" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\02\\c0\\bf" ;; "\\c0\\bf"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:175
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0c" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\02\\c1\\80" ;; "\\c1\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:190
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0c" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\02\\c1\\bf" ;; "\\c1\\bf"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:205
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0c" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\02\\c2\\00" ;; "\\c2\\00"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:220
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0c" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\02\\c2\\7f" ;; "\\c2\\7f"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:235
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0c" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\02\\c2\\c0" ;; "\\c2\\c0"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:250
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0c" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\02\\c2\\fd" ;; "\\c2\\fd"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:265
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0c" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\02\\df\\00" ;; "\\df\\00"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:280
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0c" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\02\\df\\7f" ;; "\\df\\7f"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:295
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0c" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\02\\df\\c0" ;; "\\df\\c0"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:310
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0c" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\02\\df\\fd" ;; "\\df\\fd"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:327
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\e1\\80\\80\\80" ;; "\\e1\\80\\80\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:342
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0c" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\02\\e1\\80" ;; "\\e1\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:357
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\e1\\80\\2e" ;; "\\e1\\80."
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:372
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0b" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\01\\e1" ;; "\\e1"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:387
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0c" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\02\\e1\\2e" ;; "\\e1."
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:404
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\e0\\00\\a0" ;; "\\e0\\00\\a0"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:419
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\e0\\7f\\a0" ;; "\\e0\\7f\\a0"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:434
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\e0\\80\\80" ;; "\\e0\\80\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:449
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\e0\\80\\a0" ;; "\\e0\\80\\a0"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:464
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\e0\\9f\\a0" ;; "\\e0\\9f\\a0"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:479
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\e0\\9f\\bf" ;; "\\e0\\9f\\bf"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:494
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\e0\\c0\\a0" ;; "\\e0\\c0\\a0"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:509
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\e0\\fd\\a0" ;; "\\e0\\fd\\a0"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:524
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\e1\\00\\80" ;; "\\e1\\00\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:539
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\e1\\7f\\80" ;; "\\e1\\7f\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:554
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\e1\\c0\\80" ;; "\\e1\\c0\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:569
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\e1\\fd\\80" ;; "\\e1\\fd\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:584
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\ec\\00\\80" ;; "\\ec\\00\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:599
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\ec\\7f\\80" ;; "\\ec\\7f\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:614
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\ec\\c0\\80" ;; "\\ec\\c0\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:629
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\ec\\fd\\80" ;; "\\ec\\fd\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:644
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\ed\\00\\80" ;; "\\ed\\00\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:659
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\ed\\7f\\80" ;; "\\ed\\7f\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:674
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\ed\\a0\\80" ;; "\\ed\\a0\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:689
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\ed\\a0\\bf" ;; "\\ed\\a0\\bf"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:704
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\ed\\bf\\80" ;; "\\ed\\bf\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:719
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\ed\\bf\\bf" ;; "\\ed\\bf\\bf"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:734
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\ed\\c0\\80" ;; "\\ed\\c0\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:749
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\ed\\fd\\80" ;; "\\ed\\fd\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:764
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\ee\\00\\80" ;; "\\ee\\00\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:779
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\ee\\7f\\80" ;; "\\ee\\7f\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:794
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\ee\\c0\\80" ;; "\\ee\\c0\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:809
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\ee\\fd\\80" ;; "\\ee\\fd\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:824
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\ef\\00\\80" ;; "\\ef\\00\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:839
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\ef\\7f\\80" ;; "\\ef\\7f\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:854
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\ef\\c0\\80" ;; "\\ef\\c0\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:869
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\ef\\fd\\80" ;; "\\ef\\fd\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:886
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\e0\\a0\\00" ;; "\\e0\\a0\\00"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:901
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\e0\\a0\\7f" ;; "\\e0\\a0\\7f"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:916
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\e0\\a0\\c0" ;; "\\e0\\a0\\c0"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:931
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\e0\\a0\\fd" ;; "\\e0\\a0\\fd"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:946
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\e1\\80\\00" ;; "\\e1\\80\\00"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:961
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\e1\\80\\7f" ;; "\\e1\\80\\7f"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:976
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\e1\\80\\c0" ;; "\\e1\\80\\c0"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:991
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\e1\\80\\fd" ;; "\\e1\\80\\fd"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1006
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\ec\\80\\00" ;; "\\ec\\80\\00"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1021
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\ec\\80\\7f" ;; "\\ec\\80\\7f"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1036
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\ec\\80\\c0" ;; "\\ec\\80\\c0"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1051
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\ec\\80\\fd" ;; "\\ec\\80\\fd"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1066
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\ed\\80\\00" ;; "\\ed\\80\\00"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1081
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\ed\\80\\7f" ;; "\\ed\\80\\7f"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1096
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\ed\\80\\c0" ;; "\\ed\\80\\c0"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1111
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\ed\\80\\fd" ;; "\\ed\\80\\fd"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1126
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\ee\\80\\00" ;; "\\ee\\80\\00"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1141
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\ee\\80\\7f" ;; "\\ee\\80\\7f"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1156
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\ee\\80\\c0" ;; "\\ee\\80\\c0"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1171
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\ee\\80\\fd" ;; "\\ee\\80\\fd"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1186
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\ef\\80\\00" ;; "\\ef\\80\\00"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1201
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\ef\\80\\7f" ;; "\\ef\\80\\7f"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1216
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\ef\\80\\c0" ;; "\\ef\\80\\c0"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1231
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\ef\\80\\fd" ;; "\\ef\\80\\fd"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1248
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0f" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\05\\f1\\80\\80\\80\\80" ;; "\\f1\\80\\80\\80\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1263
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\f1\\80\\80" ;; "\\f1\\80\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1278
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f1\\80\\80\\23" ;; "\\f1\\80\\80#"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1293
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0c" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\02\\f1\\80" ;; "\\f1\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1308
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\f1\\80\\23" ;; "\\f1\\80#"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1323
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0b" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\01\\f1" ;; "\\f1"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1338
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0c" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\02\\f1\\23" ;; "\\f1#"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1355
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f0\\00\\90\\90" ;; "\\f0\\00\\90\\90"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1370
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f0\\7f\\90\\90" ;; "\\f0\\7f\\90\\90"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1385
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f0\\80\\80\\80" ;; "\\f0\\80\\80\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1400
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f0\\80\\90\\90" ;; "\\f0\\80\\90\\90"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1415
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f0\\8f\\90\\90" ;; "\\f0\\8f\\90\\90"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1430
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f0\\8f\\bf\\bf" ;; "\\f0\\8f\\bf\\bf"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1445
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f0\\c0\\90\\90" ;; "\\f0\\c0\\90\\90"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1460
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f0\\fd\\90\\90" ;; "\\f0\\fd\\90\\90"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1475
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f1\\00\\80\\80" ;; "\\f1\\00\\80\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1490
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f1\\7f\\80\\80" ;; "\\f1\\7f\\80\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1505
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f1\\c0\\80\\80" ;; "\\f1\\c0\\80\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1520
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f1\\fd\\80\\80" ;; "\\f1\\fd\\80\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1535
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f3\\00\\80\\80" ;; "\\f3\\00\\80\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1550
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f3\\7f\\80\\80" ;; "\\f3\\7f\\80\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1565
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f3\\c0\\80\\80" ;; "\\f3\\c0\\80\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1580
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f3\\fd\\80\\80" ;; "\\f3\\fd\\80\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1595
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f4\\00\\80\\80" ;; "\\f4\\00\\80\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1610
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f4\\7f\\80\\80" ;; "\\f4\\7f\\80\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1625
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f4\\90\\80\\80" ;; "\\f4\\90\\80\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1640
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f4\\bf\\80\\80" ;; "\\f4\\bf\\80\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1655
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f4\\c0\\80\\80" ;; "\\f4\\c0\\80\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1670
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f4\\fd\\80\\80" ;; "\\f4\\fd\\80\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1685
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f5\\80\\80\\80" ;; "\\f5\\80\\80\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1700
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f7\\80\\80\\80" ;; "\\f7\\80\\80\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1715
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f7\\bf\\bf\\bf" ;; "\\f7\\bf\\bf\\bf"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1732
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f0\\90\\00\\90" ;; "\\f0\\90\\00\\90"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1747
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f0\\90\\7f\\90" ;; "\\f0\\90\\7f\\90"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1762
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f0\\90\\c0\\90" ;; "\\f0\\90\\c0\\90"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1777
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f0\\90\\fd\\90" ;; "\\f0\\90\\fd\\90"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1792
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f1\\80\\00\\80" ;; "\\f1\\80\\00\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1807
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f1\\80\\7f\\80" ;; "\\f1\\80\\7f\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1822
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f1\\80\\c0\\80" ;; "\\f1\\80\\c0\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1837
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f1\\80\\fd\\80" ;; "\\f1\\80\\fd\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1852
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f3\\80\\00\\80" ;; "\\f3\\80\\00\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1867
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f3\\80\\7f\\80" ;; "\\f3\\80\\7f\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1882
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f3\\80\\c0\\80" ;; "\\f3\\80\\c0\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1897
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f3\\80\\fd\\80" ;; "\\f3\\80\\fd\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1912
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f4\\80\\00\\80" ;; "\\f4\\80\\00\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1927
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f4\\80\\7f\\80" ;; "\\f4\\80\\7f\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1942
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f4\\80\\c0\\80" ;; "\\f4\\80\\c0\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1957
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f4\\80\\fd\\80" ;; "\\f4\\80\\fd\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1974
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f0\\90\\90\\00" ;; "\\f0\\90\\90\\00"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:1989
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f0\\90\\90\\7f" ;; "\\f0\\90\\90\\7f"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:2004
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f0\\90\\90\\c0" ;; "\\f0\\90\\90\\c0"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:2019
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f0\\90\\90\\fd" ;; "\\f0\\90\\90\\fd"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:2034
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f1\\80\\80\\00" ;; "\\f1\\80\\80\\00"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:2049
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f1\\80\\80\\7f" ;; "\\f1\\80\\80\\7f"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:2064
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f1\\80\\80\\c0" ;; "\\f1\\80\\80\\c0"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:2079
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f1\\80\\80\\fd" ;; "\\f1\\80\\80\\fd"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:2094
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f3\\80\\80\\00" ;; "\\f3\\80\\80\\00"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:2109
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f3\\80\\80\\7f" ;; "\\f3\\80\\80\\7f"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:2124
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f3\\80\\80\\c0" ;; "\\f3\\80\\80\\c0"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:2139
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f3\\80\\80\\fd" ;; "\\f3\\80\\80\\fd"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:2154
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f4\\80\\80\\00" ;; "\\f4\\80\\80\\00"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:2169
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f4\\80\\80\\7f" ;; "\\f4\\80\\80\\7f"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:2184
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f4\\80\\80\\c0" ;; "\\f4\\80\\80\\c0"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:2199
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f4\\80\\80\\fd" ;; "\\f4\\80\\80\\fd"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:2216
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\10" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\06\\f8\\80\\80\\80\\80\\80" ;; "\\f8\\80\\80\\80\\80\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:2231
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f8\\80\\80\\80" ;; "\\f8\\80\\80\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:2246
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0f" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\05\\f8\\80\\80\\80\\23" ;; "\\f8\\80\\80\\80#"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:2261
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\f8\\80\\80" ;; "\\f8\\80\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:2276
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\f8\\80\\80\\23" ;; "\\f8\\80\\80#"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:2291
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0c" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\02\\f8\\80" ;; "\\f8\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:2306
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\f8\\80\\23" ;; "\\f8\\80#"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:2321
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0b" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\01\\f8" ;; "\\f8"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:2336
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0c" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\02\\f8\\23" ;; "\\f8#"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:2353
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0f" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\05\\f8\\80\\80\\80\\80" ;; "\\f8\\80\\80\\80\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:2368
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0f" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\05\\fb\\bf\\bf\\bf\\bf" ;; "\\fb\\bf\\bf\\bf\\bf"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:2385
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\11" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\07\\fc\\80\\80\\80\\80\\80\\80" ;; "\\fc\\80\\80\\80\\80\\80\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:2400
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0f" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\05\\fc\\80\\80\\80\\80" ;; "\\fc\\80\\80\\80\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:2415
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\10" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\06\\fc\\80\\80\\80\\80\\23" ;; "\\fc\\80\\80\\80\\80#"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:2430
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\fc\\80\\80\\80" ;; "\\fc\\80\\80\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:2445
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0f" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\05\\fc\\80\\80\\80\\23" ;; "\\fc\\80\\80\\80#"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:2460
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\fc\\80\\80" ;; "\\fc\\80\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:2475
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\fc\\80\\80\\23" ;; "\\fc\\80\\80#"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:2490
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0c" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\02\\fc\\80" ;; "\\fc\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:2505
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0d" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\03\\fc\\80\\23" ;; "\\fc\\80#"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:2520
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0b" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\01\\fc" ;; "\\fc"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:2535
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0c" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\02\\fc\\23" ;; "\\fc#"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:2552
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\10" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\06\\fc\\80\\80\\80\\80\\80" ;; "\\fc\\80\\80\\80\\80\\80"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:2567
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\10" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\06\\fd\\bf\\bf\\bf\\bf\\bf" ;; "\\fd\\bf\\bf\\bf\\bf\\bf"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:2584
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0b" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\01\\fe" ;; "\\fe"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:2599
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0b" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\01\\ff" ;; "\\ff"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:2614
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0c" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\02\\fe\\ff" ;; "\\fe\\ff"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:2629
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\00\\00\\fe\\ff" ;; "\\00\\00\\fe\\ff"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:2644
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0c" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\02\\ff\\fe" ;; "\\ff\\fe"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-import-module.wast:2659
+assert_malformed(
+ () => instantiate(`(module binary
+ "\\00asm" "\\01\\00\\00\\00"
+ "\\02\\0e" ;; import section
+ "\\01" ;; length 1
+ "\\04\\74\\65\\73\\74" ;; "test"
+ "\\04\\ff\\fe\\00\\00" ;; "\\ff\\fe\\00\\00"
+ "\\03" ;; GlobalImport
+ "\\7f" ;; i32
+ "\\00" ;; immutable
+ )`),
+ `malformed UTF-8 encoding`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/spec/utf8-invalid-encoding.wast.js b/js/src/jit-test/tests/wasm/spec/spec/utf8-invalid-encoding.wast.js
new file mode 100644
index 0000000000..e0fe95f69d
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/spec/utf8-invalid-encoding.wast.js
@@ -0,0 +1,1033 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/utf8-invalid-encoding.wast
+
+// ./test/core/utf8-invalid-encoding.wast:1
+assert_malformed(
+ () => instantiate(`(func (export "\\00\\00\\fe\\ff")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:2
+assert_malformed(() => instantiate(`(func (export "\\80")) `), `malformed UTF-8 encoding`);
+
+// ./test/core/utf8-invalid-encoding.wast:3
+assert_malformed(() => instantiate(`(func (export "\\8f")) `), `malformed UTF-8 encoding`);
+
+// ./test/core/utf8-invalid-encoding.wast:4
+assert_malformed(() => instantiate(`(func (export "\\90")) `), `malformed UTF-8 encoding`);
+
+// ./test/core/utf8-invalid-encoding.wast:5
+assert_malformed(() => instantiate(`(func (export "\\9f")) `), `malformed UTF-8 encoding`);
+
+// ./test/core/utf8-invalid-encoding.wast:6
+assert_malformed(() => instantiate(`(func (export "\\a0")) `), `malformed UTF-8 encoding`);
+
+// ./test/core/utf8-invalid-encoding.wast:7
+assert_malformed(() => instantiate(`(func (export "\\bf")) `), `malformed UTF-8 encoding`);
+
+// ./test/core/utf8-invalid-encoding.wast:8
+assert_malformed(
+ () => instantiate(`(func (export "\\c0\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:9
+assert_malformed(
+ () => instantiate(`(func (export "\\c0\\bf")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:10
+assert_malformed(
+ () => instantiate(`(func (export "\\c1\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:11
+assert_malformed(
+ () => instantiate(`(func (export "\\c1\\bf")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:12
+assert_malformed(
+ () => instantiate(`(func (export "\\c2\\00")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:13
+assert_malformed(
+ () => instantiate(`(func (export "\\c2\\2e")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:14
+assert_malformed(
+ () => instantiate(`(func (export "\\c2\\7f")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:15
+assert_malformed(
+ () => instantiate(`(func (export "\\c2\\80\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:16
+assert_malformed(
+ () => instantiate(`(func (export "\\c2\\c0")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:17
+assert_malformed(() => instantiate(`(func (export "\\c2")) `), `malformed UTF-8 encoding`);
+
+// ./test/core/utf8-invalid-encoding.wast:18
+assert_malformed(
+ () => instantiate(`(func (export "\\c2\\fd")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:19
+assert_malformed(
+ () => instantiate(`(func (export "\\df\\00")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:20
+assert_malformed(
+ () => instantiate(`(func (export "\\df\\7f")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:21
+assert_malformed(
+ () => instantiate(`(func (export "\\df\\c0")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:22
+assert_malformed(
+ () => instantiate(`(func (export "\\df\\fd")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:23
+assert_malformed(
+ () => instantiate(`(func (export "\\e0\\00\\a0")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:24
+assert_malformed(
+ () => instantiate(`(func (export "\\e0\\7f\\a0")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:25
+assert_malformed(
+ () => instantiate(`(func (export "\\e0\\80\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:26
+assert_malformed(
+ () => instantiate(`(func (export "\\e0\\80\\a0")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:27
+assert_malformed(
+ () => instantiate(`(func (export "\\e0\\9f\\a0")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:28
+assert_malformed(
+ () => instantiate(`(func (export "\\e0\\9f\\bf")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:29
+assert_malformed(
+ () => instantiate(`(func (export "\\e0\\a0\\00")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:30
+assert_malformed(
+ () => instantiate(`(func (export "\\e0\\a0\\7f")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:31
+assert_malformed(
+ () => instantiate(`(func (export "\\e0\\a0\\c0")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:32
+assert_malformed(
+ () => instantiate(`(func (export "\\e0\\a0\\fd")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:33
+assert_malformed(
+ () => instantiate(`(func (export "\\e0\\c0\\a0")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:34
+assert_malformed(
+ () => instantiate(`(func (export "\\e0\\fd\\a0")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:35
+assert_malformed(
+ () => instantiate(`(func (export "\\e1\\00\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:36
+assert_malformed(
+ () => instantiate(`(func (export "\\e1\\2e")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:37
+assert_malformed(
+ () => instantiate(`(func (export "\\e1\\7f\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:38
+assert_malformed(
+ () => instantiate(`(func (export "\\e1\\80\\00")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:39
+assert_malformed(
+ () => instantiate(`(func (export "\\e1\\80\\2e")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:40
+assert_malformed(
+ () => instantiate(`(func (export "\\e1\\80\\7f")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:41
+assert_malformed(
+ () => instantiate(`(func (export "\\e1\\80\\80\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:42
+assert_malformed(
+ () => instantiate(`(func (export "\\e1\\80\\c0")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:43
+assert_malformed(
+ () => instantiate(`(func (export "\\e1\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:44
+assert_malformed(
+ () => instantiate(`(func (export "\\e1\\80\\fd")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:45
+assert_malformed(
+ () => instantiate(`(func (export "\\e1\\c0\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:46
+assert_malformed(() => instantiate(`(func (export "\\e1")) `), `malformed UTF-8 encoding`);
+
+// ./test/core/utf8-invalid-encoding.wast:47
+assert_malformed(
+ () => instantiate(`(func (export "\\e1\\fd\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:48
+assert_malformed(
+ () => instantiate(`(func (export "\\ec\\00\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:49
+assert_malformed(
+ () => instantiate(`(func (export "\\ec\\7f\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:50
+assert_malformed(
+ () => instantiate(`(func (export "\\ec\\80\\00")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:51
+assert_malformed(
+ () => instantiate(`(func (export "\\ec\\80\\7f")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:52
+assert_malformed(
+ () => instantiate(`(func (export "\\ec\\80\\c0")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:53
+assert_malformed(
+ () => instantiate(`(func (export "\\ec\\80\\fd")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:54
+assert_malformed(
+ () => instantiate(`(func (export "\\ec\\c0\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:55
+assert_malformed(
+ () => instantiate(`(func (export "\\ec\\fd\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:56
+assert_malformed(
+ () => instantiate(`(func (export "\\ed\\00\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:57
+assert_malformed(
+ () => instantiate(`(func (export "\\ed\\7f\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:58
+assert_malformed(
+ () => instantiate(`(func (export "\\ed\\80\\00")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:59
+assert_malformed(
+ () => instantiate(`(func (export "\\ed\\80\\7f")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:60
+assert_malformed(
+ () => instantiate(`(func (export "\\ed\\80\\c0")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:61
+assert_malformed(
+ () => instantiate(`(func (export "\\ed\\80\\fd")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:62
+assert_malformed(
+ () => instantiate(`(func (export "\\ed\\a0\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:63
+assert_malformed(
+ () => instantiate(`(func (export "\\ed\\a0\\bf")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:64
+assert_malformed(
+ () => instantiate(`(func (export "\\ed\\bf\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:65
+assert_malformed(
+ () => instantiate(`(func (export "\\ed\\bf\\bf")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:66
+assert_malformed(
+ () => instantiate(`(func (export "\\ed\\c0\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:67
+assert_malformed(
+ () => instantiate(`(func (export "\\ed\\fd\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:68
+assert_malformed(
+ () => instantiate(`(func (export "\\ee\\00\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:69
+assert_malformed(
+ () => instantiate(`(func (export "\\ee\\7f\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:70
+assert_malformed(
+ () => instantiate(`(func (export "\\ee\\80\\00")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:71
+assert_malformed(
+ () => instantiate(`(func (export "\\ee\\80\\7f")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:72
+assert_malformed(
+ () => instantiate(`(func (export "\\ee\\80\\c0")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:73
+assert_malformed(
+ () => instantiate(`(func (export "\\ee\\80\\fd")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:74
+assert_malformed(
+ () => instantiate(`(func (export "\\ee\\c0\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:75
+assert_malformed(
+ () => instantiate(`(func (export "\\ee\\fd\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:76
+assert_malformed(
+ () => instantiate(`(func (export "\\ef\\00\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:77
+assert_malformed(
+ () => instantiate(`(func (export "\\ef\\7f\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:78
+assert_malformed(
+ () => instantiate(`(func (export "\\ef\\80\\00")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:79
+assert_malformed(
+ () => instantiate(`(func (export "\\ef\\80\\7f")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:80
+assert_malformed(
+ () => instantiate(`(func (export "\\ef\\80\\c0")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:81
+assert_malformed(
+ () => instantiate(`(func (export "\\ef\\80\\fd")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:82
+assert_malformed(
+ () => instantiate(`(func (export "\\ef\\c0\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:83
+assert_malformed(
+ () => instantiate(`(func (export "\\ef\\fd\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:84
+assert_malformed(
+ () => instantiate(`(func (export "\\f0\\00\\90\\90")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:85
+assert_malformed(
+ () => instantiate(`(func (export "\\f0\\7f\\90\\90")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:86
+assert_malformed(
+ () => instantiate(`(func (export "\\f0\\80\\80\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:87
+assert_malformed(
+ () => instantiate(`(func (export "\\f0\\80\\90\\90")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:88
+assert_malformed(
+ () => instantiate(`(func (export "\\f0\\8f\\90\\90")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:89
+assert_malformed(
+ () => instantiate(`(func (export "\\f0\\8f\\bf\\bf")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:90
+assert_malformed(
+ () => instantiate(`(func (export "\\f0\\90\\00\\90")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:91
+assert_malformed(
+ () => instantiate(`(func (export "\\f0\\90\\7f\\90")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:92
+assert_malformed(
+ () => instantiate(`(func (export "\\f0\\90\\90\\00")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:93
+assert_malformed(
+ () => instantiate(`(func (export "\\f0\\90\\90\\7f")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:94
+assert_malformed(
+ () => instantiate(`(func (export "\\f0\\90\\90\\c0")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:95
+assert_malformed(
+ () => instantiate(`(func (export "\\f0\\90\\90\\fd")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:96
+assert_malformed(
+ () => instantiate(`(func (export "\\f0\\90\\c0\\90")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:97
+assert_malformed(
+ () => instantiate(`(func (export "\\f0\\90\\fd\\90")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:98
+assert_malformed(
+ () => instantiate(`(func (export "\\f0\\c0\\90\\90")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:99
+assert_malformed(
+ () => instantiate(`(func (export "\\f0\\fd\\90\\90")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:100
+assert_malformed(
+ () => instantiate(`(func (export "\\f1\\00\\80\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:101
+assert_malformed(
+ () => instantiate(`(func (export "\\f1\\23")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:102
+assert_malformed(
+ () => instantiate(`(func (export "\\f1\\7f\\80\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:103
+assert_malformed(
+ () => instantiate(`(func (export "\\f1\\80\\00\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:104
+assert_malformed(
+ () => instantiate(`(func (export "\\f1\\80\\23")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:105
+assert_malformed(
+ () => instantiate(`(func (export "\\f1\\80\\7f\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:106
+assert_malformed(
+ () => instantiate(`(func (export "\\f1\\80\\80\\00")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:107
+assert_malformed(
+ () => instantiate(`(func (export "\\f1\\80\\80\\23")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:108
+assert_malformed(
+ () => instantiate(`(func (export "\\f1\\80\\80\\7f")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:109
+assert_malformed(
+ () => instantiate(`(func (export "\\f1\\80\\80\\80\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:110
+assert_malformed(
+ () => instantiate(`(func (export "\\f1\\80\\80\\c0")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:111
+assert_malformed(
+ () => instantiate(`(func (export "\\f1\\80\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:112
+assert_malformed(
+ () => instantiate(`(func (export "\\f1\\80\\80\\fd")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:113
+assert_malformed(
+ () => instantiate(`(func (export "\\f1\\80\\c0\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:114
+assert_malformed(
+ () => instantiate(`(func (export "\\f1\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:115
+assert_malformed(
+ () => instantiate(`(func (export "\\f1\\80\\fd\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:116
+assert_malformed(
+ () => instantiate(`(func (export "\\f1\\c0\\80\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:117
+assert_malformed(() => instantiate(`(func (export "\\f1")) `), `malformed UTF-8 encoding`);
+
+// ./test/core/utf8-invalid-encoding.wast:118
+assert_malformed(
+ () => instantiate(`(func (export "\\f1\\fd\\80\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:119
+assert_malformed(
+ () => instantiate(`(func (export "\\f3\\00\\80\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:120
+assert_malformed(
+ () => instantiate(`(func (export "\\f3\\7f\\80\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:121
+assert_malformed(
+ () => instantiate(`(func (export "\\f3\\80\\00\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:122
+assert_malformed(
+ () => instantiate(`(func (export "\\f3\\80\\7f\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:123
+assert_malformed(
+ () => instantiate(`(func (export "\\f3\\80\\80\\00")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:124
+assert_malformed(
+ () => instantiate(`(func (export "\\f3\\80\\80\\7f")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:125
+assert_malformed(
+ () => instantiate(`(func (export "\\f3\\80\\80\\c0")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:126
+assert_malformed(
+ () => instantiate(`(func (export "\\f3\\80\\80\\fd")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:127
+assert_malformed(
+ () => instantiate(`(func (export "\\f3\\80\\c0\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:128
+assert_malformed(
+ () => instantiate(`(func (export "\\f3\\80\\fd\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:129
+assert_malformed(
+ () => instantiate(`(func (export "\\f3\\c0\\80\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:130
+assert_malformed(
+ () => instantiate(`(func (export "\\f3\\fd\\80\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:131
+assert_malformed(
+ () => instantiate(`(func (export "\\f4\\00\\80\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:132
+assert_malformed(
+ () => instantiate(`(func (export "\\f4\\7f\\80\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:133
+assert_malformed(
+ () => instantiate(`(func (export "\\f4\\80\\00\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:134
+assert_malformed(
+ () => instantiate(`(func (export "\\f4\\80\\7f\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:135
+assert_malformed(
+ () => instantiate(`(func (export "\\f4\\80\\80\\00")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:136
+assert_malformed(
+ () => instantiate(`(func (export "\\f4\\80\\80\\7f")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:137
+assert_malformed(
+ () => instantiate(`(func (export "\\f4\\80\\80\\c0")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:138
+assert_malformed(
+ () => instantiate(`(func (export "\\f4\\80\\80\\fd")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:139
+assert_malformed(
+ () => instantiate(`(func (export "\\f4\\80\\c0\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:140
+assert_malformed(
+ () => instantiate(`(func (export "\\f4\\80\\fd\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:141
+assert_malformed(
+ () => instantiate(`(func (export "\\f4\\90\\80\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:142
+assert_malformed(
+ () => instantiate(`(func (export "\\f4\\bf\\80\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:143
+assert_malformed(
+ () => instantiate(`(func (export "\\f4\\c0\\80\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:144
+assert_malformed(
+ () => instantiate(`(func (export "\\f4\\fd\\80\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:145
+assert_malformed(
+ () => instantiate(`(func (export "\\f5\\80\\80\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:146
+assert_malformed(
+ () => instantiate(`(func (export "\\f7\\80\\80\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:147
+assert_malformed(
+ () => instantiate(`(func (export "\\f7\\bf\\bf\\bf")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:148
+assert_malformed(
+ () => instantiate(`(func (export "\\f8\\23")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:149
+assert_malformed(
+ () => instantiate(`(func (export "\\f8\\80\\23")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:150
+assert_malformed(
+ () => instantiate(`(func (export "\\f8\\80\\80\\23")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:151
+assert_malformed(
+ () => instantiate(`(func (export "\\f8\\80\\80\\80\\23")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:152
+assert_malformed(
+ () => instantiate(`(func (export "\\f8\\80\\80\\80\\80\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:153
+assert_malformed(
+ () => instantiate(`(func (export "\\f8\\80\\80\\80\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:154
+assert_malformed(
+ () => instantiate(`(func (export "\\f8\\80\\80\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:155
+assert_malformed(
+ () => instantiate(`(func (export "\\f8\\80\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:156
+assert_malformed(
+ () => instantiate(`(func (export "\\f8\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:157
+assert_malformed(() => instantiate(`(func (export "\\f8")) `), `malformed UTF-8 encoding`);
+
+// ./test/core/utf8-invalid-encoding.wast:158
+assert_malformed(
+ () => instantiate(`(func (export "\\fb\\bf\\bf\\bf\\bf")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:159
+assert_malformed(
+ () => instantiate(`(func (export "\\fc\\23")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:160
+assert_malformed(
+ () => instantiate(`(func (export "\\fc\\80\\23")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:161
+assert_malformed(
+ () => instantiate(`(func (export "\\fc\\80\\80\\23")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:162
+assert_malformed(
+ () => instantiate(`(func (export "\\fc\\80\\80\\80\\23")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:163
+assert_malformed(
+ () => instantiate(`(func (export "\\fc\\80\\80\\80\\80\\23")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:164
+assert_malformed(
+ () => instantiate(`(func (export "\\fc\\80\\80\\80\\80\\80\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:165
+assert_malformed(
+ () => instantiate(`(func (export "\\fc\\80\\80\\80\\80\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:166
+assert_malformed(
+ () => instantiate(`(func (export "\\fc\\80\\80\\80\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:167
+assert_malformed(
+ () => instantiate(`(func (export "\\fc\\80\\80\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:168
+assert_malformed(
+ () => instantiate(`(func (export "\\fc\\80\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:169
+assert_malformed(
+ () => instantiate(`(func (export "\\fc\\80")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:170
+assert_malformed(() => instantiate(`(func (export "\\fc")) `), `malformed UTF-8 encoding`);
+
+// ./test/core/utf8-invalid-encoding.wast:171
+assert_malformed(
+ () => instantiate(`(func (export "\\fd\\bf\\bf\\bf\\bf\\bf")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:172
+assert_malformed(() => instantiate(`(func (export "\\fe")) `), `malformed UTF-8 encoding`);
+
+// ./test/core/utf8-invalid-encoding.wast:173
+assert_malformed(
+ () => instantiate(`(func (export "\\fe\\ff")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:174
+assert_malformed(() => instantiate(`(func (export "\\ff")) `), `malformed UTF-8 encoding`);
+
+// ./test/core/utf8-invalid-encoding.wast:175
+assert_malformed(
+ () => instantiate(`(func (export "\\ff\\fe\\00\\00")) `),
+ `malformed UTF-8 encoding`,
+);
+
+// ./test/core/utf8-invalid-encoding.wast:176
+assert_malformed(
+ () => instantiate(`(func (export "\\ff\\fe")) `),
+ `malformed UTF-8 encoding`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/tail-call/directives.txt b/js/src/jit-test/tests/wasm/spec/tail-call/directives.txt
new file mode 100644
index 0000000000..223b6b843a
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/tail-call/directives.txt
@@ -0,0 +1 @@
+|jit-test| test-also=--wasm-compiler=optimizing; test-also=--wasm-compiler=baseline; test-also=--wasm-test-serialization; test-also=--test-wasm-await-tier2; test-also=--disable-wasm-huge-memory; skip-variant-if: --disable-wasm-huge-memory, !wasmHugeMemorySupported(); local-include:harness/harness.js; --wasm-tail-calls; skip-if: !wasmTailCallsEnabled() \ No newline at end of file
diff --git a/js/src/jit-test/tests/wasm/spec/tail-call/harness/directives.txt b/js/src/jit-test/tests/wasm/spec/tail-call/harness/directives.txt
new file mode 100644
index 0000000000..d41243abbb
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/tail-call/harness/directives.txt
@@ -0,0 +1 @@
+|jit-test| skip-if: true \ No newline at end of file
diff --git a/js/src/jit-test/tests/wasm/spec/tail-call/harness/harness.js b/js/src/jit-test/tests/wasm/spec/tail-call/harness/harness.js
new file mode 100644
index 0000000000..a96781e8ed
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/tail-call/harness/harness.js
@@ -0,0 +1,448 @@
+"use strict";
+
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+if (!wasmIsSupported()) {
+ quit();
+}
+
+function bytes(type, bytes) {
+ var typedBuffer = new Uint8Array(bytes);
+ return wasmGlobalFromArrayBuffer(type, typedBuffer.buffer);
+}
+function value(type, value) {
+ return new WebAssembly.Global({
+ value: type,
+ mutable: false,
+ }, value);
+}
+
+function i8x16(elements) {
+ let typedBuffer = new Uint8Array(elements);
+ return wasmGlobalFromArrayBuffer("v128", typedBuffer.buffer);
+}
+function i16x8(elements) {
+ let typedBuffer = new Uint16Array(elements);
+ return wasmGlobalFromArrayBuffer("v128", typedBuffer.buffer);
+}
+function i32x4(elements) {
+ let typedBuffer = new Uint32Array(elements);
+ return wasmGlobalFromArrayBuffer("v128", typedBuffer.buffer);
+}
+function i64x2(elements) {
+ let typedBuffer = new BigUint64Array(elements);
+ return wasmGlobalFromArrayBuffer("v128", typedBuffer.buffer);
+}
+function f32x4(elements) {
+ let typedBuffer = new Float32Array(elements);
+ return wasmGlobalFromArrayBuffer("v128", typedBuffer.buffer);
+}
+function f64x2(elements) {
+ let typedBuffer = new Float64Array(elements);
+ return wasmGlobalFromArrayBuffer("v128", typedBuffer.buffer);
+}
+
+function either(...arr) {
+ return new EitherVariants(arr);
+}
+
+class F32x4Pattern {
+ constructor(x, y, z, w) {
+ this.x = x;
+ this.y = y;
+ this.z = z;
+ this.w = w;
+ }
+}
+
+class F64x2Pattern {
+ constructor(x, y) {
+ this.x = x;
+ this.y = y;
+ }
+}
+
+class RefWithType {
+ constructor(type) {
+ this.type = type;
+ }
+
+ formatExpected() {
+ return `RefWithType(${this.type})`;
+ }
+
+ test(refGlobal) {
+ try {
+ new WebAssembly.Global({value: this.type}, refGlobal.value);
+ return true;
+ } catch (err) {
+ assertEq(err instanceof TypeError, true, `wrong type of error when creating global: ${err}`);
+ assertEq(!!err.message.match(/can only pass/), true, `wrong type of error when creating global: ${err}`);
+ return false;
+ }
+ }
+}
+
+// ref.extern values created by spec tests will be JS objects of the form
+// { [externsym]: <number> }. Other externref values are possible to observe
+// if extern.convert_any is used.
+let externsym = Symbol("externref");
+function externref(s) {
+ return { [externsym]: s };
+}
+function is_externref(x) {
+ return (x !== null && externsym in x) ? 1 : 0;
+}
+function is_funcref(x) {
+ return typeof x === "function" ? 1 : 0;
+}
+function eq_externref(x, y) {
+ return x === y ? 1 : 0;
+}
+function eq_funcref(x, y) {
+ return x === y ? 1 : 0;
+}
+
+class ExternRefResult {
+ constructor(n) {
+ this.n = n;
+ }
+
+ formatExpected() {
+ return `ref.extern ${this.n}`;
+ }
+
+ test(global) {
+ // the global's value can either be an externref or just a plain old JS number
+ let result = global.value;
+ if (typeof global.value === "object" && externsym in global.value) {
+ result = global.value[externsym];
+ }
+ return result === this.n;
+ }
+}
+
+// ref.host values created by spectests will be whatever the JS API does to
+// convert the given value to anyref. It should implicitly be like any.convert_extern.
+function hostref(v) {
+ if (!wasmGcEnabled()) {
+ throw new Error("ref.host only works when wasm GC is enabled");
+ }
+
+ const { internalizeNum } = new WebAssembly.Instance(
+ new WebAssembly.Module(wasmTextToBinary(`(module
+ (func (import "test" "coerce") (param i32) (result anyref))
+ (func (export "internalizeNum") (param i32) (result anyref)
+ (call 0 (local.get 0))
+ )
+ )`)),
+ { "test": { "coerce": x => x } },
+ ).exports;
+ return internalizeNum(v);
+}
+
+class HostRefResult {
+ constructor(n) {
+ this.n = n;
+ }
+
+ formatExpected() {
+ return `ref.host ${this.n}`;
+ }
+
+ test(externrefGlobal) {
+ assertEq(externsym in externrefGlobal.value, true, `HostRefResult only works with externref inputs`);
+ return externrefGlobal.value[externsym] === this.n;
+ }
+}
+
+let spectest = {
+ externref: externref,
+ is_externref: is_externref,
+ is_funcref: is_funcref,
+ eq_externref: eq_externref,
+ eq_funcref: eq_funcref,
+ print: console.log.bind(console),
+ print_i32: console.log.bind(console),
+ print_i32_f32: console.log.bind(console),
+ print_f64_f64: console.log.bind(console),
+ print_f32: console.log.bind(console),
+ print_f64: console.log.bind(console),
+ global_i32: 666,
+ global_i64: 666n,
+ global_f32: 666,
+ global_f64: 666,
+ table: new WebAssembly.Table({
+ initial: 10,
+ maximum: 20,
+ element: "anyfunc",
+ }),
+ memory: new WebAssembly.Memory({ initial: 1, maximum: 2 }),
+};
+
+let linkage = {
+ spectest,
+};
+
+function getInstance(instanceish) {
+ if (typeof instanceish === "string") {
+ assertEq(
+ instanceish in linkage,
+ true,
+ `'${instanceish}'' must be registered`,
+ );
+ return linkage[instanceish];
+ }
+ return instanceish;
+}
+
+function instantiate(source) {
+ let bytecode = wasmTextToBinary(source);
+ let module = new WebAssembly.Module(bytecode);
+ let instance = new WebAssembly.Instance(module, linkage);
+ return instance.exports;
+}
+
+function register(instanceish, name) {
+ linkage[name] = getInstance(instanceish);
+}
+
+function invoke(instanceish, field, params) {
+ let func = getInstance(instanceish)[field];
+ assertEq(func instanceof Function, true, "expected a function");
+ return wasmLosslessInvoke(func, ...params);
+}
+
+function get(instanceish, field) {
+ let global = getInstance(instanceish)[field];
+ assertEq(
+ global instanceof WebAssembly.Global,
+ true,
+ "expected a WebAssembly.Global",
+ );
+ return global;
+}
+
+function assert_trap(thunk, message) {
+ try {
+ thunk();
+ throw new Error("expected trap");
+ } catch (err) {
+ if (err instanceof WebAssembly.RuntimeError) {
+ return;
+ }
+ throw err;
+ }
+}
+
+let StackOverflow;
+try {
+ (function f() {
+ 1 + f();
+ })();
+} catch (e) {
+ StackOverflow = e.constructor;
+}
+function assert_exhaustion(thunk, message) {
+ try {
+ thunk();
+ assertEq("normal return", "exhaustion");
+ } catch (err) {
+ assertEq(
+ err instanceof StackOverflow,
+ true,
+ "expected exhaustion",
+ );
+ }
+}
+
+function assert_invalid(thunk, message) {
+ try {
+ thunk();
+ assertEq("valid module", "invalid module");
+ } catch (err) {
+ assertEq(
+ err instanceof WebAssembly.LinkError ||
+ err instanceof WebAssembly.CompileError,
+ true,
+ "expected an invalid module",
+ );
+ }
+}
+
+function assert_unlinkable(thunk, message) {
+ try {
+ thunk();
+ assertEq(true, false, "expected an unlinkable module");
+ } catch (err) {
+ assertEq(
+ err instanceof WebAssembly.LinkError ||
+ err instanceof WebAssembly.CompileError,
+ true,
+ "expected an unlinkable module",
+ );
+ }
+}
+
+function assert_malformed(thunk, message) {
+ try {
+ thunk();
+ assertEq("valid module", "malformed module");
+ } catch (err) {
+ assertEq(
+ err instanceof TypeError ||
+ err instanceof SyntaxError ||
+ err instanceof WebAssembly.CompileError ||
+ err instanceof WebAssembly.LinkError,
+ true,
+ `expected a malformed module`,
+ );
+ }
+}
+
+function assert_exception(thunk) {
+ let thrown = false;
+ try {
+ thunk();
+ } catch (err) {
+ thrown = true;
+ }
+ assertEq(thrown, true, "expected an exception to be thrown");
+}
+
+function assert_return(thunk, expected) {
+ let results = thunk();
+
+ if (results === undefined) {
+ results = [];
+ } else if (!Array.isArray(results)) {
+ results = [results];
+ }
+ if (!Array.isArray(expected)) {
+ expected = [expected];
+ }
+
+ if (!compareResults(results, expected)) {
+ let got = results.map((x) => formatResult(x)).join(", ");
+ let wanted = expected.map((x) => formatExpected(x)).join(", ");
+ assertEq(
+ `[${got}]`,
+ `[${wanted}]`,
+ );
+ assertEq(true, false, `${got} !== ${wanted}`);
+ }
+}
+
+function formatResult(result) {
+ if (typeof (result) === "object") {
+ return wasmGlobalToString(result);
+ } else {
+ return `${result}`;
+ }
+}
+
+function formatExpected(expected) {
+ if (
+ expected === `f32_canonical_nan` ||
+ expected === `f32_arithmetic_nan` ||
+ expected === `f64_canonical_nan` ||
+ expected === `f64_arithmetic_nan`
+ ) {
+ return expected;
+ } else if (expected instanceof F32x4Pattern) {
+ return `f32x4(${formatExpected(expected.x)}, ${
+ formatExpected(expected.y)
+ }, ${formatExpected(expected.z)}, ${formatExpected(expected.w)})`;
+ } else if (expected instanceof F64x2Pattern) {
+ return `f64x2(${formatExpected(expected.x)}, ${
+ formatExpected(expected.y)
+ })`;
+ } else if (expected instanceof EitherVariants) {
+ return expected.formatExpected();
+ } else if (expected instanceof RefWithType) {
+ return expected.formatExpected();
+ } else if (expected instanceof ExternRefResult) {
+ return expected.formatExpected();
+ } else if (expected instanceof HostRefResult) {
+ return expected.formatExpected();
+ } else if (typeof (expected) === "object") {
+ return wasmGlobalToString(expected);
+ } else {
+ throw new Error("unknown expected result");
+ }
+}
+
+class EitherVariants {
+ constructor(arr) {
+ this.arr = arr;
+ }
+ matches(v) {
+ return this.arr.some((e) => compareResult(v, e));
+ }
+ formatExpected() {
+ return `either(${this.arr.map(formatExpected).join(", ")})`;
+ }
+}
+
+function compareResults(results, expected) {
+ if (results.length !== expected.length) {
+ return false;
+ }
+ for (let i in results) {
+ if (expected[i] instanceof EitherVariants) {
+ return expected[i].matches(results[i]);
+ }
+ if (!compareResult(results[i], expected[i])) {
+ return false;
+ }
+ }
+ return true;
+}
+
+function compareResult(result, expected) {
+ if (
+ expected === `canonical_nan` ||
+ expected === `arithmetic_nan`
+ ) {
+ return wasmGlobalIsNaN(result, expected);
+ } else if (expected === null) {
+ return result.value === null;
+ } else if (expected instanceof F32x4Pattern) {
+ return compareResult(
+ wasmGlobalExtractLane(result, "f32x4", 0),
+ expected.x,
+ ) &&
+ compareResult(wasmGlobalExtractLane(result, "f32x4", 1), expected.y) &&
+ compareResult(wasmGlobalExtractLane(result, "f32x4", 2), expected.z) &&
+ compareResult(wasmGlobalExtractLane(result, "f32x4", 3), expected.w);
+ } else if (expected instanceof F64x2Pattern) {
+ return compareResult(
+ wasmGlobalExtractLane(result, "f64x2", 0),
+ expected.x,
+ ) &&
+ compareResult(wasmGlobalExtractLane(result, "f64x2", 1), expected.y);
+ } else if (expected instanceof RefWithType) {
+ return expected.test(result);
+ } else if (expected instanceof ExternRefResult) {
+ return expected.test(result);
+ } else if (expected instanceof HostRefResult) {
+ return expected.test(result);
+ } else if (typeof (expected) === "object") {
+ return wasmGlobalsEqual(result, expected);
+ } else {
+ throw new Error("unknown expected result");
+ }
+}
diff --git a/js/src/jit-test/tests/wasm/spec/tail-call/return_call.wast.js b/js/src/jit-test/tests/wasm/spec/tail-call/return_call.wast.js
new file mode 100644
index 0000000000..2feda2e0a7
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/tail-call/return_call.wast.js
@@ -0,0 +1,283 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/return_call.wast
+
+// ./test/core/return_call.wast:3
+let $0 = instantiate(`(module
+ ;; Auxiliary definitions
+ (func $$const-i32 (result i32) (i32.const 0x132))
+ (func $$const-i64 (result i64) (i64.const 0x164))
+ (func $$const-f32 (result f32) (f32.const 0xf32))
+ (func $$const-f64 (result f64) (f64.const 0xf64))
+
+ (func $$id-i32 (param i32) (result i32) (local.get 0))
+ (func $$id-i64 (param i64) (result i64) (local.get 0))
+ (func $$id-f32 (param f32) (result f32) (local.get 0))
+ (func $$id-f64 (param f64) (result f64) (local.get 0))
+
+ (func $$f32-i32 (param f32 i32) (result i32) (local.get 1))
+ (func $$i32-i64 (param i32 i64) (result i64) (local.get 1))
+ (func $$f64-f32 (param f64 f32) (result f32) (local.get 1))
+ (func $$i64-f64 (param i64 f64) (result f64) (local.get 1))
+
+ ;; Typing
+
+ (func (export "type-i32") (result i32) (return_call $$const-i32))
+ (func (export "type-i64") (result i64) (return_call $$const-i64))
+ (func (export "type-f32") (result f32) (return_call $$const-f32))
+ (func (export "type-f64") (result f64) (return_call $$const-f64))
+
+ (func (export "type-first-i32") (result i32) (return_call $$id-i32 (i32.const 32)))
+ (func (export "type-first-i64") (result i64) (return_call $$id-i64 (i64.const 64)))
+ (func (export "type-first-f32") (result f32) (return_call $$id-f32 (f32.const 1.32)))
+ (func (export "type-first-f64") (result f64) (return_call $$id-f64 (f64.const 1.64)))
+
+ (func (export "type-second-i32") (result i32)
+ (return_call $$f32-i32 (f32.const 32.1) (i32.const 32))
+ )
+ (func (export "type-second-i64") (result i64)
+ (return_call $$i32-i64 (i32.const 32) (i64.const 64))
+ )
+ (func (export "type-second-f32") (result f32)
+ (return_call $$f64-f32 (f64.const 64) (f32.const 32))
+ )
+ (func (export "type-second-f64") (result f64)
+ (return_call $$i64-f64 (i64.const 64) (f64.const 64.1))
+ )
+
+ ;; Recursion
+
+ (func $$fac-acc (export "fac-acc") (param i64 i64) (result i64)
+ (if (result i64) (i64.eqz (local.get 0))
+ (then (local.get 1))
+ (else
+ (return_call $$fac-acc
+ (i64.sub (local.get 0) (i64.const 1))
+ (i64.mul (local.get 0) (local.get 1))
+ )
+ )
+ )
+ )
+
+ (func $$count (export "count") (param i64) (result i64)
+ (if (result i64) (i64.eqz (local.get 0))
+ (then (local.get 0))
+ (else (return_call $$count (i64.sub (local.get 0) (i64.const 1))))
+ )
+ )
+
+ (func $$even (export "even") (param i64) (result i32)
+ (if (result i32) (i64.eqz (local.get 0))
+ (then (i32.const 44))
+ (else (return_call $$odd (i64.sub (local.get 0) (i64.const 1))))
+ )
+ )
+ (func $$odd (export "odd") (param i64) (result i32)
+ (if (result i32) (i64.eqz (local.get 0))
+ (then (i32.const 99))
+ (else (return_call $$even (i64.sub (local.get 0) (i64.const 1))))
+ )
+ )
+)`);
+
+// ./test/core/return_call.wast:80
+assert_return(() => invoke($0, `type-i32`, []), [value("i32", 306)]);
+
+// ./test/core/return_call.wast:81
+assert_return(() => invoke($0, `type-i64`, []), [value("i64", 356n)]);
+
+// ./test/core/return_call.wast:82
+assert_return(() => invoke($0, `type-f32`, []), [value("f32", 3890)]);
+
+// ./test/core/return_call.wast:83
+assert_return(() => invoke($0, `type-f64`, []), [value("f64", 3940)]);
+
+// ./test/core/return_call.wast:85
+assert_return(() => invoke($0, `type-first-i32`, []), [value("i32", 32)]);
+
+// ./test/core/return_call.wast:86
+assert_return(() => invoke($0, `type-first-i64`, []), [value("i64", 64n)]);
+
+// ./test/core/return_call.wast:87
+assert_return(() => invoke($0, `type-first-f32`, []), [value("f32", 1.32)]);
+
+// ./test/core/return_call.wast:88
+assert_return(() => invoke($0, `type-first-f64`, []), [value("f64", 1.64)]);
+
+// ./test/core/return_call.wast:90
+assert_return(() => invoke($0, `type-second-i32`, []), [value("i32", 32)]);
+
+// ./test/core/return_call.wast:91
+assert_return(() => invoke($0, `type-second-i64`, []), [value("i64", 64n)]);
+
+// ./test/core/return_call.wast:92
+assert_return(() => invoke($0, `type-second-f32`, []), [value("f32", 32)]);
+
+// ./test/core/return_call.wast:93
+assert_return(() => invoke($0, `type-second-f64`, []), [value("f64", 64.1)]);
+
+// ./test/core/return_call.wast:95
+assert_return(() => invoke($0, `fac-acc`, [0n, 1n]), [value("i64", 1n)]);
+
+// ./test/core/return_call.wast:96
+assert_return(() => invoke($0, `fac-acc`, [1n, 1n]), [value("i64", 1n)]);
+
+// ./test/core/return_call.wast:97
+assert_return(() => invoke($0, `fac-acc`, [5n, 1n]), [value("i64", 120n)]);
+
+// ./test/core/return_call.wast:98
+assert_return(() => invoke($0, `fac-acc`, [25n, 1n]), [value("i64", 7034535277573963776n)]);
+
+// ./test/core/return_call.wast:103
+assert_return(() => invoke($0, `count`, [0n]), [value("i64", 0n)]);
+
+// ./test/core/return_call.wast:104
+assert_return(() => invoke($0, `count`, [1000n]), [value("i64", 0n)]);
+
+// ./test/core/return_call.wast:105
+assert_return(() => invoke($0, `count`, [1000000n]), [value("i64", 0n)]);
+
+// ./test/core/return_call.wast:107
+assert_return(() => invoke($0, `even`, [0n]), [value("i32", 44)]);
+
+// ./test/core/return_call.wast:108
+assert_return(() => invoke($0, `even`, [1n]), [value("i32", 99)]);
+
+// ./test/core/return_call.wast:109
+assert_return(() => invoke($0, `even`, [100n]), [value("i32", 44)]);
+
+// ./test/core/return_call.wast:110
+assert_return(() => invoke($0, `even`, [77n]), [value("i32", 99)]);
+
+// ./test/core/return_call.wast:111
+assert_return(() => invoke($0, `even`, [1000000n]), [value("i32", 44)]);
+
+// ./test/core/return_call.wast:112
+assert_return(() => invoke($0, `even`, [1000001n]), [value("i32", 99)]);
+
+// ./test/core/return_call.wast:113
+assert_return(() => invoke($0, `odd`, [0n]), [value("i32", 99)]);
+
+// ./test/core/return_call.wast:114
+assert_return(() => invoke($0, `odd`, [1n]), [value("i32", 44)]);
+
+// ./test/core/return_call.wast:115
+assert_return(() => invoke($0, `odd`, [200n]), [value("i32", 99)]);
+
+// ./test/core/return_call.wast:116
+assert_return(() => invoke($0, `odd`, [77n]), [value("i32", 44)]);
+
+// ./test/core/return_call.wast:117
+assert_return(() => invoke($0, `odd`, [1000000n]), [value("i32", 99)]);
+
+// ./test/core/return_call.wast:118
+assert_return(() => invoke($0, `odd`, [999999n]), [value("i32", 44)]);
+
+// ./test/core/return_call.wast:123
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-void-vs-num (result i32) (return_call 1) (i32.const 0))
+ (func)
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/return_call.wast:130
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-num-vs-num (result i32) (return_call 1) (i32.const 0))
+ (func (result i64) (i64.const 1))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/return_call.wast:138
+assert_invalid(
+ () => instantiate(`(module
+ (func $$arity-0-vs-1 (return_call 1))
+ (func (param i32))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/return_call.wast:145
+assert_invalid(
+ () => instantiate(`(module
+ (func $$arity-0-vs-2 (return_call 1))
+ (func (param f64 i32))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/return_call.wast:153
+let $1 = instantiate(`(module
+ (func $$arity-1-vs-0 (i32.const 1) (return_call 1))
+ (func)
+)`);
+
+// ./test/core/return_call.wast:158
+let $2 = instantiate(`(module
+ (func $$arity-2-vs-0 (f64.const 2) (i32.const 1) (return_call 1))
+ (func)
+)`);
+
+// ./test/core/return_call.wast:163
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-first-void-vs-num (return_call 1 (nop) (i32.const 1)))
+ (func (param i32 i32))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/return_call.wast:170
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-second-void-vs-num (return_call 1 (i32.const 1) (nop)))
+ (func (param i32 i32))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/return_call.wast:177
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-first-num-vs-num (return_call 1 (f64.const 1) (i32.const 1)))
+ (func (param i32 f64))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/return_call.wast:184
+assert_invalid(
+ () => instantiate(`(module
+ (func $$type-second-num-vs-num (return_call 1 (i32.const 1) (f64.const 1)))
+ (func (param f64 i32))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/return_call.wast:195
+assert_invalid(
+ () => instantiate(`(module (func $$unbound-func (return_call 1)))`),
+ `unknown function`,
+);
+
+// ./test/core/return_call.wast:199
+assert_invalid(
+ () => instantiate(`(module (func $$large-func (return_call 1012321300)))`),
+ `unknown function`,
+);
diff --git a/js/src/jit-test/tests/wasm/spec/tail-call/return_call_indirect.wast.js b/js/src/jit-test/tests/wasm/spec/tail-call/return_call_indirect.wast.js
new file mode 100644
index 0000000000..706aae5c18
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/spec/tail-call/return_call_indirect.wast.js
@@ -0,0 +1,591 @@
+/* Copyright 2021 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ./test/core/return_call_indirect.wast
+
+// ./test/core/return_call_indirect.wast:3
+let $0 = instantiate(`(module
+ ;; Auxiliary definitions
+ (type $$proc (func))
+ (type $$out-i32 (func (result i32)))
+ (type $$out-i64 (func (result i64)))
+ (type $$out-f32 (func (result f32)))
+ (type $$out-f64 (func (result f64)))
+ (type $$over-i32 (func (param i32) (result i32)))
+ (type $$over-i64 (func (param i64) (result i64)))
+ (type $$over-f32 (func (param f32) (result f32)))
+ (type $$over-f64 (func (param f64) (result f64)))
+ (type $$f32-i32 (func (param f32 i32) (result i32)))
+ (type $$i32-i64 (func (param i32 i64) (result i64)))
+ (type $$f64-f32 (func (param f64 f32) (result f32)))
+ (type $$i64-f64 (func (param i64 f64) (result f64)))
+ (type $$over-i32-duplicate (func (param i32) (result i32)))
+ (type $$over-i64-duplicate (func (param i64) (result i64)))
+ (type $$over-f32-duplicate (func (param f32) (result f32)))
+ (type $$over-f64-duplicate (func (param f64) (result f64)))
+
+ (func $$const-i32 (type $$out-i32) (i32.const 0x132))
+ (func $$const-i64 (type $$out-i64) (i64.const 0x164))
+ (func $$const-f32 (type $$out-f32) (f32.const 0xf32))
+ (func $$const-f64 (type $$out-f64) (f64.const 0xf64))
+
+ (func $$id-i32 (type $$over-i32) (local.get 0))
+ (func $$id-i64 (type $$over-i64) (local.get 0))
+ (func $$id-f32 (type $$over-f32) (local.get 0))
+ (func $$id-f64 (type $$over-f64) (local.get 0))
+
+ (func $$i32-i64 (type $$i32-i64) (local.get 1))
+ (func $$i64-f64 (type $$i64-f64) (local.get 1))
+ (func $$f32-i32 (type $$f32-i32) (local.get 1))
+ (func $$f64-f32 (type $$f64-f32) (local.get 1))
+
+ (func $$over-i32-duplicate (type $$over-i32-duplicate) (local.get 0))
+ (func $$over-i64-duplicate (type $$over-i64-duplicate) (local.get 0))
+ (func $$over-f32-duplicate (type $$over-f32-duplicate) (local.get 0))
+ (func $$over-f64-duplicate (type $$over-f64-duplicate) (local.get 0))
+
+ (table funcref
+ (elem
+ $$const-i32 $$const-i64 $$const-f32 $$const-f64
+ $$id-i32 $$id-i64 $$id-f32 $$id-f64
+ $$f32-i32 $$i32-i64 $$f64-f32 $$i64-f64
+ $$fac $$fac-acc $$even $$odd
+ $$over-i32-duplicate $$over-i64-duplicate
+ $$over-f32-duplicate $$over-f64-duplicate
+ )
+ )
+
+ ;; Syntax
+
+ (func
+ (return_call_indirect (i32.const 0))
+ (return_call_indirect (param i64) (i64.const 0) (i32.const 0))
+ (return_call_indirect (param i64) (param) (param f64 i32 i64)
+ (i64.const 0) (f64.const 0) (i32.const 0) (i64.const 0) (i32.const 0)
+ )
+ (return_call_indirect (result) (i32.const 0))
+ )
+
+ (func (result i32)
+ (return_call_indirect (result i32) (i32.const 0))
+ (return_call_indirect (result i32) (result) (i32.const 0))
+ (return_call_indirect (param i64) (result i32) (i64.const 0) (i32.const 0))
+ (return_call_indirect
+ (param) (param i64) (param) (param f64 i32 i64) (param) (param)
+ (result) (result i32) (result) (result)
+ (i64.const 0) (f64.const 0) (i32.const 0) (i64.const 0) (i32.const 0)
+ )
+ )
+
+ (func (result i64)
+ (return_call_indirect (type $$over-i64) (param i64) (result i64)
+ (i64.const 0) (i32.const 0)
+ )
+ )
+
+ ;; Typing
+
+ (func (export "type-i32") (result i32)
+ (return_call_indirect (type $$out-i32) (i32.const 0))
+ )
+ (func (export "type-i64") (result i64)
+ (return_call_indirect (type $$out-i64) (i32.const 1))
+ )
+ (func (export "type-f32") (result f32)
+ (return_call_indirect (type $$out-f32) (i32.const 2))
+ )
+ (func (export "type-f64") (result f64)
+ (return_call_indirect (type $$out-f64) (i32.const 3))
+ )
+
+ (func (export "type-index") (result i64)
+ (return_call_indirect (type $$over-i64) (i64.const 100) (i32.const 5))
+ )
+
+ (func (export "type-first-i32") (result i32)
+ (return_call_indirect (type $$over-i32) (i32.const 32) (i32.const 4))
+ )
+ (func (export "type-first-i64") (result i64)
+ (return_call_indirect (type $$over-i64) (i64.const 64) (i32.const 5))
+ )
+ (func (export "type-first-f32") (result f32)
+ (return_call_indirect (type $$over-f32) (f32.const 1.32) (i32.const 6))
+ )
+ (func (export "type-first-f64") (result f64)
+ (return_call_indirect (type $$over-f64) (f64.const 1.64) (i32.const 7))
+ )
+
+ (func (export "type-second-i32") (result i32)
+ (return_call_indirect (type $$f32-i32)
+ (f32.const 32.1) (i32.const 32) (i32.const 8)
+ )
+ )
+ (func (export "type-second-i64") (result i64)
+ (return_call_indirect (type $$i32-i64)
+ (i32.const 32) (i64.const 64) (i32.const 9)
+ )
+ )
+ (func (export "type-second-f32") (result f32)
+ (return_call_indirect (type $$f64-f32)
+ (f64.const 64) (f32.const 32) (i32.const 10)
+ )
+ )
+ (func (export "type-second-f64") (result f64)
+ (return_call_indirect (type $$i64-f64)
+ (i64.const 64) (f64.const 64.1) (i32.const 11)
+ )
+ )
+
+ ;; Dispatch
+
+ (func (export "dispatch") (param i32 i64) (result i64)
+ (return_call_indirect (type $$over-i64) (local.get 1) (local.get 0))
+ )
+
+ (func (export "dispatch-structural") (param i32) (result i64)
+ (return_call_indirect (type $$over-i64-duplicate)
+ (i64.const 9) (local.get 0)
+ )
+ )
+
+ ;; Multiple tables
+
+ (table $$tab2 funcref (elem $$tab-f1))
+ (table $$tab3 funcref (elem $$tab-f2))
+
+ (func $$tab-f1 (result i32) (i32.const 0x133))
+ (func $$tab-f2 (result i32) (i32.const 0x134))
+
+ (func (export "call-tab") (param $$i i32) (result i32)
+ (if (i32.eq (local.get $$i) (i32.const 0))
+ (then (return_call_indirect (type $$out-i32) (i32.const 0)))
+ )
+ (if (i32.eq (local.get $$i) (i32.const 1))
+ (then (return_call_indirect 1 (type $$out-i32) (i32.const 0)))
+ )
+ (if (i32.eq (local.get $$i) (i32.const 2))
+ (then (return_call_indirect $$tab3 (type $$out-i32) (i32.const 0)))
+ )
+ (i32.const 0)
+ )
+
+ ;; Recursion
+
+ (func $$fac (export "fac") (type $$over-i64)
+ (return_call_indirect (param i64 i64) (result i64)
+ (local.get 0) (i64.const 1) (i32.const 13)
+ )
+ )
+
+ (func $$fac-acc (param i64 i64) (result i64)
+ (if (result i64) (i64.eqz (local.get 0))
+ (then (local.get 1))
+ (else
+ (return_call_indirect (param i64 i64) (result i64)
+ (i64.sub (local.get 0) (i64.const 1))
+ (i64.mul (local.get 0) (local.get 1))
+ (i32.const 13)
+ )
+ )
+ )
+ )
+
+ (func $$even (export "even") (param i32) (result i32)
+ (if (result i32) (i32.eqz (local.get 0))
+ (then (i32.const 44))
+ (else
+ (return_call_indirect (type $$over-i32)
+ (i32.sub (local.get 0) (i32.const 1))
+ (i32.const 15)
+ )
+ )
+ )
+ )
+ (func $$odd (export "odd") (param i32) (result i32)
+ (if (result i32) (i32.eqz (local.get 0))
+ (then (i32.const 99))
+ (else
+ (return_call_indirect (type $$over-i32)
+ (i32.sub (local.get 0) (i32.const 1))
+ (i32.const 14)
+ )
+ )
+ )
+ )
+)`);
+
+// ./test/core/return_call_indirect.wast:213
+assert_return(() => invoke($0, `type-i32`, []), [value("i32", 306)]);
+
+// ./test/core/return_call_indirect.wast:214
+assert_return(() => invoke($0, `type-i64`, []), [value("i64", 356n)]);
+
+// ./test/core/return_call_indirect.wast:215
+assert_return(() => invoke($0, `type-f32`, []), [value("f32", 3890)]);
+
+// ./test/core/return_call_indirect.wast:216
+assert_return(() => invoke($0, `type-f64`, []), [value("f64", 3940)]);
+
+// ./test/core/return_call_indirect.wast:218
+assert_return(() => invoke($0, `type-index`, []), [value("i64", 100n)]);
+
+// ./test/core/return_call_indirect.wast:220
+assert_return(() => invoke($0, `type-first-i32`, []), [value("i32", 32)]);
+
+// ./test/core/return_call_indirect.wast:221
+assert_return(() => invoke($0, `type-first-i64`, []), [value("i64", 64n)]);
+
+// ./test/core/return_call_indirect.wast:222
+assert_return(() => invoke($0, `type-first-f32`, []), [value("f32", 1.32)]);
+
+// ./test/core/return_call_indirect.wast:223
+assert_return(() => invoke($0, `type-first-f64`, []), [value("f64", 1.64)]);
+
+// ./test/core/return_call_indirect.wast:225
+assert_return(() => invoke($0, `type-second-i32`, []), [value("i32", 32)]);
+
+// ./test/core/return_call_indirect.wast:226
+assert_return(() => invoke($0, `type-second-i64`, []), [value("i64", 64n)]);
+
+// ./test/core/return_call_indirect.wast:227
+assert_return(() => invoke($0, `type-second-f32`, []), [value("f32", 32)]);
+
+// ./test/core/return_call_indirect.wast:228
+assert_return(() => invoke($0, `type-second-f64`, []), [value("f64", 64.1)]);
+
+// ./test/core/return_call_indirect.wast:230
+assert_return(() => invoke($0, `dispatch`, [5, 2n]), [value("i64", 2n)]);
+
+// ./test/core/return_call_indirect.wast:231
+assert_return(() => invoke($0, `dispatch`, [5, 5n]), [value("i64", 5n)]);
+
+// ./test/core/return_call_indirect.wast:232
+assert_return(() => invoke($0, `dispatch`, [12, 5n]), [value("i64", 120n)]);
+
+// ./test/core/return_call_indirect.wast:233
+assert_return(() => invoke($0, `dispatch`, [17, 2n]), [value("i64", 2n)]);
+
+// ./test/core/return_call_indirect.wast:234
+assert_trap(() => invoke($0, `dispatch`, [0, 2n]), `indirect call type mismatch`);
+
+// ./test/core/return_call_indirect.wast:235
+assert_trap(() => invoke($0, `dispatch`, [15, 2n]), `indirect call type mismatch`);
+
+// ./test/core/return_call_indirect.wast:236
+assert_trap(() => invoke($0, `dispatch`, [20, 2n]), `undefined element`);
+
+// ./test/core/return_call_indirect.wast:237
+assert_trap(() => invoke($0, `dispatch`, [-1, 2n]), `undefined element`);
+
+// ./test/core/return_call_indirect.wast:238
+assert_trap(() => invoke($0, `dispatch`, [1213432423, 2n]), `undefined element`);
+
+// ./test/core/return_call_indirect.wast:240
+assert_return(() => invoke($0, `dispatch-structural`, [5]), [value("i64", 9n)]);
+
+// ./test/core/return_call_indirect.wast:241
+assert_return(() => invoke($0, `dispatch-structural`, [5]), [value("i64", 9n)]);
+
+// ./test/core/return_call_indirect.wast:242
+assert_return(() => invoke($0, `dispatch-structural`, [12]), [value("i64", 362880n)]);
+
+// ./test/core/return_call_indirect.wast:243
+assert_return(() => invoke($0, `dispatch-structural`, [17]), [value("i64", 9n)]);
+
+// ./test/core/return_call_indirect.wast:244
+assert_trap(() => invoke($0, `dispatch-structural`, [11]), `indirect call type mismatch`);
+
+// ./test/core/return_call_indirect.wast:245
+assert_trap(() => invoke($0, `dispatch-structural`, [16]), `indirect call type mismatch`);
+
+// ./test/core/return_call_indirect.wast:247
+assert_return(() => invoke($0, `call-tab`, [0]), [value("i32", 306)]);
+
+// ./test/core/return_call_indirect.wast:248
+assert_return(() => invoke($0, `call-tab`, [1]), [value("i32", 307)]);
+
+// ./test/core/return_call_indirect.wast:249
+assert_return(() => invoke($0, `call-tab`, [2]), [value("i32", 308)]);
+
+// ./test/core/return_call_indirect.wast:251
+assert_return(() => invoke($0, `fac`, [0n]), [value("i64", 1n)]);
+
+// ./test/core/return_call_indirect.wast:252
+assert_return(() => invoke($0, `fac`, [1n]), [value("i64", 1n)]);
+
+// ./test/core/return_call_indirect.wast:253
+assert_return(() => invoke($0, `fac`, [5n]), [value("i64", 120n)]);
+
+// ./test/core/return_call_indirect.wast:254
+assert_return(() => invoke($0, `fac`, [25n]), [value("i64", 7034535277573963776n)]);
+
+// ./test/core/return_call_indirect.wast:256
+assert_return(() => invoke($0, `even`, [0]), [value("i32", 44)]);
+
+// ./test/core/return_call_indirect.wast:257
+assert_return(() => invoke($0, `even`, [1]), [value("i32", 99)]);
+
+// ./test/core/return_call_indirect.wast:258
+assert_return(() => invoke($0, `even`, [100]), [value("i32", 44)]);
+
+// ./test/core/return_call_indirect.wast:259
+assert_return(() => invoke($0, `even`, [77]), [value("i32", 99)]);
+
+// ./test/core/return_call_indirect.wast:260
+assert_return(() => invoke($0, `even`, [100000]), [value("i32", 44)]);
+
+// ./test/core/return_call_indirect.wast:261
+assert_return(() => invoke($0, `even`, [111111]), [value("i32", 99)]);
+
+// ./test/core/return_call_indirect.wast:262
+assert_return(() => invoke($0, `odd`, [0]), [value("i32", 99)]);
+
+// ./test/core/return_call_indirect.wast:263
+assert_return(() => invoke($0, `odd`, [1]), [value("i32", 44)]);
+
+// ./test/core/return_call_indirect.wast:264
+assert_return(() => invoke($0, `odd`, [200]), [value("i32", 99)]);
+
+// ./test/core/return_call_indirect.wast:265
+assert_return(() => invoke($0, `odd`, [77]), [value("i32", 44)]);
+
+// ./test/core/return_call_indirect.wast:266
+assert_return(() => invoke($0, `odd`, [200002]), [value("i32", 99)]);
+
+// ./test/core/return_call_indirect.wast:267
+assert_return(() => invoke($0, `odd`, [300003]), [value("i32", 44)]);
+
+// ./test/core/return_call_indirect.wast:272
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (table 0 funcref) (func (result i32) (return_call_indirect (type $$sig) (result i32) (param i32) (i32.const 0) (i32.const 0) ) ) `),
+ `unexpected token`,
+);
+
+// ./test/core/return_call_indirect.wast:284
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (table 0 funcref) (func (result i32) (return_call_indirect (param i32) (type $$sig) (result i32) (i32.const 0) (i32.const 0) ) ) `),
+ `unexpected token`,
+);
+
+// ./test/core/return_call_indirect.wast:296
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (table 0 funcref) (func (result i32) (return_call_indirect (param i32) (result i32) (type $$sig) (i32.const 0) (i32.const 0) ) ) `),
+ `unexpected token`,
+);
+
+// ./test/core/return_call_indirect.wast:308
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (table 0 funcref) (func (result i32) (return_call_indirect (result i32) (type $$sig) (param i32) (i32.const 0) (i32.const 0) ) ) `),
+ `unexpected token`,
+);
+
+// ./test/core/return_call_indirect.wast:320
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (table 0 funcref) (func (result i32) (return_call_indirect (result i32) (param i32) (type $$sig) (i32.const 0) (i32.const 0) ) ) `),
+ `unexpected token`,
+);
+
+// ./test/core/return_call_indirect.wast:332
+assert_malformed(
+ () => instantiate(`(table 0 funcref) (func (result i32) (return_call_indirect (result i32) (param i32) (i32.const 0) (i32.const 0) ) ) `),
+ `unexpected token`,
+);
+
+// ./test/core/return_call_indirect.wast:344
+assert_malformed(
+ () => instantiate(`(table 0 funcref) (func (return_call_indirect (param $$x i32) (i32.const 0) (i32.const 0))) `),
+ `unexpected token`,
+);
+
+// ./test/core/return_call_indirect.wast:351
+assert_malformed(
+ () => instantiate(`(type $$sig (func)) (table 0 funcref) (func (result i32) (return_call_indirect (type $$sig) (result i32) (i32.const 0)) ) `),
+ `inline function type`,
+);
+
+// ./test/core/return_call_indirect.wast:361
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (table 0 funcref) (func (result i32) (return_call_indirect (type $$sig) (result i32) (i32.const 0)) ) `),
+ `inline function type`,
+);
+
+// ./test/core/return_call_indirect.wast:371
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32) (result i32))) (table 0 funcref) (func (return_call_indirect (type $$sig) (param i32) (i32.const 0) (i32.const 0) ) ) `),
+ `inline function type`,
+);
+
+// ./test/core/return_call_indirect.wast:383
+assert_malformed(
+ () => instantiate(`(type $$sig (func (param i32 i32) (result i32))) (table 0 funcref) (func (result i32) (return_call_indirect (type $$sig) (param i32) (result i32) (i32.const 0) (i32.const 0) ) ) `),
+ `inline function type`,
+);
+
+// ./test/core/return_call_indirect.wast:398
+assert_invalid(
+ () => instantiate(`(module
+ (type (func))
+ (func $$no-table (return_call_indirect (type 0) (i32.const 0)))
+ )`),
+ `unknown table`,
+);
+
+// ./test/core/return_call_indirect.wast:406
+assert_invalid(
+ () => instantiate(`(module
+ (type (func))
+ (table 0 funcref)
+ (func $$type-void-vs-num (i32.eqz (return_call_indirect (type 0) (i32.const 0))))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/return_call_indirect.wast:414
+assert_invalid(
+ () => instantiate(`(module
+ (type (func (result i64)))
+ (table 0 funcref)
+ (func $$type-num-vs-num (i32.eqz (return_call_indirect (type 0) (i32.const 0))))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/return_call_indirect.wast:423
+assert_invalid(
+ () => instantiate(`(module
+ (type (func (param i32)))
+ (table 0 funcref)
+ (func $$arity-0-vs-1 (return_call_indirect (type 0) (i32.const 0)))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/return_call_indirect.wast:431
+assert_invalid(
+ () => instantiate(`(module
+ (type (func (param f64 i32)))
+ (table 0 funcref)
+ (func $$arity-0-vs-2 (return_call_indirect (type 0) (i32.const 0)))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/return_call_indirect.wast:440
+let $1 = instantiate(`(module
+ (type (func))
+ (table 0 funcref)
+ (func $$arity-1-vs-0 (return_call_indirect (type 0) (i32.const 1) (i32.const 0)))
+)`);
+
+// ./test/core/return_call_indirect.wast:446
+let $2 = instantiate(`(module
+ (type (func))
+ (table 0 funcref)
+ (func $$arity-2-vs-0
+ (return_call_indirect (type 0) (f64.const 2) (i32.const 1) (i32.const 0))
+ )
+)`);
+
+// ./test/core/return_call_indirect.wast:454
+assert_invalid(
+ () => instantiate(`(module
+ (type (func (param i32)))
+ (table 0 funcref)
+ (func $$type-func-void-vs-i32 (return_call_indirect (type 0) (i32.const 1) (nop)))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/return_call_indirect.wast:462
+assert_invalid(
+ () => instantiate(`(module
+ (type (func (param i32)))
+ (table 0 funcref)
+ (func $$type-func-num-vs-i32 (return_call_indirect (type 0) (i32.const 0) (i64.const 1)))
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/return_call_indirect.wast:471
+assert_invalid(
+ () => instantiate(`(module
+ (type (func (param i32 i32)))
+ (table 0 funcref)
+ (func $$type-first-void-vs-num
+ (return_call_indirect (type 0) (nop) (i32.const 1) (i32.const 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/return_call_indirect.wast:481
+assert_invalid(
+ () => instantiate(`(module
+ (type (func (param i32 i32)))
+ (table 0 funcref)
+ (func $$type-second-void-vs-num
+ (return_call_indirect (type 0) (i32.const 1) (nop) (i32.const 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/return_call_indirect.wast:491
+assert_invalid(
+ () => instantiate(`(module
+ (type (func (param i32 f64)))
+ (table 0 funcref)
+ (func $$type-first-num-vs-num
+ (return_call_indirect (type 0) (f64.const 1) (i32.const 1) (i32.const 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/return_call_indirect.wast:501
+assert_invalid(
+ () => instantiate(`(module
+ (type (func (param f64 i32)))
+ (table 0 funcref)
+ (func $$type-second-num-vs-num
+ (return_call_indirect (type 0) (i32.const 1) (f64.const 1) (i32.const 0))
+ )
+ )`),
+ `type mismatch`,
+);
+
+// ./test/core/return_call_indirect.wast:515
+assert_invalid(
+ () => instantiate(`(module
+ (table 0 funcref)
+ (func $$unbound-type (return_call_indirect (type 1) (i32.const 0)))
+ )`),
+ `unknown type`,
+);
+
+// ./test/core/return_call_indirect.wast:522
+assert_invalid(
+ () => instantiate(`(module
+ (table 0 funcref)
+ (func $$large-type (return_call_indirect (type 1012321300) (i32.const 0)))
+ )`),
+ `unknown type`,
+);
+
+// ./test/core/return_call_indirect.wast:533
+assert_invalid(
+ () => instantiate(`(module (table funcref (elem 0 0)))`),
+ `unknown function 0`,
+);